You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Issue #34 directly depends on M2-08 (#29) and M2-12 (#33). Both are now Closed / Project Done and their protected squash commits are contained in current main@a09c2a7b989b67264e8078857127a5dd96df1643:
Their upstream M2 alignment/report dependencies #30 and #31 are also Closed / Project Done and ancestors of current main. The non-UI integration-gate dependency is satisfied, so #34 may enter planning from this exact baseline.
Ready/In Progress means planning authority only. It is not Scope Confirmed, test implementation authorization, SINGLE_OPERATOR_QA PASS, gate PASS, READY_TO_MERGE, or merge authorization. A closed path-specific QA Work Plan and separate Scope Gate remain mandatory before any branch, worktree, fixture, test, report, commit, push, or PR.
Issue #34 is now the single active gate slot and moves to Project In Progress for planning.
Planned branch after scope confirmation: codex/issue-34-non-ui-gate
Planned isolated worktree after authorization: /Users/qy/Documents/moss-mini-demo-issue-34
The first required artifact is a closed QA Work Plan defining the exact request fixtures, cross-package HTTP integration matrix, deterministic Fixture-mode expectations, malformed/invariant boundaries, health/dev curl reproduction, CLEAR402-disabled proof, gate-report contents, exact writable paths, and the rule that any discovered business defect becomes a separate Bug Issue rather than a gate-PR fix.
In Progress starts planning only. It is not Scope Confirmed, implementation authorization, QA PASS, Gate PASS, READY_TO_MERGE, Merge Gate, or merge authorization. No branch, worktree, file change, commit, push, or PR may be created before the separate Scope Gate.
proposed branch after authorization: codex/issue-34-non-ui-gate
proposed isolated worktree after authorization: /Users/qy/Documents/moss-mini-demo-issue-34
gate operator: pillowtalk-Qy; this is same-operator gate execution and does not claim an independent reviewer
This is a planning artifact only. No branch, worktree, fixture, test, report, commit, push, PR, or gate verdict is authorized before a separate SCOPE_CONFIRMED / IMPLEMENTATION_AUTHORIZED record accepts this plan.
1. Unique objective
Exercise the shipped non-UI HTTP boundary from JSON Request to validated Response across happy, mismatch, warning, acquisition failure, malformed request, and programming/invariant failure. Prove health and Fixture-mode curl reproduction with Clear402 absent/false, and publish a PASS or NO-GO report. The gate PR adds no business behavior and performs no live RPC, wallet, signing, transaction, deployment, or Clear402 operation.
2. Exact writable paths
Exactly these ten paths are writable:
package.json
fixtures/requests/happy.json
fixtures/requests/amount-mismatch.json
fixtures/requests/token-out-mismatch.json
fixtures/requests/rpc-failure.json
fixtures/requests/warning.json
fixtures/requests/malformed.json
fixtures/requests/programming-error.json
tests/integration/preflight-api.test.ts
docs/m2-gate-report.md
package.json is the sole explicit metadata correction beyond Issue #34's initial writable summary. The Issue requires pnpm test:integration, but that script does not exist on the authorized baseline. The only permitted root change is:
test:integration = pnpm build && vitest run tests/integration
This is necessary to make the required verification command real and clean-checkout complete. It does not alter check; root test already discovers integration tests. No lockfile, dependency, lifecycle permission, workflow, package, product source, existing schema, Fixture report, vendor, API route, deployment, governance, or protection change is authorized.
3. Request fixtures
Every request fixture is strict, minimal JSON and contains no credential-shaped key:
rpc-failure.json: LIVE request matching the existing offline FakeMoss environment; the test harness injects synthetic simulation acquisition failure;
warning.json: the same valid LIVE intent with the existing FakeMoss warning scenario;
malformed.json: a strict-contract-invalid request with no secret value;
programming-error.json: valid FIXTURE request passed to a test-local service that throws an invariant/programming sentinel.
The three FIXTURE scenarios consume the already reviewed report-schema Fixture files through FakePreflightService. No request fixture claims Moss, Monad, RPC, live, or safety evidence. The two LIVE request files are executed only against the existing offline createFakeMossEnvironment; returned provenance remains LOCAL_FORK, never LIVE_SOURCE.
4. HTTP integration matrix
tests/integration/preflight-api.test.ts uses real Web request/response contracts and createPreflightHandler. It imports existing server implementations read-only and runs this eight-case matrix twice: once with CLEAR402_ENABLED absent and once set to the string false.
health route: 200, strict HealthResponse, clear402.enabled=false;
malformed request: 400 INVALID_REQUEST, no report, presentation, or Decision;
programming/invariant throw: 500 INTERNAL_ERROR, no fake STOP/report/Decision and no sentinel leakage in response or fixed log event.
That yields exactly 16 integration tests. Each response is parsed with the public response schema where applicable, presentation/report correlation is asserted, and preflight bodies are scanned for Clear402 package/runtime markers and credential-shaped output. Input fixtures are not mutated.
5. Clear402 and evidence boundary
The matrix runs fully under both absent and explicit-false environment states, restoring the caller environment after each case. Tests do not import any Clear402 package or profile. Static gate review also scans the changed diff and server orchestration boundary for clear402-profile and @clear402/ imports. The health contract's existing literal clear402.enabled=false is expected metadata, not a dependency.
All chain-like values used by LIVE integration cases come from the existing offline FakeMoss helper and retain synthetic/LOCAL_FORK provenance. No test reads MOSS_RPC_URL, opens a socket, invokes the #29 live runner, or treats Fixture values as real evidence.
6. Dev/curl reproduction
After tests pass, start the shipped dev server with CLEAR402_ENABLED absent, then explicitly false, and reproduce:
Expected: health ok with Clear402 false; happy MANUAL_REVIEW; both mismatches STOP. The test-only injected failure/warning/invariant cases are not exposed as new production scenarios or query parameters.
7. Gate report and exact SHA rule
Implementation is two-phase so docs/m2-gate-report.md can truthfully contain an immutable exact behavioral subject SHA:
commit only the script, seven requests, and integration test;
run pnpm test:integration, pnpm check, curl reproduction, scope/security scans, and record the exact behavioral commit SHA and test counts;
add only docs/m2-gate-report.md as a report-only follow-up commit;
run all gates again on the final PR head and freeze that final head/tree in PR/Issue evidence.
The report records date, Node/pnpm, baseline SHA, exact tested behavioral SHA, final PR head in linked immutable PR evidence, 16 integration-test count, full-suite count, curl results, Clear402 states, provenance limits, known production-audit baseline, and the sole verdict PASS or NO-GO. It never calls MANUAL_REVIEW a gate failure and never calls STOP a safety proof.
8. Defect handling
The gate PR must not repair business behavior. If any acceptance case fails because of product code, schema, Fixture report, orchestrator, handler, route, or package behavior:
retain the failing evidence;
open one minimal Bug Issue with exact reproduction and dependency impact;
pnpm install --frozen-lockfile
pnpm test:integration
pnpm check
pnpm dev
git diff --check origin/main...HEAD
git diff --name-only origin/main...HEAD
git status --short
Additional audit:
exact ten-path diff and no lockfile/workflow/dependency/product-source drift;
16/16 matrix tests under absent/false Clear402;
public schemas parse all success/error bodies;
no response/log sentinel leakage;
no Clear402 import/runtime marker in the preflight responses or changed executable paths;
exact-head required quality-gate SUCCESS;
separate clean detached SINGLE_OPERATOR_QA repeats frozen install, integration/full tests, both dev/curl modes, and scope/security checks.
10. Acceptance and rollback
PASS requires every Issue acceptance item, 16/16 integration cases, full pnpm check, both curl modes, exact-head CI, exact path audit, and no open defect. Otherwise verdict is NO-GO.
Rollback is deletion/revert of only the #34 test/report branch or squash commit. It has no application state, chain state, database, deployment, secret, wallet, or transaction rollback.
11. Stop conditions
Stop for a replacement Scope Gate before any eleventh path, product-source/schema/Fixture-report change, dependency/lockfile/workflow change, live network call, new production scenario/switch, Clear402 import, secret, wallet/signing/submission surface, or non-PASS/NO-GO verdict vocabulary.
12. Requested decision
Record either:
SCOPE_CONFIRMED / IMPLEMENTATION_AUTHORIZED accepting the baseline, ten paths including the one-line root script correction, 16-case matrix, two-phase exact-SHA report, no-business-fix rule, verification, and stop conditions; or
SCOPE_CHANGES_REQUESTED naming the exact required change.
Until confirmed: QA_WORK_PLAN_SUBMITTED / AWAITING_MAINTAINER_SCOPE_CONFIRMATION.
Both must start from the exact authorized baseline. Any eleventh path or change to the frozen metadata, matrix, evidence, product-read-only, offline, defect, verdict, or no-submission boundary invalidates this authorization and requires a replacement Scope Gate.
This authorizes gate implementation scope only. It is not SINGLE_OPERATOR_QA PASS, Gate PASS, Review approval, READY_TO_MERGE, Merge Gate, or merge authorization. Deliver a Draft PR closing #34, obtain exact-head quality-gate, and complete clean same-operator QA on the frozen head. No independent reviewer is claimed.
Activity
pillowtalk-Qy commentedon Aug 8, 2026
DEPENDENCY_GATE_CLEARED
Issue #34 directly depends on M2-08 (#29) and M2-12 (#33). Both are now Closed / Project Done and their protected squash commits are contained in current
main@a09c2a7b989b67264e8078857127a5dd96df1643:a09c2a7b989b67264e8078857127a5dd96df1643; merged-mainquality-gateSUCCESS: https://github.com/Moss-Mini-Demo/moss-mini-demo/actions/runs/31246268957/job/93075280079; audit: M2-08: Add Monad live smoke and provenance record #29 (comment)95c4aac532cdc2231054c431f3a175f9c223e1f5; merged-mainquality-gateSUCCESS: https://github.com/Moss-Mini-Demo/moss-mini-demo/actions/runs/31244317834/job/93070284632; audit: M2-12: Implement preflight orchestrator and fail-closed API #33 (comment)Their upstream M2 alignment/report dependencies #30 and #31 are also Closed / Project Done and ancestors of current main. The non-UI integration-gate dependency is satisfied, so #34 may enter planning from this exact baseline.
Ready/In Progress means planning authority only. It is not Scope Confirmed, test implementation authorization,
SINGLE_OPERATOR_QAPASS, gate PASS,READY_TO_MERGE, or merge authorization. A closed path-specific QA Work Plan and separate Scope Gate remain mandatory before any branch, worktree, fixture, test, report, commit, push, or PR.pillowtalk-Qy commentedon Aug 8, 2026
M2_GATE_SLOT_ASSIGNED
Gate operator:
pillowtalk-QyPlanning baseline:
origin/main@a09c2a7b989b67264e8078857127a5dd96df1643Dependency gate: #34 (comment)
Issue #34 is now the single active gate slot and moves to Project In Progress for planning.
Planned branch after scope confirmation:
codex/issue-34-non-ui-gatePlanned isolated worktree after authorization:
/Users/qy/Documents/moss-mini-demo-issue-34The first required artifact is a closed QA Work Plan defining the exact request fixtures, cross-package HTTP integration matrix, deterministic Fixture-mode expectations, malformed/invariant boundaries, health/dev curl reproduction, CLEAR402-disabled proof, gate-report contents, exact writable paths, and the rule that any discovered business defect becomes a separate Bug Issue rather than a gate-PR fix.
In Progress starts planning only. It is not Scope Confirmed, implementation authorization, QA PASS, Gate PASS,
READY_TO_MERGE, Merge Gate, or merge authorization. No branch, worktree, file change, commit, push, or PR may be created before the separate Scope Gate.pillowtalk-Qy commentedon Aug 8, 2026
Final QA Work Plan - M2-13 non-UI end-to-end integration gate
0. Planning control
origin/main@a09c2a7b989b67264e8078857127a5dd96df1643codex/issue-34-non-ui-gate/Users/qy/Documents/moss-mini-demo-issue-34pillowtalk-Qy; this is same-operator gate execution and does not claim an independent reviewerThis is a planning artifact only. No branch, worktree, fixture, test, report, commit, push, PR, or gate verdict is authorized before a separate
SCOPE_CONFIRMED / IMPLEMENTATION_AUTHORIZEDrecord accepts this plan.1. Unique objective
Exercise the shipped non-UI HTTP boundary from JSON
Requestto validatedResponseacross happy, mismatch, warning, acquisition failure, malformed request, and programming/invariant failure. Prove health and Fixture-mode curl reproduction with Clear402 absent/false, and publish a PASS or NO-GO report. The gate PR adds no business behavior and performs no live RPC, wallet, signing, transaction, deployment, or Clear402 operation.2. Exact writable paths
Exactly these ten paths are writable:
package.jsonfixtures/requests/happy.jsonfixtures/requests/amount-mismatch.jsonfixtures/requests/token-out-mismatch.jsonfixtures/requests/rpc-failure.jsonfixtures/requests/warning.jsonfixtures/requests/malformed.jsonfixtures/requests/programming-error.jsontests/integration/preflight-api.test.tsdocs/m2-gate-report.mdpackage.jsonis the sole explicit metadata correction beyond Issue #34's initial writable summary. The Issue requirespnpm test:integration, but that script does not exist on the authorized baseline. The only permitted root change is:test:integration = pnpm build && vitest run tests/integrationThis is necessary to make the required verification command real and clean-checkout complete. It does not alter
check; roottestalready discovers integration tests. No lockfile, dependency, lifecycle permission, workflow, package, product source, existing schema, Fixture report, vendor, API route, deployment, governance, or protection change is authorized.3. Request fixtures
Every request fixture is strict, minimal JSON and contains no credential-shaped key:
happy.json: FIXTURE /manual-review-success;amount-mismatch.json: FIXTURE /amount-in-mismatch;token-out-mismatch.json: FIXTURE /token-out-mismatch;rpc-failure.json: LIVE request matching the existing offline FakeMoss environment; the test harness injects synthetic simulation acquisition failure;warning.json: the same valid LIVE intent with the existing FakeMoss warning scenario;malformed.json: a strict-contract-invalid request with no secret value;programming-error.json: valid FIXTURE request passed to a test-local service that throws an invariant/programming sentinel.The three FIXTURE scenarios consume the already reviewed report-schema Fixture files through
FakePreflightService. No request fixture claims Moss, Monad, RPC, live, or safety evidence. The two LIVE request files are executed only against the existing offlinecreateFakeMossEnvironment; returned provenance remainsLOCAL_FORK, neverLIVE_SOURCE.4. HTTP integration matrix
tests/integration/preflight-api.test.tsuses real Web request/response contracts andcreatePreflightHandler. It imports existing server implementations read-only and runs this eight-case matrix twice: once withCLEAR402_ENABLEDabsent and once set to the stringfalse.clear402.enabled=false;MANUAL_REVIEW;STOPwithCRITICAL_ALIGNMENT_FAILand amount source references;STOPwithCRITICAL_ALIGNMENT_FAILand output-asset source references;FAILED, explicitSIMULATION_ACQUISITION_FAILED,STOP;WARNING_PRESENT,STOP;INVALID_REQUEST, no report, presentation, or Decision;INTERNAL_ERROR, no fake STOP/report/Decision and no sentinel leakage in response or fixed log event.That yields exactly 16 integration tests. Each response is parsed with the public response schema where applicable, presentation/report correlation is asserted, and preflight bodies are scanned for Clear402 package/runtime markers and credential-shaped output. Input fixtures are not mutated.
5. Clear402 and evidence boundary
The matrix runs fully under both absent and explicit-false environment states, restoring the caller environment after each case. Tests do not import any Clear402 package or profile. Static gate review also scans the changed diff and server orchestration boundary for
clear402-profileand@clear402/imports. The health contract's existing literalclear402.enabled=falseis expected metadata, not a dependency.All chain-like values used by LIVE integration cases come from the existing offline FakeMoss helper and retain synthetic/LOCAL_FORK provenance. No test reads
MOSS_RPC_URL, opens a socket, invokes the #29 live runner, or treats Fixture values as real evidence.6. Dev/curl reproduction
After tests pass, start the shipped dev server with
CLEAR402_ENABLEDabsent, then explicitlyfalse, and reproduce:Expected: health
okwith Clear402 false; happyMANUAL_REVIEW; both mismatchesSTOP. The test-only injected failure/warning/invariant cases are not exposed as new production scenarios or query parameters.7. Gate report and exact SHA rule
Implementation is two-phase so
docs/m2-gate-report.mdcan truthfully contain an immutable exact behavioral subject SHA:pnpm test:integration,pnpm check, curl reproduction, scope/security scans, and record the exact behavioral commit SHA and test counts;docs/m2-gate-report.mdas a report-only follow-up commit;The report records date, Node/pnpm, baseline SHA, exact tested behavioral SHA, final PR head in linked immutable PR evidence, 16 integration-test count, full-suite count, curl results, Clear402 states, provenance limits, known production-audit baseline, and the sole verdict
PASSorNO-GO. It never calls MANUAL_REVIEW a gate failure and never calls STOP a safety proof.8. Defect handling
The gate PR must not repair business behavior. If any acceptance case fails because of product code, schema, Fixture report, orchestrator, handler, route, or package behavior:
NO-GOand stop;Only mistakes inside the authorized request/test/report/script files may be corrected within #34.
9. Verification
Node
22.23.1, pnpm11.16.0, fresh isolated checkout:Additional audit:
quality-gateSUCCESS;SINGLE_OPERATOR_QArepeats frozen install, integration/full tests, both dev/curl modes, and scope/security checks.10. Acceptance and rollback
PASS requires every Issue acceptance item, 16/16 integration cases, full
pnpm check, both curl modes, exact-head CI, exact path audit, and no open defect. Otherwise verdict is NO-GO.Rollback is deletion/revert of only the #34 test/report branch or squash commit. It has no application state, chain state, database, deployment, secret, wallet, or transaction rollback.
11. Stop conditions
Stop for a replacement Scope Gate before any eleventh path, product-source/schema/Fixture-report change, dependency/lockfile/workflow change, live network call, new production scenario/switch, Clear402 import, secret, wallet/signing/submission surface, or non-PASS/NO-GO verdict vocabulary.
12. Requested decision
Record either:
SCOPE_CONFIRMED / IMPLEMENTATION_AUTHORIZEDaccepting the baseline, ten paths including the one-line root script correction, 16-case matrix, two-phase exact-SHA report, no-business-fix rule, verification, and stop conditions; orSCOPE_CHANGES_REQUESTEDnaming the exact required change.Until confirmed:
QA_WORK_PLAN_SUBMITTED / AWAITING_MAINTAINER_SCOPE_CONFIRMATION.pillowtalk-Qy commentedon Aug 8, 2026
SCOPE_CONFIRMED / IMPLEMENTATION_AUTHORIZED
Frozen authorization object:
5225173730updated_at:2026-08-08T07:42:33Z39890dd6948acb401aed5638b0db5ab65b0775377f3916491a8cfe927eaf497forigin/main@a09c2a7b989b67264e8078857127a5dd96df1643Maintainer confirms the complete #34 QA Work Plan.
Authorized writable paths, exactly:
package.jsonfixtures/requests/happy.jsonfixtures/requests/amount-mismatch.jsonfixtures/requests/token-out-mismatch.jsonfixtures/requests/rpc-failure.jsonfixtures/requests/warning.jsonfixtures/requests/malformed.jsonfixtures/requests/programming-error.jsontests/integration/preflight-api.test.tsdocs/m2-gate-report.mdFrozen requirements:
package.jsonmay add onlytest:integration = pnpm build && vitest run tests/integration; no other script or metadata change;CLEAR402_ENABLEDabsent and the same eight under explicitfalse;docs/m2-gate-report.md, followed by final-head full verification;Gate operator is authorized to create only:
codex/issue-34-non-ui-gate/Users/qy/Documents/moss-mini-demo-issue-34Both must start from the exact authorized baseline. Any eleventh path or change to the frozen metadata, matrix, evidence, product-read-only, offline, defect, verdict, or no-submission boundary invalidates this authorization and requires a replacement Scope Gate.
This authorizes gate implementation scope only. It is not
SINGLE_OPERATOR_QAPASS, Gate PASS, Review approval,READY_TO_MERGE, Merge Gate, or merge authorization. Deliver a Draft PR closing #34, obtain exact-headquality-gate, and complete clean same-operator QA on the frozen head. No independent reviewer is claimed.pillowtalk-Qy commentedon Aug 8, 2026
POST_MERGE_AUDIT: main
1e1611b9f6084f8f787b9d689ce05a9f354a56f4; merged-main quality-gate run 31247416874 SUCCESS; Issue Closed/Completed; Project Done; branch/worktrees cleaned.