Skip to content

Feature loop: spar/AADL, WIT and witness MC/DC have been N/A for ~20 features — decide, don't keep waiving #97

Description

@avrabe

The PulseEngine feature loop runs eight steps. For varve, three have been marked N/A every single feature since the project started:

  • Step 1 — spar/AADL architecture model. varve has no .aadl model.
  • Step 2 — WIT generated from spar. varve exposes no WIT interface.
  • Step 5 — witness MC/DC on the Wasm artifact. varve emits no wasm; it is a native Rust CLI.

Each waiver is individually correct. The skill is explicit that the pattern is not:

Recurring N/A is a backlog item, not an exemption. … If you mark either one N/A for the same reason three features running, file it — that pattern is exactly how a real-flight MC/DC gap and a missing attestation chain stayed hidden across ~20 features.

We are well past three. Filing it so the waiver is a recorded decision rather than an unexamined habit.

The question to actually answer

Is varve out of scope for the model-driven half of the methodology, permanently — or is it missing an architecture model it should have?

Arguments that it is genuinely out of scope:

  • varve is a supply-chain tool, not embedded software. There is no scheduling, no partitioning, no ASIL decomposition, no timing.
  • Its trust properties are about signatures and identity, not about control flow on a target. MC/DC on a decision table is not the oracle that matters; cargo mutants on the trust-critical modules is, and that gate exists and is green.
  • It ships a native binary by design. Compiling it to wasm to obtain a witness truth table would be building an artifact nobody runs.

Arguments that something is missing anyway:

What closing this looks like

Either:

  1. Record the exemption — a decision artifact in rivet stating that steps 1, 2 and 5 do not apply to varve and why, with the compensating oracles named (mutation testing, fuzzing, Kani, the self-hosting system gate). Then the loop's N/A is traceable instead of tacit.
  2. Build the model — a minimal spar model of the realm/store/composition boundaries, and see whether its analysis passes say anything the tests do not.

Option 1 is the honest default and is cheap. Option 2 is the interesting experiment, and would be evidence for or against the "MBSE is mandatory infrastructure" claim on a project that is not embedded — which is arguably a better test of the claim than another avionics example.

Related: REQ-SYSTEST-001 clause 4 has the same shape — a policy with no mechanical enforcement.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions