Skip to content

Scribe's logging has never worked in a clean clone — .squad/log/ and .squad/orchestration-log/ are gitignored repo-wide #1823

Description

@bradygaster

Problem

.gitignore lines 13-18 ignore .squad/log/ and .squad/orchestration-log/ repo-wide, added in c36e8ecc on 2026-02-21. Scribe is instructed to write session logs to .squad/log/ and per-dispatch orchestration entries to .squad/orchestration-log/.

That workflow has never worked in a clean clone. Scribe writes the files, git ignores them, and they evaporate. The write succeeds, so nothing reports an error.

.squad/orchestration-log/dispatchguard/ was separately ignored on 2026-07-27 (c4cd76de), so DispatchGuard verdicts have no durable audit trail at all.

Why the 15 tracked files are misleading

dev currently tracks 15 files under these paths, which reads as evidence the rule is recent. It isn't — the ignore rule is older than every one of them (earliest add 2026-02-22, f4f86683). They were committed with git add -f against a standing rule. Adds continued as recently as 2026-08-02 (065d3021).

This was established by controlled three-repo check-ignore experiment during the #1817 investigation, and it corrected an earlier inference (mine) that the exclusion was a later behavior change.

Analysis (Booster)

The merge-conflict argument that justifies the decisions/inbox/ drop-box does not transfer to orchestration logs. Filenames are 2026-03-25T18-11-CAPCOM.md — timestamp + agent, write-once — so they are already collision-free by construction. That is precisely the property the inbox pattern was invented to give decisions.md, which is one shared file every session rewrites.

Volume is small: .squad/orchestration-log/ 11 files / 12,114 B (~1.1 KB each); .squad/log/ 4 files / 13,986 B (~3.5 KB each).

What is lost by keeping them ignored: orchestration logs are the only per-dispatch provenance record — which agent ran, under what charter, with what verdict. decisions.md records merged outcomes and has no entry for a dispatch that produced no decision — which is exactly the silent no-op case this repo has been chasing. Agent memory is unaffected (agents/*/history.md is not ignored).

The losing side, stated fairly: these are machine-written churn in a human review surface. Every squad PR would carry log files reviewers skip past, hundreds per year, whose only consumer is another agent.

Recommendation

Un-ignore .squad/orchestration-log/ only; keep .squad/log/ ignored.

Third option worth considering: route provenance to the state backend rather than git — durability without review churn. Legitimate and arguably better, but it needs its own readback or it just relocates the silent drop.

Either way, the verification is what clears the decisions.md:604 bar: a post-write git check-ignore or post-commit git cat-file -e compares the agent's intent against git's actual object store — two independent sources, a real gate. Storage choice alone is not.

Owners

Flight (decision), Scribe (affected workflow), EECOM if the state-backend route is chosen.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions