@inerrata-corporation/errata 2.0.0-dev.85 → 2.0.0-dev.86

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.
@@ -54,6 +54,13 @@ var init_castalia = __esm({
54
54
  "Paradigm",
55
55
  "DataStructure",
56
56
  "AgentModel",
57
+ // An OS executable / CLI program (`powercfg`, `git`, `docker` — SP-tooltopic).
58
+ // NAME-keyed identity (`toolCanonicalId`), deliberately unversioned: `powercfg`
59
+ // is one node across Windows builds; OS scoping rides `RUNS_ON`, packaging rides
60
+ // `PROVIDED_BY → Package`. Registry-verified before public minting (tldr-pages
61
+ // is the deps.dev analog) — an unverifiable name (typo, org-internal CLI) is
62
+ // skipped, never minted, so the verifier doubles as the privacy membrane.
63
+ "Tool",
57
64
  // An OPAQUE anchor identity in a project's stratum (PJ-anchors · plan §6c).
58
65
  // Deliberately NOT one of the CODE_NODE_LABELS below — those are the local code
59
66
  // graph and never cross. A cloud `Symbol` carries the salted `sym_` id and a
@@ -98,6 +105,9 @@ var init_castalia = __esm({
98
105
  "PROVIDED_BY",
99
106
  "SUPPORTS",
100
107
  "RUNS_ON",
108
+ // Tool spine (SP-tooltopic): knowledge → Tool anchor ("before calling X
109
+ // consider Y"). Hub-suppressed like OCCURS_IN — see EDGE_RULES for endpoints.
110
+ "CONCERNS",
101
111
  "IMPLEMENTATION_OF",
102
112
  "SUPERSEDED_BY",
103
113
  // canonical direction (older → newer) — Finding 1 fixed
@@ -248,6 +258,9 @@ var init_castalia = __esm({
248
258
  PROVIDED_BY: 0.4,
249
259
  SUPPORTS: 0.4,
250
260
  RUNS_ON: 0.4,
261
+ // Tool spine (SP-tooltopic): knowledge → Tool anchor, hub-suppressed like
262
+ // OCCURS_IN — a `git` node collects hundreds of anchors like `typescript` does.
263
+ CONCERNS: 0.3,
251
264
  IMPLEMENTATION_OF: 0.5,
252
265
  SUPERSEDED_BY: 0,
253
266
  WRITTEN_IN: 0.3,
@@ -15173,6 +15186,15 @@ var init_edge_rules = __esm({
15173
15186
  OCCURS_IN: { to: ["Language"] },
15174
15187
  OCCURS_ON: { to: ["OperatingSystem"] },
15175
15188
  RUNS_ON: { to: ["OperatingSystem"] },
15189
+ // ── Tool spine (SP-tooltopic) ──
15190
+ // CONCERNS is the knowledge→executable anchor ("before calling X consider Y"):
15191
+ // a Claim/Problem/Solution about a Tool hangs off its Tool node so it can be
15192
+ // recalled at the moment of invocation. New type, so constraining it invents
15193
+ // nothing. NOTE: `PROVIDED_BY` (Tool → Package packaging join) is deliberately
15194
+ // NOT ruled here — the type pre-exists with broader extractor senses, and a
15195
+ // new rule on an old type would reject legitimate live flows (reject-never-flip
15196
+ // cuts both ways: only rule types you introduce or senses that are documented).
15197
+ CONCERNS: { from: ["Problem", "Solution", "RootCause", "Claim", "Pattern"], to: ["Tool"] },
15176
15198
  OPERATES_ON: { from: ["Algorithm"], to: ["DataStructure"] },
15177
15199
  INVOLVES: { from: ["Problem", "Solution"], to: ["DataStructure"] },
15178
15200
  // ── Taxonomy (Track 4 Stream C: MITRE CWE `ChildOf` → `Weakness —IS_A→ Weakness`) ──
@@ -15247,6 +15269,9 @@ var init_wire = __esm({
15247
15269
  "Triage",
15248
15270
  "Claim",
15249
15271
  "AntiPattern",
15272
+ // Tool spine (SP-tooltopic): OS executables, minted by the stream-T importer
15273
+ // (tldr-verified) and referenced by agent CONCERNS anchors.
15274
+ "Tool",
15250
15275
  // PJ-anchors (§6c): the OPAQUE project anchor identity — salted `sym_` id +
15251
15276
  // coarse kind, no path, no qualified name. Writable ONLY on a batch with a
15252
15277
  // verified projectId; the ingest door rejects it outright otherwise, so its
package/errata.mjs CHANGED
@@ -104,6 +104,13 @@ var init_castalia = __esm({
104
104
  "Paradigm",
105
105
  "DataStructure",
106
106
  "AgentModel",
107
+ // An OS executable / CLI program (`powercfg`, `git`, `docker` — SP-tooltopic).
108
+ // NAME-keyed identity (`toolCanonicalId`), deliberately unversioned: `powercfg`
109
+ // is one node across Windows builds; OS scoping rides `RUNS_ON`, packaging rides
110
+ // `PROVIDED_BY → Package`. Registry-verified before public minting (tldr-pages
111
+ // is the deps.dev analog) — an unverifiable name (typo, org-internal CLI) is
112
+ // skipped, never minted, so the verifier doubles as the privacy membrane.
113
+ "Tool",
107
114
  // An OPAQUE anchor identity in a project's stratum (PJ-anchors · plan §6c).
108
115
  // Deliberately NOT one of the CODE_NODE_LABELS below — those are the local code
109
116
  // graph and never cross. A cloud `Symbol` carries the salted `sym_` id and a
@@ -148,6 +155,9 @@ var init_castalia = __esm({
148
155
  "PROVIDED_BY",
149
156
  "SUPPORTS",
150
157
  "RUNS_ON",
158
+ // Tool spine (SP-tooltopic): knowledge → Tool anchor ("before calling X
159
+ // consider Y"). Hub-suppressed like OCCURS_IN — see EDGE_RULES for endpoints.
160
+ "CONCERNS",
151
161
  "IMPLEMENTATION_OF",
152
162
  "SUPERSEDED_BY",
153
163
  // canonical direction (older → newer) — Finding 1 fixed
@@ -338,6 +348,9 @@ var init_castalia = __esm({
338
348
  PROVIDED_BY: 0.4,
339
349
  SUPPORTS: 0.4,
340
350
  RUNS_ON: 0.4,
351
+ // Tool spine (SP-tooltopic): knowledge → Tool anchor, hub-suppressed like
352
+ // OCCURS_IN — a `git` node collects hundreds of anchors like `typescript` does.
353
+ CONCERNS: 0.3,
341
354
  IMPLEMENTATION_OF: 0.5,
342
355
  SUPERSEDED_BY: 0,
343
356
  WRITTEN_IN: 0.3,
@@ -896,6 +909,12 @@ function genericCanonicalId(prefix, content) {
896
909
  function languageCanonicalId(name2) {
897
910
  return genericCanonicalId("Language", { name: name2.trim().toLowerCase() });
898
911
  }
912
+ function toolCanonicalId(name2) {
913
+ return genericCanonicalId("Tool", { name: name2.trim().toLowerCase() });
914
+ }
915
+ function operatingSystemCanonicalId(name2) {
916
+ return genericCanonicalId("OperatingSystem", { name: name2.trim().toLowerCase() });
917
+ }
899
918
  function packageCanonicalId(p) {
900
919
  const eco = p.ecosystem.toLowerCase();
901
920
  const name2 = eco === "npm" ? p.name.toLowerCase() : p.name;
@@ -15311,6 +15330,15 @@ var init_edge_rules = __esm({
15311
15330
  OCCURS_IN: { to: ["Language"] },
15312
15331
  OCCURS_ON: { to: ["OperatingSystem"] },
15313
15332
  RUNS_ON: { to: ["OperatingSystem"] },
15333
+ // ── Tool spine (SP-tooltopic) ──
15334
+ // CONCERNS is the knowledge→executable anchor ("before calling X consider Y"):
15335
+ // a Claim/Problem/Solution about a Tool hangs off its Tool node so it can be
15336
+ // recalled at the moment of invocation. New type, so constraining it invents
15337
+ // nothing. NOTE: `PROVIDED_BY` (Tool → Package packaging join) is deliberately
15338
+ // NOT ruled here — the type pre-exists with broader extractor senses, and a
15339
+ // new rule on an old type would reject legitimate live flows (reject-never-flip
15340
+ // cuts both ways: only rule types you introduce or senses that are documented).
15341
+ CONCERNS: { from: ["Problem", "Solution", "RootCause", "Claim", "Pattern"], to: ["Tool"] },
15314
15342
  OPERATES_ON: { from: ["Algorithm"], to: ["DataStructure"] },
15315
15343
  INVOLVES: { from: ["Problem", "Solution"], to: ["DataStructure"] },
15316
15344
  // ── Taxonomy (Track 4 Stream C: MITRE CWE `ChildOf` → `Weakness —IS_A→ Weakness`) ──
@@ -15508,6 +15536,9 @@ var init_wire = __esm({
15508
15536
  "Triage",
15509
15537
  "Claim",
15510
15538
  "AntiPattern",
15539
+ // Tool spine (SP-tooltopic): OS executables, minted by the stream-T importer
15540
+ // (tldr-verified) and referenced by agent CONCERNS anchors.
15541
+ "Tool",
15511
15542
  // PJ-anchors (§6c): the OPAQUE project anchor identity — salted `sym_` id +
15512
15543
  // coarse kind, no path, no qualified name. Writable ONLY on a batch with a
15513
15544
  // verified projectId; the ingest door rejects it outright otherwise, so its
@@ -15913,6 +15944,7 @@ __export(src_exports, {
15913
15944
  normalizeRepoLocator: () => normalizeRepoLocator,
15914
15945
  normalizeSymbolPath: () => normalizeSymbolPath,
15915
15946
  npmPurl: () => npmPurl,
15947
+ operatingSystemCanonicalId: () => operatingSystemCanonicalId,
15916
15948
  packageCanonicalId: () => packageCanonicalId,
15917
15949
  pagerankEdgeTypes: () => pagerankEdgeTypes,
15918
15950
  parsePackageLockJson: () => parsePackageLockJson,
@@ -15931,6 +15963,7 @@ __export(src_exports, {
15931
15963
  summarizeIngestResult: () => summarizeIngestResult,
15932
15964
  summaryRejectionReason: () => summaryRejectionReason,
15933
15965
  toCloudAttrs: () => toCloudAttrs,
15966
+ toolCanonicalId: () => toolCanonicalId,
15934
15967
  validateCastaliaPayload: () => validateCastaliaPayload,
15935
15968
  vetSidecarSummaries: () => vetSidecarSummaries
15936
15969
  });
@@ -43631,7 +43664,7 @@ function startLoopLagMonitor(thresholdMs = 1e3) {
43631
43664
  }
43632
43665
 
43633
43666
  // src/engine.ts
43634
- var DAEMON_VERSION = true ? "2.0.0-dev.85" : "2.0.0-alpha.0";
43667
+ var DAEMON_VERSION = true ? "2.0.0-dev.86" : "2.0.0-alpha.0";
43635
43668
  var IGNORED_PATH = /[\\/](?:\.git|node_modules|\.errata|\.claude|\.codex|\.cursor|\.turbo|\.next|dist|coverage|test-results|playwright-report|__pycache__)(?:[\\/]|$)/;
43636
43669
  var IGNORED_NOISE = /castalia\.db|eventlog\.sqlite|turn-cursors/;
43637
43670
  var GIT_OP_MUTE_MS = 4e3;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inerrata-corporation/errata",
3
- "version": "2.0.0-dev.85",
3
+ "version": "2.0.0-dev.86",
4
4
  "description": "errata - local-first observation engine for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {
package/pass-worker.mjs CHANGED
@@ -65,6 +65,13 @@ var init_castalia = __esm({
65
65
  "Paradigm",
66
66
  "DataStructure",
67
67
  "AgentModel",
68
+ // An OS executable / CLI program (`powercfg`, `git`, `docker` — SP-tooltopic).
69
+ // NAME-keyed identity (`toolCanonicalId`), deliberately unversioned: `powercfg`
70
+ // is one node across Windows builds; OS scoping rides `RUNS_ON`, packaging rides
71
+ // `PROVIDED_BY → Package`. Registry-verified before public minting (tldr-pages
72
+ // is the deps.dev analog) — an unverifiable name (typo, org-internal CLI) is
73
+ // skipped, never minted, so the verifier doubles as the privacy membrane.
74
+ "Tool",
68
75
  // An OPAQUE anchor identity in a project's stratum (PJ-anchors · plan §6c).
69
76
  // Deliberately NOT one of the CODE_NODE_LABELS below — those are the local code
70
77
  // graph and never cross. A cloud `Symbol` carries the salted `sym_` id and a
@@ -109,6 +116,9 @@ var init_castalia = __esm({
109
116
  "PROVIDED_BY",
110
117
  "SUPPORTS",
111
118
  "RUNS_ON",
119
+ // Tool spine (SP-tooltopic): knowledge → Tool anchor ("before calling X
120
+ // consider Y"). Hub-suppressed like OCCURS_IN — see EDGE_RULES for endpoints.
121
+ "CONCERNS",
112
122
  "IMPLEMENTATION_OF",
113
123
  "SUPERSEDED_BY",
114
124
  // canonical direction (older → newer) — Finding 1 fixed
@@ -299,6 +309,9 @@ var init_castalia = __esm({
299
309
  PROVIDED_BY: 0.4,
300
310
  SUPPORTS: 0.4,
301
311
  RUNS_ON: 0.4,
312
+ // Tool spine (SP-tooltopic): knowledge → Tool anchor, hub-suppressed like
313
+ // OCCURS_IN — a `git` node collects hundreds of anchors like `typescript` does.
314
+ CONCERNS: 0.3,
302
315
  IMPLEMENTATION_OF: 0.5,
303
316
  SUPERSEDED_BY: 0,
304
317
  WRITTEN_IN: 0.3,
@@ -15028,6 +15041,15 @@ var init_edge_rules = __esm({
15028
15041
  OCCURS_IN: { to: ["Language"] },
15029
15042
  OCCURS_ON: { to: ["OperatingSystem"] },
15030
15043
  RUNS_ON: { to: ["OperatingSystem"] },
15044
+ // ── Tool spine (SP-tooltopic) ──
15045
+ // CONCERNS is the knowledge→executable anchor ("before calling X consider Y"):
15046
+ // a Claim/Problem/Solution about a Tool hangs off its Tool node so it can be
15047
+ // recalled at the moment of invocation. New type, so constraining it invents
15048
+ // nothing. NOTE: `PROVIDED_BY` (Tool → Package packaging join) is deliberately
15049
+ // NOT ruled here — the type pre-exists with broader extractor senses, and a
15050
+ // new rule on an old type would reject legitimate live flows (reject-never-flip
15051
+ // cuts both ways: only rule types you introduce or senses that are documented).
15052
+ CONCERNS: { from: ["Problem", "Solution", "RootCause", "Claim", "Pattern"], to: ["Tool"] },
15031
15053
  OPERATES_ON: { from: ["Algorithm"], to: ["DataStructure"] },
15032
15054
  INVOLVES: { from: ["Problem", "Solution"], to: ["DataStructure"] },
15033
15055
  // ── Taxonomy (Track 4 Stream C: MITRE CWE `ChildOf` → `Weakness —IS_A→ Weakness`) ──
@@ -15102,6 +15124,9 @@ var init_wire = __esm({
15102
15124
  "Triage",
15103
15125
  "Claim",
15104
15126
  "AntiPattern",
15127
+ // Tool spine (SP-tooltopic): OS executables, minted by the stream-T importer
15128
+ // (tldr-verified) and referenced by agent CONCERNS anchors.
15129
+ "Tool",
15105
15130
  // PJ-anchors (§6c): the OPAQUE project anchor identity — salted `sym_` id +
15106
15131
  // coarse kind, no path, no qualified name. Writable ONLY on a batch with a
15107
15132
  // verified projectId; the ingest door rejects it outright otherwise, so its