Skip to content

L4 Wave2: BOED provenance honesty + stage test + challenge/bandit advisory telemetry#23

Merged
zaler23 merged 4 commits into
mainfrom
mzz/l4-wave2
Jun 30, 2026
Merged

L4 Wave2: BOED provenance honesty + stage test + challenge/bandit advisory telemetry#23
zaler23 merged 4 commits into
mainfrom
mzz/l4-wave2

Conversation

@zaler23

@zaler23 zaler23 commented Jun 30, 2026

Copy link
Copy Markdown
Owner

L4 Wave2 — landing directions that needed spike validation

Following Wave1 (#22), this wave handles the four directions that needed spike validation. All converged via offline measurement spikes to a uniform landing point: sidecar / telemetry / honesty fix / narrow tests — zero selector-behavior change, no invariant touched. Production net +87 lines (telemetry), the rest tests.

Four dispositions

  • BOED provenance honesty fixproduce_boed_signals plan_value is a simple average (uncertainty+novelty+evidence_gap)/3, but provenance mislabeled it expected_information_gain. Relabeled honestly as heuristic_plan_value (answer-first must not misrepresent). Not wired into ordering. Net +1.
  • Stage policy honesty test — zero production change. Test added to lock: a valid stage_fractions policy produces early/middle/late/final states; an empty policy falls back to middle-until-safety. (Locks the mechanism per policy, not the current state; no objective-switch added.)
  • Challenge/candidate overlap no-effect telemetrycompile_search_pressure records challenge-pressure x candidate-text overlap in SearchPressure.metadata, advisory only. selection_advisory stays {}, selection_advisory_features still returns {}, the parent selector is untouched (real ordering would need future non-circular blind-labeled samples).
  • Shadow action-palette bandit telemetry — reuses existing OperatorArmStats + suggest_budget_allocation, aggregating by raw policy-action (not canonical operator), emitting advisory allocation to MutationPlan.metadata. Round-robin / actual mutation budget / operator allocation byte-for-byte unchanged (shadow-only; ordering revisited only after runs stabilize).

Invariants

  • Canonical spine / soft ordering signal / answer-first (synthesis/final_gate) / parent selector untouched.
  • No new framework / registry / class / DSL / config — all private pure functions + reuse of existing symbols.
  • All three telemetry outputs are advisory only and do not enter the selection path.

Verification

  • full suite: 674 passed, 1 skipped
  • production net: +43 (mutation.py), +43 (controller.py), 0 (rename)
  • known flag: the fate->reward floor constants in _shadow_action_reward are an internal telemetry heuristic, advisory-only; revisit before wiring into ordering.

🤖 Generated with Claude Code

zaler23 and others added 4 commits July 1, 2026 03:18
…ed_information_gain)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…t-only)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ion_advisory stays {})

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…obin unchanged)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@zaler23 zaler23 merged commit 4459681 into main Jun 30, 2026
5 checks passed
@zaler23 zaler23 deleted the mzz/l4-wave2 branch June 30, 2026 19:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant