Discuss sessions with no persistence lost all confirmed work on crash.
Now both milestone and slice discuss prompts instruct agents to
silently save CONTEXT-DRAFT every 2 question rounds via
gsd_summary_save. The final context file overwrites the draft.
Closes#2152
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The test regex used unescaped (?:...) groups which were interpreted as
regex syntax instead of matching the literal source text. Escape parens
to match the actual regex pattern in the source code.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The test used indexOf which found "gsd_complete_milestone" in the
"Do NOT call" warning (line 34) before the actual step 10 definition
(line 43). Use regex to match numbered step patterns instead.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The fix adds a notesVisible guard that prevents re-opening notes when
they are already visible, even if empty. Update the test to expect
empty notes and direct advancement instead of re-opening.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The fix marks note captures as executed and adds them to the actions
list. Update the mixed classifications test to expect 3 actions instead
of 2, since notes are no longer excluded.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The fix reconciles plan-file tasks into the DB when the planner skips
persistence, so the phase correctly advances to executing instead of
remaining stuck in planning. Update the known-issue test to expect the
fixed behavior.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The fix changed checkFilePathConsistency to only check task.inputs, not
task.files, since files includes paths the task will create. Update tests
to use inputs instead of files for consistency checks.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Structural verification that .bg-shell/ is included in the
BASELINE_PATTERNS array in gitignore.ts.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Structural verification that selectConfirm handler and onSetupAuth
callback exist in provider-manager.ts (#3579).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Structural verification that MAX_UAT_ATTEMPTS constant exists and
incrementUatCount is called before dispatch (#3624).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Structural verification that createRequire import and _require.resolve
usage exist in mcp-server.ts (#3603).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Structural verification that classification === "note" filter and
markCaptureExecuted call exist in executeTriageResolutions (#3578).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Long messages now word-wrap onto continuation lines aligned with the
message start instead of being truncated with ellipsis. Overlay box
sizes to content height instead of padding to fill the viewport.
migrateHierarchyToDb imported milestones with all-done roadmap slices
as "active" when SUMMARY.md was missing. This let plan-milestone
overwrite already-completed work.
Now checks parsed roadmap slices — if all are done, imports as
"complete" even without SUMMARY.md.
Closes#3390Closes#3379
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The completing-milestone dispatch guard blocked completion when
operational verification was planned but the validation was
intentionally skipped by a budget profile preference. The guard
now detects skip-by-preference markers in the validation content
and allows completion to proceed.
Closes#3399Closes#3344
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
All slices got sequence=0 because the three code paths that insert
slices never set the sequence column. This made positional ordering
degenerate to alphabetical-by-ID, causing deadlocks when dependency-
free slices were ordered after blocked ones.
Now passes sequence at:
- plan-milestone: array index from agent-ordered params.slices
- reassess-roadmap: existingCount + index for newly added slices
- md-importer: parse order from roadmap content
Closes#3356
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1. complete-milestone: move gsd_requirement_update before
gsd_complete_milestone so agents don't exit before updating
requirement status (#3155)
2. complete-slice: use gsd_requirement_update instead of
gsd_save_decision for requirement status transitions (#3154)
3. uncaughtException handler: log instead of re-throwing to prevent
fatal double-fault that kills the session (#3163)
4. session_before_compact: only cancel during active auto-mode, not
when paused — allows compaction during interactive work (#3165)
Closes#3155Closes#3154Closes#3163Closes#3165
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>