docs(paper+license): refresh ahead of going public

Two pre-public-release refreshes:

1. docs/position_paper.md §4 — refresh refusal taxonomy

The previous table listed an older taxonomy (fraction_operand /
compound_comparative / etc.) that does not match the current
candidate-graph eval output. Replaced with the actual taxonomy
emitted by the train_sample runner — refusals are categorized by
shape (recognized_but_uninjectable + per-ShapeCategory) which ties
directly to the architecture's recognizer/injector concepts.

Also refreshed §5 "Honest Gaps" to describe the active frontier in
terms of injector coverage (the registry-driven composition path)
rather than parser-level grammar extensions. The 47/50 refusal
count, 3/50 correct count, and wrong=0 invariant are unchanged.

2. COMMERCIAL_LICENSE.md — enumerate subsystems explicitly

The previous "vault memory / versor engine / epistemic teaching
loop / ingest / admissibility gate / holonomy encoder" listing
predated the math-domain composition wave. Expanded the list to
cover the full current architecture:

- versor engine + Cl(4,1) algebra
- vault + exact CGA recall
- ingest gate
- admissibility gate + Forward Semantic Control
- holonomy encoder
- epistemic teaching loop (ADR-0055..0057)
- contemplation loop + decomposer (ADR-0080, ADR-0172)
- math-domain ratification handlers (ADR-0167..0169)
- composition-pattern registry + registry-driven injector
- audit-as-teaching-evidence corridor
- identity + safety pack subsystems
- language-pack compiler + verified manifest checksums
- Logos articulation + three-language vocabulary manifold
- Rust algebra backend
- any derived or successor implementation

Explicit "enumerated subsystems are illustrative, not limiting"
clause covers any future module + ADR-ratified contract under the
same terms. New subsystems are covered automatically.

LICENSE (the non-commercial form) is unchanged — it already covers
"Software" broadly. CLAIMS.md is auto-generated and was verified
current (regeneration produces no diff).
This commit is contained in:
Shay 2026-05-27 16:59:18 -07:00
parent af3bcbcbf6
commit 6d9ff8119f
2 changed files with 54 additions and 24 deletions

View file

@ -6,10 +6,29 @@
A Commercial License is required if you intend to: A Commercial License is required if you intend to:
- Use CORE or any of its components (including but not limited to the vault - Use CORE or any of its components — **including but not limited to**:
memory system, the versor engine, the epistemic teaching loop, the ingest - the versor engine and Cl(4,1) algebra substrate
pipeline, the admissibility gate, or the holonomy encoder) in a product or - the vault memory system and exact CGA recall
service that generates revenue - the ingest gate (the single normalization site)
- the admissibility gate and Forward Semantic Control chain
- the holonomy encoder
- the epistemic teaching loop (ADR-0055..0057): reviewed
TeachingChainProposal, replay-equivalence gate, supersession path
- the contemplation loop and decomposer (ADR-0080, ADR-0172)
- the math-domain ratification handlers (ADR-0167..0169): LexicalClaim,
FrameClaim, CompositionClaim
- the composition-pattern registry and registry-driven injector
(frame_registry, composition_registry, recognizer-anchor injection)
- the audit-as-teaching-evidence corridor (MathReaderRefusalEvidence,
proposal/ratification adapters)
- the identity and safety pack subsystems (ADR-0027..0029)
- the language-pack compiler and verified manifest checksums
- the Logos articulation subsystem and the three-language vocabulary
manifold (English / Hebrew / Koine Greek)
- the Rust algebra backend and any future Rust parity surfaces
- any derived or successor implementation of the above
in a product or service that generates revenue
- Deploy CORE in a production environment operated by or for a commercial entity - Deploy CORE in a production environment operated by or for a commercial entity
- Integrate CORE's architecture or derived implementations into proprietary - Integrate CORE's architecture or derived implementations into proprietary
software software
@ -17,6 +36,11 @@ A Commercial License is required if you intend to:
- Use CORE as a research foundation in work owned by or assigned to a - Use CORE as a research foundation in work owned by or assigned to a
for-profit organization for-profit organization
The enumerated subsystems above are illustrative, not limiting. Any module,
data artifact, ADR-ratified contract, or architectural pattern shipped under
this repository is covered. New subsystems added in future releases are
covered automatically under the same terms.
Academic and non-profit research institutions are covered under the standard Academic and non-profit research institutions are covered under the standard
LICENSE and do not require a Commercial License, provided the work is not LICENSE and do not require a Commercial License, provided the work is not
assigned to or funded by a for-profit entity. assigned to or funded by a for-profit entity.

View file

@ -174,25 +174,26 @@ lacks geometric grounding. When the parser does not find an admissible candidate
for a statement or question, it refuses — with a named reason. There is no path for a statement or question, it refuses — with a named reason. There is no path
from "ungrounded input" to "completed output." from "ungrounded input" to "completed output."
The refusal taxonomy for the 47 refused cases is fully enumerated. Primary The refusal taxonomy for the 47 refused cases is fully enumerated by the
barriers by frequency: candidate-graph pipeline. Each refusal carries a named shape category — the
recognizer saw a statement shape its registered injector could not turn into
typed solver state, so the candidate refuses instead of fabricating a guess.
| Barrier category | Count | Description | | Barrier category | Count | Description |
|---|---|---| |---|---|---|
| `fraction_operand` | 8 | Fractional quantities ("1/4 of", "half of") not yet parsed | | `recognized_but_uninjectable(discrete_count_statement)` | 21 | Multi-word possession / acquisition shapes ("Lily has three boxes of pencils") whose v1 injector covers only the single-word DCS surface |
| `compound_comparative` | 6 | Multi-clause comparatives ("three times as many as") | | `no_admissible_candidate` | 10 | Statement shape unrecognized by the v1 parser AND no registered recognizer matched — refuses cleanly, no admissible branch enumerated |
| `compound_statement` | 5 | Multi-event sentences requiring joint resolution | | `recognized_but_uninjectable(multiplicative_aggregation)` | 5 | Multi-quantity composition shapes ("3 vet appointments cost $400 each") — recognizer detects the shape; injector for the composed operand is the ADR-0169 frontier |
| `novel_initial_verb/form` | 5 | Opening sentence patterns not yet in grammar coverage | | `recognized_but_uninjectable(currency_amount)` | 4 | Currency-amount detections without per-unit framing — recognizer detects; v1 injector deliberately deferred |
| `rate_earnings/price` | 4 | Monetary rate statements ("$18/hour", "$2 per cup") | | `recognized_but_uninjectable(rate_with_currency)` | 3 | Per-unit-rate statements ("$18 per hour") — detection works; rate→initial injection is the next deferred shape |
| `conditional_question` | 4 | Questions with conditional framing ("if X, how many") | | `recognized_but_uninjectable(descriptive_setup_no_quantity)` | 2 | Setup sentences with no quantity to compose — contributing zero math state is correct; the refusal here is the no-admissible-candidate failure mode |
| `distributive_multiply` | 3 | Per-unit distributive operations | | `recognized_but_uninjectable(temporal_aggregation)` | 2 | Event-count-per-window patterns ("10 oysters in 5 minutes") — needs a rate primitive in the algebra |
| `temporal_frequency` | 2 | Recurring event patterns ("every other day") |
| Other named categories | 10 | Each with exactly one case |
Every refusal has a named reason. Not "low confidence," not "out of distribution" Every refusal has a named reason. Not "low confidence," not "out of distribution"
— a specific grammatical category the parser has not yet been trained to handle. — a specific shape category the recognizer detected but the injector has not yet
This is a work queue, not a mystery. Each named barrier is a parser extension. As been wired to turn into typed solver state. This is a work queue, not a mystery.
coverage grows, correct count grows. Wrong count stays 0 by architectural Each named barrier corresponds to one or two extension PRs in the active backlog.
As coverage grows, correct count grows. Wrong count stays 0 by architectural
guarantee, not by tuning. guarantee, not by tuning.
The question a generative system cannot answer: "which of my answers are wrong?" The question a generative system cannot answer: "which of my answers are wrong?"
@ -231,12 +232,17 @@ fabrication.
## 5. Honest Gaps ## 5. Honest Gaps
**Math parser coverage is the active frontier.** The 47 refusals on the train **Math injector coverage is the active frontier.** The 47 refusals on the train
sample are not failures of reasoning — they are failures of parsing. The solver, sample are not failures of reasoning — they are failures of injection. The
once a problem reaches it, produces correct answers (3 cases, 100% solve rate on solver, once a problem reaches it, produces correct answers (3 cases, 100%
admitted problems). The gap is in grammar coverage: fractional operands, compound solve rate on admitted problems). The recognizer already detects most refused
comparatives, monetary rates, and temporal frequencies are the next four parser shapes; what's missing is the per-shape injector that turns a recognized
extensions. These are enumerated, not estimated. statement into typed solver state without fabricating quantities the source
does not contain. The architecture for closing this gap — a reviewed
composition-pattern registry consumed by a registry-driven injector — is in
place; new shape coverage ships as per-shape matcher extensions that publish
pre-composed candidates the registry gates. These are enumerated, not
estimated.
**The holdout is sealed.** The real GSM8K test set (1,319 cases) is **The holdout is sealed.** The real GSM8K test set (1,319 cases) is
age-encrypted and has not been run against a system with sufficient parser age-encrypted and has not been run against a system with sufficient parser