@riddledc/riddle-proof-packs 0.3.0 → 0.4.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.
- package/dist/index.cjs +143 -2
- package/dist/index.js +143 -2
- package/package.json +1 -1
- package/packs/neon-step-sequencer/README.md +9 -1
- package/packs/neon-step-sequencer/case-study/findings.md +12 -1
- package/packs/neon-step-sequencer/case-study/ratchet-card.md +2 -1
- package/packs/neon-step-sequencer/case-study/ratchet-log.md +41 -9
- package/packs/neon-step-sequencer/case-study/reusable-lessons.md +4 -0
- package/packs/neon-step-sequencer/examples/README.md +2 -0
- package/packs/neon-step-sequencer/examples/run-004-ratchet-loop-mix-level-search/profile-result.json +7003 -0
- package/packs/neon-step-sequencer/examples/run-004-ratchet-loop-mix-level-search/summary.md +39 -0
- package/packs/neon-step-sequencer/profiles/ratchet-loop-mix-level-search.json +137 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Run 004 - Ratchet Loop Mix-Level Search
|
|
2
|
+
|
|
3
|
+
- profile: `lilarcade-neon-ratchet-loop-mix-level-search`
|
|
4
|
+
- evidence_role_pattern: `interaction_snapshots`
|
|
5
|
+
- status: `passed`
|
|
6
|
+
- captured_at: `2026-05-24T03:31:26.020Z`
|
|
7
|
+
- runner: `local-playwright`
|
|
8
|
+
- target: `http://127.0.0.1:5173/games/drum-sequencer?song=monkberry-moon-delight-tab&mix=profile&view=trainer&instrument=bass`
|
|
9
|
+
|
|
10
|
+
## Atomic Claim
|
|
11
|
+
|
|
12
|
+
The current Neon target can run a bounded ratchet loop that proposes mix-level candidates, applies each candidate, captures proof-window evidence, ranks candidates by objective metrics, and restores the app state after the run.
|
|
13
|
+
|
|
14
|
+
## Evidence
|
|
15
|
+
|
|
16
|
+
| Field | Value |
|
|
17
|
+
| --- | --- |
|
|
18
|
+
| strategy | `mix-level-search` |
|
|
19
|
+
| focus tracks | `bass`, `chord`, `guitar`, `rhythmSynth` |
|
|
20
|
+
| candidates tested | `6` |
|
|
21
|
+
| baseline score | `28.83345` |
|
|
22
|
+
| best score | `27.0708` |
|
|
23
|
+
| objective improvement | `1.7627` |
|
|
24
|
+
| best candidate | `chord -0.10` to level `0.28` |
|
|
25
|
+
| loop status | `candidate_found` |
|
|
26
|
+
| restored after run | `true` |
|
|
27
|
+
|
|
28
|
+
Console fatal count was `0`.
|
|
29
|
+
|
|
30
|
+
## Verdict
|
|
31
|
+
|
|
32
|
+
Passed. The bounded loop produced a reviewable candidate packet without permanently applying the candidate.
|
|
33
|
+
|
|
34
|
+
## What This Does Not Prove
|
|
35
|
+
|
|
36
|
+
- subjective mix quality
|
|
37
|
+
- that the candidate should be kept without listening review
|
|
38
|
+
- that all possible mix edits were searched
|
|
39
|
+
- that the ratchet loop primitive is mix-specific
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "riddle-proof.profile.v1",
|
|
3
|
+
"name": "neon-step-sequencer-ratchet-loop-mix-level-search",
|
|
4
|
+
"target": {
|
|
5
|
+
"route": "/games/drum-sequencer?song=monkberry-moon-delight-tab&mix=profile&view=trainer&instrument=bass",
|
|
6
|
+
"viewports": [
|
|
7
|
+
{
|
|
8
|
+
"name": "desktop",
|
|
9
|
+
"width": 1440,
|
|
10
|
+
"height": 1000
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"timeout_sec": 360,
|
|
14
|
+
"wait_for_selector": ".drum-sequencer h1",
|
|
15
|
+
"setup_actions": [
|
|
16
|
+
{
|
|
17
|
+
"type": "window_eval",
|
|
18
|
+
"label": "capture-neon-contract",
|
|
19
|
+
"timeout_ms": 10000,
|
|
20
|
+
"store_return_to": "__neonMixProof.contract",
|
|
21
|
+
"script": "const contract=window.__NEON_MIX_PROOF__; const diagnostic=contract?.captureDiagnostic?.(); window.__neonMixProof={...(window.__neonMixProof||{}),contract:{available:Boolean(contract),diagnostic}}; return window.__neonMixProof.contract;",
|
|
22
|
+
"return_summary_fields": [
|
|
23
|
+
{
|
|
24
|
+
"path": "available"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"path": "diagnostic.selectedSong.selectedSong"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"type": "assert_window_value",
|
|
33
|
+
"path": "__neonMixProof.contract.available",
|
|
34
|
+
"expected_value": true,
|
|
35
|
+
"timeout_ms": 10000
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"type": "window_call",
|
|
39
|
+
"label": "run-ratchet-loop-mix-level-search",
|
|
40
|
+
"path": "__NEON_MIX_PROOF__.runRatchetLoop",
|
|
41
|
+
"args": [
|
|
42
|
+
{
|
|
43
|
+
"strategy": "mix-level-search",
|
|
44
|
+
"focusTracks": [
|
|
45
|
+
"bass",
|
|
46
|
+
"chord",
|
|
47
|
+
"guitar",
|
|
48
|
+
"rhythmSynth"
|
|
49
|
+
],
|
|
50
|
+
"maxIterations": 6,
|
|
51
|
+
"monitorProfile": "smallSpeaker",
|
|
52
|
+
"restore": true,
|
|
53
|
+
"applyBest": false,
|
|
54
|
+
"minImprovement": 0.1
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
"store_return_to": "__neonMixProof.ratchetLoop",
|
|
58
|
+
"capture_return": true,
|
|
59
|
+
"timeout_ms": 240000,
|
|
60
|
+
"return_summary_fields": [
|
|
61
|
+
{
|
|
62
|
+
"path": "ok"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"path": "status"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"path": "strategy"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"path": "improvement"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"path": "best.candidate.track"
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"type": "assert_window_value",
|
|
80
|
+
"path": "__neonMixProof.ratchetLoop.ok",
|
|
81
|
+
"expected_value": true,
|
|
82
|
+
"timeout_ms": 10000
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"type": "screenshot",
|
|
86
|
+
"label": "neon-ratchet-loop-mix-level-search",
|
|
87
|
+
"mode": "viewport"
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
"checks": [
|
|
92
|
+
{
|
|
93
|
+
"type": "route_loaded",
|
|
94
|
+
"expected_path": "/games/drum-sequencer"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"type": "selector_visible",
|
|
98
|
+
"selector": ".drum-sequencer h1"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"type": "no_horizontal_overflow"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"type": "no_fatal_console_errors"
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
"artifacts": [
|
|
108
|
+
"screenshot",
|
|
109
|
+
"console",
|
|
110
|
+
"dom_summary",
|
|
111
|
+
"proof_json"
|
|
112
|
+
],
|
|
113
|
+
"baseline_policy": "invariant_only",
|
|
114
|
+
"failure_policy": {
|
|
115
|
+
"environment_blocked": "neutral",
|
|
116
|
+
"proof_insufficient": "review",
|
|
117
|
+
"needs_human_review": "review",
|
|
118
|
+
"product_regression": "fail"
|
|
119
|
+
},
|
|
120
|
+
"metadata": {
|
|
121
|
+
"pack_id": "neon_step_sequencer",
|
|
122
|
+
"pack_public_name": "Neon Step Sequencer Pack",
|
|
123
|
+
"evidence_role_pattern": "interaction_snapshots",
|
|
124
|
+
"purpose": "Run a bounded automated ratchet loop using the Neon mix-level-search strategy.",
|
|
125
|
+
"required_receipts": [
|
|
126
|
+
"ratchet loop returns ok",
|
|
127
|
+
"baseline proof-window summary is captured",
|
|
128
|
+
"candidate attempts are captured",
|
|
129
|
+
"best candidate or human-review status is captured"
|
|
130
|
+
],
|
|
131
|
+
"does_not_prove": [
|
|
132
|
+
"subjective mix quality",
|
|
133
|
+
"that the best objective candidate should be kept",
|
|
134
|
+
"all possible mix edits"
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
}
|