75 lines
3.3 KiB
Markdown
75 lines
3.3 KiB
Markdown
# Task: Integrate stuck session settlement fix
|
|
|
|
## Identity
|
|
|
|
- Task ID: 20260902-integrate-session-settlement-6e41c8b2
|
|
- Mode: Integration
|
|
- Branch: main
|
|
- Worktree: /Users/inmanx/Documents/makelore
|
|
- Base commit: dedbc85014e0c7e656464c9b3af26f9f4882bd04
|
|
- Owner: codex
|
|
- Status: Completed
|
|
|
|
## Scope
|
|
|
|
- Integrate source commit `f1fd13a` from task
|
|
`20260901-fix-session-settlement-a47d2e91` into local `main`.
|
|
- Promote the verified missing-settlement recovery behavior into the integrated
|
|
project snapshot without changing the accepted ADR-006 runtime boundary.
|
|
- Re-run focused runtime tests, typecheck, and the Renderer/Main/Preload build on
|
|
the integrated tree, then confirm the development desktop process reloads.
|
|
|
|
## Intent And Constraints
|
|
|
|
- Preserve normal `agent_settled` authority, per-Conversation generation isolation,
|
|
exactly-once ownership cleanup, and sibling availability.
|
|
- Do not replay an accepted or uncertain Coding mutation and do not settle an
|
|
ordinary prompt solely because `message_end` was observed.
|
|
- Permit bounded fallback completion only from exact target-thread idle evidence;
|
|
contradictory terminal state must converge to a target-only protocol failure.
|
|
- Keep Pi wire/runtime state private to Electron Main and make no unrelated product,
|
|
protocol, authentication, provider, or project-data change.
|
|
|
|
## Outcome
|
|
|
|
- Committed the completed read-only live-stall diagnosis on `main` as `dedbc85`
|
|
and released its prior feature-task ownership cleanly.
|
|
- Merged source fix `f1fd13a` into `main` without conflicts as merge `e76a1e1`.
|
|
- Kept the source task record read-only on its feature branch; `main` contains the
|
|
integration task record and canonical promoted facts rather than a mutable copy
|
|
of another task's owned record.
|
|
- Promoted the bounded missing-settlement recovery into `current-state.md`, the
|
|
evidence index, and `README.md`; ADR-006 remains unchanged because the fix
|
|
restores its existing authority, isolation, and no-replay contract.
|
|
- Restarted the development desktop application from the integrated tree. The
|
|
new Electron Main process is listening on the Host API and the Renderer returns
|
|
HTTP 200 with the settlement-probe implementation present in the built bundle.
|
|
|
|
## Verification
|
|
|
|
- Source task evidence: 68 focused tests passed across 8 files; 1,732 full unit
|
|
tests passed and 3 skipped; typecheck, targeted/full lint, Vite build, and
|
|
`git diff --check` passed.
|
|
- Integrated tree: `vitest run tests/unit/pi-worker-pool.test.ts
|
|
tests/unit/pi-agent-server-process-real.test.ts --maxWorkers=2` passed 26 tests
|
|
across 2 files.
|
|
- Integrated tree: `pnpm run typecheck` passed.
|
|
- Integrated tree: `pnpm run build:vite` passed for Renderer, Main, Preload, and
|
|
utility bundles; only pre-existing Browserslist/import/chunk-size warnings
|
|
remained.
|
|
- Restart smoke: Renderer `http://localhost:5173/` returned HTTP 200; Electron
|
|
process `87870` listens on `127.0.0.1:13210`; the built Main bundle contains the
|
|
settlement-probe implementation.
|
|
- `check_project_docs.py`, task-aware `check_doc_drift.py`, `git diff --check`,
|
|
and the final Git cleanliness check passed.
|
|
|
|
## Follow-ups
|
|
|
|
- No additional code follow-up is required for this local integration. A future
|
|
packaged release should retain the existing Pi final-artifact and cross-platform
|
|
release gates.
|
|
|
|
## Promotion Candidates
|
|
|
|
- None recorded.
|