feat(board): nested repos enter on a STATE.md, and the scan reports its nevner
Order 20260903T190201Z-238406410-from-.claude (.claude, operator decision 2026-09-03). A git repo nested under a depth-1 REPO was invisible: discovery adds a depth-1 repo and stops, and the else-branch container scan - the only place children are ever looked at - is unreachable for an entry that is itself a repo. Measured before writing anything: 12 nested repos across the real tree, exactly 1 with a STATE.md (from-ai-to-chitta/content-sadhguru), which had been running work and reporting to nobody. Admission is criterion (a) and nothing wider. add_nested_repos() sits beside add_dot_repos(), never a widening of the `*` loops - the same argument ordre 20260818T124828Z made for dot repos, and the order made it again before this repo wrote a line: routing a depth-1 repo into the container branch would admit every vendored clone under claude-code-100x/. One level only; depth 3 is pinned as NOT admitted. A dot-prefixed depth-1 repo gets the same nested scan, since nothing in the criterion distinguishes it. A nested repo now carries TWO names. The board KEY is <parent>/<child> as the order specifies. The MAILBOX name is not that key: a mailbox is addressed by basename(git toplevel), so $COORD/<parent>/<child>/inbox finds no directory and INN/ORDRE/FLY would print 0 for a repo that may have mail - a failed measurement wearing the reassuring value, in three columns at once. The record loop carries `mbox` beside `name`; --voyage's order lookup takes basename($vy_dir) for the same reason. Which dirs are nested is RECORDED by discovery (NESTED_LIST), not re-derived from "is my parent a repo?", which would prefix every depth-1 repo if a scan root were ever a checkout. The denominator line is independent of all of that and went in regardless: "undersoekt: N katalog(er) depth 1, M polyrepo-container(e), K nestede repo (J med STATE.md tatt med)". The header count answers how many were found and nothing about how many were looked at, so a criterion excluding 11 of 12 was invisible at the surface built to show it. Real tree 2026-09-04: 43 / 5 / 12 (1 tatt med). A non-repo dot-dir counts in N and never in M - it is a denominator, not a partition. Its wording broke an existing check: "polyrepo container itself is not listed as a repo" grepped the whole output for `polyrepo` and matched the footer's own `polyrepo-container(e)` - the same class as a grep reading a comment that EXPLAINS a pattern as an instance of it. Now anchored at column 1, which is what it always meant. Verified with board.sh, not from memory: from-ai-to-chitta/content-sadhguru in-progress, Sonnet 5/high, and --plan gives it a real tab with paste=. Mutation-verified: reverting the eight $COORD/$mbox reads turns exactly the three mailbox checks red with the rest of the section green. Bounded gaps, stated rather than closed: the mailbox-keyed JOINS ($OWED, brief_orphans, --inbox-plan) still key on the board name - neither created nor worsened here, since the repo was previously absent from RECORDS entirely; a 34-char key overflows the table's %-32s REPO column (same class as Fable 5.1/xhigh in KOST, and widening moves three cut -c89- helpers); a dot-prefixed NESTED repo is not looked for. board-selftest 368 -> 393. Suites: coord 257, board 393, route 73, orders 116, guard 54 = 893. npm test 11/11. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
2f8ceb3f97
commit
cde185979c
10 changed files with 428 additions and 23 deletions
|
|
@ -23,7 +23,7 @@ description: >-
|
|||
user names no repo and no tool — choosing *between* repos is this skill. Not for
|
||||
"where were we" inside the current repo: that is this repo's own STATE.md,
|
||||
already injected at session start.
|
||||
version: "0.33.0"
|
||||
version: "0.33.1"
|
||||
---
|
||||
|
||||
# board — which repo deserves the next session
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue