Unidirectional Dependency
About this pattern
This is a generated FPF pattern page projected from the published FPF source. It is canonical FPF content for this ID; it is not a fpf-memory product feature page.
How to use this pattern
Read the ID, status, type, and normativity first. Use the content for exact wording, the relations for adjacent concepts, and citations to keep active work grounded without pasting the whole specification.
FPF separates artefacts into stable Conceptual Core, executable Tooling Reference, and fast‑evolving Pedagogical Companion (see E.4 Artefact Architecture). If dependencies can point both ways, volatile layers will eventually drag the Core into rapid revision cycles or introduce domain‑specific bias.
Keywords
- dependency
- layers
- architecture
- modularity
- acyclic
- Core
- Tooling
- Pedagogy.
Relations
Content
Problem frame
FPF separates artefacts into stable Conceptual Core, executable Tooling Reference, and fast‑evolving Pedagogical Companion (see E.4 Artefact Architecture). If dependencies can point both ways, volatile layers will eventually drag the Core into rapid revision cycles or introduce domain‑specific bias.
Problem
Architectural gravity: a tutorial or helper script adds a new feature, Core patterns import it “temporarily,” and within months the supposedly timeless layer depends on transient assets—breaking Pillar P‑5 FPF Layering.
Forces
Solution — One‑Way, Acyclic Imports
Define a strict partial order over artefact families and guard meaning flow (see E.10 V‑1): imports point only upward in stability, and no Core semantics may derive from Tooling/Pedagogy. No linters or machine checking in Conceptual Core.
imports is a dependency DAG, not a specialisation relation (normative). Whenever an artefact exposes an explicit imports : [...] list (e.g., SignatureManifest.imports in A.6.0), treat imports as dependency edges governed by this section: the induced imports graph MUST be acyclic (a DAG) and MUST respect the declared direction. imports MUST NOT be used to encode specialisation (e.g., ⊑ / ⊑⁺ between mechanisms); specialisation relations are declared separately via the relevant morphism/ladder rules (e.g., A.6.1 U.MechMorph).
Pedagogical Companion ⟶ Tooling Reference ⟶ Conceptual Core
-
Allowed edges
Dependencies MAY point only upward (toward greater semantic stability). No cycle is ever permitted. -
No downward import
Core artefacts SHALL NOT import Tooling or Pedagogy artefacts. Tooling artefacts SHALL NOT import Pedagogy artefacts. -
Future layers
Any new family is inserted below an existing one or becomes part of the Tooling or Pedagogy strata; the ordering extends accordingly.
Archetypal Grounding (System / Episteme)
Conformance Checklist
Consequences
Rationale
One‑way import graphs are a proven safeguard in operating systems (kernel vs user land) and layered protocols. Here the rule operationalises Pillars P‑4 Open‑Ended Kernel and P‑5 FPF Layering, ensuring that innovation happens “below” without contaminating the timeless Core.
Relations
- Parent umbrella:
pat:constitution/guard‑rails(E.5) - References layer definition:
pat:constitution/artefact‑architecture(E.4) - Instantiates pillars: P‑4, P‑5
- Constrains: All artefact imports recorded in DRRs or SCRs