Under the hood
You will have to defend this model. Here is what holds it up.
A generated artefact is worth nothing at a gate review unless you can say how it was produced, what checked it, and what happens when its source changes.
Nothing reaches your project until it validates.
Every stage declares the shape of its output in code, and the result is checked against it before it is written anywhere.
- Parsed as JSON, then validated against the stage schema
- On failure, asked again with the exact validation errors, twice
- Still failing after a final repair: the stage raises. It never writes partial data.
Model · Validation
The chain an auditor pulls on is computed, not written by a model.
Component identification and traceability assembly contain no language-model call. Traceability is a graph query, computed on demand, so it cannot drift.
- Requirements, functions and components are nodes; relationships are edges
- Each approved subsystem becomes a component, each recorded interface an interface
- The inputs were partly model-generated. The linking is not.
Model · Computed traceability
A gap is reported as a gap, and an absent stage is never reported as zero.
The failure mode of a generative tool is a confident blank. ASYST keeps nothing is wrong and nothing was checked apart.
- Coverage states what is traced, what is not, and names the untraced
- Orphans are counted and listed by identifier
- A view missing its input says so, instead of showing zero
Model · Gap reporting
Change the brief and you are told exactly what is now out of date.
ASYST records what each artefact was generated from and flags what is now stale. Each edge names the input that justifies it.
- Flagging follows the stage dependency chain all the way down
- A stage that needs regenerating stays marked, never quietly fresh
- The dependency graph is asserted acyclic as it loads
Model · Staleness
The decomposition is yours to approve before the run goes on.
A run stops after it proposes the subsystem breakdown, and persists as awaiting review.
- Resuming is a distinct permission, not open to anyone signed in
- The approval is written to the audit record in its own transaction
Model · Approval gate
Which model runs it, and where, is configuration rather than architecture.
Every language-model call goes through one module. No stage holds its own client or its own key.
- Prompts live in a version-controlled module per workflow
- Changing how a stage is asked is a reviewable diff with a history
Model · One model gateway
Who did what, on the record.
Sign-in through Microsoft Entra ID, Google or GitHub, with PKCE and pinned signature algorithms. ASYST stores no passwords.
- Project, member, brief, regeneration and run actions are written to an audit record
- Append-only at the database grant, not by convention
- Runs are persisted rows: queued, running, awaiting review, completed, cancelled or failed
Model · Audit record
Every capture on this site comes from one real project.
The Autonomous Warehouse Inspection Drone, generated by ASYST from a brief and live in production, gaps still in it.
Sign in with GitHub, Microsoft or Google. The free tier covers the whole nine-stage pipeline.
Test it against a brief you already know the answer to.
Free while ASYST is in early access. Run it on a programme you have already done by hand.
Start free