docs(6209): preference door, systems and notes tools, lesson surfacing, rule versions, backup round trip, JSON reader, charter search, provenance, location filter

Ten more test files: issue, milestone, rule, decision and snippet numbers
come out of docstrings, comments and messages; the preference door states
what a preference is instead of quoting the framing; the JSON reader says
why jq is not assumed instead of what every hook used to do; the backup
round trip's column warning no longer claims the import side is unguarded.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-21 21:33:08 -04:00
co-authored by Claude Opus 5.5
parent fa41e006a7
commit ead4a7e2ad
10 changed files with 69 additions and 74 deletions
+7 -7
View File
@@ -1,10 +1,10 @@
"""Body provenance — the cache-with-provenance half of the pointer model (#2688).
"""Body provenance — the cache-with-provenance half of the pointer model.
Decision #2686: the recorded location is the source of truth for a snippet's
The recorded location is the source of truth for a snippet's
code and the stored body is a CACHE of it. `data.provenance` records what that
cache is a cache OF — the commit the body was read at, and when — so staleness
becomes judgeable instead of guessed, and so the forge fetch (milestone 288
step 5) has something to refresh.
becomes judgeable instead of guessed, and so the forge fetch has something to
refresh.
The rules under test, because each has a way to rot silently:
@@ -18,8 +18,8 @@ The rules under test, because each has a way to rot silently:
cached body matches the source there.
Unit tests cover the compose/carry logic; the integration section runs the
same rules through the real service paths on real Postgres (the #2663 lesson —
a DB-touching path with only mocked coverage is a path with no coverage).
same rules through the real service paths on real Postgres (a DB-touching path
with only mocked coverage is a path with no coverage).
"""
import pytest
import pytest_asyncio
@@ -49,7 +49,7 @@ def test_compose_provenance_stamps_sha_and_time():
def test_compose_provenance_without_a_sha_is_none_not_an_empty_record():
# Absent provenance must stay ABSENT (the pre-#2688 semantics), never an
# Absent provenance must stay ABSENT, never an
# empty dict that readers would have to distinguish from a real one.
assert compose_provenance(commit_sha="") is None
assert compose_provenance(commit_sha=" ") is None