Module 2, 20° pressure-angle spur-gear pair and carrier plate to an exact specification.
| File | Kind | Size |
|---|---|---|
| gear-pair.step | STEP | 5.1 MB |
| gear-pair.stl | STL | 1.8 MB |
contract.yaml (design contract)
Design the spur-gear pair and carrier plate exactly as specified in the attached specification: module 2, pressure angle 20 deg, zero profile shift, 20-tooth pinion (bore Ø6) at the origin and 40-tooth wheel (bore Ø8) at (60, 0), face width 8 (z 0..8), 0.10 mm total circular backlash, pinion tooth centred on +x and the wheel phased half a pitch so the pair meshes; carrier 110 x 50 x 5 under the gears with clearance holes on the axes. Three separate solids in one KCL file; the pair must turn through a full pitch without interference. Declare the three solids by contained points, the bores as cylinders, and the gears' tooth counts and mesh as acceptance items.
| Tier | Gate | Result | Evidence |
|---|---|---|---|
| A | contract_provenance Contract validates; stated/measured sources resolve to bundle files; no blocking open questions; interfaces pinned by checks | PASS | designs/gear-pair/contract.yaml: 23 parameters {'stated': 22, 'derived': 1}; sources unresolved {}; unanchored 0 |
| A | envelope Bounding box of the exported STEP equals the contract envelope | PASS | results/freecad/gear-pair/inspect.json bbox.max_error = 0.0 (tol 0.05) |
| A | mass_properties Volume, surface area and centre of mass within contract tolerance (independent STEP measurement) | PASS | results/freecad/gear-pair/inspect.json volume = 76043.0342 vs 76043.033397564 |
| A | features Every required feature, section, named face, cylinder axis, plane, dimension, body, clearance, passage, wall, gear and symmetry check verified on the STEP | PASS | results/freecad/gear-pair/inspect.json features: 9/9 ok; failed required []; failed optional []; unverified [] |
| A | reference_fidelity Deviation from the reference model within the contract band (when a reference exists) | n/a | results/freecad/gear-pair/inspect.json deviation.p95 = None hausdorff = None silhouette_iou_min = None |
| B | export_agreement Engine, STEP (OpenCascade) and STL (trimesh) volumes agree | PASS | results/freecad/gear-pair/inspect.json agreement engine=76043.03415790165 step=76043.0341578792 stl=76041.37042282832 (rel tol 0.002; independent=False) |
| B | edit_robustness Declared parameter edits rebuild with the expected effect, undriven interfaces stay put, sweeps regenerate, infeasible values are refused; baseline re-export hash unchanged | PASS | results/freecad/gear-pair/edit.json 2/2 edit tests ok; restore.ok = True |
| B | source_hygiene Dialect, units, formatted, lint-clean, named parameters match the contract, asserts present | PASS | results/freecad/gear-pair/verify.json hygiene: dialect=True unit=True legacy=[] params_ok=True asserts=48 |
| C | export_integrity Deterministic STEP (two exports identical), valid B-rep, expected solid count, watertight STL (solid shells == solids) | PASS | results/freecad/gear-pair/export.json step.deterministic = True sha256 ea360b1707cb; stl=present; glb=present |
| C | traceability Every stage JSON present with tool versions, git head, worker thread ids, engine-call ledger; no --allow-errors | PASS | stages present: {'plan': True, 'model': True, 'verify': True, 'export': True, 'inspect': True, 'edit': True} |
| C | evidence_separation Contract agreement, reference agreement and physical validation are reported as separate verdicts | PASS | results/freecad/gear-pair/inspect.json carries contract checks (volume/bbox/features) and a separate deviation block (reference = None) |
| C | independence The source is editable construction: no import of reference geometry, construction ops present | PASS | results/freecad/gear-pair/verify.json hygiene.forbidden_imports = [] construction_ops = {'calls': 37, 'has_result': True} lines = 354 |