the directory is called data

it was `classification/`, and a commander produced `transcripts/` anyway —
which is the same mistake one level up: a name taken from what this
particular commander happens to make.

`data/` describes the ROLE the directory plays, and that is identical for
every commander there will ever be. classification is a STEP, not a place:
when it runs, it moves items into subdirectories of `data/`. the place is
always `data/`.

so a commander that does not classify has a flat `data/` and that is the
whole story. one that does has `data/<category>/` and `data/unclassified/`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Officer-Session: 656f5c85-e49a-4f1f-b9f3-042a04b4d043
This commit is contained in:
2026-08-25 05:44:54 +00:00
co-authored by Claude Opus 5
parent 0fe02c84af
commit d4b26be706
+15 -11
View File
@@ -204,9 +204,10 @@ export function commanderClaudeMd(params: CommanderClaudeMdParams): string {
'- **Action** — the work done to ONE item because the trigger fired. It produces something. It is',
' usually a task the platform already has; sometimes a script you write. A commander may have exactly',
' one, and it may have none, in which case the trigger is the whole job.',
'- **Classification** — deciding which category a produced item belongs to. It changes where the item',
' IS, never what it is. Optional, and most commanders do not need it: it earns its place only when',
' there are enough items that finding one matters.',
'- **Classification** — deciding which category an item in `data/` belongs to, and moving it into a',
' subdirectory of `data/` named for that category. It changes where the item IS, never what it is.',
' Optional, and most commanders do not need it: it earns its place only when there are enough items',
' that finding one matters. It is a STEP, not a place — the place is always `data/`.',
'- **Dispatch** — doing something with a result beyond keeping it. Telling the owner, handing it to',
' another agent, sending it somewhere. Optional, off until the owner arms it, and the only one of the',
' four that acts outside this directory.',
@@ -256,7 +257,7 @@ export function commanderClaudeMd(params: CommanderClaudeMdParams): string {
'those live here, in your own directory. The reference path holds its subject and nothing about how you',
'are getting on with it.',
'',
'Everything an action produces goes in THIS directory, under `classification/`. Never into the path you',
'Everything an action produces goes in THIS directory, under `data/`. Never into the path you',
'watch — that holds its subject, not your work. Getting the result there is your problem to solve with',
'whatever ran the action; where it ends up is not negotiable.',
'',
@@ -280,19 +281,22 @@ export function commanderClaudeMd(params: CommanderClaudeMdParams): string {
'something broken.',
'',
'```',
'data/ everything this commander has produced. ALWAYS called data.',
' <category>/ only if it classifies — one directory per category, as they are agreed',
' unclassified/ only if it classifies — produced and recorded, placement still open',
'state/ the loop pid and spawned session ids. The platform reads these. Always.',
'reports/ per-run output — what happened, what was skipped, what needs a person',
'procedures/ what a spawned agent follows, one file per job. Only if you spawn one.',
'classification/ only if this commander classifies:',
' <category>/ one directory per category, named as they are agreed',
' unclassified/ handled and recorded, placement still open',
'```',
'',
'When there IS classification, `classification/` is named for the SHAPE, not the payload. Whatever this',
'commander produces, it is items being filed — so naming the directory after one job bakes that job',
'into the layout, and the layout has to outlive it.',
'`data/` is called `data`. Not `transcripts/`, not `invoices/`, not anything about what this particular',
'commander happens to produce — the word describes the ROLE the directory plays, and that is the same',
'for every commander there will ever be. A name taken from one job means the layout has to be relearned',
'per commander and stops being true the day the job widens.',
'',
"**A file's directory is its state.** In a category, it is filed. In `unclassified/`, it is finished",
"**A file's directory is its state.** Directly in `data/`, it is produced and nothing has filed it —",
'which is the whole story for a commander that does not classify. In a category, it is filed. In',
'`unclassified/`, it is finished',
'work waiting on a person — not a failure, and nothing should re-run the action on it. The ledger says',
'whether an item was handled; the directory says where it belongs. They answer different questions and',
'you need both.',