Ξ-W2-T1: the resample bake chain — instrument renders, extension banks, one click re-points and resets

This commit is contained in:
2026-08-01 16:26:28 -04:00
parent 6c982cd617
commit 60308a3655
52 changed files with 2212 additions and 55 deletions
+4 -1
View File
@@ -72,7 +72,10 @@ birth record is written for every system-created file, ambiguous parentage or no
- `tracking_authority` — the one decision surface: `pruneProtection` (the `owned` and
held-path inputs prune's set algebra consumes, plus the blocked/blockers verdict)
and `tiedUsageExists` (`Yes` / `No` / `Indeterminate`, per capture, excluding the
asker's own usage key). Both read one borrowed `TrackingState`.
asker's own usage key). Both read one borrowed `TrackingState`. `resampleLanding` is
the resample's branch off that answer: `Replace` only on a definite `No`, since
`AddDistinct` disturbs no existing holder and is therefore the non-destructive side of
this question — `Indeterminate` lands with `Yes`.
## Gotchas
+4
View File
@@ -42,4 +42,8 @@ Answer tiedUsageExists(const TrackingState& state, const std::string& capturePat
return Answer::No;
}
Landing resampleLanding(Answer answer) {
return answer == Answer::No ? Landing::Replace : Landing::AddDistinct;
}
} // namespace reasampler::tracking
+9
View File
@@ -62,4 +62,13 @@ enum class Answer { No, Yes, Indeterminate };
Answer tiedUsageExists(const TrackingState& state, const std::string& capturePath,
const std::string& ownUsageKey);
// What a resample does with its result: take over the source's bank entry, or land beside
// it as a new one.
enum class Landing { Replace, AddDistinct };
// Replace only on a definite No. `Indeterminate` takes the same branch as `Yes` because
// AddDistinct disturbs no existing holder — it is the non-destructive side of this
// question, which is the rule the whole directory is written to.
Landing resampleLanding(Answer answer);
} // namespace reasampler::tracking