Generated 2026-09-06 21:08 UTC at commit `ee6d662-dirty`. Regenerate with `python tools/make_dashboard.py` after a regression/sweep cycle.
| contract | last result | legs | evidence |
|---|---|---|---|
| jungle-death-transition (`jungle-death-transition.json`) | NOT RUN in latest cycle | - | - |
| jungle-entry (`jungle-entry.json`) | NOT RUN in latest cycle | - | - |
No sweep report; run `python tools/level_sweep.py`.
| id | status | summary | repro |
|---|---|---|---|
| no-contact-damage | fixed | Contact damage never lands: DK overlaps the first Gnawty for 3800+ frames unharmed in BOTH native and wide modes, and identically under forced LLE (not a dispatch/widescreen defect). | `recipes/route_death.dks` |
| entry-wide-centered-flap | open | WIDE<->CENTERED presentation flap during level entry (frames 7304-7331 of the jungle route). | `recipes/route_jungle.dks with DKC1_WS_TRACE` |
| wide-world-key-unwrap | open | Wide world key camX=$FFF0 (-16) unwrap artifact near level start. | `recipes/route_jungle.dks with DKC1_WS_TRACE` |
| margin-decode-attribute-mismatch | fixed | Stream retrodiction proves 1690 served-margin entries on the jungle entry route disagree with the game's own later stream, overwhelmingly in the ATTRIBUTE byte (palette/priority/flip: xor 0x1c00/0x5c00/0x4c00 clusters; whole 29-row columns as they scroll into view). The ROM level-map decoder's attribute derivation does not match streamed truth for some metatiles - margins can show wrong-palette art. | `SNESRECOMP_WS_RETRODICT=out.jsonl + recipes/route_jungle.dks; analyze with tools/analyze_retrodiction.py` |
| entry-oam-xhigh-loss | open | At level entry (~frame 7488) an OAM sprite drops its X high bit: (317,158) -> (69,158) with the low byte continuous - right-margin art teleporting to the left. Caught by level_sweep's wrap detector; likely tied to the entry-time presentation-bias window (see entry-wide-centered-flap / wide-world-key-unwrap). | `recipes/route_death.dks or route_jungle.dks via tools/level_sweep.py (oam_wrap.first_suspect)` |
| standstill-pillarbox | open | Standing still at level start pillarboxes for 4000+ frames (layout never selected, source bank 0) until the camera moves; seen on route_death.dks stand-still segment. | `recipes/route_death.dks via tools/level_sweep.py` |
| post-bonus-bg1-transition-contamination | fixed | Leaving a bonus room could seed BG1 widescreen margins from a transitional VRAM ring, producing repeated vertical strips on both outer edges while the native center and cartridge state remained valid. | `build/bonus-safe-control-repros-20260816/capture-f00000464-20260816-075932-p28476` |
| wide-vertical-row-staging-corruption | fixed | Wide simultaneous horizontal/vertical motion could expose black or mixed-color rectangular blocks in BG1 because the stock vertical row builder refreshed only 36 entries before publishing a full 64-entry ring row. | `build/visible-flight-recorder-20260816/capture-f00004159-20260816-083801-p60144` |
| wide-seven-tile-stream-guard-gap | fixed | The host renderer sampled seven complete margin tiles at arbitrary sub-tile scroll phases, but the cartridge initializer and moving-row sweep prepared only six. The uninitialized seventh physical BG1 ring column could later rotate into the native center as one 8-pixel vertical strip of stale terrain. | `build/visible-rowfix-flight-20260816/capture-f00005014-20260816-084158-p69336` |
| jungle-bonus1-widened-initializer-corruption | fixed | Jungle Hijinxs Bonus 1 lost its purple floor and showed checkerboard cave columns because a shared fixed-layout initializer was incorrectly treated as a rolling-terrain widescreen capability and wrote widened columns into the native VRAM ring. | `build/visible-margin7-flight-20260816/capture-f00158989-20260816-094934-p70536` |
| ropey-rampage-widened-initializer-corruption | fixed | Ropey Rampage could start with terrain sliced into displaced horizontal and vertical bands because the shared widened cartridge initializer generated invalid native-ring data for this layout. | `build/visible-bonusguard-flight-20260816/capture-f00009082-20260816-101211-p61340` |
| underwater-split-map-metatile-bank-pillarbox | fixed | Underwater level $0061/$80BF stayed entirely 4:3 because the host decoded both level-map cells and metatile definitions from the map bank. This scene publishes map bank $E9 in $D5 and metatile-definition bank $D0 in $D6, so the one-bank decode failed calibration and correctly fell back to pillarbox. | `build/current-level-live/level0061-entrance80BF-20260816-120545.state (external evidence; not committed)` |
| croctopus-authored-right-boundary-gap | fixed | Croctopus Chase level $0061/$00BF widened correctly, but its lower-right rock wall stopped at the native edge and exposed BG2 water in the right margin. The ROM map itself switches from a fully populated wall metatile at world X $0620-$063F to wholly transparent metatiles at X $0640 because those cells were never visible on stock hardware. | `build/current-underwater-rightgap-20260816/level0061-rightgap.state (external evidence; not committed)` |
| croctopus-nearest-right-wall-source | fixed | At Croctopus Chase level $0061/$00C0 near camera X $007F, BG1's first offscreen right metatile was a complete wall but the following unused metatile was empty. The continuation rule skipped the nearer complete block and tested only the native-edge block, leaving alternating water and rock fragments in the outermost right margin. | `build/repros/underwater-right-20260816-1823/underwater-right.state (external evidence; not committed)` |
| croctopus-authored-left-boundary-gap | fixed | At world X $0241 in Croctopus Chase level $0061/$00BF, BG1's rock wall stopped 11 pixels inside the left widescreen margin and exposed BG2 water. The ROM map has a fully populated wall metatile at the stock left edge (metatile X $12) but a wholly transparent offscreen metatile at X $10. | `build/current-underwater-leftgap-20260816/level0061-leftgap.state (external evidence; not committed)` |
| slip-slide-ride-moving-margin-calibration-flicker | fixed | Slip-Slide Ride mode $0009, level $0051, entrance $006D could replace most of both widescreen margins with adjacent ROM tile columns while the camera moved. Independent floor-division first exposed 1-3 pixel camera smoothing; a later uphill/downhill repro showed that rounding an exact four-pixel half-tile tie away from zero still selected an adjacent column. | `build/repros/ice-cave-flicker-20260830/exact-user.state plus traverse-right.inputs for the original traversal; build/repros/ice-cave-flicker-20260830/vertical-left-right/exact-user-new.state plus left-right.inputs for the four-pixel uphill/downhill tie` |
| partial-native-edge-shadow-capture-gap | fixed | At nonzero fine X scroll, the 256-pixel native viewport touches a 33rd BG1 tile, but the generic live shadow sweep retained only 32 complete columns. The renderer's chunk beginning at screen X=254 therefore missed once per scanline and used the transparent fallback across the native/right-margin handoff, producing moving vertical bands in Croctopus Chase and compounding the reported cave-side flicker. | `build/repros/underwater-side-flicker-20260830-live/exact-underwater-live.state at absolute frame 312762; baseline-stress reports terrain_margin_miss on all 12 motion actions` |
| macos-promotion-motion-microstutter | open | The fixed 60 Hz game loop is steady, but physical ProMotion scanout can still shift an otherwise complete source frame by one or more 120 Hz intervals. The old window-bound callback no longer advances emulation, so the remaining hitch is isolated to host presentation rather than cartridge timing. | `build/repros/macos-metal-pacing-20260830/final-short-visible*/scanout.jsonl with the immutable Slip-Slide Ride state and vertical-left-right/left-right.inputs` |
| aquatic-shadow-native-boundary | open | Aquatic BG1 shadow chunks overwrite native-edge pixels; an opt-in pixel-boundary/live-scroll candidate removes the measured defect. Wall adjacency remains experimental and whole-game promotion is pending. | `build/reviews/aquatic-widescreen-20260906/inputs/exact-underwater-live.state; controller-only fresh entry from the preserved map root` |
| aquatic-upward-cache-flash | open | Croctopus Chase briefly blacks both margins when upward scrolling leaves the host cache window. The opt-in scroll-rebase candidate now rebuilds the calibrated frame, including the HDMA native guard row; whole-game promotion remains pending. | `recipes/croctopus-cache-crossing.json from the immutable map root documented in docs/WIDESCREEN_WATER_FLASH.md; exact turn frames 314683 and 314804` |
| coral-capers-populated-wall-seam | open | Two supplied Coral Capers states expose opposite faces of a mismatched authored wall junction. Source-verified, default-off margin corrections are available for local playtesting. | `build/repros/water-seam-20260906/inputs/quicksave.state; frame 34978, mode 3, level $0061, entrance $00BF, camera 943/10113; right-face follow-up: build/repros/water-right-seam-20260906/inputs/quicksave.state, frame 78551, camera 671/10048` |
| aquatic-fine-scroll-bottom-row-gap | open | Ordinary fine-Y=7 scrolling can expose a short strip of BG2 on the last scanline because the native edge tile guard row was captured only during a cache rebase. The local opt-in correction is validated; whole-game promotion remains pending. | `recipes/coral-bottom-row-guard.json from active Coral root 1eb7355de0dbc3ff8250d526611e0154fe446e590c1c1e43786a57a99e2be316; first miss at relative frame 85, absolute 110691, camera 592/10000` |
| coral-western-alcove-margin-gaps | open | The western Coral Capers alcove and higher shaft expose right-margin gaps in unused map cells. Separate source-verified local corrections are available; full promotion remains pending. | `build/repros/water-new-junction-20260906/inputs/quicksave.state; frame 541651, mode 3, level $0061, entrance $00BF, camera 127/9797; higher shaft: build/repros/water-upper-alcove-20260906/inputs/quicksave.state, frame 553153, camera 16/9380` |
Issue lifecycle: edit `docs/KNOWN_ISSUES.json` (set status `fixed` with the fixing commit) and regenerate. A fixed issue regressing shows up here as its contract/sweep line failing.