V47 Gate 7: E2E IP Selling And Buying Tests#239
Conversation
Record Gate 7 E2E IP selling/buying law across BITCODE_SPEC_V47, DELTA, NOTES, PARITY, and the roadmap, and advance roadmap posture to working Gate 7 with Gate 6 recorded as latest closed. Add commercial-mvp.ip-exchange.spec.ts: a deterministic mock-mode Playwright proof that sells IP on /deposit (source connection gates synthesis, source-safe measurement review precedes approval, admission readback synchronizes to /packs, execution rows journal through a stateful execution-history mock), buys synthesized IP on /read (five-step session, fit measurement review with final BTD scalar and BTC-testnet quote basis before payment, ordered observation/finality/BTD-rights/PR-delivery readback, rights and delivery receipt roots in the expandable proof detail), and audits /packs state readback with the fail-closed repair surface — all behind a browser error trap. Expose test:e2e:ip-exchange in uapi. Add the V47E2eIpSellingBuyingTests protocol object, generator, Gate 7 checker (browser tests opt-in via --run-browser-tests), protocol tests, package exports, package.json scripts, and gate/canon workflow wiring; generate .bitcode/v47-e2e-ip-selling-buying-tests.json and refresh the Gate 2-6 artifacts against the advanced spec family. Validated with: - pnpm --dir uapi run test:e2e:ip-exchange (3 browser proofs pass) - pnpm --filter @bitcode/protocol test - node scripts/check-v47-gate1-scope-measurement-launch-freeze.mjs --skip-branch-check - pnpm run check:v47-gate2 through check:v47-gate7 - node scripts/check-bitcode-spec-family.mjs --version V46 --mode promoted --current-target V46 - node scripts/check-bitcode-spec-family.mjs --version V47 --mode draft --current-target V46 - node scripts/check-bitcode-canonical-inputs.mjs --current-target V46 - node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V46 --draft-target V47 - node scripts/run-bitcode-spec-quality.mjs --mode basic - node scripts/check-import-casing.mjs - uapi eslint and tsc --noEmit on the new spec - git diff --check Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
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: 9b3f9682d5
ℹ️ 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".
|
|
||
| // The deposit flow journaled source-safe execution rows: synthesis first, | ||
| // then the review/admission decisions. | ||
| expect.poll(() => history.journaledRequests().length).toBeGreaterThanOrEqual(2); |
There was a problem hiding this comment.
Await the journaled-request poll
In this seller-flow proof, the expect.poll(...).toBeGreaterThanOrEqual(2) promise is never awaited, so the test can continue and pass without waiting for or enforcing that the deposit flow actually journaled the expected execution rows. In scenarios where journaling is delayed or broken, this assertion is effectively detached from the test result; add await so the browser proof fails when the required rows are not produced.
Useful? React with 👍 / 👎.
Summary
Closes V47 Gate 7 (E2E IP Selling And Buying Tests) into
version/v47while V46 remains active canon.uapi/tests/e2e/commercial-mvp.ip-exchange.spec.ts, run viatest:e2e:ip-exchange): three Playwright tests prove both sides of Bitcode in deterministic mock mode — the first browser-level coverage of the/deposit,/read, and/packslaunch routes:pipeline:deposit-option-synthesisrows through a stateful execution-history mock;/packs?type=depository-assetpackstays reachable./packs?type=settled-assetpackreachable.btc-finality-confirmed→btd-rights-transferred→ delivery, and the fail-closed Repair surface lists commodity-state blockers.All tests run behind a browser error trap (fails on framework overlays/console errors). Local run: 3 passed in ~32s.
V47E2eIpSellingBuyingTestsobject (17 predicates) binding the spec scenarios, harness, scripts, and workflows; checker runs file/predicate validation in CI with browser execution opt-in via--run-browser-tests.implemented; promotion pending), roadmap (Gate 7 closure target/anchor; posture working=Gate 7, latest closed=Gate 6); Gate 2–6 artifacts regenerated.Validation
test:e2e:ip-exchange: 3 browser proofs pass locallypnpm --filter @bitcode/protocol test(230 pass)check:v47-gate1(skip-branch-check) throughcheck:v47-gate7all passtsc --noEmit,git diff --checkall clean🤖 Generated with Claude Code