@riddledc/riddle-proof-packs 0.2.1 → 0.3.0

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.
Files changed (30) hide show
  1. package/README.md +13 -0
  2. package/dist/index.cjs +1035 -6
  3. package/dist/index.js +1035 -6
  4. package/package.json +2 -2
  5. package/packs/audio-mix/README.md +30 -0
  6. package/packs/audio-mix/authoring-guide.md +35 -0
  7. package/packs/audio-mix/human-review-rubric.md +31 -0
  8. package/packs/audio-mix/metrics-schema.json +30 -0
  9. package/packs/audio-mix/profile.template.json +130 -0
  10. package/packs/audio-mix/ratchet-method.md +26 -0
  11. package/packs/neon-step-sequencer/README.md +41 -0
  12. package/packs/neon-step-sequencer/case-study/findings.md +102 -0
  13. package/packs/neon-step-sequencer/case-study/ratchet-card.md +39 -0
  14. package/packs/neon-step-sequencer/case-study/ratchet-log.md +203 -0
  15. package/packs/neon-step-sequencer/case-study/reusable-lessons.md +27 -0
  16. package/packs/neon-step-sequencer/examples/README.md +20 -0
  17. package/packs/neon-step-sequencer/examples/run-001-fast-mix-health/profile-result.json +5010 -0
  18. package/packs/neon-step-sequencer/examples/run-001-fast-mix-health/summary.md +37 -0
  19. package/packs/neon-step-sequencer/examples/run-002-mix-change/profile-result.json +6816 -0
  20. package/packs/neon-step-sequencer/examples/run-002-mix-change/summary.md +37 -0
  21. package/packs/neon-step-sequencer/examples/run-003-full-matrix/profile-result.json +18490 -0
  22. package/packs/neon-step-sequencer/examples/run-003-full-matrix/summary.md +33 -0
  23. package/packs/neon-step-sequencer/profile.template.json +75 -0
  24. package/packs/neon-step-sequencer/profiles/explore-songs-and-mixes.json +112 -0
  25. package/packs/neon-step-sequencer/profiles/fast-mix-health.json +181 -0
  26. package/packs/neon-step-sequencer/profiles/full-mix-health-matrix.json +154 -0
  27. package/packs/neon-step-sequencer/profiles/mix-change-before-after.json +202 -0
  28. package/packs/neon-step-sequencer/profiles/mobile-trainer-layout.json +109 -0
  29. package/packs/neon-step-sequencer/profiles/playback-sync.json +126 -0
  30. package/packs/neon-step-sequencer/profiles/source-readiness.json +114 -0
@@ -0,0 +1,203 @@
1
+ # Neon Ratchet Lab
2
+
3
+ ## Goal
4
+
5
+ Use Riddle Proof to improve confidence in Neon Step Sequencer mix behavior by building a reusable proof pack and iterating only user-controlled proof layers where possible.
6
+
7
+ ## Rule
8
+
9
+ Each run records:
10
+
11
+ - claim
12
+ - profile used
13
+ - evidence captured
14
+ - status
15
+ - failure classification
16
+ - smallest layer changed
17
+ - next sharper question
18
+
19
+ ## Classification vocabulary
20
+
21
+ - `product_regression`: app behavior is wrong.
22
+ - `proof_insufficient`: the proof cannot support the claim yet.
23
+ - `profile_calibration`: the profile targets the wrong state, timing, fixture, or threshold.
24
+ - `app_contract_gap`: the app needs a small diagnostic surface.
25
+ - `runtime_environment_blocked`: browser, preview, or runtime failed before useful evidence.
26
+ - `needs_human_review`: evidence is real but subjective judgment remains.
27
+
28
+ ## Run 001 - Fast mix-health baseline
29
+
30
+ Claim:
31
+
32
+ Neon exposes enough proof state to connect UI mixer settings to rendered metrics.
33
+
34
+ Profile:
35
+
36
+ `profiles/fast-mix-health.json`
37
+
38
+ Evidence to capture:
39
+
40
+ - Neon route and selected song
41
+ - proof contract availability
42
+ - readable mixer state
43
+ - source-preparation receipt
44
+ - offline render metrics
45
+ - screenshot and console health
46
+
47
+ Observed status:
48
+
49
+ Passed on May 24, 2026 with `local-playwright`.
50
+
51
+ Observed evidence:
52
+
53
+ - route observed: `/games/drum-sequencer`
54
+ - proof contract available: `true`
55
+ - source-preparation receipt: drums `samples`; bass, chord, and guitar `hybrid`; vocal `voice_oohs`
56
+ - all source loaded flags true
57
+ - mix RMS `0.1234`
58
+ - mix peak `0.8321`
59
+ - headroom `1.6 dB`
60
+ - clipping `false`
61
+ - active instrument count `6`
62
+ - console fatal count `0`
63
+ - horizontal overflow `0 px`
64
+
65
+ Failure classification:
66
+
67
+ None. This was a passing `current_target` audit.
68
+
69
+ Smallest layer changed:
70
+
71
+ LilArcade added the minimal Neon proof contract and local profile JSON. Riddle Proof core did not need a change.
72
+
73
+ Next sharper question:
74
+
75
+ If the baseline can read/render enough state, does a visible mix edit produce measurable audio movement without clipping?
76
+
77
+ ## Run 002 - Mix change interaction snapshots
78
+
79
+ Claim:
80
+
81
+ A visible bass-focus mix change produces measurable rendered audio movement without clipping.
82
+
83
+ Profile:
84
+
85
+ `profiles/mix-change-before-after.json`
86
+
87
+ Evidence to capture:
88
+
89
+ - pre-action offline render metrics
90
+ - mixer level change receipt
91
+ - post-action offline render metrics
92
+ - metric movement classification
93
+ - post-action screenshot and console health
94
+
95
+ Possible outcomes:
96
+
97
+ - `product_regression`: visible control does not affect render path.
98
+ - `proof_insufficient`: render metrics are too coarse or missing.
99
+ - `profile_calibration`: chosen bars do not contain enough bass energy.
100
+ - `needs_human_review`: objective movement exists but taste is unresolved.
101
+
102
+ Observed status:
103
+
104
+ Passed on May 24, 2026 with `local-playwright`.
105
+
106
+ Observed evidence:
107
+
108
+ - bass level changed from `0.62` to `1.35`
109
+ - bass RMS moved from `0.0507` to `0.1071`
110
+ - mix RMS moved from `0.073` to `0.1264`
111
+ - post-action mix peak was `0.6555`
112
+ - clipping after edit was `false`
113
+ - console fatal count `0`
114
+ - horizontal overflow `0 px`
115
+
116
+ Failure classification:
117
+
118
+ None. This was a passing `interaction_snapshots` proof.
119
+
120
+ Smallest layer changed:
121
+
122
+ The profile asked a sharper question using the existing app proof contract. No Riddle Proof core change was required.
123
+
124
+ Next sharper question:
125
+
126
+ Does the same pack hold across device-shaped viewports and trainer layout constraints?
127
+
128
+ ## Run 003 - Viewport matrix
129
+
130
+ Claim:
131
+
132
+ The mix-health proof holds across desktop, phone, iPad Mini, and iPad while preserving route, contract, metrics, and layout receipts.
133
+
134
+ Profile:
135
+
136
+ `profiles/full-mix-health-matrix.json`
137
+
138
+ Evidence to capture:
139
+
140
+ - per-viewport route and contract receipts
141
+ - per-viewport screenshot
142
+ - offline metric receipt
143
+ - mobile overflow check
144
+ - console health
145
+
146
+ Possible outcomes:
147
+
148
+ - `product_regression`: layout/control state is broken.
149
+ - `profile_calibration`: profile selector or viewport threshold is too brittle.
150
+ - `app_contract_gap`: responsive state is invisible to proof.
151
+ - `runtime_environment_blocked`: preview/browser cannot sustain the matrix.
152
+
153
+ Observed status:
154
+
155
+ Passed on May 24, 2026 with `local-playwright`.
156
+
157
+ Observed evidence:
158
+
159
+ - desktop, phone, iPad Mini, and iPad all observed `/games/drum-sequencer`
160
+ - all viewports reported `0 px` horizontal overflow
161
+ - all viewports rendered offline metrics with RMS `0.0732`, peak `0.5402`, and no clipping
162
+ - console fatal count `0`
163
+
164
+ Failure classification:
165
+
166
+ None. This was a passing `current_target` matrix audit.
167
+
168
+ Smallest layer changed:
169
+
170
+ Only the profile widened the evidence scope to multiple viewports.
171
+
172
+ Next sharper question:
173
+
174
+ Can the pack explore song/mix combinations and produce a prioritized confidence map?
175
+
176
+ ## Run 004 - Exploration sweep
177
+
178
+ Claim:
179
+
180
+ The pack can identify which proof windows or song/mix combinations need attention.
181
+
182
+ Profile:
183
+
184
+ `profiles/explore-songs-and-mixes.json`
185
+
186
+ Evidence to capture:
187
+
188
+ - app-provided proof windows
189
+ - window-level render verdicts
190
+ - failing or review-needed windows
191
+ - compact summary for human handoff
192
+
193
+ Expected outcome:
194
+
195
+ Either a clean confidence map or a prioritized finding list.
196
+
197
+ ## Project note
198
+
199
+ The ratchet is not a pass. The ratchet is the next sharper question.
200
+
201
+ ## Runner note
202
+
203
+ The local Playwright runner wrote complete passing artifacts for Runs 002 and 003, then the wrapper process lingered after artifact write and had to be stopped. That is an ergonomics issue for runner shutdown behavior, not evidence of a Neon product failure. The example `profile-result.json` files are complete and passed.
@@ -0,0 +1,27 @@
1
+ # Reusable Lessons
2
+
3
+ ## Atomic proof first
4
+
5
+ Start with the smallest claim that can produce useful evidence. For Neon, that is not "the mix sounds good"; it is route, contract, source readiness, render metrics, no silence, and no clipping.
6
+
7
+ ## Failure is product input
8
+
9
+ A failing run should become a clearer classification, not a vague "Riddle caught a bug" headline. Use `product_regression`, `proof_insufficient`, `profile_calibration`, `app_contract_gap`, `runtime_environment_blocked`, and `needs_human_review`.
10
+
11
+ ## App contracts beat scraping
12
+
13
+ Complex audio state is easier to prove when the app exposes a small redacted proof contract. Scraping visible controls is still useful, but rendered metric agreement needs intentional app state.
14
+
15
+ ## Keep metrics compact
16
+
17
+ Large metrics belong in artifacts. The summary should answer:
18
+
19
+ - did the render complete?
20
+ - did the mix clip?
21
+ - was it silent?
22
+ - did the intended metric move?
23
+ - what should a human review next?
24
+
25
+ ## Core changes are last
26
+
27
+ Most ratchet steps should change profile JSON, pack docs, app proof contracts, or app fixtures. Riddle Proof core changes are justified only when the missing primitive applies beyond Neon.
@@ -0,0 +1,20 @@
1
+ # Neon Step Sequencer example runs
2
+
3
+ These examples are local Playwright runner outputs captured against LilArcade Neon Step Sequencer on May 24, 2026. They are included to show how this pack records atomic proof claims with explicit evidence-role patterns.
4
+
5
+ The raw `profile-result.json` files are real runner outputs. They intentionally keep enough evidence to audit the verdict, but the summaries are the preferred place to start.
6
+
7
+ ## Runs
8
+
9
+ | Run | Evidence-role pattern | Status | Claim |
10
+ | --- | --- | --- | --- |
11
+ | `run-001-fast-mix-health` | `current_target` | passed | The current Neon target exposes a proof contract, source receipts, and a bounded offline mix-health render. |
12
+ | `run-002-mix-change` | `interaction_snapshots` | passed | A bass-level edit changes rendered bass and mix metrics without clipping. |
13
+ | `run-003-full-matrix` | `current_target` | passed | The mix-health proof holds across desktop, phone, iPad Mini, and iPad viewports. |
14
+
15
+ ## What these examples do not prove
16
+
17
+ - They do not prove subjective mix taste.
18
+ - They do not prove every song, section, or mix preset.
19
+ - They do not prove production CDN asset availability; these were local dev-server runs.
20
+ - They do not prove a reference/candidate release delta. The mix-change run uses pre-action/post-action snapshots inside one proof run, not a separate baseline deployment.