@riddledc/riddle-proof-packs 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +46 -16
- package/dist/index.js +46 -16
- package/package.json +1 -1
- package/packs/neon-step-sequencer/README.md +4 -3
- package/packs/neon-step-sequencer/case-study/findings.md +17 -6
- package/packs/neon-step-sequencer/case-study/ratchet-card.md +3 -2
- package/packs/neon-step-sequencer/case-study/ratchet-log.md +68 -12
- package/packs/neon-step-sequencer/case-study/reusable-lessons.md +1 -1
- package/packs/neon-step-sequencer/examples/README.md +4 -2
- package/packs/neon-step-sequencer/examples/run-004-ratchet-loop-mix-level-search/profile-result.json +3260 -131
- package/packs/neon-step-sequencer/examples/run-004-ratchet-loop-mix-level-search/summary.md +18 -8
- package/packs/neon-step-sequencer/examples/run-005-explore-songs-and-mixes-final/artifact-manifest.json +32 -0
- package/packs/neon-step-sequencer/examples/run-005-explore-songs-and-mixes-final/console.json +4 -0
- package/packs/neon-step-sequencer/examples/run-005-explore-songs-and-mixes-final/dom-summary.json +40 -0
- package/packs/neon-step-sequencer/examples/run-005-explore-songs-and-mixes-final/profile-result.json +2917 -0
- package/packs/neon-step-sequencer/examples/run-005-explore-songs-and-mixes-final/proof.json +2917 -0
- package/packs/neon-step-sequencer/examples/run-005-explore-songs-and-mixes-final/screenshots/neon-step-sequencer-explore-songs-and-mixes-desktop-neon-explore-songs-and-mixes.png +0 -0
- package/packs/neon-step-sequencer/examples/run-005-explore-songs-and-mixes-final/screenshots/neon-step-sequencer-explore-songs-and-mixes-desktop.png +0 -0
- package/packs/neon-step-sequencer/examples/run-005-explore-songs-and-mixes-final/summary.md +52 -0
- package/packs/neon-step-sequencer/profiles/explore-songs-and-mixes.json +33 -7
- package/packs/neon-step-sequencer/profiles/ratchet-loop-mix-level-search.json +13 -9
|
Binary file
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Run 005 - Explore songs and mixes
|
|
2
|
+
|
|
3
|
+
- Profile: `neon-step-sequencer-explore-songs-and-mixes`
|
|
4
|
+
- Runner: `local-playwright`
|
|
5
|
+
- Evidence-role pattern: `current_target`
|
|
6
|
+
- Status: `passed`
|
|
7
|
+
- Captured at: `2026-05-24T05:09:43.225Z`
|
|
8
|
+
- Target URL: `http://127.0.0.1:5173/games/drum-sequencer?song=monkberry-moon-delight-tab&mix=profile&view=trainer&instrument=bass`
|
|
9
|
+
|
|
10
|
+
## Claim
|
|
11
|
+
|
|
12
|
+
The current Neon target can run a bounded song/part exploration sweep, produce a confidence map, and keep every sampled proof window inside objective audio and app-health guardrails.
|
|
13
|
+
|
|
14
|
+
## Evidence
|
|
15
|
+
|
|
16
|
+
- `4` songs sampled.
|
|
17
|
+
- `8` song/part entries sampled.
|
|
18
|
+
- `8` entries passed.
|
|
19
|
+
- `0` prioritized findings.
|
|
20
|
+
- The profile asserted `__neonProof.exploration.ok === true`, so future product findings fail the proof instead of hiding inside a captured return value.
|
|
21
|
+
- Audio sources were prepared with drums `samples`, bass/chord/guitar `hybrid`, and vocal `voice_oohs`.
|
|
22
|
+
- Console fatal count was `0`.
|
|
23
|
+
- Horizontal overflow was `0 px`.
|
|
24
|
+
|
|
25
|
+
Final sampled peak/headroom receipts:
|
|
26
|
+
|
|
27
|
+
| Song | Part | Window | Peak | Headroom |
|
|
28
|
+
| --- | ---: | --- | ---: | ---: |
|
|
29
|
+
| Yakety Yak (Dark) | 0 | `part-1` | `0.9589` | `0.36 dB` |
|
|
30
|
+
| Yakety Yak (Dark) | 1 | `part-2` | `0.9756` | `0.21 dB` |
|
|
31
|
+
| Monkberry Moon Delight (Sheet) | 0 | `part-1` | `0.9734` | `0.23 dB` |
|
|
32
|
+
| Monkberry Moon Delight (Sheet) | 1 | `part-2` | `0.9550` | `0.40 dB` |
|
|
33
|
+
| Monkberry Moon Delight (Full OMR) | 0 | `part-1` | `0.8345` | `1.57 dB` |
|
|
34
|
+
| Monkberry Moon Delight (Full OMR) | 1 | `part-2` | `0.8327` | `1.59 dB` |
|
|
35
|
+
| Monkberry Moon Delight (Tab) | 0 | `introBed` | `0.8328` | `1.59 dB` |
|
|
36
|
+
| Monkberry Moon Delight (Tab) | 0 | `vocalEntry` | `0.8330` | `1.59 dB` |
|
|
37
|
+
| Monkberry Moon Delight (Tab) | 1 | `introBed` | `0.8338` | `1.58 dB` |
|
|
38
|
+
| Monkberry Moon Delight (Tab) | 1 | `vocalEntry` | `0.8423` | `1.49 dB` |
|
|
39
|
+
|
|
40
|
+
## What This Does Not Prove
|
|
41
|
+
|
|
42
|
+
- It does not prove subjective mix taste.
|
|
43
|
+
- It does not prove every song or every part; this run was bounded to the first four songs and first two parts per song.
|
|
44
|
+
- It does not prove production CDN audio asset availability; this was captured against a local dev server.
|
|
45
|
+
- It does not compare a reference deployment to a candidate deployment.
|
|
46
|
+
|
|
47
|
+
## Artifacts
|
|
48
|
+
|
|
49
|
+
- `proof.json`
|
|
50
|
+
- `console.json`
|
|
51
|
+
- `dom-summary.json`
|
|
52
|
+
- `profile-result.json`
|
|
@@ -18,11 +18,14 @@
|
|
|
18
18
|
"label": "install-neon-exploration-proof",
|
|
19
19
|
"timeout_ms": 10000,
|
|
20
20
|
"store_return_to": "__neonProof.install",
|
|
21
|
-
"script": "window.__neonProofApi=()=>window.__NEON_MIX_PROOF__||window.__RIDDLE_SEQUENCER_PROOF__;
|
|
21
|
+
"script": "window.__neonProofApi=()=>window.__NEON_MIX_PROOF__||window.__RIDDLE_SEQUENCER_PROOF__; const api=window.__neonProofApi(); const state=api?.getState?.()||api?.getSummary?.()||{}; return {available:Boolean(api),hasExplorationSweep:typeof api?.runExplorationSweep==='function',selectedSong:state.selectedSong||null};",
|
|
22
22
|
"return_summary_fields": [
|
|
23
23
|
{
|
|
24
24
|
"path": "available"
|
|
25
25
|
},
|
|
26
|
+
{
|
|
27
|
+
"path": "hasExplorationSweep"
|
|
28
|
+
},
|
|
26
29
|
{
|
|
27
30
|
"path": "selectedSong"
|
|
28
31
|
}
|
|
@@ -36,8 +39,17 @@
|
|
|
36
39
|
},
|
|
37
40
|
{
|
|
38
41
|
"type": "window_call",
|
|
39
|
-
"label": "
|
|
40
|
-
"path": "
|
|
42
|
+
"label": "run-exploration-sweep",
|
|
43
|
+
"path": "__NEON_MIX_PROOF__.runExplorationSweep",
|
|
44
|
+
"args": [
|
|
45
|
+
{
|
|
46
|
+
"maxSongs": 4,
|
|
47
|
+
"maxPartsPerSong": 2,
|
|
48
|
+
"maxWindowsPerPart": 2,
|
|
49
|
+
"monitorProfile": "smallSpeaker",
|
|
50
|
+
"loadAllSources": true
|
|
51
|
+
}
|
|
52
|
+
],
|
|
41
53
|
"store_return_to": "__neonProof.exploration",
|
|
42
54
|
"capture_return": true,
|
|
43
55
|
"timeout_ms": 180000,
|
|
@@ -45,14 +57,26 @@
|
|
|
45
57
|
{
|
|
46
58
|
"path": "ok"
|
|
47
59
|
},
|
|
60
|
+
{
|
|
61
|
+
"path": "status"
|
|
62
|
+
},
|
|
48
63
|
{
|
|
49
64
|
"path": "proofKind"
|
|
50
65
|
},
|
|
51
66
|
{
|
|
52
|
-
"path": "
|
|
67
|
+
"path": "entryCount"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"path": "findingCount"
|
|
53
71
|
}
|
|
54
72
|
]
|
|
55
73
|
},
|
|
74
|
+
{
|
|
75
|
+
"type": "assert_window_value",
|
|
76
|
+
"path": "__neonProof.exploration.proofKind",
|
|
77
|
+
"expected_value": "neon-exploration-sweep",
|
|
78
|
+
"timeout_ms": 10000
|
|
79
|
+
},
|
|
56
80
|
{
|
|
57
81
|
"type": "assert_window_value",
|
|
58
82
|
"path": "__neonProof.exploration.ok",
|
|
@@ -96,10 +120,12 @@
|
|
|
96
120
|
"pack_id": "neon_step_sequencer",
|
|
97
121
|
"pack_public_name": "Neon Step Sequencer Pack",
|
|
98
122
|
"evidence_role_pattern": "current_target",
|
|
99
|
-
"purpose": "
|
|
123
|
+
"purpose": "Bounded exploration sweep over Neon songs, parts, mix profiles, and proof windows for prioritizing the next weakest review target.",
|
|
100
124
|
"required_receipts": [
|
|
101
|
-
"
|
|
102
|
-
"
|
|
125
|
+
"exploration sweep contract is available",
|
|
126
|
+
"song/part entries are captured",
|
|
127
|
+
"all sampled entries pass objective guardrails",
|
|
128
|
+
"prioritized findings are captured",
|
|
103
129
|
"browser health is clean",
|
|
104
130
|
"screenshot is captured"
|
|
105
131
|
],
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
38
|
"type": "window_call",
|
|
39
|
-
"label": "
|
|
39
|
+
"label": "test-claim-candidates-mix-level-search",
|
|
40
40
|
"path": "__NEON_MIX_PROOF__.runRatchetLoop",
|
|
41
41
|
"args": [
|
|
42
42
|
{
|
|
@@ -50,8 +50,7 @@
|
|
|
50
50
|
"maxIterations": 6,
|
|
51
51
|
"monitorProfile": "smallSpeaker",
|
|
52
52
|
"restore": true,
|
|
53
|
-
"applyBest": false
|
|
54
|
-
"minImprovement": 0.1
|
|
53
|
+
"applyBest": false
|
|
55
54
|
}
|
|
56
55
|
],
|
|
57
56
|
"store_return_to": "__neonMixProof.ratchetLoop",
|
|
@@ -68,10 +67,13 @@
|
|
|
68
67
|
"path": "strategy"
|
|
69
68
|
},
|
|
70
69
|
{
|
|
71
|
-
"path": "
|
|
70
|
+
"path": "best.claimVerdict.status"
|
|
72
71
|
},
|
|
73
72
|
{
|
|
74
|
-
"path": "best.
|
|
73
|
+
"path": "best.claimCandidate.action.track"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"path": "supportedClaimCandidateCount"
|
|
75
77
|
}
|
|
76
78
|
]
|
|
77
79
|
},
|
|
@@ -121,16 +123,18 @@
|
|
|
121
123
|
"pack_id": "neon_step_sequencer",
|
|
122
124
|
"pack_public_name": "Neon Step Sequencer Pack",
|
|
123
125
|
"evidence_role_pattern": "interaction_snapshots",
|
|
124
|
-
"purpose": "Run a bounded
|
|
126
|
+
"purpose": "Run a bounded loop that tests Neon mix-level change-claim candidates using the mix-level-search strategy.",
|
|
125
127
|
"required_receipts": [
|
|
126
128
|
"ratchet loop returns ok",
|
|
127
129
|
"baseline proof-window summary is captured",
|
|
128
|
-
"
|
|
129
|
-
"
|
|
130
|
+
"claim candidates are captured",
|
|
131
|
+
"each candidate records claim receipts",
|
|
132
|
+
"best supported claim candidate or human-review status is captured",
|
|
133
|
+
"state restoration receipt is captured"
|
|
130
134
|
],
|
|
131
135
|
"does_not_prove": [
|
|
132
136
|
"subjective mix quality",
|
|
133
|
-
"that
|
|
137
|
+
"that a supported claim candidate should be kept",
|
|
134
138
|
"all possible mix edits"
|
|
135
139
|
]
|
|
136
140
|
}
|