Development record
An AI-written interview's role can redirect where the change guard reads git's own directory, and slow the reading after its turn: a commondir file written into a main checkout's .git (or a linked worktree's commondir or .git file rewritten) makes git resolve the common directory elsewhere, and the next reading then hashes that directory's hooks, info, configuration, refs, modules and worktrees whole, with no budget, before the change is reported. A probe on a scratch repository: .git/commondir naming a directory holding only objects/ and refs/ made git rev-parse --git-common-dir name it, and git status still ran. The guard fails closed (every key of the person's own git directory disappears from the reading, so the turn is stopped), but a refs file there of many GiB holds the turn for minutes first. The followed-link and hooks-directory budget (iss-2610050315146044) does not cover it: git's own directory is read as owned, and its legitimate size (loose refs) is not one the 1,024-entry budget can hold.
An AI-written interview's role can redirect where the change guard reads git's own directory, and slow the reading after its turn: a commondir file written into a main checkout's .git (or a linked worktree's commondir or .git file rewritten) makes git resolve the common directory elsewhere, and the next reading then hashes that directory's hooks, info, configuration, refs, modules and worktrees whole, with no budget, before the change is reported. A probe on a scratch repository: .git/commondir naming a directory holding only objects/ and refs/ made git rev-parse --git-common-dir name it, and git status still ran. The guard fails closed (every key of the person's own git directory disappears from the reading, so the turn is stopped), but a refs file there of many GiB holds the turn for minutes first. The followed-link and hooks-directory budget (iss-2610050315146044) does not cover it: git's own directory is read as owned, and its legitimate size (loose refs) is not one the 1,024-entry budget can hold.
Grounds
- pursued: a commondir or .git file a role rewrites during a turn is named promptly and never read through; a turn that held for git reading the redirected directory, or a redirect that reached the hashing, would show it wrong
Frontmatter
| id | iss-2610050348402910 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2610050348402910-an-ai-written-interview-s-role-can.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-2610050315146044An AI-written interview's role can slow the change guard by writing core.hooksPath into .git/config, naming a large directory outside the tree: the reading after the turn hashes every file there (toward the 500,000-path bound, with no byte bound) before it reports the configuration change. A probe with a 16 GiB sparse file held the reading about 7 seconds, growing with the size. The guard still fails closed (the change to .git/config and the planted directory are named), but a turn can take minutes first. The followed-link budget (iss-2610040847166532) does not cover it, because the hooks directory is resolved and read whole, not reached through a followed link.