Engineering planning role for turning benchmark handoff context into implementation-ready plan artifacts. Use when drafting or revising `engineering_plan.md`, `todo.md`, `benchmark_definition.yaml`, `assembly_definition.yaml`, `solution_plan_evidence_script.py`, or `solution_plan_technical_drawing_script.py`; when interpreting `benchmark_assembly_definition.yaml` and `benchmark_script.py` as read-only context; when validating cost, weight, motion contracts, detailed payload trajectory calculations, build-zone feasibility, or exact-grounded inventory mentions; when using `render_technical_drawing()` or media inspection to check planner drafts; when inspecting simulation evidence through frame-indexed `objects.parquet` sidecars; or when deciding whether a proposed engineering approach is infeasible and needs replanning.
Use the shared preview helpers whenever the plan needs visual evidence:
render_cad(...) for live scene inspection and engineering preview rendersrender_technical_drawing() for drafting packages and plan evidenceobjectives_geometry() when the preview scene needs benchmark objective overlays reconstructedlist_render_bundles() when the current or historical render bundle mattersquery_render_bundle() when you need compact bundle metadata or frame/object slices from a simulation bundle; use the sampled frame-indexed objects.parquet pose-history sidecar instead of treating frames.jsonl as pose datapick_preview_pixel() / pick_preview_pixels() when a render bundle needs click-to-world evidenceutils.preview for new code paths; utils.visualize is compatibility-onlyassembly_definition.yaml is the machine-readable contract, solution_plan_evidence_script.py is the authoritative, validated source of the planned 3D solution geometry, and solution_plan_technical_drawing_script.py is the orthographic presentation companion for that same contract.engineering_plan.md, todo.md, benchmark_definition.yaml, and assembly_definition.yaml.assembly_definition.yaml.drafting when drafting mode is active.part_ids in engineering_plan.md.solution_plan_evidence_script.py and solution_plan_technical_drawing_script.py when drafting mode is active.benchmark_script.py or any benchmark-owned fixture geometry.benchmark_assembly_definition.yaml except as read-only intake context.Start with the current handoff package:
engineering_plan.mdtodo.mdbenchmark_definition.yamlassembly_definition.yaml if it already existsbenchmark_assembly_definition.yaml if presentbenchmark_script.py if presentrenders/** when render evidence existssolution_plan_evidence_script.py and solution_plan_technical_drawing_script.py when drafting mode is activereferences/motion-trajectory-contract.md when a detailed trajectory derivation is neededspecs/architecture/agents/agent-artifacts/README.mdLoad specialist skill support only when it materially changes the plan:
render-evidence when preview generation, media inspection, or point-pick evidence is neededbuild123d-cad-drafting-skill for drafting geometry or technical drawingsmanufacturing-knowledge when budget, quantity, or manufacturability mattersmechanical-engineering when mechanism feasibility or load path needs deeper analysiselectronics-engineering only when the handoff explicitly includes electronics requirementscots-parts or the COTS search subagent when exact part identity affects the planWhen files disagree, prefer the strictest current contract in this order:
Do not invent fallback behavior to bridge contradictions. If the handoff is inconsistent, correct the source or stop.
engineering_plan.md, todo.md, benchmark_definition.yaml, and assembly_definition.yaml so they agree on labels, coordinates, limits, and ownership.engineering_plan.md narrative-first and write the machine-readable drafting contract in assembly_definition.yaml.drafting.validate_costing_and_price() before submission and fix the source of any pricing or weight mismatch.render_technical_drawing() and media inspection when visual evidence exists. Use list_render_bundles() and query_render_bundle() first when the question depends on a specific revision, and use pick_preview_pixel() / pick_preview_pixels() when the question depends on a screen-space point. If simulation evidence already exists, inspect the MP4 and the sampled frame-indexed objects.parquet pose-history sidecar together; frames.jsonl is sparse timing metadata, not pose history.submit_engineering_plan() only when the handoff is coherent, physically plausible, and ready for implementation.assembly_definition.yaml.motion_forecast the coarse contract and payload_trajectory_definition.yaml the denser refinement; load references/motion-trajectory-contract.md for the calculation checklist; keep the same moving parts, preserve the same build-safe first anchor and terminal goal proof, and keep any math in engineering_plan.md synchronized with the actual waypoint sequence rather than with prose estimates.part_id must appear in engineering_plan.md at least once as an exact identifier mention; backticks are preferred for the first mention, but the exact string match is the validation rule.solution_plan_evidence_script.py and solution_plan_technical_drawing_script.py aligned with the same preserved geometry, repeated quantities, and COTS identities when drafting mode is enabled.solution_plan_evidence_script.py for readability. If a review-only presentation layout is needed, keep that concern in the drawing companion, which may copy the validated geometry and apply explode/layout presentation there when it improves review readability.solution_plan_technical_drawing_script.py as a presentation companion: it may duplicate the validated shape tree for drawing purposes, but it must not invent a second geometry contract or diverge from the approved plan geometry.render_cad(...) for live scene inspection and render_technical_drawing() for drafting packages; do not substitute one for the other.payload_path=True on render_cad(...) when the live payload-path overlay is part of the inspection.solution_script.py.DOF_JUSTIFICATION marker instead of burying the rationale.references/motion-trajectory-contract.md instead of duplicating the checklist here.solution_plan_evidence_script.py and solution_plan_technical_drawing_script.py as planner-owned outputs, not scratch files.../render-evidence/SKILL.md as the visual-inspection playbook.Do not paper over an infeasible handoff with optimistic assumptions. If the plan cannot be made coherent, keep the contradiction visible in the planner artifacts rather than mutating benchmark-owned facts.