state-hub/api/services
tegwick 93e95f93e7
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Build and Publish Multi-Context Image / build-and-push (push) Successful in 28s
feat(legacy-meter): scale retirement quiet period to call volume
A clean review window only proves an interface was silent for that window.
For a heavily used interface that is weak evidence -- an infrequent caller
can fall outside the window entirely, so the interface reads as retirable
while still having consumers.

_retirement_state now also requires silence since last_seen_at, scaled by
all-time volume (RETIREMENT_QUIET_LADDER): 7d under 100 calls, 30d under
10k, 60d above. Existing guards (retired / manual hold / replacement ref /
replacement verified / in-window traffic) still take precedence.

On the 2026-08-20 capture this makes 15 of 19 legacy interfaces retirable
and holds 4: the three six-figure /workstreams/ read paths, and
GET /tasks/?workstream_id which still has live traffic.

Unblocks the bulk of Wave E2 in the cutover slice plan. 7 new tests.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 07:13:44 +02:00
..
token_sources Fixed and improved token tracking 2026-05-23 13:59:05 +02:00
__init__.py Implement RecentlyOnScope domain digest 2026-05-22 13:45:53 +02:00
consistency_sweep.py finish(STATE-WP-0064): cut over scheduler and split sweep errors from failures 2026-06-22 01:20:59 +02:00
execution_queue.py feat(classification-spine): implement STATE-WP-0065 repo-anchored model 2026-06-22 13:52:13 +02:00
fabric_graph.py Implement financial Fabric vNext read model 2026-05-24 02:52:59 +02:00
legacy_compat.py feat(api): retire phase-1/2 /workstreams REST aliases with 410 stranglers 2026-07-10 13:31:57 +02:00
legacy_meter.py feat(legacy-meter): scale retirement quiet period to call volume 2026-08-20 07:13:44 +02:00
lifecycle.py feat(classification-spine): implement STATE-WP-0065 repo-anchored model 2026-06-22 13:52:13 +02:00
markitect_templates.py Implement RecentlyOnScope domain digest 2026-05-22 13:45:53 +02:00
ops_run_projection.py Prepare State Hub retirement baseline 2026-08-09 16:19:53 +02:00
recently_on_scope.py feat(classification-spine): implement STATE-WP-0065 repo-anchored model 2026-06-22 13:52:13 +02:00
reconciliation.py feat(classification-spine): implement STATE-WP-0065 repo-anchored model 2026-06-22 13:52:13 +02:00
repo_manager_dual_run.py feat: delegate project register; registrar-only ID minting 2026-08-18 21:51:30 +02:00
suggestion_relevance.py Finish CUST-WP-0011 and implement STATE-WP-0061 suggestion backlog. 2026-07-06 10:52:49 +02:00
suggestion_wsjf.py Finish CUST-WP-0011 and implement STATE-WP-0061 suggestion backlog. 2026-07-06 10:52:49 +02:00
summary_cache.py feat(summary): revision-gated cache with stale-while-revalidate (STATE-WP-0066) 2026-06-22 16:27:32 +02:00
workplan_files.py feat(classification-spine): implement STATE-WP-0065 repo-anchored model 2026-06-22 13:52:13 +02:00
write_idempotency.py Finish CUST-WP-0011 and implement STATE-WP-0061 suggestion backlog. 2026-07-06 10:52:49 +02:00