- src/types.hpp: complete UCWM type system in C++20 — 19 enums, 11 facet data types, all core structs (CanonicalObject, Constraint, Facet, GateSignal, WorldState, etc.) with full JSON round-trip serialization - src/main.cpp: smoke test — constructs apple-problem WorldState by hand, serializes to JSON - tests/test_types.cpp: 19 tests, 123 assertions, all passing - CMakeLists.txt: CMake + CPM build with nlohmann/json, spdlog, Catch2 - schemas/: JSON Schema contracts for all UCWM data types - gates/, specialists/, resolver/, synthesis/: language-agnostic interface contracts and domain specs for all pipeline layers - docs/: architecture, vocabulary, decision matrices, roadmap (6 phases, 28 sprints), sprint_001, implementation_constraints Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4.1 KiB
UCWM Vocabulary
Core terms
UCWM — Unified Constraint World Model The whole structured reasoning substrate. Converts messy natural language into a typed world state of objects, facets, and constraints, then resolves that state to produce answers.
RSA — Relay Specialist Architecture The routing and dispatch mechanism inside UCWM. RSA decides which specialists run, on which objects, with what budget. RSA is not the model core; UCWM is.
CanonicalObject The primary reusable referent. A stable anchor that facets attach to. Objects are not overloaded — they carry identity, kind, status, confidence, and refs to facets, constraints, and provenance.
FacetBundle The collection of typed descriptions attached to a single canonical object. A single object may have temporal, causal, spatial, logical, and other facets simultaneously.
Facet A partial, typed view of a canonical object. Examples: TemporalFacet, SpatialFacet, CausalFacet, QuantityFacet. Facets are optional — not every object exists in every relation type.
Schema Plurality The principle that the same underlying thing may be validly described by multiple schema systems simultaneously. UCWM does not force a single schema early. Specialists attach schema-shaped facets; the resolver reconciles.
Constraint
An explicit relation, restriction, incompatibility, requirement, or preference involving objects and/or facets. Constraints are the core reasoning currency. Examples: before(E1, E2), owns(Alice, apples, count=5), quantity(Q1) = quantity(Q2) - 3.
Constraint Profile The active set of constraints touching a given object and its facets.
Composite Routing A relay decision that activates multiple specialists on the same target simultaneously.
Relation Gate Array The front-end set of small recognizers that detect which relation families are probably relevant to the input. High-recall by design — prefer false activation over missed activation.
GateSignal The output of a single gate. Contains: gate_id, activated flag, confidence score, and evidence spans.
RoutingDecision The output of the relay. Contains: active specialists, target object refs, execution mode, budget, and priority order.
WorldState The active UCWM state at a given processing stage. Contains all current objects, facets, constraints, and their statuses.
Contractual Layer A module boundary with typed input/output schemas and testable behavior. Every UCWM layer is a contractual layer.
Specialist A contract-bound module that takes canonical objects and routing context, and emits typed facets and constraints. May be neural, symbolic, statistical, or hybrid. Emits bounded structured output — never unconstrained free text.
Resolver The UCWM component that combines constraints from specialists, detects contradictions, reinforces agreements, and stabilizes WorldState into a resolved form ready for synthesis.
Synthesis The final stage. Produces a natural language answer and derivation trace from resolved WorldState. The answer must be derivable from constraints, not from surface token patterns.
Provenance A record of where a fact, object, facet, or constraint came from: which input span, which module, which inference step, at what confidence.
Constraint strength levels
| Strength | Meaning |
|---|---|
hard |
Must hold; contradiction is an error |
soft |
Preferred; can be overridden by hard constraints |
probabilistic |
Holds with a stated probability |
defeasible |
Default assumption; can be retracted by new evidence |
Constraint status lifecycle
unresolved → resolved
→ contradicted
→ suspended
Object kinds
entity, event, concept, proposition, relation_instance, procedure_step, code_object, quantity, claim, state
Object status lifecycle
proposed → active → merged
→ split
→ invalidated
Facet kinds
temporal, spatial, causal, logical, syntactic, semantic, social, ownership, code_structure, quantity, planning