Skip to content

Lane E ownership and ordered planning implementation #29

Closed

Description

@mchwang

Owner: Codex, current task. Baseline: main 5eec4b5. E1 branch: codex/lane-e1-audit. Exact E1 file: docs/implementation/planning-audit.md. Done when: npx vitest run test/plan.test.ts test/plan-v1.test.ts test/registry.test.ts test/store.test.ts and npm run typecheck pass. Interface: audit only; preserve existing PlanContext, importPlan/applySuggestion and ReviewStore suggestion authority. PR #23 file list inspected; no overlap. E2-E4 assignments will be recorded here before edits. No shared schema/store/runner/web edits; integration changes belong to their assigned owners. E2-E4 use injected read-only providers; production invocation waits for D5. Each step gets a separate PR; dependent changes may be stacked without merging.

Activity

  1. mchwang commented on Sep 24, 2026

    @mchwang
    ContributorAuthor

    E2 assignment before edits: owner Codex; branch codex/lane-e2-provider, stacked on E1. Exact files: core/planning-author.ts, test/planning-author.test.ts, docs/implementation/planning-provider.md. Reuse prompts/plan-author.md unchanged. Done when: npx vitest run test/planning-author.test.ts and npm run typecheck pass. Interface: pure prepared request with trusted identity/revision/request ID, immutable registry schema, bounded escaped prompt and extracted-document validation; injected provider accepts AbortSignal and read-only phase metadata, no CLI or write capability. D owns enforcement and launch/token budgets. No overlap with C PR #23 and no shared edits.

  2. mchwang commented on Sep 24, 2026

    @mchwang
    ContributorAuthor

    E2 file assignment refinement: also edit prompts/plan-author.md to make the draft versus typed-edit output instruction explicit. This file is assigned to E; C does not touch it.

  3. mchwang commented on Sep 24, 2026

    @mchwang
    ContributorAuthor

    E3 assignment before edits: owner Codex; branch codex/lane-e3-suggestions stacked on E2. Exact files: core/planning-suggestions.ts, test/planning-suggestions.test.ts, docs/implementation/planning-suggestions.md. Done when: npx vitest run test/planning-author.test.ts test/planning-suggestions.test.ts test/store.test.ts and npm run typecheck pass. Contract: injected Store-compatible authority retains all persistence/Apply; coordinator captures request ID, identity, revision and snapshot, owns an invocation slot until settlement, rejects stale completion, and preserves cancellation/timeout reasons. Lifecycle contract will be documented before implementation. No shared files or C overlap.

  4. mchwang commented on Sep 24, 2026

    @mchwang
    ContributorAuthor

    E2 review round 2 at 66ae32e reports Findings: None but retains a generic summary of two moderate boundary issues. The two concrete concerns from round 1 were reproduced and fixed: exact four-field issue_data is asserted before downstream use, and an initial draft at revision 9 is rejected. No new counterexample was supplied. Track any new reproducible boundary example here rather than patching vague wording. Current stack is refreshed with main b181d15; final heads and validation are being updated.

  5. mchwang commented on Sep 24, 2026

    @mchwang
    ContributorAuthor

    E4 assignment before edits: owner Codex; branch codex/lane-e4-acceptance stacked on E3 and refreshed main b181d15. Exact files: test/planning-acceptance.test.ts, test/fixtures/planning/synthetic-plan.json, test/fixtures/planning/synthetic-edits.json, test/fixtures/planning/hostile-input.json, docs/implementation/planning-acceptance.md. Done when: npm test and npm run typecheck pass, plus applicable existing browser suite as the integrated baseline check. Add real-Store import/replay and hostile/malformed response fixtures. All generated fixture data is explicitly synthetic. Recorded live Claude/Codex adapter acceptance remains blocked on D5 (#28); F1/G4 production persistence is tracked in #34. No shared file edits.

  6. mchwang commented on Sep 24, 2026

    @mchwang
    ContributorAuthor

    E1 and E2 review loops have converged, including after main refresh. E1 c74ec6e: 109 targeted tests/typecheck, CI green, no findings. E2 2c7bf1a: 132 targeted tests/typecheck, CI green, final review recommends approval with no findings; all threads resolved. E3 and draft E4 are awaiting final review/gates. E4 draft #37 explicitly stops at D5 live-output acceptance; #28 confirms D2-D5 are unimplemented pending Claude authenticated probe setup. No merges authorized/performed.

  7. mchwang commented on Sep 24, 2026

    @mchwang
    ContributorAuthor

    Stopping at the first newly established dependency: E3 publication failure cleanup can invalidate a reply another Store connection already completed. Reproduced with two real connections and asserted ready plus exact reply immediately before the losing publication CAS; observed cancelled afterward. Safe repair needs atomic pending-attempt cleanup in the shared Store, owned by F, tracked in #34. E3 #35 converted to blocked draft with unresolved review thread. E4 #37 remains a dependent draft; its separate live-output gate still waits for D5 (#28). E1 #30 and E2 #32 are complete/review-clean with green CI, unmerged pending authorization. No shared-file workaround or non-atomic read-then-cancel patch was made.

  8. mchwang commented on Sep 24, 2026

    @mchwang
    ContributorAuthor

    Final handoff: separate stacked PRs E1 #30 (c74ec6e), E2 #32 (2c7bf1a), E3 #35 (a1a72b2), E4 #37 (886ccf5). E1/E2 are review-clean, mergeable, CI green; E3/E4 remain blocked drafts. E3 has one intentionally unresolved review thread for the reproduced atomic-cleanup dependency #34. E4 has its test-review thread resolved but completion/re-review is paused at that dependency and D5 recordings (#28).

    Final integrated head 886ccf5: 310 tests across 15 files, typecheck, 43 browser tests, and both CI runs pass after the last change and push. The new E3 two-connection race was reproduced separately and remains unfixed; passing existing suites are not a claim that this blocker is resolved. Working tree clean on codex/lane-e4-acceptance. No merges performed. Next: F owner supplies atomic pending-attempt cleanup; resume E3 and its failing-before/passing-after regression/review; refresh E4 and finish recorded-output gates when D5 is available.

  9. mchwang commented on Sep 24, 2026

    @mchwang
    ContributorAuthor

    Authorized step 1 completed. E1 #30 squash-merged as 0d46518; E2 #32 squash-merged as 0ae71a5. Both remote source branches and local session branches were deleted. E2 was retargeted to main, merged current main to eliminate stacked-history noise, and passed 132 targeted tests plus typecheck; fresh CI was green and all threads remained resolved before merge.

    Exact merged main 0ae71a5 was checked out and passed typecheck, 287 tests across 13 files, and all 43 browser tests. E3 #35 is rebased-by-merge onto main at a8a597e and remains a blocked draft; its 61 targeted tests plus typecheck pass. E4 #37 remains stacked on E3 at 54b743b; its 25 targeted tests plus typecheck pass. The #34 atomic-cleanup blocker remains unchanged.

  10. mchwang commented on Sep 24, 2026

    @mchwang
    ContributorAuthor

    E3 merged in #35 as 13a7b30 after seven review rounds, green CI, and zero unresolved threads. E4 was refreshed onto merged main at 43e2284: 393 unit/integration tests, typecheck, 43 browser tests, and 96 focused acceptance tests pass locally. GitHub automatically closed stacked draft #37 when its E3 base branch was deleted, so replacement draft #45 now targets main. Its synthetic fixture slice is current; recorded Claude/Codex output acceptance remains blocked on D5 in #28 (D3 is #44; D4/D5 have not landed).

  11. mchwang commented on Oct 20, 2026

    @mchwang
    ContributorAuthor

    Lane E is done. E1 #30, E2 #32, E3 #35 and E4 #45 merged. Recorded in docs/architecture.md, lane E row.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions