Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .skills/context-claims-ok
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,7 @@ docs/SKILLS.md :: disproven :: skills/init-socraticode
docs/contracts/content-fetch-outcome-reference.md :: disproven :: replicator:cmd:
docs/contracts/content-fetch-issuer-contract.md :: disproven :: replicator:cmd:
docs/contracts/content-fetch-issuer-contract.md :: disproven :: replicator:cmd:<command_id>
# ---- #146: link targets of the pointers retargeted above (context-loss-ok) ----
docs/COMMANDS.md :: retarget :: POLITENESS.md#reading-the-apply-log
docs/POLITENESS.md :: retarget :: COMMANDS.md#politeness--contentfetch-policy-19
docs/SKILLS.md :: retarget :: SOCRATICODE.md
5 changes: 5 additions & 0 deletions .skills/context-counts-ok
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,8 @@ docs/DEPLOYMENT.md :: stable :: `XAUTOCLAIM`'s three-element reply
# The two _TRANSIENT_ERRORS members — src/worker/loop.py:80, imported and
# asserted by tests/worker/test_oom_integration.py against a live broker.
AGENTS.md :: gated :: `OutOfMemoryError` and `NoPermissionError`, the two `ResponseError` subclasses
# #146: the 'two' is the anchor slug of SOCRATICODE.md's own "### Two launch
# paths, pinned separately" heading, which the moved plugin paragraph now links
# in-doc. It cannot drift from the heading without a dead anchor, which
# measure-context.sh's links.dead_anchors reports.
docs/SOCRATICODE.md :: stable :: both launch paths and their pins are [above](#two-launch-paths-pinned-separately).
24 changes: 24 additions & 0 deletions .skills/context-loss-ok
Original file line number Diff line number Diff line change
Expand Up @@ -763,3 +763,27 @@ AGENTS.md :: tighten :: # Integration tests (a scratch redis-server, or one the
# opens "Each rule `AGENTS.md` states in one line, with the reasoning". This
# rewording carries that claim; `AGENTS.md` stays an atom of the file.
AGENTS.md :: tighten :: - [STREAMS.md](docs/STREAMS.md) — what each stream carries, one bullet per rule `AGENTS.md` states in a line

# ---- #146: the three over-budget reference docs ------------------------------
# Every entry is a pointer this run retargeted because the same change moved
# what it points at; each read against its replacement.
# COMMANDS.md's politeness block moved into POLITENESS.md, so its "Why:" link
# into POLITENESS.md is now a same-doc anchor ([below](#reading-the-apply-log)).
docs/COMMANDS.md :: retarget :: [POLITENESS.md](POLITENESS.md#reading-the-apply-log).
# POLITENESS.md's lead-in pointed at that block's COMMANDS.md anchor; the greps
# now sit directly above it ([above](#inspecting-the-stream)).
docs/POLITENESS.md :: retarget :: Of the journal greps for this stream in [COMMANDS.md](COMMANDS.md#politeness--contentfetch-policy-19):
# SKILLS.md's plugin paragraph moved into SOCRATICODE.md, so "are in
# [SOCRATICODE.md]" became "are [above](#two-launch-paths-pinned-separately)".
docs/SKILLS.md :: retarget :: pins it to a literal version; both launch paths and their pins are in
docs/SKILLS.md :: retarget :: [SOCRATICODE.md](SOCRATICODE.md). The driver stays fenced: every invocation in
# ENVIRONMENT.md's preamble lists where variable reasoning lives outside it; the
# start-guard variables moved to DEPLOYMENT.md, so the list gains that pointer.
docs/ENVIRONMENT.md :: retarget :: fallback host interval in [POLITENESS.md](POLITENESS.md#variables), and the
docs/ENVIRONMENT.md :: retarget :: `OnFailure=` handler's in [FAILURE-NOTIFICATION.md](FAILURE-NOTIFICATION.md). Two env
# The `(#131)` provenance heading the seams ack asked to rename with the next
# COMMANDS.md edit; the issue number moved into a lead-in line beneath it.
docs/COMMANDS.md :: rename :: ### The patching gate's in-flight count (#131)
# tailscale.md pointed REPLICATOR_REDIS_FLOOR_WAIT at ENVIRONMENT.md; the
# variable's entry moved to DEPLOYMENT.md in this change.
docs/reference/tailscale.md :: retarget :: `REPLICATOR_REDIS_FLOOR_WAIT` ([ENVIRONMENT.md](../ENVIRONMENT.md)). It is
6 changes: 6 additions & 0 deletions .skills/context-metrics.jsonl
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,9 @@
{"actions": ["demote:Memory protection", "retarget:preamble", "fix:manifest StartLimitBurst"], "budget": 10000, "bytes": 19715, "claims_dropped": 0, "claims_warranted": 0, "counts": 17, "counts_acked": 0, "delta_days": 0, "delta_tokens": -3319, "docs_orphaned": 4, "docs_total": 22, "docs_unindexed": 11, "file": "docs/DEPLOYMENT.md", "lines": 137, "links_dead": 0, "links_dead_anchors": 0, "no_loss": "ok", "no_loss_warrants": 3, "note": "#140: Memory protection -> docs/MEMORY-PROTECTION.md (3449 tokens, class B)", "over_budget": false, "repo": "replicator", "repo_commit": "2b1fd5b", "seams": 0, "seams_acked": 29, "skill_commit": "3cea77a", "skill_version": "1.31", "tokens": 7570, "tokens_exact": true, "tokens_live": 143227, "top_section": "Server Lifecycle", "top_section_share": 95, "ts": "2026-10-17"}
{"actions": ["baseline:pre-curation"], "budget": 6000, "bytes": 14154, "claims_dropped": null, "claims_warranted": null, "counts": null, "counts_acked": null, "delta_days": 1, "delta_tokens": 0, "docs_orphaned": 0, "docs_total": 23, "docs_unindexed": 0, "file": "AGENTS.md", "lines": 252, "links_dead": 0, "links_dead_anchors": 0, "no_loss": null, "no_loss_warrants": null, "note": null, "over_budget": false, "repo": "replicator", "repo_commit": "e924f97", "seams": null, "seams_acked": null, "skill_commit": "9851de0", "skill_version": "1.31", "tokens": 5991, "tokens_exact": true, "tokens_live": 167770, "top_section": "Bus Conventions", "top_section_share": 24, "ts": "2026-10-18"}
{"actions": ["relink:cohort-charter", "prune:Code Exploration Notes", "prune:Project Layout", "prune:Server Lifecycle", "prune:Environment Variables", "prune:Bus Conventions", "prune:Common Commands", "prune:Conventions", "prune:Detail Docs"], "budget": 6000, "bytes": 14090, "claims_dropped": 0, "claims_warranted": 0, "counts": 0, "counts_acked": 4, "delta_days": 1, "delta_tokens": 0, "docs_orphaned": 0, "docs_total": 23, "docs_unindexed": 0, "file": "AGENTS.md", "lines": 253, "links_dead": 0, "links_dead_anchors": 0, "no_loss": "ok", "no_loss_warrants": 12, "note": null, "over_budget": false, "repo": "replicator", "repo_commit": "19955ac", "seams": 0, "seams_acked": 39, "skill_commit": "9851de0", "skill_version": "1.31", "tokens": 5991, "tokens_exact": true, "tokens_live": 168329, "top_section": "Bus Conventions", "top_section_share": 24, "ts": "2026-10-19"}
{"actions": ["baseline:pre-curation"], "budget": 10000, "bytes": 26738, "claims_dropped": null, "claims_warranted": null, "counts": null, "counts_acked": null, "delta_days": 20, "delta_tokens": 584, "docs_orphaned": 4, "docs_total": 22, "docs_unindexed": 13, "file": "docs/COMMANDS.md", "lines": 480, "links_dead": 0, "links_dead_anchors": 0, "no_loss": null, "no_loss_warrants": null, "note": null, "over_budget": true, "repo": "replicator", "repo_commit": "beda65d", "seams": null, "seams_acked": null, "skill_commit": "ae5338c", "skill_version": "1.31", "tokens": 10378, "tokens_exact": true, "tokens_live": 144271, "top_section": "Worker", "top_section_share": 45, "ts": "2026-10-19"}
{"actions": ["baseline:pre-curation"], "budget": 10000, "bytes": 26669, "claims_dropped": null, "claims_warranted": null, "counts": null, "counts_acked": null, "delta_days": 25, "delta_tokens": 487, "docs_orphaned": 2, "docs_total": 22, "docs_unindexed": 18, "file": "docs/SKILLS.md", "lines": 410, "links_dead": 0, "links_dead_anchors": 0, "no_loss": null, "no_loss_warrants": null, "note": null, "over_budget": true, "repo": "replicator", "repo_commit": "beda65d", "seams": null, "seams_acked": null, "skill_commit": "ae5338c", "skill_version": "1.31", "tokens": 10059, "tokens_exact": true, "tokens_live": 158777, "top_section": "The doc-check lists", "top_section_share": 18, "ts": "2026-10-19"}
{"actions": ["baseline:pre-curation"], "budget": 10000, "bytes": 25412, "claims_dropped": null, "claims_warranted": null, "counts": null, "counts_acked": null, "delta_days": 20, "delta_tokens": 75, "docs_orphaned": 4, "docs_total": 22, "docs_unindexed": 7, "file": "docs/ENVIRONMENT.md", "lines": 92, "links_dead": 0, "links_dead_anchors": 0, "no_loss": null, "no_loss_warrants": null, "note": null, "over_budget": true, "repo": "replicator", "repo_commit": "beda65d", "seams": null, "seams_acked": null, "skill_commit": "ae5338c", "skill_version": "1.31", "tokens": 10014, "tokens_exact": true, "tokens_live": 144271, "top_section": "(preamble)", "top_section_share": 100, "ts": "2026-10-19"}
{"actions": ["demote:SocratiCode plugin and health hook", "demote:After an init-socraticode re-run", "retarget:launch-paths link"], "budget": 10000, "bytes": 23772, "claims_dropped": 0, "claims_warranted": 1, "counts": 17, "counts_acked": 0, "delta_days": 0, "delta_tokens": -1100, "docs_orphaned": 2, "docs_total": 22, "docs_unindexed": 18, "file": "docs/SKILLS.md", "lines": 375, "links_dead": 0, "links_dead_anchors": 0, "no_loss": "ok", "no_loss_warrants": 2, "note": "#146: SocratiCode plugin/hook notes + re-run checklist -> docs/SOCRATICODE.md#the-plugin-and-its-hooks (~1210 tokens, class B)", "over_budget": false, "repo": "replicator", "repo_commit": "fd02ee5", "seams": 0, "seams_acked": 24, "skill_commit": "ae5338c", "skill_version": "1.31", "tokens": 8959, "tokens_exact": true, "tokens_live": 159290, "top_section": "The doc-check lists", "top_section_share": 21, "ts": "2026-10-19"}
{"actions": ["demote:start-guard variables", "retarget:preamble", "retarget:tailscale.md FLOOR_WAIT link"], "budget": 10000, "bytes": 23421, "claims_dropped": 0, "claims_warranted": 0, "counts": 16, "counts_acked": 0, "delta_days": 0, "delta_tokens": -715, "docs_orphaned": 4, "docs_total": 22, "docs_unindexed": 7, "file": "docs/ENVIRONMENT.md", "lines": 91, "links_dead": 0, "links_dead_anchors": 0, "no_loss": "ok", "no_loss_warrants": 2, "note": "#146: REDIS_FLOOR_TIMEOUT/_WAIT, ALLOW_ANY_CHECKOUT -> docs/DEPLOYMENT.md#environment-variables (~915 tokens, class B)", "over_budget": false, "repo": "replicator", "repo_commit": "1af75e4", "seams": 0, "seams_acked": 26, "skill_commit": "ae5338c", "skill_version": "1.31", "tokens": 9299, "tokens_exact": true, "tokens_live": 144759, "top_section": "(preamble)", "top_section_share": 100, "ts": "2026-10-19"}
{"actions": ["demote:Politeness — content.fetch-policy", "retarget:apply-log link", "rename:patching gate heading"], "budget": 10000, "bytes": 24506, "claims_dropped": 0, "claims_warranted": 1, "counts": 9, "counts_acked": 0, "delta_days": 0, "delta_tokens": -857, "docs_orphaned": 4, "docs_total": 22, "docs_unindexed": 13, "file": "docs/COMMANDS.md", "lines": 444, "links_dead": 0, "links_dead_anchors": 0, "no_loss": "ok", "no_loss_warrants": 2, "note": "#146: politeness inspection block -> docs/POLITENESS.md#inspecting-the-stream (~1000 tokens, class B); counts pre-existing, none introduced", "over_budget": false, "repo": "replicator", "repo_commit": "bd689ed", "seams": 0, "seams_acked": 38, "skill_commit": "ae5338c", "skill_version": "1.31", "tokens": 9521, "tokens_exact": true, "tokens_live": 144794, "top_section": "Worker", "top_section_share": 50, "ts": "2026-10-19"}
34 changes: 29 additions & 5 deletions .skills/context-seams-ok
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,8 @@ docs/DEPLOYMENT.md :: and the boundary between them: [ENVIRONMENT.md](ENVIRONMEN
docs/INFRASTRUCTURE.md :: | Key | `QDRANT_API_KEY`, `.claude/settings.local.json` | See [ENVIRONMENT.md](ENVIRONMENT.md). |
docs/SOCRATICODE.md :: and nowhere else ([ENVIRONMENT.md](ENVIRONMENT.md)). Capped invocations for
docs/STORAGE.md :: configuration — [ENVIRONMENT.md](ENVIRONMENT.md) keeps the boundary between that
docs/reference/tailscale.md :: `REPLICATOR_REDIS_FLOOR_WAIT` ([ENVIRONMENT.md](../ENVIRONMENT.md)). It is
# #146 moved the variable to DEPLOYMENT.md; the line now points there.
docs/reference/tailscale.md :: `REPLICATOR_REDIS_FLOOR_WAIT` ([DEPLOYMENT.md](../DEPLOYMENT.md#environment-variables)). It is
.socraticodecontextartifacts.json :: "description": "The blob tree: file://<blob_dir>/<ab>/<cd>/<sha256>.bin with a constant .bin extension, temp-file + os.replace so presence means complete, and creation-only 0644/0755 modes with the startup reachability warning. Retention: the TTL runs from last reference (os.utime on the store short-circuit), the three populations under REPLICATOR_BLOB_DIR and why in-flight .tmp files are not garbage, the byte ceiling as backpressure rather than a faster clock, the single BlobUsage with two writers, orphan recording, and why the sweep runs in the worker rather than a systemd timer. Carries the REPLICATOR_BLOB_* variables and REPLICATOR_MAX_BLOB_BYTES themselves since #92, under ## Variables; docs/ENVIRONMENT.md indexes them by name."
.socraticodecontextartifacts.json :: "description": "VM topology and ports, the systemd unit's lifecycle and its ExecStartPre guards, the checkout guard, and the co-core pin. The environment variables themselves are in docs/ENVIRONMENT.md. Also OOMScoreAdjust=-900 on both units (#92): on exe.dev everything descended from a session inherits oom_score_adj=-1000 and is exempt from the OOM killer, so an unprotected worker at ~670 was what the kernel would pick under pressure the dev tooling created."
.socraticodecontextartifacts.json :: "path": "./docs/ENVIRONMENT.md",
Expand Down Expand Up @@ -475,16 +476,39 @@ docs/COMMANDS.md :: AGENTS.md), then source this once per shell from the repo ro
# Design Preferences stays in AGENTS.md; both SKILLS.md lines point at it by name.
docs/SKILLS.md :: None — `brainstorming` runs upstream's, under AGENTS.md's **Design Preferences**.
docs/SKILLS.md :: | `brainstorming` | Intent and design before building; this repo's overrides are AGENTS.md's Design Preferences |
# Provenance heading from #131, not this run's; nothing links its anchor (grep "in-flight-count"),
# so the slug is not load-bearing. Rename it with the next COMMANDS.md edit rather than widen this one.
docs/COMMANDS.md :: The patching gate's in-flight count (#131)
# (#146 renamed the #131 provenance heading, as the entry here asked: its
# number moved into the section's lead-in line.)

# --- #140 curation: Memory protection split out of DEPLOYMENT.md ----------
# Judged one by one; each points at content that STAYED in DEPLOYMENT.md or
# is the new doc's own split note. ENVIRONMENT.md's two name the start budget
# (#134) and the checkout guard, neither of which moved.
docs/ENVIRONMENT.md :: `REPLICATOR_MAX_CONSECUTIVE_CYCLE_FAILURES` — consecutive failed cycles
docs/ENVIRONMENT.md :: `REPLICATOR_ALLOW_ANY_CHECKOUT` — bypasses the `main`-checkout guard
# (#146 moved the ALLOW_ANY_CHECKOUT bullet into DEPLOYMENT.md itself, where its
# checkout-guard link is same-doc and no longer a seam; its entry here was dropped.)
docs/MEMORY-PROTECTION.md :: [DEPLOYMENT.md](DEPLOYMENT.md) (#140), which keeps the unit's lifecycle and the
docs/MEMORY-PROTECTION.md :: from [DEPLOYMENT.md](DEPLOYMENT.md#server-lifecycle)'s table
.socraticodecontextartifacts.json :: "description": "Memory protection for co-replicator, split out of docs/DEPLOYMENT.md (#140).

# --- #146 curation: COMMANDS.md, SKILLS.md, ENVIRONMENT.md under budget ------
# Judged one by one. Each points at content that STAYED where it points, or is
# this run's own pointer to where a block went.
# SKILLS.md's pointer to the SocratiCode notes it handed to SOCRATICODE.md.
docs/SKILLS.md :: check after an `init-socraticode` re-run are in
# The re-run checklist, moved verbatim into SOCRATICODE.md, names AGENTS.md's
# policy block and its Code Exploration Notes; neither moved.
docs/SOCRATICODE.md :: The skill replaces `docs/SOCRATICODE.md` between its `socraticode-doc` markers and the `AGENTS.md`
docs/SOCRATICODE.md :: | `codebase_update` | `AGENTS.md` and every doc here are registered artifacts; nothing re-embeds them |
docs/SOCRATICODE.md :: silent-skip modes with its pointer into `docs/INFRASTRUCTURE.md` (#92) — and `AGENTS.md`'s under
# The capped SocratiCode invocations stay in COMMANDS.md; both moved paragraphs
# and MEMORY-PROTECTION.md point at them there.
docs/SOCRATICODE.md :: [COMMANDS.md](COMMANDS.md) is wrapped in a `systemd-run` memory cap, and
docs/SOCRATICODE.md :: 1 in the hook's resolution order, and the name every invocation in [COMMANDS.md](COMMANDS.md) uses.
docs/MEMORY-PROTECTION.md :: [COMMANDS.md](COMMANDS.md).
docs/MEMORY-PROTECTION.md :: unit's half; the launch's, the capped invocation, is in [COMMANDS.md](COMMANDS.md).
# `rcli` and the denied-command table stay under COMMANDS.md's Inspecting the
# consume path; POLITENESS.md's new section and TESTING.md point there.
docs/POLITENESS.md :: [COMMANDS.md → Inspecting the consume path](COMMANDS.md#inspecting-the-consume-path).
docs/TESTING.md :: The operator half of that split is tabulated in [COMMANDS.md](COMMANDS.md#inspecting-the-consume-path)
# The SOCRATICODE.md manifest description's own provenance for what #146 moved in.
.socraticodecontextartifacts.json :: "description": "The on-demand half of the Code Exploration Policy
2 changes: 1 addition & 1 deletion .skills/doc-sections
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ docs/TESTING.md: what the test and gcs jobs run and why; a checkout change also
docs/contracts/: normative and linked from sibling repos, so drift here is cross-repo — change a charter and tests/test_boundaries.py together, file a changed issuer obligation in each issuer's repo, and check README.md's two Issuing paragraphs, which summarize the obligations
docs/SKILLS.md: the skill and vendor inventory, hook registration and suspension, and The doc-check lists section (skills/, .claude/, .gitmodules, doc-sensitive-paths, doc-sections)
AGENTS.md: Code Exploration Notes — run codebase_update in the same change as a manifest description edit; NOT codebase_context_index, which re-embeds every artifact (.socraticodecontextartifacts.json)
docs/SOCRATICODE.md: the store's endpoints, the collection names projectId fixes, and which siblings a cross-repo search reaches (.socraticode.json, the store block in .claude/settings.json) — docs/INFRASTRUCTURE.md carries co-index itself, and docs/ENVIRONMENT.md the key's env file
docs/SOCRATICODE.md: the store's endpoints, the collection names projectId fixes, which siblings a cross-repo search reaches, the plugin's SOCRATICODE_SPEC pin and the checks after an init-socraticode re-run (.socraticode.json, the store block and SOCRATICODE_SPEC in .claude/settings.json) — docs/INFRASTRUCTURE.md carries co-index itself, and docs/ENVIRONMENT.md the key's env file
Loading
Loading