- 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>
91 lines
4.1 KiB
Markdown
91 lines
4.1 KiB
Markdown
# 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`
|