@inerrata-corporation/errata 2.0.0-dev.72 → 2.0.0-dev.74

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.
@@ -15219,6 +15219,18 @@ var init_wire = __esm({
15219
15219
  * self-refute from an independent one. Optional + additive — absent is
15220
15220
  * exactly today's wire (and leaves the gate fail-open for that node). */
15221
15221
  originProject: external_exports.string().min(1).max(120).optional(),
15222
+ /** PJ-write · PLAN_PROJECT_STORE §5/§5a — the console project uuid this batch
15223
+ * is contributed TO. Distinct from `originProject` above, which is the salted
15224
+ * `wp_…` per-checkout workspace id (a refute-gate origin key, not an
15225
+ * audience): this one names a stratum and IS an audience assertion.
15226
+ *
15227
+ * Asserted per-request because it cannot ride the 15-min gateway JWT — one
15228
+ * daemon credential serves N projects. The door verifies it server-side
15229
+ * against the projected link record (owning org must equal the caller's
15230
+ * identity-derived org) and REJECTS the batch if it can't, so naming a
15231
+ * project you don't belong to buys nothing. Optional + additive — absent is
15232
+ * exactly today's wire, routing to org/team/public as before. */
15233
+ projectId: external_exports.string().min(1).max(120).optional(),
15222
15234
  nodes: external_exports.array(CastaliaIngestNodeSchema).max(1e3),
15223
15235
  edges: external_exports.array(CastaliaIngestEdgeSchema).max(5e3),
15224
15236
  /** Optional symbol→intent-summary sidecar (PP-symbol-intent). Only symbols
@@ -15235,6 +15247,14 @@ var init_repo_locator = __esm({
15235
15247
  }
15236
15248
  });
15237
15249
 
15250
+ // ../../packages/shared/src/project-symbol.ts
15251
+ var init_project_symbol = __esm({
15252
+ "../../packages/shared/src/project-symbol.ts"() {
15253
+ "use strict";
15254
+ init_hash();
15255
+ }
15256
+ });
15257
+
15238
15258
  // ../../packages/shared/src/nlp/canonicalize.ts
15239
15259
  var init_canonicalize = __esm({
15240
15260
  "../../packages/shared/src/nlp/canonicalize.ts"() {
@@ -15270,6 +15290,7 @@ var init_src = __esm({
15270
15290
  init_edge_rules();
15271
15291
  init_symbol_intent();
15272
15292
  init_repo_locator();
15293
+ init_project_symbol();
15273
15294
  init_hash();
15274
15295
  init_error_signature();
15275
15296
  init_canonicalize();
package/errata.mjs CHANGED
@@ -15388,7 +15388,11 @@ var init_symbol_intent = __esm({
15388
15388
  function isCloudWritableNodeLabel(label) {
15389
15389
  return CLOUD_WRITABLE_NODE_LABEL_SET.has(label);
15390
15390
  }
15391
+ function isQuarantinedExtractionSource(source) {
15392
+ return typeof source === "string" && source.startsWith(QUARANTINE_EXTRACTION_SOURCE_PREFIX);
15393
+ }
15391
15394
  function provenanceBand(source) {
15395
+ if (isQuarantinedExtractionSource(source)) return "seed";
15392
15396
  switch (source) {
15393
15397
  case "agent-observed":
15394
15398
  case "user-edited":
@@ -15436,7 +15440,7 @@ function summarizeIngestResult(r) {
15436
15440
  ...r.patternReconciliation ? { patternReconciliation: r.patternReconciliation } : {}
15437
15441
  };
15438
15442
  }
15439
- 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;
15443
+ var CLOUD_NODE_LABELS, CLOUD_WRITABLE_NODE_LABELS, CLOUD_WRITABLE_NODE_LABEL_SET, CLOUD_EDGE_TYPES, INGEST_SOURCES, INGEST_EXTRACTION_SOURCES, QUARANTINE_EXTRACTION_SOURCE_PREFIX, MAX_NODES_PER_PAYLOAD, MAX_EDGES_PER_PAYLOAD, CastaliaIngestNodeSchema, RouteContextCountWireSchema, CastaliaIngestEdgeSchema, SymbolSummarySidecarSchema, CastaliaIngestPayloadSchema;
15440
15444
  var init_wire = __esm({
15441
15445
  "../../packages/shared/src/wire.ts"() {
15442
15446
  "use strict";
@@ -15481,6 +15485,7 @@ var init_wire = __esm({
15481
15485
  "cold-start-seed",
15482
15486
  "user-edited"
15483
15487
  ];
15488
+ QUARANTINE_EXTRACTION_SOURCE_PREFIX = "quarantined:";
15484
15489
  MAX_NODES_PER_PAYLOAD = 200;
15485
15490
  MAX_EDGES_PER_PAYLOAD = 500;
15486
15491
  CastaliaIngestNodeSchema = external_exports.object({
@@ -15534,6 +15539,18 @@ var init_wire = __esm({
15534
15539
  * self-refute from an independent one. Optional + additive — absent is
15535
15540
  * exactly today's wire (and leaves the gate fail-open for that node). */
15536
15541
  originProject: external_exports.string().min(1).max(120).optional(),
15542
+ /** PJ-write · PLAN_PROJECT_STORE §5/§5a — the console project uuid this batch
15543
+ * is contributed TO. Distinct from `originProject` above, which is the salted
15544
+ * `wp_…` per-checkout workspace id (a refute-gate origin key, not an
15545
+ * audience): this one names a stratum and IS an audience assertion.
15546
+ *
15547
+ * Asserted per-request because it cannot ride the 15-min gateway JWT — one
15548
+ * daemon credential serves N projects. The door verifies it server-side
15549
+ * against the projected link record (owning org must equal the caller's
15550
+ * identity-derived org) and REJECTS the batch if it can't, so naming a
15551
+ * project you don't belong to buys nothing. Optional + additive — absent is
15552
+ * exactly today's wire, routing to org/team/public as before. */
15553
+ projectId: external_exports.string().min(1).max(120).optional(),
15537
15554
  nodes: external_exports.array(CastaliaIngestNodeSchema).max(1e3),
15538
15555
  edges: external_exports.array(CastaliaIngestEdgeSchema).max(5e3),
15539
15556
  /** Optional symbol→intent-summary sidecar (PP-symbol-intent). Only symbols
@@ -15579,6 +15596,21 @@ var init_repo_locator = __esm({
15579
15596
  }
15580
15597
  });
15581
15598
 
15599
+ // ../../packages/shared/src/project-symbol.ts
15600
+ function normalizeSymbolPath(relPath) {
15601
+ return relPath.replace(/\\/g, "/").replace(/\/+/g, "/").replace(/^\.\//, "").replace(/^\//, "");
15602
+ }
15603
+ function projectSymbolId(projectId, relPath, qname, kind) {
15604
+ const path2 = normalizeSymbolPath(relPath);
15605
+ return `sym_${sha256(`${projectId}:${path2}:${qname}:${kind}`).slice(0, 24)}`;
15606
+ }
15607
+ var init_project_symbol = __esm({
15608
+ "../../packages/shared/src/project-symbol.ts"() {
15609
+ "use strict";
15610
+ init_hash();
15611
+ }
15612
+ });
15613
+
15582
15614
  // ../../packages/shared/src/nlp/canonicalize.ts
15583
15615
  function canonicalize(value) {
15584
15616
  return value.normalize("NFC").trim().toLowerCase().replace(/\s+/g, " ");
@@ -15645,6 +15677,7 @@ __export(src_exports, {
15645
15677
  MAX_SYMBOL_SUMMARY_CHARS: () => MAX_SYMBOL_SUMMARY_CHARS,
15646
15678
  PAGERANK_EXCLUSIONS: () => PAGERANK_EXCLUSIONS,
15647
15679
  PROBLEM_RESOLUTION: () => PROBLEM_RESOLUTION,
15680
+ QUARANTINE_EXTRACTION_SOURCE_PREFIX: () => QUARANTINE_EXTRACTION_SOURCE_PREFIX,
15648
15681
  RESOLUTION_EDGES: () => RESOLUTION_EDGES,
15649
15682
  RouteContextCountWireSchema: () => RouteContextCountWireSchema,
15650
15683
  SEMANTIC_NODE_LABELS: () => SEMANTIC_NODE_LABELS,
@@ -15680,6 +15713,7 @@ __export(src_exports, {
15680
15713
  isCodeLabel: () => isCodeLabel,
15681
15714
  isContextLabel: () => isContextLabel,
15682
15715
  isInferredSource: () => isInferredSource,
15716
+ isQuarantinedExtractionSource: () => isQuarantinedExtractionSource,
15683
15717
  isSeedProvenance: () => isSeedProvenance,
15684
15718
  isSemanticLabel: () => isSemanticLabel,
15685
15719
  isTestRelPath: () => isTestRelPath,
@@ -15690,11 +15724,13 @@ __export(src_exports, {
15690
15724
  normalizeExtractionSource: () => normalizeExtractionSource,
15691
15725
  normalizePredicate: () => normalizePredicate,
15692
15726
  normalizeRepoLocator: () => normalizeRepoLocator,
15727
+ normalizeSymbolPath: () => normalizeSymbolPath,
15693
15728
  packageCanonicalId: () => packageCanonicalId,
15694
15729
  pagerankEdgeTypes: () => pagerankEdgeTypes,
15695
15730
  parsePackageRef: () => parsePackageRef,
15696
15731
  prefilterEntities: () => prefilterEntities,
15697
15732
  problemIdFromError: () => problemIdFromError,
15733
+ projectSymbolId: () => projectSymbolId,
15698
15734
  provenanceBand: () => provenanceBand,
15699
15735
  resolveCanonical: () => resolveCanonical,
15700
15736
  resolveCanonicalId: () => resolveCanonicalId,
@@ -15716,6 +15752,7 @@ var init_src = __esm({
15716
15752
  init_edge_rules();
15717
15753
  init_symbol_intent();
15718
15754
  init_repo_locator();
15755
+ init_project_symbol();
15719
15756
  init_hash();
15720
15757
  init_error_signature();
15721
15758
  init_canonicalize();
@@ -43197,7 +43234,7 @@ function startLoopLagMonitor(thresholdMs = 1e3) {
43197
43234
  }
43198
43235
 
43199
43236
  // src/engine.ts
43200
- var DAEMON_VERSION = true ? "2.0.0-dev.72" : "2.0.0-alpha.0";
43237
+ var DAEMON_VERSION = true ? "2.0.0-dev.74" : "2.0.0-alpha.0";
43201
43238
  var IGNORED_PATH = /[\\/](?:\.git|node_modules|\.errata|\.claude|\.codex|\.cursor|\.turbo|\.next|dist|coverage|test-results|playwright-report|__pycache__)(?:[\\/]|$)/;
43202
43239
  var IGNORED_NOISE = /castalia\.db|eventlog\.sqlite|turn-cursors/;
43203
43240
  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.72",
3
+ "version": "2.0.0-dev.74",
4
4
  "description": "errata - local-first observation engine for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {
package/pass-worker.mjs CHANGED
@@ -15074,6 +15074,18 @@ var init_wire = __esm({
15074
15074
  * self-refute from an independent one. Optional + additive — absent is
15075
15075
  * exactly today's wire (and leaves the gate fail-open for that node). */
15076
15076
  originProject: external_exports.string().min(1).max(120).optional(),
15077
+ /** PJ-write · PLAN_PROJECT_STORE §5/§5a — the console project uuid this batch
15078
+ * is contributed TO. Distinct from `originProject` above, which is the salted
15079
+ * `wp_…` per-checkout workspace id (a refute-gate origin key, not an
15080
+ * audience): this one names a stratum and IS an audience assertion.
15081
+ *
15082
+ * Asserted per-request because it cannot ride the 15-min gateway JWT — one
15083
+ * daemon credential serves N projects. The door verifies it server-side
15084
+ * against the projected link record (owning org must equal the caller's
15085
+ * identity-derived org) and REJECTS the batch if it can't, so naming a
15086
+ * project you don't belong to buys nothing. Optional + additive — absent is
15087
+ * exactly today's wire, routing to org/team/public as before. */
15088
+ projectId: external_exports.string().min(1).max(120).optional(),
15077
15089
  nodes: external_exports.array(CastaliaIngestNodeSchema).max(1e3),
15078
15090
  edges: external_exports.array(CastaliaIngestEdgeSchema).max(5e3),
15079
15091
  /** Optional symbol→intent-summary sidecar (PP-symbol-intent). Only symbols
@@ -15090,6 +15102,14 @@ var init_repo_locator = __esm({
15090
15102
  }
15091
15103
  });
15092
15104
 
15105
+ // ../../packages/shared/src/project-symbol.ts
15106
+ var init_project_symbol = __esm({
15107
+ "../../packages/shared/src/project-symbol.ts"() {
15108
+ "use strict";
15109
+ init_hash();
15110
+ }
15111
+ });
15112
+
15093
15113
  // ../../packages/shared/src/nlp/canonicalize.ts
15094
15114
  var init_canonicalize = __esm({
15095
15115
  "../../packages/shared/src/nlp/canonicalize.ts"() {
@@ -15115,6 +15135,7 @@ var init_src = __esm({
15115
15135
  init_edge_rules();
15116
15136
  init_symbol_intent();
15117
15137
  init_repo_locator();
15138
+ init_project_symbol();
15118
15139
  init_hash();
15119
15140
  init_error_signature();
15120
15141
  init_canonicalize();