Opus 4.8 audit of Fable's slice-1 scaffold + authorized hardening (Step 2).
Stacked on feat/adr-0246-slice1-scaffold. Not a PR, not merged, no status flip.
AUDIT (Step 1) — VERDICT PASS. Re-derived A(F)/d_orth/d_stab/typed channels from
§3.1/3.2/3.6 independently: BIT-EXACT vs impl (0.00e+00). Confirmed in code (not
just comments): H_id={I} locked (singleton hardcoded, no enlargement path); path
composes lawful only, refused=break marker, never raw, never soft-I; no §7 scope
creep; serve byte-identity. Finding F1 (doc, not bug): composition uses the raw
CERTIFIED action (required for §6.2 accumulation, else A_path≡I detects nothing) —
now documented for ADR ratification.
HARDENING (Step 2):
§3.7 pure surface (identity_action.py): AdmissionPolicy (calibrated flag),
evaluate_admission (admit-or-abstain, no corrector); CERTIFIED_GAMMA_ID pinned
== identity._WAVE_LEAKAGE_BOUND; all other bounds UNCERTIFIED placeholders.
§3.7 SERVE WIRING (Steps 2.1/2.2): new default-off flag identity_action_surface
(config); threaded chat/runtime -> check -> _wave_field_score; refusal folds
into flagged -> existing would_violate/conjugate_correct abstains; IdentityScore
gains action_surface_active/d_orth/d_stab (legacy defaults). Flag-off is
byte-identical (D4 gate surfaces green unchanged; smoke 176 post-wiring).
§6.3 DISCRIMINATION REPORT (evals/adr_0246_discrimination) — HONEST numbers:
benign pass 0.00, false refusal 1.00, adversarial detect 1.00, control pass
1.00; d_stab AUC 0.375 (95% CI [0.15,0.62]) — BELOW chance. Benign cognition
sits ~18x farther from the frame (mean d_stab 27.8) than the attacks (1.55).
The gate refuses everything and does NOT discriminate; must stay off; usable
separation needs the §11 grounding work, not threshold tuning. Claims language
enforced: 'lawfulness relative to the declared frozen frame', NOT 'semantic
inalienability'.
Ledger raw-sneak hardening test (Step 2.3): mixed lawful/refused sequence must
equal the lawful sub-product, fails if raw sneaks into A_path_lawful.
Handoff to Sonnet: §4.1 per-turn record, path-ledger serve integration, ADR-0246
body + acceptance packet (Proposed, no self-Accept), §11 grounding-feasibility.
[Verification]: uv run core test --suite smoke -q => 176 passed (post-wiring);
ADR-0246 suites 80 passed; egress wiring + D4 gate surfaces 47 passed
(byte-identity); §6.1/6.2 eval 14/14; discrimination report numbers above.
See docs/audit/adr-0246-slice1-opus-audit-and-hardening.md + run log.
45 lines
1.6 KiB
Text
45 lines
1.6 KiB
Text
ADR-0246 slice-1 — Opus audit + hardening run log
|
|
branch: feat/adr-0246-slice1-hardened (stacked on feat/adr-0246-slice1-scaffold)
|
|
pre-commit HEAD: ed54dddacb8c1f282dedbb85364b6e999139632e
|
|
|
|
=== §6.1/§6.2 eval matrix ===
|
|
|
|
[geometric_suite]
|
|
PASS identity_versor
|
|
PASS inplane_pi_inversion_e12
|
|
PASS inplane_90deg_permutation_e12
|
|
PASS mild_inplane_drift_e12_0.02
|
|
PASS alien_tilt_e14_1.5
|
|
PASS boost_e15_1.0
|
|
PASS near_singular_gram
|
|
PASS malformed_f_nan
|
|
PASS malformed_f_wrong_shape
|
|
|
|
[path_suite]
|
|
PASS lawful_near_identity_sequence
|
|
PASS small_rotations_accumulate_to_session_refusal
|
|
PASS interleaved_refuse_admit
|
|
PASS hard_break_on_pack_change
|
|
PASS raw_product_differs_from_lawful
|
|
|
|
14/14 cases passed; all_passed=True
|
|
placeholders (uncertified): {'epsilon_turn': 0.1, 'epsilon_session': 0.3, 'note': 'UNCERTIFIED — D4 Phase 3 certified only gamma_id; ε not calibrated'}
|
|
|
|
=== all ADR-0246 tests + adjacent D4 identity surfaces ===
|
|
........................................................................ [ 57%]
|
|
..................................................... [100%]
|
|
125 passed in 53.98s
|
|
|
|
=== uv run core test --suite smoke -q ===
|
|
|
|
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
|
|
176 passed, 1 warning in 132.38s (0:02:12)
|
|
|
|
=== §3.7 egress serve wiring (Steps 2.1/2.2) verification ===
|
|
egress wiring + all D4 gate surfaces (byte-identity):
|
|
............................................... [100%]
|
|
47 passed in 54.37s
|
|
|
|
smoke POST serve-wiring:
|
|
................................ [100%]
|
|
176 passed in 133.41s (0:02:13)
|