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:
@@ -1,11 +1,11 @@
|
||||
"""A lesson reaches the session it applies to — milestone 385, step 5.
|
||||
"""A lesson reaches the session it applies to.
|
||||
|
||||
Three decisions are guarded here, and each has a way of going quietly wrong
|
||||
that these tests are shaped to catch rather than to describe:
|
||||
|
||||
WHICH ARM. The two note arms, and no new one. An arm that FILTERS kinds does
|
||||
not merely outrank a kind it omits — it makes it unreachable, and nothing
|
||||
reports an arm that never had the candidate (#3702). The write path filters;
|
||||
reports an arm that never had the candidate. The write path filters;
|
||||
the prompt menu does not, but is project-scoped, which for a kind whose whole
|
||||
claim is that it transfers amounts to the same silence.
|
||||
|
||||
@@ -115,8 +115,8 @@ async def test_the_write_path_asks_for_lessons_at_all():
|
||||
async def test_a_lesson_takes_a_reserved_slot_and_the_query_is_logged():
|
||||
"""The slot is a claim that a kind deserves a guaranteed line. A claim like
|
||||
that has to be falsifiable from the first deploy, which means its own query
|
||||
in `retrieval_logs` — #2463's finding, recorded about the slot that shipped
|
||||
without one."""
|
||||
in `retrieval_logs`; a slot without one cannot be judged against what it
|
||||
displaced."""
|
||||
rec = MagicMock()
|
||||
out, calls = await _menu(
|
||||
[(0.70, fake_note(id=1, title="Badge layout task", user_id=1, is_task=True))],
|
||||
@@ -143,7 +143,7 @@ async def test_the_reserved_lesson_extends_and_never_evicts():
|
||||
"""It sides with `preference_slot` over `reuse_slot`, and the reason is the
|
||||
ledger rather than taste: an evicted hit was RETURNED by the general search
|
||||
and sits in that call's log row, so displacing it makes the two tables
|
||||
disagree about one call for a reason nothing in the data explains (#3668).
|
||||
disagree about one call for a reason nothing in the data explains.
|
||||
The voice argument points the same way — a record that binds nothing should
|
||||
not be able to throw a better-scoring one off the menu."""
|
||||
main = [(0.72, fake_note(id=1, title="a", user_id=1)),
|
||||
@@ -190,7 +190,7 @@ async def test_a_weak_lesson_does_not_buy_the_slot():
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_the_slot_surfacing_matches_its_own_retrieval_row():
|
||||
"""#3668's identity, on the new arm: what a source says it retrieved and
|
||||
"""The two-table identity, on this arm: what a source says it retrieved and
|
||||
what it says it showed must be the same records. The reserved lesson is
|
||||
fetched by `lesson_slot`'s query, so it is `lesson_slot`'s surfacing —
|
||||
counting it under `auto_inject` as well would book one delivery twice and
|
||||
@@ -275,7 +275,7 @@ async def test_the_write_path_names_the_register_for_a_lesson_too():
|
||||
|
||||
|
||||
def test_the_surfacing_guards_can_fail():
|
||||
"""Rule 167: each assertion above has to be able to bite. The three shapes
|
||||
"""Each assertion above has to be able to bite. The three shapes
|
||||
it would take to break this feature silently, each checked here against the
|
||||
condition the tests actually assert on."""
|
||||
# An arm that stops asking for the kind.
|
||||
|
||||
Reference in New Issue
Block a user