Skip to content

test(interactive): R04 pre-await State/intent mutation regression (expected fail) - #17

Closed
rockyshi1993 wants to merge 3 commits into
mainfrom
test/r04-start-input-snapshot-20261112
Closed

rockyshi1993 wants to merge 3 commits into
mainfrom
test/r04-start-input-snapshot-20261112

Conversation

@rockyshi1993

@rockyshi1993 rockyshi1993 commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Purpose

Create a test-only, intentionally red reproducibility gate for formal Phase 2 audit finding CF-07 / V0.6-R5 R04, before authorizing a production Core change.

  • The current createInteractiveCoordinator().start() copies programBytes / programIdentity before await loadInteractiveProgram, but copies state and startIntent only afterwards.
  • The new regression submits caller-owned objects to start(), mutates both immediately, and asserts that the persisted initial State and startKey identity use the values at call entry.
  • Existing coordinator.test.mjs only verifies input mutation after awaiting start, not mutation across its first await.

Evidence

Strict boundary

  • Expected to fail before a fix. Red CI is reproduction evidence, not a regression to merge.
  • Draft only; do not merge while red. Do not modify Core, ABI, Store schema, published SDK or confirmed V0.3/V0.6-R5 from this test PR without an approved scoped fix.
  • Evidence should identify exact test failure, Node/OS matrix, main SHA and artifact hash. A passing unrelated job is not proof of R04.
  • Independent re-review and successful exact-HEAD CI are required before merging any future fix.

R04 test refinement

At HEAD f08efc1379c2b3153cba6a9be6632abdae5e6f52, the original combined case is split into two independent failing-oracles: (1) entry-time State snapshot and (2) entry-time startIntent idempotency identity. This ensures a failure of the first assertion cannot hide the second. Still test-only, Draft and not mergeable as a release gate while intentionally red.

rockyshi1993 added a commit that referenced this pull request Nov 12, 2026
start() copied caller-owned State and startIntent only after
loadInteractiveProgram resolved. That await yields even when the loader
is already settled, so a caller could change both objects before the
Checkpoint and startIntentHash were created. Copy both with the existing
bounded canonical snapshot first, and preserve the initial-State capacity
error. Later Store writes use those copies.

Includes the R04 regression tests from PR #17.

Copy link
Copy Markdown
Contributor Author

Closed as superseded by merged PR #18 (606d055d5f02451fea0b30294889d740ef370d49). PR #17's two intentionally failing R04 regression cases are included in #18 alongside the verified fix, so merging #17 separately would duplicate those tests and reintroduce a red baseline. This closes only the PR; the remote branch is preserved for the repository owner to delete.

rockyshi1993 added a commit that referenced this pull request Nov 12, 2026
* test(interactive): freeze C01-C12 scenario matrix and scripted/live/native evidence separation

* test(interactive): C01-C04,C10,C11 scripted complex runs with real Program signed Host and SQLite

* test(interactive): C01/C03 live multi-Agent two-Condition workflow definition

* test(interactive): real ChatGPT multi-Agent 5-turn replay bridge with schema rejection and SQLite reopen

* test(c01-live): actual ChatGPT requirements analysis bound to published Pending #1

* test(c01-live): ChatGPT architecture response to real dependent Pending #2

* test(c01-live): actual ChatGPT implementation plan from real Pending #3

* test(c03-live): ChatGPT deliberately submits invalid reviewApproved type to test real retry Pending

* test(c01-live): genuine ChatGPT corrected review after real attempt-2 Pending #5

* docs(interactive): record C01-C12 detailed scripted and five-turn real ChatGPT evidence with open native gates

* test(interactive): extend complex P0-A acceptance with C13-C20 interleavings

* docs(interactive): extend risk-mapped C13-C24 acceptance and native-host gates

* test(interactive): inspect durable Store state while Pending frame intentionally redacts State

* test(interactive): verify C16 durable Checkpoint while Pending frame hides private State

* docs(interactive): record independently checked 7/7 CI and C13-C24 layered verdict

* test(interactive): rebase M6 Host integration on current main

Add current-main M6 scripted Host integration coverage, root-discovery fixtures, Linux cross-UID CI, and the full Interactive delivery roadmap. This is test/CI/documentation only and does not complete native-host C12/S13 or M6 final acceptance.

* docs(interactive): add Trusted Host V2 conditional security design

Add the reviewed Trusted Host V2 threat model, deployment profiles, security acceptance matrix, and explicit Phase 2 limitations. This is documentation-only: it does not implement Host isolation, Grok native provenance, Windows ACL enforcement, or Phase 3/4 runtime changes. F-02 and F-04 remain pending real validation; F-07 formal V0.3/V0.6-R5 conformance remains blocked. Merge does not authorize Phase 3 or claim C12/S13/M6 acceptance.

* docs(interactive): recover frozen baselines and establish evidence audit plan

Record independently validated Requirements V0.3 and Technical Design V0.6-R5 originals, limited Core PoC results and Phase 2 traceability roadmap. Reconcile the previously confirmed M1–M6 P0-A plan and existing M1–M5 implementation. Documentation only: no Core/API/Program ABI/Store schema changes, no Phase 3 authorization, no C12/S13 or full conformance PASS claim.

* docs(interactive): archive Phase 2 formal conformance R1/R2 audit

* docs(interactive): add source-backed T/R/S crosswalk and initial P0-A gap findings

* docs(interactive): document Host/Public terminal State projection contract difference

* docs(interactive): record async Store contract divergence from confirmed V0.6-R5

* docs(interactive): add Phase 2 R2 code-evidence review and R04 mutation findings

* docs(interactive): link R04 independent regression PR and retrigger Phase 2 CI

* docs(interactive): archive local R04 reproduction and verification evidence

* docs(interactive): record local verification of PR 16 and 17

The report keeps the PR heads, commands, R04 failure output, the
snapshot fix result, and the merge recommendation. Raw decisive logs
are stored beside it. No product code changes.

* docs(interactive): record that Actions for PR 16-19 are still queued

The 13:15 +08 reconfirm keeps all four draft PRs unmerged.
Run status is queued with an empty conclusion. That is not a matrix pass
and not a proven Actions outage.

* fix(interactive): snapshot start inputs before first await (R04)

start() copied caller-owned State and startIntent only after
loadInteractiveProgram resolved. That await yields even when the loader
is already settled, so a caller could change both objects before the
Checkpoint and startIntentHash were created. Copy both with the existing
bounded canonical snapshot first, and preserve the initial-State capacity
error. Later Store writes use those copies.

Includes the R04 regression tests from PR #17.

* test(interactive): require complete recorded ChatGPT responses in normal CI

* docs(interactive): clarify recorded model-response evidence tier
rockyshi1993 added a commit that referenced this pull request Nov 12, 2026
* test(interactive): define executable S13 ChatGPT tool-bridge acceptance workflow

* test(interactive): add auditable public Agent instruction for S13 bridge

* test(interactive): 2-stage public Pending bridge for real ChatGPT tool-using response and Host resume

* test(s13): bind actual ChatGPT model-generated response to published public Pending digest

* test(s13): generate Host-only private canary inside CI, never commit even a synthetic secret

* test(interactive): rebase M6 Host integration on current main

Add current-main M6 scripted Host integration coverage, root-discovery fixtures, Linux cross-UID CI, and the full Interactive delivery roadmap. This is test/CI/documentation only and does not complete native-host C12/S13 or M6 final acceptance.

* docs(interactive): add Trusted Host V2 conditional security design

Add the reviewed Trusted Host V2 threat model, deployment profiles, security acceptance matrix, and explicit Phase 2 limitations. This is documentation-only: it does not implement Host isolation, Grok native provenance, Windows ACL enforcement, or Phase 3/4 runtime changes. F-02 and F-04 remain pending real validation; F-07 formal V0.3/V0.6-R5 conformance remains blocked. Merge does not authorize Phase 3 or claim C12/S13/M6 acceptance.

* docs(interactive): recover frozen baselines and establish evidence audit plan

Record independently validated Requirements V0.3 and Technical Design V0.6-R5 originals, limited Core PoC results and Phase 2 traceability roadmap. Reconcile the previously confirmed M1–M6 P0-A plan and existing M1–M5 implementation. Documentation only: no Core/API/Program ABI/Store schema changes, no Phase 3 authorization, no C12/S13 or full conformance PASS claim.

* docs(interactive): archive Phase 2 formal conformance R1/R2 audit

* docs(interactive): add source-backed T/R/S crosswalk and initial P0-A gap findings

* docs(interactive): document Host/Public terminal State projection contract difference

* docs(interactive): record async Store contract divergence from confirmed V0.6-R5

* docs(interactive): add Phase 2 R2 code-evidence review and R04 mutation findings

* docs(interactive): link R04 independent regression PR and retrigger Phase 2 CI

* docs(interactive): archive local R04 reproduction and verification evidence

* docs(interactive): record local verification of PR 16 and 17

The report keeps the PR heads, commands, R04 failure output, the
snapshot fix result, and the merge recommendation. Raw decisive logs
are stored beside it. No product code changes.

* docs(interactive): record that Actions for PR 16-19 are still queued

The 13:15 +08 reconfirm keeps all four draft PRs unmerged.
Run status is queued with an empty conclusion. That is not a matrix pass
and not a proven Actions outage.

* fix(interactive): snapshot start inputs before first await (R04)

start() copied caller-owned State and startIntent only after
loadInteractiveProgram resolved. That await yields even when the loader
is already settled, so a caller could change both objects before the
Checkpoint and startIntentHash were created. Copy both with the existing
bounded canonical snapshot first, and preserve the initial-State capacity
error. Later Store writes use those copies.

Includes the R04 regression tests from PR #17.

* test(interactive): require explicit preparation mode for ChatGPT response fixture

* docs(interactive): label ChatGPT response experiment as M-level

* test(interactive): preserve original workflow identity for recorded Pending fixture

* docs(interactive): clarify ChatGPT response evidence tier and S13 limits

* test(interactive): add C01-C24 complex acceptance evidence

* test(interactive): freeze C01-C12 scenario matrix and scripted/live/native evidence separation

* test(interactive): C01-C04,C10,C11 scripted complex runs with real Program signed Host and SQLite

* test(interactive): C01/C03 live multi-Agent two-Condition workflow definition

* test(interactive): real ChatGPT multi-Agent 5-turn replay bridge with schema rejection and SQLite reopen

* test(c01-live): actual ChatGPT requirements analysis bound to published Pending #1

* test(c01-live): ChatGPT architecture response to real dependent Pending #2

* test(c01-live): actual ChatGPT implementation plan from real Pending #3

* test(c03-live): ChatGPT deliberately submits invalid reviewApproved type to test real retry Pending

* test(c01-live): genuine ChatGPT corrected review after real attempt-2 Pending #5

* docs(interactive): record C01-C12 detailed scripted and five-turn real ChatGPT evidence with open native gates

* test(interactive): extend complex P0-A acceptance with C13-C20 interleavings

* docs(interactive): extend risk-mapped C13-C24 acceptance and native-host gates

* test(interactive): inspect durable Store state while Pending frame intentionally redacts State

* test(interactive): verify C16 durable Checkpoint while Pending frame hides private State

* docs(interactive): record independently checked 7/7 CI and C13-C24 layered verdict

* test(interactive): rebase M6 Host integration on current main

Add current-main M6 scripted Host integration coverage, root-discovery fixtures, Linux cross-UID CI, and the full Interactive delivery roadmap. This is test/CI/documentation only and does not complete native-host C12/S13 or M6 final acceptance.

* docs(interactive): add Trusted Host V2 conditional security design

Add the reviewed Trusted Host V2 threat model, deployment profiles, security acceptance matrix, and explicit Phase 2 limitations. This is documentation-only: it does not implement Host isolation, Grok native provenance, Windows ACL enforcement, or Phase 3/4 runtime changes. F-02 and F-04 remain pending real validation; F-07 formal V0.3/V0.6-R5 conformance remains blocked. Merge does not authorize Phase 3 or claim C12/S13/M6 acceptance.

* docs(interactive): recover frozen baselines and establish evidence audit plan

Record independently validated Requirements V0.3 and Technical Design V0.6-R5 originals, limited Core PoC results and Phase 2 traceability roadmap. Reconcile the previously confirmed M1–M6 P0-A plan and existing M1–M5 implementation. Documentation only: no Core/API/Program ABI/Store schema changes, no Phase 3 authorization, no C12/S13 or full conformance PASS claim.

* docs(interactive): archive Phase 2 formal conformance R1/R2 audit

* docs(interactive): add source-backed T/R/S crosswalk and initial P0-A gap findings

* docs(interactive): document Host/Public terminal State projection contract difference

* docs(interactive): record async Store contract divergence from confirmed V0.6-R5

* docs(interactive): add Phase 2 R2 code-evidence review and R04 mutation findings

* docs(interactive): link R04 independent regression PR and retrigger Phase 2 CI

* docs(interactive): archive local R04 reproduction and verification evidence

* docs(interactive): record local verification of PR 16 and 17

The report keeps the PR heads, commands, R04 failure output, the
snapshot fix result, and the merge recommendation. Raw decisive logs
are stored beside it. No product code changes.

* docs(interactive): record that Actions for PR 16-19 are still queued

The 13:15 +08 reconfirm keeps all four draft PRs unmerged.
Run status is queued with an empty conclusion. That is not a matrix pass
and not a proven Actions outage.

* fix(interactive): snapshot start inputs before first await (R04)

start() copied caller-owned State and startIntent only after
loadInteractiveProgram resolved. That await yields even when the loader
is already settled, so a caller could change both objects before the
Checkpoint and startIntentHash were created. Copy both with the existing
bounded canonical snapshot first, and preserve the initial-State capacity
error. Later Store writes use those copies.

Includes the R04 regression tests from PR #17.

* test(interactive): require complete recorded ChatGPT responses in normal CI

* docs(interactive): clarify recorded model-response evidence tier
rockyshi1993 added a commit that referenced this pull request Nov 12, 2026
…osswalk

* docs(interactive): record current baseline and local CI fallback policy

* docs(interactive): map approved P0-A tasks to current main evidence

* docs(interactive): refresh roadmap and formal audit baseline to 606d055

* docs(interactive): refine retain semantics and review PR11/PR12 evidence

* test(interactive): add C01-C24 complex acceptance evidence

* test(interactive): freeze C01-C12 scenario matrix and scripted/live/native evidence separation

* test(interactive): C01-C04,C10,C11 scripted complex runs with real Program signed Host and SQLite

* test(interactive): C01/C03 live multi-Agent two-Condition workflow definition

* test(interactive): real ChatGPT multi-Agent 5-turn replay bridge with schema rejection and SQLite reopen

* test(c01-live): actual ChatGPT requirements analysis bound to published Pending #1

* test(c01-live): ChatGPT architecture response to real dependent Pending #2

* test(c01-live): actual ChatGPT implementation plan from real Pending #3

* test(c03-live): ChatGPT deliberately submits invalid reviewApproved type to test real retry Pending

* test(c01-live): genuine ChatGPT corrected review after real attempt-2 Pending #5

* docs(interactive): record C01-C12 detailed scripted and five-turn real ChatGPT evidence with open native gates

* test(interactive): extend complex P0-A acceptance with C13-C20 interleavings

* docs(interactive): extend risk-mapped C13-C24 acceptance and native-host gates

* test(interactive): inspect durable Store state while Pending frame intentionally redacts State

* test(interactive): verify C16 durable Checkpoint while Pending frame hides private State

* docs(interactive): record independently checked 7/7 CI and C13-C24 layered verdict

* test(interactive): rebase M6 Host integration on current main

Add current-main M6 scripted Host integration coverage, root-discovery fixtures, Linux cross-UID CI, and the full Interactive delivery roadmap. This is test/CI/documentation only and does not complete native-host C12/S13 or M6 final acceptance.

* docs(interactive): add Trusted Host V2 conditional security design

Add the reviewed Trusted Host V2 threat model, deployment profiles, security acceptance matrix, and explicit Phase 2 limitations. This is documentation-only: it does not implement Host isolation, Grok native provenance, Windows ACL enforcement, or Phase 3/4 runtime changes. F-02 and F-04 remain pending real validation; F-07 formal V0.3/V0.6-R5 conformance remains blocked. Merge does not authorize Phase 3 or claim C12/S13/M6 acceptance.

* docs(interactive): recover frozen baselines and establish evidence audit plan

Record independently validated Requirements V0.3 and Technical Design V0.6-R5 originals, limited Core PoC results and Phase 2 traceability roadmap. Reconcile the previously confirmed M1–M6 P0-A plan and existing M1–M5 implementation. Documentation only: no Core/API/Program ABI/Store schema changes, no Phase 3 authorization, no C12/S13 or full conformance PASS claim.

* docs(interactive): archive Phase 2 formal conformance R1/R2 audit

* docs(interactive): add source-backed T/R/S crosswalk and initial P0-A gap findings

* docs(interactive): document Host/Public terminal State projection contract difference

* docs(interactive): record async Store contract divergence from confirmed V0.6-R5

* docs(interactive): add Phase 2 R2 code-evidence review and R04 mutation findings

* docs(interactive): link R04 independent regression PR and retrigger Phase 2 CI

* docs(interactive): archive local R04 reproduction and verification evidence

* docs(interactive): record local verification of PR 16 and 17

The report keeps the PR heads, commands, R04 failure output, the
snapshot fix result, and the merge recommendation. Raw decisive logs
are stored beside it. No product code changes.

* docs(interactive): record that Actions for PR 16-19 are still queued

The 13:15 +08 reconfirm keeps all four draft PRs unmerged.
Run status is queued with an empty conclusion. That is not a matrix pass
and not a proven Actions outage.

* fix(interactive): snapshot start inputs before first await (R04)

start() copied caller-owned State and startIntent only after
loadInteractiveProgram resolved. That await yields even when the loader
is already settled, so a caller could change both objects before the
Checkpoint and startIntentHash were created. Copy both with the existing
bounded canonical snapshot first, and preserve the initial-State capacity
error. Later Store writes use those copies.

Includes the R04 regression tests from PR #17.

* test(interactive): require complete recorded ChatGPT responses in normal CI

* docs(interactive): clarify recorded model-response evidence tier

* test(interactive): add ChatGPT Pending response evidence

* test(interactive): define executable S13 ChatGPT tool-bridge acceptance workflow

* test(interactive): add auditable public Agent instruction for S13 bridge

* test(interactive): 2-stage public Pending bridge for real ChatGPT tool-using response and Host resume

* test(s13): bind actual ChatGPT model-generated response to published public Pending digest

* test(s13): generate Host-only private canary inside CI, never commit even a synthetic secret

* test(interactive): rebase M6 Host integration on current main

Add current-main M6 scripted Host integration coverage, root-discovery fixtures, Linux cross-UID CI, and the full Interactive delivery roadmap. This is test/CI/documentation only and does not complete native-host C12/S13 or M6 final acceptance.

* docs(interactive): add Trusted Host V2 conditional security design

Add the reviewed Trusted Host V2 threat model, deployment profiles, security acceptance matrix, and explicit Phase 2 limitations. This is documentation-only: it does not implement Host isolation, Grok native provenance, Windows ACL enforcement, or Phase 3/4 runtime changes. F-02 and F-04 remain pending real validation; F-07 formal V0.3/V0.6-R5 conformance remains blocked. Merge does not authorize Phase 3 or claim C12/S13/M6 acceptance.

* docs(interactive): recover frozen baselines and establish evidence audit plan

Record independently validated Requirements V0.3 and Technical Design V0.6-R5 originals, limited Core PoC results and Phase 2 traceability roadmap. Reconcile the previously confirmed M1–M6 P0-A plan and existing M1–M5 implementation. Documentation only: no Core/API/Program ABI/Store schema changes, no Phase 3 authorization, no C12/S13 or full conformance PASS claim.

* docs(interactive): archive Phase 2 formal conformance R1/R2 audit

* docs(interactive): add source-backed T/R/S crosswalk and initial P0-A gap findings

* docs(interactive): document Host/Public terminal State projection contract difference

* docs(interactive): record async Store contract divergence from confirmed V0.6-R5

* docs(interactive): add Phase 2 R2 code-evidence review and R04 mutation findings

* docs(interactive): link R04 independent regression PR and retrigger Phase 2 CI

* docs(interactive): archive local R04 reproduction and verification evidence

* docs(interactive): record local verification of PR 16 and 17

The report keeps the PR heads, commands, R04 failure output, the
snapshot fix result, and the merge recommendation. Raw decisive logs
are stored beside it. No product code changes.

* docs(interactive): record that Actions for PR 16-19 are still queued

The 13:15 +08 reconfirm keeps all four draft PRs unmerged.
Run status is queued with an empty conclusion. That is not a matrix pass
and not a proven Actions outage.

* fix(interactive): snapshot start inputs before first await (R04)

start() copied caller-owned State and startIntent only after
loadInteractiveProgram resolved. That await yields even when the loader
is already settled, so a caller could change both objects before the
Checkpoint and startIntentHash were created. Copy both with the existing
bounded canonical snapshot first, and preserve the initial-State capacity
error. Later Store writes use those copies.

Includes the R04 regression tests from PR #17.

* test(interactive): require explicit preparation mode for ChatGPT response fixture

* docs(interactive): label ChatGPT response experiment as M-level

* test(interactive): preserve original workflow identity for recorded Pending fixture

* docs(interactive): clarify ChatGPT response evidence tier and S13 limits

* test(interactive): add C01-C24 complex acceptance evidence

* test(interactive): freeze C01-C12 scenario matrix and scripted/live/native evidence separation

* test(interactive): C01-C04,C10,C11 scripted complex runs with real Program signed Host and SQLite

* test(interactive): C01/C03 live multi-Agent two-Condition workflow definition

* test(interactive): real ChatGPT multi-Agent 5-turn replay bridge with schema rejection and SQLite reopen

* test(c01-live): actual ChatGPT requirements analysis bound to published Pending #1

* test(c01-live): ChatGPT architecture response to real dependent Pending #2

* test(c01-live): actual ChatGPT implementation plan from real Pending #3

* test(c03-live): ChatGPT deliberately submits invalid reviewApproved type to test real retry Pending

* test(c01-live): genuine ChatGPT corrected review after real attempt-2 Pending #5

* docs(interactive): record C01-C12 detailed scripted and five-turn real ChatGPT evidence with open native gates

* test(interactive): extend complex P0-A acceptance with C13-C20 interleavings

* docs(interactive): extend risk-mapped C13-C24 acceptance and native-host gates

* test(interactive): inspect durable Store state while Pending frame intentionally redacts State

* test(interactive): verify C16 durable Checkpoint while Pending frame hides private State

* docs(interactive): record independently checked 7/7 CI and C13-C24 layered verdict

* test(interactive): rebase M6 Host integration on current main

Add current-main M6 scripted Host integration coverage, root-discovery fixtures, Linux cross-UID CI, and the full Interactive delivery roadmap. This is test/CI/documentation only and does not complete native-host C12/S13 or M6 final acceptance.

* docs(interactive): add Trusted Host V2 conditional security design

Add the reviewed Trusted Host V2 threat model, deployment profiles, security acceptance matrix, and explicit Phase 2 limitations. This is documentation-only: it does not implement Host isolation, Grok native provenance, Windows ACL enforcement, or Phase 3/4 runtime changes. F-02 and F-04 remain pending real validation; F-07 formal V0.3/V0.6-R5 conformance remains blocked. Merge does not authorize Phase 3 or claim C12/S13/M6 acceptance.

* docs(interactive): recover frozen baselines and establish evidence audit plan

Record independently validated Requirements V0.3 and Technical Design V0.6-R5 originals, limited Core PoC results and Phase 2 traceability roadmap. Reconcile the previously confirmed M1–M6 P0-A plan and existing M1–M5 implementation. Documentation only: no Core/API/Program ABI/Store schema changes, no Phase 3 authorization, no C12/S13 or full conformance PASS claim.

* docs(interactive): archive Phase 2 formal conformance R1/R2 audit

* docs(interactive): add source-backed T/R/S crosswalk and initial P0-A gap findings

* docs(interactive): document Host/Public terminal State projection contract difference

* docs(interactive): record async Store contract divergence from confirmed V0.6-R5

* docs(interactive): add Phase 2 R2 code-evidence review and R04 mutation findings

* docs(interactive): link R04 independent regression PR and retrigger Phase 2 CI

* docs(interactive): archive local R04 reproduction and verification evidence

* docs(interactive): record local verification of PR 16 and 17

The report keeps the PR heads, commands, R04 failure output, the
snapshot fix result, and the merge recommendation. Raw decisive logs
are stored beside it. No product code changes.

* docs(interactive): record that Actions for PR 16-19 are still queued

The 13:15 +08 reconfirm keeps all four draft PRs unmerged.
Run status is queued with an empty conclusion. That is not a matrix pass
and not a proven Actions outage.

* fix(interactive): snapshot start inputs before first await (R04)

start() copied caller-owned State and startIntent only after
loadInteractiveProgram resolved. That await yields even when the loader
is already settled, so a caller could change both objects before the
Checkpoint and startIntentHash were created. Copy both with the existing
bounded canonical snapshot first, and preserve the initial-State capacity
error. Later Store writes use those copies.

Includes the R04 regression tests from PR #17.

* test(interactive): require complete recorded ChatGPT responses in normal CI

* docs(interactive): clarify recorded model-response evidence tier
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