You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(code-review): make override-cache tests independent of wall-clock date (#194)
Three tests pinned an override's asserted_at to a fixed 2026-05-29
timestamp and asserted the override was honored. Once that timestamp
aged past the 90-day overrides TTL they began failing with no code
change. Derive the timestamp relative to now instead.
Renames the existing _stale_cached_at() helper to _iso_days_ago() to
match its already-generic docstring, and routes the two override TTL
boundary tests through it.
Claude-Session: https://claude.ai/code/session_011QjUMmrqfGU4QNXDDRLPrN
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,14 @@ All notable changes to the claude-plugins project will be documented in this fil
4
4
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Entries are listed newest-first; each plugin section is treated as released when merged to `main`.
6
6
7
+
### code-review v3.7.1
8
+
9
+
#### Fixed
10
+
- Override-cache tests no longer depend on the wall-clock date. Three tests pinned an override's `asserted_at` to a fixed `2026-05-29` timestamp and asserted the override was honored — by `verify-prepare` short-circuiting into `override_hits`, and by the prepare-then-consolidate paths that route an override to `RE_ASSERTED`. Once that fixed timestamp aged past the 90-day `overrides` cache TTL, the overrides were correctly treated as expired and the three tests began failing with no accompanying code change. They now derive `asserted_at` relative to the current time, so they exercise the honored-override path regardless of when the suite runs.
11
+
12
+
#### Changed
13
+
- Test helper `_stale_cached_at()` renamed to `_iso_days_ago()` so the name matches its documented behavior (an ISO-8601 timestamp N days in the past, used for both within-TTL and past-TTL fixtures); all call sites updated, and the two override TTL boundary tests now delegate to it instead of inlining the same `datetime.now(timezone.utc) - timedelta(...)` expression.
python/config/cli.json Declarative argparse spec the helper CLI builds its subparsers from
52
+
python/config/stages.json Declarative stage table backing `prepare-run`'s `run_plan.json` and `run-prefix`
53
+
python/signal_taxonomy.json Signal taxonomy loaded by signal extraction; its bytes are hashed into the extraction cache key
54
+
python/conftest.py Shared pytest fixtures and finding factories for the co-located tests
51
55
python/test_code_review_helpers.py Unit tests for the helper CLI
52
56
python/golden_fixture_harness.py Golden fixture harness: replays canonical inputs through helper subcommands and diffs against expected envelopes (PLN-719 Phase 8)
53
57
python/test_golden_fixtures.py Pytest driver that runs every fixture under tools/python/fixtures/
54
-
python/fixtures/<name>/ Per-fixture directory (config.yaml + inputs/ + expected/); 3 full scenarios + 6 README-stubs for future coverage
58
+
python/fixtures/<name>/ Per-fixture directory (config.yaml + inputs/ + expected/); 4 full scenarios + 3 README-stubs for future coverage
55
59
python/prefix_golden_harness.py Prefix golden harness + subprocess A/B parity oracle: walks the deterministic prefix against real git fixtures — in-process for golden snapshots, and per-stage-subprocess vs `run-prefix` for byte-equal parity (PLN-1229 Phase 0/1)
56
60
python/test_prefix_golden.py Pytest driver for the prefix harness: determinism oracle + golden diff across the prefix_fixtures/ matrix
0 commit comments