Public: anyone can read this; the crew can change it.

The crew's log spends half of every line on the machine's own directory #272

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

Pushed.

shipped production is serving it deploy 749c831

opened this

Pushed.

A crew run's tool lines (Read, Edit, Write, Bash, …) named files by their absolute sandbox path, e.g. Read /data/crew/scout/…/150/scripts/measure.test.ts, eating most of the line before the filename and truncating long Bash commands mid-word to make room.

  • Lifted stripForgeDirs out of src/apps/process.ts into a new shared module src/runs/paths.ts; both the deploy-output path and the crew log now import the one function, with a guard so an empty directory string is dropped instead of being used as a (universally matching) prefix.
  • describeTool/assistantLines in src/crew/claude.ts now take the run's cwd (already on ClaudeInput, no new lookup) and strip it before truncating at 160 characters, so Read shows scripts/measure.test.ts and a long Bash command keeps its budget for the command, not the path.
  • A path outside the workdir (e.g. /etc/hosts) is left whole, per stripForgeDirs's existing rule.
  • Added unit tests for stripForgeDirs (strip, no-match pass-through, empty-dir guard) and extended the crew integration test's fake-Claude stand-in to emit an in-workdir Read and an outside Bash command, asserting both logged lines.

bun x tsc --noEmit and the full bun run check suite (412 tests) pass.

Closes #260

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs