Development record
2026-10-17 — The generated-file reader's own choices (facilitator-on-delegation, drain-many-accounts step 11, builder): a file counts as generated only when origin's default branch holds it as a blob, which is how a directory is never generated; .gitattributes is located with ls-tree -l, so absence, its type and its size are read before its blob; matching is case-sensitive whatever core.ignorecase says; a line git ignores (a negated pattern, an invalid or reserved attribute name) is ignored, and a line git reads but abcd does not understand voids every line before it when it could unset the attribute; a macro naming linguist-generated decides not generated; the reader stays inside the claim package, and the drain's conflict check reaches it through the reservation view, which carries the set as Generated with its Is method (grounds: git 2.52 check-attr agrees on every supported row of the differential test; iss-2610152125101468).
2026-10-17 — The generated-file reader's own choices (facilitator-on-delegation, drain-many-accounts step 11, builder): a file counts as generated only when origin's default branch holds it as a blob, which is how a directory is never generated; .gitattributes is located with ls-tree -l, so absence, its type and its size are read before its blob; matching is case-sensitive whatever core.ignorecase says; a line git ignores (a negated pattern, an invalid or reserved attribute name) is ignored, and a line git reads but abcd does not understand voids every line before it when it could unset the attribute; a macro naming linguist-generated decides not generated; the reader stays inside the claim package, and the drain's conflict check reaches it through the reservation view, which carries the set as Generated with its Is method (grounds: git 2.52 check-attr agrees on every supported row of the differential test; iss-2610152125101468).
Frontmatter
| id | dcn-2610170652497734 |
|---|---|
| type | decision |
| date | 2026-10-17 |
.abcd/work/decisions/dcn-2610170652497734-the-generated-file-reader-s-own-choices.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-2610152125101468A reservation footprint can hold a whole directory (docs, hooks, internal/surface/cli), and the overlap check then refuses every other reservation naming any file inside it. Generated files that every verb-adding branch regenerates, such as docs/reference/cli/commands.md, sit inside such directories, so two unrelated intents held by the same person from two copies could not both declare an honest footprint: on 2026-10-15 the messaging reservation's renewal was refused twice and had to leave out .githooks/pre-push, the ruleset mirror and the generated CLI reference, which it does change.