- conforms_to::[[Contract Form Contract]]
- extends_contract::[[Gloss Form Contract]]
- authored_by::[[Deep Context Community]]
- has_lifecycle::[[Seed Stage]]
- has_curation::[[Working Draft]]
- in_domain::[[Deep Context Architecture]]
Predicate Form Contract
A Predicate is a node that defines a typed edge-predicate used elsewhere in the graph. It carries the positive sense of the predicate — the shape of claim it makes when attached as an edge — together with the crescent distinctions that separate it from adjacent predicates and the subject-and-object typing that constrains where it may legitimately attach.
A Predicate is a specialization of Gloss: it defines a term, and that term happens to be a predicate name. It inherits Gloss's filename-carries-definition pattern and restate-and-elaborate body opening. It adds structural obligations specific to predicates — the [[Crescent -- the distinction a predicate holds against an adjacent predicate|Crescent]] section that documents what this predicate holds that its near-neighbors don't, and the Typing section that names the node shapes it connects.
The Predicate Form exists because the project holds vocabulary diversity load-bearing: adjacent predicates are not interchangeable, and the distinctions between them are the content the graph is committed to preserving. A Predicate node is the structural home for those distinctions. The Crescent section is required — not optional — because an undocumented crescent is a silent invitation to merge the predicate into a neighbor under later convergence pressure. The term comes from a Venn-diagram picture of two adjacent predicates as overlapping circles: they share an intersection, and each holds a crescent-shaped arc outside the intersection — the ## Crescent section carries that arc's content as prose.
Requirements
Inherits Gloss Form Contract
- All requirements of [[Gloss Form Contract]] apply, including the double-hyphen filename pattern, the bare-concept H1, and the restate-and-elaborate body opening.
- The requirements below are additions or refinements for Predicate nodes specifically.
Filename pattern
- The filename MUST follow
<predicate> -- <one-clause sense>.md, inherited from Gloss. - The concept side MUST be the predicate name without the trailing
::. Filesystems do not reliably carry::, and the predicate's name as a concept (how other nodes wikilink to it) is distinct from its syntactic role as an edge marker. - The one-clause sense SHOULD name the shape of the claim the predicate makes, not a category label. Prefer
critiques -- principled disagreement with a positionovercritiques -- a disagreement predicate.
Identity predicate block
- The identity block above the H1 MUST include
conforms_to::[[Predicate Form Contract]]. - The identity block SHOULD include
in_domain::[[<Domain>]].
Body: Carries
Enforces [[Require Carries Section in Predicate Nodes]].
- The body MUST include a
## Carriessection stating the positive sense of the predicate — what claim it makes when attached as an edge, what stance it encodes, what web of associations it activates. - The Carries section MUST be written positively, not comparatively. Comparative content belongs in Crescent.
- Two to four sentences is typical. A Predicate load-bearing enough to earn its own node can usually sustain a longer Carries paragraph.
Body: Crescent
Enforces [[Document Predicate Crescents Against Adjacent Predicates]].
- The body MUST include a
## Crescentsection when the Predicate declares one or morecontrasts_with::edges. - Each adjacent predicate MUST have its own H3 subsection headed
### Against [[adjacent predicate]]. - Each Crescent subsection MUST state what this predicate carries that the adjacent one does not — the distinction that would be destroyed by merging them.
- The Crescent content on two adjacent Predicate nodes is NOT required to be symmetric.
critiques -- ...'s crescent againstchallengesnames whatcritiquesholds;challenges -- ...'s crescent againstcritiquesnames whatchallengesholds. Each node carries its own account; the two accounts together are the full pairing. - A Predicate with no declared
contrasts_with::edges MAY omit the Crescent section, but SHOULD include a sentence in the Carries section noting that no adjacent predicate has yet emerged.
Body: Typing
- The body MUST include a
## Typingsection that names the subject and object shape the predicate expects. - The subject is the node attaching the edge; the object is the wikilink target.
- Either side MAY be polymorphic — if so, state the polymorphism explicitly rather than leaving it undefined.
- If the predicate expects a specific node form (e.g., "the object MUST be a Contract"), state it here.
Body: Instances (Optional)
- An
## Instancessection MAY list concrete uses of the predicate in the graph, to ground the Carries and Crescent sections in real edges. - Each instance SHOULD name the subject node, the object node, and a one-clause gloss of what the edge claims in that context.
Relations section
- A Predicate MUST include
contrasts_with::[[Adjacent Predicate]]for every adjacent predicate whose Crescent it documents. Thecontrasts_with::edge is the pairing; the Crescent section is the content. Together they make the near-neighbor relationship structurally visible. - A Predicate MAY include
composes_with::[[Related Predicate]]when two predicates are routinely used alongside each other. - A Predicate SHOULD include
grounded_in::[[Vocabulary Diversity Is a Feature]]when its Crescent section is a direct instance of the conviction that vocabulary diversity is load-bearing.
Vocabulary registration
- A Predicate node's existence is the project's structural way of admitting a predicate to the local vocabulary. Creating a Predicate node SHOULD coincide with adding the predicate to
CONVENTIONS.md. - A predicate used in the graph without a corresponding Predicate node is a drift signal — the vocabulary is accreting without its distinctions being documented.
Relations
-
extends_contract::[[Gloss Form Contract]]
- Inherits the double-hyphen filename pattern and the restate-and-elaborate body opening; adds the required Carries, Crescent, and Typing sections and the
contrasts_with::edge for every documented crescent.
- Inherits the double-hyphen filename pattern and the restate-and-elaborate body opening; adds the required Carries, Crescent, and Typing sections and the
-
conforms_to::[[Contract Form Contract]]
- This file is itself a Contract; it conforms to the meta-contract that specifies what Contract nodes look like.
-
grounded_in::[[Vocabulary Diversity Is a Feature]]
- The conviction this contract realizes. The Crescent section is the structural home for the distinctions that conviction holds load-bearing, and the required
contrasts_with::pairing is what keeps adjacent predicates from being silently merged.
- The conviction this contract realizes. The Crescent section is the structural home for the distinctions that conviction holds load-bearing, and the required
-
grounded_in::[[Document Predicate Crescents Against Adjacent Predicates]]
- Grounds the Crescent-per-neighbor Requirement.
-
grounded_in::[[Require Carries Section in Predicate Nodes]]
- Grounds the Carries Requirement and its positive-not-comparative framing.
-
contrasts_with::[[Gloss Form Contract]]
- A Gloss defines any term; a Predicate defines a term used as a typed edge and therefore carries subject-object typing and per-neighbor crescents. A Predicate is a Gloss with stricter body obligations and required adjacency relations.
-
informed_by::[[Crescent -- the distinction a predicate holds against an adjacent predicate|Crescent]]
- The Gloss that carries the Venn-non-overlap metaphor underwriting the
## Crescentsection's shape. The per-neighbor H3 structure and the asymmetry of crescents across adjacent nodes both follow from the geometric picture.
- The Gloss that carries the Venn-non-overlap metaphor underwriting the