V45 Gate 12: State Vocabulary And Commodity Model#215
Conversation
Add the package-owned AssetPack commodity state projector covering AssetPack lifecycle, BTD scalar-volume, BTC settlement, disclosure, source-safety, and unsafe/collapsed-state blockers. Bind /packs activity projection to the source-safe commodity display and fail malformed rows closed into repair state instead of exposing source or crashing the surface. Add Gate 12 checker coverage, parity-matrix readback, package exports, UAPI Jest mapping, and focused package/UAPI tests. Validated with check:v45-gate12, check:v45-gate11, V45 draft spec-family and canon-posture checks, package asset-pack Jest/typecheck, UAPI packActivityModel Jest, UAPI lint/build, and git diff --check.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9007e1f0f0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| btdState: projection.states.btd, | ||
| btcState: projection.states.btc, | ||
| disclosureBoundary: projection.disclosureBoundary, | ||
| repairRequired: projection.states.assetPack === 'repair-required' || projection.states.btd === 'btd-repair-required' || projection.states.btc === 'btc-settlement-repair-required', |
There was a problem hiding this comment.
Treat BTC repair outcomes as open repairs
When a Pack payload reaches BTC failure states such as btc-payment-mismatch-repair-required, btc-replaced-reorged-or-failed, or btc-refund-or-escalation-required, this display still reports repairRequired: false because it only checks btc-settlement-repair-required. In /packs, normalizePackActivityRecord falls back to commodityState.repairRequired for repairState, so these settlement failures are omitted from repair facets and summaries instead of surfacing as repair work.
Useful? React with 👍 / 👎.
Summary
Validation