Skip to content

fix: bug batch — 13 deferred maintenance-council issues - #309

Merged
lukas-grigis merged 15 commits into
mainfrom
fix/bug-batch-2026-08-18
Aug 18, 2026
Merged

fix: bug batch — 13 deferred maintenance-council issues#309
lukas-grigis merged 15 commits into
mainfrom
fix/bug-batch-2026-08-18

Conversation

@lukas-grigis

Copy link
Copy Markdown
Owner

Fixes all 13 bug-labeled issues deferred from the 2026-08-18 maintenance council, one commit per issue.

Fixes

Verification

pnpm typecheck clean · pnpm lint clean (--max-warnings 0) · pnpm test 615 files / 6024 tests passed · prettier + knip clean.

https://claude.ai/code/session_01PHikH4LdejozJdjzTzhPes

- ## lines inside fenced evidence no longer end the Dimensions section
- mirrors the inFence toggle splitDimensionBlocks already had

Fixes #294

Claude-Session: https://claude.ai/code/session_01PHikH4LdejozJdjzTzhPes
- pid+timestamp collides for same-millisecond writers in one process; add monotonic counter
- regression test races short/long bodies and asserts no spliced result

Fixes #302

Claude-Session: https://claude.ai/code/session_01PHikH4LdejozJdjzTzhPes
- strip \r centrally in createCappedLineFeed (feed + flush)
- drop endsWith('}') pre-filter; JSON.parse is the authoritative rejection
- regression tests: CRLF streams keep sessionId, body, usage

Fixes #290

Claude-Session: https://claude.ai/code/session_01PHikH4LdejozJdjzTzhPes
- continued path derives applied from commitRound outcome (was hardcoded true)
- clean-tree and commit-error rounds no longer bump roundsApplied
- e2e review test now uses a dirty-tree runner where it asserts the applied event

Fixes #295

Claude-Session: https://claude.ai/code/session_01PHikH4LdejozJdjzTzhPes
- >=32KiB argv no longer misreported as Windows overflow on macOS/Linux
- ENOENT/EACCES with a big argv stays a retryable ProcessCrashError with PATH hint
- errno arms (ENAMETOOLONG/E2BIG) unconditional; platform injectable for tests

Fixes #299

Claude-Session: https://claude.ai/code/session_01PHikH4LdejozJdjzTzhPes
- section-title margins become explicit blank HelpRows (1 row per HelpRow invariant)
- CHROME_ROWS derived from tokens (was magic 6, undercounted paddingY)
- footer line counter and maxOffset now agree with what is visible

Fixes #296

Claude-Session: https://claude.ai/code/session_01PHikH4LdejozJdjzTzhPes
- hint renders only on the attempt latestRecordedEvaluation resolves to
- per-attempt evaluation status/file text unchanged
- covers the crashed-final-attempt fallback case

Fixes #291

Claude-Session: https://claude.ai/code/session_01PHikH4LdejozJdjzTzhPes
- ModelProbeDegradationSink in _engine; opencode probe reports probe-failed/aborted/empty-answer
- wire() binds the sink to logger.warn; probe registry is per-wire now
- PROBE_TIMEOUT_MS 5s -> 15s
- picker-level degraded hint deferred (would ripple through port + picker chain)

Fixes #300

Claude-Session: https://claude.ai/code/session_01PHikH4LdejozJdjzTzhPes
- sprint-scoped + draft allow-list (mirrors every other add-ticket entry point)
- viewRouteFor routes to the add-ticket view like Home/sprint-detail do
- registry-reachability fence: every manifest id must be visible+routable or dispatchable

Fixes #298

Claude-Session: https://claude.ai/code/session_01PHikH4LdejozJdjzTzhPes
- ledgerMutex: FoldQueue on ImplementDeps, built once per run like journalMutex
- append-learnings leaf runs the whole appendMemoryRecords inside the mutex
- race test proves the unserialised clobber and pins the guarded path
- serializeAppendFile kept for progress.md separator appends

Fixes #288

Claude-Session: https://claude.ai/code/session_01PHikH4LdejozJdjzTzhPes
- suppressScrollArrows on ExecuteView's ViewShell (matches other cursor-owning views)
- ScrollRegion ignores display:none zero-measurements, preserving offset across overlays
- settled result card capped (error summary 3 lines, next-steps/forensics sliced)
- g/G kept: overlay collision verified a no-op

Fixes #292

Claude-Session: https://claude.ai/code/session_01PHikH4LdejozJdjzTzhPes
- self-blocked: new AbortCause member, stamped on the block settle path
- watchdog kill flagged at the shared onIdle site, rides ProcessCrashError to the settle
- signalOrExitCode populated from crash state
- rate-limit-exhausted/user-cancel left unwired: fatal chain errors tear down before
  any settle runs; needs the deferred above-chain settle seam

Fixes #289

Claude-Session: https://claude.ai/code/session_01PHikH4LdejozJdjzTzhPes
@lukas-grigis
lukas-grigis merged commit 3bc3f5c into main Aug 18, 2026
3 checks passed
@lukas-grigis
lukas-grigis deleted the fix/bug-batch-2026-08-18 branch August 18, 2026 17:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant