A .agent-name declares cc=scrp-journal-digest-venus - the harness KEY says agent while the NAME says script; the file has two consumers with opposite subjects
FOUND 2026-09-18 by agent-attach.test.sh [9] on its first-ever completing run on venus (v1.7 made the suite runnable here). NOT A BUG IN THE RESOLVER and NOT URGENT - nothing attaches to this name and nothing is broken today. Filed because the fix is not obvious and the obvious fix is WRONG. THE FILE: /home/rob/.local/state/journal-digest/.agent-name contains exactly 'cc=scrp-journal-digest-venus'. THE CONFLICT. agent-conventions.md reserves the -cc/-ca suffix for real Claude Code / Codex agents and requires automation to identify as 'scrp-<script>-<host>', NEVER wearing a harness suffix - the stated purpose is that Elazar can tell at a glance whether a message came from a reasoning agent or from a cron job. This file honours that in the NAME and breaks it in the KEY: the cc= key is agent-attach.sh's harness selector (cc= -> cc-tmux.sh, ca= -> ca-tmux.sh), so the declaration reads as 'attach this with the Claude Code harness' for a thing that has no session at all. WHY IT IS NOT SIMPLY WRONG, and why deleting it would cause a regression: the file is LOAD-BEARING for KPI attribution, not for attaching. journal-digest.sh v1.5 ships it in the script's own STATE_DIR so the headless 'claude -p' Haiku run it launches resolves to a named owner instead of landing in the KPI report as '(unresolved)' - Elazar spotted that row himself (156,655 tokens / 2 turns, no owner). The anchor is keyed BY DIRECTORY. Putting it in $HOME was explicitly rejected at the time because that key also collects every ad-hoc session started from ~, and naming a multi-producer bucket after one producer is the fabricated-identity defect token-usage-collect v1.2 removed. So the declaration has to stay, in that directory, under some key. ONE FILENAME, TWO CONSUMERS, OPPOSITE SUBJECTS: agent-attach.sh reads .agent-name to answer 'which harness attaches this session', the KPI collector reads it to answer 'who owns the tokens spent in this directory'. The cc= key is meaningful to the first and irrelevant to the second, and only the first is misled. Same class as one env var read by two consumers with opposite subjects. WHAT IS NEEDED IS A RULING, NOT A PATCH - and it belongs to the scrp- grammar's owner (ratified by pm-llmmsgsrv-cc 2026-08-23), who is currently unregistered on the hub. Options, none of them free: (a) leave it, and let every reader of the convention meet a counter-example; (b) add a third key such as scrp= that the KPI collector accepts and agent-attach.sh ignores - correct, but touches two consumers on three hosts and needs both maintainers; (c) have agent-attach.sh refuse a scrp-* name explicitly with its own exit code instead of a generic not-found, which fixes the READER's confusion without touching the anchor. WORKAROUND IN PLACE, so nothing is blocked: agent-attach.test.sh v1.7 filters scrp-* names out of the [9] reachability assertion on the PREFIX (the convention's own marker, and the half this file gets right), counts them in their own bucket, and names them on both the pass and the fail line. The suite is green and the fact is visible. Do not 'fix' this by deleting the declaration.