@polycode-projects/the-mechanical-code-talker 1.4.1 → 1.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/ROADMAP.md +76 -11
- package/corpus/README.md +23 -22
- package/corpus/seon/README.md +7 -6
- package/corpus/seon/concepts.jsonl +119 -0
- package/corpus/tier2/general.jsonl +49 -0
- package/corpus/tier2/generate.mjs +68 -0
- package/corpus/tier2/manifest.json +14 -0
- package/data/templates/constructions/agent-noun-relations.toml +98 -0
- package/data/templates/responses.jsonl +1 -0
- package/package.json +5 -1
- package/src/ask-vocab.mjs +39 -1
- package/src/ask.mjs +278 -32
- package/src/chat.mjs +681 -212
- package/src/completions/complete.mjs +138 -0
- package/src/completions/group.mjs +171 -0
- package/src/completions/infer.mjs +395 -0
- package/src/completions/prune.mjs +156 -0
- package/src/completions/rank.mjs +154 -0
- package/src/completions/search.mjs +85 -0
- package/src/corpus/conceptnet.mjs +36 -3
- package/src/corpus/unknown-ingest.mjs +209 -0
- package/src/extensions.mjs +14 -4
- package/src/finish.mjs +61 -18
- package/src/grammar/ace.mjs +24 -338
- package/src/grammar/lexicon.mjs +37 -194
- package/src/interpret/pipeline.mjs +23 -2
- package/src/interpret/strategies/constructions.mjs +207 -0
- package/src/interpret/strategies/grammar.mjs +24 -3
- package/src/interpret/strategies/keywords.mjs +34 -0
- package/src/memory/blocks.mjs +7 -2
- package/src/memory/core.mjs +283 -20
- package/src/memory/shacl.mjs +114 -0
- package/src/prose.mjs +5 -1
- package/src/syllogise.mjs +0 -0
- package/src/grammar/lexicon-core.json +0 -302
package/README.md
CHANGED
|
@@ -299,7 +299,7 @@ on the chat's hot path.
|
|
|
299
299
|
entailment (`tmct syllogise`) is mechanical OWL rule materialization applied
|
|
300
300
|
offline, rule-by-rule and retractable, not an LLM. There is **no LLM anywhere
|
|
301
301
|
in the product**. (An LLM-as-judge exists only in the offline eval harness
|
|
302
|
-
that tunes tmct, see `
|
|
302
|
+
that tunes tmct, see `SKILL_BENCHMARK_CEFR_ENGLISH.md`, never in the product path.)
|
|
303
303
|
- **It never guesses silently.** When it cannot resolve your question it says
|
|
304
304
|
so and nudges you toward a query it *can* answer.
|
|
305
305
|
|
package/ROADMAP.md
CHANGED
|
@@ -12,6 +12,34 @@ mapped into them (item numbers retained for traceability); the seven sketches
|
|
|
12
12
|
formerly held in `code-talker-ideas.txt` are folded into items 8–11 below and
|
|
13
13
|
the file has been deleted.
|
|
14
14
|
|
|
15
|
+
## Working model: coordinator + background sub-agents
|
|
16
|
+
|
|
17
|
+
Standing orders for every session working this repo (copied verbatim from this repo's own
|
|
18
|
+
`CLAUDE.md` on 2026-07-10, at the operator's request, so the discipline is visible directly in
|
|
19
|
+
the project's own operating docs and not just the config file):
|
|
20
|
+
|
|
21
|
+
Run big tasks in **concurrent background sub-agents** and keep the main chat free — the main
|
|
22
|
+
session is the COORDINATOR (plans, launches, integrates, answers the operator), not the worker.
|
|
23
|
+
|
|
24
|
+
- Decompose into workstreams with **clear file-ownership boundaries**; serialize on shared
|
|
25
|
+
files (one agent owns `package.json`, `src/`, `bin/`, `test/` sequences; docs/site tracks
|
|
26
|
+
run in parallel).
|
|
27
|
+
- **Keep the chat for chat**: anything long-running (benchmarks, judge passes, builds, test
|
|
28
|
+
sweeps) executes as a BACKGROUND task at maximum safe concurrency (the chatbench judge
|
|
29
|
+
defaults to `--concurrency 12`); the main session launches it, keeps coordinating and
|
|
30
|
+
conversing, and collects results on the completion notification. Never block the
|
|
31
|
+
conversation on a run.
|
|
32
|
+
- Commit per completed step with the repo-local identity (`antony@polycode.co.uk` /
|
|
33
|
+
`Antony at Polycode`); keep `npm test` green at every commit.
|
|
34
|
+
- Push/publish is gated on the operator (CI publishes on version bump on `main`).
|
|
35
|
+
- **Version bump timing:** only bump the version (`package.json` + `package-lock.json`) at the
|
|
36
|
+
moment of actually pushing a release — the bump commit is part of that same push, not a
|
|
37
|
+
separate step staged in advance. Default to a patch bump unless the batch is clearly
|
|
38
|
+
feature-level (minor) or breaking (major). Do NOT pre-stage a future version number and leave
|
|
39
|
+
it sitting unpushed in git between releases — that produced confusing "linking to a version
|
|
40
|
+
that doesn't exist yet" noise in practice and was reverted by operator instruction 2026-07-09.
|
|
41
|
+
Between pushes, `package.json`'s version should always equal whatever's actually live on npm.
|
|
42
|
+
|
|
15
43
|
## Where we are now (2026-07-09)
|
|
16
44
|
|
|
17
45
|
The full `SKILL_CHAT_PLAYTEST.md` dialogue-flow tier ladder is complete, tiers 0 through 6.
|
|
@@ -367,7 +395,7 @@ author lane, wall kindness + honest capability nudges, teach-lane widening, rece
|
|
|
367
395
|
prose→detail, plus a live-found scale hotfix (`edgesOfKind` argument-spread overflow past ~100k
|
|
368
396
|
edges). AGENTBENCH ladder grew 43→56 cases; goal driver 100% plan / 98% result / 0% hallucination,
|
|
369
397
|
all rungs gate-PASS; resolver floor clean A0–C1 100/100; C2 became rule-general (two declared
|
|
370
|
-
goal-rules, pure `applicableRules` selection). Full detail: `
|
|
398
|
+
goal-rules, pure `applicableRules` selection). Full detail: `CEFR_ENGLISH_0.8.2.md`,
|
|
371
399
|
`AGENTBENCH_0.8.2.md`.
|
|
372
400
|
|
|
373
401
|
**v0.8.1** (published): AGENTBENCH grades the executed composed result, not just the call-plan.
|
|
@@ -375,12 +403,12 @@ Resolver 97% plan / 91% result / 0% hallucination. Stage 5 (the C2 goal-reasoner
|
|
|
375
403
|
Autonomy) lifted result-completion +10pp on a like-for-like driver swap. Stage 2 (imperative intent
|
|
376
404
|
frames + ACE reach) shipped at 100% plan / 95% result / 0% hallucination, `tmct_calls` genuinely
|
|
377
405
|
NL-reachable. Chat surface: quick wins + two frozen playtest transcripts, no tier-1 regression vs
|
|
378
|
-
0.7.1. Full detail: `
|
|
406
|
+
0.7.1. Full detail: `CEFR_ENGLISH_0.8.1.md`, `AGENTBENCH_0.8.1.md`.
|
|
379
407
|
|
|
380
408
|
**v0.8.0** (published): all five Phase-11 tracks. The `/v1/messages` shim + Stage-0 registry +
|
|
381
409
|
resolver/guardrail/planner (96% plan completion, 0% hallucination, closed-world C1); three chat
|
|
382
410
|
levers; the `../bedrock-meter` $0 rung; the playtest; Stage-2/Stage-5 research notes. Full detail:
|
|
383
|
-
`
|
|
411
|
+
`CEFR_ENGLISH_0.8.0.md`, `AGENTBENCH_0.8.0.md`.
|
|
384
412
|
|
|
385
413
|
**Doc restructuring — `PLAN_AGENTS.md` (2026-07-10)**: `PLAN_TMCT_ECOSYSTEM_INTEGRATION.md` was
|
|
386
414
|
rewritten and renamed to `PLAN_AGENTS.md`, absorbing six sibling docs (`PLAN_AGI_ARCHITECTURE.md`,
|
|
@@ -398,8 +426,8 @@ mechanical, extractive text generation (broad search → group → infer between
|
|
|
398
426
|
prune → grammar/voice pass), never LLM-style free generation. Separately, the benchmark/skill doc
|
|
399
427
|
landscape was unified: CHATBENCH stops splitting report+transcripts into two files going forward;
|
|
400
428
|
`SKILL_CHAT_PLAYTEST.md` and `SKILL_PLAYTEST_SPRINT.md` merged into `SKILL_BENCHMARK_PLAYTEST.md`
|
|
401
|
-
(with a new `
|
|
402
|
-
`SKILL_INFERENCE_TESTING.md` renamed to `
|
|
429
|
+
(with a new `CONVERSATIONBENCH_<version>.md` report convention); `SKILL_TUNING_CYCLE.md` and
|
|
430
|
+
`SKILL_INFERENCE_TESTING.md` renamed to `SKILL_BENCHMARK_CEFR_ENGLISH.md`/`SKILL_BENCHMARK_INFERENCE.md`;
|
|
403
431
|
a new `SKILL_BENCHMARK_AGENT.md` formalizes the previously-ad-hoc AGENTBENCH cycle;
|
|
404
432
|
`SKILL_STRATEGY_ADVISOR.md`/`SKILL_PLAIN_PROSE.md` renamed to `SKILL_AGENT_STRATEGY_ADVISOR.md`/
|
|
405
433
|
`SKILL_AGENT_PLAIN_PROSE.md`. A new shared reference doc, `docs/references/research-horizon.md`,
|
|
@@ -429,6 +457,43 @@ legitimate reads, not just traversal attempts — fixed at the source and defens
|
|
|
429
457
|
One scope decision made mid-build: multi-language AST extraction stays in seonix permanently, not
|
|
430
458
|
tmct's job — full detail in `PLAN_AGENTS.md` §13.
|
|
431
459
|
|
|
460
|
+
**The 2026-07-10 uplift batch — largest single session to date, coordinator + ~20 concurrent
|
|
461
|
+
background tracks.** `PLAN_CHAT_FEEL.md` fully archived (all 12 items shipped — item 6's
|
|
462
|
+
remainder: 8 remaining temporal-composition red ids fixed via new `parseCommitFilter`/NP templates/
|
|
463
|
+
a `PERFECT_AUX` carve-out; the presupposition regression turned out to be a stale test fixture, not
|
|
464
|
+
a product bug; the garden-path regression is real, narrow, and documented open). `PLAN_COMPLETIONS.md`
|
|
465
|
+
— a brand-new capability, operator-sign-off given this session — shipped end-to-end, Stages 0-3:
|
|
466
|
+
`src/completions/` (`search.mjs`/`group.mjs`/`rank.mjs`/`infer.mjs`/`prune.mjs`/`complete.mjs`),
|
|
467
|
+
connected-components grouping over `memory/blocks.mjs`'s block-similarity graph, a closed 4-relation
|
|
468
|
+
cross-group inference vocabulary (supports/contradicts/elaborates/exemplifies, each with a named
|
|
469
|
+
mechanical licensing test), PageRank+IDF extractive sentence ranking, and an auditable prune/assemble/
|
|
470
|
+
grammar-pass pipeline — every output sentence traces to a source span, `finish.mjs` generalized from
|
|
471
|
+
single-answer to genuinely multi-sentence output. `PLAN_INFERENCE_TESTING.md` stages 3-5: the
|
|
472
|
+
`cax-dw` disjointness rule (kernel + a live, read-only chat-query wiring closing a real gap where the
|
|
473
|
+
rule existed but was never reachable from a chat turn — INF-B1's gate), `cls-svf1` (someValuesFrom
|
|
474
|
+
restriction membership) plus a new positive infbench template needed to actually measure it, and a
|
|
475
|
+
new consistency checker (`findConsistencyViolations`) that REFUSES to answer from a subject whose own
|
|
476
|
+
taught types contradict each other, naming the clash — INF-C2. `resolveRelationChase`/
|
|
477
|
+
`resolveRelationChaseReverse` extracted from `chat.mjs` closures into standalone exported functions in
|
|
478
|
+
`memory/core.mjs` (PLAN_COMPLETIONS Stage 1's prerequisite). `PLAN_AGENTS.md` Phase 0 essentially
|
|
479
|
+
closed out (cross-repo smoke test, `agentbench/envelope.json`, the `ace-owl` standalone MPL-2.0
|
|
480
|
+
package extraction, ontology-hierarchies tracks a-d, advanced-grammar tracks a/d/f — several tracks
|
|
481
|
+
found already-shipped from earlier sessions and verified/extended rather than redone) — only the
|
|
482
|
+
chat-surface debt re-measure remains open. The SHACL-style declarative ingest gate shipped as a small
|
|
483
|
+
hand-rolled validator (`src/memory/shacl.mjs`) after `shacl-engine` was tried and rejected as
|
|
484
|
+
disproportionately heavy for tmct's minimal-deps floor. A fourth tier2 corpus bundle
|
|
485
|
+
(`tier2-general`) and a context-preserving unknown-word ingestion module shipped, though the latter's
|
|
486
|
+
one production call site doesn't activate it yet (`PLAN_AGENTS.md` §4). CHATBENCH restructured
|
|
487
|
+
(case-set v3): the full 1,075-case CEFR pool preserved at `chatbench/graded-pool-max.jsonl`;
|
|
488
|
+
`chatbench/graded-pool.jsonl` is now a 109-case go-to default (10/CEFR-grade + the former
|
|
489
|
+
`cases.jsonl`'s 49 hand-authored capability cases, each assigned a real grade+construction cell) at
|
|
490
|
+
N=2/single-draw by default. A full capability audit (`CAPABILITIES_AUDIT_2026-07-10.md`) cataloged
|
|
491
|
+
83 distinct capabilities against every doc claim and the actual code — 57 implemented, 21
|
|
492
|
+
claimed-only, 3 partial, its most notable finding being that `PLAN_AGENTS.md` itself (drafted the
|
|
493
|
+
same session) already listed several now-shipped items as "not started," a same-session docs-lag
|
|
494
|
+
issue, not months-old drift. See `HANDOVER.md` for the ranked next-steps this batch's four fresh
|
|
495
|
+
benchmark runs (AGENTBENCH/INFBENCH/PLAYTEST/CHATBENCH) surfaced.
|
|
496
|
+
|
|
432
497
|
## The umbrella product definition (item 1)
|
|
433
498
|
|
|
434
499
|
**A tolerant, ELIZA/PARRY-style chat, obsessed with software.** A best-efforts
|
|
@@ -588,7 +653,7 @@ in `SKILL_TUNING_CYCLE.md`:
|
|
|
588
653
|
- **LLM-as-judge** scoring (N≥3 samples per case; groundedness / correctness /
|
|
589
654
|
honesty-on-miss / rephrase-hint helpfulness). The judge lives in the **eval
|
|
590
655
|
harness only** — the product stays no-LLM;
|
|
591
|
-
- `
|
|
656
|
+
- `CEFR_ENGLISH_0NN.md` artifacts and an autonomous cycle loop (no hard pause;
|
|
592
657
|
each cycle logs its ranked decision menu and continues).
|
|
593
658
|
- **The graded benchmark** (case-set v2, operator-specified 2026-07-04): a
|
|
594
659
|
scaled ladder fitted to HUMAN LANGUAGE STANDARDS, not AI-benchmark mechanics
|
|
@@ -705,7 +770,7 @@ and the block-index summary (blocks, tokens, top PageRank blocks). Same renderer
|
|
|
705
770
|
> near-term actions, both shipped — see below).
|
|
706
771
|
|
|
707
772
|
The immediate work: drive the graded benchmark up the CEFR ladder, one lever per cycle, per
|
|
708
|
-
`SKILL_TUNING_CYCLE.md`. Cycle 3 (post-wiring-wave,
|
|
773
|
+
`SKILL_TUNING_CYCLE.md`. Cycle 3 (post-wiring-wave, CEFR_ENGLISH_003) gave the first full-spectrum
|
|
709
774
|
reading — A1 1.72 / A2 1.70 / **B1 0.77 (the cliff)** / B2 0.97 / C1 1.07 / C2 0.69 — and two
|
|
710
775
|
META-fixes gate everything:
|
|
711
776
|
|
|
@@ -1042,7 +1107,7 @@ you toward precision" promise on the conversational surface.
|
|
|
1042
1107
|
ROUTING to existing capabilities, replays the same conversations until they flow, freezes them as
|
|
1043
1108
|
regression transcripts, then ratchets the complexity tier. The drill-down transcript above is its
|
|
1044
1109
|
first frozen fixture (`test/chatflow-drilldown.test.mjs`).
|
|
1045
|
-
- **Measured** by the version-matched benchmark (`
|
|
1110
|
+
- **Measured** by the version-matched benchmark (`CEFR_ENGLISH_<version>` per `SKILL_BENCHMARK_CEFR_ENGLISH.md`),
|
|
1046
1111
|
with new graded cells for the miss / empty-graph / concept-touch surfaces so these become
|
|
1047
1112
|
regression-protected levers, not one-off polish.
|
|
1048
1113
|
|
|
@@ -1076,11 +1141,11 @@ remain designed-not-built by intent.
|
|
|
1076
1141
|
> g-b1-pron ids; temporal = g-b1-temp ×5 + g-c1-temp ×9; discourse-count re-measure first — it
|
|
1077
1142
|
> sampled 0/5 red and is likely already green. See HANDOVER follow-up #3.
|
|
1078
1143
|
|
|
1079
|
-
The three levers `
|
|
1144
|
+
The three levers `CEFR_ENGLISH_0.7.1` measured + ranked — which **double as router prerequisites** (they
|
|
1080
1145
|
gate the A2→B1→C1 rungs, per Phase B of the router plan):
|
|
1081
1146
|
1. **Pronoun / focus binding** — the "it → Commit" mis-bind (`B1 pron 1.24`); biggest movable mass.
|
|
1082
1147
|
2. **Discourse-count anaphora** — "count them / how many of those" over a prior listing (clears the 2
|
|
1083
|
-
`
|
|
1148
|
+
`CEFR_ENGLISH_0.7.1` tier-1 misses).
|
|
1084
1149
|
3. **C1 temporal-over-relative composition** — the two-hop ceiling (`C1 temp 0.31`).
|
|
1085
1150
|
Land all three (not just #1); they raise the chat floor *and* the router's floor at once.
|
|
1086
1151
|
|
|
@@ -1095,7 +1160,7 @@ Buildable now with a frontier model as co-author (see PLAN §"solved vs unsolved
|
|
|
1095
1160
|
- **Phase A — the shim.** An Anthropic Messages API endpoint (`/v1/messages`, `tool_use`/`tool_result`
|
|
1096
1161
|
blocks). **Extended:** also present as a **`bedrock-meter`-compatible routing target** (see below).
|
|
1097
1162
|
- **Phase B — measure today → `AGENTBENCH_0.7.2.md`.** Shim + a small graph-query toolset up the
|
|
1098
|
-
A0→C2 ladder; the honest baseline (expected A0 solid, A1–A2 partial, per the
|
|
1163
|
+
A0→C2 ladder; the honest baseline (expected A0 solid, A1–A2 partial, per the CEFR_ENGLISH_0.7.1
|
|
1099
1164
|
inherited assets).
|
|
1100
1165
|
- **Phase C — the grading ladder.** The AGENTBENCH benchmark itself (rungs as levels, comparable
|
|
1101
1166
|
local/hosted models as reference bands, zero-hallucination gate).
|
package/corpus/README.md
CHANGED
|
@@ -13,7 +13,7 @@ tmct's knowledge arrives in three tiers, distinguished by **when** it lands and
|
|
|
13
13
|
| Tier | What | Ships in the package? | Lands when | Provenance |
|
|
14
14
|
|---|---|---|---|---|
|
|
15
15
|
| **1 — base** | the general English/tech ConceptNet slice + the response templates + the SE phrasebook — the vocabulary every tmct has out of the box | **yes**, committed here | `tmct init` seeds `.tmct/` from committed data (offline, $0) | `corpus:conceptnet /r/…` |
|
|
16
|
-
| **2 — specialised** | LANGUAGE- or DOMAIN-specific fact sets (`aws`, `python`, `java
|
|
16
|
+
| **2 — specialised** | LANGUAGE- or DOMAIN-specific fact sets (`aws`, `python`, `java`) plus one deliberately NON-code-domain "wider general-knowledge" bundle (`general`) so tmct can "expand into a concept for an applicable codebase" — or into a seed set that isn't code at all | **no** — selected per repo | activated via `src/extensions.mjs`'s `[extensions.tier2-<id>] active = true` (or `tmct init --corpus <id>`), inactive by default | `corpus:tier2-<id> /r/…` |
|
|
17
17
|
| **3 — learned** | facts tmct writes from the actual conversation / the actual codebase it is pointed at | never committed | at runtime, into `.tmct/memory/` | `chat:…`, `codegraph:…` |
|
|
18
18
|
|
|
19
19
|
**Offline / $0 is the default at every tier.** Tier-1 is committed. Tier-2's
|
|
@@ -38,7 +38,7 @@ loudly instead of seeding garbage.
|
|
|
38
38
|
| `conceptnet/README.md` | provenance, retrieval date, seed terms, filter rules, row counts | — | — |
|
|
39
39
|
| `tier2/manifest.json` | tier-2: index of specialised corpuses (id, kind, description, source, sha256, size) | — | MPL-2.0 |
|
|
40
40
|
| `tier2/generate.mjs` | tier-2: the curated-corpus generator + manifest writer (+ opt-in network-fetch path) | — | MPL-2.0 |
|
|
41
|
-
| `tier2/{aws,python,java}.jsonl` | tier-2 SAMPLE corpuses — same fact shape as the tier-1 slice, loadable via the same path | ~4 KB each | MPL-2.0 |
|
|
41
|
+
| `tier2/{aws,python,java,general}.jsonl` | tier-2 SAMPLE corpuses — same fact shape as the tier-1 slice, loadable via the same path (`general` is the one deliberately non-code-domain bundle) | ~4-6 KB each | MPL-2.0 |
|
|
42
42
|
|
|
43
43
|
And alongside (same phase, different directory because it is tmct-original
|
|
44
44
|
data, not a derived corpus):
|
|
@@ -94,26 +94,27 @@ sha256) in one deterministic pass. Curated data is authored in that file so it
|
|
|
94
94
|
stays reviewable; a corpus too big to hand-curate is a `fetch` manifest entry
|
|
95
95
|
(URL + sha256, opt-in network — `fetchCorpus()` is the reference downloader).
|
|
96
96
|
|
|
97
|
-
**How
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
97
|
+
**How tier-2 wires into `tmct init` (done — `src/extensions.mjs`):**
|
|
98
|
+
`resolveExtensions(repoRoot)` ships all four tier-2 bundles as
|
|
99
|
+
shipped-but-inactive `BUILTIN_EXTENSIONS` entries (`tier2-aws`/`tier2-python`/
|
|
100
|
+
`tier2-java`/`tier2-general`); `[extensions.tier2-<id>] active = true` in
|
|
101
|
+
`tmct.toml` (or `tmct init --corpus <id>`) flips one on, and
|
|
102
|
+
`seedActiveCorpusEntries` runs it through the exact same
|
|
103
|
+
`loadSlice → toFacts → appendFacts` pipeline as tier-1, stamped
|
|
104
|
+
`corpus:tier2-<id> <rel>` via `toFacts`'s `provenancePrefix` argument — no
|
|
105
|
+
separate tier-2 code path. Idempotency is free (`seedMemory`'s content-hashed
|
|
106
|
+
fact ids + pre-read skip). None of this touches `package.json` or the tier-1
|
|
107
|
+
budget; tier-2 files are not shipped, so they do not count against the
|
|
108
|
+
≤ 1.5 MB slice budget. Codebase auto-detection (a `requirements.txt` →
|
|
109
|
+
`python`, a `pom.xml`/`build.gradle` → `java`, an AWS SDK dep → `aws`) is
|
|
110
|
+
still unbuilt — activation today is config-only, never automatic.
|
|
111
|
+
|
|
112
|
+
A term that would otherwise be silently dropped when a bundle is seeded (an
|
|
113
|
+
`ace = "none"` relation like RelatedTo/HasContext, e.g. from a broader slice)
|
|
114
|
+
can optionally be captured instead of vanishing: `seedMemory`'s
|
|
115
|
+
`captureUnknownContext: true` option (default off) runs
|
|
116
|
+
`src/corpus/unknown-ingest.mjs` over the same batch — see that module's own
|
|
117
|
+
doc comment.
|
|
117
118
|
|
|
118
119
|
## How to regenerate / extend
|
|
119
120
|
|
package/corpus/seon/README.md
CHANGED
|
@@ -18,7 +18,7 @@ CC-BY-SA like the ConceptNet slice.
|
|
|
18
18
|
|
|
19
19
|
| file | shape | count |
|
|
20
20
|
|------|-------|-------|
|
|
21
|
-
| `concepts.jsonl` | relation facts, byte-identical shape to `corpus/conceptnet/slice.jsonl` |
|
|
21
|
+
| `concepts.jsonl` | relation facts, byte-identical shape to `corpus/conceptnet/slice.jsonl` | 399 facts |
|
|
22
22
|
| `definitions.jsonl` | `{ "term", "definition", "sense": "software" }`, one per line | 288 definitions |
|
|
23
23
|
| `LICENSE-NOTICE` | MPL-2.0 provenance for this directory | — |
|
|
24
24
|
|
|
@@ -42,14 +42,15 @@ emitted-predicate breakdown:
|
|
|
42
42
|
|
|
43
43
|
| ConceptNet rel | → predicate | facts | meaning |
|
|
44
44
|
|----------------|-------------|-------|---------|
|
|
45
|
-
| `/r/IsA` | `rdfs:subClassOf` |
|
|
45
|
+
| `/r/IsA` | `rdfs:subClassOf` | 132 | taxonomy (`class` ⊑ `type`) — the load-bearing layer the syllogise closure walks. Includes the upper-ontology spine (`artifact`/`agent`/`event`/`quality`/`quantity`) added 2026-07-10 |
|
|
46
46
|
| `/r/UsedFor` | `mgx:usedFor` | 48 | purpose (`cache` usedFor `performance`) |
|
|
47
|
-
| `/r/PartOf` | `mgx:partOf` |
|
|
48
|
-
| `/r/HasA` | `mgx:hasA` |
|
|
47
|
+
| `/r/PartOf` | `mgx:partOf` | 37 | meronymy (`method` partOf `class`) |
|
|
48
|
+
| `/r/HasA` | `mgx:hasA` | 18 | holonymy (`class` hasA `method`) |
|
|
49
49
|
| `/r/CapableOf` | `mgx:capableOf` | 8 | behaviour (`cache` capableOf `store data`) |
|
|
50
50
|
| `/r/CreatedBy` | `mgx:createdBy` | 4 | provenance (`commit` createdBy `developer`) |
|
|
51
|
-
| `/r/HasProperty` | `mgx:hasProperty` |
|
|
51
|
+
| `/r/HasProperty` | `mgx:hasProperty` | 19 | attributes (`cache` hasProperty `fast`) |
|
|
52
52
|
| `/r/RelatedTo` | *(none — non-emitting)* | 19 | weak peer hints (`interface` relatedTo `class`); kept per the map's own note as a future fuzzy-match signal — they load without drift but emit no fact today |
|
|
53
|
+
| `/r/DistinctFrom`| `owl:disjointWith` | 114 | mutual exclusion (`cache` disjointWith `queue`); grown 2026-07-10 (was 42) from a token starter set to a genuine upper-ontology + sibling-cluster disjointness spine for `PLAN_INFERENCE_TESTING.md`'s `cax-dw` rule |
|
|
53
54
|
|
|
54
55
|
`normFactTerm` lowercases and de-underscores endpoints, so `/c/en/java_class` stores
|
|
55
56
|
as the term `java class`.
|
|
@@ -98,7 +99,7 @@ This directory is **data only**; wiring it into seeding is the coordinator's
|
|
|
98
99
|
`chat.mjs` / `init.mjs` change. Recommended:
|
|
99
100
|
|
|
100
101
|
1. **Seed `corpus/seon` FIRST, ahead of the ConceptNet slice**, and **exempt it from
|
|
101
|
-
the 500-fact cap** (`SEED_LIMIT`). It is small (
|
|
102
|
+
the 500-fact cap** (`SEED_LIMIT`). It is small (399 lines → 380 emitted facts) and
|
|
102
103
|
fully curated, so the whole tier belongs in memory before any capped ConceptNet
|
|
103
104
|
fill. Concretely: call `seedMemory(repo, { slicePath: SEON_CONCEPTS_FILE })` with
|
|
104
105
|
**no `limit`**, then run the existing capped ConceptNet seed after it. The
|
|
@@ -278,3 +278,122 @@
|
|
|
278
278
|
{"start":"/c/en/question","rel":"/r/DistinctFrom","end":"/c/en/answer","weight":2}
|
|
279
279
|
{"start":"/c/en/bug","rel":"/r/DistinctFrom","end":"/c/en/feature","weight":2}
|
|
280
280
|
{"start":"/c/en/issue","rel":"/r/DistinctFrom","end":"/c/en/requirement","weight":2}
|
|
281
|
+
{"start":"/c/en/file","rel":"/r/IsA","end":"/c/en/artifact","weight":2}
|
|
282
|
+
{"start":"/c/en/package","rel":"/r/IsA","end":"/c/en/artifact","weight":2}
|
|
283
|
+
{"start":"/c/en/document","rel":"/r/IsA","end":"/c/en/artifact","weight":2}
|
|
284
|
+
{"start":"/c/en/log","rel":"/r/IsA","end":"/c/en/artifact","weight":2}
|
|
285
|
+
{"start":"/c/en/developer","rel":"/r/IsA","end":"/c/en/agent","weight":2}
|
|
286
|
+
{"start":"/c/en/team","rel":"/r/IsA","end":"/c/en/agent","weight":2}
|
|
287
|
+
{"start":"/c/en/user","rel":"/r/IsA","end":"/c/en/agent","weight":2}
|
|
288
|
+
{"start":"/c/en/change","rel":"/r/IsA","end":"/c/en/event","weight":2}
|
|
289
|
+
{"start":"/c/en/release","rel":"/r/IsA","end":"/c/en/event","weight":2}
|
|
290
|
+
{"start":"/c/en/build","rel":"/r/IsA","end":"/c/en/event","weight":2}
|
|
291
|
+
{"start":"/c/en/deployment","rel":"/r/IsA","end":"/c/en/event","weight":2}
|
|
292
|
+
{"start":"/c/en/review","rel":"/r/IsA","end":"/c/en/event","weight":2}
|
|
293
|
+
{"start":"/c/en/status","rel":"/r/IsA","end":"/c/en/quality","weight":2}
|
|
294
|
+
{"start":"/c/en/severity","rel":"/r/IsA","end":"/c/en/quality","weight":2}
|
|
295
|
+
{"start":"/c/en/impact","rel":"/r/IsA","end":"/c/en/quality","weight":2}
|
|
296
|
+
{"start":"/c/en/risk","rel":"/r/IsA","end":"/c/en/quality","weight":2}
|
|
297
|
+
{"start":"/c/en/size","rel":"/r/IsA","end":"/c/en/quantity","weight":2}
|
|
298
|
+
{"start":"/c/en/complexity","rel":"/r/IsA","end":"/c/en/quantity","weight":2}
|
|
299
|
+
{"start":"/c/en/latency","rel":"/r/IsA","end":"/c/en/quantity","weight":2}
|
|
300
|
+
{"start":"/c/en/duration","rel":"/r/IsA","end":"/c/en/quantity","weight":2}
|
|
301
|
+
{"start":"/c/en/frequency","rel":"/r/IsA","end":"/c/en/quantity","weight":2}
|
|
302
|
+
{"start":"/c/en/churn","rel":"/r/IsA","end":"/c/en/quantity","weight":2}
|
|
303
|
+
{"start":"/c/en/coverage","rel":"/r/IsA","end":"/c/en/quantity","weight":2}
|
|
304
|
+
{"start":"/c/en/module","rel":"/r/HasA","end":"/c/en/class","weight":2}
|
|
305
|
+
{"start":"/c/en/package","rel":"/r/HasA","end":"/c/en/module","weight":2}
|
|
306
|
+
{"start":"/c/en/team","rel":"/r/HasA","end":"/c/en/developer","weight":2}
|
|
307
|
+
{"start":"/c/en/pipeline","rel":"/r/HasA","end":"/c/en/job","weight":2}
|
|
308
|
+
{"start":"/c/en/test","rel":"/r/HasA","end":"/c/en/assertion","weight":2}
|
|
309
|
+
{"start":"/c/en/graph","rel":"/r/HasA","end":"/c/en/edge","weight":2}
|
|
310
|
+
{"start":"/c/en/interface","rel":"/r/HasA","end":"/c/en/method","weight":2}
|
|
311
|
+
{"start":"/c/en/directory","rel":"/r/PartOf","end":"/c/en/repository","weight":2}
|
|
312
|
+
{"start":"/c/en/package","rel":"/r/PartOf","end":"/c/en/repository","weight":2}
|
|
313
|
+
{"start":"/c/en/module","rel":"/r/HasProperty","end":"/c/en/deprecated","weight":2}
|
|
314
|
+
{"start":"/c/en/api","rel":"/r/HasProperty","end":"/c/en/deprecated","weight":2}
|
|
315
|
+
{"start":"/c/en/dependency","rel":"/r/HasProperty","end":"/c/en/deprecated","weight":2}
|
|
316
|
+
{"start":"/c/en/function","rel":"/r/HasProperty","end":"/c/en/pure","weight":2}
|
|
317
|
+
{"start":"/c/en/module","rel":"/r/HasProperty","end":"/c/en/tested","weight":2}
|
|
318
|
+
{"start":"/c/en/function","rel":"/r/HasProperty","end":"/c/en/tested","weight":2}
|
|
319
|
+
{"start":"/c/en/test","rel":"/r/HasProperty","end":"/c/en/flaky","weight":2}
|
|
320
|
+
{"start":"/c/en/test","rel":"/r/HasProperty","end":"/c/en/green","weight":2}
|
|
321
|
+
{"start":"/c/en/build","rel":"/r/HasProperty","end":"/c/en/green","weight":2}
|
|
322
|
+
{"start":"/c/en/build","rel":"/r/HasProperty","end":"/c/en/broken","weight":2}
|
|
323
|
+
{"start":"/c/en/branch","rel":"/r/HasProperty","end":"/c/en/stale","weight":2}
|
|
324
|
+
{"start":"/c/en/api","rel":"/r/HasProperty","end":"/c/en/stable","weight":2}
|
|
325
|
+
{"start":"/c/en/prototype","rel":"/r/HasProperty","end":"/c/en/experimental","weight":2}
|
|
326
|
+
{"start":"/c/en/module","rel":"/r/HasProperty","end":"/c/en/documented","weight":2}
|
|
327
|
+
{"start":"/c/en/codebase","rel":"/r/HasProperty","end":"/c/en/legacy","weight":2}
|
|
328
|
+
{"start":"/c/en/artifact","rel":"/r/DistinctFrom","end":"/c/en/agent","weight":2}
|
|
329
|
+
{"start":"/c/en/artifact","rel":"/r/DistinctFrom","end":"/c/en/event","weight":2}
|
|
330
|
+
{"start":"/c/en/artifact","rel":"/r/DistinctFrom","end":"/c/en/quality","weight":2}
|
|
331
|
+
{"start":"/c/en/artifact","rel":"/r/DistinctFrom","end":"/c/en/quantity","weight":2}
|
|
332
|
+
{"start":"/c/en/agent","rel":"/r/DistinctFrom","end":"/c/en/event","weight":2}
|
|
333
|
+
{"start":"/c/en/agent","rel":"/r/DistinctFrom","end":"/c/en/quality","weight":2}
|
|
334
|
+
{"start":"/c/en/agent","rel":"/r/DistinctFrom","end":"/c/en/quantity","weight":2}
|
|
335
|
+
{"start":"/c/en/event","rel":"/r/DistinctFrom","end":"/c/en/quality","weight":2}
|
|
336
|
+
{"start":"/c/en/event","rel":"/r/DistinctFrom","end":"/c/en/quantity","weight":2}
|
|
337
|
+
{"start":"/c/en/quality","rel":"/r/DistinctFrom","end":"/c/en/quantity","weight":2}
|
|
338
|
+
{"start":"/c/en/function","rel":"/r/DistinctFrom","end":"/c/en/method","weight":2}
|
|
339
|
+
{"start":"/c/en/function","rel":"/r/DistinctFrom","end":"/c/en/procedure","weight":2}
|
|
340
|
+
{"start":"/c/en/function","rel":"/r/DistinctFrom","end":"/c/en/operation","weight":2}
|
|
341
|
+
{"start":"/c/en/function","rel":"/r/DistinctFrom","end":"/c/en/handler","weight":2}
|
|
342
|
+
{"start":"/c/en/method","rel":"/r/DistinctFrom","end":"/c/en/procedure","weight":2}
|
|
343
|
+
{"start":"/c/en/method","rel":"/r/DistinctFrom","end":"/c/en/operation","weight":2}
|
|
344
|
+
{"start":"/c/en/method","rel":"/r/DistinctFrom","end":"/c/en/handler","weight":2}
|
|
345
|
+
{"start":"/c/en/procedure","rel":"/r/DistinctFrom","end":"/c/en/operation","weight":2}
|
|
346
|
+
{"start":"/c/en/procedure","rel":"/r/DistinctFrom","end":"/c/en/handler","weight":2}
|
|
347
|
+
{"start":"/c/en/operation","rel":"/r/DistinctFrom","end":"/c/en/handler","weight":2}
|
|
348
|
+
{"start":"/c/en/helper","rel":"/r/DistinctFrom","end":"/c/en/callback","weight":2}
|
|
349
|
+
{"start":"/c/en/helper","rel":"/r/DistinctFrom","end":"/c/en/generator","weight":2}
|
|
350
|
+
{"start":"/c/en/helper","rel":"/r/DistinctFrom","end":"/c/en/lambda","weight":2}
|
|
351
|
+
{"start":"/c/en/helper","rel":"/r/DistinctFrom","end":"/c/en/closure","weight":2}
|
|
352
|
+
{"start":"/c/en/helper","rel":"/r/DistinctFrom","end":"/c/en/coroutine","weight":2}
|
|
353
|
+
{"start":"/c/en/callback","rel":"/r/DistinctFrom","end":"/c/en/generator","weight":2}
|
|
354
|
+
{"start":"/c/en/callback","rel":"/r/DistinctFrom","end":"/c/en/lambda","weight":2}
|
|
355
|
+
{"start":"/c/en/callback","rel":"/r/DistinctFrom","end":"/c/en/closure","weight":2}
|
|
356
|
+
{"start":"/c/en/callback","rel":"/r/DistinctFrom","end":"/c/en/coroutine","weight":2}
|
|
357
|
+
{"start":"/c/en/generator","rel":"/r/DistinctFrom","end":"/c/en/lambda","weight":2}
|
|
358
|
+
{"start":"/c/en/generator","rel":"/r/DistinctFrom","end":"/c/en/closure","weight":2}
|
|
359
|
+
{"start":"/c/en/generator","rel":"/r/DistinctFrom","end":"/c/en/coroutine","weight":2}
|
|
360
|
+
{"start":"/c/en/lambda","rel":"/r/DistinctFrom","end":"/c/en/closure","weight":2}
|
|
361
|
+
{"start":"/c/en/lambda","rel":"/r/DistinctFrom","end":"/c/en/coroutine","weight":2}
|
|
362
|
+
{"start":"/c/en/closure","rel":"/r/DistinctFrom","end":"/c/en/coroutine","weight":2}
|
|
363
|
+
{"start":"/c/en/struct","rel":"/r/DistinctFrom","end":"/c/en/record","weight":2}
|
|
364
|
+
{"start":"/c/en/trait","rel":"/r/DistinctFrom","end":"/c/en/api","weight":2}
|
|
365
|
+
{"start":"/c/en/plugin","rel":"/r/DistinctFrom","end":"/c/en/controller","weight":2}
|
|
366
|
+
{"start":"/c/en/plugin","rel":"/r/DistinctFrom","end":"/c/en/model","weight":2}
|
|
367
|
+
{"start":"/c/en/plugin","rel":"/r/DistinctFrom","end":"/c/en/view","weight":2}
|
|
368
|
+
{"start":"/c/en/expression","rel":"/r/DistinctFrom","end":"/c/en/assertion","weight":2}
|
|
369
|
+
{"start":"/c/en/expression","rel":"/r/DistinctFrom","end":"/c/en/fact","weight":2}
|
|
370
|
+
{"start":"/c/en/loop","rel":"/r/DistinctFrom","end":"/c/en/fact","weight":2}
|
|
371
|
+
{"start":"/c/en/assertion","rel":"/r/DistinctFrom","end":"/c/en/fact","weight":2}
|
|
372
|
+
{"start":"/c/en/module","rel":"/r/DistinctFrom","end":"/c/en/header","weight":2}
|
|
373
|
+
{"start":"/c/en/module","rel":"/r/DistinctFrom","end":"/c/en/script","weight":2}
|
|
374
|
+
{"start":"/c/en/namespace","rel":"/r/DistinctFrom","end":"/c/en/component","weight":2}
|
|
375
|
+
{"start":"/c/en/commit","rel":"/r/DistinctFrom","end":"/c/en/refactor","weight":2}
|
|
376
|
+
{"start":"/c/en/commit","rel":"/r/DistinctFrom","end":"/c/en/migration","weight":2}
|
|
377
|
+
{"start":"/c/en/commit","rel":"/r/DistinctFrom","end":"/c/en/patch","weight":2}
|
|
378
|
+
{"start":"/c/en/refactor","rel":"/r/DistinctFrom","end":"/c/en/migration","weight":2}
|
|
379
|
+
{"start":"/c/en/refactor","rel":"/r/DistinctFrom","end":"/c/en/patch","weight":2}
|
|
380
|
+
{"start":"/c/en/migration","rel":"/r/DistinctFrom","end":"/c/en/patch","weight":2}
|
|
381
|
+
{"start":"/c/en/defect","rel":"/r/DistinctFrom","end":"/c/en/ticket","weight":2}
|
|
382
|
+
{"start":"/c/en/thread","rel":"/r/DistinctFrom","end":"/c/en/worker","weight":2}
|
|
383
|
+
{"start":"/c/en/question","rel":"/r/DistinctFrom","end":"/c/en/response","weight":2}
|
|
384
|
+
{"start":"/c/en/question","rel":"/r/DistinctFrom","end":"/c/en/sentence","weight":2}
|
|
385
|
+
{"start":"/c/en/response","rel":"/r/DistinctFrom","end":"/c/en/sentence","weight":2}
|
|
386
|
+
{"start":"/c/en/answer","rel":"/r/DistinctFrom","end":"/c/en/sentence","weight":2}
|
|
387
|
+
{"start":"/c/en/cache","rel":"/r/DistinctFrom","end":"/c/en/queue","weight":2}
|
|
388
|
+
{"start":"/c/en/cache","rel":"/r/DistinctFrom","end":"/c/en/database","weight":2}
|
|
389
|
+
{"start":"/c/en/database","rel":"/r/DistinctFrom","end":"/c/en/queue","weight":2}
|
|
390
|
+
{"start":"/c/en/module","rel":"/r/DistinctFrom","end":"/c/en/function","weight":2}
|
|
391
|
+
{"start":"/c/en/module","rel":"/r/DistinctFrom","end":"/c/en/class","weight":2}
|
|
392
|
+
{"start":"/c/en/module","rel":"/r/DistinctFrom","end":"/c/en/variable","weight":2}
|
|
393
|
+
{"start":"/c/en/class","rel":"/r/DistinctFrom","end":"/c/en/function","weight":2}
|
|
394
|
+
{"start":"/c/en/function","rel":"/r/DistinctFrom","end":"/c/en/variable","weight":2}
|
|
395
|
+
{"start":"/c/en/commit","rel":"/r/DistinctFrom","end":"/c/en/branch","weight":2}
|
|
396
|
+
{"start":"/c/en/branch","rel":"/r/DistinctFrom","end":"/c/en/repository","weight":2}
|
|
397
|
+
{"start":"/c/en/commit","rel":"/r/DistinctFrom","end":"/c/en/repository","weight":2}
|
|
398
|
+
{"start":"/c/en/test","rel":"/r/DistinctFrom","end":"/c/en/suite","weight":2}
|
|
399
|
+
{"start":"/c/en/error","rel":"/r/DistinctFrom","end":"/c/en/warning","weight":2}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{"start":"/c/en/dog","rel":"/r/IsA","end":"/c/en/mammal","weight":1,"surfaceText":"[[dog]] IsA [[mammal]]"}
|
|
2
|
+
{"start":"/c/en/dog","rel":"/r/HasA","end":"/c/en/tail","weight":1,"surfaceText":"[[dog]] HasA [[tail]]"}
|
|
3
|
+
{"start":"/c/en/dog","rel":"/r/CapableOf","end":"/c/en/bark","weight":1,"surfaceText":"[[dog]] CapableOf [[bark]]"}
|
|
4
|
+
{"start":"/c/en/cat","rel":"/r/IsA","end":"/c/en/mammal","weight":1,"surfaceText":"[[cat]] IsA [[mammal]]"}
|
|
5
|
+
{"start":"/c/en/cat","rel":"/r/CapableOf","end":"/c/en/meow","weight":1,"surfaceText":"[[cat]] CapableOf [[meow]]"}
|
|
6
|
+
{"start":"/c/en/mammal","rel":"/r/IsA","end":"/c/en/animal","weight":1,"surfaceText":"[[mammal]] IsA [[animal]]"}
|
|
7
|
+
{"start":"/c/en/mammal","rel":"/r/HasProperty","end":"/c/en/warm_blooded","weight":1,"surfaceText":"[[mammal]] HasProperty [[warm blooded]]"}
|
|
8
|
+
{"start":"/c/en/bird","rel":"/r/IsA","end":"/c/en/animal","weight":1,"surfaceText":"[[bird]] IsA [[animal]]"}
|
|
9
|
+
{"start":"/c/en/bird","rel":"/r/CapableOf","end":"/c/en/fly","weight":1,"surfaceText":"[[bird]] CapableOf [[fly]]"}
|
|
10
|
+
{"start":"/c/en/bird","rel":"/r/HasA","end":"/c/en/feather","weight":1,"surfaceText":"[[bird]] HasA [[feather]]"}
|
|
11
|
+
{"start":"/c/en/fish","rel":"/r/IsA","end":"/c/en/animal","weight":1,"surfaceText":"[[fish]] IsA [[animal]]"}
|
|
12
|
+
{"start":"/c/en/fish","rel":"/r/AtLocation","end":"/c/en/water","weight":1,"surfaceText":"[[fish]] AtLocation [[water]]"}
|
|
13
|
+
{"start":"/c/en/fish","rel":"/r/CapableOf","end":"/c/en/swim","weight":1,"surfaceText":"[[fish]] CapableOf [[swim]]"}
|
|
14
|
+
{"start":"/c/en/rain","rel":"/r/IsA","end":"/c/en/weather","weight":1,"surfaceText":"[[rain]] IsA [[weather]]"}
|
|
15
|
+
{"start":"/c/en/rain","rel":"/r/MadeOf","end":"/c/en/water","weight":1,"surfaceText":"[[rain]] MadeOf [[water]]"}
|
|
16
|
+
{"start":"/c/en/snow","rel":"/r/IsA","end":"/c/en/weather","weight":1,"surfaceText":"[[snow]] IsA [[weather]]"}
|
|
17
|
+
{"start":"/c/en/snow","rel":"/r/HasProperty","end":"/c/en/cold","weight":1,"surfaceText":"[[snow]] HasProperty [[cold]]"}
|
|
18
|
+
{"start":"/c/en/cloud","rel":"/r/PartOf","end":"/c/en/sky","weight":1,"surfaceText":"[[cloud]] PartOf [[sky]]"}
|
|
19
|
+
{"start":"/c/en/cloud","rel":"/r/CapableOf","end":"/c/en/produce_rain","weight":1,"surfaceText":"[[cloud]] CapableOf [[produce rain]]"}
|
|
20
|
+
{"start":"/c/en/sun","rel":"/r/IsA","end":"/c/en/star","weight":1,"surfaceText":"[[sun]] IsA [[star]]"}
|
|
21
|
+
{"start":"/c/en/sun","rel":"/r/CapableOf","end":"/c/en/produce_light","weight":1,"surfaceText":"[[sun]] CapableOf [[produce light]]"}
|
|
22
|
+
{"start":"/c/en/moon","rel":"/r/AtLocation","end":"/c/en/sky","weight":1,"surfaceText":"[[moon]] AtLocation [[sky]]"}
|
|
23
|
+
{"start":"/c/en/moon","rel":"/r/PartOf","end":"/c/en/solar_system","weight":1,"surfaceText":"[[moon]] PartOf [[solar system]]"}
|
|
24
|
+
{"start":"/c/en/earth","rel":"/r/IsA","end":"/c/en/planet","weight":1,"surfaceText":"[[earth]] IsA [[planet]]"}
|
|
25
|
+
{"start":"/c/en/earth","rel":"/r/PartOf","end":"/c/en/solar_system","weight":1,"surfaceText":"[[earth]] PartOf [[solar system]]"}
|
|
26
|
+
{"start":"/c/en/planet","rel":"/r/CapableOf","end":"/c/en/orbit_a_star","weight":1,"surfaceText":"[[planet]] CapableOf [[orbit a star]]"}
|
|
27
|
+
{"start":"/c/en/water","rel":"/r/IsA","end":"/c/en/liquid","weight":1,"surfaceText":"[[water]] IsA [[liquid]]"}
|
|
28
|
+
{"start":"/c/en/water","rel":"/r/UsedFor","end":"/c/en/drinking","weight":1,"surfaceText":"[[water]] UsedFor [[drinking]]"}
|
|
29
|
+
{"start":"/c/en/ice","rel":"/r/IsA","end":"/c/en/solid","weight":1,"surfaceText":"[[ice]] IsA [[solid]]"}
|
|
30
|
+
{"start":"/c/en/ice","rel":"/r/MadeOf","end":"/c/en/water","weight":1,"surfaceText":"[[ice]] MadeOf [[water]]"}
|
|
31
|
+
{"start":"/c/en/fire","rel":"/r/CapableOf","end":"/c/en/produce_heat","weight":1,"surfaceText":"[[fire]] CapableOf [[produce heat]]"}
|
|
32
|
+
{"start":"/c/en/fire","rel":"/r/CapableOf","end":"/c/en/produce_light","weight":1,"surfaceText":"[[fire]] CapableOf [[produce light]]"}
|
|
33
|
+
{"start":"/c/en/tree","rel":"/r/IsA","end":"/c/en/plant","weight":1,"surfaceText":"[[tree]] IsA [[plant]]"}
|
|
34
|
+
{"start":"/c/en/tree","rel":"/r/HasA","end":"/c/en/root","weight":1,"surfaceText":"[[tree]] HasA [[root]]"}
|
|
35
|
+
{"start":"/c/en/tree","rel":"/r/HasA","end":"/c/en/leaf","weight":1,"surfaceText":"[[tree]] HasA [[leaf]]"}
|
|
36
|
+
{"start":"/c/en/plant","rel":"/r/CapableOf","end":"/c/en/photosynthesize","weight":1,"surfaceText":"[[plant]] CapableOf [[photosynthesize]]"}
|
|
37
|
+
{"start":"/c/en/forest","rel":"/r/HasA","end":"/c/en/tree","weight":1,"surfaceText":"[[forest]] HasA [[tree]]"}
|
|
38
|
+
{"start":"/c/en/kitchen","rel":"/r/PartOf","end":"/c/en/house","weight":1,"surfaceText":"[[kitchen]] PartOf [[house]]"}
|
|
39
|
+
{"start":"/c/en/kitchen","rel":"/r/UsedFor","end":"/c/en/cooking","weight":1,"surfaceText":"[[kitchen]] UsedFor [[cooking]]"}
|
|
40
|
+
{"start":"/c/en/bread","rel":"/r/IsA","end":"/c/en/food","weight":1,"surfaceText":"[[bread]] IsA [[food]]"}
|
|
41
|
+
{"start":"/c/en/bread","rel":"/r/MadeOf","end":"/c/en/flour","weight":1,"surfaceText":"[[bread]] MadeOf [[flour]]"}
|
|
42
|
+
{"start":"/c/en/bicycle","rel":"/r/HasA","end":"/c/en/wheel","weight":1,"surfaceText":"[[bicycle]] HasA [[wheel]]"}
|
|
43
|
+
{"start":"/c/en/bicycle","rel":"/r/UsedFor","end":"/c/en/transportation","weight":1,"surfaceText":"[[bicycle]] UsedFor [[transportation]]"}
|
|
44
|
+
{"start":"/c/en/car","rel":"/r/IsA","end":"/c/en/vehicle","weight":1,"surfaceText":"[[car]] IsA [[vehicle]]"}
|
|
45
|
+
{"start":"/c/en/car","rel":"/r/HasA","end":"/c/en/engine","weight":1,"surfaceText":"[[car]] HasA [[engine]]"}
|
|
46
|
+
{"start":"/c/en/engine","rel":"/r/CapableOf","end":"/c/en/produce_power","weight":1,"surfaceText":"[[engine]] CapableOf [[produce power]]"}
|
|
47
|
+
{"start":"/c/en/book","rel":"/r/MadeOf","end":"/c/en/paper","weight":1,"surfaceText":"[[book]] MadeOf [[paper]]"}
|
|
48
|
+
{"start":"/c/en/book","rel":"/r/UsedFor","end":"/c/en/reading","weight":1,"surfaceText":"[[book]] UsedFor [[reading]]"}
|
|
49
|
+
{"start":"/c/en/clock","rel":"/r/UsedFor","end":"/c/en/telling_time","weight":1,"surfaceText":"[[clock]] UsedFor [[telling time]]"}
|
|
@@ -172,6 +172,74 @@ export const CORPUSES = {
|
|
|
172
172
|
["method", "/r/IsA", "function"],
|
|
173
173
|
],
|
|
174
174
|
},
|
|
175
|
+
|
|
176
|
+
// PLAN_AGENTS.md Phase 1's "wider general-knowledge seed set" bullet: the
|
|
177
|
+
// three corpuses above are all code-domain-specific (a LANGUAGE or a cloud
|
|
178
|
+
// DOMAIN); this one deliberately is NOT — everyday-knowledge concepts (the
|
|
179
|
+
// natural world, weather, food, common objects) with zero code-domain
|
|
180
|
+
// framing, proving the extension-pack seam generalizes to a seed set that
|
|
181
|
+
// isn't code at all (the operator's own framing: tmct's code specialization
|
|
182
|
+
// was never a special case, just one seed set among possible others).
|
|
183
|
+
general: {
|
|
184
|
+
kind: "domain",
|
|
185
|
+
description: "General-purpose everyday-knowledge concepts (animals, weather, the natural world, common objects) — a non-code-domain seed set, deliberately outside tmct's own code-domain bias.",
|
|
186
|
+
facts: [
|
|
187
|
+
// animals
|
|
188
|
+
["dog", "/r/IsA", "mammal"],
|
|
189
|
+
["dog", "/r/HasA", "tail"],
|
|
190
|
+
["dog", "/r/CapableOf", "bark"],
|
|
191
|
+
["cat", "/r/IsA", "mammal"],
|
|
192
|
+
["cat", "/r/CapableOf", "meow"],
|
|
193
|
+
["mammal", "/r/IsA", "animal"],
|
|
194
|
+
["mammal", "/r/HasProperty", "warm_blooded"],
|
|
195
|
+
["bird", "/r/IsA", "animal"],
|
|
196
|
+
["bird", "/r/CapableOf", "fly"],
|
|
197
|
+
["bird", "/r/HasA", "feather"],
|
|
198
|
+
["fish", "/r/IsA", "animal"],
|
|
199
|
+
["fish", "/r/AtLocation", "water"],
|
|
200
|
+
["fish", "/r/CapableOf", "swim"],
|
|
201
|
+
// weather / sky
|
|
202
|
+
["rain", "/r/IsA", "weather"],
|
|
203
|
+
["rain", "/r/MadeOf", "water"],
|
|
204
|
+
["snow", "/r/IsA", "weather"],
|
|
205
|
+
["snow", "/r/HasProperty", "cold"],
|
|
206
|
+
["cloud", "/r/PartOf", "sky"],
|
|
207
|
+
["cloud", "/r/CapableOf", "produce_rain"],
|
|
208
|
+
["sun", "/r/IsA", "star"],
|
|
209
|
+
["sun", "/r/CapableOf", "produce_light"],
|
|
210
|
+
["moon", "/r/AtLocation", "sky"],
|
|
211
|
+
["moon", "/r/PartOf", "solar_system"],
|
|
212
|
+
["earth", "/r/IsA", "planet"],
|
|
213
|
+
["earth", "/r/PartOf", "solar_system"],
|
|
214
|
+
["planet", "/r/CapableOf", "orbit_a_star"],
|
|
215
|
+
// matter / basic science
|
|
216
|
+
["water", "/r/IsA", "liquid"],
|
|
217
|
+
["water", "/r/UsedFor", "drinking"],
|
|
218
|
+
["ice", "/r/IsA", "solid"],
|
|
219
|
+
["ice", "/r/MadeOf", "water"],
|
|
220
|
+
["fire", "/r/CapableOf", "produce_heat"],
|
|
221
|
+
["fire", "/r/CapableOf", "produce_light"],
|
|
222
|
+
// plants
|
|
223
|
+
["tree", "/r/IsA", "plant"],
|
|
224
|
+
["tree", "/r/HasA", "root"],
|
|
225
|
+
["tree", "/r/HasA", "leaf"],
|
|
226
|
+
["plant", "/r/CapableOf", "photosynthesize"],
|
|
227
|
+
["forest", "/r/HasA", "tree"],
|
|
228
|
+
// everyday objects / places
|
|
229
|
+
["kitchen", "/r/PartOf", "house"],
|
|
230
|
+
["kitchen", "/r/UsedFor", "cooking"],
|
|
231
|
+
["bread", "/r/IsA", "food"],
|
|
232
|
+
["bread", "/r/MadeOf", "flour"],
|
|
233
|
+
["bicycle", "/r/HasA", "wheel"],
|
|
234
|
+
["bicycle", "/r/UsedFor", "transportation"],
|
|
235
|
+
["car", "/r/IsA", "vehicle"],
|
|
236
|
+
["car", "/r/HasA", "engine"],
|
|
237
|
+
["engine", "/r/CapableOf", "produce_power"],
|
|
238
|
+
["book", "/r/MadeOf", "paper"],
|
|
239
|
+
["book", "/r/UsedFor", "reading"],
|
|
240
|
+
["clock", "/r/UsedFor", "telling_time"],
|
|
241
|
+
],
|
|
242
|
+
},
|
|
175
243
|
};
|
|
176
244
|
|
|
177
245
|
const conceptUri = (term) => `/c/en/${term}`;
|
|
@@ -43,6 +43,20 @@
|
|
|
43
43
|
"bytes": 3920,
|
|
44
44
|
"sha256": "d089426833c393f6f1574fe75c4ac94a1483ee80f72f79bd7fd32aaaa24a6e44",
|
|
45
45
|
"license": "MPL-2.0"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "general",
|
|
49
|
+
"kind": "domain",
|
|
50
|
+
"description": "General-purpose everyday-knowledge concepts (animals, weather, the natural world, common objects) — a non-code-domain seed set, deliberately outside tmct's own code-domain bias.",
|
|
51
|
+
"source": {
|
|
52
|
+
"kind": "curated",
|
|
53
|
+
"tool": "corpus/tier2/generate.mjs"
|
|
54
|
+
},
|
|
55
|
+
"file": "general.jsonl",
|
|
56
|
+
"facts": 49,
|
|
57
|
+
"bytes": 5826,
|
|
58
|
+
"sha256": "01284f1350fa2ca9653b1c5f52a39fdcb657727c65e77693eae954cb95a14a2e",
|
|
59
|
+
"license": "MPL-2.0"
|
|
46
60
|
}
|
|
47
61
|
]
|
|
48
62
|
}
|