@inerrata-corporation/errata 2.0.6-dev.2635 → 2.0.6-dev.2640

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 (2) hide show
  1. package/errata.mjs +17 -8
  2. package/package.json +1 -1
package/errata.mjs CHANGED
@@ -78515,7 +78515,7 @@ function createWatchBreaker(deps) {
78515
78515
  }
78516
78516
 
78517
78517
  // src/engine.ts
78518
- var DAEMON_VERSION = true ? "2.0.6-dev.2635" : "2.0.0-alpha.0";
78518
+ var DAEMON_VERSION = true ? "2.0.6-dev.2640" : "2.0.0-alpha.0";
78519
78519
  var IGNORED_PATH = /[\\/](?:\.git|node_modules|\.errata|\.claude|\.codex|\.cursor|\.turbo|\.next|dist|coverage|test-results|playwright-report|__pycache__)(?:[\\/]|$)/;
78520
78520
  var IGNORED_NOISE = /castalia\.db|eventlog\.sqlite|turn-cursors/;
78521
78521
  var GIT_OP_MUTE_MS = 4e3;
@@ -80559,9 +80559,11 @@ B: ${b}`,
80559
80559
  }
80560
80560
  return report;
80561
80561
  },
80562
- semanticMaintenance() {
80562
+ async semanticMaintenance() {
80563
+ const yieldLoop = () => new Promise((r) => setImmediate(r));
80563
80564
  const seqBefore = store.currentIngestSeq();
80564
80565
  const report = runSemanticMaintenance(store);
80566
+ await yieldLoop();
80565
80567
  let hintUpgrade = { upgraded: 0, standing: 0, unresolvable: 0, blocked: 0 };
80566
80568
  try {
80567
80569
  hintUpgrade = upgradeAnchorHints(store, profile.id, Date.now());
@@ -80586,6 +80588,7 @@ B: ${b}`,
80586
80588
  if (report.revisitsCleared > 0 || report.fixCandidatesSettled > 0 || report.designResolved > 0) {
80587
80589
  refreshContextNow();
80588
80590
  }
80591
+ await yieldLoop();
80589
80592
  try {
80590
80593
  const t0 = Date.now();
80591
80594
  appendPassLedger(
@@ -80596,6 +80599,7 @@ B: ${b}`,
80596
80599
  );
80597
80600
  } catch {
80598
80601
  }
80602
+ await yieldLoop();
80599
80603
  livenessWatch.maybeRun();
80600
80604
  return report;
80601
80605
  },
@@ -85955,12 +85959,12 @@ async function startMultiDaemon(opts = {}) {
85955
85959
  }
85956
85960
  return out2;
85957
85961
  },
85958
- semanticMaintenanceAll() {
85962
+ async semanticMaintenanceAll() {
85959
85963
  const out2 = /* @__PURE__ */ new Map();
85960
85964
  for (const r of records) {
85961
85965
  const done = markPass(`semantic:${r.entry.name}`);
85962
85966
  try {
85963
- out2.set(r.id, r.engine.semanticMaintenance());
85967
+ out2.set(r.id, await r.engine.semanticMaintenance());
85964
85968
  } catch (err2) {
85965
85969
  console.warn(
85966
85970
  `[errata] semantic maintenance failed for ${r.entry.name}: ${err2 instanceof Error ? err2.message : err2}`
@@ -90010,9 +90014,12 @@ async function cmdDash(args2) {
90010
90014
  }).catch(() => {
90011
90015
  });
90012
90016
  };
90013
- const runSemanticPass = (reason) => {
90017
+ let semanticRunning = false;
90018
+ const runSemanticPass = async (reason) => {
90019
+ if (semanticRunning) return;
90020
+ semanticRunning = true;
90014
90021
  try {
90015
- const reports = handle2.semanticMaintenanceAll();
90022
+ const reports = await handle2.semanticMaintenanceAll();
90016
90023
  let cleared = 0;
90017
90024
  let settled = 0;
90018
90025
  let raised = 0;
@@ -90028,6 +90035,8 @@ async function cmdDash(args2) {
90028
90035
  }
90029
90036
  } catch (err2) {
90030
90037
  console.warn(`[semantic] pass failed: ${err2 instanceof Error ? err2.message : err2}`);
90038
+ } finally {
90039
+ semanticRunning = false;
90031
90040
  }
90032
90041
  };
90033
90042
  const scheduleQuiescenceFlush = () => {
@@ -90039,7 +90048,7 @@ async function cmdDash(args2) {
90039
90048
  };
90040
90049
  const settleThenConsolidate = (reason, force) => {
90041
90050
  const flushed = runBoundaryFlush(reason);
90042
- setImmediate(() => runSemanticPass(reason));
90051
+ setImmediate(() => void runSemanticPass(reason));
90043
90052
  void flushed.finally(() => triggerConsolidation(force));
90044
90053
  };
90045
90054
  handle2.onSessionBoundary(() => settleThenConsolidate("session-end", true));
@@ -90276,7 +90285,7 @@ async function cmdDash(args2) {
90276
90285
  };
90277
90286
  triggerConsolidation = (force) => void maybeConsolidate(force);
90278
90287
  const nightlyInterval = setInterval(() => {
90279
- runSemanticPass("periodic");
90288
+ void runSemanticPass("periodic");
90280
90289
  triggerConsolidation(false);
90281
90290
  }, NIGHTLY_INTERVAL_MS);
90282
90291
  const shutdown = async (signal) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inerrata-corporation/errata",
3
- "version": "2.0.6-dev.2635",
3
+ "version": "2.0.6-dev.2640",
4
4
  "description": "errata - local-first observation engine for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {