You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
journeymetrics: fold dispatched-ensign transcript into --read adoption (#448)
The --read adoption counters (status_read_calls/scoped_read_calls) parsed
only the FO front-door stream, but `status --read` adoption is principally
an ENSIGN behavior — the ensign runs as a separate sub-agent session whose
transcript lands on disk, never in the FO stream. So four real FO captures
all measured 0/0.
- FoldEnsignReadAdoption sums each ensign transcript's two adoption counters
onto the FO observation (parse-per-transcript-then-sum, so per-session tool
IDs never cross-count). turns/tokens/tool_calls keep FO-front-door semantics.
- commandInvokesStatusRead now normalizes the launcher token preceding
`status` (strip surrounding quotes, then accept a literal launcher name or
the SPACEDOCK_BIN variable family), so the dominant real forms
(spacedock_launcher, ./spacedock) and the contract-canonical quoted
"${SPACEDOCK_BIN:-spacedock}" all count. $SPACEDOCK stays unrecognized.
- The live harness globs the ensign subagents/agent-*.jsonl under the FO
session's subagents dir and folds them in emitClaudeScenarioMetrics.
Re-parsing the spike's real ensign transcript now yields status_read_calls=2
(was 0) and scoped_read_calls=6.
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
{"type":"assistant","message":{"id":"msg_fo1","model":"claude-sonnet-4-6","usage":{"input_tokens":100},"content":[{"type":"tool_use","id":"toolu_fo_status","name":"Bash","input":{"command":"spacedock status --json"}}]}}
// A dispatched-ensign sub-agent transcript carrying one recognized-form
98
+
// `spacedock_launcher status --read` Bash call + one scoped Read. The on-disk
99
+
// agent-*.jsonl shape carries extra top-level fields (parentUuid, agentId, …)
100
+
// the map[string]json.RawMessage decode ignores.
101
+
ensignTranscript:=`{"parentUuid":"p","agentId":"a1","type":"assistant","message":{"id":"msg_en1","model":"claude-sonnet-4-6","usage":{"input_tokens":80},"content":[{"type":"tool_use","id":"toolu_en_status","name":"Bash","input":{"command":"spacedock_launcher status --read /path/entity.md --json"}}]}}
// Zero case: an ensign transcript carrying NEITHER a status --read (a plain
123
+
// `spacedock status`) NOR a scoped Read (a whole-file Read) folds to exactly the
124
+
// FO-only baseline.
125
+
noAdoption:=`{"type":"assistant","message":{"id":"msg_en3","model":"claude-sonnet-4-6","usage":{"input_tokens":70},"content":[{"type":"tool_use","id":"toolu_en_plain","name":"Bash","input":{"command":"spacedock status --json"}}]}}
0 commit comments