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
Found during the devel integration review (PR #12).
receivehardcodestier in (1, 2)(lot required for bulk) andtier == 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/TierConfiginsrc/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