Development record
abcd keeps its own folders out of desktop indexing only by changing those folders, never the computer's search settings
Context
abcd's home under the person's home folder holds its stores (lane worktrees, run logs, transcripts, the lab, the sources library, and caches), which the desktop indexer scans as ordinary user files even though the dot-prefixed folder is already left out of search results. On 2026-10-02 eight new worktrees set off an indexing burst: the run log records the machine's load at 110 to 148 with no test running and names the indexer's processes (itd-2610030720038073). Keeping abcd's folders out of the indexer's work is wanted by default.
The computer's search settings, its search privacy list among them, are the person's: a setting there reaches every program on the computer, not only abcd, and abcd could write it programmatically only through a root-only path. The principle the-users-directory-is-theirs, whose ruling is adr-2609091248200336, governs where a tool creates files and directories; this rule extends the same stance from the person's folders to the person's settings.
Decision
abcd keeps a folder out of desktop indexing only by changing that folder itself, inside the space abcd already owns (a folder name the indexer honours: the .noindex suffix, which the intent's decision 2 chose for the home). It never edits the computer's search settings or privacy list, never asks for administrator rights to do so, and never touches a folder outside its own space. A person who wants a system-wide exclusion sets it themselves. Routed by the itd-84 decomposition; the product thinker confirmed the routing on 2026-10-03, as the decomposition-calibration research note records. It stayed proposed until the intent's dated receipt (criterion D6) was taken, and was accepted with it on 2026-10-04.
Alternatives Considered
- Change only abcd's own folders (chosen): needs no extra rights, is undone by renaming the folder back, and stays inside abcd's declared space.
- Add abcd's home to the system search privacy list: edits a setting that is the person's and reaches every program, which abcd could write only through a root-only path.
- Turn indexing off for the whole volume: far beyond what is needed, and the person's search stops working.
- Do nothing and document a manual step: leaves the load burst as the default, the outcome the intent exists to remove.
Consequences
The method is limited to a name the indexer honours per folder. No interface reports whether a folder is scanned, so whether an OS version honours the name is a dated receipt per version; a version that stops honouring it is a finding put to the person, never an escalation to system settings. The rule is brief invariant 21, landed with this record's acceptance.
Frontmatter
| id | adr-2610030720195401 |
|---|---|
| type | adr |
| status | accepted |
| date | 2026-10-03 |
.abcd/development/decisions/adrs/2610030720195401-abcd-keeps-its-own-folders-out-of.md
open on GitHub ↗ · commit history ↗
References2
- adr-2609091248200336A tool never creates directories in user-owned project space; the store's location binds now and its verbs bind when the store shipsrelated
- itd-2610030720038073abcd keeps its home folder out of desktop indexing by defaultrelated
Referenced by3
- adr-2610031751065746The worktree store lives under the renamed home, `~/.abcd.noindex/worktrees/<root-sha>/<name>/`, and the rest of its rule is unchangedrelated
- adr-2610031751066232The transcript store is spelled under the renamed home, `~/.abcd.noindex/transcripts/<root-sha>/`, and the rest of its decision is unchangedrelated
- adr-2610050711287503abcd reaches the harness's user settings only for the status line, with consentrelated
mentions5
- dcn-26100500000000012026-10-05 — Release v0.13.0 is cut by the coordinating session abcd-d7 while the product thinker is away, and the run's agenda line is: approve the publish step. Under the product thinker's rulings of 2026-10-04 (~10:05Z, verbatim: "Yes, that order", to cut v0.13.0 now with the home rename #815 inside it and rename the folder on their return; "Yes, approve it", for the coordinating session to approve the GitHub publish deployment itself once every check has passed, then verify the downloads and the site; ~13:35, leaving overnight: "keep going autonomously so we can have a new release tomorrow morning"), the session approves the `release` environment's deployment of v0.13.0 only after the merge queue, the verify job and every other gate on the tagged commit report green, and stops with a handover instead if any does not. The cut: v0.13.0, impact breaking (decided by itd-2610030720038073, the home folder renamed to `~/.abcd.noindex` with every abcd entry point stopping until the person renames it; itd-2610030814013772, AGENTS.md the one conventions file; and iss-2610020723185314, only a personal route hands a role to a command-line runner), 55 records since v0.12.0: five shipped intents (two breaking, three additive: itd-201, itd-2610030810350727, itd-2610030821294016) and 50 resolved issues (41 fixes, one additive, one breaking, seven internal and outside the changelog); the release guard and the findings guard passed. The noindex intent's scan receipt (D6) was taken on a `.noindex` probe folder before the rename, with consent, and adr-2610030720195401 accepted with brief invariant 21 (6538ab4a). Brief fidelity: three tier-full reviews and their holds brought 25 brief sentences current before the close (9d57917c, 9e6e0aa0), and the guide's own review found one false sentence, corrected to say the rename is done in a plain Terminal (cde071b9, 405cf34d). Content commit c6441dc0, on top of 3a092b89, which the cross-check's one fix-before-tag finding required; both semantic gates ran at tier full over the first roll 317cd0cc, which differs from the content commit only by that commit and the re-cut CHANGELOG. The docs-currency-reviewer (Fable 5.1) found 2: dc-1 accepted as written (while only `~/.abcd` stands the plugin root holds no binary, so the hook refuses the rename too and the pages describe what the person meets), dc-2 a nitpick deferred to the next release notes. The brief-surface cross-check (45 pinned checkers, Opus 5.5, at most eight alive) found 144 (31 major, 94 minor, 19 nitpick), 143 valid and one invalid (x-036) on an independent classification (Fable 5.1); of the three user-facing findings x-065 (`abcd build --help` said the sub-agent ceiling is not counted, where it binds through `implement step` since ruling DR6) is fixed in 3a092b89, and x-010 and x-042 are minor and deferred; the 140 design-record findings go to the systematic brief pass iss-2609091956001547. Deferred out loud, to be captured after the tag as two records: `launch ship` reads the records at HEAD, so a spec close left uncommitted was silently missing from the cut rather than refused (the close was committed as 44a73e6f before the ingest), and `docs fidelity --apply` flags the drafted replacement while the landed sentence was hand-tidied, so .abcd/work/brief-review-flags.json carries the drafted wording for 10-docs, 15-prepare-this-repo, 22-site, 23-reading and 27-implement. Reason for deferring: neither changes what v0.13.0 ships, and the person's ruling was a release by morning.
- iss-2610161831078335abcd land refuses when the checkout's local origin/HEAD is stale or missing and tells the person to run git fetch and git remote set-head themselves (land.go, the forge-default check), though abcd can settle the gap by asking origin which branch is its default. The product thinker has ruled twice against a refusal that hands a person a manual step abcd can resolve itself (adr-2609301720596683, adr-2610030720195401). The refusal for the branch being the default also appends a set-head hint that has nothing to do with that case. Found by a peer session and confirmed on main, 2026-10-16.
- iss-2610262033117994itd-117 puts the user-scope rules file at `~/.abcd/rules.json`; the ahoy chapter's user scope is `~/.abcd.noindex/`, and the file lives there
- itd-84An Intent Is Decomposed Before It Is Filed, And A Reversal Is Only Ever Flagged
- spc-2610031309233367abcd-keeps-its-home-folder-out-of-desktop-search-by-default