feat(#76): IMP-47B reject-as-AI-adaptation activation (u1~u13 backend + tests)
- u1~u9: AI fallback infrastructure (router/prompts/schema/validator) + Step 12 hook - u10: e2e reject chain (writes final.html with AI-repaired slot, full coverage) - u11: frontend wiring deferred to follow-up commit (split from IMP-41 hunks) - u12: coverage_invariant guard - u13: cache save gate (visual_check PASS + user_approved/auto_cache) — Codex #22 verified Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -237,10 +237,10 @@ def test_restructure_reject_preserved_as_non_direct_evidence(patch_selector_deps
|
||||
by_rank = {c["rank"]: c for c in candidates}
|
||||
assert set(by_rank.keys()) == {1, 2, 3}
|
||||
|
||||
# rank-1 reject — non-direct, design_reference_only
|
||||
# rank-1 reject — non-direct, ai_adaptation_required (IMP-47B u1 policy correction)
|
||||
assert by_rank[1]["v4_label"] == "reject"
|
||||
assert by_rank[1]["filtered_for_direct_execution"] is True
|
||||
assert by_rank[1]["route_hint"] == "design_reference_only"
|
||||
assert by_rank[1]["route_hint"] == "ai_adaptation_required"
|
||||
|
||||
# rank-2 restructure — non-direct, ai_adaptation_required
|
||||
assert by_rank[2]["v4_label"] == "restructure"
|
||||
|
||||
Reference in New Issue
Block a user