Concept reference

Phases & the 23-Step Lifecycle

Every case moves through 23 typed lifecycle steps, each with a Gate, Acceptance, Invalidation contract. This is how the agent stays disciplined.

1 min read

Why a phased lifecycle

Real engineering is not one prompt. A trustworthy simulation moves through problem intake, specification, geometry, meshing, conditions, execution, monitoring, error recovery, post-processing, analysis, verification, validation, sensitivity, design iteration, reporting, bundling, approval, and memory curation. SimPilot encodes those 23 steps as typed phases with hard contracts.

Gate / Acceptance / Invalidation

Each step has three contracts:

  • Gate — what must be true to enter this step (inputs, classifications, prior records).
  • Acceptance — what proves this step is done (typed records, evidence, signatures).
  • Invalidation — what retires a step's result when an upstream input changes.

These are not advisory. Solver materialization, run launches, and report publishing check them before proceeding.

Concrete typed records

The lifecycle produces durable records — MeshAttemptEvidence, SolverConfigurationRecord, RunRecord, RecoveryDecisionRecord, EngineeringAnalysisRecord, SolutionVerificationRecord, ValidationCalibrationRecord, SensitivityUQRecord, IterationStudyRecord, ReportPublicationRecord, CaseArtifactBundle, ApprovalPass, MemoryRecord. Together they form the lineage you replay.

The no-blind-rerun discipline

When a run fails, the agent does not retry the same command. ADR 0016 freezes a hypothesis ledger — the agent records what it thought went wrong, what it changed, and why — before any rerun. This keeps diagnosis honest and the report defensible.

Calibration ≠ validation

ADR 0022 enforces a disjointness invariant: data used to calibrate cannot also be used to validate. The platform refuses to publish a report whose validation evidence overlaps its calibration data.

Memory curation closes the loop

Step 23 produces a published MemoryRecord with typed applicability bounds. Future cases that cite this record participate in a cross-case invalidation cascade — when the source case is amended, every downstream citation is flagged.

Was this page helpful?

Edit this page on GitHub

Search docs

Find pages across the SimPilot docs.