test(cliffs): the border enrichment is NOT a cascade artifact (#84) - #143
Merged
Conversation
The ore thread's two wins came from auditing populations rather than hunting mechanisms, so the border residual gets the same treatment. The obvious deflation - after #142 showed four of ten ore "misses" were cascade casualties - is that the unexplained cells are largely casualties too, since the residual is counted at the OUTPUT and a casualty of a CORRECT kill scores as an independent defect. It is not that. Applying the destruction cascade - confirmed against the game in #139 and again in #141 - to the port's own kill set: unknown on border z false rejections before cascade 33 22 2.36 12 after cascade 23 17 2.67 14 The cascade explains 10 of the 33, and the enrichment CONCENTRATES rather than dissolving. The border signal has now survived both of its plausible deflations: the orientation-reach rival (#134) and cascade double-counting. A shipping accuracy gain is measured here and deliberately NOT taken: 10 fewer missed cells for 2 more false rejections, net 8. renderVulcanusCliffs does not cascade at all today - applyCliffConnections exists but only specs use it. Adopting it changes rendered ORIENTATIONS as well as positions, needs cliffErrorBudget.spec.ts moved in lockstep, and applyCliffConnections also bundles the updateConnections model, which is an explicit UPPER BOUND and is not what this audit applied. The 2 new false rejections are the thing to look at first, not the 10 wins: they are cells the game KEPT that our cascade removes, and #134 recorded a gate the port does not model - Cliff::destroyEnd refuses to forceDestroy when entity flag bit 4 of +0x6e is set, returning with the orientation UNCHANGED. Scope is stated in the spec because the headline differs from the published 44: this pairs 14 regions across three fixtures, not 15, because [1500,1500]'s pair lives in a fixture with a different case shape. The overlap is the correctness check and it passes - on the eight-region border batch this harness reproduces 17 unknown, 12 on a border, exactly what cliffResidualBorderEnrichment publishes. Verification: pnpm run verify green - 1554 app (up 5) + 13 worker + 3 container tests, 0 warnings, exit 0. Measurement only; shipping accuracy unchanged. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012VRsPwmSwjnFKVSS6jx9Mo
This was referenced Aug 4, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The ore thread's two wins (#141, #142) came from auditing populations rather than hunting mechanisms, so the border residual gets the same treatment.
The obvious deflation — after #142 showed four of ten ore "misses" were cascade casualties — is that the unexplained cells are largely casualties too. The residual is counted at the output (cells the game killed that our predicates don't), so a casualty of a correct kill scores as an independent defect.
It is not that
Applying the destruction cascade — confirmed against the game in #139 and again in #141 — to the port's own kill set:
The cascade explains 10 of the 33, and the enrichment concentrates rather than dissolving — the share rises too, so it is not the z moving on sample size alone.
The border signal has now survived both of its plausible deflations: the orientation-reach rival (#134) and cascade double-counting here.
A shipping gain, measured and deliberately not taken
The same run says the port is leaving cells on the table: 10 fewer missed for 2 more false rejections, net 8.
renderVulcanusCliffsdoes not cascade at all today —applyCliffConnectionsexists but only specs use it.It is recorded rather than adopted on purpose, because adopting it:
cliffErrorBudget.spec.tsmoved in lockstep (that file's header records the day it drifted), andapplyCliffConnectionsadditionally bundles theupdateConnectionsmodel, which is an explicit upper bound and is not what this audit applied.Look at the 2 new false rejections before the 10 wins. They are cells the game KEPT that our cascade removes, and #134 recorded a gate the port does not model:
Cliff::destroyEndrefuses toforceDestroywhen entity flag bit 4 of+0x6eis set, returning with the orientation UNCHANGED rather than merely undestroyed.Scope, stated because the headline differs from the published 44
This pairs 14 regions across three fixtures, not the 15 the 44-cell figure covers —
[1500,1500]'s ON/OFF pair lives in a fixture with a different case shape.The overlap is the correctness check, and it passes: on the eight-region border batch this harness reproduces 17 unknown, 12 on a border, exactly what
cliffResidualBorderEnrichmentpublishes for that batch. Without that, every other number here could be measuring something else.Verification
pnpm run verifygreen — 1554 app (up 5) + 13 worker + 3 container tests, 0 warnings, exit 0. Measurement only; shipping accuracy unchanged.🤖 Generated with Claude Code
https://claude.ai/code/session_012VRsPwmSwjnFKVSS6jx9Mo