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,9 +1,9 @@
|
||||
"""Real-Postgres round trip for rule_usage_events (milestone 333 step 1).
|
||||
"""Real-Postgres round trip for rule_usage_events.
|
||||
|
||||
**This file is the reason the table exists.** `rule_usage_events` could have
|
||||
been a `rule_id` column on `note_usage_events` — the row carries no
|
||||
note-specific field and the readout is the same shape, which is the strongest
|
||||
case for sharing that note #3163 admits. What decided against it is identity at
|
||||
case for sharing. What decides against it is identity at
|
||||
restore, and that is a claim only a real round trip can support.
|
||||
|
||||
The failure it guards is the quiet kind. `note_usage_events`'s importer maps
|
||||
@@ -17,7 +17,7 @@ So the assertions below are about WHICH MAP resolved the id, and they are
|
||||
written to fail if the answer ever becomes "the note one" or "neither".
|
||||
|
||||
Same shape as `test_integration_backup_rule_version_roundtrip.py`, which guards
|
||||
`rule_versions` against #3182's `arose_from_id` trap on the same seam.
|
||||
`rule_versions` against the same id-remapping trap on the same seam.
|
||||
"""
|
||||
import pytest
|
||||
import pytest_asyncio
|
||||
@@ -143,7 +143,7 @@ async def source():
|
||||
user_id=None, rule_id=rule.id,
|
||||
event=SURFACED, source="write_path_rule",
|
||||
),
|
||||
# A departure and its reason (#4212). Seeded here because
|
||||
# A departure and its reason. Seeded here because
|
||||
# `detail` is the ONE field on this table that cannot be
|
||||
# recomputed: a fresh install re-earns its counts by being used,
|
||||
# but a stated reason exists once and is gone if a restore drops
|
||||
@@ -290,7 +290,7 @@ async def test_the_actor_is_remapped_and_a_missing_one_survives(restored):
|
||||
attributed = [e for e in restored["events"] if e.user_id is not None]
|
||||
orphaned = [e for e in restored["events"] if e.user_id is None]
|
||||
# Four attributed: the surfacing, the pull, and the two outcome rows
|
||||
# added with `detail` (#4212). One orphaned, deliberately.
|
||||
# that carry `detail`. One orphaned, deliberately.
|
||||
assert len(attributed) == 4
|
||||
assert len(orphaned) == 1, (
|
||||
"the event with no actor did not come back. Telemetry outlives the "
|
||||
@@ -325,10 +325,9 @@ async def test_a_departures_reason_survives_the_round_trip(restored):
|
||||
419 was opened to create, undone silently at the one moment nobody is
|
||||
watching.
|
||||
|
||||
#4197 is the standing warning behind this test: the backup column guard
|
||||
watches the export side only, so a column added to the model and to the
|
||||
exporter and NOT to the importer round-trips as null with nothing to say
|
||||
so.
|
||||
A column added to the model and to the exporter and NOT to the importer
|
||||
round-trips as null with nothing to say so; this round trip is where that
|
||||
shows up in the data.
|
||||
"""
|
||||
departures = [e for e in restored["events"] if e.event == DEPARTED]
|
||||
assert len(departures) == 1
|
||||
|
||||
Reference in New Issue
Block a user