Skip to content

Move PO-receive tier policy (lot/serial enforcement) into TierConfig #29

Description

@CST-100

Found during the devel integration review (PR #12).

receive hardcodes tier in (1, 2) (lot required for bulk) and tier == 1 (auto-serial for serialized). That matches issue #8's spec for the default Flight/Ground/Loose preset and was kept as-is, but tier semantics are project-defined (opal.project.yaml / TierConfig in src/opal/project.py) — the same reasoning that removed the tier-2 ⇒ is_tooling rule in PR #7. Error messages also say "Tier {n}" instead of the configured tier name.

Proposal: per-tier policy flags on TierConfig (e.g. lot_required: bool, auto_serial: bool) with the current behavior as the preset defaults, and tier names in messages.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions