@polycode-projects/the-mechanical-code-talker 2.2.0 → 2.3.1

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.
Files changed (137) hide show
  1. package/bin/tmct.mjs +4 -5
  2. package/corpus/LICENSES.json +19 -4
  3. package/corpus/README.md +48 -0
  4. package/corpus/generated/README.md +24 -9
  5. package/corpus/generated/ace-surface-variants.jsonl +4 -1
  6. package/corpus/generated/manifest.json +4 -4
  7. package/corpus/prose/manifest.json +512 -0
  8. package/corpus/prose/sqlite/LICENSE-NOTICE +53 -0
  9. package/corpus/prose/sqlite/arch.txt +213 -0
  10. package/corpus/prose/sqlite/atomiccommit.txt +1117 -0
  11. package/corpus/prose/sqlite/faq.txt +473 -0
  12. package/corpus/prose/sqlite/fileformat.txt +1589 -0
  13. package/corpus/prose/sqlite/lang_createtable.txt +1339 -0
  14. package/corpus/prose/sqlite/lang_insert.txt +580 -0
  15. package/corpus/prose/sqlite/lang_select.txt +3293 -0
  16. package/corpus/prose/sqlite/optoverview.txt +908 -0
  17. package/corpus/prose/sqlite/queryplanner.txt +447 -0
  18. package/corpus/prose/sqlite/transactional.txt +41 -0
  19. package/corpus/prose/sqlite/wal.txt +567 -0
  20. package/corpus/prose/sqlite/whentouse.txt +300 -0
  21. package/corpus/prose/wikipedia/Apple.txt +4 -0
  22. package/corpus/prose/wikipedia/Attempto_Controlled_English.txt +169 -0
  23. package/corpus/prose/wikipedia/Automated_planning_and_scheduling.txt +67 -0
  24. package/corpus/prose/wikipedia/Bee.txt +7 -0
  25. package/corpus/prose/wikipedia/Bird.txt +8 -0
  26. package/corpus/prose/wikipedia/Bone.txt +4 -0
  27. package/corpus/prose/wikipedia/Book.txt +7 -0
  28. package/corpus/prose/wikipedia/Bread.txt +6 -0
  29. package/corpus/prose/wikipedia/Butterfly.txt +6 -0
  30. package/corpus/prose/wikipedia/Car.txt +1 -0
  31. package/corpus/prose/wikipedia/Cat.txt +1 -0
  32. package/corpus/prose/wikipedia/Child.txt +3 -0
  33. package/corpus/prose/wikipedia/City.txt +2 -0
  34. package/corpus/prose/wikipedia/Clock.txt +2 -0
  35. package/corpus/prose/wikipedia/Cooking.txt +1 -0
  36. package/corpus/prose/wikipedia/Description_logic.txt +660 -0
  37. package/corpus/prose/wikipedia/Doctor.txt +6 -0
  38. package/corpus/prose/wikipedia/Dog.txt +4 -0
  39. package/corpus/prose/wikipedia/Eagle.txt +4 -0
  40. package/corpus/prose/wikipedia/Emotion.txt +9 -0
  41. package/corpus/prose/wikipedia/Eye.txt +5 -0
  42. package/corpus/prose/wikipedia/Family.txt +3 -0
  43. package/corpus/prose/wikipedia/Farm.txt +4 -0
  44. package/corpus/prose/wikipedia/Fear.txt +4 -0
  45. package/corpus/prose/wikipedia/First-order_logic.txt +1518 -0
  46. package/corpus/prose/wikipedia/Fish.txt +10 -0
  47. package/corpus/prose/wikipedia/Flower.txt +3 -0
  48. package/corpus/prose/wikipedia/Food.txt +10 -0
  49. package/corpus/prose/wikipedia/Grass.txt +9 -0
  50. package/corpus/prose/wikipedia/Hand.txt +2 -0
  51. package/corpus/prose/wikipedia/Happiness.txt +3 -0
  52. package/corpus/prose/wikipedia/Heart.txt +4 -0
  53. package/corpus/prose/wikipedia/Horse.txt +4 -0
  54. package/corpus/prose/wikipedia/House.txt +6 -0
  55. package/corpus/prose/wikipedia/Human.txt +4 -0
  56. package/corpus/prose/wikipedia/Insect.txt +6 -0
  57. package/corpus/prose/wikipedia/Interactive_fiction.txt +112 -0
  58. package/corpus/prose/wikipedia/Knowledge.txt +5 -0
  59. package/corpus/prose/wikipedia/Knowledge_representation_and_reasoning.txt +87 -0
  60. package/corpus/prose/wikipedia/LICENSE-NOTICE +94 -0
  61. package/corpus/prose/wikipedia/Language.txt +10 -0
  62. package/corpus/prose/wikipedia/Learning.txt +4 -0
  63. package/corpus/prose/wikipedia/Mammal.txt +3 -0
  64. package/corpus/prose/wikipedia/Memory.txt +5 -0
  65. package/corpus/prose/wikipedia/Milk.txt +1 -0
  66. package/corpus/prose/wikipedia/Mountain.txt +1 -0
  67. package/corpus/prose/wikipedia/Natural_language_processing.txt +211 -0
  68. package/corpus/prose/wikipedia/Ostrich.txt +2 -0
  69. package/corpus/prose/wikipedia/Owl.txt +2 -0
  70. package/corpus/prose/wikipedia/Penguin.txt +2 -0
  71. package/corpus/prose/wikipedia/Plant.txt +5 -0
  72. package/corpus/prose/wikipedia/Rain.txt +1 -0
  73. package/corpus/prose/wikipedia/Resource_Description_Framework.txt +184 -0
  74. package/corpus/prose/wikipedia/River.txt +1 -0
  75. package/corpus/prose/wikipedia/School.txt +8 -0
  76. package/corpus/prose/wikipedia/Sea.txt +1 -0
  77. package/corpus/prose/wikipedia/Semantic_Web.txt +114 -0
  78. package/corpus/prose/wikipedia/Semantic_reasoner.txt +29 -0
  79. package/corpus/prose/wikipedia/Snow.txt +5 -0
  80. package/corpus/prose/wikipedia/Sun.txt +5 -0
  81. package/corpus/prose/wikipedia/Teacher.txt +4 -0
  82. package/corpus/prose/wikipedia/Team.txt +3 -0
  83. package/corpus/prose/wikipedia/Text-based_game.txt +17 -0
  84. package/corpus/prose/wikipedia/Tool.txt +4 -0
  85. package/corpus/prose/wikipedia/Tree.txt +7 -0
  86. package/corpus/prose/wikipedia/Weather.txt +4 -0
  87. package/corpus/prose/wikipedia/Web_Ontology_Language.txt +133 -0
  88. package/corpus/prose/wikipedia/Wind.txt +8 -0
  89. package/corpus/prose/wikipedia/Writing.txt +5 -0
  90. package/corpus/wordnet/generate.mjs +6 -7
  91. package/package.json +31 -2
  92. package/src/adapters/corpus/conceptnet.mjs +1 -1
  93. package/src/adapters/graph-build.mjs +3 -3
  94. package/src/adapters/memory/blocks.mjs +2 -2
  95. package/src/adapters/memory/core.mjs +5 -5
  96. package/src/adapters/providers/bootstrap.mjs +1 -1
  97. package/src/adapters/providers/fixture.mjs +1 -1
  98. package/src/adapters/wink-model.mjs +1 -1
  99. package/src/adapters/wordnet-source.mjs +70 -0
  100. package/src/domain/answer-variants.json +1 -1
  101. package/src/domain/ask-vocab.mjs +2 -2
  102. package/src/domain/ask.mjs +4 -4
  103. package/src/domain/codegraph.mjs +3 -3
  104. package/src/domain/corpus-matrix.mjs +87 -0
  105. package/src/domain/grammar/ace.mjs +11 -11
  106. package/src/domain/grammar/lexicon.mjs +3 -3
  107. package/src/domain/inflect.mjs +67 -0
  108. package/src/domain/interpret/fuzzy.mjs +1 -1
  109. package/src/domain/interpret/merge.mjs +1 -1
  110. package/src/domain/interpret/normalize.mjs +1 -1
  111. package/src/domain/licences.mjs +68 -0
  112. package/src/domain/memory/capability.mjs +1 -1
  113. package/src/domain/memory/trust.mjs +2 -2
  114. package/src/domain/persona/codegen.mjs +123 -0
  115. package/src/domain/persona/examples.mjs +26 -0
  116. package/src/domain/persona/tiers.mjs +270 -0
  117. package/src/domain/publish-gate.mjs +41 -0
  118. package/src/domain/router/call-validator.mjs +1 -1
  119. package/src/domain/router/drive.mjs +3 -4
  120. package/src/domain/router/registry.mjs +12 -13
  121. package/src/domain/router/resolver.mjs +18 -5
  122. package/src/domain/router/results.mjs +3 -3
  123. package/src/domain/router/taught.mjs +4 -3
  124. package/src/domain/schemaorg/turtle.mjs +25 -0
  125. package/src/domain/semcor/parse.mjs +87 -0
  126. package/src/domain/syllogise.mjs +6 -6
  127. package/src/domain/version-stamp.mjs +36 -0
  128. package/src/domain/wordnet/yaml.mjs +133 -0
  129. package/src/services/chat-session.mjs +2 -2
  130. package/src/services/chat.mjs +2 -2
  131. package/src/services/cli-args.mjs +4 -4
  132. package/src/services/finish.mjs +1 -1
  133. package/src/services/ledger-viz.mjs +2 -3
  134. package/src/services/sessions.mjs +4 -4
  135. package/src/services/viz-theme.mjs +3 -4
  136. package/src/surfaces/web/memory-ask-browser.bundle.js +1 -18
  137. package/src/domain/router/guardrail.mjs +0 -116
package/bin/tmct.mjs CHANGED
@@ -167,7 +167,7 @@ const TIER_RANK = { NONE: 0, TINY: 1, MID: 2, LARGE: 3, FULL: 4 };
167
167
  * into a caller's prompt.
168
168
  *
169
169
  * Two ways to say which modules: an explicit `modules` array (unchanged), or a `query` string —
170
- * auto-locate + score-gap-select (R1b, the shipped default as of 2026-07-02) in one call, so a
170
+ * auto-locate + score-gap-select (the shipped default) in one call, so a
171
171
  * real caller no longer has to run `tmct_locate` and hand-pick a module themselves. `modules`
172
172
  * wins if both are given. The header reports which modules were actually selected either way.
173
173
  *
@@ -741,8 +741,7 @@ async function main() {
741
741
  const lexiconVal = strFlag(rest, ["--lexicon"]);
742
742
  const graphFlags = repeatedFlag(rest, ["--graph"]);
743
743
 
744
- // `--memory-backend <default|memory|sqlite>` (PLAN_SEED.md §6's storage-backend
745
- // seam, now reachable from `tmct init`): validated BEFORE touching disk, same
744
+ // `--memory-backend <default|memory|sqlite>`: validated BEFORE touching disk, same
746
745
  // discipline as every other pluggable input below. Written into tmct.toml's
747
746
  // `[memory] backend` (src/services/init.mjs's renderTomlConfig); chat.mjs's
748
747
  // createSession reads it back at CLI-flag > TMCT_MEMORY_BACKEND env >
@@ -798,7 +797,7 @@ async function main() {
798
797
  personaPreset = PERSONA_PRESETS[personaName];
799
798
  }
800
799
 
801
- // `--persona-size <medium|large>` (PLAN_SEED.md §3): Small/Medium/Large are
800
+ // `--persona-size <medium|large>`: Small/Medium/Large are
802
801
  // SIZES of the one `human` bundle, not separate corpus ids — human.jsonl
803
802
  // (Small, the default) stays exactly as-is; human-medium.jsonl/
804
803
  // human-large.jsonl hold ONLY the facts each size adds beyond the previous
@@ -1121,7 +1120,7 @@ async function main() {
1121
1120
  if (mode === "viz") {
1122
1121
  // `tmct viz` — the ledger explorer: one self-contained HTML page rendering
1123
1122
  // the memory graph as readable fact-sentences around a focus term, with
1124
- // the in-browser chat dock (PLAN_VIZ_LEDGER.md). Same repo resolution as
1123
+ // the in-browser chat dock. Same repo resolution as
1125
1124
  // `memory`/`syllogise` — resolveRuntimeConfig: --repo > git root > cwd.
1126
1125
  // `--ledger` is accepted as a no-op: the ledger IS the viz surface now.
1127
1126
  const rest = process.argv.slice(3);
@@ -101,11 +101,26 @@
101
101
  "notice": "corpus/tier2/manifest.json"
102
102
  },
103
103
  {
104
- "path": "corpus/generated/ace-surface-variants.jsonl",
105
- "upstream": "mechanically generated from Open English WordNet / SemCor example sentences and this repository's own docs prose",
106
- "license": "CC-BY-4.0",
104
+ "path": "corpus/prose/sqlite/",
105
+ "upstream": "SQLite documentation (sqlite.org), plain-text extractions of 12 pages",
106
+ "license": "public-domain",
107
107
  "shareAlike": false,
108
- "notice": "corpus/generated/manifest.json"
108
+ "notice": "corpus/prose/sqlite/LICENSE-NOTICE"
109
+ },
110
+ {
111
+ "path": "corpus/prose/wikipedia/",
112
+ "upstream": "Wikipedia — simple.wikipedia.org lead sections (56 everyday-concept articles) and en.wikipedia.org full articles (12 in tmct's technical domain), fetched via the MediaWiki extracts API",
113
+ "license": "CC-BY-SA-4.0",
114
+ "shareAlike": true,
115
+ "notice": "corpus/prose/wikipedia/LICENSE-NOTICE"
116
+ },
117
+ {
118
+ "path": "corpus/generated/ace-surface-variants.jsonl",
119
+ "upstream": "mechanically generated from Open English WordNet / SemCor example sentences (CC-BY-4.0) and corpus/prose/, which includes CC-BY-SA-4.0 Wikipedia text",
120
+ "license": "CC-BY-SA-4.0",
121
+ "shareAlike": true,
122
+ "notice": "corpus/generated/manifest.json",
123
+ "note": "CC-BY-SA-4.0, not CC-BY-4.0: the rescue rows quote and word-substitute Wikipedia sentences from corpus/prose/wikipedia/, so this published file is a modified derivative of CC-BY-SA-4.0 text and inherits its viral share-alike. It carried CC-BY-4.0 while the prose corpus was this repository's own docs; adding Wikipedia is what changed it. See corpus/prose/wikipedia/LICENSE-NOTICE."
109
124
  },
110
125
  {
111
126
  "path": "data/",
package/corpus/README.md CHANGED
@@ -45,6 +45,9 @@ notice}), guarded by `test/estate/corpus-licences.test.mjs`.
45
45
  | `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 |
46
46
  | `tier2/human.jsonl` | the DEFAULT active bundle: the everyday "human-world" persona, Small tier (664 facts) — hand-curated from Open English WordNet, bridged to Schema.org's top-level classes | ~80 KB | MPL-2.0 (hand-authored fact set; not a verbatim WordNet/Schema.org excerpt — see `tier2/generate.mjs`'s own header comment) |
47
47
  | `tier2/human-medium.jsonl` / `tier2/human-large.jsonl` | SIZE tiers of the SAME `human` bundle — each holds ONLY the facts that size adds beyond the previous one; both shipped INACTIVE by default, activated via `tmct init --persona-size medium\|large`. Built by `scripts/build-persona-tiers.mjs` from the same WordNet source, automatically curated (sense-ranked, blocklist/denylist-filtered) rather than hand-typed one at a time, given the scale (944 / ~12,000 facts) | ~111 KB / ~1.4 MB | MPL-2.0 (same "hand-authored in homage to the source's shape" basis as `human.jsonl`) |
48
+ | `prose/sqlite/*.txt` | the frozen prose corpus, code half: plain-text extractions of 12 SQLite documentation pages | ~375 KB | **public domain** (see `prose/sqlite/LICENSE-NOTICE`) |
49
+ | `prose/wikipedia/*.txt` | the frozen prose corpus, English half: 56 simple-English lead sections (everyday concepts) + 12 en.wikipedia full articles (NLP/OWL/logic) | ~356 KB | **CC-BY-SA 4.0** (see `prose/wikipedia/LICENSE-NOTICE`) |
50
+ | `prose/manifest.json` | provenance for the above: source URL, byte count and sha256 per file, plus the fetch date | — | MPL-2.0 |
48
51
  | `tier2/human-examples.jsonl` / `tier2/human-examples-medium.jsonl` / `tier2/human-examples-large.jsonl` | the example-sentence corpus — real natural-language sentences mapped to the same curated vocabulary, NOT fact triples. Small/Medium tiers are 100% WordNet's own inline `example:` field (same CC-BY-4.0 basis as the fact bundles). Large tier ALSO includes a SemCor-filtered supplement (real Brown Corpus text, re-tagged to modern OEWN senses) for categories where WordNet's own inline coverage is thin (`human-nature` especially — `noun.animal.yaml`'s inline rate is under 1%) | ~11 KB / ~43 KB / ~257 KB | **The WordNet-inline entries**: CC-BY-4.0 (Princeton WordNet + Open English WordNet team), reproduced verbatim (these ARE the source's own example sentences, not a paraphrase). **The `source: "semcor:…"` entries**: CC-BY-4.0 per this SemCor fork's own `LICENSE.md` (a local uncommitted checkout of `globalwordnet/semcor`, real Brown Corpus text re-tagged to modern senses — the original 1960s Brown Corpus permissions aren't independently re-verified beyond that fork's own license statement; proceeding with attribution was an explicit operator decision) — each entry's own `source` field names its origin file (`semcor:<genre>/<file>.yaml`) for exactly this reason |
49
52
 
50
53
  And alongside (same phase, different directory because it is tmct-original
@@ -55,6 +58,51 @@ data, not a derived corpus):
55
58
  | `../data/templates/responses.jsonl` | ~56 response templates ({id, class, template, register}) | MPL-2.0 |
56
59
  | `../data/phrasebook/software-phrases.txt` | ~170 SE phrase patterns + 31 synonym families | MPL-2.0 |
57
60
 
61
+ ## The prose corpus (`prose/`) — external and frozen, on purpose
62
+
63
+ `prose/` is plain English text. It is not seeded and holds no facts. It exists
64
+ to be *measured against*: `scripts/template-coverage.mjs` asks how much of it
65
+ tmct's ACE grammar parses, and the rescue pass in
66
+ `scripts/generate-template-variants.mjs` mines it for near-misses.
67
+
68
+ It used to be this repository's own root `*.md` docs, and both reasons it moved
69
+ are worth stating, because both were real bugs:
70
+
71
+ - **A doc edit could drift a shipped artifact.** The corpus was globbed from
72
+ every root `*.md`, so editing a README or a plan changed
73
+ `generated/ace-surface-variants.jsonl` — a file npm ships. A rescue row could
74
+ be, and once was, a sentence someone had written into a plan that morning.
75
+ Committed text fetched from a recorded URL cannot do that.
76
+ - **The coverage metric was not comparable across versions.** A hit rate only
77
+ means something against a fixed corpus. When the corpus moves with every doc
78
+ edit, two versions' numbers are not measuring the same thing, and a change in
79
+ the number says nothing about a change in the grammar.
80
+
81
+ So the corpus is external (nothing in this repo can edit it), frozen (a
82
+ snapshot, checksummed per file in `prose/manifest.json`), and re-fetched only
83
+ when someone deliberately runs `npm run gen:prose-corpus`. `test/estate/prose-corpus.test.mjs`
84
+ checks the committed bytes against the manifest, so a hand-edit fails loudly.
85
+
86
+ **Licensing picked the sources, not preference.** The rescue pass substitutes
87
+ words and commits the result to a file npm publishes, so this corpus is
88
+ republished as a *modified derivative*. Only sources that permit derivatives
89
+ qualify. IETF RFCs and W3C specifications — including the OWL 2 Primer, the
90
+ best domain match there is — permit redistribution but **not** modification, so
91
+ they are unusable here and must not be added. SQLite's documentation is public
92
+ domain; Wikipedia is CC BY-SA 4.0. Adding Wikipedia is what makes
93
+ `generated/ace-surface-variants.jsonl` CC-BY-SA-4.0 rather than CC-BY-4.0:
94
+ share-alike is viral, and it reaches the generated file.
95
+
96
+ **Why simple-English lead sections for the everyday half.** Measured, on the
97
+ metric the rescue pass actually consumes (sentences with exactly one undeclared
98
+ word): simple.wikipedia.org lead sections yield ~0.33 rescue candidates per KB
99
+ against ~0.12 for technical prose. Lead sections are dense definitional English
100
+ ("A penguin is a bird that cannot fly"), which is the shape the ACE grammar was
101
+ built to parse; later article sections drift into history and citations. The
102
+ titles cover the same everyday concepts the persona clumps model
103
+ (`scripts/build-persona-tiers.mjs`'s `CLUMP_FILES`). The technical half stays
104
+ because tmct's own domain is code.
105
+
58
106
  ## How seeding works
59
107
 
60
108
  `src/adapters/corpus/conceptnet.mjs` turns the slice into tmct memory facts:
@@ -17,7 +17,7 @@ measurement: `node scripts/template-coverage.mjs` (baseline) and
17
17
 
18
18
  | `kind` | What | Fields |
19
19
  |---|---|---|
20
- | `rescue` | A real docs-corpus sentence that almost fit the ACE grammar (exactly one undeclared word), rescued by substituting a WordNet synonym of that word that's ALSO already declared in `src/domain/grammar/lexicon-core.json` | `sentence`, `rescued`, `from`, `to`, `pos`, `synsetId`, `sourceFile` |
20
+ | `rescue` | A real sentence from the frozen prose corpus (`corpus/prose/`) that almost fit the ACE grammar (exactly one undeclared word), rescued by substituting a WordNet synonym of that word that's ALSO already declared in `src/domain/grammar/lexicon-core.json` | `sentence`, `rescued`, `from`, `to`, `pos`, `synsetId`, `sourceFile` |
21
21
  | `variant` | A real WordNet/SemCor example sentence (`corpus/tier2/human-examples*.jsonl`) that already hits `parseAce`, with one content word swapped for a same-synset sibling (both ends independently declared in tmct's own lexicon) | `seed`, `generated`, `from`, `to`, `pos`, `synsetId`, `sourceCorpus` |
22
22
  | `alt-phrasing` | A possessive-pattern (#7) hit rewritten in the ACE grammar's OTHER declared surface form for the same triple (`"X's Y is Z"` <-> `"the Y of X is Z"`, both routed through `buildPossessive` in `src/domain/grammar/ace.mjs`) | `seed`, `generated`, `pattern`, `form` |
23
23
 
@@ -31,12 +31,27 @@ product code — it is committed raw material, verified by
31
31
  `scripts/template-coverage.mjs`. Wiring it into live answer rendering is a
32
32
  separate, future phase.
33
33
 
34
- ## Licence
34
+ ## Licence — CC-BY-SA-4.0
35
35
 
36
- Open English WordNet content (synset `members`/`example` fields) is
37
- CC-BY-4.0; SemCor-derived sentences (`corpus/tier2/human-examples-large.jsonl`)
38
- are CC-BY-4.0 per that fork's own `LICENSE.md` (same basis `corpus/README.md`
39
- already documents for that file). A `variant`/`rescue` row is a one-word
40
- derivative of that material — CC-BY-4.0. An `alt-phrasing` row is a pure
41
- grammar-level rephrasing of the same source sentence CC-BY-4.0 also, no new
42
- creative content introduced either way.
36
+ **`ace-surface-variants.jsonl` is CC-BY-SA-4.0**, and this file ships in the npm
37
+ package. It is not under this repository's MPL-2.0.
38
+
39
+ Two source licences meet in this file:
40
+
41
+ - Open English WordNet content (synset `members`/`example` fields) is CC-BY-4.0;
42
+ SemCor-derived sentences (`corpus/tier2/human-examples-large.jsonl`) are
43
+ CC-BY-4.0 per that fork's own `LICENSE.md` (the same basis `corpus/README.md`
44
+ already documents for that file). `variant` and `alt-phrasing` rows derive
45
+ from this material.
46
+ - `corpus/prose/` feeds the `rescue` rows, and it includes Wikipedia text under
47
+ **CC-BY-SA-4.0** (`corpus/prose/wikipedia/LICENSE-NOTICE`). A `rescue` row
48
+ quotes such a sentence and substitutes one word into it, so the row is a
49
+ published, modified derivative of CC-BY-SA-4.0 text.
50
+
51
+ Share-alike is viral, so the combined file takes the stricter licence:
52
+ **CC-BY-SA-4.0**. Redistributing it, modified or not, means doing so under
53
+ CC-BY-SA 4.0 with the attribution in `corpus/prose/wikipedia/LICENSE-NOTICE`.
54
+
55
+ This file was labelled CC-BY-4.0 while the rescue corpus was this repository's
56
+ own MPL-2.0 docs. Repointing the corpus at Wikipedia is what changed it.
57
+ `corpus/prose/sqlite/` is public domain and adds no condition of its own.
@@ -1,4 +1,7 @@
1
- {"kind":"rescue","sentence":"Code search is a retrieval task","rescued":"Code hunt is a retrieval task","from":"search","to":"hunt","pos":"noun","synsetId":"00947217-n","sourceFile":"PLAN_EMBEDDINGS.md","provenance":"wordnet:00947217-n"}
1
+ {"kind":"rescue","sentence":"The claim of the previous paragraph is extensively checked in the SQLite regression test suite using a special test harness that simulates the effects on a database file of operating system crashes and power failures","rescued":"The claim of the old paragraph is extensively checked in the SQLite regression test suite using a special test harness that simulates the effects on a database file of operating system crashes and power failures","from":"previous","to":"old","pos":"adjective","synsetId":"00128009-s","sourceFile":"sqlite/transactional.txt","provenance":"wordnet:00128009-s"}
2
+ {"kind":"rescue","sentence":"The meaning of sentences is described as a small set of interpretation rules","rescued":"The significance of sentences is described as a small set of interpretation rules","from":"meaning","to":"significance","pos":"noun","synsetId":"06613680-n","sourceFile":"wikipedia/Attempto_Controlled_English.txt","provenance":"wordnet:06613680-n"}
3
+ {"kind":"rescue","sentence":"The difficulty of planning is dependent on the simplifying assumptions employed","rescued":"The trouble of planning is dependent on the simplifying assumptions employed","from":"difficulty","to":"trouble","pos":"noun","synsetId":"00625102-n","sourceFile":"wikipedia/Automated_planning_and_scheduling.txt","provenance":"wordnet:00625102-n"}
4
+ {"kind":"rescue","sentence":"The consumption of food is normally enjoyable to humans","rescued":"The intake of food is normally enjoyable to humans","from":"consumption","to":"intake","pos":"noun","synsetId":"00839759-n","sourceFile":"wikipedia/Food.txt","provenance":"wordnet:00839759-n"}
2
5
  {"kind":"variant","seed":"the ace of trumps is a sure winner","generated":"the one of trumps is a sure winner","from":"ace","to":"one","pos":"noun","synsetId":"13764713-n","sourceCorpus":"corpus/tier2/human-examples-large.jsonl","provenance":"wordnet:13764713-n"}
3
6
  {"kind":"variant","seed":"the ace of trumps is a sure winner","generated":"the single of trumps is a sure winner","from":"ace","to":"single","pos":"noun","synsetId":"13764713-n","sourceCorpus":"corpus/tier2/human-examples-large.jsonl","provenance":"wordnet:13764713-n"}
4
7
  {"kind":"variant","seed":"the ace of trumps is a sure winner","generated":"the unity of trumps is a sure winner","from":"ace","to":"unity","pos":"noun","synsetId":"13764713-n","sourceCorpus":"corpus/tier2/human-examples-large.jsonl","provenance":"wordnet:13764713-n"}
@@ -2,8 +2,8 @@
2
2
  "version": 1,
3
3
  "generated": "by scripts/generate-template-variants.mjs",
4
4
  "file": "ace-surface-variants.jsonl",
5
- "rows": 18,
6
- "bytes": 5012,
7
- "sha256": "28fae5a3353f5dd1df365b4407e0ac2a5c66b98b232d8bf454fe3573f2c16760",
8
- "license": "CC-BY-4.0 (WordNet-derived synonym substitutions of Open English WordNet / SemCor example sentences and this repo's own MPL-2.0 docs prosesee corpus/generated/README.md)"
5
+ "rows": 21,
6
+ "bytes": 6417,
7
+ "sha256": "6e1daca10e43455608e5ee91ca41e20c5a1c5b0127f14ffd087c85580fe1f0ad",
8
+ "license": "CC-BY-SA-4.0 (WordNet-derived synonym substitutions of Open English WordNet / SemCor example sentences (CC-BY-4.0) and corpus/prose/, which includes CC-BY-SA-4.0 Wikipedia text. Share-alike is viral and the rescue rows quote and modify that text, so the combined file is CC-BY-SA-4.0 the stricter of the two. See corpus/prose/wikipedia/LICENSE-NOTICE and corpus/generated/README.md)"
9
9
  }