daniel
7f3b00a646
fix: bake-answer messages stop asserting causes the classifier can't see
...
Rewords Cleared/Unanswered/ForeignRequest to name only observed facts and every live hypothesis instead of picking a winner; adds a guarded answeredOutcome accessor against a future unhandled BakeAnswerKind; folds an unreachable BakeScanKey/Context test state; fixes generation-stamp timing.
2026-08-02 06:57:08 -04:00
daniel
962ab64ef0
bake: name the five ways the extension can fail to answer, and move the landing verdict into a pure, tab-provable classifier
...
A no-answer stays a failure; it now says whether the extension never ran the landing, answered a stale generation, spoke a wire this build cannot read, cleared the request, or refused it.
2026-08-02 06:38:04 -04:00
daniel
2a9ab65944
Ψ-W3 remediation: fix the verify doc's wrong render source, add missing content checks, soften unverified claims
...
Corrected the Render-dialog source name the refusal's evidence depends on, added a by-ear content check and a file-size channel proxy, and stopped two comments from overclaiming.
2026-08-01 23:01:50 -04:00
daniel
f69c4bf6bf
Refuse every multi-track selected-tracks render, both scopes; make a failed mono collapse observable
2026-08-01 22:40:54 -04:00
daniel
6e6f4a6a15
Merge Ψ-W2-T2: a bit-identical capture collapses to one lossless mono channel
...
# Conflicts:
# src/shell/capture/CLAUDE.md
# src/shell/capture/capture.cpp
# src/shell/capture/capture.h
2026-08-01 22:23:06 -04:00
daniel
8b191e3379
Ψ-W2-T2 remediation: atomic temp+rename collapse write, honest unknown-channel fallback, [verify — DAW] markers, corrected+filed bake-collapse deferral, observable collapse message, quiet-NaN test
2026-08-01 22:08:39 -04:00
daniel
0feb32d59b
Ψ-W2-T1 remediation: scrim the card name over the waveform, hedge two SDK claims, fix a UTF-8-truncation empty-label bug, file the legibility DAW deferral
2026-08-01 22:08:35 -04:00
daniel
4fa3c1dd15
Ψ-W2-T2: collapse a capture whose channels are bit-identical to one lossless mono channel, index value measured off the landed file
2026-08-01 21:46:55 -04:00
daniel
3278b4eced
Name captures after their source track: label and filename both, on every interactive mint site, and show the name on the panel card
2026-08-01 21:46:53 -04:00
daniel
a0220e8c57
Ψ-W1-T1 second-round remediation: ±1-frame bounds tolerance, self-cleanup a refused render, hedge two unverified render-source inferences
...
Loosens the exact-bounds gate against REAPER's edge rounding; deletes the bytes a BoundsMismatch refusal writes, per prune_fs's self-cleanup carve-out.
2026-08-01 21:18:03 -04:00
daniel
7dc80e7a4f
capture: refuse the multi-track ranged item render, silence the track's children and receives for it, and gate every exact-bounds capture on its frame count
2026-08-01 20:58:33 -04:00
daniel
5e3ea6c851
capture: render a ranged item capture time-bounded — the selected-items source can't narrow a window, only a full-extent one uses it
...
sourceModeForScope now takes the item extent vs. the requested window. Full-extent item captures and the batch keep the old path unchanged.
2026-08-01 19:43:06 -04:00
daniel
a09e45fc1d
Ξ-W2-T1 re-review cleanup: soften ordering claim, bound bake guard fields, dedup gain/play-mode rationale, quiet foreign WrongProject noise
2026-08-01 17:23:00 -04:00
daniel
39c2d1cdb4
Ξ-W2-T1 remediation: print master gain into the bake, derive the window from the dialed sound, reset play mode to Trigger
2026-08-01 17:05:28 -04:00
daniel
60308a3655
Ξ-W2-T1: the resample bake chain — instrument renders, extension banks, one click re-points and resets
2026-08-01 16:26:28 -04:00
daniel
6287534454
fix: classify future-version ledgers with changed record shape correctly, not as corrupt
...
Version-check now runs on the parseLedger failure path too, so a v3 blob whose record shape actually changed reports FutureVersion instead of Unreadable, avoiding the corrupt-blob "clear it" advice. Also closes the six minor findings.
2026-07-30 20:25:46 -04:00
daniel
45b87dc2ff
tracking: read the ledger's version, not just write it; clear owned on any block; channel-correct prune recovery
2026-07-30 20:11:05 -04:00
daniel
7f70d94228
tracking: one ledger, one authority — prune protection and replace-vs-add answered from the same records, fail-safe on unreadable state
2026-07-30 19:44:11 -04:00
daniel
0800760833
Fix drag-out losing audio and FX-container drops losing the capture; re-home ingest under shell/actions
2026-07-29 23:49:53 -04:00
daniel
47ccadf726
Restore review-flagged comment content cut too aggressively in comment reduction
2026-07-29 21:15:00 -04:00
daniel
54f5f24506
Cut shell/capture comment bloat ~33% (comments only, zero code change)
2026-07-29 20:48:59 -04:00
daniel
1f24c4b095
docs: 1.0 documentation restructure
...
Split root CLAUDE.md into 19 per-directory files scoped to their source area.
Roll v0 history into docs/ARCHIVE.md; retire CONTEXT.md, CONTEXT-ARCHIVE.md,
PLAN.md, COMPLETED.md. Move plan docs under docs/. Rescue 9 live deferrals
into docs/TODO.md.
2026-07-29 15:09:48 -04:00
daniel
cd12b97631
Q-W6 review follow-ups: drop stale wav_trim clause, fix stale include comment, idempotent action-table clear, reflow ragged comment, align session.h trailing comments
2026-07-29 13:51:35 -04:00
daniel
f3be4d8cce
Q-W6: registration table (OCP) in main.cpp; bank verbs -> shell/bank_ops(Session&); persist.h + wav_trim + namespaces.h shims deleted; 61/61
...
capture.h realtime seam split to capture_realtime_shell.h; GetProjExtState grow-loop rehomed to core/wire/ext_state_read; stale persist.cpp/bank_panel.cpp comment refs fixed; CLAUDE.md persist/bank_book/actions bullets updated. Command-id suffixes, display phrases, and undo labels byte-identical.
2026-07-29 13:40:09 -04:00
daniel
430e117620
Q-W4: split actions.cpp into design_view_actions/bank_actions/prune_action + shared action_registry; bank verbs deduped into promptless bankOp* inner verbs in panel_bank_ops (one mutation home, two UX skins); command-id strings byte-identical; actions.h shim carrier retired
2026-07-29 12:56:02 -04:00
daniel
6108673c84
Q-W3 rebase fix: hoisted capture TUs include the Q-W2 panel seam headers (panel_bank_ops/panel_input) instead of the deleted bank_panel.h
2026-07-29 11:36:32 -04:00
daniel
8bc5aa1257
Q-W3 review follow-ups: golden hash literal test, CLAUDE.md wav_codec bullet, dead RecordedCapture field comment, makeUniqueTag residual note
2026-07-29 11:33:28 -04:00
daniel
09f7173db2
Q-W3: main.cpp → pointers+entry+dispatch via 4 capture hoists; one pure wav_codec RIFF owner; ICaptureBackend deleted; capture_realtime rename + finalize split; shared stampCaptureSample; makeUniqueTag gains monotonic counter (fixes same-second batch collisions). 60/60 green.
2026-07-29 11:33:28 -04:00
daniel
30a4ffd01b
Q-W2: split bank_panel.cpp (3459 LOC) into eight shell/panel TUs — reasampler::panel internals, per-seam public headers, shim retired; zero behavior change, 60/60 green
2026-07-29 11:29:10 -04:00
daniel
2d59bbe35d
Q-W1 code-review follow-ups: restore 104 trailing newlines, relocate reasampler_uid.h to core/wire, drop ext_keys namespaces shim, add slot_map_tests, golden serialize literals for 4 modules, namespaces.h/pragma-once ordering sweep. 60/60 green.
2026-07-28 21:34:09 -04:00
daniel
847936f813
Q-W1 pt2: core/shell/app relocation + sub-namespaces; one concrete ui::Rect (LTRB fork retired); slot_map split from bank_book; BankIndex→BankModel; 59/59 green
2026-07-28 21:34:09 -04:00