Skip to content

Give asset manifests a validated lifecycle with operator approval#26

Merged
0xMuang merged 6 commits into
mainfrom
feature/manifest-lifecycle
Jul 14, 2026
Merged

Give asset manifests a validated lifecycle with operator approval#26
0xMuang merged 6 commits into
mainfrom
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).

0xMuang added a commit that referenced this pull request Jul 14, 2026
Resolve the stacked PR branch after main advanced with the router venue binding fix, Phase 1 architecture baseline, and RFQ backend SDK documentation/code.

Constraint: PR #24 must merge after #23 and before the higher stacked PRs.

Rejected: Dropping either RFQ-002 or RFQ-SDK documentation state | both are accepted completed work on main/stack.

Confidence: high

Scope-risk: moderate

Directive: Continue stacked PR merges in order after #24 lands: #25, #26, #27, #28, #29, #30.

Tested: git diff --cached --check; scripts/check.sh

Not-tested: GitHub CI after push
0xMuang added a commit that referenced this pull request Jul 14, 2026
Resolve the stacked PR branch after main advanced with RFQ hardening, Phase 1 architecture baseline, and RFQ SDK work.

Constraint: PR #25 must land after #24 and before the higher stacked manifest/E2E/CLI PRs.

Rejected: Keeping duplicate D008 decision numbering | would make the decision log ambiguous after merging RFQ-002 and CMP-001.

Confidence: high

Scope-risk: moderate

Directive: Continue stacked PR merges in order after #25 lands: #26, #27, #28, #29, #30.

Tested: git diff --cached --check

Not-tested: full local scripts/check.sh for this conflict-only reconciliation; rely on GitHub CI after push
@0xMuang
0xMuang changed the base branch from feature/compliance-elements to main July 14, 2026 08:27
Resolve the stacked PR branch after main advanced with RFQ hardening, Reg D compliance elements, Phase 1 architecture baseline, and RFQ SDK work.

Constraint: PR #26 must land after #25 and before the higher stacked RFQ integration/E2E/CLI PRs.

Rejected: Keeping duplicate D009 decision numbering | would make CMP-001 and CMP-002 ambiguous in the decision log.

Confidence: high

Scope-risk: moderate

Directive: Continue stacked PR merges in order after #26 lands: #27, #28, #29, #30.

Tested: git diff --cached --check

Not-tested: full local scripts/check.sh for this conflict-only reconciliation; rely on GitHub CI after push
@0xMuang
0xMuang merged commit de85b6e into main Jul 14, 2026
1 check passed
0xMuang added a commit that referenced this pull request Jul 14, 2026
Resolve the stacked PR branch after main advanced with the manifest lifecycle, Reg D compliance, RFQ hardening, and RFQ SDK work.

Constraint: PR #27 must land after #26 and before RFQ integration/E2E/CLI PRs.

Confidence: high

Scope-risk: narrow

Directive: Continue stacked PR merges in order after #27 lands: #28, #29, #30.

Tested: git diff --check; git diff --cached --check

Not-tested: full local scripts/check.sh for this progress-only reconciliation; rely on GitHub CI after push
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.

2 participants