fix(hooks): a gitignored bake is not the repository's own content #1063
No reviewers
Labels
No labels
burndown-2026-06
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agentic-os!1063
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/wy58-build-output-not-content"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The upstream half of coilyco-gaming/sirens-echo#800. The consumer-side unblock is coilyco-gaming/sirens-echo#805.
The problem
Tree-walking hooks run
always_run: truewithpass_filenames: falseand do their own walks, so pre-commit's file list and itsexclude:directive are both bypassed. Afterward exec compose-bundles, sirens-echo's gate reported 75 documentation-layout violations and 8 dead links on an otherwise cleanmain, every one inside the gitignoredagent/bundles/bake of upstream agent-compose skills that repository does not own.The fix
agentic_os.config.is_build_outputasks git instead of guessing:Tracked plus untracked-but-not-ignored is git's own definition of what a repository holds, so this needs no pattern list and no per-repo opt-out.
documentation-layout(and itscatalog-doc-sizealias) anddead-cross-linksconsult it.Three properties are deliberate, each with a test:
docs/flatness.Verification
Against the real failure, not a fixture. sirens-echo with bundles baked on disk:
Control, same tree, same run: a non-ignored
agent/notignored/SKILL.mdbeside the bake still fails both hooks. So the hooks did not simply stop looking.Suite: 532 pytest passing (7 new in
tests/test_build_output.py, four of them controls proving the hooks still fail on tracked content), pluspre-commit run --all-filesgreen.Scope
Two hooks, the two that fired. Eleven other tree-walkers are left to #1062 rather than converted blind: each carries its own walk, and
check_agent_compose_size/check_agent_compose_dedupexist to measure composed sources, so whether a bake is in scope for them is a real question rather than a mechanical edit. That issue also notes the thirteen drifted copies ofSKIP_DIR_NAMESa shared walker would collapse.Not done
No FEATURES.md entry - this is validation hardening on shipped hooks, not a new or reshaped capability.
Reasoning and the fail-open contract:
docs/build-output-is-not-content.md.🤖 Generated with Claude Code