Development record
The transcript store refuses every history verb, reads included, when its records leaf is owned by another uid, and says so with write wording: Resolve's owner check (internal/core/history/location.go:223) reports 'not owned by this account; refusing to write transcripts into it' even for history list. The realistic hit is a root container over a bind-mounted checkout with the local store declared, where reads and hook capture both refuse. Precedent runs both ways: rules/root.go and fsutil.go refuse foreign-owned reads, home.go admits a root-owned home. Fix-later shape from the review: on a foreign owner, skip the narrowing with a Note on a read and refuse only a write.
The transcript store refuses every history verb, reads included, when its records leaf is owned by another uid, and says so with write wording: Resolve's owner check (internal/core/history/location.go:223) reports 'not owned by this account; refusing to write transcripts into it' even for history list. The realistic hit is a root container over a bind-mounted checkout with the local store declared, where reads and hook capture both refuse. Precedent runs both ways: rules/root.go and fsutil.go refuse foreign-owned reads, home.go admits a root-owned home. Fix-later shape from the review: on a foreign owner, skip the narrowing with a Note on a read and refuse only a write.
Remedy grounds (2026-09-29)
- Why: CB1's two shapes, each with its change; the wording fault is real under both, so (a) still carries a fix. The ruling is unanswered and none is picked.
- Sources (consulted 2026-09-29): git's safe.directory 'will refuse to even parse a Git config of a repository owned by someone else', reads included, and admits another owner only through an explicit declaration or the SUDO_UID case (https://raw.githubusercontent.com/git/git/master/Documentation/config/safe.adoc). That precedent supports (a) for data a later session reads back as context, and it is the evidence the ruling should weigh against (b)'s bind-mount convenience.
- Rejected: admitting a root-owned leaf silently, which would read records any process with root could have planted.
Grounds
- pursued: history list, show and capture over a foreign-owned records leaf each refuse with a message naming the owner and free of write wording (TestForeignOwnedRecordsLeafRefusalNamesTheOwner); a read verb that succeeded there, or any refusal mentioning a write, would show it wrong
Frontmatter
| id | iss-2609291731336469 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2609291731336469-the-transcript-store-refuses-every.md
open on GitHub ↗ · commit history ↗
mentions1
- dcn-26100200000000042026-10-02 — Ruling CB1 of the person as technical facilitator (2026-09-29, same interview and local-tier file as the DR3 entry above; recorded by lane rd2), verbatim: "transcript store owned by another uid: REFUSE EVERYTHING (reads included), as now; NOTE: the refusal wording should name the foreign owner, not use write wording." Built: every history verb, reads included, still refuses a records leaf another account owns, and the refusal names the owning uid (and the account name where it resolves) with no write wording on a read verb (`internal/core/history/location.go`; iss-2609291731336469, resolved by commit 3674db3a4).