AINA Data Engine Room · repair-first triage · 2026-06-13

Top-Band Repair-First Triage Handoff

The repair-first bucket now reuses prior fixture work before any new generation.

Ali Mehdi Mukadam · co-authored with Codex · 4 minute read
The Single Idea

The repair-first abstains are no longer a vague bucket. They are reconciled against existing AI Fluency proof-tail fixtures before any new generation, which means the engine room now knows what can move next, what must stay policy-held, and what still needs source-authority search.

01

What Changed

Added top_band_repair_first_triage_v1. It consumes top_band_abstain_hardening_v1 and ai_fluency_proof_tail_fixtures_v1, then classifies the 8 repair-first rows using existing fixtures and hardening evidence.

The lane does not change runtime routing. It emits ready and blocked sidecars for the next slice.

02

Live Counts

8repair-first inputs
7fixtures reused
1ready for QA
6policy-first holds
1thin-source block
03

Ready Candidate

Original TitleCleaned CandidateFixture UsedNext Action
service delivery coordinator washington dcservice delivery coordinatordelivery coordinatorrun_title_repair_semantic_qa_before_bridge
This row is not bridged yet. It only becomes eligible for the next semantic QA lane because it has an existing fixture, no sensitive policy tag, title cleanup, and source evidence.
04

Held Rows

TitleDecisionReason
paralegal corporate documentationpolicy-firstlegal / people-sensitive
contract paralegal temporarypolicy-firstlegal / people-sensitive
chat supportpolicy-firstcustomer data privacy
experienced paralegals attorneys work at home remote telecommutingpolicy-firstlegal
remote paralegal for a growing intellectual property law firmpolicy-firstlegal
attorney ii remotepolicy-firstlegal
ai content writerblockedno reusable fixture or source too thin

The important anti-loop result is that seven rows reused existing fixture work instead of asking a model to rediscover it.

05

Verification

uv run pytest tests/test_top_band_repair_first_triage.py tests/test_top_band_abstain_hardening.py tests/test_top_band_abstain_semantic_qa.py tests/test_top_band_abstain_contract_bridge.py tests/test_production_runtime_contracts.py tests/test_top_band_runtime_route_coverage.py tests/test_top_band_runtime_route_repair_queue.py -q
uv run ruff check src/aina_data_engine/top_band_repair_first_triage.py tests/test_top_band_repair_first_triage.py src/aina_data_engine/cli.py src/aina_data_engine/reports.py
uv run aina-data-engine --root /srv/aina/aina-data-engine-room top-band-repair-first-triage
uv run aina-data-engine --root /srv/aina/aina-data-engine-room validate
uv run aina-data-engine --root /srv/aina/aina-data-engine-room ain-506-p0-gate
uv run aina-data-engine --root /srv/aina/aina-data-engine-room ain-510-retrieval-promotion-gate
uv run aina-data-engine --root /srv/aina/aina-data-engine-room production-runtime-readiness

No live Gemini call, public runtime, real-user data, external writes, production telemetry, donor repo mutation, or runtime embedding authority promotion happened in this lane.

Next Move

The next narrow slice should run semantic QA only for service delivery coordinator washington dc -> service delivery coordinator. If it passes, it can follow the existing caveated bridge pattern. The six policy-first rows need a regulated/customer-data policy lane before runtime fallback. ai content writer needs source-authority search before it can be repaired or embedded.

cd /srv/aina/aina-data-engine-room
git status --short --branch
uv run aina-data-engine --root /srv/aina/aina-data-engine-room top-band-repair-first-triage
Where To Start

Start with the one ready title-repair row, but keep the bridge boundary intact until semantic QA proves it.

Ali Mehdi Mukadam · co-authored with Codex · 2026-06-13
personalization-engine runtime-readiness source-authority repair-first-triage proof-tail-fixtures