Runtime Contract Source-Authority Signal Handoff
The guarded JD-aware repair signal is now visible in promoted runtime contracts.
The guarded JD-aware source-authority repair signal is now visible in the promoted runtime contract artifacts. Runtime consumers no longer have to infer whether a role decision came from deterministic payloads, a source-backed payload repair, a JD-aware local backstop, or a confirmation-blocked ambiguous context.
Runtime contracts now carry source-authority state.
This slice extends production_runtime_contracts without changing the public runtime boundary. RoleContextEvidenceV1 now carries richer JD context status values, and RoleResolutionDecisionV1 carries source-authority status, repair case id, and repair notes.
This is the title-only correction made concrete.
Earlier work proved that title-only matching is not enough. A title like case manager can point to very different real-world jobs depending on JD, company, industry, responsibility text, and source context. This checkpoint turns that lesson into runtime-visible contract data rather than a side receipt.
The generated runtime artifact is passing.
| Metric | Value |
|---|---|
| Runtime payload contracts | 1,004 |
| Role-context evidence rows | 1,004 |
| Role-resolution decisions | 1,004 |
| Source-authority repair metadata decisions | 4 |
| JD-authoritative decisions | 1 |
| JD confirmation-blocked decisions | 1 |
| JD confirmation-blocked role-context rows | 3 |
| Source-conflict-preserved decisions | 2 |
| Source-authority status | Count |
|---|---|
deterministic_payload | 965 |
source_authority_incomplete | 35 |
runtime_payload_backstop_with_source_conflicts | 2 |
jd_context_authoritative_backstop | 1 |
jd_context_confirmation_blocked | 1 |
The local gate stack is green.
| Check | Result |
|---|---|
| Focused pytest | 7 passed |
| Ruff | All checks passed |
| AIN-506 P0 gate | pass |
| AIN-510 retrieval promotion gate | promotion_ready |
| Production runtime readiness | ready_to_harden_headless_production_runtime |
| Full validation | pass |
AIN-510 remains stable with 6,510 valid vectors, zero stale vectors, complete top 500 and top 1,000 coverage, and a known-pair mean cosine gap of 0.190463. Runtime embedding authority remains unpromoted.
The slice is narrow.
The core edits are in /srv/aina/aina-data-engine-room/src/aina_data_engine/production_runtime_contracts.py and /srv/aina/aina-data-engine-room/tests/test_production_runtime_contracts.py. The remaining touched files are generated validation receipts and report companions under artifacts/validation and artifacts/reports.
human_review fields were introduced.The next slice should consume the signal.
The clean next move is to add the local query or consumer surface that reads source_authority_status directly, then add confirmation fixtures for the blocked JD-aware cases: case manager, director bi, and web designer. After that, clean-before-embed expansion can continue only for source families whose JD/source-authority evidence passes semantic checks.
Start by running production-runtime-contracts and then wire consumers to the explicit source-authority status instead of parsing side receipts.