Table of contents
Flatfile Agential Resource System Params
Formal definition
The params: field of a FARS spec is a CapabilitySignature whose sort set is the FARS sort vocabulary:
where:
- is the finite set of parameter names declared in the
params:field of spec (e.g.,vessel,persons,role-assignment,mandate) - is the FARS sort vocabulary — the set of spec identifiers that function as types in the system: ; each sort names a spec in
spec/and therefore names a kind of structured object - asserts that parameter of spec requires a value of sort — an object that satisfies the spec with id
The output field. Every spec with a params block also carries an output: field specifying a sort . This is the result sort — the sort of the object the spec produces when its params block is satisfied. The params block together with form the functional profile of spec : .
Three invariants. is a valid params block iff:
-
Sort groundedness: every sort and the output sort are spec ids that resolve to an existing entity in the system. A param whose sort has no corresponding spec creates vocabulary debt — an edge whose label has no node. Every sort in must name a spec that has been declared before is used.
-
Name uniqueness within spec: parameter names within a single spec’s params block are distinct — is a function, not a multimap. Two params of the same sort must have distinct names (e.g.,
source: personandtarget: personare distinct params). -
Finiteness: . A params block with infinitely many parameters cannot be satisfied at any history.
The FARS sort vocabulary
The sort vocabulary is managed as a FARS entity: each sort must have a corresponding spec with id: s in the spec/ directory. The sort vocabulary is exactly the set of id: values of existing specs.
This means:
- Adding a new sort = writing a new spec
- A sort is well-typed iff its spec exists
- Using an undeclared sort in a params block creates a dangling reference — a capability signature over a non-existent sort
The sort vocabulary is not closed a priori; it is whatever the current spec corpus defines. New sorts enter through spec declaration, not through modification of a central type registry.
Subsumption between params blocks
Definition. A subsumption morphism between two params blocks exists iff:
Spec is more demanding than : satisfying ’s params block entails satisfying ’s. This is the formal meaning of extends: in FARS frontmatter — extends iff .
Theorem (Params Subsumption Satisfaction). If and a spec instance satisfies at history , then satisfies at history .
Proof sketch. Satisfaction of means every parameter in has a doubly-settled value-proposition for at . Since and sorts agree, the value-propositions for restrict to value-propositions for .
Satisfaction in FARS
Definition. A spec instance is a binding assigning an object of sort to each parameter name. The satisfaction proposition for instance of spec at history is .
Operative satisfaction. iff for every , the value-proposition — every bound value is doubly settled as being of the required sort.
Nuclear derivation
Param-binding propositions. For each parameter and provided value , define as the proposition “value of sort is bound to parameter of spec at history .
Operative satisfaction condition. iff .
Sort-grounding proposition. For each sort , define as the proposition “sort has a corresponding spec in the system at history . An ungrounded sort leaves all bindings for that parameter in — they cannot be meaning-settled because the sort itself is unsettled.
Failure modes.
| Failure | Nuclear characterization | Symptom |
|---|---|---|
| Dangling sort | for some | Param cannot be type-checked; binding never meaning-settles |
| Missing param | for required | Partial instance; spec not fully instantiated |
| Type mismatch | but does not satisfy sort | Binding meaning-settles falsely; execution-settlement fails |
| Circular sort | and | Sort grounding produces fixed-point loop; no history at which both settle |
Open questions
- Whether the FARS sort vocabulary should be formalized as a presheaf assigning to each history the set of currently-declared sorts, making sort availability history-relative, or whether is a global constant.
- Whether partial satisfaction (providing only some params) should generate a residual params block — the signature of remaining unfilled parameters — making partial instantiation a morphism in the preorder of params blocks.
- Whether the
extends:relation exactly corresponds to subsumption morphisms between params blocks, or whether extension carries additional structure beyond type compatibility (e.g., behavioral obligations).