Pattern-Framework Relation and Edition Discipline
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 Reference 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.
Type: Architectural (A) Status: Stable Normativity: Normative unless marked informative.
Use this pattern when an FPF framework needs to record how patterns, framework editions, publication carriers, access carriers, source packs, decisions, generated carriers, and quality records relate without collapsing every relation into dependency, method order, inheritance, runtime/API relation, or cross-reference.
Relations
Content
Problem frame
Use this pattern when an FPF framework needs to record how patterns, framework editions, publication carriers, access carriers, source packs, decisions, generated carriers, and quality records relate without collapsing every relation into dependency, method order, inheritance, runtime/API relation, or cross-reference.
Primary EntityOfConcern: relation and edition records for an FPF-grounded pattern framework. The first useful output is one or more relation records with a relation function, direct governing pattern, dependency or edition effect when present, blocked stronger reading, and return condition.
Use this pattern for relation, dependency, compatibility, deprecation, supersession, and edition discipline. Use E.11.PUR for pattern-use recommendations and E.17 for publication structures.
Problem
Pattern frameworks need many relation functions. One pattern may specialize another. A local framework may depend on a domain framework edition. An all-in-one publication carrier may publish a selected pattern set. A skill pack or MCP-backed service may expose access to that set. A generated graph may suggest relation candidates. A quality result may evaluate a pattern version. These relations have different meanings and different owners.
If they are all recorded as "related patterns" or "dependencies", maintainers cannot tell which relation can be used for what purpose, which stronger reading is blocked, what breaks when an edition changes, or which owner receives repair.
Forces
Solution
Record relation claims through explicit relation records before using them for architecture, publication, dependency, or quality work.
Use relation functions by what they do:
Apply the edition rule: domain and local frameworks depend toward more stable editions. A local practice framework may depend on a domain principle framework and FPF Core. A domain principle framework may depend on FPF Core. FPF itself as a First Principles Framework edition is handled through [E.4.FPF](/generated/patterns/E.4.FPF); FPF Core does not depend on domain or local frameworks except through a deliberate Core amendment.
Use compatibility practice narrowly: state compatibility boundary, dependency impact, deprecation, supersession, and refresh conditions. Do not import software build or performed-work semantics into pattern relations.
Use FrameworkPackageManifest@Context only when authors need one package-like index for a domain principle framework or local practice framework. For the form of FPF itself, use [E.4.FPF](/generated/patterns/E.4.FPF) and its FPFFormMap; do not force FPF into the DPF/local manifest shape. The manifest lists the selected pattern set publication, access carriers, relation records, dependency pins, edition status, deprecation or supersession refs, source-pack pins, quality evidence, refresh plan, and first-entry carrier. Listing a skill package, MCP endpoint, API route, or assistant integration records a framework access route only; it does not create imports, APIs, runtime dependencies, build semantics, module calls, tool permission, or authority over pattern-use relations. If the selected pattern set itself is being published, use [G.5](/generated/patterns/G.5); if currentness is being planned, use [G.11](/generated/patterns/G.11); if the manifest is used as architecture evidence, use [C.33](/generated/patterns/C.33) or [C.34](/generated/patterns/C.34) for captured and lost structure.
Archetypal Grounding
Tell: A hydroponic-cucumber framework edition depends on an FPF Core edition. It has a publication relation to its all-in-one publication carrier, an access relation to a grower-assistant skill pack or MCP-backed advisory route when those are built, a source relation to greenhouse-control source packs, a specialization relation where one pattern narrows an FPF authoring pattern for crop-domain use, and quality relations for evaluated pattern drafts.
Show: A local Codex process framework depends on FPF Core and on selected architecture patterns. Its baton-handoff pattern may coordinate with E.11.PUR, but that relation is not an instruction to perform that method. The relation record states the governed use and the direct pattern owner.
Show: A generated relation graph says pattern A "depends on" pattern B. PFR does not accept the word at face value. It asks whether the relation is recommendation, specialization, publication, edition dependency, preservation, admission, quality, or source use, then records the decided function.
Dependency and specialization example:
Source and decision reuse example:
Bias-Annotation
The main drift is relation-word overread: a useful word such as "depends", "uses", or "profiles" is treated as if its ordinary meaning settled the relation function. The repair is to write the relation function, governed use, owner, and blocked stronger reading in the record.
The second drift is software-package analogy overreach. Compatibility and deprecation practices are useful, but pattern frameworks are not software packages. The repair is to keep edition dependency and compatibility as FPF records, not as build or performed-work semantics.
Conformance Checklist
Common Anti-Patterns and How to Avoid Them
Consequences
PFR makes relation work more explicit and less terse. The gain is that dependency impact, publication use, preservation, specialization, quality, and source-return claims no longer compete under one ambiguous relation label.
The pattern also makes edition changes more inspectable. When a framework edition changes, maintainers can inspect dependency records, compatibility boundaries, deprecation, supersession, and refresh conditions instead of searching prose.
Rationale
FPF pattern ecosystems are declarative relation systems. Relations constrain admissible use, publication, dependency, preservation, evaluation, and source return. They are not one general edge kind and not a performed-work order.
The pattern adopts the useful part of package and versioning practice, but only at the level of public compatibility, dependency impact, deprecation, supersession, and refresh. This keeps FPF relation ontology intact while still learning from mature ecosystem practice.
SoTA-Echoing
Relations
- Builds on:
E.5.3for directed dependency and family-order discipline. - Coordinates with:
E.4for family membership and selected structure architecture. - Coordinates with:
E.4.FPFwhen relation and edition records concern FPF itself as a first-principles framework edition or one of its publication/access carriers. - Coordinates with:
E.4.PFADwhen a relation or dependency is selected by an architecture decision. - Coordinates with:
E.11.PURfor pattern-use recommendation and sequencing. - Coordinates with:
E.11,E.17, andG.5for publication and selected-set exposure. - Coordinates with:
F.18for relation and framework names. - Coordinates with:
G.11for refresh,E.22for quality-evaluation framing,E.2.DAfor whole-FPF adequacy evaluation,E.4.DPF.DAfor DPF package adequacy evaluation,E.21for individual pattern-quality evaluation, andE.23for repeated improvement. - Coordinates with:
C.33,C.34, andC.35for carrier loss, preservation, and produced-carrier admission.
E.4.PFR:End
Last Updated: 2026-06-26 — this section last modified in upstream FPF commit f1d0f931 (github.com/ailev/FPF)