@inerrata-corporation/errata 2.0.17-dev.3416 → 2.0.17-dev.3426

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inerrata-corporation/errata",
3
- "version": "2.0.17-dev.3416",
3
+ "version": "2.0.17-dev.3426",
4
4
  "description": "errata - local-first observation engine for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {
package/pass-worker.mjs CHANGED
@@ -28833,11 +28833,13 @@ function buildSnapshot(opts) {
28833
28833
  const stillOpen = problems.filter((p) => p.attrs["resolvedAt"] == null);
28834
28834
  const allProblems = stillOpen.filter((p) => !isConstraintProblem(p));
28835
28835
  allProblems.sort((a, b) => b.lastUpdatedAt - a.lastUpdatedAt);
28836
- const recent = allProblems.slice(0, 8).map((p) => ({
28836
+ const openPool = allProblems.slice(0, RECENT_OPEN * SCOPE_POOL_FACTOR).map((p) => ({
28837
28837
  node: p,
28838
28838
  anchors: opts.store.outEdges(p.id, ["MANIFESTED_IN", "EVIDENCED_BY"])
28839
28839
  }));
28840
- const recentConstraints = stillOpen.filter((p) => isConstraintProblem(p)).sort((a, b) => b.lastUpdatedAt - a.lastUpdatedAt).slice(0, 3);
28840
+ const recent = openPool.slice(0, RECENT_OPEN);
28841
+ const constraintPool = stillOpen.filter((p) => isConstraintProblem(p)).sort((a, b) => b.lastUpdatedAt - a.lastUpdatedAt).slice(0, RECENT_CONSTRAINTS * SCOPE_POOL_FACTOR);
28842
+ const recentConstraints = constraintPool.slice(0, RECENT_CONSTRAINTS);
28841
28843
  const regressions = problems.filter((p) => p.attrs["resolvedAt"] == null && p.attrs["mergedInto"] === void 0).flatMap(
28842
28844
  (open) => opts.store.outEdges(open.id, ["REGRESSION_OF"]).flatMap((e) => {
28843
28845
  const closed = opts.store.getNode(e.to);
@@ -28850,11 +28852,12 @@ function buildSnapshot(opts) {
28850
28852
  })
28851
28853
  ).sort((a, b) => Number(b.closed.attrs["recurredAt"] ?? 0) - Number(a.closed.attrs["recurredAt"] ?? 0)).slice(0, 2);
28852
28854
  const regressionClosedIds = new Set(regressions.map((r) => r.closed.id));
28853
- const recentResolved = problems.filter((p) => p.attrs["resolvedAt"] != null && p.attrs["resolvedAs"] == null).filter((p) => !regressionClosedIds.has(p.id)).sort((a, b) => Number(b.attrs["resolvedAt"] ?? 0) - Number(a.attrs["resolvedAt"] ?? 0)).slice(0, 4).map((p) => {
28855
+ const resolvedPool = problems.filter((p) => p.attrs["resolvedAt"] != null && p.attrs["resolvedAs"] == null).filter((p) => !regressionClosedIds.has(p.id)).sort((a, b) => Number(b.attrs["resolvedAt"] ?? 0) - Number(a.attrs["resolvedAt"] ?? 0)).slice(0, RECENT_RESOLVED * SCOPE_POOL_FACTOR).map((p) => {
28854
28856
  const solEdge = opts.store.outEdges(p.id, ["SOLVED_BY"])[0];
28855
28857
  const solution = solEdge ? opts.store.getNode(solEdge.to) ?? void 0 : void 0;
28856
28858
  return { node: p, ...solution ? { solution } : {} };
28857
28859
  });
28860
+ const recentResolved = resolvedPool.slice(0, RECENT_RESOLVED);
28858
28861
  const motifs = [
28859
28862
  ...opts.store.findNodesByLabel("Pattern"),
28860
28863
  ...opts.store.findNodesByLabel("Technique"),
@@ -28932,9 +28935,14 @@ function buildSnapshot(opts) {
28932
28935
  pendingEnrichment,
28933
28936
  skills: opts.skills ?? [],
28934
28937
  needsRevisit,
28938
+ scopePool: { open: openPool, resolved: resolvedPool, constraints: constraintPool },
28935
28939
  generatedAt: (opts.now ?? /* @__PURE__ */ new Date()).toISOString()
28936
28940
  };
28937
28941
  }
28942
+ var RECENT_OPEN = 8;
28943
+ var RECENT_RESOLVED = 4;
28944
+ var RECENT_CONSTRAINTS = 3;
28945
+ var SCOPE_POOL_FACTOR = 3;
28938
28946
  function sliceForFile(store2, relPath, atCommit) {
28939
28947
  const candidates = store2.findNodesByLabel("File");
28940
28948
  const file2 = candidates.find((n) => n.description === relPath);