CB-WP-0006 T04: withdraw AM-4c; and fix where AM-6 is measured
AM-4c is withdrawn from the acceptance table and retained as a reported diagnostic. GameKernel §5a carries the argument. The ratio has no monotone better direction. INTENT's rule is "own the semantics, assimilate the implementation": rising can mean owning semantics properly or reimplementing what should have been assimilated; falling can mean leverage or dependency bloat. A target requires knowing which way is better. It is also redundant — AM-4a/AM-4b bound the denominator and AM-2 bounds own-source density, so AM-4c is a ratio of two already-targeted quantities. Measured at withdrawal: 1,426 own lines per 100k third-party (shipped), 1,107 (dev). make dep-weight now prints both, labelled diagnostic — the row was never actually reported before. M-D1-MUT keeps AM-4c in its denominator on purpose and says so in the output. Dropping it would move the score 7/14 -> 7/13 without enforcing anything: a score improved by deleting the question. Decided before Phase B deliberately, since ADR-0005 predicts own-source growth that will move this ratio; deciding after would be the retarget §Step 4 forbids. A T01 correction found here. The AM-6 gate failed inside `make all` at 38,753 ev/s against 341,280 in isolation — a 9x drop, because cargo test runs binaries and threads concurrently. A throughput assertion inside a parallel harness measures contention, not throughput. T01's measurement was valid; its gate placement was not. Fixed by running it only where valid — #[ignore] plus `make am6` in release with --test-threads=1, now 2.0M ev/s at 20.2x headroom — and not by lowering the target, which T01 forbade. My first attempt did drift that way, adding a debug "sanity floor" of 50,000, and was backed out: a second threshold is still a second chance to tune. The mutation then went SURVIVED on the first run after the move. 4,000 black_box iterations were calibrated against debug's 3.4x headroom and are invisible against release's 20x. Raised to 100,000; back to red. A weak mutation is not a fixed property of a row — it can become weak when the row's measurement conditions change. Tier S (amends one row, creates no capability), chaos d4=2, no override. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
83db14f2e2
commit
db6445ae37
10 changed files with 145 additions and 17 deletions
|
|
@ -2244,7 +2244,18 @@ mod replay_probe {
|
|||
/// spec target. A test, not a bench — Criterion reports throughput and
|
||||
/// asserts nothing, which is why this row measured nothing for six
|
||||
/// passes.
|
||||
///
|
||||
/// **`#[ignore]` on purpose, and this is the T04 correction.** The
|
||||
/// assertion first ran inside `make all` and failed at 38,753 ev/s
|
||||
/// against 341,280 measured in isolation — a 9x drop, because
|
||||
/// `cargo test` runs test binaries and threads **concurrently**. A
|
||||
/// throughput assertion inside a parallel harness measures contention,
|
||||
/// not throughput. The fix is not a lower target (T01 forbade that,
|
||||
/// and it would reproduce the defect being fixed) but a measurement
|
||||
/// that only runs where it is valid: `make am6`, release,
|
||||
/// `--test-threads=1`.
|
||||
#[test]
|
||||
#[ignore = "throughput measurement — invalid under a parallel harness; run `make am6`"]
|
||||
fn am6_throughput_clears_the_spec_target() {
|
||||
let mut best = 0.0f64;
|
||||
let mut sampled = 0usize;
|
||||
|
|
@ -2279,11 +2290,12 @@ mod replay_probe {
|
|||
);
|
||||
assert!(
|
||||
best >= AM6_EVENTS_PER_SEC,
|
||||
"AM-6 UNMET: {best:.0} events/s < {AM6_EVENTS_PER_SEC:.0} target \
|
||||
({headroom:.2}x). debug_assertions={}. Reference: ~182k debug, \
|
||||
~2.4M release on bnt-lap001. Do NOT lower the target to pass — \
|
||||
GameKernel §5 AM-6 is a spec value and lowering it needs an ADR.",
|
||||
cfg!(debug_assertions)
|
||||
"AM-6 UNMET: {best:.0} events/s < {AM6_EVENTS_PER_SEC:.0} \
|
||||
({headroom:.2}x). Reference: ~1.7M via `make am6` on \
|
||||
bnt-lap001. Do NOT lower the target to pass — GameKernel §5 \
|
||||
AM-6 is a spec value and lowering it needs an ADR. If this \
|
||||
fired under a parallel harness, the measurement is invalid \
|
||||
rather than the target: run `make am6`.",
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue