docs(reception): reception panel — a pitch debugger, with its controls - #222
Merged
Conversation
The reception panel is a README/pitch debugger, not a confidence oracle. Two controls make its output falsifiable, and both must exist before dispatch: - predictions.md pins 10 predictions, each verified against the repo, so every finding partitions into KNOWN/NEW/WRONG. If NEW is 0 the harness added nothing and should not be run again. Committed before dispatch so it cannot be edited post-hoc. - slop-metrics.sh answers the measurable part of "is this slop?" deterministically rather than by opinion, calibrated against ripgrep, bat, sd-scripts, ai-toolkit and a scaffold control. Discovery is git ls-files, not os.walk: stale agent worktrees under .claude/ are full repo copies and inflated every count ~4x. Assertions count both macro and method forms -- a macro-only regex scored loractl at 9% zero-assertion tests when the "empty" tests were the burn tensor-equality proofs, and scored bat at 52%. collate-reception.sh enforces the evidence rules mechanically: a finding with no file:line or quoted string is dropped, and a persona over 50% drop rate is discarded as instrument failure rather than read as a result. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G2coLedDz1Kv8kfUdb6Rem
Ran the five-persona panel against the pre-registration committed in 9e33234. NEW=12 against a threshold of 3, so the run earned its cost. Every finding was verified against the real repository before landing in the rollup; the raw reports are kept as the appendix. The four that decide reception, all product gaps rather than doc gaps: - diffusion_trainer.rs:325-328 REJECTS output.sample_every > 0 ("no sample path"). There is no mid-training image preview, and the knob that looks like it errors out. For this audience that loop IS the product. - DatasetConfig.path is one PathBuf: no per-concept subsets, num_repeats or regularization images. - OptimConfig exposes lr + weight_decay only; ss_optimizer is written as metadata, which reads as support and is not. - ai-toolkit/README.md:35 already lists krea/Krea-2-Raw, so the single supported model is not a differentiator. Plus an unauthenticated POST /runs that confines output.dir and resume.from while its own doc comment claims no unvalidated path reaches the trainer; dataset.path and the model.* overrides do. What keeps this honest, and matters more than the findings: - The seeded contradiction was caught (staged README ~1.8 s/step traced to roadmap.md:314's 4482.18 ms unprompted), so the auditor's clean verdict on the real claims means something. - The drive-by persona was DISCARDED by the collator at a 67% evidence-drop rate. It asserted ADR content having seen only ADR filenames, and starred the project on that basis -- the exact "feels like validation" failure the design anticipated. - One finding was refuted by measurement: removing dropout from LoraLinear::forward fails tests/dropout.rs:117 in 2.37s, against the claim that it leaves the suite green. The persona re-asserted it on second pass; the mutation outranks it. - Calibration shows the drive-by discriminates (three verdicts across three repos) but defers to reputation on sd-scripts. On the clean comparison against ai-toolkit, loractl's README wins on first contact. .claude/review-harness.yaml holds everything project-specific so the harness can be pointed at another repo by writing one manifest. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G2coLedDz1Kv8kfUdb6Rem
This was referenced Aug 11, 2026
Owner
Author
|
Follow-ups filed as issues so they survive this PR being merged and closed:
The remaining items — the seven cheap verified fixes, the dataset-subset and optimizer-selection gaps, and the repo cosmetics — are itemized with evidence in |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
A reception panel: agents playing real audience roles reading loractl cold, tuned to r/StableDiffusion. Reframed from the original idea on purpose — this is not a confidence oracle, it is a README/pitch debugger. A simulated reviewer saying "I'd star this" cannot supply confidence, because we wrote the prompt. What it can do well is find where the pitch loses a reader and enumerate what people will demand that the repo cannot supply.
Nothing in
crates/changes. This produces evidence, not code.Result
NEW=12, KNOWN=1, REFUTED=1 against a pre-registration committed before dispatch (9e33234), on a threshold of 3. Every finding was verified against the real repo before it reached the rollup.
The four that decide reception — all product gaps, not doc gaps:
output.sample_every > 0is rejected on the diffusion pathdiffusion_trainer.rs:325-328num_repeats, or regularization imagesconfig.rs:439-441ss_optimizeris written as metadata)config.rs:515-520ai-toolkit/README.md:35Plus one security-adjacent finding: unauthenticated
POST /runsconfinesoutput.dirandresume.from, while its own doc comment claims no unvalidated path reaches the trainer —dataset.pathand themodel.*overrides do (routes.rs:100-124). No ADR covers it.Seven cheap verified fixes (README says "Three crates" for a four-member workspace, backend list omits
candle, precision list omitsbf16, presets omitkrea2-comfyui, a stale "never executed by any test" comment, a presence-keyedLORACTL_SKIP_GRAD_CHECK, a hand-bumped cache literal) are itemized in the rollup.Why the controls matter more than the findings
The stated risk was that a panel can be confidently wrong in a way that feels like validation. It happened, and the controls caught it:
file:line.LoraLinear::forward"leaves the whole suite green". Applying that exact mutation failstests/dropout.rs:117in 2.37s. It re-asserted the claim on second pass; the mutation outranks it.~1.8 s/step; it traced that toroadmap.md:314's 4482.18 ms unprompted, so its clean verdict on the real claims is worth something.CLAUDE.md, or.claude/. Contamination check: zero hits."Is this slop?" — answered mechanically, not by opinion
scripts/slop-metrics.sh, deterministic, calibrated against five comparables:Two measurement bugs were found and fixed before any number was quoted, both of which produced plausible wrong answers:
os.walkdiscovery counted stale agent worktrees under.claude/(full repo copies, ~4x inflation — nowgit ls-files), and a macro-only assertion regex scored loractl at 9% zero-assertion tests when those were the burn tensor-equality proofs using.assert_approx_eq::<f32>(…)— the same bug scoredbatat 52%.Recommendation
Read
docs/reception/2026-08-11/rollup.md§7. Short version: the panel surfaced a venue mismatch that was not among the original four questions. What is strongest here — the architectural invariant, numerics pinned against upstream source, the refusal to publish a misleading cross-tool benchmark — are r/rust virtues. What r/SD evaluates on is four "no"s today. Land the cheap fixes, post to r/rust first, and treat mid-training sampling as the gate for r/StableDiffusion.Reusable shape
.claude/review-harness.yamlholds everything project-specific (pitch, tier globs, comparables, seed definition, persona roster), so pointing this at the ComfyUI packs or FoundryVTT modules means writing one manifest and changing nothing else. Promotion toclaude-pluginsskills is deliberately deferred until the shape has survived this one real run — which it now has, with the caveat that the drive-by persona needs a stricter evidence rule before it is trustworthy alone.Verification
slop-metrics.shandcollate-reception.shboth byte-identical across two runsgit diffclean)🤖 Generated with Claude Code
https://claude.ai/code/session_01G2coLedDz1Kv8kfUdb6Rem