UnsectionedAdded 2026-03-24 16:03 UTCClosed 2026-03-24 16:03 UTC
Close every item below with evidence committed to the repo or generated into `outputs/`. Closed: 2026-03-25 03:02 AEDT.
Verification: `uv run python scripts/check_todo_closure.py --out outputs/todo_closure` passes, and [outputs/todo_closure/report.md](outputs/todo_closure/report.md) records zero open items plus evidenced verification for every completed TODO entry.
UnsectionedAdded 2026-03-24 16:03 UTCClosed 2026-03-24 16:03 UTC
Demonstrate that geometry, thermal, optical, structural, manufacturing, and rendering outputs all refer to the same released design revision. Closed: 2026-03-25 03:02 AEDT.
Verification: `make release-state` passes, `uv run python -m unittest tests.test_release_state -v` passes, and [outputs/release_state/release_manifest.json](outputs/release_state/release_manifest.json) plus [outputs/release_state/report.md](outputs/release_state/report.md) confirm matching hashes across config, geometry export, BOM, drawing set, analysis reports, and render provenance.
Requirements and ConfigurationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Freeze top-level mission requirements, orbit assumptions, allowable pointing envelope, mass budget, power budget, thermal limits, and launch environment in versioned machine-readable form.
Verification: `make requirements-policy` passes, `uv run python -m unittest tests.test_requirements_policy -v` passes, [config/requirements.yaml](config/requirements.yaml) exists, and the requirements-policy report stays free of `TBD`/`FIXME` markers while remaining consistent with [config/telescope.yaml](config/telescope.yaml).
Requirements and ConfigurationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Allocate optical, thermal, structural, pointing, contamination, and radiation budgets across subsystems.
Verification: `make budget-policy` passes, `uv run python -m unittest tests.test_budget_policy -v` passes, [config/budgets.yaml](config/budgets.yaml) exists, and the budget-policy report confirms positive remaining margin plus consistency with [config/requirements.yaml](config/requirements.yaml) and [config/telescope.yaml](config/telescope.yaml).
Requirements and ConfigurationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Define spacecraft interfaces: mechanical mounts, electrical interface, thermal interface, data interface, and operational constraints.
Verification: `make interface-policy` passes, `uv run python -m unittest tests.test_interface_policy -v` passes, and the interface consistency checker confirms the declared ICD values match generated geometry interfaces, harness counts, and thermal boundary conditions.
Requirements and ConfigurationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Split Ariane public-manual-confirmed interface values from ICD-pending assumptions so the repo cannot silently treat concept values as released ICD data.
Verification: `make interface-policy` passes, `uv run python -m unittest tests.test_interface_policy -v` passes, and the interface checker fails if a public-confirmed value drifts or if ICD-pending values stop being explicitly flagged.
Requirements and ConfigurationAdded 2026-03-17 01:01 UTCClosed 2026-03-17 01:01 UTC
Replace the current Ariane `PLA6 1666 / LPSS` clamp-band and bolt-pattern assumptions with supplier- or launcher-controlled ICD values once available. Closed: 2026-03-17 18:28 AEDT.
Verification: launcher-interface checker confirms `config/telescope.yaml`, the generated geometry, and the manufacturing package all match the released ICD values and no interface parameter is still marked as an assumption.
Requirements and ConfigurationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Lock material and coating selections with beginning-of-life and end-of-life properties.
Verification: `make materials-policy` passes, `uv run python -m unittest tests.test_materials_policy -v` passes, and the material property completeness check confirms every released part family has density, modulus, CTE, conductivity, emissivity/absorptivity, allowable stress, and contamination assumptions.
Optical SystemAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-16 08:09 UTC
Replace the first-order optical prescription with a full manufacturable prescription including conics, separations, mirror clear apertures, back focal distance, and alignment tolerances.
Verification: `make optics-policy` passes, `uv run python -m unittest tests.test_optics_cassegrain tests.test_optics_policy -v` passes, and [outputs/optics_policy/report.md](outputs/optics_policy/report.md) confirms EFL = 6.0 m within tolerance, F/6 within tolerance, required field coverage, and no unexpected vignetting.
Optical SystemAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-16 10:18 UTC
Add a real focal plane package layout including detector package envelope, cold finger, harness exit, focus mechanism or shim stack, and service clearances.
Verification: `make focal-plane-layout` passes, `uv run python -m unittest tests.test_focal_plane_layout tests.test_release_state tests.test_scad_export -v` passes, and [outputs/focal_plane_layout/report.md](/Users/gregb/Documents/devel/aao-mechd/outputs/focal_plane_layout/report.md) confirms the detector package lands at focus, stays inside the allowed envelope, and preserves the required clear aperture.
Optical SystemAdded 2026-03-16 11:33 UTCClosed 2026-03-16 11:33 UTC
Add obscuration, spider, baffles, vanes, and internal stop geometry to the optical model. Closed: 2026-03-16 22:32 AEDT.
Verification: `make optics-policy` passes, `uv run python -m unittest tests.test_optics_cassegrain tests.test_optics_policy -v` passes, and [outputs/optics_policy/report.md](outputs/optics_policy/report.md) plus [outputs/optics_policy/pupil.png](outputs/optics_policy/pupil.png) confirm pupil obscuration stays within budget and the keepout direct-path sweep finds zero clear rays to the detector.
Optical SystemAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-16 12:32 UTC
Add tolerance and sensitivity analysis for mirror spacing, decenter, tilt, detector focus, and temperature-driven motion.
Verification: Monte Carlo tolerance run produces compliant image-quality and focus metrics across the required tolerance distribution.
Optical SystemAdded 2026-03-16 13:36 UTCClosed 2026-03-16 13:36 UTC
Couple optical performance to thermal distortion and structural deformation. Closed: 2026-03-17 00:35 AEDT.
Verification: `make optical-stop` passes, `uv run python -m unittest tests.test_optical_stop tests.test_release_state tests.test_thermal_robustness -v` passes, and [outputs/optical_stop/report.md](outputs/optical_stop/report.md) reports compliant worst hot, cold, and launch-relaxed image-quality cases.
Geometry and CAD ClosureAdded 2026-03-17 14:19 UTCClosed 2026-03-17 14:19 UTC
Replace remaining concept primitives with real subassemblies, joints, interfaces, and wall thicknesses. Closed: 2026-03-18 01:19 AEDT.
Verification: geometry completeness check confirms every BOM line has a corresponding solid and every solid maps to a BOM line.
Geometry and CAD ClosureAdded 2026-03-17 02:25 UTCClosed 2026-03-17 02:25 UTC
Add explicit fasteners, bonded joints, flexures, shims, and mount interfaces for every structural connection. Closed: 2026-03-17 13:25 AEDT.
Verification: connectivity graph check confirms there are no dangling parts and every load-bearing part participates in a continuous load path to the spacecraft bus.
Geometry and CAD ClosureAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Replace the placeholder radiator support rods with a real radiator subassembly including frame, thermal isolation features, and unambiguous structural attachment details.
Verification: `make check` passes, `uv run python -m unittest tests.test_assembly_check -v` passes, and the radiator-support geometry check confirms a declared bus -> radiator_mount_beam -> radiator_isolator -> radiator_frame -> radiator load path with no ambiguity through hexapod or launch-restraint members.
Geometry and CAD ClosureAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Replace the current sunshield post-through-membrane placeholder with a more credible membrane/frame/stand-off architecture that avoids supports passing through the membrane volume.
Verification: the assembly check fails if any `sunshield_support_*` mast sits inside the sunshield perimeter, and the released geometry includes outer frames plus outriggers for each layer.
Geometry and CAD ClosureAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add a whole-assembly connected-component sanity check so disconnected geometry islands fail the build instead of only being noticed in renders.
Verification: the assembly check fails if the part-contact graph contains more than one connected component, and regression tests cover a deliberately disconnected subsystem.
Geometry and CAD ClosureAdded 2026-03-17 15:22 UTCClosed 2026-03-17 15:22 UTC
Replace the remaining concept-only internal attachment solids with explicit brackets, flexures, fasteners, and interface features for mirrors, detector package, and internal cold hardware. Closed: 2026-03-18 02:21 AEDT.
Verification: `make internal-interface-completeness` passes, `uv run python -m unittest tests.test_assembly_check tests.test_internal_interface_completeness tests.test_manufacturing_package tests.test_release_state -v` passes, and [outputs/internal_interface_completeness/report.md](outputs/internal_interface_completeness/report.md) confirms the deployed and stowed internal interfaces close through named brackets, flexures, clevises, pads, and fasteners rather than bare overlapping solids.
Geometry and CAD ClosureAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add cable and harness routing, connector bodies, keep-out zones, and service loops.
Verification: `uv run python -m unittest tests.test_assembly_check -v` passes, `make materials-policy state-policy` passes, and the assembly check confirms every harness has connector capture, a service loop, and a derived keep-out that stays inside the bus and outside protected optical volumes.
Geometry and CAD ClosureAdded 2026-03-17 16:10 UTCClosed 2026-03-17 16:10 UTC
Add stowed envelope, transport envelope, and launch vehicle accommodation geometry if deployment or packaging constraints apply. Closed: 2026-03-18 03:10 AEDT.
Verification: envelope checker confirms the released geometry fits within all declared packaging constraints.
Geometry and CAD ClosureAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Reduce the stowed launch package or declare a compatible launcher so the released stowed configuration fits at least one target fairing with positive margin.
Verification: `uv run python scripts/run_launch_envelope.py --config config/telescope.yaml --out outputs/launch_envelope` reports non-negative radial and axial margins for the selected target launcher/fairing entry.
Geometry and CAD ClosureAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-16 23:31 UTC
Turn the current analysis-only launch restraint proxy into explicit stowed-launch hardware with geometry, interfaces, release logic, phased attachment layout, and manufacturing definition. Closed: 2026-03-17 10:30 AEDT.
Verification: stowed-launch consistency check confirms the mechanical launch model uses the same restraint count, attach radii, angular phase, sections, and attachment interfaces as the released geometry/BOM package, and assembly checks reject clevis/actuator intrusion into hexapod load paths.
Geometry and CAD ClosureAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-14 13:35 UTC
Compute and track mass properties from geometry, not hand estimates.
Verification: mass property script confirms total mass, center of mass, and principal inertias are within allocated limits and are stable across export formats.
Geometry and CAD ClosureAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-14 13:35 UTC
Reconcile geometry-native and released-STL mass properties so the released exports preserve the same total volume, center of mass, and inertias as the source model.
Verification: `uv run python scripts/run_mass_properties.py --config config/telescope.yaml --out outputs/mass_properties` reports `stability.passes = true` for every released configuration.
Geometry and CAD ClosureAdded 2026-03-17 17:17 UTCClosed 2026-03-17 17:17 UTC
Calibrate shell thicknesses and part-material assignments so geometry-derived mass properties are physically credible for a 1 m class space telescope rather than just internally self-consistent. Closed: 2026-03-18 04:17 AEDT.
Verification: `uv run python scripts/run_mass_properties.py --config config/telescope.yaml --out outputs/mass_properties` reports total mass inside the declared budget and no placeholder shell family dominates the mass because of arbitrary concept thickness.
Geometry and CAD ClosureAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Make stowed and deployed mass properties materially consistent; launch packaging may change envelope, but it must not “delete” telescope mass.
Verification: `uv run python scripts/run_mass_properties.py --config config/telescope.yaml --out outputs/mass_properties` reports `state_consistency.passes = true`, exact persistent-part inventory match between deployed and stowed configurations, and persistent mass delta within the declared tolerance while explicitly classifying launch-only hardware.
Geometry and CAD ClosureAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add explicit release-state semantics for every configuration-dependent part family: persistent hardware, retained launch hardware, disposable launch hardware, and ground-only tooling.
Verification: state-policy checker confirms every state-dependent part family has an explicit classification, and deployed/stowed inventory diffs contain only parts permitted by that policy.
Geometry and CAD ClosureAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Lock non-deploying persistent hardware families so they cannot quietly move, flip sides, or change shape between deployed and stowed states.
Verification: `make state-policy` passes, `uv run python -m unittest tests.test_state_policy -v` passes, and the geometry-locked family check confirms the declared fixed families have identical deployed/stowed bounds.
Geometry and CAD ClosureAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Harden part-family-specific material and checker mappings so new sub-hardware cannot silently inherit the wrong density model or verification rule through a broad prefix match.
Verification: `uv run python -m unittest discover -s tests -p 'test_*.py' -q` includes explicit regressions for packed sunshield modules, hinges, latches, clevises, and other sub-hardware that would otherwise fall through broad family matching.
Geometry and CAD ClosureAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-17 18:47 UTC
Eliminate all unintended interferences between solids and all unrealistic pass-throughs.
Verification: mesh collision sweep and mating-surface whitelist check report zero unintended intersections.
Geometry and CAD ClosureAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Replace naive bounding-box-only collision checks with geometry-appropriate interference checks for long members, thin panels, and stowed hardware.
Verification: `make interference-policy` passes and `tests/test_interference_policy.py` proves the nominal baseline stays clean while deliberate translated-part regressions trigger the expected collision finding.
Geometry and CAD ClosureAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add a geometry-policy gate that proves deployed and stowed source meshes match their exported part sets and only differ by explicit launch-only hardware.
Verification: `make geometry-policy` passes and writes `outputs/geometry_policy/summary.json` with zero assembly errors, zero missing or unexpected part exports for deployed and stowed states, and zero non-launch-only names in the deployed/stowed symmetric difference.
Thermal DesignAdded 2026-03-17 20:09 UTCClosed 2026-03-17 20:09 UTC
Replace generic thermal properties with part-by-part conductive, radiative, and coating properties tied to the geometry and BOM. Closed: 2026-03-18 07:09 AEDT.
Verification: thermal model build fails if any thermal node or radiating surface lacks a mapped material/coating definition.
Thermal DesignAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-14 06:38 UTC
Validate view-factor calculations against closed-form cases and cross-check Monte Carlo estimators.
Verification: `uv run python scripts/check_view_factors.py` reports agreement within the declared tolerance for canonical benchmark geometries.
Thermal DesignAdded 2026-03-18 14:21 UTCClosed 2026-03-18 14:21 UTC
Close hot-case steady-state performance for optics, detector, bus interface, and solar-cell-supporting shield layers. Closed: 2026-03-19 01:20 AEDT.
Verification: `make thermal-policy thermal-sanity` passes, `uv run python -m unittest tests.test_thermal_sanity tests.test_requirements_policy -v` passes, and [outputs/thermal_policy/report.md](outputs/thermal_policy/report.md) plus [outputs/thermal_sanity/report.md](outputs/thermal_sanity/report.md) confirm nominal hot cases keep optics at or below 150 K, detector at or below 100 K, the bus interface at its 300 K sink limit, and the sunshield layers below the 330 K solar-cell-face limit.
Thermal DesignAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-18 15:25 UTC
Close cold-case survival and operational recovery behavior. Closed: 2026-03-19 02:25 AEDT.
Verification: `make thermal-sanity` passes, `uv run python -m unittest tests.test_thermal_sanity tests.test_thermal_robustness -v` passes, and [outputs/thermal_sanity/report.md](outputs/thermal_sanity/report.md) plus [outputs/thermal_sanity/cold_case_transient.svg](outputs/thermal_sanity/cold_case_transient.svg) and [outputs/thermal_sanity/cold_case_recovery.svg](outputs/thermal_sanity/cold_case_recovery.svg) confirm last-orbit survival minima are maintained, required heater power stays within the allocated budget, and cold-soak recovery reaches the survival threshold within the declared limit.
Thermal DesignAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-18 16:53 UTC
Reduce temperature gradients on the primary, secondary, detector mount, and metering structure to acceptable levels. Closed: 2026-03-19 03:53 AEDT.
Verification: `make thermal-gradients thermal-sanity` passes, `uv run python -m unittest tests.test_thermal_gradients tests.test_thermal_robustness tests.test_thermal_sanity tests.test_budget_policy -v` passes, and [outputs/thermal_gradients/report.md](outputs/thermal_gradients/report.md) plus [outputs/thermal_gradients/maintenance_gradients.svg](outputs/thermal_gradients/maintenance_gradients.svg) and [outputs/thermal_gradients/recovery_gradients.svg](outputs/thermal_gradients/recovery_gradients.svg) confirm hot, cold, and transition gradients stay within the allocated thresholds.
Thermal DesignAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-18 18:26 UTC
Model degradation from contamination, coating aging, and property drift across mission life. Closed: 2026-03-19 05:26 AEDT.
Verification: `make thermal-sanity thermal-robustness` passes, `uv run python -m unittest tests.test_thermal_degradation_overrides tests.test_thermal_sanity tests.test_thermal_robustness tests.test_check_thermal_sanity -v` passes, and [outputs/thermal_sanity/report.md](outputs/thermal_sanity/report.md) plus [outputs/thermal_sanity/degradation_sweep_envelope.png](outputs/thermal_sanity/degradation_sweep_envelope.png) and [outputs/thermal_robustness/report.md](outputs/thermal_robustness/report.md) confirm end-of-life and contaminated mission-life cases stay within the declared temperature limits with positive margin.
Thermal DesignAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-18 18:26 UTC
Confirm radiators and shields remain protected from direct Sun and unwanted Earth view across the permitted pointing envelope. Closed: 2026-03-19 05:26 AEDT.
Verification: `make thermal-sanity` passes, `uv run python -m unittest tests.test_thermal_sanity tests.test_check_thermal_sanity -v` passes, and [outputs/thermal_sanity/report.md](outputs/thermal_sanity/report.md) confirms zero direct-Sun exposure to the protected cold nodes plus bounded effective Earth view for the radiator and telescope.
Structural and Mechanical DesignAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-19 14:13 UTC
Replace the current hexapod screening model with a full structural model of the released telescope assembly, mounts, mirrors, shields, radiators, and spacecraft interface. Closed: 2026-03-20 01:12 AEDT.
Verification: FEM model completeness check confirms every load-bearing CAD subassembly is represented in the structural model with material and boundary-condition coverage.
Structural and Mechanical DesignAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-19 15:21 UTC
Design the primary mirror mount and cell as a real support system with launch restraint and on-orbit constraint behavior. Closed: 2026-03-20 02:20 AEDT.
Verification: `make primary-mirror-mount` passes, `uv run python -m unittest tests.test_primary_mirror_mount tests.test_release_state tests.test_requirements_policy tests.test_verification_matrix tests.test_test_plan_policy -v` passes, and [outputs/primary_mirror_mount/report.md](outputs/primary_mirror_mount/report.md) plus [outputs/primary_mirror_mount/constraint_layout.png](outputs/primary_mirror_mount/constraint_layout.png), [outputs/primary_mirror_mount/launch_plate_deflection.png](outputs/primary_mirror_mount/launch_plate_deflection.png), and [outputs/primary_mirror_mount/on_orbit_plate_deflection.png](outputs/primary_mirror_mount/on_orbit_plate_deflection.png) confirm the screening-level primary mount FEM and support reaction check keep launch/on-orbit rigid-body constraint behavior, mirror surface stress, and residual print-through within the released limits.
Structural and Mechanical DesignAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-19 16:44 UTC
Design the secondary support system, hub, and spider/truss for launch and on-orbit stiffness. Closed: 2026-03-20 03:44 AEDT.
Verification: `make secondary-support` passes, `uv run python -m unittest tests.test_secondary_support tests.test_release_state tests.test_ci_workflow -v` passes, and [outputs/secondary_support/report.md](outputs/secondary_support/report.md) plus [outputs/secondary_support/support_layout.png](outputs/secondary_support/support_layout.png) and [outputs/secondary_support/first_mode_shape.png](outputs/secondary_support/first_mode_shape.png) confirm the released secondary mount/hub/spider screening keeps combined stress and buckling margins above the structural screening floor while holding the first support mode above the launch requirement.
Structural and Mechanical DesignAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-19 17:50 UTC
Design the sunshield support structure and attachment method so every membrane or panel has a credible support scheme. Closed: 2026-03-20 04:49 AEDT.
Verification: `make sunshield-support` passes, `uv run python -m unittest tests.test_sunshield_support tests.test_release_state tests.test_ci_workflow -v` passes, and [outputs/sunshield_support/report.md](outputs/sunshield_support/report.md) plus [outputs/sunshield_support/support_layout.png](outputs/sunshield_support/support_layout.png) and [outputs/sunshield_support/thermal_distortion_profile.png](outputs/sunshield_support/thermal_distortion_profile.png) confirm the released mast/brace/outrigger support stack keeps positive static and buckling margins while thermal-case tip drifts stay within the configured support-family limits.
Structural and Mechanical DesignAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-19 19:11 UTC
Size all joints, bolts, inserts, adhesives, and bonded interfaces for launch loads and thermal cycling. Closed: 2026-03-20 13:40 AEDT.
Verification: `make joint-sizing` passes, `uv run python -m unittest tests.test_joint_sizing tests.test_release_state tests.test_ci_workflow -v` passes, and [outputs/joint_sizing/report.md](outputs/joint_sizing/report.md) plus [outputs/joint_sizing/interface_margin_overview.png](outputs/joint_sizing/interface_margin_overview.png) confirm positive launch and thermal-cycle margins for every released structural joint interface.
Structural and Mechanical DesignAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-20 14:28 UTC
Run modal analysis on the integrated system. Closed: 2026-03-21 14:58 AEDT.
Verification: `make integrated-modal` passes, `uv run python -m unittest tests.test_integrated_modal tests.test_release_state tests.test_requirements_policy tests.test_verification_matrix tests.test_test_plan_policy -v` passes, and [outputs/integrated_modal/report.md](outputs/integrated_modal/report.md) plus [outputs/integrated_modal/mode_family_overview.png](outputs/integrated_modal/mode_family_overview.png), [outputs/integrated_modal/coupled_mode_shape.png](outputs/integrated_modal/coupled_mode_shape.png), and [outputs/integrated_modal/local_panel_mode_shapes.png](outputs/integrated_modal/local_panel_mode_shapes.png) confirm the coupled bus/telescope launch-stack mode stays above the released launch minimum while the radiator, V-groove, and sunshield local panel families stay above their configured screening floor.
Structural and Mechanical DesignAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-20 15:59 UTC
Run quasi-static, sine-vibe, random-vibe, and shock cases representative of launch. Closed: 2026-03-21 02:59 AEDT.
Verification: `make launch-loads` passes, `uv run python -m unittest tests.test_launch_loads tests.test_release_state tests.test_verification_matrix tests.test_test_plan_policy tests.test_ci_workflow -v` passes, and [outputs/launch_loads/report.md](outputs/launch_loads/report.md) plus [outputs/launch_loads/interface_margin_overview.png](outputs/launch_loads/interface_margin_overview.png) and [outputs/launch_loads/worst_case_displacements.png](outputs/launch_loads/worst_case_displacements.png) confirm positive stress, displacement, and separation margins for every released launch interface across the quasi-static, sine-vibe, random-vibe, and shock screening cases.
Structural and Mechanical DesignAdded 2026-03-17 04:21 UTCClosed 2026-03-20 17:14 UTC
Add a machine-readable deployment timeline from the stowed state through the full deployment sequence, with timestamped state snapshots, rendered views, and a discrete event log for releases, latches, pyros, actuators, and electromagnets. Closed: 2026-03-21 04:13 AEDT.
Verification: `make deployment-timeline` passes, `uv run python -m unittest tests.test_deployment_timeline -v` passes, the deployment-sequence generator writes `outputs/deployment_timeline/sequence.json` plus `outputs/deployment_timeline/render_manifest.json`, and the checker fails if any sampled step is missing timestamp, state model, required event metadata, or declared camera coverage.
Structural and Mechanical DesignAdded 2026-03-17 04:21 UTCClosed 2026-03-20 18:08 UTC
Define deployment-sequence sampling rules that use sensible event-driven granularity rather than a literal every-millisecond state, including dwell periods, interpolated motion spans, and explicit short-duration event elision policy. Closed: 2026-03-21 05:08 AEDT.
Verification: deployment timeline validation fails if any motion interval lacks a declared sampling rule, interpolation contract, or justification for elided sub-events, and the generated sequence report lists the effective timestep coverage for the full deployment.
Structural and Mechanical DesignAdded 2026-03-17 04:21 UTCClosed 2026-03-20 19:17 UTC
Add deployment-state screening that checks per-component kinematics, stress, and interference across consecutive sampled states so obviously impossible motion is caught before release imagery is trusted. Closed: 2026-03-21 06:16 AEDT.
Verification: deployment analysis report confirms derived position/velocity/acceleration changes stay within configured limits, stress maps remain within allocation, and collision checking reports zero unwhitelisted solid pass-throughs for every sampled deployment state.
Structural and Mechanical DesignAdded 2026-03-23 02:55 UTCClosed 2026-03-24 14:57 UTC
Replace the current proxy-only deployment screening with per-element interpolated state histories that record `{position, angle, velocity, angular_velocity, acceleration, angular_acceleration}` at every sampled deployment moment and fail if the declared timestep does not support a physically consistent transition between adjacent states. Closed: 2026-03-25 10:38 AEDT.
Verification: `make deployment-timeline` passes, `uv run python -m unittest tests.test_deployment_timeline -v` passes, the deployment-sequence artifact writes per-element pose/kinematics records for every interpolated sample under `outputs/deployment_timeline/`, and the checker fails if any element exceeds the configured translational or angular limits or if adjacent frames imply inconsistent motion over the declared timestep.
Structural and Mechanical DesignAdded 2026-03-28 12:42 UTCClosed 2026-03-28 14:39 UTC
Replace the radiator-side deployment shortcut that shrinks or merges rigid hardware between stowed and deployed endpoints with explicit rigid-body leaf and closeout geometry, so deployment never changes a solid panel or frame’s dimensions just to make the launch pack fit. Closed: 2026-03-29 01:36 AEDT.
Verification: `uv run python -m unittest tests.test_deployment_rigidity tests.test_deployment_timeline -v` passes, and `make deployment-timeline` writes `outputs/deployment_timeline/summary.json` with `deployment_rigid_hardware_shape_preserved.passes = true` and zero rigidity-audit violations.
Structural and Mechanical DesignAdded 2026-03-13 10:02 UTCClosed 2026-03-13 10:02 UTC
Add support-family tip-deflection limits to the mechanical qualification proxy so structural screening fails on excessive compliance, not just low margins or low mode frequencies.
Verification: `uv run python -m unittest tests.test_mechanical_qualification -v` passes, `make release-state` passes, and [outputs/mechanical_qualification/report.md](outputs/mechanical_qualification/report.md) includes `internal_support_tip_deflections_within_limits: PASS`.
Structural and Mechanical DesignAdded 2026-03-13 10:16 UTCClosed 2026-03-13 10:16 UTC
Raise structural screening thresholds above unity so the qualification proxy requires configured margin floors for hexapod, launch-restraint, and internal-support load paths.
Verification: `uv run python -m unittest tests.test_mechanical_qualification -v` passes, `make release-state` passes, and [outputs/mechanical_qualification/report.md](outputs/mechanical_qualification/report.md) includes the screening-margin checks as `PASS`.
Structural and Mechanical DesignAdded 2026-03-13 10:54 UTCClosed 2026-03-13 10:54 UTC
Add support-axis coverage requirements to the structural screening path so each internal support family must cover the intended structural directions, not just carry positive load with acceptable stress/deflection.
Verification: `uv run python -m unittest tests.test_mechanical_qualification -v` passes, `make release-state` passes, and [outputs/mechanical_qualification/report.md](outputs/mechanical_qualification/report.md) includes `internal_support_axes_cover_requirements: PASS`.
Structural and Mechanical DesignAdded 2026-03-13 12:20 UTCClosed 2026-03-13 12:20 UTC
Add minimum supported-mass requirements to the structural screening path so each internal support family must prove it carries enough released subsystem mass, not just the right axes with acceptable stress and deflection.
Verification: `uv run python -m unittest tests.test_mechanical_qualification -v` passes, `make release-state` passes, and [outputs/mechanical_qualification/report.md](outputs/mechanical_qualification/report.md) includes `internal_support_supported_mass_meets_requirement: PASS`.
Structural and Mechanical DesignAdded 2026-03-13 12:36 UTCClosed 2026-03-13 12:36 UTC
Add support-family load-case coverage requirements to the structural screening path so each internal support family must be exercised in axial and both lateral launch cases, not just appear in a summarized margin table.
Verification: `uv run python -m unittest tests.test_mechanical_qualification -v` passes, `make release-state` passes, and [outputs/mechanical_qualification/report.md](outputs/mechanical_qualification/report.md) includes `internal_support_load_cases_covered: PASS`.
Structural and Mechanical DesignAdded 2026-03-13 12:06 UTCClosed 2026-03-13 12:06 UTC
Tie each named structural load path to explicit support-family evidence in the structural evidence gate so load-path closure is traced through the released support groups, axes, and supported masses rather than only through coarse shared mechanical checks.
Verification: `uv run python -m unittest tests.test_structural_evidence -v` passes, `make release-state` passes, and [outputs/structural_evidence/report.md](outputs/structural_evidence/report.md) includes `structural_support_group_evidence_complete: PASS`.
Structural and Mechanical DesignAdded 2026-03-14 00:29 UTCClosed 2026-03-14 00:29 UTC
Extend the structural evidence gate to prove subsystem-level launch-case coverage through the released support groups, so each named load path shows required axial/lateral case evidence rather than only summarized support data.
Verification: `uv run python -m unittest tests.test_structural_evidence -v` passes, `make release-state` passes, and [outputs/structural_evidence/report.md](outputs/structural_evidence/report.md) shows support-group case coverage inside each load-path record.
Structural and Mechanical DesignAdded 2026-03-14 01:22 UTCClosed 2026-03-14 01:22 UTC
Add minimum support-family member-count requirements to the structural screening path so a support group cannot quietly lose released members while still passing purely on axes, stiffness, and margin.
Verification: `uv run python -m unittest tests.test_mechanical_qualification -v` passes, `make release-state` passes, and [outputs/mechanical_qualification/report.md](outputs/mechanical_qualification/report.md) includes `internal_support_member_count_meets_requirement: PASS`.
Structural and Mechanical DesignAdded 2026-03-14 01:47 UTCClosed 2026-03-14 01:47 UTC
Add named structural load-path support-family requirements so each released subsystem proves it is carried by the intended support groups rather than merely by generic internal support presence. Added: 2026-03-14 12:37 AEDT. Closed: 2026-03-14 12:46 AEDT.
Verification: `uv run python -m unittest tests.test_structural_load_paths tests.test_release_state tests.test_verification_matrix tests.test_test_plan_policy -v` passes, `make release-state` passes, and [outputs/structural_load_paths/report.md](outputs/structural_load_paths/report.md) shows `PASS` for every required load path.
Structural and Mechanical DesignAdded 2026-03-14 02:07 UTCClosed 2026-03-14 02:07 UTC
Add active-member participation requirements to the structural screening path so released support members must actually carry meaningful load somewhere in the launch suite rather than only existing in the geometry and count tables. Added: 2026-03-14 12:52 AEDT. Closed: 2026-03-14 13:02 AEDT.
Verification: `uv run python -m unittest tests.test_mechanical_qualification tests.test_structural_evidence tests.test_verification_matrix tests.test_test_plan_policy -v` passes, `make release-state` passes, and [outputs/mechanical_qualification/report.md](outputs/mechanical_qualification/report.md) includes `internal_support_active_member_fraction_meets_requirement: PASS`.
Structural and Mechanical DesignAdded 2026-03-14 02:58 UTCClosed 2026-03-14 02:58 UTC
Add support-family load-sharing limits to the structural screening path so a single released member cannot quietly dominate a subsystem load case while the aggregate margins still look green. Added: 2026-03-14 13:48 AEDT. Closed: 2026-03-14 13:54 AEDT.
Verification: `uv run python -m unittest tests.test_mechanical_qualification tests.test_structural_evidence tests.test_verification_matrix tests.test_test_plan_policy -v` passes, `make release-state` passes, and [outputs/mechanical_qualification/report.md](outputs/mechanical_qualification/report.md) includes `internal_support_load_sharing_meets_requirement: PASS`.
Structural and Mechanical DesignAdded 2026-03-14 03:23 UTCClosed 2026-03-14 03:23 UTC
Add a released-geometry structural support gate for the primary and secondary support hardware so the signed build proves the expected support-member count and geometric regularity directly from the generated STL parts, not only from the mechanics proxy tables. Added: 2026-03-14 14:08 AEDT. Closed: 2026-03-14 14:20 AEDT.
Verification: `uv run python -m unittest tests.test_structural_geometry tests.test_release_state tests.test_verification_matrix tests.test_test_plan_policy -v` passes, `make release-state` passes, and [outputs/structural_geometry/report.md](outputs/structural_geometry/report.md) shows `PASS` for the released primary mounts, secondary mounts, and secondary spiders.
Structural and Mechanical DesignAdded 2026-03-14 03:35 UTCClosed 2026-03-14 03:35 UTC
Add an explicit released-geometry to mechanics-proxy correspondence contract for the primary and secondary support systems so the signed build proves the declared proxy discretization ratio instead of letting the STL families and force-table groups drift independently. Added: 2026-03-14 14:27 AEDT. Closed: 2026-03-14 14:27 AEDT.
Verification: `uv run python -m unittest tests.test_structural_proxy_correspondence tests.test_release_state tests.test_verification_matrix tests.test_test_plan_policy -v` passes, `make release-state` passes, and [outputs/structural_proxy_correspondence/report.md](outputs/structural_proxy_correspondence/report.md) shows `PASS` for the primary mounts, secondary mounts, and secondary spiders.
Structural and Mechanical DesignAdded 2026-03-14 03:51 UTCClosed 2026-03-14 03:51 UTC
Extend the released-geometry and proxy-correspondence structural gates to cover the focal-support tripod as well, so the signed build proves the focal support hardware exists as released parts and is represented by the expected mechanics proxy group. Added: 2026-03-14 14:43 AEDT. Closed: 2026-03-14 14:43 AEDT.
Verification: `uv run python -m unittest tests.test_structural_geometry_focal_supports tests.test_structural_proxy_correspondence tests.test_verification_matrix tests.test_test_plan_policy -v` passes, `make release-state` passes, and [outputs/structural_geometry/report.md](outputs/structural_geometry/report.md) plus [outputs/structural_proxy_correspondence/report.md](outputs/structural_proxy_correspondence/report.md) show `PASS` for `focal_supports`.
Structural and Mechanical DesignAdded 2026-03-14 05:25 UTCClosed 2026-03-14 05:25 UTC
Extend the released-geometry and proxy-correspondence structural gates to cover the radiator mount stack and sunshield support stack, so those support groups are tied directly to released-part inventory instead of only proxy-force tables. Added: 2026-03-14 16:18 AEDT. Closed: 2026-03-14 16:18 AEDT.
Verification: `uv run python -m unittest tests.test_structural_geometry tests.test_structural_proxy_correspondence tests.test_verification_matrix tests.test_test_plan_policy -v` passes, `make release-state` passes, and [outputs/structural_geometry/report.md](outputs/structural_geometry/report.md) plus [outputs/structural_proxy_correspondence/report.md](outputs/structural_proxy_correspondence/report.md) show `PASS` for `radiator_mount_stack` and `sunshield_support_stack`.
Structural and Mechanical DesignAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-20 20:19 UTC
Evaluate thermal distortion, line-of-sight stability, and focus shift from thermoelastic deformation. Closed: 2026-03-21 07:18 AEDT.
Verification: `make thermoelastic-stability` passes, `uv run python -m unittest tests.test_thermoelastic_stability tests.test_release_state tests.test_requirements_policy tests.test_budget_policy tests.test_verification_matrix tests.test_test_plan_policy -v` passes, and [outputs/thermoelastic_stability/report.md](outputs/thermoelastic_stability/report.md) plus [outputs/thermoelastic_stability/stability_envelope.png](outputs/thermoelastic_stability/stability_envelope.png) and [outputs/thermoelastic_stability/thermal_distortion_breakdown.png](outputs/thermoelastic_stability/thermal_distortion_breakdown.png) confirm the released hot/cold thermoelastic cases keep LOS-equivalent drift, refocus demand, and WFE proxy within the declared optical-stability allocations.
Structural and Mechanical DesignAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-21 14:19 UTC
Assess fatigue and damage accumulation where repeated thermal cycling or ground test cycling matters. Closed: 2026-03-22 01:19 AEDT.
Verification: `make fatigue-life` passes, `uv run python -m unittest tests.test_fatigue_life tests.test_release_state tests.test_ci_workflow -v` passes, and [outputs/fatigue_life/report.md](outputs/fatigue_life/report.md) plus [outputs/fatigue_life/damage_fraction_overview.png](outputs/fatigue_life/damage_fraction_overview.png) confirm every released interface meets the declared repeated-cycle life margin with explicit knockdown factors.
Structural and Mechanical DesignAdded 2026-03-25 11:24 UTCClosed 2026-03-25 14:43 UTC
Replace the inferred radiator-side deployment kinematics with an explicit mechanism definition that states what drives the radiator and shroud from stowed to deployed, which parts are rigidly attached, what hinge axes or links constrain the motion, and what hard stops or latches place the assembly in its final deployed position instead of relying on free endpoint interpolation. Closed: 2026-03-26 01:43 AEDT.
Verification: `make deployment-timeline` passes, `uv run python -m unittest tests.test_deployment_timeline tests.test_deployment_videos tests.test_manufacturing_package tests.test_simple_yaml -v` passes, `uv run python -m unittest tests.test_assembly_check -v` passes, and [outputs/deployment_timeline/report.md](outputs/deployment_timeline/report.md) plus [outputs/manufacturing/BOM.md](outputs/manufacturing/BOM.md) show the explicit radiator support-link drive, hinge/carriage geometry, closeout motion, and deployed-stop or capture features with `deployment_sampled_state_kinematics_within_limits`, `deployment_sampled_state_interference_free`, and `deployment_radiator_mechanism_definition_complete` all at `PASS`.
Structural and Mechanical DesignAdded 2026-03-29 12:52 UTCClosed 2026-03-29 19:42 UTC
Add an explicit transition-drive verification that fails if the stowed-to-deployed sequence does not declare an active mechanism (actuator, motor, latch release, or equivalent) that actually causes motion instead of only endpoint interpolation. Closed: 2026-03-30 06:42 AEDT.
Verification: `uv run python -m unittest tests.test_deployment_timeline tests.test_deployment_rigidity -v` passes and the deployment timeline summary includes a passing mechanism-definition gate tied to non-empty drive metadata for the radiator-side transition events.
Structural and Mechanical DesignAdded 2026-03-29 12:52 UTCClosed 2026-03-30 22:41 UTC
Ensure the deployed endpoint keeps all heat-sink/radiator leaf solids physically connected (panel-to-frame and frame-to-carriage contact), then add an automated regression test that fails if the deployed transition endpoint leaves those solids disconnected. Closed: 2026-03-31 09:35 AEDT.
Verification: `uv run python -m unittest tests.test_deployment_rigidity tests.test_deployment_timeline -v` passes, and the deployment summary keeps `deployment_radiator_endpoint_contact_closed` at `PASS` only when each deployed radiator leaf preserves panel-to-frame overlap plus a closed frame-to-carriage support path through the support isolators and carriage beams.
Detector, Electronics, and RadiationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-21 15:48 UTC
Turn the focal plane concept into a real detector subsystem design with support structure, readout electronics accommodation, harnessing, and radiator coupling. Closed: 2026-03-22 02:47 AEDT.
Verification: `uv run python scripts/check_detector_subsystem.py --config config/telescope.yaml --final-design outputs/final_design.json --mechanical-design outputs/mechanical/optimized_design.json --launch-proxy outputs/mechanical/stowed_launch_proxy.json --out outputs/detector_subsystem` passes, `uv run python -m unittest tests.test_detector_subsystem tests.test_assembly_check tests.test_mass_properties tests.test_release_state tests.test_ci_workflow -v` passes, and [outputs/detector_subsystem/report.md](outputs/detector_subsystem/report.md) plus [outputs/detector_subsystem/layout.svg](outputs/detector_subsystem/layout.svg) confirm the readout boxes, harness connector block, service envelope, and thermal straps all close against the released detector package and radiator frame.
Detector, Electronics, and RadiationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-21 17:29 UTC
Define heater architecture, temperature sensing locations, and control logic for survival and set-point maintenance. Closed: 2026-03-22 04:29 AEDT.
Verification: `make thermal-control` passes, `uv run python -m unittest discover -s tests -p 'test_*.py' -q` passes, `make release-state` passes, and [outputs/thermal_control/report.md](outputs/thermal_control/report.md) plus [outputs/thermal_control/control_architecture.svg](outputs/thermal_control/control_architecture.svg), [outputs/thermal_control/survival_hold_response.svg](outputs/thermal_control/survival_hold_response.svg), and [outputs/thermal_control/operational_setpoint_response.svg](outputs/thermal_control/operational_setpoint_response.svg) confirm the released detector heater zones, sensing locations, and PI hold logic maintain survival and operational set-points without runaway or unacceptable overshoot.
Detector, Electronics, and RadiationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-21 18:23 UTC
Add spacecraft electrical and data interfaces, grounding concept, and EMC-sensitive routing. Closed: 2026-03-22 05:22 AEDT.
Verification: `make interface-policy` passes, `uv run python -m unittest tests.test_interface_policy tests.test_detector_subsystem tests.test_test_plan_policy -v` passes, and [outputs/interface_policy/report.md](outputs/interface_policy/report.md) plus [outputs/interface_policy/routing_overview.png](outputs/interface_policy/routing_overview.png) confirm shield termination, route separation, return-path closure, and payload electrical/data mapping for the released harness set.
Detector, Electronics, and RadiationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-21 19:26 UTC
Perform radiation analysis for detector, electronics, coatings, and solar cells. Closed: 2026-03-22 06:26 AEDT.
Verification: `make radiation-analysis` passes, `uv run python -m unittest tests.test_radiation_analysis tests.test_release_state tests.test_requirements_policy tests.test_test_plan_policy tests.test_verification_matrix tests.test_ci_workflow -v` passes, `uv run python -m unittest discover -s tests -p 'test_*.py' -q` passes, and [outputs/radiation_analysis/report.md](outputs/radiation_analysis/report.md) plus [outputs/radiation_analysis/margin_overview.svg](outputs/radiation_analysis/margin_overview.svg) confirm detector, electronics, coating, and solar-cell TID, displacement damage, and single-event assumptions stay within the released qualification limits or passive-policy/shielding plan.
Detector, Electronics, and RadiationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-13 03:06 UTC
Add contamination-sensitive surfaces and purge/cover concepts for ground handling and launch.
Verification: `make manufacturing-contamination` passes, `uv run python -m unittest tests.test_manufacturing_contamination -v` passes, and [outputs/manufacturing/contamination_control.json](outputs/manufacturing/contamination_control.json) plus [outputs/manufacturing_contamination/report.md](outputs/manufacturing_contamination/report.md) define purge, cover, tooling, and inspection controls for each contamination-sensitive BOM group.
Manufacturing PackageAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-22 14:26 UTC
Convert concept drawings into build-to-print drawings with datums, GD&T, tolerances, surface finishes, notes, and revision control. Closed: 2026-03-23 01:26 AEDT.
Verification: `make manufacturing-drawing-metadata` passes, `uv run python -m unittest tests.test_manufacturing_package tests.test_manufacturing_drawings tests.test_manufacturing_drawing_metadata -v` passes, and [outputs/manufacturing/drawing_metadata.json](outputs/manufacturing/drawing_metadata.json) plus [outputs/manufacturing_drawing_metadata/report.md](outputs/manufacturing_drawing_metadata/report.md) confirm every released drawing carries title-block fields, datums, dimensions, tolerances, materials, finishes, notes, and revision identifiers.
Manufacturing PackageAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-22 15:32 UTC
Turn the concept BOM into a procurement-ready BOM with part numbers, material specs, make/buy status, processes, coatings, and quantities. Closed: 2026-03-23 02:32 AEDT.
Verification: `make manufacturing-bom manufacturing-procurement manufacturing-drawing-metadata` passes, `uv run python -m unittest tests.test_manufacturing_package tests.test_manufacturing_bom tests.test_manufacturing_procurement tests.test_manufacturing_drawing_metadata -v` passes, and [outputs/manufacturing/BOM.json](outputs/manufacturing/BOM.json) plus [outputs/manufacturing_bom/report.md](outputs/manufacturing_bom/report.md) confirm every BOM row carries sourcing metadata, every released drawing resolves to declared BOM rows, and released solids map cleanly to a single BOM row.
Manufacturing PackageAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add a machine-readable procurement package derived from the released BOM so supplier class, acceptance documents, and inspection gates are tracked in generated data rather than prose only.
Verification: `make manufacturing-procurement` passes, `uv run python -m unittest tests.test_manufacturing_procurement -v` passes, and [outputs/manufacturing/procurement.json](outputs/manufacturing/procurement.json) covers every BOM row with procurement class, supplier type, acceptance docs, and inspection gate metadata.
Manufacturing PackageAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-22 16:38 UTC
Produce assembly drawings for every major subassembly and the top-level integration stack. Closed: 2026-03-23 03:38 AEDT.
Verification: `make manufacturing-drawings manufacturing-drawing-metadata manufacturing-assembly` passes, `uv run python -m unittest tests.test_manufacturing_drawings tests.test_manufacturing_assembly tests.test_manufacturing_drawing_metadata tests.test_manufacturing_package -v` passes, and [outputs/manufacturing_assembly/report.md](outputs/manufacturing_assembly/report.md) plus [outputs/manufacturing/drawing_index.json](outputs/manufacturing/drawing_index.json) confirm every released assembly step carries a dedicated subassembly drawing, the deployed/stowed top-level stacks remain covered, and the build sequence is explicitly ordered.
Manufacturing PackageAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add a machine-readable drawing coverage index so manufacturing drawings are checked against BOM rows and assembly steps instead of just existing in the folder tree.
Verification: `make manufacturing-drawings` passes, `uv run python -m unittest tests.test_manufacturing_drawings -v` passes, and [outputs/manufacturing/drawing_index.json](outputs/manufacturing/drawing_index.json) covers the required drawing stems, BOM rows, and assembly steps without illegal launch-only deployed states.
Manufacturing PackageAdded 2026-03-13 06:37 UTCClosed 2026-03-13 06:37 UTC
Add machine-readable drawing metadata so title-block fields, datum references, tolerance classes, surface-finish references, and state coverage are checked as generated release data.
Verification: `make manufacturing-drawing-metadata` passes, `uv run python -m unittest tests.test_manufacturing_drawing_metadata -v` passes, and [outputs/manufacturing/drawing_metadata.json](outputs/manufacturing/drawing_metadata.json) plus [outputs/manufacturing_drawing_metadata/report.md](outputs/manufacturing_drawing_metadata/report.md) cover every indexed drawing with complete metadata aligned to the drawing index.
Manufacturing PackageAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Produce fabrication notes for machined, composite, membrane, bonded, coated, and optical parts.
Verification: `make manufacturing-fabrication-notes` passes, `uv run python -m unittest tests.test_manufacturing_fabrication_notes -v` passes, and [outputs/manufacturing/fabrication_notes.json](outputs/manufacturing/fabrication_notes.json) covers every BOM row with process categories, specification references, and acceptance evidence.
Manufacturing PackageAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-22 17:28 UTC
Define inspection plans, metrology strategy, alignment procedures, and acceptance criteria. Closed: 2026-03-23 04:27 AEDT.
Verification: verification matrix confirms every dimensional and performance-critical feature maps to an inspection or acceptance step.
Manufacturing PackageAdded 2026-03-13 06:49 UTCClosed 2026-03-13 06:49 UTC
Add a machine-readable alignment and metrology package for the optical, radiator, sunshield, harness, and launch-only interfaces so released procedures include datum references, metrology methods, and acceptance criteria.
Verification: `make manufacturing-alignment` passes, `uv run python -m unittest tests.test_manufacturing_alignment -v` passes, and [outputs/manufacturing/alignment.json](outputs/manufacturing/alignment.json) plus [outputs/manufacturing_alignment/report.md](outputs/manufacturing_alignment/report.md) cover the required manufacturing interfaces with aligned inspection links and no launch-only deployed-state leaks.
Manufacturing PackageAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add a machine-readable inspection package derived from the released BOM, assembly sequence, and interface schedule so incoming, assembly, and interface checks are tracked as release data.
Verification: `make manufacturing-inspection` passes, `uv run python -m unittest tests.test_manufacturing_inspection -v` passes, and [outputs/manufacturing/inspection.json](outputs/manufacturing/inspection.json) covers every BOM row, assembly step, and manufacturing interface.
Manufacturing PackageAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add a machine-readable joint/retention schedule for structural, precision, thermal, deployable, and launch-restraint interfaces.
Verification: `make manufacturing-joints` passes, `uv run python -m unittest tests.test_manufacturing_joints -v` passes, and [outputs/manufacturing/joints.json](outputs/manufacturing/joints.json) covers the required interface IDs with joint strategy, retention method, and inspection record metadata.
Manufacturing PackageAdded 2026-03-13 03:56 UTCClosed 2026-03-13 03:56 UTC
Add a machine-readable fastener / preload / torque schedule for retained and launch-prep joints.
Verification: `make manufacturing-fasteners` passes, `uv run python -m unittest tests.test_manufacturing_fasteners -v` passes, and [outputs/manufacturing/fasteners.json](outputs/manufacturing/fasteners.json) plus [outputs/manufacturing_fasteners/report.md](outputs/manufacturing_fasteners/report.md) cover every released joint with hardware class, closure method, torque/preload intent, and verification records.
Manufacturing PackageAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:23 UTC
Define required ground support equipment, fixtures, and handling tooling.
Verification: `make manufacturing-tooling` passes, `uv run python -m unittest tests.test_manufacturing_tooling -v` passes, and [outputs/manufacturing/tooling.json](outputs/manufacturing/tooling.json) plus [outputs/manufacturing_tooling/report.md](outputs/manufacturing_tooling/report.md) define coverage for every released assembly step and interface.
Verification and ValidationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Build a requirement-to-verification matrix for the whole product.
Verification: coverage script confirms every requirement has at least one verification method and every verification artifact maps back to a requirement.
Verification and ValidationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add regression tests for geometry connectivity, interference, mass properties, thermal energy balance, optical closure, and exporter consistency.
Verification: `uv run python -m unittest discover -s tests -p 'test_*.py' -q` passes, including explicit optical closure coverage in `tests/test_optics_cassegrain.py`, and artifact-based release checks remain within tolerance.
Verification and ValidationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Keep expensive optimization-backed tests from recomputing the same baseline in every test method.
Verification: `uv run python -m unittest tests.test_launch_envelope tests.test_thermal_robustness tests.test_thermal_sanity -q` passes, and the thermal/launch optimization tests share their optimized baseline through class- or module-level setup instead of recomputing it per assertion.
Verification and ValidationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Make the central build fail fast by running quick automated checks before slow artifact generation.
Verification: `make all` starts with `check` in [Makefile](Makefile), so failing unit/policy gates stop the build before Blender/render-heavy targets run.
Verification and ValidationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add regression checks for hexapod rotational symmetry and uniform strut geometry so perspective artifacts do not hide real asymmetry.
Verification: the assembly check fails if hexapod base/platform attachment angles, radii, twist, or strut lengths deviate beyond tolerance.
Verification and ValidationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-14 06:25 UTC
Add release gating so geometry exports, analysis outputs, and documentation cannot diverge silently.
Verification: `make state-policy interface-policy` passes, `uv run python scripts/check_release_state.py --config config/telescope.yaml --final-design outputs/final_design.json --mechanical-design outputs/mechanical/optimized_design.json --launch-proxy outputs/mechanical/stowed_launch_proxy.json --out outputs/release_state` passes, and rebuilding the site plus `uv run python scripts/check_site_policy.py --site-dir outputs/site --source-outputs-dir outputs --design-report design_report.md --release-summary outputs/release_state/summary.json --out outputs/site_policy` fails on stale signed output summaries or mismatched published copies.
Verification and ValidationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add a structural evidence gate tying released mechanical qualification checks to manufacturing interfaces, verification-matrix coverage, and structural qualification tests.
Verification: `make structural-evidence` passes, `uv run python -m unittest tests.test_structural_evidence -v` passes, and [outputs/structural_evidence/report.md](outputs/structural_evidence/report.md) shows every required load path has interface, mechanical, verification-matrix, and test-plan evidence.
Verification and ValidationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add a stakeholder-site smoke gate that proves the published site tree points at HTML artifacts, includes labeled PNG previews, and carries the same design signature/pass state as the release summary before CI deploys it.
Verification: `make website-smoke` passes, `uv run python -m unittest tests.test_site_policy tests.test_ci_workflow -v` passes, and `.github/workflows/ci.yml` makes `deploy-website` wait for `website-smoke`.
Verification and ValidationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add a local release-truth gate for the screening summaries that are already in the central build path.
Verification: `make release-state` passes only when `outputs/mass_properties/summary.json` and `outputs/launch_envelope/summary.json` both carry the same design signature as `outputs/final_design.json`, mass state-consistency passes, STL stability passes for deployed and stowed states, and the target launchers fit.
Verification and ValidationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Broaden the local release-truth gate so it also checks geometry-policy, manufacturing-package presence, and mechanical screening artifacts.
Verification: `make release-state` passes only when the geometry-policy summary carries the same design signature and passes, the mechanical screening outputs exist with positive margins of safety and positive modal frequencies, and the manufacturing package contains the required BOM, assembly notes, drawings, and part exports.
Verification and ValidationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-22 18:31 UTC
Add benchmark and convergence checks for transient thermal timesteps, FEM mesh density, and Monte Carlo ray counts. Closed: 2026-03-23 05:31 AEDT.
Verification: `make thermal-sanity primary-mirror-mount optics-policy` passes, and `uv run python -m unittest tests.test_thermal_sanity tests.test_check_thermal_sanity tests.test_primary_mirror_mount tests.test_optics_policy -v` passes.
Verification and ValidationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add Monte Carlo ray-count convergence checks for the view-factor benchmark path.
Verification: `make view-factor-policy` passes and `outputs/view_factor_policy/report.md` includes both benchmark error and sample-count convergence sections.
Verification and ValidationAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Define a physical test campaign covering fit-checks, optical alignment, thermal-vacuum, vibration, shock, contamination, EMC, and end-to-end imaging.
Verification: test-plan coverage script confirms each subsystem budget and top-level requirement is exercised by at least one planned qualification or acceptance test.
Brochure and Stakeholder ImageryAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Produce native Blender renders from the released geometry for hero, orthographic, and subsystem views.
Verification: `uv run python scripts/render_blender.py --config config/telescope.yaml --parts-dir outputs/parts --outdir outputs/blender_renders` completes and writes the required view set plus `manifest.json`.
Brochure and Stakeholder ImageryAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add render provenance so every presentation image can be traced back to the exact design revision and source geometry.
Verification: `uv run python scripts/render_blender.py --config config/telescope.yaml --parts-dir outputs/parts --outdir outputs/blender_renders` completes and writes `provenance.json` containing config hash, part-set hash, render-script hash, Blender version, and camera metadata.
Brochure and Stakeholder ImageryAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add a labeled overview render so stakeholder imagery identifies the major assemblies instead of relying on unlabeled hero shots.
Verification: `uv run python scripts/render_blender.py --config config/telescope.yaml --parts-dir outputs/parts --outdir outputs/blender_renders` completes and writes `labeled_hero_iso.svg`.
Brochure and Stakeholder ImageryAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add an exploded or cutaway labeled render so hidden central assemblies can be understood without reverse-engineering the render.
Verification: `make renders` completes and writes `outputs/blender_renders/labeled_exploded_iso.svg`.
Brochure and Stakeholder ImageryAdded 2026-03-17 00:13 UTCClosed 2026-03-17 00:13 UTC
Add optional post-processing flows for Gemini and OpenAI image tools without breaking engineering traceability. Closed: 2026-03-17 16:09 AEDT.
Verification: `uv run python scripts/postprocess_renders.py --input-dir outputs/blender_renders --output-dir outputs/blender_renders/postprocessed --source-provenance outputs/blender_renders/provenance.json --provider openai --model gpt-image-1 --prompt \"...\"` writes `outputs/blender_renders/postprocessed/postprocessed_manifest.json` entries that include source render path+sha256, prompt, model identifier, and output checksum.
Brochure and Stakeholder ImageryAdded 2026-03-17 04:21 UTCClosed 2026-03-22 19:42 UTC
Add optional deployment-sequence video generation from the timestamped render set, with multi-angle outputs gated to manual or release-only runs so normal CI is not dominated by render CPU time. Closed: 2026-03-23 06:42 AEDT.
Verification: workflow and local build checks confirm deployment-video generation is excluded from default quick CI paths, while the manual or release trigger writes provenance-tagged videos and frame manifests under `outputs/deployment_videos/`.
Brochure and Stakeholder ImageryAdded 2026-03-23 02:55 UTCClosed 2026-03-24 14:16 UTC
Render a smooth stowed-to-deployed animation directly from the validated per-element deployment state history, and publish a companion report that summarizes per-element translational/angular speeds and accelerations for the rendered frames. Closed: 2026-03-24 14:16 AEDT.
Verification: `make deployment-timeline` passes, `make deployment-videos DEPLOYMENT_VIDEO_TRIGGER=manual` passes, `uv run python -m unittest tests.test_deployment_timeline tests.test_deployment_videos -v` passes, the deployment video frame manifest links every rendered frame back to the corresponding validated state sample, and the published deployment report lists peak position/angle rate and acceleration values for every watched element.
Repo and ToolingAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add a single obvious central build entrypoint for generated artifacts.
Verification: `make renders`, `make analysis`, and `make all` drive the project outputs from one Makefile rather than scattered ad hoc commands.
Repo and ToolingAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Ignore rebuildable render artifacts in version control.
Verification: `.gitignore` excludes rebuildable render directories such as `outputs/blender_renders/`, `outputs/scad_renders/`, and `outputs/renders/`.
Repo and ToolingAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Ignore generated design artifacts in version control, including generated SVG, STL, DXF, SCAD, JSON, and render outputs under `outputs/`.
Verification: `.gitignore` excludes `/outputs/`, so generated `outputs/*.svg`, `outputs/*.scad`, and related artifacts are not tracked by default.
Repo and ToolingAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Standardize all Python entry points around `uv`.
Verification: `make uv-policy` passes, `uv run python -m unittest tests.test_uv_policy tests.test_ci_workflow -v` passes, and user-facing helper strings avoid raw `python3 -m http.server` in favor of `uv run python -m http.server`.
Repo and ToolingAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add CI jobs for geometry checks, thermal checks, mechanical screening, documentation linting, and render smoke tests.
Verification: `uv run python -m unittest tests.test_ci_workflow tests.test_docs_policy tests.test_render_blender -v` passes, `make docs-policy` passes, `make render-smoke` passes, and `.github/workflows/ci.yml` contains dedicated `geometry-checks`, `thermal-checks`, `mechanical-screening`, `docs-lint`, and `render-smoke` jobs.
Repo and ToolingAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Make CI/CD website deployment wait for release gating and an explicit clean website smoke build instead of deploying in parallel with unresolved failures.
Verification: workflow tests confirm `.github/workflows/ci.yml` contains a `website-smoke` job and `deploy-website` declares `needs: [check, release-state, website-smoke]`; `make website-smoke` passes locally.
Repo and ToolingAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add a TODO hygiene check so new backlog entries cannot be added without a verification method.
Verification: `uv run python scripts/check_todo.py --todo TODO.md` passes, and the command fails if any checklist item lacks a `Verification:` line.
Repo and ToolingAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Add reproducible environment setup for local and CI use.
Verification: `make bootstrap-policy` passes, `uv run python -m unittest tests.test_bootstrap_policy tests.test_ci_workflow -v` passes, `make bootstrap` uses `uv sync --frozen`, and `.github/workflows/ci.yml` contains a `bootstrap-smoke` job that runs `uv sync --frozen` plus `make bootstrap-policy`.
Repo and ToolingAdded 2026-03-12 13:22 UTC (guessed)Closed 2026-03-12 13:22 UTC (guessed)
Ariane 6 is the released launcher baseline; geometry and reports must use Ariane interface assumptions from `config/telescope.yaml`.
Verification: `make all` and confirm [outputs/launch_envelope/report.md](outputs/launch_envelope/report.md) targets `ariane6`.