-
2026-08-29
commit · git
render.sh: emit the --render form the installed OpenSCAD build accepts (fixes the render camera opt) (#408)
Shai Perednik shai
-
2026-08-29
commit · git
Fix teardrop_hole() point orientation to +Z as documented; pin it with a mates manifest (#424)
Shai Perednik shai
-
2026-08-25
commit · git
sbc-case: reviewer act-now list from #371 (vent re-web + product-page pass) (#397)
Shai Perednik shai
-
2026-08-24
decision · PM.md
Vent re-web: five 12 mm slots @ 11.5 mm pitch → four @ 15 mm pitch
0.5 mm overlap fused them into one 58 mm bridge that sags in PETG (Jane, PR #371); 4 @ 15 gives 3 mm webs and real 12 mm bridges at the same span, re-gated 100/100 (NOTES 13)
Cass cass
-
2026-08-24
decision · PM.md
Round-2 product-page pass (Vera triage of PR #371, merged): product-populated shot, notch camera, print-settings + serviceability + care lines, hero caption
both reviewers passed at head; act-now was textual + one geometry (vents). Stepped bore, lip chamfer, printed foot, ribbon measurement, exploded size, ports camera → backlog B4–B9
Cass cass
-
2026-08-24
decision · PM.md
Round 2b (PR #397 pm-triage): notch camera widened dist 170→230 pre-freeze, vents "supports off / PETG droop" line, ASA fits clause, fan-life "typically"
both reviewers passed again; Vera act-now'd four copy/framing touches. notch widened inside its first review round — the freeze attaches to a shot that has survived a round, so widening now is one line vs a notch-wide companion after merge (a considered interpretation, recorded); SD-swap ergonomics → B10 field-test
Cass cass
-
2026-08-24
decision · PM.md
B0 — floating skirt (round 2c, PR #397): center = true on the +X/−X/−Y open-edge cuts centred them on skirt_top, floating the wall 16.75 mm over the bed (sbc-case.scad open-edge cuts; NOTES decision 16). Inherited from merged #371 — main carried it until this PR.
Drik blocked, Vera upheld it as an N4 violation. Found by Drik's round-2b finger-check, missed by every gate and by Jane. Fix = keep center = true (needed for the X/Y straddle — deleting it, as Drik and Vera both proposed, mis-cuts) and lift the Z so the cut floor rests on skirt_top; re-verified skirt restored, base 100/100. Second #69-class escape (7-body rounded_box was the first) → DoD gains a first-real-print row
Cass cass
-
2026-08-24
decision · PM.md
Round 3 (PR #397 pm-triage): both reviewers pass at head post-B0 (Drik's block cleared, Jane re-signed after making the wall-to-bed check permanent); act-now was page currency + honesty only — the contact-sheet conf row, the false "hidden once the lid is on" droop clause, the SD-swap interim wording, the product-populated caption, the coupon dimension, the ASSEMBLY step-1 trim
sbc-case.scad frozen (nothing act-now is geometry). The ownerless previews/contact-sheet.png (byte-identical to base 978c9ba, no cameras.conf row so no regen path — still showed the pre-B0 floating skirt) is the third #69-class escape on this design (7-body frame, floating skirt, ownerless exhibit); fix = the bare contact-sheet row so regen owns it. Backlog re-rank: B7 above B5/B6, B8 up a nudge; the multi-color populated render declined as a pipeline property, not this design's to change
Cass cass
-
2026-08-24
decision · PM.md
Round 4 (PR #397 pm-triage): both reviewers pass at head 42b8bea — the sign-off round round-3 predicted; every round-3 act-now item verified landed. Act-now was two text lines + a free PR-body edit — the README flush clause (short version), the NOTES print-time sync (~5h/2.5h → the gate's 2h46m/1h38m), and the PR body's stale "only geometry change is the vent re-web" line
sbc-case.scad frozen — the freeze held through rounds 3 and 4 (both page-only), so the geometry verification stamped at 2c/3 is what ships. B10 re-scoped to card + four front-edge plugs (Drik: the RPI4 vitamin draws them top-side, no render witnesses overmold-vs-rim, DOA at minute zero); B4 up (prose is the flush guard in two places now; the stepped bore is the durable fix); B7 holds. Vera did not block a merge on the two passes at this head — the merge is the human's shape call
Cass cass
-
2026-08-24
decision · PM.md
Round 5 (PR #397 pm-triage): both reviewers pass again at 47bd7ce (2nd consecutive both-pass; geometry frozen since 2c). Act-now = three assembly.conf BOM strings — screw lengths x6/x10/x20 read as quantities beside the Qty column → ×6 mm/×10 mm/×20 mm
The BOM is this design's N2 deliverable ("assemble exactly as the BOM says"), the strings are ours (authored, not vendored/generator-emitted), so the fix is in-scope and cheap; regen re-emits ASSEMBLY.md. Re-rank: B7 above B4 (Drik's recoverability principle — a sunken insert walks back with a soldering iron; a scraped card / blocked ribbon socket don't; B4 keeps its round-4 why). New B11 — fan-aperture finger guard (Drik [customer-sense], queued: N4 proof + airflow cost checked when built). Freeze held rounds 3–5, page-only throughout. Vera did not block a merge on the two passes at this head
Cass cass
-
2026-08-24
decision · PM.md
Round 6 (PR #397 pm-triage, head 21325fc): Drik passes; Jane's round at this head did not complete (retry stamp jane: failure during a total LLM-provider outage — her latest pass 47bd7ce stands, one text-only commit behind). Act-now = two N2-surface strings — the README hardware line (the 8 heat-set inserts are a third cart: "three carts, not five", not "one assortment plus a fan") and the assembly.conf insert BOM wording ("4 base lid-screw posts, 4 lid fan bosses"); regen re-emits ASSEMBLY.md
sbc-case.scad untouched — freeze held rounds 3–6, page-only since 2c. Declined the "dome or cap" BOM change (a hunch never drives a BOM change under N2; the dome rationale recorded in NOTES instead). B8 demote declined (premise disputed by its originator, rank holds, resolves on stranger-assembly evidence). Keep-guards: the SD-swap should asterisk stays until B10 logs; ASSEMBLY steps 1–6 stay verbatim (fan-last avoids the wire pinch). The reviewer-signoff currency call on Jane's one-commit-behind pass is the gate's, not the PM's; Vera did not block a merge
Cass cass
-
2026-08-24
decision · PM.md
Round 7 (PR #397 pm-triage, head 5cada8f): both reviewers pass — Jane re-ran fresh at 5cada8f (providers recovered, her round-6 stale-signoff cleared), Drik at 9771d3f (one regen-emit behind). Act-now = three text-only strings — the vent line names the 2.0 mm wall span (12 mm is the tunnel length; "~12 mm bridge" could scare a reader into flipping supports on, the failure it guards against — Jane); the ASSEMBLY step-7 fan-lead routing clause (out the GPIO notch to the fan header / 5 V + GND — step 7 had stopped at the mechanical bolt-on, "the gates measure everything except where the electricity goes" — Drik); feet on the README bill ("three carts" → "four carts, not five" — the page's own anti-walk measure wasn't billed)
sbc-case.scad untouched — freeze held rounds 3–7, page-only since 2c. Declined: assembled-with-fan height (its originator withdrew it); the ASSEMBLY regen-lag (resolved at head — 5cada8f re-emitted the insert row). Queued: step-1 FLUSH reinforces B4; the feet ASSEMBLY row is B6 (a glue-on dot isn't an N2 assembly vitamin — the printed-foot parameter is the durable billable choice). B10 widened again (fan-wire landing + 1 a.m. noise log). notch-camera QA closed by Vera's own eyeball. Vera did not block a merge; the currency call on Drik's one-behind pass is reviewer-signoff's
Cass cass
-
2026-08-24
decision · PM.md
Round 8 (PR #397 pm-triage, head 5db3e7c): both reviewers pass, fresh at the same head — Jane a formal APPROVE, Drik pass; the PR's first all-confirmation round (every finding a [saw-it]/[used-it] verification or queue-tier keep-guard, zero act-now)
sbc-case.scad frozen — freeze held rounds 3–8, page-only since 2c. Keep-guards into the charter: the regen-owned contact-sheet row is the print-pose detector for not-touching-the-bed defects (never dropped for render time); the step-1 FLUSH prose survives B4's stepped bore. B9's cell gains the ports footnote — a future connectors-clear-the-rim claim takes a new ports-rim entry, never a reframe. No re-rank
Cass cass
-
2026-08-24
decision · PM.md
Round 9 (PR #397 pm-triage, head 5db3e7c → push 86a25c2): both reviewers pass; Vera re-triaged the findings that landed after the round-8 triage (Drik's fuller round-8 + Jane's re-run) and ruled three text-only act-nows — (1) the fan-lead tether (the round-7 step-7 routing clause created it: leads to the board, fan on the lid), so step 7 + the README "Serviceable" bullet now say unplug the fan lead at the header before lifting the lid; (2) ASA vent-ceiling clause (ASA bridges the 2 mm ceiling fuzzier than PETG — same "reader mistakes a normal artifact for a defect" class as round 7's vent-span line); (3) coupon global elephant-foot is fine (the base crop's fit is a vertical face the comp never touches)
sbc-case.scad untouched — freeze held rounds 3–9, page-only since 2c. Queued: the "quieter at night" wording → B10 (the fan40x11 vitamin carries no wire count; the 1 a.m. noise log settles it); the tether's reach-with-slack lived question → B10. Standing rule (Vera): after this batch the page is retired to B10 — page-only findings queue behind the first real print by default, unless they touch a non-negotiable or page honesty. B10 → top of the open rows. Vera did not block a merge
Cass cass
-
2026-08-24
decision · PM.md
Round 10 (PR #397 pm-triage, head 99fdc73 = CI regen commit-back on push 8ebc344): both reviewers pass again (Jane fresh at 8ebc344, Drik re-run). One act-now — the notch caption honesty fix: the alt text "header reaching through" (README) + the matching previews/CAMERAS.md phrase claimed the 2×20 pins reach through the notch, but the pins top at 16.9 mm while gpio_notch_bottom = 17.5 (sbc-case.scad:77), so they sit ~0.6 mm below the notch lip, behind solid wall — the notch clears a jumper/Dupont housing (19.4 mm, over the 17.5 lip) with the lid on, not the pins. Corroborated: Drik's own §6 misread the exhibit ("pins visibly reach through") — the caption misleading a careful reviewer
The page-honesty exception the round-9 retirement rule reserves ("unless they touch page honesty"), filed as one by Jane — same class as round 3's false "hidden once the lid is on" clause. Camera stays frozen (don't reframe); sbc-case.scad frozen (geometry sound, only the words were wrong). Queued: shouldered-insert-tip → B4; occupied-notch guard → B7; 2 a.m. by-feel framing → B10; populated-charcoal is intentional (keep-guard). ASSEMBLY.md regen-lag resolved at head. Vera did not block a merge
Cass cass
-
2026-08-24
decision · PM.md
Round 11 (PR #397 pm-triage, head a220364): both reviewers pass — Jane fresh at a220364, Drik at 99fdc73 (one text-commit behind; currency is reviewer-signoff's). One act-now — a one-word honesty fix: the "Living with it" SD-swap bullet cited "(the field test in NOTES)" as the verification, but NOTES has no ## Field test log yet (that entry is B10, pending) — a stranger following the parenthetical finds an engineering log, not a test → "the planned field test in NOTES" (README). The reserved page-honesty exception again (round-9 retirement rule), same class as round 10's caption / round 3's "hidden once the lid is on"
sbc-case.scad frozen (geometry unchanged since 2c). Keep-guard: ports.png and top.png stay committed but off-page, both intentional (ports = B9's reserved evidence image — a connectors-clear-the-rim claim takes a new ports-rim entry, never a reframe; top = carried by the contact-sheet's own top view). Drik's "header reaches through" read (his §, reviewed at 99fdc73 before the caption fix) is the third such misread — corrected by evidence (pins ~0.6 mm below the notch lip); the jumper-exit promise it rode is true. Second consecutive both-pass round; the page is retired to B10, and this one word is the last thing the page owed before the print. Vera did not block a merge
Cass cass
-
2026-08-24
decision · PM.md
Round 12 (PR #397 pm-triage, head 6dcebba): both reviewers pass, fresh at the same head (Drik round 11, Jane round 12 formal APPROVE; both fuse=none) — the PR's first zero-act-now round since round 8, and this time it holds: the round-9 retirement rule blocks any further page act-now (only B10, a physical print, remains)
sbc-case.scad frozen. Two queue-tier filings: Jane's lid-seating note (the lid seats soft over the 55 mm GPIO-notch span — press over the posts, not the notch; mid-notch flex could whiten a PETG lip edge over ~50 lid-offs) → B10; Drik's exploded-view insert-vs-screw legibility (intentional, the BOM cross-read is the answer) → B8 keep-guard. iso.png byte-checked valid at head (Jane's reader refusal was tool-side). Vera did not block a merge
Cass cass
-
2026-08-24
decision · PM.md
Round 13 (PR #397 pm-triage, head 6dcebba): both reviewers pass again (Drik round 13, Jane fresh full pass). One act-now — the product-populated caption straggler, the page-honesty exception's third invocation: the italic caption (README) still read "gold header pins through the wall", the round-3 wording that outlived round 10's fix of the same false claim in the notch alt-text + CAMERAS.md — the page contradicted its own corrected exhibit one screen apart, and Drik's image tool made the same misread unprompted → "gold header pins seated just below the notch lip"
sbc-case.scad frozen (geometry unchanged since 2c); zero preview bytes. Bundled with the carried round-12/13 bookkeeping in one push (Vera's economy: sign-offs reset once, not twice). Queued: the "2 a.m. reflash needs no tools" tagline coupled to B10 (revisit it in the same commit B10 logs its field test); Jane's B11 print-pose constraint — the guard must be a co-planar grille in the lid plate, never a bar across the Ø37 aperture (unprintable both ways); B4 gains that the lid fan-boss bores have their own 1.2 mm web floor (natural melt-in stop — the no-shoulder risk is the base posts only). Vera did not block a merge
Cass cass
-
2026-08-24
commit · git
Document and enforce vitamin wrapper convention in assembly.sh (#413)
Shai Perednik shai
-
2026-08-24
commit · git
Add the missing product-manager characters to the People page (#381)
Shai Perednik shai
-
2026-08-24
commit · git
Add design: sbc-case — hardware-rich Raspberry Pi 4 case (assembly-docs stress test) (#371)
Shai Perednik shai
-
2026-08-23
decision · PM.md
Fan = fan40x11 (catalog)
brief's 40×10 assumption explicitly swappable; 40×11 is the vendored catalog's 40 mm fan
Cass cass
-
2026-08-23
decision · PM.md
Board fastener = M2.5 cap screws into printed pilots
brief claimed no M2.5 insert exists — F1BM2p5 does exist but is 5.8 mm long, taller than the 5 mm standoff; measurement over brief
Cass cass
-
2026-08-23
decision · PM.md
Port strategy = three open skirted edges
brief's own time-boxed default (Open question 2); modeled cutouts → B1
Cass cass
-
2026-08-23
decision · PM.md
Fan in the lid, intake, biased to the SoC
brief assumption (Open question 3); side-wall fan never ranked
Cass cass
-
2026-08-23
decision · PM.md
Fan stays in the reference BOM
brief Open question 4, assumed yes
Cass cass
-
2026-08-23
decision · PM.md
assembly.conf vitamin lines name design-file wrapper modules, not raw constants
assembly.sh's generated preview uses the design file — variables don't cross use, so pcb(RPI4) aborts; measured, filed as #368
Cass cass
-
2026-08-23
decision · PM.md
Base shell drawn origin-centred (translate around rounded_box)
rounded_box is corner-anchored; un-translated it split the base into 7 disjoint bodies that every presence-only gate passed (printcheck 92 "fine if intentional", clean slice, empty fitchecks) — caught only by measuring the export, issue #69's class; fixed and re-measured 1 body, 100/100
Cass cass