@inerrata-corporation/errata 2.0.2-dev.1285 → 2.0.2-dev.1300

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 +40 -2
  2. package/package.json +1 -1
package/errata.mjs CHANGED
@@ -64,7 +64,7 @@ function toCloudAttrs(attrs) {
64
64
  }
65
65
  return rest2;
66
66
  }
67
- var SEMANTIC_NODE_LABELS, ROUTING_REASONS, CONTEXT_NODE_LABELS, CODE_NODE_LABELS, ALL_NODE_LABELS, STRUCTURAL_EDGES, CAUSAL_EDGES, RESOLUTION_EDGES, CONCEPTUAL_EDGES, EVIDENCE_EDGES, CODE_EDGES, BRIDGE_EDGES, IDENTITY_EDGES, JUSTIFICATION_EDGES, BELIEF_EDGES, ABSTRACTION_EDGES, DECOMPOSITION_EDGES, TRANSFER_EDGES, SOLUTION_STRUCTURE_EDGES, SUSPICION_EDGES, TAXONOMY_EDGES, TRIAGE_EDGES, GIT_EDGES, ALL_EDGE_TYPES, PAGERANK_EXCLUSIONS, EDGE_WEIGHT, EDGE_CONDUCTANCE_OVERRIDES, CAUSAL_PROTECT_EDGES, VALIDATION_SOURCES, TRUTH_KIND, ABSTRACTION_LEVEL, PROBLEM_RESOLUTION, DRIFT_KIND, TEST_PATH_RE, TEST_SCOPE_RE;
67
+ var SEMANTIC_NODE_LABELS, ANCHOR_REFUSAL_REASONS, ROUTING_REASONS, CONTEXT_NODE_LABELS, CODE_NODE_LABELS, ALL_NODE_LABELS, STRUCTURAL_EDGES, CAUSAL_EDGES, RESOLUTION_EDGES, CONCEPTUAL_EDGES, EVIDENCE_EDGES, CODE_EDGES, BRIDGE_EDGES, IDENTITY_EDGES, JUSTIFICATION_EDGES, BELIEF_EDGES, ABSTRACTION_EDGES, DECOMPOSITION_EDGES, TRANSFER_EDGES, SOLUTION_STRUCTURE_EDGES, SUSPICION_EDGES, TAXONOMY_EDGES, TRIAGE_EDGES, GIT_EDGES, ALL_EDGE_TYPES, PAGERANK_EXCLUSIONS, EDGE_WEIGHT, EDGE_CONDUCTANCE_OVERRIDES, CAUSAL_PROTECT_EDGES, VALIDATION_SOURCES, TRUTH_KIND, ABSTRACTION_LEVEL, PROBLEM_RESOLUTION, DRIFT_KIND, TEST_PATH_RE, TEST_SCOPE_RE;
68
68
  var init_castalia = __esm({
69
69
  "../../packages/shared/src/castalia.ts"() {
70
70
  "use strict";
@@ -96,6 +96,16 @@ var init_castalia = __esm({
96
96
  // truth (PLAN_PLASTICITY §2.3 / §4). truthKind/scope/groundedSupport in attrs.
97
97
  "Claim"
98
98
  ];
99
+ ANCHOR_REFUSAL_REASONS = [
100
+ /** The spine probe ran CLEAN and did not confirm the public claim. */
101
+ "spine-refused",
102
+ /** No anchor tag at all — cannot positively confirm, fail closed. */
103
+ "untagged-failclosed",
104
+ /** The daemon itself tagged the anchor private — a deliberate claim, not a refusal. */
105
+ "daemon-tagged-private",
106
+ /** The probe threw or timed out — the system was blind, not decided (see routingProbeFailed). */
107
+ "probe-failed"
108
+ ];
99
109
  ROUTING_REASONS = [
100
110
  /** Harness org (CTF lane, e2e battery, canary) — forced org-private. */
101
111
  "harness-clamp",
@@ -16079,6 +16089,7 @@ __export(src_exports, {
16079
16089
  ALL_EDGE_TYPES: () => ALL_EDGE_TYPES,
16080
16090
  ALL_NODE_LABELS: () => ALL_NODE_LABELS,
16081
16091
  AMBIGUOUS_ALIASES: () => AMBIGUOUS_ALIASES,
16092
+ ANCHOR_REFUSAL_REASONS: () => ANCHOR_REFUSAL_REASONS,
16082
16093
  BELIEF_EDGES: () => BELIEF_EDGES,
16083
16094
  BRIDGE_EDGES: () => BRIDGE_EDGES,
16084
16095
  CAUSAL_EDGES: () => CAUSAL_EDGES,
@@ -53730,6 +53741,7 @@ function parseDesignResolutions(text) {
53730
53741
  }
53731
53742
  return out2;
53732
53743
  }
53744
+ var OPENCODE_PARSER_PINNED_VERSION = "1.18.18";
53733
53745
  var OPENCODE_TRANSCRIPT_HEADER_TYPE = "errata-opencode-session";
53734
53746
  var FILE_TOOLS = /* @__PURE__ */ new Set(["Read", "Edit", "Write", "MultiEdit", "NotebookEdit"]);
53735
53747
  var WRITE_TOOLS = /* @__PURE__ */ new Set(["Edit", "Write", "MultiEdit", "NotebookEdit"]);
@@ -53764,6 +53776,7 @@ function readAssistantTurnsFrom(transcriptPath, fromByte, includeThinking = true
53764
53776
  losses: { parseFailures: parsed.parseFailures, ioFailed, bytesUnreachable: 0 }
53765
53777
  };
53766
53778
  }
53779
+ var CODEX_PARSER_PINNED_VERSION = "0.144.5";
53767
53780
  function detectHostHarness(raw2) {
53768
53781
  const lines = raw2.split(/\r?\n/);
53769
53782
  let checked = 0;
@@ -57729,7 +57742,7 @@ function createWatchBreaker(deps) {
57729
57742
  }
57730
57743
 
57731
57744
  // src/engine.ts
57732
- var DAEMON_VERSION = true ? "2.0.2-dev.1285" : "2.0.0-alpha.0";
57745
+ var DAEMON_VERSION = true ? "2.0.2-dev.1300" : "2.0.0-alpha.0";
57733
57746
  var IGNORED_PATH = /[\\/](?:\.git|node_modules|\.errata|\.claude|\.codex|\.cursor|\.turbo|\.next|dist|coverage|test-results|playwright-report|__pycache__)(?:[\\/]|$)/;
57734
57747
  var IGNORED_NOISE = /castalia\.db|eventlog\.sqlite|turn-cursors/;
57735
57748
  var GIT_OP_MUTE_MS = 4e3;
@@ -63378,6 +63391,17 @@ function shouldUseOAuthLogin(flags2, env2 = process.env) {
63378
63391
  }
63379
63392
 
63380
63393
  // src/doctor.ts
63394
+ import { spawnSync } from "node:child_process";
63395
+ function installedHarnessVersion(bin) {
63396
+ try {
63397
+ const r = spawnSync(bin, ["--version"], { encoding: "utf8", timeout: 3e3 });
63398
+ if (r.status !== 0 && !r.stdout) return null;
63399
+ const m = /(\d+\.\d+\.\d+)/.exec(`${r.stdout ?? ""}${r.stderr ?? ""}`);
63400
+ return m ? m[1] : null;
63401
+ } catch {
63402
+ return null;
63403
+ }
63404
+ }
63381
63405
  async function diagnoseInstallation(cfg, dependencies) {
63382
63406
  const checks = [];
63383
63407
  const profileName = cfg.activeInstallationProfile;
@@ -63450,6 +63474,20 @@ async function diagnoseInstallation(cfg, dependencies) {
63450
63474
  });
63451
63475
  }
63452
63476
  }
63477
+ const versionOf = dependencies.harnessVersion ?? installedHarnessVersion;
63478
+ for (const { bin, pinned } of [
63479
+ { bin: "codex", pinned: CODEX_PARSER_PINNED_VERSION },
63480
+ { bin: "opencode", pinned: OPENCODE_PARSER_PINNED_VERSION }
63481
+ ]) {
63482
+ const installed = versionOf(bin);
63483
+ checks.push(
63484
+ installed === null ? { id: `${bin}_parser_pin`, status: "pass", detail: `${bin} not installed \u2014 parser-pin check skipped` } : installed === pinned ? { id: `${bin}_parser_pin`, status: "pass", detail: `${bin} ${installed} matches the transcript-parser pin` } : {
63485
+ id: `${bin}_parser_pin`,
63486
+ status: "warn",
63487
+ detail: `${bin} ${installed} \u2260 parser pinned ${pinned} \u2014 transcripts verified against ${pinned}; re-pin fixtures if capture drifts`
63488
+ }
63489
+ );
63490
+ }
63453
63491
  return {
63454
63492
  ok: checks.every((check2) => check2.status !== "fail"),
63455
63493
  profile: profileName,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inerrata-corporation/errata",
3
- "version": "2.0.2-dev.1285",
3
+ "version": "2.0.2-dev.1300",
4
4
  "description": "errata - local-first observation engine for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {