activity-core/tests
tegwick a70c00a789 feat(ACTIVITY-WP-0016-T03): resilient per-item report recovery with quarantine lane
When the whole-document parse + one retry still fail, report instructions now run
_resilient_report before the total-loss path. A brace/quote-aware scanner
(_extract_object_spans) recovers each recommendation object whether pretty-printed
across many lines or NDJSON one-per-line; a truncated tail gets a best-effort
_try_repair; _partition_items validates each recovered object against the T02 item
schema. Valid items survive (output_validated=True, partial=True), malformed/
over-maxItems items are quarantined with provenance (index, error, raw, reason),
capped at 20. Error locality now matches the unit of work: one bad item costs one
item, not the whole report.

Verified against the real 06-26 shape: 7 valid recommendations + a truncated tail
now recovers all 7 and quarantines the broken tail (previously the whole run was
discarded). Happy-path maxItems top-N enforcement is deferred to T04 (count caps).
Full suite: 215 passed, 1 skipped.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 17:56:28 +02:00
..
fixtures/wp0016 chore(ACTIVITY-WP-0016-T01): record root-cause findings + partial failure fixture 2026-06-26 15:04:27 +02:00
rules feat(ACTIVITY-WP-0016-T03): resilient per-item report recovery with quarantine lane 2026-06-26 17:56:28 +02:00
__init__.py feat(WP-0002): complete Triggers & Ops workstream 2026-03-28 01:04:43 +01:00
test_admin_sync_api.py Add admin sync hot reload path 2026-06-19 01:54:13 +02:00
test_daily_triage_verifier.py Harden WSJF triage report recovery 2026-06-05 19:27:03 +02:00
test_event_router.py feat(event-bridge): WP-0003a — domain model, rules module, event type registry 2026-05-14 22:01:15 +02:00
test_instruction_evaluation.py feat(ACTIVITY-WP-0016-T02): strict bounded daily-triage output schema 2026-06-26 17:36:24 +02:00
test_integration_event_bridge.py Implement weekly coding retro schedule 2026-06-07 20:58:34 +02:00
test_issue_sink.py Add ISSUE_CORE_API_KEY auth to IssueCoreRestSink 2026-06-18 22:30:13 +02:00
test_kaizen_context_resolver.py Add kaizen context resolver for scheduled agent fleet discovery. 2026-06-18 07:46:46 +02:00
test_llm_client.py Pass instruction depth config to llm-connect 2026-05-19 20:55:35 +02:00
test_ops_event_types.py Implement ops inventory probe evidence slice 2026-06-05 23:16:40 +02:00
test_ops_evidence_sinks.py Wire ops inventory probes for Railiance 2026-06-05 23:40:25 +02:00
test_ops_inventory_context_resolver.py Implement ops inventory probe evidence slice 2026-06-05 23:16:40 +02:00
test_railiance_ops_inventory_wiring.py Wire llm-connect runtime for daily triage 2026-06-18 15:12:31 +02:00
test_report_sinks.py Set up daily WSJF closure gates 2026-06-07 11:00:03 +02:00
test_resolve_context_binding.py Add event-payload context resolver 2026-06-18 14:01:11 +02:00
test_reuse_surface_context_resolver.py Add reuse-surface report gaps resolver 2026-06-18 17:58:00 +02:00
test_rule_evaluation_activity.py Expand rule actions for per-repo tasks 2026-06-03 11:58:24 +02:00
test_schedule_health.py feat(ACTIVITY-WP-0014): missed-fire detection & alert sink (T03) 2026-06-23 14:25:33 +02:00
test_schedule_lifecycle.py feat(ACTIVITY-WP-0014): explicit run-miss recovery policies (T02, T04) 2026-06-23 14:15:45 +02:00
test_schedule_smoke_script.py Add schedule smoke test routine 2026-06-06 15:32:57 +02:00
test_state_hub_context_resolver.py feat(STATE-WP-0064): enable cluster consistency sweep schedule 2026-06-21 21:46:43 +02:00
test_state_hub_write.py feat(ACTIVITY-WP-0014): idempotency-keyed State Hub writes (T05, in-repo part) 2026-06-23 21:38:46 +02:00
test_sync_activity_definitions.py Implement ops inventory probe evidence slice 2026-06-05 23:16:40 +02:00
test_sync_schedules.py Add admin sync hot reload path 2026-06-19 01:54:13 +02:00
test_sync_service.py Add admin sync hot reload path 2026-06-19 01:54:13 +02:00