The fix skips the current milestone in syncWorktreeStateBack to prevent
merge conflicts. Update tests to use a different milestone ID for the
milestoneId parameter vs the milestone being synced, matching the new
skip-current-milestone behavior.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Change logWarning component from "autoStart" (not in LogComponent union)
to "bootstrap" to fix TypeScript compilation error.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The fix auto-remediates stale slice DB status via updateSliceStatus()
instead of reporting it as a rogue artifact. Update the test to expect
0 rogues since the stale status is now silently fixed.
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>
The fix changed isGhostMilestone to treat queued+no-files as a ghost.
The test was asserting queued+DB-row = not ghost, but without content
files it is now correctly identified as a ghost. Add a CONTEXT file to
make it a legitimate queued milestone.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The fix intentionally changed needs-remediation to route back to
validating-milestone instead of completing-milestone. Update the test
assertion to match the new expected behavior.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Closed slices (complete/done/skipped) are now excluded from
findMissingSummaries per #3620. Update the test to use pending
status so the missing-SUMMARY block still fires.
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>
Structural verification that process.cwd() is wrapped in try/catch (#3598)
and nativeBranchExists validates prefs.main_branch (#3589).
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>