Skip to content

Add production ERC-3643 onboarding review gates - #87

Open
0xMuang wants to merge 2 commits into
feature/provider-neutral-ta-kycfrom
feature/production-erc3643-onboarding
Open

Add production ERC-3643 onboarding review gates#87
0xMuang wants to merge 2 commits into
feature/provider-neutral-ta-kycfrom
feature/production-erc3643-onboarding

Conversation

@0xMuang

@0xMuang 0xMuang commented Aug 22, 2026

Copy link
Copy Markdown
Collaborator

Stacked dependency

Depends on #84, #85, and #86. This PR is intentionally based on feature/provider-neutral-ta-kyc, not main.

Scope

  • Adds production ERC-3643 asset onboarding validation to the toolkit with exact-schema config parsing, fail-closed live wiring checks, and PII/secret-shaped input rejection.
  • Generates reviewable Element/Recipe/Manifest registration calldata and Safe proposal export for operator approval before service activation.
  • Separates operator-controlled deployment/review from venue, maker, signer, and inventory activation so production services do not open before verified state is live.
  • Adds CLI commands and docs for production onboarding config review, calldata export, Safe proposal export, and post-deploy verification.

Verification

PASS:

  • npm test --prefix services/toolkit
  • npm test --prefix services/cli
  • git diff --cached --check
  • staged secret/scratch scan: no .omx, review.md, jobspace*, contracts.md, deployments/, or desc.md staged; secret-like hits are fail-closed validation patterns and test fixtures.
  • independent review evidence recorded by the implementation lane.

Known blocker / not tested

  • scripts/check.sh remains blocked only by pre-existing forge fmt drift in script/DeployProductionCore.s.sol and script/DemoScenarios.s.sol.
  • Full E2E was skipped to preserve untracked deployments/ artifacts and because no live production RPC was provided.

Production boundaries

  • This PR does not execute Safe transactions or write issuer-controlled ERC-3643 / ONCHAINID state.
  • Operators must review generated calldata/Safe proposal, execute externally through the approved Safe/governance flow, then run live verification before enabling venue, maker, signer, and inventory in production services.
  • Existing untracked local artifacts are preserved and are not part of this PR.

No merge into main is requested here.

…rvice open

Constraint: Live ERC-3643/ONCHAINID wiring must remain read-only verified before operator activation, and local demo/untracked deployments stay untouched.
Rejected: Direct service activation from unchecked config | would bypass Safe/operator review and fail-closed live wiring gates.
Confidence: high
Scope-risk: moderate
Directive: Production operators must review generated calldata and Safe proposal, execute externally, then run live verification before enabling venue, maker, signer, and inventory.
Tested: toolkit npm, CLI npm, staged diff/secret/scratch scan, independent review.
Not-tested: scripts/check blocked by pre-existing forge fmt drift in script/DeployProductionCore.s.sol and script/DemoScenarios.s.sol; E2E skipped to preserve untracked deployments and because no live production RPC was provided.
Constraint: The source CLI intentionally compiles sibling Toolkit sources, whose package-local dependencies are absent in a fresh runner until Toolkit installation.

Rejected: Relying on developer node_modules hoisting | clean CI does not resolve ethers from the sibling CLI package.

Confidence: high

Scope-risk: narrow

Directive: Keep source-checkout dependency installation ordered before compiling cross-package source imports.

Tested: scripts/check.sh shell syntax and git diff check; failure reproduced in PRs #87-#89 as TS2307 for Toolkit ethers resolution.

Not-tested: GitHub CI rerun pending push.
0xMuang added a commit that referenced this pull request Aug 23, 2026
Constraint: PR #88 is stacked on #87 and must include the clean-runner Toolkit installation order.
Confidence: high
Scope-risk: narrow
Directive: Preserve stacked branch ancestry when correcting shared CI prerequisites.
Tested: Merge completed without conflicts; downstream CI pending.
Not-tested: GitHub CI rerun pending 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.

1 participant