Skip to content

v0.3.71 — assess-refactor input marker, cut-guard tolerance, route-contract escalation

Choose a tag to compare

@kevin-hartman kevin-hartman released this 05 Sep 17:24
· 342 commits to main since this release

From live-run findings across several projects:

  • navigator-assess-refactor declared its input as story:refactor-verify-failure.json,
    but refactorStory writes refactor-verify-assess.json , so the assess turn aborted
    its input contract BEFORE spawning (silent under --detach). Correct the manifest to
    the real marker (matching the assess-deploy analog) + add a recurrence test that ties
    the manifest source to the writer so the basename/scope can't drift again.

  • cutExperiment's pre-fork dirty guard tolerated only .consort/, so a dirty TRACKED
    runtime-artifact ref (.lakebase/scm-utils-ref / kit-ref, re-pinned mid-run) blocked
    the experiment cut. Broaden it to the runtime-artifact set (.consort/.sftdd/.tdd +
    .lakebase/ + .claude/agent-memory/, from ALL_ARTIFACT_ROOTS), matching the fork
    guard's RUNTIME_ARTIFACT_IGNORE; a tracked SOURCE edit still blocks.

  • A pre-dispatch RouteContractError (assertRouteSatisfiable) fell to the bare ABORTED
    path (return 1, no escalation), so a --detach run died to a truncated log with no
    awaiting_human. Add a typed branch that records a resumable escalation + classified
    halt line (return 3), mirroring ProtocolViolationError.

  • Remove two dead imports in claude-runner.ts (writeRunConfig + the kit-ref pin trio,
    live at bin/consort/drive.cli.ts, unused here).

Repoint scm-utils v0.2.27 -> v0.2.28 (scaffold run-tests.sh root self-heal + run-dev.sh
seed PYTHONPATH). Bump v0.3.70 -> v0.3.71.