From 775d8bcf39046651589f19e8047fc2db6484d6b9 Mon Sep 17 00:00:00 2001 From: Eureka Date: Sun, 1 Nov 2026 01:54:41 +0100 Subject: [PATCH] campaign-state: the repo set in force is the target's repos, else the campaign's Campaign row names the opening set; target row gains repos; cut_spec row gains reads. Bounds name target repos (16) and campaign repos (8). The cut-spec repo rule becomes the repo-set-in-force rule with how Self adds or removes a repo, and a Repos in force recipe is added. Co-Authored-By: Claude Sonnet 5.5 --- references/campaign-state.md | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/references/campaign-state.md b/references/campaign-state.md index 03b2bc1..978d99e 100644 --- a/references/campaign-state.md +++ b/references/campaign-state.md @@ -78,11 +78,11 @@ mismatch. The root is the campaign slug, or the instance for `instance`, |---|---|---|---|---| | `instance` | `self` | exists (`eureka:instance:self`) | instance, display name, host | | | `stewardship` | `.n` | Self | instance, repo, sequence, note | | -| `campaign` | `self` | Self | title, repos, working branch, target doc | | -| `target` | `r` | Self | invariants (`label`, `statement`), not in scope, canonical implementations, doc | | +| `campaign` | `self` | Self | title, repos (the opening set), working branch, target doc | | +| `target` | `r` | Self | invariants (`label`, `statement`), not in scope, canonical implementations, doc, repos (the whole set from this revision on; empty keeps the previous) | | | `question` | `