@inerrata-corporation/errata 2.0.22-dev.4629 → 2.0.22-dev.4630

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.
@@ -17903,6 +17903,10 @@ CREATE INDEX IF NOT EXISTS edges_live_prior_tag ON edges(created_at) WHERE valid
17903
17903
  -- incremental reindex can fetch just the changed files' symbols instead of
17904
17904
  -- scanning every versioned node. Partial: only live rows are ever queried.
17905
17905
  CREATE INDEX IF NOT EXISTS nodes_relpath ON nodes(json_extract(attrs_json, '$.relPath')) WHERE valid_to IS NULL;
17906
+ -- Closed rows by relPath, for reviveReobserved (every incremental reindex): the
17907
+ -- live-only index above cannot serve it, so it scanned the whole table (~275 MB
17908
+ -- of a 1.1 GB store per reindex, 2026-10-20).
17909
+ CREATE INDEX IF NOT EXISTS nodes_closed_relpath ON nodes(json_extract(attrs_json, '$.relPath'), last_updated_at) WHERE valid_to IS NOT NULL;
17906
17910
  -- Live rows by name, for looking up the few symbols a statement mentions
17907
17911
  -- instead of hydrating every code symbol per minted problem.
17908
17912
  CREATE INDEX IF NOT EXISTS nodes_live_description ON nodes(description, label) WHERE valid_to IS NULL;
package/errata.mjs CHANGED
@@ -20812,6 +20812,10 @@ CREATE INDEX IF NOT EXISTS edges_live_prior_tag ON edges(created_at) WHERE valid
20812
20812
  -- incremental reindex can fetch just the changed files' symbols instead of
20813
20813
  -- scanning every versioned node. Partial: only live rows are ever queried.
20814
20814
  CREATE INDEX IF NOT EXISTS nodes_relpath ON nodes(json_extract(attrs_json, '$.relPath')) WHERE valid_to IS NULL;
20815
+ -- Closed rows by relPath, for reviveReobserved (every incremental reindex): the
20816
+ -- live-only index above cannot serve it, so it scanned the whole table (~275 MB
20817
+ -- of a 1.1 GB store per reindex, 2026-10-20).
20818
+ CREATE INDEX IF NOT EXISTS nodes_closed_relpath ON nodes(json_extract(attrs_json, '$.relPath'), last_updated_at) WHERE valid_to IS NOT NULL;
20815
20819
  -- Live rows by name, for looking up the few symbols a statement mentions
20816
20820
  -- instead of hydrating every code symbol per minted problem.
20817
20821
  CREATE INDEX IF NOT EXISTS nodes_live_description ON nodes(description, label) WHERE valid_to IS NULL;
@@ -39094,7 +39098,13 @@ async function runIndexer(store, opts) {
39094
39098
  }
39095
39099
  }
39096
39100
  perf(`parse (${report.filesParsed} parsed, ${report.filesSkipped} skipped)`);
39097
- const exportsByFile = /* @__PURE__ */ new Map();
39101
+ const pendingExports = /* @__PURE__ */ new Set();
39102
+ const exportsByFile = new class extends Map {
39103
+ get(relPath) {
39104
+ if (pendingExports.delete(relPath)) super.set(relPath, graphExportMap(store, opts.workspaceId, relPath));
39105
+ return super.get(relPath);
39106
+ }
39107
+ }();
39098
39108
  const importsByFile = /* @__PURE__ */ new Map();
39099
39109
  for (const [relPath, symbols] of symbolsByFile) {
39100
39110
  const localExports = /* @__PURE__ */ new Map();
@@ -39118,7 +39128,8 @@ async function runIndexer(store, opts) {
39118
39128
  if (scope !== void 0) {
39119
39129
  for (const f of files) {
39120
39130
  if (inScope(f.relPath) || exportsByFile.has(f.relPath)) continue;
39121
- exportsByFile.set(f.relPath, graphExportMap(store, opts.workspaceId, f.relPath));
39131
+ exportsByFile.set(f.relPath, /* @__PURE__ */ new Map());
39132
+ pendingExports.add(f.relPath);
39122
39133
  }
39123
39134
  }
39124
39135
  const workspacePackages = /* @__PURE__ */ new Map();
@@ -86845,7 +86856,7 @@ function createWatchBreaker(deps) {
86845
86856
  }
86846
86857
 
86847
86858
  // src/engine.ts
86848
- var DAEMON_VERSION = true ? "2.0.22-dev.4629" : "2.0.0-alpha.0";
86859
+ var DAEMON_VERSION = true ? "2.0.22-dev.4630" : "2.0.0-alpha.0";
86849
86860
  var IGNORED_PATH = /[\\/](?:\.git|node_modules|\.errata|\.claude|\.codex|\.cursor|\.turbo|\.next|dist|coverage|test-results|playwright-report|__pycache__)(?:[\\/]|$)/;
86850
86861
  var IGNORED_NOISE = /castalia\.db|eventlog\.sqlite|turn-cursors/;
86851
86862
  var GIT_OP_MUTE_MS = 4e3;
@@ -16300,6 +16300,10 @@ CREATE INDEX IF NOT EXISTS edges_live_prior_tag ON edges(created_at) WHERE valid
16300
16300
  -- incremental reindex can fetch just the changed files' symbols instead of
16301
16301
  -- scanning every versioned node. Partial: only live rows are ever queried.
16302
16302
  CREATE INDEX IF NOT EXISTS nodes_relpath ON nodes(json_extract(attrs_json, '$.relPath')) WHERE valid_to IS NULL;
16303
+ -- Closed rows by relPath, for reviveReobserved (every incremental reindex): the
16304
+ -- live-only index above cannot serve it, so it scanned the whole table (~275 MB
16305
+ -- of a 1.1 GB store per reindex, 2026-10-20).
16306
+ CREATE INDEX IF NOT EXISTS nodes_closed_relpath ON nodes(json_extract(attrs_json, '$.relPath'), last_updated_at) WHERE valid_to IS NOT NULL;
16303
16307
  -- Live rows by name, for looking up the few symbols a statement mentions
16304
16308
  -- instead of hydrating every code symbol per minted problem.
16305
16309
  CREATE INDEX IF NOT EXISTS nodes_live_description ON nodes(description, label) WHERE valid_to IS NULL;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inerrata-corporation/errata",
3
- "version": "2.0.22-dev.4629",
3
+ "version": "2.0.22-dev.4630",
4
4
  "description": "errata - local-first observation engine for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {
package/pass-worker.mjs CHANGED
@@ -17905,7 +17905,13 @@ async function runIndexer(store2, opts) {
17905
17905
  }
17906
17906
  }
17907
17907
  perf(`parse (${report.filesParsed} parsed, ${report.filesSkipped} skipped)`);
17908
- const exportsByFile = /* @__PURE__ */ new Map();
17908
+ const pendingExports = /* @__PURE__ */ new Set();
17909
+ const exportsByFile = new class extends Map {
17910
+ get(relPath) {
17911
+ if (pendingExports.delete(relPath)) super.set(relPath, graphExportMap(store2, opts.workspaceId, relPath));
17912
+ return super.get(relPath);
17913
+ }
17914
+ }();
17909
17915
  const importsByFile = /* @__PURE__ */ new Map();
17910
17916
  for (const [relPath, symbols] of symbolsByFile) {
17911
17917
  const localExports = /* @__PURE__ */ new Map();
@@ -17929,7 +17935,8 @@ async function runIndexer(store2, opts) {
17929
17935
  if (scope !== void 0) {
17930
17936
  for (const f of files) {
17931
17937
  if (inScope(f.relPath) || exportsByFile.has(f.relPath)) continue;
17932
- exportsByFile.set(f.relPath, graphExportMap(store2, opts.workspaceId, f.relPath));
17938
+ exportsByFile.set(f.relPath, /* @__PURE__ */ new Map());
17939
+ pendingExports.add(f.relPath);
17933
17940
  }
17934
17941
  }
17935
17942
  const workspacePackages = /* @__PURE__ */ new Map();
@@ -27168,6 +27175,10 @@ CREATE INDEX IF NOT EXISTS edges_live_prior_tag ON edges(created_at) WHERE valid
27168
27175
  -- incremental reindex can fetch just the changed files' symbols instead of
27169
27176
  -- scanning every versioned node. Partial: only live rows are ever queried.
27170
27177
  CREATE INDEX IF NOT EXISTS nodes_relpath ON nodes(json_extract(attrs_json, '$.relPath')) WHERE valid_to IS NULL;
27178
+ -- Closed rows by relPath, for reviveReobserved (every incremental reindex): the
27179
+ -- live-only index above cannot serve it, so it scanned the whole table (~275 MB
27180
+ -- of a 1.1 GB store per reindex, 2026-10-20).
27181
+ CREATE INDEX IF NOT EXISTS nodes_closed_relpath ON nodes(json_extract(attrs_json, '$.relPath'), last_updated_at) WHERE valid_to IS NOT NULL;
27171
27182
  -- Live rows by name, for looking up the few symbols a statement mentions
27172
27183
  -- instead of hydrating every code symbol per minted problem.
27173
27184
  CREATE INDEX IF NOT EXISTS nodes_live_description ON nodes(description, label) WHERE valid_to IS NULL;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "errata-context",
3
- "version": "2.0.22-dev.4629",
3
+ "version": "2.0.22-dev.4630",
4
4
  "description": "A minimal 3D view of loaded Errata priors and recent graph bursts.",
5
5
  "author": {
6
6
  "name": "inErrata"
@@ -1,4 +1,4 @@
1
- 6116713b2c7fa083cb68622899bbfe5c62167d3c1b8d6d62ec2c81e4cc391baa .codex-plugin/plugin.json
1
+ c1fadeab6f8e468c4a68d145040bb552c2a78a8506e06fa9fc87e3f8fd6eef10 .codex-plugin/plugin.json
2
2
  a7bebae9fb01c838d6c75fc784129e28be571233fa66ff5ee8039b574f35ccf7 assets/icon.png
3
3
  fc38b64e4df1e0b72c35764bef6c4c05430d97c9009ad0ecc8a9e75b4deab232 configure-local.mjs
4
4
  73dc6028b3b070257c7c31f252d11e55a9e096f4aed0f187f10cb21716e1e6d7 dist/client.js