Skip to content

fix(as-built): bind disposal requirements to gauged data and type the quantities - #31

Closed
devin-ai-integration[bot] wants to merge 1 commit into
developfrom
wp/as-built-review-fixes
Closed

devin-ai-integration[bot] wants to merge 1 commit into
developfrom
wp/as-built-review-fixes

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Follow-up to #2 addressing the four review findings on model/95-as-built.sysml and model/97-disposal.sysml.

  • TS-291 disposalPropellantReserve read nothing from the imported data: xenonReserve was unvalued and deltaVCapability used literal 540.0 / 5638.4. Now
    xenonReserve : MassValue = argentFlight.atDroInsertion.telemetry.xenonRemaining;
    dryMass      : MassValue = argentFM.dryMass;
    deltaVCapability : SpeedValue = RocketEquationDeltaV(specificImpulse.num, initialMass.num, dryMass.num) ['m/s'];
    require constraint { deltaVCapability >= margin * departureDeltaV }
    
    so the requirement is only evaluable after the telemetry import (%import data/argent-telemetry.csv); the disposal-requirements run now goes through the REPL import first and records 2601 m/s against the 270 m/s bound. Without the import the CLI reports it not covered (xenonRemaining has no value), which is the correct standing for an in-flight requirement with no data.
  • TS-292 passivation: deadline (30 d) was declared but unused. Added passivationDelay = closeout.passivationCompleteTime - closeout.disposalBurnTime (23 d) and passivationDelay <= deadline to the constraint.
  • TS-293 separationSafety / SeparationDeltaV: bare Real replaced by ImpulseValue (25.0 ['N⋅s']), MassValue (… [kg]) and SpeedValue, bound 1.0e-3 ['m/s'].
  • Wren as-built: wrenFM.wetMass is now the weighed 24.9 [kg] and designMass an explicit 24.0 [kg] (it was designMass = wetMass with wetMass pinned to the design value, so consumers of the flight unit's wetMass undercounted by 0.9 kg). asMeasuredMass, massDeviation (3.75 %) and waiver TW-001 are unchanged.

Behaviour changes

  • runs/disposal-requirements.txt is re-recorded through the REPL import path; as-built-satisfy, requirements-satisfy, wpb-budgets-satisfy move by one element ID (new attributes in TS-291) and house-rules by the census count only.

Gate

make check green locally (strict validate, pilot-mission, pilot-all, house rules 0 violations / 0 unevaluated, runs-check) with OpenSysML v0.10.1-2054-g0a5fa2d94 and the pinned pilot validators. Draft until the check workflow is green.

Backbone

The check workflow now builds OpenSysML from source into build/opensysml-src, but make check still defaults to SYSML ?= build/opensysml/sysml, so the job fails at make: build/opensysml/sysml: No such file or directory — identical to the latest develop run (69b2ebb). Either check.yml passes SYSML=build/opensysml-src/bin/sysml or the Makefile default moves; not changed on this branch.

… quantities

TS-291 reads the DRO-insertion xenon gauge and Argent's as-built dry mass
instead of fixed 540 kg / 5638.4 kg literals; TS-292 compares the closeout
passivation delay against its 30 d deadline; TS-293 and SeparationDeltaV
use ImpulseValue/MassValue/SpeedValue with unit literals; Wren's as-built
wetMass is the weighed 24.9 kg with designMass 24.0 kg kept separately.
The disposal-requirements run imports the telemetry before evaluating.

Co-Authored-By: jason.han <hanhuijun@gmail.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

Closing: this branch was cut from the pre-integration wp/ head and recorded on an unpinned OpenSysML build, and it now conflicts with develop, where the integrated model and its runs are recorded at the pinned tool. The findings it addresses were re-adjudicated against the integrated model; the generally applicable fixes from here are being carried into develop on follow-up branches off develop, credited to this PR. The remaining items are design decisions being taken separately.

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