-
Notifications
You must be signed in to change notification settings - Fork 0
Gap Taxonomy
The canonical enumeration of gap codes that a
flexo-rtmv0.1 audit report can produce, plus the gap codes documented as topology-line material (per ADR-032 Methodology Agnosticism as Foundational Axiom — only meaningful if an adopter runs the optional topological audit as a downstream-analysis mode). The taxonomy is the lingua franca between the certification predicate, the audit report, the SHACL profiles, and adopters' workflow tooling. Normative source: Design Spec §4.7. Topology-line codes referenced against §9.A.6 (D1, D2).
A gap is a structural or attestation-level deficiency that a deterministic SPARQL or SHACL check can detect against the graph in scope. Gaps are not opinions; each is the absence (or, in the case of
Two crosscutting properties hold for every gap code:
- Scope-relativity. All gap codes are evaluated against the graph subset selected by the active Analysis Layer Scope Algebra policy. The same triple may be in scope for one cert run and out of scope for another, so the same data can produce different gap enumerations under different scopes. Scope is itself a deterministic input recorded in the transcript; a gap enumeration is reproducible given the scope and the data snapshot.
- Profile-gating. Several gap codes only surface when a specific composable profile is active (see Attestation Infrastructure in v0.1). Adopters compose profiles as their workflow matures; gap detection rigor scales with profile selection.
The ten T-prefixed codes are what v0.1 reports. They cover traditional forward/backward analysis (
Definition. A requirement in scope with no incoming rtm:satisfies edge — no artifact claims to satisfy it.
Detection (SPARQL).
SELECT ?req WHERE {
?req a rtm:Requirement .
FILTER NOT EXISTS { ?art rtm:satisfies ?req }
}Profile-gating. Always reported. This is part of Traditional Forward and Backward Analysis and surfaces without any optional profile.
Resolution. Link an artifact that satisfies the requirement, or move the requirement out of scope by amending the scope policy. This is the typical Doors/Jama "uncovered requirement" workflow.
Definition. An artifact in scope with no outgoing rtm:satisfies edge — the artifact participates in the trace graph but is not used to satisfy any requirement.
Detection (SPARQL).
SELECT ?art WHERE {
?art a rtm:Artifact .
FILTER NOT EXISTS { ?art rtm:satisfies ?req }
}Profile-gating. Always reported, with one nuance: foundational artifacts (axioms, immutable inputs the project takes as given) are excluded from the backward denominator by scope policy. See Traditional Forward and Backward Analysis for the foundational-artifact discipline.
Resolution. Link the artifact to the requirements it addresses, mark it as foundational under the scope policy, or remove it from scope.
Definition. An rtm:satisfies triple in scope without any associated rtm:SatisfactionAttestation — the claim exists, but no named human has approved it.
Detection (SPARQL).
SELECT ?art ?req WHERE {
?art rtm:satisfies ?req .
FILTER NOT EXISTS {
?att a rtm:SatisfactionAttestation ;
rtm:subject [ rtm:source ?art ; rtm:target ?req ] .
}
}Profile-gating. Active only with --profile=attested-satisfies. With the profile off, satisfaction triples can stand alone and
Resolution. Add an rtm:SatisfactionAttestation whose subject is the offending triple, signed by a named approver IRI. The SHACL AttestationShape rejects the attestation if rtm:approvedBy is missing — that branch is what makes
Definition. An rtm:satisfies triple in scope without an rtm:AdequacyAttestation for the artifact — no named human has approved that the model representation is adequate for the kind of claim being made.
Detection (SPARQL).
SELECT ?art ?req WHERE {
?art rtm:satisfies ?req .
FILTER NOT EXISTS {
?att a rtm:AdequacyAttestation ;
rtm:subject [ rtm:source ?art ; rtm:target ?req ] .
}
}Profile-gating. Active only with --profile=attested-adequacy. Adequacy is conceptually independent of satisfaction (see Aspect Coverage with Adequacy and Sufficiency), so adopters typically turn this on after attested-satisfies has stabilized.
Resolution. Add an rtm:AdequacyAttestation — a named human confirms the model is adequate for the claim. The criterion is usually tied to a coupling-level rtm:AdequacyCriteria guidance vertex; v0.1 does not check that guidance recursively (recursive guidance checking is a problem in the topological research line, not part of flexo-rtm — see Topological Framework Future Work) but does require a named approver on the adequacy claim itself.
Definition. An rtm:satisfies triple in scope without an rtm:SufficiencyAttestation for the artifact — no named human has approved that the evidence is sufficient to support the claim.
Detection (SPARQL).
SELECT ?art ?req WHERE {
?art rtm:satisfies ?req .
FILTER NOT EXISTS {
?att a rtm:SufficiencyAttestation ;
rtm:subject [ rtm:source ?art ; rtm:target ?req ] .
}
}Profile-gating. Active only with --profile=attested-sufficiency. Same composability story as
Resolution. Add an rtm:SufficiencyAttestation — a named human confirms the evidence is sufficient. The accompanying guidance vertex would be rtm:SufficiencyCriteria; the v0.1 check requires the approver IRI but does not audit the criteria recursively.
Definition. Any rtm:Attestation (of any subclass) with rtm:attestationStatus rtm:status/fail. The earl:result earl:failed predicate remains SKOS-aligned via skos:exactMatch and is still accepted as an equivalent assertion for EARL-tooling interop; the canonical vocabulary in flexo-rtm is the four-state status property (see ADR-031 Attestation Status Pass Fail Deferred Deprecated).
Detection (SPARQL).
SELECT ?att WHERE {
?att a rtm:Attestation ;
rtm:attestationStatus rtm:status/fail .
}Profile-gating. Always reported.
Resolution. Triage the failure: revise the artifact, amend the attestation, or accept the negative judgment as the program's recorded position. The audit report shows
Definition. An rtm:Attestation (of any subclass) without an rtm:approvedBy IRI.
Profile-gating. Reserved in the enumeration but cannot exist in stored data. The v0.1 SHACL AttestationShape (see Attestation Infrastructure in v0.1 and Design Spec §4.3) rejects any attestation lacking rtm:approvedBy at write time. This is the "by construction" mechanism for named-approver accountability: engineers encounter the constraint as a write-time error from the SHACL gate, never as a gap in an audit report.
Why the code still exists.
Resolution. The resolution happens at the write boundary, not in the audit: the SHACL violation message tells the user to add rtm:approvedBy before the attestation is accepted into the graph.
Definition. A multi-aspect requirement (one declaring rtm:hasAspect values such as rtm:safety, rtm:security, rtm:performance, rtm:dependability) has at least one satisfaction attestation but is missing the required attestations for one or more of its declared aspects.
Detection (informal). For each requirement with declared aspects, for each aspect, check the per-aspect rollup defined in Aspect Coverage with Adequacy and Sufficiency and flag aspects whose required attestation set (under the active profiles) is incomplete. The SPARQL is parameterized over the aspect declaration; the precise query is in the conformance suite.
Profile-gating. Active only with --profile=aspect-coverage. Composes with attested-adequacy and attested-sufficiency — for a safety-aspect requirement under all three profiles, the audit checks that the safety aspect has both adequacy and sufficiency attestations in addition to satisfaction.
Resolution. Add per-aspect attestations. The specific subclass(es) needed depend on which profile triggered the gap — it may be rtm:SatisfactionAttestation, rtm:AdequacyAttestation, rtm:SufficiencyAttestation, or some combination — each tagged with rtm:hasAspect <aspect-iri>.
Definition. An rtm:Attestation (of any subclass) with rtm:attestationStatus rtm:status/deprecated and no replacement attestation in scope. The attestation existed and was valid; upstream changes have invalidated it; a new attestation is required. This is the methodology-neutral regression-handling mechanism locked in ADR-031 Attestation Status Pass Fail Deferred Deprecated — it replaces the earlier scope-level lifecycle state machine.
Detection (SPARQL).
SELECT ?att ?cause WHERE {
?att a rtm:Attestation ;
rtm:attestationStatus rtm:status/deprecated .
OPTIONAL { ?att prov:wasInvalidatedBy ?cause . }
}The audit-report rendering enumerates each deprecated attestation with its prov:wasInvalidatedBy cause so the team knows what to re-attest. Under the strict profile --profile=deprecated-requires-provenance, the absence of prov:wasInvalidatedBy on a deprecated attestation is a separate gap (the provenance is required, not merely recommended); under default profile, the provenance is recommended and its absence is informational.
Profile-gating. Always reported. Under --profile=accept-deprecated the gap is informational; otherwise it is cert-blocking (a deprecated attestation needs replacement before certification passes).
Resolution. Write a new attestation (with appropriate named approver) that re-establishes the claim under the current state. The new attestation replaces the deprecated one for cert purposes; the deprecated attestation remains in the audit graph as a record of the prior state. The v0.2 deprecation cascade detection (ADR-031 Attestation Status Pass Fail Deferred Deprecated) automates marking downstream attestations as deprecated when upstream changes invalidate them; v0.1 surfaces existing deprecated attestations and relies on the engineer (or external tooling) to set the status.
Definition. An rtm:Attestation (of any subclass) with rtm:attestationStatus rtm:status/deferred. The engineer surfaced the judgment moment but has not yet resolved it. Subsumes the prior rtm:DeferredJudgment concept — which becomes a special case of
Detection (SPARQL).
SELECT ?att WHERE {
?att a rtm:Attestation ;
rtm:attestationStatus rtm:status/deferred .
}Profile-gating. Always reported as informational by default. Under --profile=no-deferred,
Resolution. Resolve the deferred judgment by transitioning the attestation to rtm:status/pass or rtm:status/fail with appropriate evidence and provenance. The deferred state is intentional surfacing of the judgment moment, not a defect; the gap code exists so the audit report can enumerate pending judgments cleanly.
A v0.1 adopter chooses the level of attestation discipline appropriate to the program's maturity. With no optional profiles active, the audit reports attested-satisfies, then attested-adequacy, then attested-sufficiency, and finally aspect-coverage; each profile activates a new gap code with a deterministic SHACL/SPARQL check. Programs running production certifications add --profile=no-deferred to make deferred attestations cert-blocking. Tightening the audit does not require rewriting the data, only switching on the next profile. See Attestation Infrastructure in v0.1 for the profile catalogue and Operational Layer UX Discipline for how adoption is sequenced.
The G-prefixed codes are gap codes that would be meaningful only if an adopter runs the topological audit as a downstream-analysis mode (per ADR-032 Methodology Agnosticism as Foundational Axiom). They depend on the topological research line maturing into an applied audit, on a registry of pre-approved guidance/artifact types existing, and on the adopter choosing to run that audit; they are NOT reported by v0.1, and flexo-rtm does not commit to ever producing them. Normative source: Design Spec §4.7 and §9.A.6 (topology-line acceptance criteria D1 and D2). The research line itself is described in Topological Framework Future Work.
-
G3.uncoupled— a requirement is not paired with the Guidance vertices a topological audit would expect (rtm:AdequacyCriteria,rtm:SufficiencyCriteria, etc.). Surfaces only if coupling edges are populated and a registry-rooted audit is run. -
G4.assurance-triangle-incomplete— an assurance triangle (the closed face a topological audit reads) is missing one or more edges. Requires the closed-triangle audit pass (D1). -
G5— structurally absent under the topological audit's SHACL gate, just as$T7$ is in v0.1. The audit's SHACL gate on validation edges would reject any without an approver IRI. The code is reserved in the enumeration for diagnostic completeness only. -
G6.assurance-triangle-stale— a triangle is structurally closed but the content hashes of its constituents have diverged since closure; the closure no longer reflects current state. -
G7.recursive-incompleteness— guidance referenced by an attestation is itself not assured. Catching this requires the registry-driven recursive completeness audit (D2). -
G8.dangling-sysml-ref— an edge points to anomg-sysml:IRI not in scope. This can surface descriptively in v0.1 audit reports under External URI References, but only a topological audit gives it semantic weight as an audit failure. -
G9.registry-unknown-type— an artifact or guidance type is not in the pre-approved registry. The registry is internal to the topological research line.
The G-codes are tracked in the codebase enumeration alongside the T-codes so any downstream-analysis tooling that materializes has stable identifiers. A v0.1 audit report MUST NOT emit G-code rows; the certification predicate MUST NOT depend on them. Adopters interested in the topological audit as a downstream-analysis path can follow Topological Framework Future Work and the D1/D2 topology-line tests in Design Spec §9.A.6.
Every gap code above is evaluated against the graph subset chosen by the active Analysis Layer Scope Algebra policy. The audit report records the scope IRI and scope hash alongside the gap enumeration. Two consequences follow: (1) a triple may produce a gap under one scope and no gap under another — different cert runs ask different questions; (2) reproducing a gap enumeration requires reproducing the scope, the data snapshot, and the active profiles. All three are recorded in the transcript per Design Spec §4.8.
| Code | Spec section | Profile |
|---|---|---|
| §4.7, §4.1 | always on | |
| §4.7, §4.1 | always on (foundational-artifact exclusion via scope) | |
| §4.7, §4.3 | attested-satisfies |
|
| §4.7, §4.3 | attested-adequacy |
|
| §4.7, §4.3 | attested-sufficiency |
|
| §4.7, §4.3 | always on | |
| §4.7, §4.3 | structurally absent — SHACL rejects at write | |
| §4.7, §4.3 | aspect-coverage |
|
| §4.7, §4.3, ADR-031 | always on (cert-blocking by default; informational under accept-deprecated) |
|
| §4.7, §4.3, ADR-031 | always on as informational; cert-blocking under no-deferred
|
|
|
|
§4.7, §9.A.6 (D1, D2) | topology-line only (downstream-analysis mode) |
-
ADR-032 Methodology Agnosticism as Foundational Axiom — names the topological framework as one related research line; the G-codes are downstream-analysis gap codes, not deferred
flexo-rtmfeatures. -
Design Spec — §4.7 normative source for the gap taxonomy; §4.3 attestation subclasses that generate
$T3$ –$T10$; §9.A.6 (D1, D2) for the topology-line capabilities that the G-codes depend on. -
ADR-031 Attestation Status Pass Fail Deferred Deprecated — locked decision introducing the four-state attestation status vocabulary that generates
$T9$ and$T10$ and refines$T6$ . - Certification Predicate — how gap enumeration composes into the PASS/FAIL grade.
-
Aspect Coverage with Adequacy and Sufficiency — the per-aspect rollup that
$T8$ checks. - Operational Layer UX Discipline — how the audit report surfaces gaps to practitioners.
-
Traditional Forward and Backward Analysis —
$T1$ and$T2$ in their forward/backward context. -
Attestation Infrastructure in v0.1 — the SHACL discipline and composable profiles that produce
$T3$ –$T8$. - Topological Framework Future Work — the topological research line that the G-codes are meaningful under.
- Flexo Git Coexistence
- ADCS Prototype Lessons
- MVC Pattern from RIME TRL ANT
- Human-AI Accountability
- Multi-Agent Discourse Graph Precedent
- OSLC RM and QM Review
- INCOSE V2 Review
- OMG SysMLv2
- PROV EARL GSN P-PLAN
- Dragon Architecture and Mission Enterprise
- Traditional Forward and Backward Analysis
- Attestation Infrastructure in v0.1
- Identity Boundaries and Policy Projections
- External URI References
- Signed Envelopes and Established Standards
- Aspect Coverage with Adequacy and Sufficiency
- Federated Audit and Composition
- Certification Predicate
- Gap Taxonomy
- Quantitative Outcomes
- Engineering Lifecycle Stages (v0.2)
- Topological Framework Future Work (research phase)
- Vertices Edges Faces (research phase)
- Three-Layer Architecture
- Operational Layer UX Discipline
- Storage Layer Flexo Conventions
- Analysis Layer Scope Algebra
- OSLC Roundtrip Acceptance
- Identity Adapter Contract
- Flexo REST Binding
- SysMLv2 Ingestion Contract
- External URI Rules
- Signed Envelope Shapes
- Parsimony Manifest
- Lossless Roundtrip Definition
- Vendor Extension Carry-Through
- OSLC RM Adapter Contract
- OSLC QM Adapter Contract
- ADR Template
- ADR-001 Foundations First Approach
- ADR-002 SysMLv2 Anchoring
- ADR-003 Topological Framework Documented as Future Work
- ADR-003a v0.1 Ships Traditional Analysis Only
- ADR-004 Quantitative Certification Outcome
- ADR-005 Adequacy and Sufficiency as Guidance Subtypes
- ADR-006 Three-Layer Architecture
- ADR-007 Scope as First-Class RDF Resource
- ADR-008 Repo Name and Org Transfer Plan
- ADR-009 Two-Repo Strategy
- ADR-010 OSLC-RM and OSLC-QM in v0.1
- ADR-011 Lossless Criterion A plus C
- ADR-012 Direct RDF Properties over Reified Edges
- ADR-013 Simplicial Complex as Derived View When Built
- ADR-014 Parsimony Layer Build-Time Extraction
- ADR-015 GSN Adoption for Adequacy and Sufficiency
- ADR-016 Composable SHACL Profiles
- ADR-017 knowledgecomplex as Optional Extras
- ADR-018 V minus F Invariant Deferred with Topological Framework
- ADR-019 Derived Binary View from Quantitative Metrics
- ADR-020 Vocabulary Alignment with Zargham 2026
- ADR-021 Three Attestation Subclasses Ship in v0.1
- ADR-022 External URI References as Open-Source Foundation
- ADR-023 Cryptography by Composition of Battle-Tested Standards
- ADR-024 Identity by Thin Projection of External Sources
- ADR-025 Reproducibility is Structural and Local
- ADR-026 Cryptographic Agility via Algorithm Profiles
- ADR-027 Bit-Exactness vs Numerical Tolerances Are Both First-Class
- ADR-028 Scope-Level Adequacy and Sufficiency for Federated Audit
- ADR-029 Engineering Lifecycle Stages as Scope Metadata
- ADR-030 Polycentric ASOT Authority Model
- ADR-031 Attestation Status Pass Fail Deferred Deprecated
- ADR-032 Methodology Agnosticism as Foundational Axiom
- ADR-033 Generalized ASOT Principle for All Identified Things