Development record
The drain rule's decision store is followed through a symlink that resolves inside the checkout, while a record that is a symlink is refused wherever it points. drainrule.Load reads .abcd/development/decisions/adrs through os.Root, which follows a link staying inside the root, so a linked store (or a linked directory above it) loads a rule from a path the checkout does not commit as the store; a store linked out of the checkout was refused only by os.Root's escape check. Named as INFO by reverify-drainOwnRule on b93f4cdd3.
issueresolvedminoriss-2609300841466575
The drain rule's decision store is followed through a symlink that resolves inside the checkout, while a record that is a symlink is refused wherever it points. drainrule.Load reads .abcd/development/decisions/adrs through os.Root, which follows a link staying inside the root, so a linked store (or a linked directory above it) loads a rule from a path the checkout does not commit as the store; a store linked out of the checkout was refused only by os.Root's escape check. Named as INFO by reverify-drainOwnRule on b93f4cdd3.
Grounds
- pursued: a store linked inside the checkout, out of it, or below a linked parent refuses with ErrUnreadable (TestASymlinkedStoreIsRefusedWhereverItPoints, TestEveryRefusalOfTheRuleExitsTwo); a rule loading through any linked store would show it wrong
Frontmatter
| id | iss-2609300841466575 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2609300841466575-the-drain-rule-s-decision-store-is.md
open on GitHub ↗ · commit history ↗