@bragi-gmbh/codebus 1.6.6 → 1.6.7

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.
@@ -23,6 +23,7 @@ export const GRAPH_CACHE_DIR = join(homedir(), ".codebus", "graph");
23
23
  export function defaultGraphPullDeps() {
24
24
  return {
25
25
  findLatestRun: async (sha) => {
26
+ let stderr = "";
26
27
  try {
27
28
  const endpoint = `repos/${GRAPHIFY_REPO}/actions/workflows/${GRAPHIFY_WORKFLOW}/runs`;
28
29
  const params = new URLSearchParams({ branch: GRAPH_BRANCH, status: "success", per_page: "10" });
@@ -35,12 +36,19 @@ export function defaultGraphPullDeps() {
35
36
  }
36
37
  return successful.length > 0 ? successful[0] : null;
37
38
  }
38
- catch {
39
- return null;
39
+ catch (err) {
40
+ stderr = err instanceof Error ? err.message : String(err);
41
+ throw new CodebusError(`gh failed to resolve latest graphify run: ${stderr}`, 1);
40
42
  }
41
43
  },
42
44
  downloadArtifact: async (runId, artifactName, destDir) => {
43
- await execFileP("gh", ["run", "download", String(runId), "--name", artifactName, "-D", destDir]);
45
+ try {
46
+ await execFileP("gh", ["run", "download", String(runId), "--name", artifactName, "-D", destDir]);
47
+ }
48
+ catch (err) {
49
+ const ghErr = err instanceof Error ? err.message : String(err);
50
+ throw new CodebusError(`gh failed to download artifact '${artifactName}' for run #${runId}: ${ghErr}`, 1);
51
+ }
44
52
  },
45
53
  };
46
54
  }
@@ -90,13 +98,23 @@ export async function pullSnapshot(run, deps) {
90
98
  }
91
99
  }
92
100
  mkdirSync(runDir, { recursive: true });
93
- await deps.downloadArtifact(run.id, "graphify-pointer", runDir);
101
+ try {
102
+ await deps.downloadArtifact(run.id, "graphify-pointer", runDir);
103
+ }
104
+ catch (err) {
105
+ throw new CodebusError(`failed to download artifact 'graphify-pointer' for run #${run.database_id} (sha ${run.head_sha.slice(0, 7)}): ${err instanceof Error ? err.message : String(err)}`, 1);
106
+ }
94
107
  const pointerPath = join(runDir, "pointer.json");
95
108
  if (!existsSync(pointerPath)) {
96
109
  throw new CodebusError(`Workflow run #${run.database_id} did not produce a graphify-pointer artifact.`, 1);
97
110
  }
98
111
  const pointer = JSON.parse(readFileSync(pointerPath, "utf-8"));
99
- await deps.downloadArtifact(run.id, "graphify-snapshot", runDir);
112
+ try {
113
+ await deps.downloadArtifact(run.id, "graphify-snapshot", runDir);
114
+ }
115
+ catch (err) {
116
+ throw new CodebusError(`failed to download artifact 'graphify-snapshot' for run #${run.database_id} (sha ${run.head_sha.slice(0, 7)}): ${err instanceof Error ? err.message : String(err)}`, 1);
117
+ }
100
118
  // gh run download may place files under a nested subdirectory — flatten if needed.
101
119
  if (!existsSync(join(runDir, "graph.json"))) {
102
120
  const entries = readdirSync(runDir).filter((e) => e !== "pointer.json");
@@ -113,6 +131,9 @@ export async function pullSnapshot(run, deps) {
113
131
  return pointer.built_at_commit;
114
132
  }
115
133
  export async function graphPullCmd(opts) {
134
+ if (opts.repo !== undefined && String(opts.repo).toLowerCase() !== "codebus") {
135
+ throw new CodebusError(`--repo '${opts.repo}' is not supported by graph pull (only 'codebus')`, 1);
136
+ }
116
137
  const deps = opts.deps ?? defaultGraphPullDeps();
117
138
  const run = await deps.findLatestRun(opts.sha);
118
139
  if (!run) {
@@ -125,6 +146,16 @@ export async function graphPullCmd(opts) {
125
146
  }
126
147
  const builtAtCommit = await pullSnapshot(run, deps);
127
148
  const cacheRoot = deps.cacheDir ?? GRAPH_CACHE_DIR;
128
- return `graphify snapshot cached at ${join(cacheRoot, builtAtCommit)}\nBuilt at commit: ${builtAtCommit}`;
149
+ const cachePath = join(cacheRoot, builtAtCommit);
150
+ let nodeCount = 0, edgeCount = 0;
151
+ try {
152
+ const graph = JSON.parse(readFileSync(join(cachePath, "graph.json"), "utf-8"));
153
+ nodeCount = graph.nodes?.length ?? 0;
154
+ const links = graph.links?.length ?? 0;
155
+ const hyper = graph.hyperedges?.length ?? 0;
156
+ edgeCount = links || hyper ? links + hyper : (graph.edges?.length ?? 0);
157
+ }
158
+ catch { /* best-effort counts */ }
159
+ return `graphify snapshot cached at ${cachePath}\nBuilt at commit: ${builtAtCommit}\nNodes: ${nodeCount}, Edges: ${edgeCount}`;
129
160
  }
130
161
  //# sourceMappingURL=graph-pull.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph-pull.js","sourceRoot":"","sources":["../../src/commands/graph-pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-pull.js","sourceRoot":"","sources":["../../src/commands/graph-pull.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { CodebusError } from "../errors.js";
2
2
  import { loadGraphSnapshot, getGraphBuiltCommit, checkStaleness } from "../graph.js";
3
- import { fetchRemoteStatus } from "../graph-remote.js";
3
+ import { fetchRemoteStatus, isLocalSnapshotStale, graphSearchRpc, graphSubgraphRpc, graphGapsRpc, resolveBlastRadius, resolveRemoteRepoSlug, tryMakeCtx, } from "../graph-remote.js";
4
+ import { makeCtx } from "../client.js";
5
+ import { resolveConfig } from "../config.js";
4
6
  import { graphPullCmd } from "./graph-pull.js";
5
7
  /**
6
8
  * CLI command: codebus graph status
@@ -44,12 +46,29 @@ export async function graphStatusCmd(options) {
44
46
  repo: remote.repoSlug,
45
47
  attachmentState: remote.attachmentState,
46
48
  grade: remote.grade,
49
+ extractedGrade: remote.extractedGrade,
50
+ inferredGrade: remote.inferredGrade,
51
+ extractedAccuracy: remote.extractedAccuracy,
52
+ inferredAccuracy: remote.inferredAccuracy,
47
53
  freshness: remote.freshness,
48
54
  stale: remote.stale,
49
55
  noGraph: remote.noGraph,
50
56
  servingSha: remote.servingSha7,
51
57
  headSha: remote.headSha7,
58
+ servingNodeCount: remote.servingNodeCount ?? null,
59
+ servingEdgeCount: remote.servingEdgeCount ?? null,
52
60
  };
61
+ if (snapshot && remote.servingSha7) {
62
+ const localBuilt = String(status.builtAtCommit ?? "");
63
+ const localN = Number(status.nodeCount ?? 0);
64
+ const localE = Number(status.edgeCount ?? 0);
65
+ const chk = isLocalSnapshotStale({ builtAt: localBuilt, nodeCount: localN, edgeCount: localE }, { servingSha: remote.servingSha7, nodeCount: remote.servingNodeCount ?? null, edgeCount: remote.servingEdgeCount ?? null });
66
+ if (chk.stale) {
67
+ const l7 = localBuilt.slice(0, 7);
68
+ const warn = `STALE LOCAL: local ${l7} (${localN} nodes) vs serving ${remote.servingSha7} (${remote.servingNodeCount ?? "?"}) — run codebus graph pull (${chk.reason})`;
69
+ status.staleLocalWarning = warn;
70
+ }
71
+ }
53
72
  }
54
73
  if (options.json) {
55
74
  console.log(JSON.stringify(status, null, 2));
@@ -73,7 +92,15 @@ export async function graphStatusCmd(options) {
73
92
  }
74
93
  if (remote) {
75
94
  console.log(`Remote (${remote.repoSlug}): attachment=${remote.attachmentState ?? "unknown"} grade=${remote.grade ?? "unknown"}`);
95
+ if (remote.extractedGrade !== undefined || remote.inferredGrade !== undefined) {
96
+ console.log(` Extracted: ${remote.extractedGrade ?? "unknown"} (acc ${remote.extractedAccuracy ?? "—"})`);
97
+ console.log(` Inferred: ${remote.inferredGrade ?? "unknown"} (acc ${remote.inferredAccuracy ?? "—"})`);
98
+ }
76
99
  console.log(` Freshness: ${remote.freshness ?? "unknown"} (serving ${remote.servingSha7 ?? "—"}, head ${remote.headSha7 ?? "—"})`);
100
+ if (remote.servingNodeCount !== null && remote.servingNodeCount !== undefined)
101
+ console.log(` Serving: ${remote.servingNodeCount} nodes, ${remote.servingEdgeCount ?? "?"} edges`);
102
+ if (status.staleLocalWarning)
103
+ console.log(String(status.staleLocalWarning));
77
104
  }
78
105
  else {
79
106
  console.log("Remote: not connected / not reachable");
@@ -88,6 +115,72 @@ export async function graphStatusCmd(options) {
88
115
  }
89
116
  import { registerGraphPublish } from "./graph-publish-cmd.js";
90
117
  import { graphVersionsCmd, graphPromoteCmd } from "./graph-versions-cmd.js";
118
+ /** Parse --min-tier (default EXTRACTED; ALL = no tier filter). */
119
+ function parseMinTier(v) {
120
+ if (v === undefined)
121
+ return "EXTRACTED";
122
+ const u = v.toUpperCase();
123
+ if (u === "EXTRACTED" || u === "INFERRED")
124
+ return u;
125
+ if (u === "ALL")
126
+ return null;
127
+ throw new CodebusError("--min-tier must be EXTRACTED, INFERRED, or ALL");
128
+ }
129
+ async function requireCtx() {
130
+ const cfg = resolveConfig({});
131
+ return makeCtx(cfg);
132
+ }
133
+ function printRows(rows, cols, json) {
134
+ if (json) {
135
+ console.log(JSON.stringify(rows, null, 2));
136
+ return;
137
+ }
138
+ if (rows.length === 0) {
139
+ console.log("(no results)");
140
+ return;
141
+ }
142
+ const widths = cols.map((c) => Math.max(c.length, ...rows.map((r) => String(r[c] ?? "").length)));
143
+ console.log(cols.map((c, i) => c.padEnd(widths[i])).join(" "));
144
+ for (const r of rows)
145
+ console.log(cols.map((c, i) => String(r[c] ?? "").padEnd(widths[i])).join(" "));
146
+ }
147
+ export async function graphSearchCmd(terms, opts) {
148
+ const ctx = await requireCtx();
149
+ const slug = await resolveRemoteRepoSlug(ctx, process.cwd(), opts.repo);
150
+ const rows = await graphSearchRpc(ctx, slug, terms.join(" "), Number(opts.limit ?? 20), parseMinTier(opts.minTier));
151
+ printRows(rows.map((r) => ({ node_id: r.node_id, label: r.label, source_file: r.source_file ?? "", tier: r.tier ?? "", similarity: r.similarity })), ["node_id", "label", "source_file", "tier", "similarity"], opts.json);
152
+ }
153
+ export async function graphSubgraphCmd(seeds, opts) {
154
+ const ctx = await requireCtx();
155
+ const slug = await resolveRemoteRepoSlug(ctx, process.cwd(), undefined);
156
+ const relations = opts.relation ? opts.relation.split(",").map((s) => s.trim()).filter(Boolean) : undefined;
157
+ const res = await graphSubgraphRpc(ctx, slug, seeds, {
158
+ depth: Number(opts.depth ?? 2),
159
+ maxNodes: Number(opts.limit ?? 50),
160
+ relations,
161
+ minTier: parseMinTier(opts.minTier),
162
+ });
163
+ const rows = [
164
+ ...res.nodes.map((n) => ({ kind: "node", id: n.node_id, label: n.label, tier: n.tier ?? "" })),
165
+ ...res.edges.map((e) => ({ kind: "edge", id: `${e.src}->${e.dst}`, label: e.relation, tier: e.confidence ?? "" })),
166
+ ];
167
+ printRows(rows, ["kind", "id", "label", "tier"], opts.json);
168
+ if (res.truncated)
169
+ console.log("(truncated: more nodes reachable)");
170
+ }
171
+ export async function graphBlastRadiusCmd(targets, opts) {
172
+ const ctx = (await tryMakeCtx()) ?? undefined;
173
+ for (const seed of targets) {
174
+ const res = await resolveBlastRadius(seed, { repo: opts.repo, ctx });
175
+ printRows(res.rows.map((r) => ({ node_id: r.node_id, label: r.label, distance: r.distance, via_relation: r.via_relation })), ["node_id", "label", "distance", "via_relation"], opts.json);
176
+ }
177
+ }
178
+ export async function graphGapsCmd(opts) {
179
+ const ctx = await requireCtx();
180
+ const slug = await resolveRemoteRepoSlug(ctx, process.cwd(), opts.repo);
181
+ const rows = await graphGapsRpc(ctx, slug);
182
+ printRows(rows.map((r) => ({ category: r.category, node_id: r.node_id, label: r.label, detail: r.detail })), ["category", "node_id", "label", "detail"], opts.json);
183
+ }
91
184
  /**
92
185
  * Register the graph command.
93
186
  */
@@ -98,7 +191,8 @@ export function registerGraph(program, g) {
98
191
  .action((opts) => graphStatusCmd(opts));
99
192
  g(graphCmd.command("pull"))
100
193
  .option("--sha <commit>", "pull the snapshot built at this commit (default: latest successful run on main)")
101
- .action((opts) => { void graphPullCmd(opts); });
194
+ .option("--repo <slug>", "repo slug (only 'codebus' is supported)")
195
+ .action((opts) => graphPullCmd(opts).then((msg) => { console.log(msg); }));
102
196
  registerGraphPublish(graphCmd, g);
103
197
  g(graphCmd.command("versions"))
104
198
  .option("--repo <slug>", "repo slug (auto-detected from git remote if omitted)")
@@ -108,5 +202,22 @@ export function registerGraph(program, g) {
108
202
  .option("--repo <slug>", "repo slug (auto-detected from git remote if omitted)")
109
203
  .option("--yes", "skip confirmation prompt")
110
204
  .action((sha, opts) => graphPromoteCmd(sha, opts));
205
+ g(graphCmd.command("search").argument("<terms...>", "search terms"))
206
+ .option("--repo <slug>", "repo slug (auto-detected from git remote if omitted)")
207
+ .option("--min-tier <tier>", "EXTRACTED (default) | INFERRED | ALL")
208
+ .option("--limit <n>", "max rows (default 20)")
209
+ .action((terms, opts) => { void graphSearchCmd(terms, opts); });
210
+ g(graphCmd.command("subgraph").argument("<seeds...>", "seed node ids"))
211
+ .option("--depth <n>", "BFS depth (default 2)")
212
+ .option("--limit <n>", "max nodes (default 50)")
213
+ .option("--min-tier <tier>", "EXTRACTED (default) | INFERRED | ALL")
214
+ .option("--relation <r,...>", "comma-separated relations (default all)")
215
+ .action((seeds, opts) => { void graphSubgraphCmd(seeds, opts); });
216
+ g(graphCmd.command("blast-radius").argument("<targets...>", "seed node id, label, or file"))
217
+ .option("--repo <slug>", "repo slug (auto-detected from git remote if omitted)")
218
+ .action((targets, opts) => { void graphBlastRadiusCmd(targets, opts); });
219
+ g(graphCmd.command("gaps"))
220
+ .option("--repo <slug>", "repo slug (auto-detected from git remote if omitted)")
221
+ .action((opts) => { void graphGapsCmd(opts); });
111
222
  }
112
223
  //# sourceMappingURL=graph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/commands/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/commands/graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { createClient } from "@supabase/supabase-js";
2
+ import { loadFileConfig } from "../config.js";
3
+ import { CodebusError } from "../errors.js";
4
+ /** `codebus teams-link <aad-object-id>` — link your Teams account to your
5
+ * CodeBus person via the teams_identity_link RPC (source manual). */
6
+ export async function teamsLinkCmd(aadObjectId, o) {
7
+ const id = (aadObjectId ?? "").trim();
8
+ if (!id)
9
+ throw new CodebusError("expected an AAD object id");
10
+ const file = loadFileConfig();
11
+ const url = o.url ?? process.env.CODEBUS_URL ?? file.url;
12
+ const token = o.token ?? process.env.CODEBUS_TOKEN ?? file.token;
13
+ if (!url || !token)
14
+ throw new CodebusError("not logged in (codebus login first)");
15
+ const sb = createClient(url, token, { auth: { persistSession: false, autoRefreshToken: false } });
16
+ const { data, error } = await sb.rpc("teams_identity_link", { p_aad_object_id: id });
17
+ if (error)
18
+ throw new CodebusError(`teams link failed: ${error.message}`);
19
+ if (o.json)
20
+ console.log(JSON.stringify({ person_id: data, aad_object_id: id }));
21
+ else
22
+ console.log(`Linked Teams account ${id} to your CodeBus person.`);
23
+ }
24
+ //# sourceMappingURL=teams-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams-link.js","sourceRoot":"","sources":["../../src/commands/teams-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAa,cAAc,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C;qEACqE;AACrE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,CAAiC;IACvF,MAAM,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC;IACzD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC;IACjE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,YAAY,CAAC,qCAAqC,CAAC,CAAC;IAClF,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAClG,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;IACrF,IAAI,KAAK;QAAE,MAAM,IAAI,YAAY,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,CAAC,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;;QAC3E,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,0BAA0B,CAAC,CAAC;AACzE,CAAC"}
@@ -137,7 +137,7 @@ async function readGraphStatus(ctx, repoId) {
137
137
  try {
138
138
  const { data, error } = await ctx.supabase
139
139
  .from("graph_status")
140
- .select("attachment_state, grade, freshness, stale, no_graph, serving_sha, head_sha")
140
+ .select("attachment_state, grade, extracted_grade, inferred_grade, extracted_accuracy, inferred_accuracy, freshness, stale, no_graph, serving_sha, head_sha")
141
141
  .eq("project_id", repoId)
142
142
  .maybeSingle();
143
143
  if (error || !data)
@@ -148,6 +148,47 @@ async function readGraphStatus(ctx, repoId) {
148
148
  return null;
149
149
  }
150
150
  }
151
+ /** Best-effort serving counts from graph_versions (node_count/edge_count for the serving version). Never throws. */
152
+ export async function readServingCounts(ctx, repoId, servingSha7) {
153
+ try {
154
+ const serving = await readServing(ctx, repoId).catch(() => null);
155
+ const { data, error } = await ctx.supabase.from("graph_versions").select("id, source_sha, node_count, edge_count").eq("repo_id", repoId).order("ingested_at", { ascending: false }).limit(50);
156
+ if (error || !data)
157
+ return { nodes: null, edges: null };
158
+ const rows = data;
159
+ let pick = serving ? rows.find((r) => r.id === serving.version_id) : undefined;
160
+ if (!pick && servingSha7)
161
+ pick = rows.find((r) => String(r.source_sha).slice(0, 7) === servingSha7);
162
+ if (!pick)
163
+ return { nodes: null, edges: null };
164
+ return { nodes: pick.node_count ?? null, edges: pick.edge_count ?? null };
165
+ }
166
+ catch {
167
+ return { nodes: null, edges: null };
168
+ }
169
+ }
170
+ /** True when local built_at ≠ serving sha or counts differ >10%. */
171
+ export function isLocalSnapshotStale(local, remote) {
172
+ if (!remote.servingSha)
173
+ return { stale: false, reason: "" };
174
+ const l7 = local.builtAt.slice(0, 7).toLowerCase();
175
+ const r7 = remote.servingSha.slice(0, 7).toLowerCase();
176
+ if (l7 !== r7)
177
+ return { stale: true, reason: `local ${l7} vs serving ${r7}` };
178
+ if (remote.nodeCount !== null && remote.nodeCount !== undefined) {
179
+ const base = Math.max(remote.nodeCount, 1);
180
+ const diff = Math.abs(local.nodeCount - remote.nodeCount) / base;
181
+ if (diff > 0.1)
182
+ return { stale: true, reason: `node count differs >10% (local ${local.nodeCount} vs serving ${remote.nodeCount})` };
183
+ }
184
+ if (remote.edgeCount !== null && remote.edgeCount !== undefined) {
185
+ const base = Math.max(remote.edgeCount, 1);
186
+ const diff = Math.abs(local.edgeCount - remote.edgeCount) / base;
187
+ if (diff > 0.1)
188
+ return { stale: true, reason: `edge count differs >10% (local ${local.edgeCount} vs serving ${remote.edgeCount})` };
189
+ }
190
+ return { stale: false, reason: "" };
191
+ }
151
192
  /**
152
193
  * Best-effort remote attachment-state + freshness lookup for `codebus graph
153
194
  * status`. Degrades to null (never throws) on any failure — missing
@@ -186,16 +227,24 @@ export async function fetchRemoteStatus(repoRoot, explicitRepo, ctxOverride) {
186
227
  const row = await readGraphStatus(ctx, repoId);
187
228
  if (!row)
188
229
  return null;
230
+ const servingSha7 = row.serving_sha ? String(row.serving_sha).slice(0, 7) : null;
231
+ const counts = await readServingCounts(ctx, repoId, servingSha7);
189
232
  return {
190
233
  repoSlug,
191
234
  repoId: repoId,
192
235
  attachmentState: row.attachment_state,
193
236
  grade: row.grade,
237
+ extractedGrade: row.extracted_grade ?? null,
238
+ inferredGrade: row.inferred_grade ?? null,
239
+ extractedAccuracy: row.extracted_accuracy ?? null,
240
+ inferredAccuracy: row.inferred_accuracy ?? null,
194
241
  freshness: row.freshness,
195
242
  stale: row.stale,
196
243
  noGraph: row.no_graph,
197
- servingSha7: row.serving_sha ? String(row.serving_sha).slice(0, 7) : null,
244
+ servingSha7,
198
245
  headSha7: row.head_sha ? String(row.head_sha).slice(0, 7) : null,
246
+ servingNodeCount: counts.nodes,
247
+ servingEdgeCount: counts.edges,
199
248
  };
200
249
  }
201
250
  catch {
@@ -290,17 +339,46 @@ export async function fetchRemoteSlice(ctx, repoSlug, query, opts = {}) {
290
339
  };
291
340
  return { snapshot, searchHits, truncated, repoId: repoId, repoSlug, remoteSha7 };
292
341
  }
293
- export async function graphSearchRpc(ctx, repoSlug, q, limit = 20) {
342
+ function minTierParam(tier, def = "EXTRACTED") {
343
+ const v = tier === undefined ? def : tier;
344
+ if (v !== null && v !== "EXTRACTED" && v !== "INFERRED") {
345
+ throw new CodebusError("--min-tier must be EXTRACTED, INFERRED, or ALL");
346
+ }
347
+ return v;
348
+ }
349
+ export async function graphSearchRpc(ctx, repoSlug, q, limit = 20, minTier = "EXTRACTED") {
294
350
  const { data, error } = await ctx.supabase.rpc("graph_search", {
295
351
  p_repo_slug: repoSlug,
296
352
  p_q: q,
297
353
  p_limit: limit,
298
354
  p_workspace_slug: ctx.workspaceSlug,
355
+ p_min_tier: minTierParam(minTier),
299
356
  });
300
357
  if (error)
301
358
  throw new CodebusError(`graph_search failed: ${error.message}`);
302
359
  return (data ?? []);
303
360
  }
361
+ /** Direct graph_subgraph RPC (seed-exact; forwards min_tier + optional relations). */
362
+ export async function graphSubgraphRpc(ctx, repoSlug, seeds, opts = {}) {
363
+ const params = {
364
+ p_repo_slug: repoSlug,
365
+ p_seed_node_ids: seeds,
366
+ p_depth: opts.depth ?? 2,
367
+ p_max_nodes: opts.maxNodes ?? 50,
368
+ p_workspace_slug: ctx.workspaceSlug,
369
+ p_min_tier: minTierParam(opts.minTier),
370
+ };
371
+ if (opts.relations !== undefined)
372
+ params.p_relations = opts.relations;
373
+ const { data, error } = await ctx.supabase.rpc("graph_subgraph", params);
374
+ if (error)
375
+ throw new CodebusError(`graph_subgraph failed: ${error.message}`);
376
+ return {
377
+ nodes: (data?.nodes ?? []),
378
+ edges: (data?.edges ?? []),
379
+ truncated: data?.truncated === true,
380
+ };
381
+ }
304
382
  /** Truncates to ~200 rows client-side, per spec — graph_gaps itself has no
305
383
  * server-side row cap. */
306
384
  export async function graphGapsRpc(ctx, repoSlug, limit = 200) {
@@ -770,11 +848,6 @@ export async function resolveGraphSource(query, opts = {}) {
770
848
  }
771
849
  }
772
850
  else if (!local) {
773
- // No explicit repo and nothing local: only worth reaching for credentials
774
- // at all if this directory even LOOKS like a connected repo (has an
775
- // origin remote) — avoids an auth round-trip for every plain "no graph
776
- // here" case, which is by far the common one before A4 populates
777
- // remote_url for anyone.
778
851
  const remoteUrl = getGitRemoteUrl(repoRoot);
779
852
  if (remoteUrl) {
780
853
  try {
@@ -870,6 +943,35 @@ export async function resolveGraphSource(query, opts = {}) {
870
943
  }
871
944
  }
872
945
  }
946
+ // Implicit path: when local exists, compare against serving; if stale, attempt remote first.
947
+ if (local && !explicitRepo) {
948
+ try {
949
+ const statusFn = opts.fetchRemoteStatusFn ?? fetchRemoteStatus;
950
+ const probe = ctx ?? (await tryMakeCtx());
951
+ if (probe) {
952
+ const remote = await statusFn(repoRoot, undefined, probe).catch(() => null);
953
+ if (remote && remote.servingSha7) {
954
+ const lsnap = local;
955
+ const built = String(lsnap.built_at_commit ?? "");
956
+ const ln = lsnap.nodes?.length ?? 0;
957
+ const le = Array.isArray(lsnap.links) ? lsnap.links.length : 0;
958
+ const chk = isLocalSnapshotStale({ builtAt: built, nodeCount: ln, edgeCount: le }, { servingSha: remote.servingSha7, nodeCount: remote.servingNodeCount ?? null, edgeCount: remote.servingEdgeCount ?? null });
959
+ if (chk.stale) {
960
+ const sliceFn = opts.fetchRemoteSliceFn ?? fetchRemoteSlice;
961
+ try {
962
+ const slice = await sliceFn(probe, remote.repoSlug, query);
963
+ const staleness = await remoteStalenessNote(probe, slice.repoId, remote.repoSlug, repoRoot).catch(() => undefined);
964
+ const base = staleness?.note ? ` ${staleness.note}` : "";
965
+ return { snapshot: slice.snapshot, source: "remote", repoSlug: remote.repoSlug, repoId: slice.repoId, remoteSha7: slice.remoteSha7, truncated: slice.truncated, searchHits: slice.searchHits, staleness: { ...(staleness ?? { isStale: false, isDirty: false }), note: `(local snapshot stale: ${chk.reason}; using remote)${base}` } };
966
+ }
967
+ catch { /* fall through to local */ }
968
+ }
969
+ }
970
+ }
971
+ }
972
+ catch { /* keep local-first */ }
973
+ return { snapshot: local, source: "local" };
974
+ }
873
975
  if (local)
874
976
  return { snapshot: local, source: "local" };
875
977
  // The last-good cache (~/.codebus/last-good-graph.json) is machine-wide
@@ -1 +1 @@
1
- {"version":3,"file":"graph-remote.js","sourceRoot":"","sources":["../src/graph-remote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-remote.js","sourceRoot":"","sources":["../src/graph-remote.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -69,6 +69,7 @@ import { registerConnector } from "./commands/connector.js";
69
69
  import { registerRepositoryProtection } from "./commands/repository-protection.js";
70
70
  import { registerProductValidity } from "./commands/product-validity.js";
71
71
  import { registerFeedback } from "./commands/feedback.js";
72
+ import { teamsLinkCmd } from "./commands/teams-link.js";
72
73
  const program = new Command();
73
74
  // version always mirrors package.json (works from src via tsx and from dist)
74
75
  const pkg = createRequire(import.meta.url)("../package.json");
@@ -144,6 +145,8 @@ registerSelfHealing(program, g);
144
145
  registerConnector(program, g);
145
146
  registerRepositoryProtection(program, g);
146
147
  registerProductValidity(program, g);
148
+ g(program.command("teams-link").argument("<aad-object-id>", "Teams AAD object id").description("link your Teams account to your CodeBus person"))
149
+ .action((id, o) => teamsLinkCmd(id, o));
147
150
  registerFeedback(program, g);
148
151
  registerFriction(program, g);
149
152
  g(program.command("login"))
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -79,15 +79,20 @@
79
79
  * against a fixture, per the build ticket).
80
80
  * --skip-build — same effect, reads graphify-out/graph.json
81
81
  * as-is without re-running graphify.
82
- * --dry-run — do everything except the final
83
- * graph_ingest_with_token call (still reports
84
- * the head and still validates).
82
+ * --dry-run — do everything except the final
83
+ * graph_ingest_with_token call (still reports
84
+ * the head and still validates). Reports the
85
+ * post-compaction size against the 25 MB
86
+ * ingest cap (PASS/FAIL) so pre-builds know.
87
+ * --no-compact — disable artifact compaction (compaction is
88
+ * ON by default).
85
89
  */
86
90
 
87
91
  import { execFileSync } from "node:child_process";
88
92
  import { existsSync, readFileSync, realpathSync } from "node:fs";
89
93
  import { join, resolve, relative, isAbsolute } from "node:path";
90
94
  import { pathToFileURL } from "node:url";
95
+ import { createHash } from "node:crypto";
91
96
  import { createClient } from "@supabase/supabase-js";
92
97
 
93
98
  const args = process.argv.slice(2);
@@ -97,7 +102,233 @@ const opt = (name) => {
97
102
  return i >= 0 ? args[i + 1] : undefined;
98
103
  };
99
104
 
105
+ // Artifact size cap + compaction (25 MB ingest cap, 0050
106
+ // graph_ingest_artifact: octet_length(p_artifact::text) > 25MB rejects).
107
+ // EXACT stored/read field map, derived from the RPC bodies — the compactor
108
+ // below must keep every one of these byte-identical and may drop anything
109
+ // else:
110
+ //
111
+ // 0050 graph_ingest_validate: nodes[] needs id/label/file_type (+optional
112
+ // tier); links[] (or edges[]) needs source/target/relation/confidence
113
+ // (+owner_source when relation=owned_by); hyperedges[] needs
114
+ // id/label/relation/confidence + non-empty nodes[] (+optional tier via
115
+ // confidence). Top level needs nodes + links/edges arrays (hyperedges
116
+ // optional).
117
+ // 0063 graph_content_sync (the ONLY projection into graph_nodes/graph_edges,
118
+ // full-replace on each promoted ingest): nodes keep id, label, file_type,
119
+ // source_file, source_location, community, norm_label, _origin, tier,
120
+ // metadata; edges keep source, target, relation, confidence,
121
+ // confidence_score, weight, source_file, context, owner_source.
122
+ // Hyperedges are NOT projected into tables but ARE persisted verbatim in
123
+ // the content-addressed graph_artifacts row — kept whole.
124
+ // 20260922230000 graph_read_contract_v1 (signature/doc derivation): reads
125
+ // ONLY meta->>signature/def and meta->>doc/docstring/description, i.e.
126
+ // keys INSIDE the node's metadata object — metadata is preserved whole,
127
+ // so the derivation is unaffected.
128
+ //
129
+ // Everything else observed in real artifacts is dropped: top-level extras
130
+ // (directed, multigraph, graph — which DUPLICATES hyperedges —,
131
+ // built_at_commit), stray per-node keys (e.g. source_url/captured_at/
132
+ // author/contributor), per-edge source_location (never read or stored).
133
+ // Minification comes free via JSON.stringify (no whitespace).
134
+ //
135
+ // Exported for scripts/test/graph-compact.validate.test.mjs (same
136
+ // import.meta.url guard convention as resolveRepoRoot above).
137
+ export const GRAPH_ARTIFACT_SIZE_CAP_BYTES = 25 * 1024 * 1024;
138
+ export const GRAPH_COMPACT_KEEP_NODE_FIELDS = new Set([
139
+ "id", "label", "file_type", "source_file", "source_location",
140
+ "community", "norm_label", "_origin", "tier", "metadata",
141
+ ]);
142
+ export const GRAPH_COMPACT_KEEP_EDGE_FIELDS = new Set([
143
+ "source", "target", "relation", "confidence", "confidence_score",
144
+ "weight", "source_file", "context", "owner_source",
145
+ ]);
146
+
147
+ export function compactArtifact(artifact) {
148
+ const removedBytes = {};
149
+ const dropStr = (obj, keepSet, section) => {
150
+ const out = {};
151
+ for (const [k, v] of Object.entries(obj)) {
152
+ if (keepSet.has(k)) {
153
+ out[k] = v;
154
+ } else {
155
+ const b = Buffer.byteLength(JSON.stringify({ [k]: v }), "utf-8");
156
+ removedBytes[`${section}.${k}`] = (removedBytes[`${section}.${k}`] ?? 0) + b;
157
+ }
158
+ }
159
+ return out;
160
+ };
161
+ const compacted = {};
162
+ // Top level: keep exactly what the RPCs read. Prefer `links` (graphify's
163
+ // real key); keep `edges` too if present so a future rename is not
164
+ // penalized — same acceptance rule as graph_ingest_validate.
165
+ for (const [k, v] of Object.entries(artifact)) {
166
+ if (k === "nodes" || k === "links" || k === "edges" || k === "hyperedges") {
167
+ compacted[k] = v;
168
+ } else {
169
+ const b = Buffer.byteLength(JSON.stringify({ [k]: v }), "utf-8");
170
+ removedBytes[`top.${k}`] = (removedBytes[`top.${k}`] ?? 0) + b;
171
+ }
172
+ }
173
+ if (Array.isArray(compacted.nodes)) {
174
+ compacted.nodes = compacted.nodes.map((n) => dropStr(n, GRAPH_COMPACT_KEEP_NODE_FIELDS, "node"));
175
+ }
176
+ for (const key of ["links", "edges"]) {
177
+ if (Array.isArray(compacted[key])) {
178
+ compacted[key] = compacted[key].map((e) => dropStr(e, GRAPH_COMPACT_KEEP_EDGE_FIELDS, "edge"));
179
+ }
180
+ }
181
+ // Hyperedges are persisted verbatim (content-addressed artifact) — never
182
+ // stripped, only minified by the final stringify.
183
+ return { compacted, removedBytes };
184
+ }
185
+
186
+ export function artifactBytes(obj) {
187
+ return Buffer.byteLength(JSON.stringify(obj), "utf-8");
188
+ }
189
+
190
+ export const GRAPH_CHUNK_PART_MAX_BYTES = 8 * 1024 * 1024;
191
+
192
+ // buildCanonicalText: THE canonical serialization for chunked ingest.
193
+ // Returns { head, chunks, str, sha256, counts, meta } where
194
+ // str = head + chunks.join("") + '}'
195
+ // byte-identically to what graph_ingest_commit_with_token reassembles
196
+ // (head + verbatim-concatenated textchunk payloads + '}'):
197
+ // head = {"directed":<d>,"multigraph":<m>,"graph":<g>,
198
+ // chunks are verbatim slices of the body
199
+ // '"nodes":[...],"links":[...],"hyperedges":[...]' (WITHOUT the trailing
200
+ // brace), split only at element boundaries (never mid-codepoint: element
201
+ // granularity via JSON.stringify per element). Inter-element and
202
+ // inter-section commas live INSIDE the chunk bytes — no join separator is
203
+ // added on either side. sha256 is over str. The commit RPC verifies sha
204
+ // BEFORE parsing, so these bytes round-trip untouched (no jsonb ::text
205
+ // re-serialization involved).
206
+ //
207
+ // Number-format contract: JSON.stringify emits integral floats as "1" (not
208
+ // "1.0"), matching Postgres jsonb numeric output; the server never
209
+ // re-serializes before hashing, so client bytes are authoritative.
210
+ export function buildCanonicalText(artifact, maxBytes = GRAPH_CHUNK_PART_MAX_BYTES) {
211
+ const links = Array.isArray(artifact.links) ? artifact.links
212
+ : Array.isArray(artifact.edges) ? artifact.edges : [];
213
+ const nodes = Array.isArray(artifact.nodes) ? artifact.nodes : [];
214
+ const hyperedges = Array.isArray(artifact.hyperedges) ? artifact.hyperedges : [];
215
+ const head =
216
+ '{"directed":' + JSON.stringify(artifact.directed ?? false) +
217
+ ',"multigraph":' + JSON.stringify(artifact.multigraph ?? false) +
218
+ ',"graph":' + JSON.stringify(artifact.graph ?? {}) + ',';
219
+ // Split one JSON array's elements into verbatim slices <= maxBytes.
220
+ // MIDDLE slices (neither first nor last of their array) are bare element
221
+ // runs with NO key prefix and NO closing bracket — they are only valid
222
+ // concatenated between their siblings. The FIRST slice carries the
223
+ // '"name":[' prefix; the LAST slice carries the ']' suffix; a single-slice
224
+ // array carries both. Slices therefore must NEVER merge across arrays:
225
+ // each array's slices form one ordered group, groups join with ','.
226
+ const splitArray = (name, elements) => {
227
+ const prefix = '"' + name + '":[';
228
+ if (elements.length === 0) return [prefix + "]"];
229
+ const slices = [];
230
+ let cur = prefix, first = true;
231
+ for (const el of elements) {
232
+ const piece = (first ? "" : ",") + JSON.stringify(el);
233
+ if (!first && Buffer.byteLength(cur + piece + "]", "utf-8") > maxBytes) {
234
+ slices.push(cur);
235
+ cur = JSON.stringify(el);
236
+ first = false;
237
+ continue;
238
+ }
239
+ cur += piece;
240
+ first = false;
241
+ }
242
+ slices.push(cur + "]");
243
+ return slices;
244
+ };
245
+ // Groups join with ',' — the comma is OUTSIDE the chunk bytes (it is the
246
+ // join separator on both sides: server comma-joins too)... NO — verbatim
247
+ // protocol says no separators are added. Resolve: keep commas inside by
248
+ // attaching the trailing comma to each group except the last: group text
249
+ // is slices.join(",") and groups are concatenated directly.
250
+ const groups = [splitArray("nodes", nodes), splitArray("links", links), splitArray("hyperedges", hyperedges)];
251
+ const parts = [];
252
+ groups.forEach((slices, gi) => {
253
+ const lastGroup = gi === groups.length - 1;
254
+ slices.forEach((sl, i) => {
255
+ const lastSlice = i === slices.length - 1;
256
+ // Attach inter-group comma to the group's final slice (except the
257
+ // very last slice overall); inter-slice commas within a group attach
258
+ // to each slice except the group's last.
259
+ let chunk = sl;
260
+ if (!lastSlice) chunk = chunk + ",";
261
+ else if (!lastGroup) chunk = chunk + ",";
262
+ parts.push(chunk);
263
+ });
264
+ });
265
+ // Merge SMALL adjacent chunks (verbatim concat stays valid: commas are
266
+ // inside the bytes, so plain concatenation preserves the text).
267
+ const merged = [];
268
+ for (const c of parts) {
269
+ if (merged.length > 0 && Buffer.byteLength(merged[merged.length - 1] + c, "utf-8") <= maxBytes) {
270
+ merged[merged.length - 1] += c;
271
+ } else merged.push(c);
272
+ }
273
+ const body = merged.join("");
274
+ const str = head + body + "}";
275
+ return {
276
+ head,
277
+ meta: { directed: artifact.directed ?? false, multigraph: artifact.multigraph ?? false, graph: artifact.graph ?? {} },
278
+ chunks: merged,
279
+ str,
280
+ sha256: createHash("sha256").update(str, "utf-8").digest("hex"),
281
+ counts: { nodes: nodes.length, links: links.length, hyperedges: hyperedges.length },
282
+ };
283
+ const sha256 = createHash("sha256").update(str, "utf-8").digest("hex");
284
+ return {
285
+ head,
286
+ meta: { directed: artifact.directed ?? false, multigraph: artifact.multigraph ?? false, graph: artifact.graph ?? {} },
287
+ chunks: parts,
288
+ str,
289
+ sha256,
290
+ counts: { nodes: nodes.length, links: links.length, hyperedges: hyperedges.length },
291
+ };
292
+ }
293
+
294
+ export function chunkArray(elements, maxBytes = GRAPH_CHUNK_PART_MAX_BYTES) {
295
+ const parts = [];
296
+ let cur = [];
297
+ let curBytes = 2; // "[]"
298
+ for (const el of elements) {
299
+ const elBytes = Buffer.byteLength(JSON.stringify(el), "utf-8");
300
+ const add = (cur.length === 0 ? elBytes : elBytes + 1);
301
+ if (cur.length > 0 && curBytes + add > maxBytes) {
302
+ parts.push(cur);
303
+ cur = [];
304
+ curBytes = 2;
305
+ }
306
+ cur.push(el);
307
+ curBytes += cur.length === 1 ? elBytes : elBytes + 1;
308
+ }
309
+ if (cur.length > 0) parts.push(cur);
310
+ return parts;
311
+ }
312
+
313
+ export function buildCanonical(artifact) {
314
+ const links = Array.isArray(artifact.links) ? artifact.links
315
+ : Array.isArray(artifact.edges) ? artifact.edges : [];
316
+ const canonical = {
317
+ directed: artifact.directed ?? false,
318
+ multigraph: artifact.multigraph ?? false,
319
+ graph: artifact.graph ?? {},
320
+ nodes: Array.isArray(artifact.nodes) ? artifact.nodes : [],
321
+ links,
322
+ hyperedges: Array.isArray(artifact.hyperedges) ? artifact.hyperedges : [],
323
+ };
324
+ const str = JSON.stringify(canonical);
325
+ const sha256 = createHash("sha256").update(str, "utf-8").digest("hex");
326
+ return { canonical, str, sha256 };
327
+ }
328
+
100
329
  const DRY_RUN = flag("--dry-run");
330
+ const FORCE_CHUNKED = flag("--force-chunked");
331
+ const COMPACT = !flag("--no-compact");
101
332
  const SKIP_BUILD = flag("--skip-build") || !!opt("--artifact-path");
102
333
  const ARTIFACT_PATH_OVERRIDE = opt("--artifact-path");
103
334
 
@@ -194,7 +425,12 @@ async function main() {
194
425
  // §B.2 preamble).
195
426
  if (!supabaseUrl) die("SUPABASE_URL is required");
196
427
  if (!anonKey) die("SUPABASE_ANON_KEY is required");
197
- if (!ingestToken) die("GRAPH_INGEST_TOKEN is required (this repo's ingest-scoped token mint via graph_ingest_token_mint)");
428
+ // --dry-run for a repo that is not chartered yet (pre-build extraction before
429
+ // the owner has minted a token) is legitimate: build + validate need no
430
+ // token. Everything that DOES need one (head report, ingest) is skipped
431
+ // below with an explicit line, never silently.
432
+ if (!ingestToken && !DRY_RUN) die("GRAPH_INGEST_TOKEN is required (this repo's ingest-scoped token — mint via graph_ingest_token_mint)");
433
+ if (!ingestToken && DRY_RUN) console.log("dry-run without GRAPH_INGEST_TOKEN: head report will be SKIPPED (token-less pre-build)");
198
434
 
199
435
  let commitSha = process.env.GITHUB_SHA;
200
436
  if (!commitSha) {
@@ -220,17 +456,22 @@ async function main() {
220
456
  // work happens. This is what makes freshness honest even when step 2
221
457
  // fails below — the hub already knows main advanced. Token-scoped: no
222
458
  // repo_id is sent, it's resolved server-side from GRAPH_INGEST_TOKEN.
223
- section("Step 1: graph_head_report_with_token (authoritative tip, before build)");
224
- {
225
- const { error } = await supabase.rpc("graph_head_report_with_token", {
226
- p_token: ingestToken,
227
- p_sha: commitSha,
228
- p_run_id: String(runId),
229
- });
230
- if (error) die(`graph_head_report_with_token failed: ${error.message} (nothing downstream can be trusted if the tip itself was never recorded)`);
231
- console.log(`✓ head reported: sha=${commitSha}`);
459
+ if (!ingestToken && DRY_RUN) {
460
+ section("Step 1: graph_head_report_with_token — SKIPPED (dry-run, no token)");
461
+ } else {
462
+ section("Step 1: graph_head_report_with_token (authoritative tip, before build)");
463
+ {
464
+ const { error } = await supabase.rpc("graph_head_report_with_token", {
465
+ p_token: ingestToken,
466
+ p_sha: commitSha,
467
+ p_run_id: String(runId),
468
+ });
469
+ if (error) die(`graph_head_report_with_token failed: ${error.message} (nothing downstream can be trusted if the tip itself was never recorded)`);
470
+ console.log(`✓ head reported: sha=${commitSha}`);
471
+ }
232
472
  }
233
473
 
474
+
234
475
  // ── Step 2: build (unless testing against a fixture/existing artifact).
235
476
  section("Step 2: graphify build");
236
477
  const graphJsonPath = join(repoRoot, "graphify-out", "graph.json");
@@ -263,11 +504,69 @@ async function main() {
263
504
  } catch (err) {
264
505
  die(`failed to parse artifact JSON at ${artifactPath}: ${err.message}`);
265
506
  }
507
+ // ── Step 2b: deterministic augmentation (SQL functions, gateway
508
+ // routes, contract schemas as EXTRACTED nodes). Runs after the graphify
509
+ // build, before validation, so the SAME augmented artifact is validated
510
+ // (Step 4) and ingested (Step 5). Uses only vocab relations/file_types —
511
+ // no vocabulary change required. Persisted back to the artifact file.
512
+ section("Step 2b: deterministic augmentation (graph-augment.mjs)");
513
+ {
514
+ try {
515
+ const { augmentArtifact } =
516
+ await import(join(repoRoot, "scripts", "graph-augment.mjs"));
517
+ const res = augmentArtifact(artifact, repoRoot);
518
+ const { writeFileSync } = await import("node:fs");
519
+ writeFileSync(artifactPath, JSON.stringify(res.artifact, null, 2));
520
+ artifact = res.artifact;
521
+ console.log(`✓ augment: +${res.addedNodes} nodes +${res.addedEdges} edges ` +
522
+ `(sql ${res.per.sql.nodes}n/${res.per.sql.edges}e, ` +
523
+ `routes ${res.per.routes.nodes}n/${res.per.routes.edges}e, ` +
524
+ `schemas ${res.per.schemas.nodes}n/${res.per.schemas.edges}e)`);
525
+ } catch (err) {
526
+ die(`augmentation failed: ${err.message}`);
527
+ }
528
+ }
529
+
266
530
  const nodeCount = artifact.nodes?.length ?? 0;
267
531
  const edgeCount = (artifact.links ?? artifact.edges ?? []).length;
268
532
  const hyperedgeCount = (artifact.hyperedges ?? artifact.graph?.hyperedges ?? []).length;
533
+ const rawBytes = artifactBytes(artifact);
269
534
  console.log(`artifact: ${artifactPath}`);
270
535
  console.log(` nodes=${nodeCount} edges=${edgeCount} hyperedges=${hyperedgeCount}`);
536
+ console.log(` raw size: ${rawBytes} bytes (${(rawBytes / 1048576).toFixed(2)} MB)`);
537
+
538
+ // ── Step 2b: compaction (default ON, --no-compact disables). Removes
539
+ // every field no RPC reads or stores (see the map above) + minifies.
540
+ // Counts and all stored fields are preserved byte-identical.
541
+ if (COMPACT) {
542
+ const { compacted, removedBytes } = compactArtifact(artifact);
543
+ const compactBytes = artifactBytes(compacted);
544
+ const cn = compacted.nodes?.length ?? 0;
545
+ const ce = (compacted.links ?? compacted.edges ?? []).length;
546
+ const ch = (compacted.hyperedges ?? []).length;
547
+ if (cn !== nodeCount || ce !== edgeCount) {
548
+ die(`compaction changed counts (nodes ${nodeCount}->${cn}, edges ${edgeCount}->${ce}) — refusing to publish a compacted artifact that disagrees with the build`);
549
+ }
550
+ console.log(` compacted size: ${compactBytes} bytes (${(compactBytes / 1048576).toFixed(2)} MB)`);
551
+ const entries = Object.entries(removedBytes).sort((a, b) => b[1] - a[1]);
552
+ if (entries.length > 0) {
553
+ console.log(` removed fields:`);
554
+ for (const [k, b] of entries) {
555
+ console.log(` ${k}: ${b} bytes`);
556
+ }
557
+ } else {
558
+ console.log(` (compaction removed nothing — artifact already minimal)`);
559
+ }
560
+ artifact = compacted;
561
+ } else {
562
+ console.log(` (--no-compact given: skipping compaction)`);
563
+ }
564
+ const finalBytes = artifactBytes(artifact);
565
+ const capState = finalBytes > GRAPH_ARTIFACT_SIZE_CAP_BYTES ? "FAIL" : "PASS";
566
+ console.log(` ingest size check (${(GRAPH_ARTIFACT_SIZE_CAP_BYTES / 1048576).toFixed(0)} MB cap): ${finalBytes} bytes — ${capState}`);
567
+ if (capState === "FAIL") {
568
+ console.log(` (artifact exceeds the 25 MB ingest cap even after compaction — ingest WILL be rejected; options: raise the cap via migration, or shard by top-level directory)`);
569
+ }
271
570
 
272
571
  // ── Step 3: resolve the current vocab version (never hardcode — the
273
572
  // vocabulary is the versioned artifact, per B.2.3). graph_vocab_current()
@@ -314,7 +613,54 @@ async function main() {
314
613
  // last-good serving completely untouched (0050's own guarantee), and
315
614
  // (finding 2) the exact validated artifact is persisted content-addressed
316
615
  // in the SAME transaction as promotion.
616
+ //
617
+ // Chunked path: when the minified artifact exceeds the 25 MB cap (or
618
+ // --force-chunked), canonicalize + split into <=8MB parts and ingest via
619
+ // graph_ingest_begin_with_token / graph_ingest_append_with_token /
620
+ // graph_ingest_commit_with_token. Single-call path unchanged otherwise.
317
621
  section("Step 5: graph_ingest_with_token (publish)");
622
+ const useChunked = finalBytes > GRAPH_ARTIFACT_SIZE_CAP_BYTES || FORCE_CHUNKED;
623
+ if (useChunked) {
624
+ const minified = JSON.parse(JSON.stringify(artifact));
625
+ const { meta, chunks, str, sha256, counts } = buildCanonicalText(minified);
626
+ const totalBytes = Buffer.byteLength(str, "utf-8");
627
+ console.log(`chunked ingest: sha=${sha256} textchunks=${chunks.length} nodes=${counts.nodes} links=${counts.links} hyperedges=${counts.hyperedges} total=${totalBytes} bytes`);
628
+ if (DRY_RUN) { console.log("=== DRY-RUN: skipping chunked ingest RPCs ==="); process.exit(0); }
629
+ const { data: beginData, error: beginErr } = await supabase.rpc("graph_ingest_begin_with_token", {
630
+ p_token: ingestToken, p_source_sha: commitSha,
631
+ p_run_id: String(runId), p_workflow_ref: workflowRef,
632
+ p_meta: { vocab_version: vocabVersion, compacted: COMPACT },
633
+ p_declared_node_count: counts.nodes,
634
+ p_declared_link_count: counts.links,
635
+ p_declared_hyperedge_count: counts.hyperedges,
636
+ p_sha256: sha256,
637
+ });
638
+ if (beginErr) die(`CHUNKED BEGIN FAILED: ${beginErr.message}`);
639
+ const uploadId = beginData.upload_id ?? beginData;
640
+ let partNo = 0;
641
+ const append = async (kind, part) => {
642
+ partNo++;
643
+ const bytes = Buffer.byteLength(JSON.stringify(part), "utf-8");
644
+ const { error } = await supabase.rpc("graph_ingest_append_with_token", {
645
+ p_token: ingestToken, p_upload_id: uploadId, p_part_no: partNo, p_kind: kind, p_payload: part,
646
+ });
647
+ if (error) die(`CHUNKED APPEND FAILED part ${partNo} (${kind}): ${error.message}`);
648
+ console.log(` part ${partNo}: kind=${kind} bytes=${bytes}`);
649
+ };
650
+ await append("meta", meta);
651
+ for (const c of chunks) await append("textchunk", c);
652
+ // NOTE: append() JSON-encodes the chunk string as a jsonb string payload;
653
+ // the server concatenates chunk text verbatim (payload #>> '{}').
654
+ const { data: commitData, error: commitErr } = await supabase.rpc("graph_ingest_commit_with_token", {
655
+ p_token: ingestToken, p_upload_id: uploadId,
656
+ });
657
+ if (commitErr) die(`CHUNKED COMMIT FAILED: ${commitErr.message}`);
658
+ console.log(`chunked ingest committed: parts=${partNo} total=${totalBytes} bytes`);
659
+ console.log(JSON.stringify(commitData));
660
+ console.log("");
661
+ console.log("=== SUCCESS ===");
662
+ return;
663
+ }
318
664
  {
319
665
  const { data, error } = await supabase.rpc("graph_ingest_with_token", {
320
666
  p_token: ingestToken,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bragi-gmbh/codebus",
3
- "version": "1.6.6",
3
+ "version": "1.6.7",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "codebus": "bin/codebus.js",