Skip to content

Give asset manifests a validated lifecycle with operator approval#26

Open
heijiLee wants to merge 5 commits into
feature/compliance-elementsfrom
feature/manifest-lifecycle
Open

Give asset manifests a validated lifecycle with operator approval#26
heijiLee wants to merge 5 commits into
feature/compliance-elementsfrom
feature/manifest-lifecycle

Conversation

@heijiLee

@heijiLee heijiLee commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

CMP-002, stacked on #25. Implements the Manifest-layer lifecycle from MVP-v2 §5 (D009).

  • PolicyStatus += PROPOSED, RETIRED (appended; storage order preserved)
  • setStatus replaced by a validated state machine: register→PROPOSED, approve (operator, records approvedBy), suspend/resume, retire (terminal), setUnregulated/clearUnregulated — every illegal transition reverts InvalidManifestTransition
  • Engine restructured to default-deny: each side must be UNREGULATED or ACTIVE; anything else — including future statuses — fails closed. Closes a fail-open where PROPOSED/RETIRED tokens collected zero elements and passed (RED-proven before fix)
  • Factory onboarding routes through register→approve atomically
  • Router-path E2E: PROPOSED/RETIRED rejected, suspend→resume trades again

Tests: forge test --offline 227/227 (+32: 25 registry state-machine/auth, 4 engine default-deny, 3 integration).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant