@inerrata-corporation/errata 2.0.17-dev.3527 → 2.0.17-dev.3537

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 +19 -10
  2. package/package.json +1 -1
package/errata.mjs CHANGED
@@ -82432,7 +82432,7 @@ function createWatchBreaker(deps) {
82432
82432
  }
82433
82433
 
82434
82434
  // src/engine.ts
82435
- var DAEMON_VERSION = true ? "2.0.17-dev.3527" : "2.0.0-alpha.0";
82435
+ var DAEMON_VERSION = true ? "2.0.17-dev.3537" : "2.0.0-alpha.0";
82436
82436
  var IGNORED_PATH = /[\\/](?:\.git|node_modules|\.errata|\.claude|\.codex|\.cursor|\.turbo|\.next|dist|coverage|test-results|playwright-report|__pycache__)(?:[\\/]|$)/;
82437
82437
  var IGNORED_NOISE = /castalia\.db|eventlog\.sqlite|turn-cursors/;
82438
82438
  var GIT_OP_MUTE_MS = 4e3;
@@ -86864,9 +86864,12 @@ function applyHistoryCorrections(store, page) {
86864
86864
  const privacy = correction.action === "quarantine";
86865
86865
  const copies = privacy ? store.nodeHistory(current.logicalId ?? current.id) : [current];
86866
86866
  for (const node2 of copies) {
86867
- if (node2.attrs["source"] !== "cloud" || node2.attrs["cloudNodeId"] && node2.attrs["cloudNodeId"] !== correction.nodeId || Number(node2.attrs["historyCorrectionSeq"] ?? 0) >= correction.seq) continue;
86868
- const quality = { sourceSupport: correction.sourceSupport ?? (privacy ? "quarantined" : "unreviewed"), applicability: "unknown" };
86869
86867
  const historical = node2.extractionSource === "history-mined" || node2.attrs["extractionSource"] === "history-mined";
86868
+ const seen = Number(node2.attrs["historyCorrectionSeq"] ?? 0);
86869
+ const priorQuality = node2.attrs["historyQuality"];
86870
+ const staleLabels = seen === correction.seq && historical && node2.attrs["depVersions"] != null && !priorQuality?.["dependencyContext"];
86871
+ if (node2.attrs["source"] !== "cloud" || node2.attrs["cloudNodeId"] && node2.attrs["cloudNodeId"] !== correction.nodeId || seen >= correction.seq && !staleLabels) continue;
86872
+ const quality = { sourceSupport: correction.sourceSupport ?? (privacy ? "quarantined" : "unreviewed"), applicability: "unknown" };
86870
86873
  store.mergeNode({
86871
86874
  ...node2,
86872
86875
  lastUpdatedAt: Date.now(),
@@ -86875,6 +86878,7 @@ function applyHistoryCorrections(store, page) {
86875
86878
  ...privacy ? {} : projectWireAttrs(node2.attrs),
86876
86879
  source: "cloud",
86877
86880
  cloudNodeId: correction.nodeId,
86881
+ ...historical && !privacy ? { depVersions: null } : {},
86878
86882
  extractionSource: node2.extractionSource,
86879
86883
  historyQuality: quality,
86880
86884
  historyCorrectionSeq: correction.seq
@@ -87474,13 +87478,18 @@ async function syncHistoryRevisionPage(opts) {
87474
87478
  if (!node2 || node2.attrs["source"] !== "cloud" || node2.attrs["historyQuality"]?.["sourceSupport"] === "quarantined") continue;
87475
87479
  const receipt = response.receipts.find((r) => r.occurrenceId === occurrence.occurrenceId);
87476
87480
  const previous = node2.attrs["historyQuality"];
87477
- if (previous?.["evaluatedAtCommit"] === atCommit && previous["applicability"] === "applicable" && receipt.verdict !== "applicable" && previous["reconciliationEvidence"]?.["build"] === HISTORY_RECONCILE_BUILD) continue;
87478
- store.mergeNode({ ...node2, attrs: { ...node2.attrs, historyQuality: {
87479
- ...occurrence.quality,
87480
- evaluatedAtCommit: atCommit,
87481
- applicability: receipt.verdict,
87482
- reconciliationEvidence: receipt.evidence
87483
- } } });
87481
+ if (previous?.["evaluatedAtCommit"] === atCommit && previous["applicability"] === "applicable" && receipt.verdict !== "applicable" && previous["sourceReviewId"] === occurrence.quality["sourceReviewId"] && previous["dependencyReviewId"] === occurrence.quality["dependencyReviewId"] && historyDependencyIdentity(previous["dependencyContext"]) !== null && historyDependencyIdentity(previous["dependencyContext"]) === historyDependencyIdentity(occurrence.quality["dependencyContext"]) && previous["reconciliationEvidence"]?.["build"] === HISTORY_RECONCILE_BUILD) continue;
87482
+ const dependencies = HistoryDependencyContextSchema.safeParse(occurrence.quality["dependencyContext"]);
87483
+ store.mergeNode({ ...node2, attrs: {
87484
+ ...node2.attrs,
87485
+ depVersions: dependencies.success ? historyDependencyVersions(dependencies.data) : null,
87486
+ historyQuality: {
87487
+ ...occurrence.quality,
87488
+ evaluatedAtCommit: atCommit,
87489
+ applicability: receipt.verdict,
87490
+ reconciliationEvidence: receipt.evidence
87491
+ }
87492
+ } });
87484
87493
  changed++;
87485
87494
  }
87486
87495
  profile.historyRevisionCursor = { atCommit: sweepCommit, ...page.cursor ? { after: page.cursor } : {}, complete: page.cursor === null, updatedAt: Date.now() };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inerrata-corporation/errata",
3
- "version": "2.0.17-dev.3527",
3
+ "version": "2.0.17-dev.3537",
4
4
  "description": "errata - local-first observation engine for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {