Topic · MC/DC known issue disposition stale

MC/DC known issue disposition stale

Gist

MC/DC known issue disposition stale is whether a KI-gated exemption, reachability witness, or obligation deferral outlived its fixed bug. Proof runs proof audit --check mcdc_known_issue_disposition_stale. Jama still authors.

proof audit --check mcdc_known_issue_disposition_stale

Keep LDRA if it already measures C in the avionics toolchain. Keep Jama if it already authors the shall. Neither one fails the leftover //mcdc:ignore:known-issue after the tripwire goes red.

01 · The leftover lie

A fixed bug that still carries a KI-gated disposition is marking a real gap as accounted-for.

Presence of an ignore comment is not this hop. This hop is whether the disposition outlived the tripwire.

The check is default-on, error, verify stage. It is the single companion for four faces of the same honesty contract: a //mcdc:ignore:known-issue exemption on a TRUE row, a // MCDC … [known-issue] [ki:] reachability witness on a FALSE row, and a KI-linked obligation_deferrals entry used by both decomposition and evidence. The disposition is valid exactly while the linked KnownIssue is open and its reproducer still reproduces. When the tripwire flips green to red, the leftover is a lie.

Measuring MC/DC is a different hop. That page is whether each condition flips the outcome on its own. Completeness of a KnownIssue record is a different hop. Neither one asks whether an exemption still sitting on SYS-REQ-42 outlived KI-cache-miss after the bug was fixed.

//mcdc:ignore:known-issue SYS-REQ-42: cache miss still reproduces => TRUE [ki: KI-cache-miss]
// the KI yaml:
id: KI-cache-miss
status: fixed

Three remediations, one finding kind each. Stale TRUE exemption: delete the :known-issue line and write a real // MCDC SYS-REQ-42 witness. Stale FALSE reachability witness: drop the [known-issue] [ki:] tags and revert to a plain structural ignore. Stale obligation deferral: replace it with a satisfying child or a triple-form witness, then remove the ki_ref. Re-opening the KnownIssue without re-running the reproducer is the anti-pattern this hop exists to make impossible.

proof mcdc show SYS-REQ-42
proof known-issue list --status fixed
proof audit --check mcdc_known_issue_disposition_stale

A fourth case is a premature close: the tripwire went red because the KI was marked fixed early, or the reproducer rotted. Restore the KnownIssue only after you re-run the reproducer and the defect still reproduces. Opt-out reports skip, never pass. A human waiver is an authorization gate, not a mute.

02 · The exhibit

Same SYS-REQ-42 TRUE row. Silent leftover, or this hop.

KI-cache-miss is fixed. The ignore line is still on the source. Click the tabs.

The row

  • Ask does mcdc_coverage still treat the TRUE row as accounted-for
  • Stamp //mcdc:ignore:known-issue SYS-REQ-42 [ki: KI-cache-miss] is still on the source; KI status is fixed
  • Why coverage dropped the row from open warnings while the exemption lingered
Status green

This hop

Nobody asked whether the tripwire is still green. Coverage already passed. The error is this hop.

No stamp

The row

Keep the LDRA report. Keep the Jama field. That is not this hop.

Keep the record

Proof

  • Ask does a KI-gated disposition outlive a red tripwire
  • Out SYS-REQ-42 exemption [ki: KI-cache-miss] outlived status fixed — remove the exemption and witness the TRUE row
Disposition stale

Same SYS-REQ-42 TRUE row. Silent leftover, or this hop. Click the tabs.

Surface What they do What Proof does What we lose
MC/DC coverage for Go Whether each condition flips the outcome on its own. Error. Whether a KI-gated row exemption outlived the bug. Not the measure hop. See MC/DC coverage for Go.
Obligation evidence complete Warning. Whether the obligation still has a witness or an accepted KI-debt listing. Error. Whether that KI-debt listing outlived a red tripwire. Not the evidence hop. See obligation evidence complete.
Known issue complete Warning. Whether the record has evidence and an origin. Error. Whether a disposition still points at a fixed KI. Not the completeness hop. See known issue complete.
LDRA / VectorCAST Condition tables on C in the avionics toolchain. An error on leftover KI-gated Go (and other) dispositions in CI. Not their certified C toolchain. We have not run a frozen LDRA pack.
Jama field The authoring programme. Attributes if you put them there. A YAML object the audit can fail next to the shall. Not Jama's V&V. Jama still authors. We have not run a frozen Jama pack.

The teaching graph is still one TRUE row whose exemption names a KI that is already fixed. Read the error. Then delete the leftover line and witness the row, or restore the KnownIssue only after the reproducer still fails.

// Verifies: SYS-REQ-42
// MCDC SYS-REQ-42: a=T, b=T => TRUE
proof mcdc invalidate SYS-REQ-42
proof mcdc show SYS-REQ-42

The measure hop stays on MC/DC coverage for Go. The evidence hop stays on obligation evidence complete. Completeness stays on known issue complete. Do not treat an LDRA condition table as this cell. Jama still authors. Proof vs Jama. Proof vs LDRA.

03 · The honest loss

Proof names a leftover disposition. It does not prove the Go, and it does not re-open the KnownIssue for you.

A green mcdc_known_issue_disposition_stale can still mean no KI-gated disposition existed. The hop is an error. Jama still authors.

Error severity. A counted finding blocks the audit until the disposition and the world agree again. The hop does not write the witness, delete the ignore line, or edit the KnownIssue. It does not re-run the tripwire as a separate test command you typed; it reuses the same green/red/stale signal every KI-gated disposition is bound to. Zero matching dispositions is a silent pass. Load failure is a fail. Opt-out is skip, never pass. A waiver is a human authorization gate with a scope, a reason, a role, and an expiry. The live-side floor (a capability-gap KI with no failing tripwire) is a different check, not this page. The hop does not prove the Go. We have not scored this leftover against a frozen Jama pack, an LDRA condition table, or VectorCAST. The loss is named, not scored.

The measure hop stays on MC/DC coverage for Go. The evidence hop stays on obligation evidence complete. Completeness stays on known issue complete. The engagement stays on software correctness audit. Jama still authors.

04 · Nearby questions

What people type next.

What is MC/DC known issue disposition stale? Same question. Same URL.

Is this MC/DC coverage for Go? No. That hop measures whether each condition flips the outcome. This hop is whether a KI-gated exemption outlived the bug. See MC/DC coverage for Go.

Is this obligation evidence complete? No. That hop asks whether the obligation still has a witness or an accepted KI-debt listing. This hop asks whether that listing outlived a red tripwire. See obligation evidence complete.

Is this known issue complete? No. That hop is whether the record has evidence and an origin. This hop is whether a disposition still points at a fixed KI. See known issue complete.

Is this known issue sibling disposition? No. That hop is a warning on a close that left open siblings. This hop is an error on a leftover exemption after the bug is gone. See known issue sibling disposition.

Does a green hop prove the function? No. The hop does not write the witness. It does not prove the Go.

Is a leftover ignore a warning? No. This hop is an error. A stale disposition hides a real gap on fixed code.

Does zero KI-gated dispositions fail? No. Zero matching dispositions is a silent pass.

Can I re-open the KnownIssue to keep the exemption? Only after you re-run the reproducer and the defect still reproduces. Re-opening it to keep a green board is the anti-pattern.

Is Proof a Jama alternative for the shall? No. Jama still authors. Proof vs Jama.

Is Proof an LDRA alternative for certified C? No. LDRA still wins that toolchain. Proof vs LDRA.