Skip to content

E4: add planning acceptance fixtures; await D5 recordings - #45

Draft
mchwang wants to merge 25 commits into
mainfrom
codex/lane-e4-acceptance
Draft

mchwang wants to merge 25 commits into
mainfrom
codex/lane-e4-acceptance

Conversation

@mchwang

@mchwang mchwang commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Supersedes the automatically closed stacked draft #37 after E3's base branch was merged and deleted.

Adds dedicated synthetic integration fixtures for JSON/YAML import, the eight T18 broken-plan cases, stable identity, replay/sibling invalidation, SQLite reopen, malformed responses, hostile prompt input, and exact command approval. It composes merged E2/E3 with the real Store and its revision/snapshot-bound request lifecycle. No fixture is represented as vendor output or isolation evidence.

Depends on merged E3 #35; ownership #29. Acceptance matrix and D5 handoff: docs/implementation/planning-acceptance.md.

Validated pushed head: 43e228404b28f5c508180b72e0843476a1193f77.

  • npm test — 393 passed across 17 files
  • npm run typecheck — passed
  • npm run test:browser — 43 passed
  • Focused acceptance/author/coordinator/store suite — 96 passed
  • git diff --check — passed
  • GitHub CI — passed

The synthetic fixture slice is complete and self-reviewed. Copilot review round 1 on the exact head returned Findings: None with zero inline threads. No findings were declined.

The recorded real Claude/Codex authoring-output portion remains blocked by D5 in #28. D3 is currently in PR #44; D4 and D5 have not landed. This draft must not merge or claim T9/T18 completion until D5 supplies the pinned provider adapters, bounded extraction, permissions, and settlement gate needed to capture and replay real outputs.

Historical review on #37 found one persistence assertion gap. The generated-draft test now verifies the changed summary, full current and reopened Store value, and unchanged historical revision. The lesson is covered by existing AGENTS.md durable-versus-visible state guidance; no duplicate rule is needed. The current round added no reusable lesson.

# Conflicts:
#	core/planning-suggestions.ts
#	docs/implementation/planning-suggestions.md
#	test/planning-suggestions.test.ts
@mchwang

mchwang commented Sep 24, 2026

Copy link
Copy Markdown
Contributor Author

@copilot review

@mchwang
mchwang marked this pull request as ready for review September 24, 2026 18:26
@mchwang

mchwang commented Sep 24, 2026

Copy link
Copy Markdown
Contributor Author

@copilot review

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

Real authoring-output validation remains blocked on the D5 provider and settlement gate.

Review effort: Lite
Findings: None

What changed in this PR

Adds synthetic planning acceptance fixtures and Store-backed integration tests, while documenting the remaining D5 live-provider dependency.

Changes:

  • Added acceptance tests for imports, persistence, identity, replay, invalidation, malformed responses, hostile input, and command approval.
  • Added synthetic plan, edit, and hostile-input fixtures.
  • Documented acceptance coverage and deferred real-provider validation.
File Description
test/​planning-acceptance.test.ts Integrated planning acceptance tests
test/​fixtures/​planning/​synthetic-plan.json Synthetic plan fixture
test/​fixtures/​planning/​synthetic-edits.json Synthetic suggestion fixture
test/​fixtures/​planning/​hostile-input.json Hostile-input fixture
docs/​implementation/​planning-acceptance.md Acceptance matrix and D5 dependency

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@mchwang
mchwang marked this pull request as draft September 24, 2026 18:28
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.

2 participants