Skip to content

fix(net-cup): align base_od source default with manifest - #103

Merged
aldoruizluna merged 1 commit into
mainfrom
fix/default-drift-net-cup
Oct 2, 2026
Merged

aldoruizluna merged 1 commit into
mainfrom
fix/default-drift-net-cup

Conversation

@aldoruizluna

@aldoruizluna aldoruizluna commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

What changed

net-cup/main.py:56: the PARAM fallback for base_od now equals the manifest default.

param mode(s) manifest default source literal (before) source literal (after)
base_od net_cup, collar, lid_grommet 35.0 30.0 35.0

Direction and why

The source literal now follows the manifest default. Studio always sends the manifest-resolved set, so 35 mm is already what users see. Three other places agree with 35:

  • docs/README.md ("base_od | 35.0 mm"),
  • the two_inch preset (base_od: 35),
  • the clamp base_od <= top_od - 6 (35 is within it at the default top_od = 44).

The module docstring still says a real 2-in cup has a "base OD ~30 mm". That line is a real-world reference, not the declared default, so I left it.

What changes in the bare-default geometry (a render that injects nothing):

  • net_cup: the base widens from 30 to 35 mm.
  • lid_grommet: base_r = max(17.5, 22-5) gives 17.5 instead of 17.
  • collar: unchanged, because max(17.5, 22-4) = 18.

The body count stays 1.

How this maps to GOC-1

GOC-1 (Digital Twins MES, Phase 2) variables.json is complete only when yantra4d injects every declared parameter (RENDER_INJECT_FULL_PARAMS). This PR removes this cartridge's default-drift note (the rule comes from hyperobjects-spec#30), so turning the flag on cannot change the geometry for callers that send {}.

Evidence

Environment: hyperobjects-spec at 510efba (the #30 branch; CI pins 3ff3736, which lacks the rule), CadQuery 2.8.0, macOS.

$ y4d-spec check ./net-cup
y4d-spec check: cartridges=1 failures=0 notes=0 ...            # before: notes=1 (default-drift base_od)

$ y4d-spec check ./net-cup --render --require-openscad --parity --openscad-path libs --openscad-path .
  ok net-cup (./net-cup, 6 render(s) verified (3 preset), no comparable pair)
y4d-spec check: cartridges=1 failures=0 notes=0 geometry=verified renders=6 presets=3 skipped=0 parity=0/0 ok, warn=0, exempt=0, placement=0, failures=0

A green macOS run is not proof (AGENTS.md rule 4). The CI Linux render lane decides, and it is still pending at the time of writing. verification is unchanged. The PR touches one cartridge and one file.

CI status (updated)

Linux CI on this head: manifest conformance (all cartridges): pass; render (cartridges changed in this PR) (net-cup): pass; render scope (which cartridges changed): pass.

🤖 Generated with Claude Code

The PARAM fallback for `base_od` was 30.0 while the manifest, the docs
table and the `two_inch` preset all use 35. The source literal now states
the manifest default, so a render that injects no parameters builds what
Studio shows (GOC-1 default-drift). The bare-default net_cup and
lid_grommet bodies change accordingly; collar is unaffected (its base is
clamped to top_r - 4).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Aldo Ruiz Luna <aldo.ruiz.luna@gmail.com>
@aldoruizluna
aldoruizluna marked this pull request as ready for review October 2, 2026 22:26
@aldoruizluna
aldoruizluna merged commit d19bbf4 into main Oct 2, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant