Skip to content

#137 docs: the boundaries doc is the cohort charter's Replicator annex; Archiver produces content.fetch-policy after F1 - #143

Merged
gregoryfoster merged 9 commits into
mainfrom
137-boundaries-charter-parent
Oct 19, 2026
Merged

gregoryfoster merged 9 commits into
mainfrom
137-boundaries-charter-parent

Conversation

@gregoryfoster

Copy link
Copy Markdown
Contributor

Refs #137 (epic #135, its last child). Docs and ledgers only, no runtime code.

Boundaries doc → the cohort charter's Replicator annex

  • Header. docs/contracts/replicator-boundaries.md is normative as the Replicator annex to CannObserv/cannobserv docs/BOUNDARIES.md, linked by its repo-qualified URL.
    • Cohort-wide rules live and change in the charter.
    • The three tests and the tests/test_boundaries.py invariants stay this doc's own.
  • Producer, phase-aware. Watcher, from its Domain table, until F1 (F1: stop the content.fetch-policy producer watcher#374); Archiver after it.
    • The payload is unchanged apart from the optional generation (cannobserv#566).
    • Replicator applies it through fetch_policy_supersedes. The rule is linked to POLITENESS.md's Applying a policy and src/worker/policy.py, not restated.
  • Smaller edits. The worked example's "Domain table today" and the LWW line follow the same phase-aware wording. Refs gain the charter, Apply FetchPolicyState.generation only if newer #136 and watcher#374.
  • The SocratiCode manifest's boundaries-charter description says the same, so codebase_update runs after the merge.
  • Size: 9167 → 9726 of 10000 tokens, exact.

Context curation (curating-context, exact counts)

File Before After Budget
AGENTS.md 5991 5991 6000
  • A new Detail Docs line, - [cohort charter](<URL>) — its parent, nested under the boundaries line. The charter asks each sibling to link it from AGENTS.md.
    • Extending the boundaries line in place is refused by prove-no-loss.sh's index check, which counts only docs inside this repo.
  • Paid for by twelve class-C tightenings in place, no relocations, no deletions. --claims passes with no atom dropped.
    • Ten have new tighten warrants in .skills/context-loss-ok.
    • Two (the Project Layout comma and the Conventions STYLE.md line) are covered by older, unscoped entries whose text is a substring of those lines. prove-no-loss.sh calls a fresh entry for them redundant.
    • The sections:
      • Code Exploration Notes
      • Project Layout
      • Server Lifecycle (two lines)
      • Environment Variables
      • Bus Conventions
      • Common Commands (three comments)
      • Conventions (two lines)
      • Detail Docs (the STREAMS.md line)
  • Two tightenings judged by meaning rather than wording:
    • "Consumers must be idempotent" is the first Bus Conventions bullet's "At-least-once ⇒ idempotent".
    • "the dev-server invocation" is Common Commands' uvicorn line, which stays inline.
  • One context-counts-ok entry is retargeted to its tightened line.
  • Gates: no-loss lost 0, 12 warranted. Seams 0 (39 acknowledged). Counts 0 (4 acknowledged). No dead links, dead anchors, orphans or unindexed docs.
  • Telemetry: baseline row at e924f97, curation row at 19955ac.

CR

Item Action Result
1 Fixed 82b0d98: curation-row tags moved into telemetry's vocabulary (relink:, prune:)
2 Fixed 37f693e: the charter line is nested, so "its parent" has one referent
3 Stet 4b4dc48's message says 9733, but the doc landed at 9726 because a reflow went into the same commit
4 Stet The boundaries doc is NEAR budget; noted on #137 for the post-F1 cleanup
5 Fixed c0e781c: round 1's STREAMS.md tighten said "Bus Conventions in full", which is false. It now carries STREAMS.md's own claim
6 Fixed 19955ac: the #137 warrant block states the final count

Verification

Post-merge

On co-replicator:

  • Fast-forward the main checkout.
  • No uv sync and no restart.
  • codebase_update from the main checkout.
  • Remove the worktree.

🤖 Generated with Claude Code

gregoryfoster and others added 9 commits October 18, 2026 20:53
…x; producer is phase-aware

The header names CannObserv/cannobserv docs/BOUNDARIES.md as the parent:
cohort-wide rules live and change there, the three tests and the
test_boundaries.py invariants stay this file's own. The producer paragraph
says Watcher until F1 (watcher#374), Archiver after it, with the payload
unchanged but for the optional generation (cannobserv#566); Replicator applies
it through fetch_policy_supersedes, and the rule is linked to POLITENESS.md and
src/worker/policy.py rather than restated. The worked example's "Domain table
today" and the LWW line follow; the manifest description says the same.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The worked example and the #136 ref repeated full URLs the Producer paragraph
already carries (9793 -> 9733 tokens of 10000).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ightenings (5991 -> 5991)

cannobserv's docs/BOUNDARIES.md asks each sibling to link it from its own
AGENTS.md. A new Detail Docs line under replicator-boundaries.md links it by
URL; the URL costs ~16 tokens against 9 of headroom. Extending the boundaries
line in place instead is refused by prove-no-loss's `index` check, which counts
only docs in this repo.

Paid for by class-C tightenings in place, each warranted in
.skills/context-loss-ok, --claims passing with no atom dropped:
- Code Exploration Notes: "is also not evidence" -> "doesn't prove"
- Project Layout: one comma
- Server Lifecycle: "each symptomless until it matters" -> "silently until
  they matter" (its counts-ok entry follows); the DEPLOYMENT.md pointer drops
  "the dev-server invocation", which Common Commands carries inline
- Environment Variables: the ENVIRONMENT.md pointer drops "which file carries
  it", which its Detail Docs line says
- Bus Conventions: "Consumers must be idempotent;" restated the first bullet
- Common Commands: two comments
- Conventions: the logging and STYLE.md lines
- Detail Docs: the STREAMS.md line

No relocations, no deletions. prove-no-loss: lost 0, warranted 11 (9 new);
seams 0 (39 acked); counts 0 (4 acked); no dead links, anchors or orphans.
Baseline row: e924f97, 5991 exact.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… "its parent" has one referent

The indent costs a token; the integration-tests comment pays it (warranted
tighten). AGENTS.md 5990 exact.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…relink:, prune:), 5991 -> 5990

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rries again

Round 1's tighten read "Bus Conventions in full", but the cross-stream rules
are CONVENTIONS.md's; STREAMS.md opens "Each rule AGENTS.md states in one
line, with the reasoning". The rewording carries that claim. AGENTS.md
5990 -> 5991 exact, the branch-point count.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…reflows

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… -> 5991)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant