fix(locking-mechanism-hyperobject): align over_center wall_thickness default with manifest - #105
Merged
aldoruizluna merged 1 commit intoOct 2, 2026
Conversation
…default with manifest Both over_center twins (over_center.py PARAM fallback, over_center.scad top-level literal) used 2.5 mm while the shared manifest parameter, and every other mode's source, declare 2. The literals now state the manifest default, so a render that injects no parameters builds what Studio shows (GOC-1 default-drift). Both kernels change together; body counts and the standing lever_assembly parity exemption are unaffected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Aldo Ruiz Luna <aldo.ruiz.luna@gmail.com>
aldoruizluna
marked this pull request as ready for review
October 2, 2026 22:26
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 changed
The two
over_centertwins now use the manifest default forwall_thickness.wall_thickness22.52over_center.py:22(PARAMfallback)wall_thickness22.52over_center.scad:8(top-level literal)Direction and why
The source now follows the manifest default.
wall_thicknessis one shared parameter:visible_in_modesissnap_latch, over_center, compliant_lockand the default is 2. Studio always sends the manifest-resolved set, so over_center users already see 2 mm.snap_latch.*,compliant_lock.*) already fall back to 2.pin_d,joint_w,link_w,slot_w) are expressions ofwall_thickness, so they follow the new literal consistently.How this maps to GOC-1
GOC-1 (Digital Twins MES, Phase 2)
variables.jsonis only complete once yantra4d injects every declared parameter (RENDER_INJECT_FULL_PARAMS). This PR removes bothdefault-driftnotes for this cartridge (rule from hyperobjects-spec#30). After it, turning the flag on cannot change over_center geometry for callers that send{}.Evidence
Run with hyperobjects-spec at
510efba(the #30 branch; CI pins3ff3736, which lacks the rule), CadQuery 2.8.0, OpenSCAD 2026.02.13 (Manifold), BOSL2 at its submodule pin, macOS:The 13 notes are printability overhang measurements, faceting warns and the standing parity exemptions. None is a default-drift note.
The new over_center bare-default measurements (
-v):lever_assembly: cadquery 3009.46 mm³ (2 bodies) vs openscad 2997.39 mm³ (1 body). Parity stays exempt.hook_catch: 1182.22 mm³ on both kernels, parity identical.Note for review: the standing
lever_assemblyparity exemption reason quotes "3553 vs 3514 mm³". Those volumes were measured at the old 2.5 mm literal. The divergence it describes (2 bodies on CadQuery vs 1 on OpenSCAD) is unchanged, so I did not edit the reason text in this PR.macOS green is not proof (AGENTS.md rule 4). The CI Linux render lane is the verdict, and it is pending at the time of writing.
verificationis unchanged. One cartridge, two files.CI status (updated)
Linux CI on this head: manifest conformance (all cartridges): pass; render (cartridges changed in this PR) (locking-mechanism-hyperobject): pass; render scope (which cartridges changed): pass.
🤖 Generated with Claude Code