docs(curriculum): add foundation curriculum roadmap

This commit is contained in:
Shay 2026-05-30 18:35:13 -07:00
parent 9df1e6522b
commit e74a51f5db

View file

@ -0,0 +1,614 @@
# CORE Foundation Curriculum Roadmap
Status: proposed planning document
Scope: documentation only; no runtime, pack, eval, or admission changes
Purpose: define the lower-level subjects CORE should learn first so later domain studies are built on strong reusable foundations rather than brittle topic accumulation.
---
## 1. Doctrine
CORE should not widen capability by collecting impressive subjects first. It should widen capability by building the reusable primitives that make later subjects lawful, auditable, transferable, and refusal-safe.
The curriculum order is therefore:
```text
language -> relations -> quantity -> units -> logic -> evidence -> data -> algorithms -> systems -> domains
```
The desired result is not broad trivia. The desired result is a model that can read the world as:
```text
typed, evidenced, unit-bearing, logically constrained state transitions
```
This keeps teaching aligned with CORE's core commitments:
- deterministic replay over fluent improvisation
- evidence spans over unsupported assertion
- typed refusal over hidden guessing
- ratified packs over loose memory
- cross-field transfer through shared primitives, not analogy theater
- small load-bearing PRs instead of large speculative rewrites
---
## 2. Foundation-before-domain rule
Do not start with high-level applied subjects such as medicine, law, finance, engineering design, or advanced theology until their lower-level dependencies exist.
Applied domains require foundations:
| Applied domain | Required foundations first |
|---|---|
| Medicine | language, quantity, units, biology, chemistry, statistics, evidence quality, ethics, scope/refusal |
| Law | language, definitions, conditionals, authority, jurisdiction, procedure, evidence, source hierarchy |
| Finance/trading | arithmetic, rates, time, probability, statistics, incentives, risk, uncertainty, causality vs correlation |
| Engineering | units, dimensional analysis, physical science, constraints, systems, algorithms, safety |
| Theology/hermeneutics | language, logic, history, source criticism, ethics, epistemology, Hebrew/Greek depth lanes |
| Research assistance | language, evidence, data, statistics, source evaluation, methodology, uncertainty handling |
The rule is simple:
```text
No domain pack should pretend to reason above the level of its substrate packs.
```
---
## 3. Curriculum ladder
### Stage 0 — Existing base and constraints
Current project direction already includes language packs, epistemic states, reviewed learning, refusal-first behavior, sealed eval discipline, and GSM8K-driven math/reasoning work.
This roadmap does not replace those efforts. It gives them a larger teaching order.
### Stage 1 — Language relation substrate
Purpose: make every later subject parseable.
CORE must reliably identify:
- subject / predicate
- agent / action / object
- modifiers
- prepositional relations
- temporal sequence
- conditionals
- negation
- comparison
- coordination
- reference resolution
- claim boundaries
Canonical representation target:
```text
CLAIM {
subject
relation
object_or_value
qualifiers
evidence_span
epistemic_state
}
```
Initial pack candidates:
```text
packs/language/en_core_syntax_v1
packs/language/en_core_relations_v2
```
Initial eval candidates:
```text
evals/language_claim_parsing
evals/language_relation_binding
```
Acceptance direction:
- Every parsed claim has an evidence span.
- Every relation has typed operands.
- Temporal, conditional, comparative, and negated forms are deterministic.
- Missing evidence produces a typed refusal or undetermined state.
- Existing GSM8K behavior does not regress.
### Stage 2 — Arithmetic semantics and quantity state
Purpose: make story statements compile into deterministic quantity/state transitions.
CORE must treat arithmetic operations as semantic transformations, not just symbols.
Examples:
| Operation | Semantic forms |
|---|---|
| Addition | combine, gain, receive, total, altogether |
| Subtraction | remove, lose, spend, left, difference |
| Multiplication | groups of, each, per, repeated addition |
| Division | share equally, groups of, inverse rate |
| Fractions | part-whole, ratio, scaling |
| Percent | per hundred, relative change |
| Ratios | comparison, mixture, scale |
| Rates | quantity per unit |
Canonical representation target:
```text
ENTITY_LEDGER {
entity
attribute
initial_state
mutations[]
final_state
evidence_spans[]
}
```
Initial pack candidates:
```text
packs/math/arithmetic_semantics_v1
packs/math/quantity_ledger_v1
packs/math/ratio_rate_percent_v1
```
Initial eval candidates:
```text
evals/math_quantity_language
evals/math_state_tracking
```
Acceptance direction:
- Quantity-bearing language becomes a replayable ledger.
- Operations preserve entity and attribute identity.
- Unknown initial/final values remain symbolic until solved or refused.
- Comparative phrases are directionally correct.
- Already-admitted GSM8K cases remain stable.
### Stage 3 — Measurement, units, and dimensional reasoning
Purpose: attach numbers to reality and reject invalid operations.
CORE must understand:
- unit identity
- unit families
- unit conversion
- compound units
- dimensional compatibility
- rates
- scale
- precision
- exact vs measured quantities
Canonical operation rule:
```text
operation(value_a: unit_x, value_b: unit_y) -> valid only if dimensions permit it
```
Initial pack candidates:
```text
packs/math/measurement_units_v1
packs/math/dimensional_analysis_v1
```
Initial eval candidates:
```text
evals/unit_conversion
evals/dimensional_validity
evals/rate_reasoning
```
Acceptance direction:
- Unit conversions are deterministic and evidence-backed.
- Incompatible operations refuse or mark invalid.
- Compound units preserve numerator/denominator structure.
- Answers include units when units are present in the prompt.
### Stage 4 — Logic, classification, and conditionals
Purpose: preserve truth under inference.
CORE must understand:
- identity and difference
- class membership
- subclass relations
- part-whole structure
- necessary and sufficient conditions
- quantifiers
- negation
- conjunction/disjunction
- contradiction
- equivalence
- causal vs logical implication
Initial pack candidates:
```text
packs/logic/classification_v1
packs/logic/conditionals_v1
packs/logic/quantifiers_v1
packs/logic/contradiction_v1
```
Initial eval candidates:
```text
evals/basic_logic
evals/claim_entailment_refusal
```
Acceptance direction:
- Entailed claims are separated from merely plausible claims.
- Contradictions are explicit, not smoothed over.
- Quantifier scope is preserved.
- Unknown membership or insufficient premises produces refusal/undetermined state.
### Stage 5 — Scientific method and evidence grammar
Purpose: separate observation, hypothesis, inference, verification, contradiction, and scope.
CORE must represent:
- observation
- measurement
- hypothesis
- prediction
- experiment
- control
- evidence
- model
- theory/law
- confounder
- replication
- scope limit
Initial pack candidates:
```text
packs/science/scientific_method_v1
packs/science/evidence_relations_v1
packs/science/causal_reasoning_v1
```
Initial eval candidates:
```text
evals/science_evidence_classification
evals/hypothesis_prediction_experiment
```
Acceptance direction:
- Observed claims are not promoted to verified causal claims without support.
- Missing controls, denominators, sample sizes, or methods are exposed.
- Causal language is distinguished from correlation/association.
- Scope limits are preserved.
### Stage 6 — Data literacy, probability, and statistics
Purpose: reason under uncertainty without overclaiming.
CORE must understand:
- data point
- variable
- dataset
- table
- chart
- mean/median/mode
- range/spread
- outlier
- sample vs population
- probability
- conditional probability
- base rate
- false positive/negative
- absolute vs relative risk
- correlation vs causation
Initial pack candidates:
```text
packs/math/data_literacy_v1
packs/math/probability_v1
packs/math/statistical_reasoning_v1
```
Initial eval candidates:
```text
evals/table_reasoning
evals/probability_language
evals/base_rate_reasoning
evals/correlation_vs_causation
```
Acceptance direction:
- Tables are parsed into typed rows/columns.
- Claims unsupported by denominator/sample data are refused or qualified.
- Base-rate information is preserved.
- Relative and absolute changes are not confused.
### Stage 7 — Computational thinking and algorithms
Purpose: make procedures, traces, and state machines first-class.
CORE must understand:
- sequence
- branching
- loops
- state
- function input/output
- decomposition
- abstraction
- invariant
- error handling
- trace/replay
- rough cost/complexity
Initial pack candidates:
```text
packs/cs/computational_thinking_v1
packs/cs/algorithm_trace_v1
packs/cs/state_machine_v1
```
Initial eval candidates:
```text
evals/procedure_following
evals/algorithm_trace
evals/branching_logic
```
Acceptance direction:
- Procedures produce deterministic traces.
- Branch conditions are evaluated from evidence.
- State mutations are explicit.
- Invalid or missing steps are not silently repaired.
### Stage 8 — Systems and crosscutting structures
Purpose: enable cross-field transfer without collapsing domain boundaries.
CORE must understand:
- pattern
- cause/effect
- scale/proportion/quantity
- system and system model
- structure/function
- stability/change
- feedback
- equilibrium
- constraint
- conservation-like accounting
Initial pack candidates:
```text
packs/crosscutting/patterns_v1
packs/crosscutting/cause_effect_v1
packs/crosscutting/systems_models_v1
packs/crosscutting/structure_function_v1
packs/crosscutting/stability_change_v1
```
Initial eval candidates:
```text
evals/cross_domain_transfer
evals/systems_reasoning_basic
```
Acceptance direction:
- Shared structure is identified across domains.
- Domain-specific limits are preserved.
- Analogies are marked as analogies unless structurally proven.
- Transfer does not bypass evidence or scope.
### Stage 9 — Domain foundations
Only after Stages 1-8 should domain foundations expand aggressively.
Recommended order:
1. physical science foundations
2. life science foundations
3. earth/space/environment systems
4. social studies foundations: history, geography, economics, civics
5. applied domains: medicine, law, finance, engineering, research assistance, theology/hermeneutics
---
## 4. Cross-field transfer patterns
The curriculum should deliberately test reusable structure across fields.
### Rate transfer
```text
math: 60 miles / 2 hours -> 30 miles/hour
finance: $60 / 2 items -> $30/item
medicine: 60 mg / 2 kg -> 30 mg/kg
chemistry: 60 g / 2 L -> 30 g/L
computing: 60 requests / 2 seconds -> 30 requests/second
```
Expected behavior:
- same abstract rate structure
- distinct units
- distinct domain safety boundaries
### Conservation transfer
```text
arithmetic: total objects
physics: energy/momentum
chemistry: mass/atoms
accounting: money balance
inventory: stock
law: chain of custody
```
Expected behavior:
- identify accounting/conservation-like invariant
- preserve domain rules
- refuse unsupported conservation claims where the domain does not justify them
### Structure/function transfer
```text
biology: heart -> pump blood
engineering: pump -> move fluid
software: queue -> preserve order of work
civics: court -> adjudicate disputes
```
Expected behavior:
- identify structure/function relation
- avoid pretending equivalent mechanisms
- surface evidence and scope
---
## 5. Standard eval shape
Every curriculum slice should include four eval types.
### 5.1 Recognition eval
Can CORE identify the structure?
```text
Input: John has 4 fewer apples than Mary.
Expected: comparative_quantity_relation
```
### 5.2 Transformation eval
Can CORE produce the typed representation?
```text
john.apples = mary.apples - 4
```
### 5.3 Execution eval
Can CORE solve, infer, classify, or validate deterministically?
```text
mary.apples = 10
john.apples = 6
```
### 5.4 Refusal eval
Can CORE refuse when evidence is insufficient?
```text
Input: John has fewer apples than Mary. How many apples does John have?
Expected: insufficient quantity evidence
```
---
## 6. Minimum documentation required per slice
Each implemented curriculum slice should add or update:
```text
docs/curriculum/<slice-name>.md
packs/<domain>/<pack-name>/manifest.json
evals/<eval-name>/README.md
```
The curriculum doc should include:
- purpose
- prerequisites
- non-goals
- typed primitives introduced
- expected representations
- eval surfaces
- refusal boundaries
- cross-field bridges
- admission criteria
- follow-on dependencies unlocked
---
## 7. Recommended immediate implementation sequence
The next six load-bearing slices should be:
1. `en_core_syntax_v1` and `en_core_relations_v2`
2. `quantity_ledger_v1` and `arithmetic_semantics_v1`
3. `measurement_units_v1` and `dimensional_analysis_v1`
4. `classification_v1`, `conditionals_v1`, `quantifiers_v1`, `contradiction_v1`
5. `scientific_method_v1`, `evidence_relations_v1`, `causal_reasoning_v1`
6. `data_literacy_v1`, `probability_v1`, `statistical_reasoning_v1`
Recommended first implementation branch after this planning PR:
```text
feat/en-core-syntax-relations-v1
```
Recommended first runtime/eval scope:
```text
packs/language/en_core_syntax_v1/
packs/language/en_core_relations_v2/
evals/language_claim_parsing/
evals/language_relation_binding/
tests/test_language_claim_parsing.py
tests/test_relation_binding_replay.py
```
Do not widen into domain foundations until these first six slices are either admitted or explicitly scoped as incomplete dependencies.
---
## 8. Non-goals
This roadmap does not authorize:
- bulk domain ingestion without substrate dependencies
- open-ended web-corpus learning
- probabilistic guessing to fill missing relations
- hidden correction of invalid statements
- promotion from observed to verified without evidence
- manual manifest drift
- eval promotion without replay artifacts
- replacement of refusal with best-effort fluency
---
## 9. Definition of done for this roadmap
This planning document is useful only if it remains trackable.
Use `docs/curriculum/FOUNDATION-CURRICULUM-TRACKER.md` as the living checklist. A curriculum slice should not be marked admitted until the relevant pack, eval, test, and documentation artifacts exist and pass their admission criteria.