Files
CodeWhale Bot 71d5cd878b fix(engine): lean follow-ons — retraction, surface pins (CW-7923, CW-7926)
Credential-rejection retraction of the unanswered question had stopped
working: turn preparation now records runtime messages (workspace
instructions, constitution, MCP rosters) after the user message, so the
"nothing after the question" check never held. The mark is now
UnansweredUserMessage { index, content_sha256 } (core/turn.rs); a
retraction requires the same message at the same index with the same
content hash, and only internal runtime-handoff messages after it, which
go with the question. project_instructions is now an internal runtime
handoff kind. The mark is no longer Copy (it carries a String); callers
borrow or clone it.

Existing tests re-pinned to the lean surface and history delivery:
eager-set pins, the hooks category table, shell guidance phrases, the
representative runtime-context fixture (instructions and skills absent
from every system stage), the skill-discovery baseline (no discovery at
prompt assembly), repin, edit-last-turn, interactive counts, preflight
(+1 workspace-instructions record), SSE replay count, the scout surface
and the stopship workflow brief (grep_files eager), and the MCP
no-servers test (disabling MCP after a roster withdraws it once).

Verified on macOS, hermetic HOME (scripts/dev-test.sh engine):
- targeted lean batch incl. credential_rejection, an_answered_question,
  a_rewritten_session, edit_last_turn, preflight_guard,
  representative_runtime, sse_turn_recovery, fresh_forked,
  no_configured_mcp_servers, preview::: 237 passed, 2 failed before the
  preflight re-pin (host-only record) ; lazy_boot_* passes alone.
- full engine lib: 7095 passed, 13 failed (wait timeouts under a
  concurrent TUI build; re-run recorded on CW-7923), 13 ignored.
The earlier engine-full-c5 failures for edit_last_turn, fresh_forked and
preflight came from this Mac's real ~/.codewhale and ~/.agents/skills
leaking into a non-hermetic run, not from the product.
Not claimed: hosted CI verdict.
2026-11-09 03:30:04 -08:00
..