@inerrata-corporation/errata 2.0.0-dev.67 → 2.0.0-dev.68

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.
@@ -15110,7 +15110,7 @@ var init_symbol_intent = __esm({
15110
15110
  });
15111
15111
 
15112
15112
  // ../../packages/shared/src/wire.ts
15113
- var CLOUD_NODE_LABELS, CLOUD_EDGE_TYPES, INGEST_SOURCES, INGEST_EXTRACTION_SOURCES, CastaliaIngestNodeSchema, RouteContextCountWireSchema, CastaliaIngestEdgeSchema, SymbolSummarySidecarSchema, CastaliaIngestPayloadSchema;
15113
+ var CLOUD_NODE_LABELS, CLOUD_WRITABLE_NODE_LABELS, CLOUD_WRITABLE_NODE_LABEL_SET, CLOUD_EDGE_TYPES, INGEST_SOURCES, INGEST_EXTRACTION_SOURCES, CastaliaIngestNodeSchema, RouteContextCountWireSchema, CastaliaIngestEdgeSchema, SymbolSummarySidecarSchema, CastaliaIngestPayloadSchema;
15114
15114
  var init_wire = __esm({
15115
15115
  "../../packages/shared/src/wire.ts"() {
15116
15116
  "use strict";
@@ -15122,6 +15122,28 @@ var init_wire = __esm({
15122
15122
  ...SEMANTIC_NODE_LABELS,
15123
15123
  ...CONTEXT_NODE_LABELS
15124
15124
  ];
15125
+ CLOUD_WRITABLE_NODE_LABELS = [
15126
+ "Problem",
15127
+ "Solution",
15128
+ "RootCause",
15129
+ "Component",
15130
+ "Symptom",
15131
+ "Pattern",
15132
+ "Vulnerability",
15133
+ "Exploit",
15134
+ "Weakness",
15135
+ "Package",
15136
+ "OperatingSystem",
15137
+ "Language",
15138
+ "Domain",
15139
+ "Algorithm",
15140
+ "Paradigm",
15141
+ "DataStructure",
15142
+ "Triage",
15143
+ "Claim",
15144
+ "AntiPattern"
15145
+ ];
15146
+ CLOUD_WRITABLE_NODE_LABEL_SET = new Set(CLOUD_WRITABLE_NODE_LABELS);
15125
15147
  CLOUD_EDGE_TYPES = ALL_EDGE_TYPES.filter(
15126
15148
  (e) => !CODE_EDGES.includes(e) && !GIT_EDGES.includes(e) && !BRIDGE_EDGES.includes(e)
15127
15149
  );
package/errata.mjs CHANGED
@@ -15365,6 +15365,9 @@ var init_symbol_intent = __esm({
15365
15365
  });
15366
15366
 
15367
15367
  // ../../packages/shared/src/wire.ts
15368
+ function isCloudWritableNodeLabel(label) {
15369
+ return CLOUD_WRITABLE_NODE_LABEL_SET.has(label);
15370
+ }
15368
15371
  function provenanceBand(source) {
15369
15372
  switch (source) {
15370
15373
  case "agent-observed":
@@ -15413,7 +15416,7 @@ function summarizeIngestResult(r) {
15413
15416
  ...r.patternReconciliation ? { patternReconciliation: r.patternReconciliation } : {}
15414
15417
  };
15415
15418
  }
15416
- var CLOUD_NODE_LABELS, CLOUD_EDGE_TYPES, INGEST_SOURCES, INGEST_EXTRACTION_SOURCES, MAX_NODES_PER_PAYLOAD, MAX_EDGES_PER_PAYLOAD, CastaliaIngestNodeSchema, RouteContextCountWireSchema, CastaliaIngestEdgeSchema, SymbolSummarySidecarSchema, CastaliaIngestPayloadSchema;
15419
+ var CLOUD_NODE_LABELS, CLOUD_WRITABLE_NODE_LABELS, CLOUD_WRITABLE_NODE_LABEL_SET, CLOUD_EDGE_TYPES, INGEST_SOURCES, INGEST_EXTRACTION_SOURCES, MAX_NODES_PER_PAYLOAD, MAX_EDGES_PER_PAYLOAD, CastaliaIngestNodeSchema, RouteContextCountWireSchema, CastaliaIngestEdgeSchema, SymbolSummarySidecarSchema, CastaliaIngestPayloadSchema;
15417
15420
  var init_wire = __esm({
15418
15421
  "../../packages/shared/src/wire.ts"() {
15419
15422
  "use strict";
@@ -15425,6 +15428,28 @@ var init_wire = __esm({
15425
15428
  ...SEMANTIC_NODE_LABELS,
15426
15429
  ...CONTEXT_NODE_LABELS
15427
15430
  ];
15431
+ CLOUD_WRITABLE_NODE_LABELS = [
15432
+ "Problem",
15433
+ "Solution",
15434
+ "RootCause",
15435
+ "Component",
15436
+ "Symptom",
15437
+ "Pattern",
15438
+ "Vulnerability",
15439
+ "Exploit",
15440
+ "Weakness",
15441
+ "Package",
15442
+ "OperatingSystem",
15443
+ "Language",
15444
+ "Domain",
15445
+ "Algorithm",
15446
+ "Paradigm",
15447
+ "DataStructure",
15448
+ "Triage",
15449
+ "Claim",
15450
+ "AntiPattern"
15451
+ ];
15452
+ CLOUD_WRITABLE_NODE_LABEL_SET = new Set(CLOUD_WRITABLE_NODE_LABELS);
15428
15453
  CLOUD_EDGE_TYPES = ALL_EDGE_TYPES.filter(
15429
15454
  (e) => !CODE_EDGES.includes(e) && !GIT_EDGES.includes(e) && !BRIDGE_EDGES.includes(e)
15430
15455
  );
@@ -15575,6 +15600,7 @@ __export(src_exports, {
15575
15600
  CAUSAL_PROTECT_EDGES: () => CAUSAL_PROTECT_EDGES,
15576
15601
  CLOUD_EDGE_TYPES: () => CLOUD_EDGE_TYPES,
15577
15602
  CLOUD_NODE_LABELS: () => CLOUD_NODE_LABELS,
15603
+ CLOUD_WRITABLE_NODE_LABELS: () => CLOUD_WRITABLE_NODE_LABELS,
15578
15604
  CODE_EDGES: () => CODE_EDGES,
15579
15605
  CODE_NODE_LABELS: () => CODE_NODE_LABELS,
15580
15606
  CONCEPTUAL_EDGES: () => CONCEPTUAL_EDGES,
@@ -15628,6 +15654,7 @@ __export(src_exports, {
15628
15654
  genericCanonicalId: () => genericCanonicalId,
15629
15655
  identityId: () => identityId,
15630
15656
  isCausalProtected: () => isCausalProtected,
15657
+ isCloudWritableNodeLabel: () => isCloudWritableNodeLabel,
15631
15658
  isCodeLabel: () => isCodeLabel,
15632
15659
  isContextLabel: () => isContextLabel,
15633
15660
  isInferredSource: () => isInferredSource,
@@ -20727,7 +20754,10 @@ function sidecarForNodes(sidecar, nodes) {
20727
20754
  return count > 0 ? filtered : void 0;
20728
20755
  }
20729
20756
  function toWirePayload(batch, runId) {
20730
- const nodes = batch.nodes.map((n) => ({
20757
+ const droppedNodeIds = new Set(
20758
+ batch.nodes.filter((n) => !isCloudWritableNodeLabel(n.label)).map((n) => n.id)
20759
+ );
20760
+ const nodes = batch.nodes.filter((n) => !droppedNodeIds.has(n.id)).map((n) => ({
20731
20761
  canonicalId: n.id,
20732
20762
  label: n.label,
20733
20763
  description: n.description,
@@ -20736,7 +20766,7 @@ function toWirePayload(batch, runId) {
20736
20766
  attrs: n.attrs ?? {},
20737
20767
  extractionSource: n.extractionSource
20738
20768
  }));
20739
- const edges = batch.edges.map((e) => {
20769
+ const edges = batch.edges.filter((e) => !droppedNodeIds.has(e.from) && !droppedNodeIds.has(e.to)).map((e) => {
20740
20770
  const perContext = wirePerContext(e.attrs?.["perContext"]);
20741
20771
  return {
20742
20772
  fromCanonicalId: e.from,
@@ -37436,6 +37466,12 @@ async function flushOutbox(paths, client, store) {
37436
37466
  }
37437
37467
  try {
37438
37468
  const res = await client.ingest(payload);
37469
+ if (res.accepted > 0) uploaded++;
37470
+ if (res.rejected > 0) {
37471
+ failed++;
37472
+ quarantine(abs, `semantic rejection (${res.rejected} item${res.rejected === 1 ? "" : "s"})`);
37473
+ continue;
37474
+ }
37439
37475
  if (store && res.patternReconciliation) {
37440
37476
  for (const [provId, canonId] of Object.entries(res.patternReconciliation)) {
37441
37477
  const n = store.getNode(provId);
@@ -37447,7 +37483,7 @@ async function flushOutbox(paths, client, store) {
37447
37483
  }
37448
37484
  }
37449
37485
  unlinkSync(abs);
37450
- uploaded++;
37486
+ if (res.accepted === 0) uploaded++;
37451
37487
  } catch (err2) {
37452
37488
  failed++;
37453
37489
  const status = err2.status;
@@ -42904,7 +42940,7 @@ function startLoopLagMonitor(thresholdMs = 1e3) {
42904
42940
  }
42905
42941
 
42906
42942
  // src/engine.ts
42907
- var DAEMON_VERSION = true ? "2.0.0-dev.67" : "2.0.0-alpha.0";
42943
+ var DAEMON_VERSION = true ? "2.0.0-dev.68" : "2.0.0-alpha.0";
42908
42944
  var IGNORED_PATH = /[\\/](?:\.git|node_modules|\.errata|\.claude|\.codex|\.cursor|\.turbo|\.next|dist|coverage|test-results|playwright-report|__pycache__)(?:[\\/]|$)/;
42909
42945
  var IGNORED_NOISE = /castalia\.db|eventlog\.sqlite|turn-cursors/;
42910
42946
  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.67",
3
+ "version": "2.0.0-dev.68",
4
4
  "description": "errata - local-first observation engine for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {
package/pass-worker.mjs CHANGED
@@ -14958,7 +14958,7 @@ var init_symbol_intent = __esm({
14958
14958
  });
14959
14959
 
14960
14960
  // ../../packages/shared/src/wire.ts
14961
- var CLOUD_NODE_LABELS, CLOUD_EDGE_TYPES, INGEST_SOURCES, INGEST_EXTRACTION_SOURCES, CastaliaIngestNodeSchema, RouteContextCountWireSchema, CastaliaIngestEdgeSchema, SymbolSummarySidecarSchema, CastaliaIngestPayloadSchema;
14961
+ var CLOUD_NODE_LABELS, CLOUD_WRITABLE_NODE_LABELS, CLOUD_WRITABLE_NODE_LABEL_SET, CLOUD_EDGE_TYPES, INGEST_SOURCES, INGEST_EXTRACTION_SOURCES, CastaliaIngestNodeSchema, RouteContextCountWireSchema, CastaliaIngestEdgeSchema, SymbolSummarySidecarSchema, CastaliaIngestPayloadSchema;
14962
14962
  var init_wire = __esm({
14963
14963
  "../../packages/shared/src/wire.ts"() {
14964
14964
  "use strict";
@@ -14970,6 +14970,28 @@ var init_wire = __esm({
14970
14970
  ...SEMANTIC_NODE_LABELS,
14971
14971
  ...CONTEXT_NODE_LABELS
14972
14972
  ];
14973
+ CLOUD_WRITABLE_NODE_LABELS = [
14974
+ "Problem",
14975
+ "Solution",
14976
+ "RootCause",
14977
+ "Component",
14978
+ "Symptom",
14979
+ "Pattern",
14980
+ "Vulnerability",
14981
+ "Exploit",
14982
+ "Weakness",
14983
+ "Package",
14984
+ "OperatingSystem",
14985
+ "Language",
14986
+ "Domain",
14987
+ "Algorithm",
14988
+ "Paradigm",
14989
+ "DataStructure",
14990
+ "Triage",
14991
+ "Claim",
14992
+ "AntiPattern"
14993
+ ];
14994
+ CLOUD_WRITABLE_NODE_LABEL_SET = new Set(CLOUD_WRITABLE_NODE_LABELS);
14973
14995
  CLOUD_EDGE_TYPES = ALL_EDGE_TYPES.filter(
14974
14996
  (e) => !CODE_EDGES.includes(e) && !GIT_EDGES.includes(e) && !BRIDGE_EDGES.includes(e)
14975
14997
  );