@mirnoorata/codexa 0.5.1 → 0.7.0

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 (74) hide show
  1. package/README.md +46 -5
  2. package/dist/artifacts.js +302 -3
  3. package/dist/artifacts.js.map +1 -1
  4. package/dist/cli.js +60 -1
  5. package/dist/cli.js.map +1 -1
  6. package/dist/codex-contract.js +1 -1
  7. package/dist/eval/scoring.js +3 -0
  8. package/dist/eval/scoring.js.map +1 -1
  9. package/dist/eval/types.d.ts +1 -0
  10. package/dist/eval.js +13 -0
  11. package/dist/eval.js.map +1 -1
  12. package/dist/graph.js +68 -2
  13. package/dist/graph.js.map +1 -1
  14. package/dist/indexer/ranking.js +339 -17
  15. package/dist/indexer/ranking.js.map +1 -1
  16. package/dist/indexer.js +2 -2
  17. package/dist/indexer.js.map +1 -1
  18. package/dist/init.d.ts +3 -0
  19. package/dist/init.js +7 -1
  20. package/dist/init.js.map +1 -1
  21. package/dist/mcp/compaction.js +65 -0
  22. package/dist/mcp/compaction.js.map +1 -1
  23. package/dist/mcp/envelope.js +11 -4
  24. package/dist/mcp/envelope.js.map +1 -1
  25. package/dist/mcp/runtime.d.ts +4 -1
  26. package/dist/mcp/runtime.js +21 -3
  27. package/dist/mcp/runtime.js.map +1 -1
  28. package/dist/mcp/tool-registry.d.ts +19 -7
  29. package/dist/mcp/tool-registry.js +16 -3
  30. package/dist/mcp/tool-registry.js.map +1 -1
  31. package/dist/mcp/tools.d.ts +1 -1
  32. package/dist/mcp/tools.js +59 -30
  33. package/dist/mcp/tools.js.map +1 -1
  34. package/dist/mcp-repo-root.js +45 -45
  35. package/dist/mcp-repo-root.js.map +1 -1
  36. package/dist/mcp.js +7 -6
  37. package/dist/mcp.js.map +1 -1
  38. package/dist/policy-pack.d.ts +37 -0
  39. package/dist/policy-pack.js +274 -0
  40. package/dist/policy-pack.js.map +1 -0
  41. package/dist/prove.d.ts +78 -0
  42. package/dist/prove.js +395 -0
  43. package/dist/prove.js.map +1 -0
  44. package/dist/query/post-edit.js +2 -203
  45. package/dist/query/post-edit.js.map +1 -1
  46. package/dist/query/required-checks.d.ts +13 -0
  47. package/dist/query/required-checks.js +61 -0
  48. package/dist/query/required-checks.js.map +1 -0
  49. package/dist/query/search.js +39 -0
  50. package/dist/query/search.js.map +1 -1
  51. package/dist/query/test-plan.d.ts +1 -0
  52. package/dist/query/test-plan.js +111 -31
  53. package/dist/query/test-plan.js.map +1 -1
  54. package/dist/query/verification-display.d.ts +12 -0
  55. package/dist/query/verification-display.js +150 -0
  56. package/dist/query/verification-display.js.map +1 -0
  57. package/dist/query-data.js +6 -1
  58. package/dist/query-data.js.map +1 -1
  59. package/dist/retrieval.d.ts +47 -1
  60. package/dist/retrieval.js +118 -1
  61. package/dist/retrieval.js.map +1 -1
  62. package/dist/session-memory/derivation.js +3 -0
  63. package/dist/session-memory/derivation.js.map +1 -1
  64. package/dist/types.d.ts +89 -2
  65. package/dist/types.js.map +1 -1
  66. package/integrations/.claude-plugin/marketplace.json +1 -1
  67. package/integrations/claude-code/.claude-plugin/plugin.json +1 -1
  68. package/integrations/claude-code/README.md +8 -1
  69. package/integrations/claude-code/commands/codexa-prove.md +12 -0
  70. package/integrations/claude-code/scripts/cmd/prove.sh +17 -0
  71. package/integrations/claude-code/tests/cmd-smoke.sh +21 -0
  72. package/package.json +1 -1
  73. package/plugins/codexa/.codex-plugin/plugin.json +1 -1
  74. package/plugins/codexa/skills/codexa/SKILL.md +2 -1
package/README.md CHANGED
@@ -7,6 +7,10 @@ Codexa is an edit-lifecycle governance layer for AI coding agents — plan
7
7
  conformance, drift review, and verification crediting — built on a local,
8
8
  deterministic codebase map.
9
9
 
10
+ If Codex or Claude Code is the editor, Codexa is the proof layer: it shows what
11
+ the agent read, what plan it saved, what changed, which checks would earn
12
+ verification credit, and which gaps still need an honest handoff.
13
+
10
14
  In plain English: it reads a repository, builds a compact index of the files,
11
15
  symbols, imports, tests, risks, and workflows it can prove, then gives Codex,
12
16
  Claude Code, or another MCP client small evidence-backed packets before and
@@ -94,13 +98,16 @@ npm link
94
98
  Wire Codexa into another repository:
95
99
 
96
100
  ```bash
97
- codexa init /path/to/project # Codex CLI: .codex/config.toml + hooks
98
- codexa init /path/to/project --claude # also writes a repo-root .mcp.json for Claude Code
101
+ codexa init /path/to/project --policy-pack # Codex CLI: .codex/config.toml + hooks + local proof policies
102
+ codexa init /path/to/project --claude --policy-pack # also writes a repo-root .mcp.json for Claude Code
99
103
  codexa session-start /path/to/project
104
+ codexa prove /path/to/project --task "make this change safely"
100
105
  ```
101
106
 
102
107
  For a start-to-finish first setup, see the
103
108
  [new user tutorial](https://github.com/mirnoorata/codexa/blob/main/docs/guides/new-user-tutorial.md).
109
+ For a host-focused install choice, see
110
+ [No-Brainer Install Guide](https://github.com/mirnoorata/codexa/blob/main/docs/guides/no-brainer-install.md).
104
111
 
105
112
  After `codexa init`, the target repository gets a repo-local `.codex/config.toml`
106
113
  entry that lets Codex discover the Codexa MCP server automatically, and with
@@ -134,6 +141,31 @@ npx -y @mirnoorata/codexa serve /path/to/project --auto-refresh
134
141
  Codexa is also listed in the official MCP registry as
135
142
  `io.github.mirnoorata/codexa` for MCP clients that discover servers there.
136
143
 
144
+ ## Proof cards and policy packs
145
+
146
+ `codexa prove` is the compact "should I trust this agent handoff?" view:
147
+
148
+ ```bash
149
+ codexa prove /path/to/project --task "change auth timeout behavior" --diff
150
+ ```
151
+
152
+ It reports:
153
+
154
+ - index freshness and current dirty-tree state;
155
+ - read-first files selected from the task and graph context;
156
+ - saved `change-plan` snapshot status, including planned edit targets and
157
+ planned tests when a snapshot exists;
158
+ - verification commands, ledger preview, and reported commands/tests/reports
159
+ classified with the same command-credit rules as `post-edit-review`;
160
+ - local policy-pack status and remaining proof gaps.
161
+
162
+ `codexa policy-init /path/to/project` writes a small local policy pack under
163
+ `.codex/policies/` (`verification.json`, `complexity.json`, `security.json`).
164
+ `codexa init /path/to/project --policy-pack` creates the same pack during
165
+ initial setup. The files are plain JSON, are not executable, and are consumed
166
+ by `codexa prove` as bounded local evidence. Neither init nor `policy-init`
167
+ overwrite existing policy files unless `policy-init --force` is passed.
168
+
137
169
  ## Works with any MCP host
138
170
 
139
171
  Codexa is deterministic and model-agnostic — its core indexing, ranking, and
@@ -150,6 +182,13 @@ host, and Codexa is the host's context server. (The one exception is the
150
182
  opt-in, off-by-default semantic lane, which can call a configured embedding
151
183
  provider such as OpenAI — see [Optional Lanes](#optional-lanes).)
152
184
 
185
+ | Host | Best install | What Codexa adds | Notes |
186
+ | --- | --- | --- | --- |
187
+ | Codex CLI | `codexa init <repo>` | Repo-local MCP config, SessionStart, pre/post edit hooks, proof cards | Best default path. |
188
+ | Claude Code | Claude plugin under `integrations/claude-code/` or `codexa init <repo> --claude` | Same MCP engine plus SessionStart, PreToolUse, Stop hook, slash commands including `/codexa-prove` | Use plugin or `.mcp.json`, not both. |
189
+ | Other local MCP hosts | MCP registry entry or `codexa serve <repo>` | Query-only codebase context, impact, drift review, test plans | Host must run where the repo is accessible. |
190
+ | Managed cloud agents | Self-hosted sandbox with Codexa on loopback | Local proof layer without exposing a public Codexa server | Public remote HTTP is intentionally not shipped. |
191
+
153
192
  Token discipline is built in: every tool description states its typical output
154
193
  cost, structured results are budget-compacted with truncation records naming
155
194
  dropped fields, hosts with small MCP result limits can set
@@ -212,14 +251,16 @@ Use Codexa as a guardrail around code changes:
212
251
  the saved snapshot, reports drift, and tells you whether to continue, run
213
252
  tests, inspect, or replan.
214
253
 
215
- 6. Finish with a test plan if verification is unclear.
254
+ 6. Finish with a test plan and proof card.
216
255
  `test_plan` recommends targeted commands and shows what they would cover.
256
+ `proof_card` / `prove` binds the handoff to freshness, a saved plan
257
+ snapshot, local policies, and reported verification evidence.
217
258
 
218
259
  Primary MCP loop:
219
260
 
220
261
  ```text
221
262
  session_context -> search(if target unclear) -> task_brief ->
222
- change_plan(saveSnapshot) -> post_edit_review -> test_plan
263
+ change_plan(saveSnapshot) -> post_edit_review -> test_plan -> proof_card
223
264
  ```
224
265
 
225
266
  ## What Codexa Builds
@@ -267,7 +308,7 @@ writes are allowed; source-file mutation is not exposed through MCP tools.
267
308
  | `codexa explain <repo> --symbol name` | Explain a symbol neighborhood. |
268
309
  | `codexa impact <repo> --file path` | Estimate blast radius for a file or symbol. |
269
310
  | `codexa diff-impact <repo>` | Summarize current dirty worktree impact. |
270
- | `codexa test-plan <repo> --diff` | Recommend targeted tests for current changes. |
311
+ | `codexa test-plan <repo> --diff` | Recommend targeted tests for current changes. Use `--file path` when there is no dirty diff but you already know the target. |
271
312
  | `codexa brief <repo> --task "..."` | Get the default read-first packet before editing. |
272
313
  | `codexa context-pack <repo> --task "..."` | Get a larger task-shaped context packet. |
273
314
  | `codexa focus-brief <repo> --task "..."` | Orient around a broad project question. |
package/dist/artifacts.js CHANGED
@@ -11,6 +11,10 @@ export async function writeArtifacts(index, outputDir) {
11
11
  fs.writeFile(path.join(outputDir, "README.md"), renderReadme(index), "utf8"),
12
12
  fs.writeFile(path.join(outputDir, "codex-contract.md"), renderCodexUseContract(index.freshness), "utf8"),
13
13
  fs.writeFile(path.join(outputDir, "repo-map.md"), renderRepoMap(index), "utf8"),
14
+ fs.writeFile(path.join(outputDir, "relational-packets.md"), renderRelationalPackets(index), "utf8"),
15
+ fs.writeFile(path.join(outputDir, "relational-packets.json"), renderRelationalPacketsJson(index), "utf8"),
16
+ fs.writeFile(path.join(outputDir, "relational-graph.json"), renderRelationalGraphJson(index), "utf8"),
17
+ fs.writeFile(path.join(outputDir, "packet-summary-prompts.ndjson"), renderPacketSummaryPrompts(index), "utf8"),
14
18
  fs.writeFile(path.join(outputDir, "risk-map.md"), renderRiskMap(index), "utf8"),
15
19
  fs.writeFile(path.join(outputDir, "placeholder-map.md"), renderPlaceholderMap(index), "utf8"),
16
20
  fs.writeFile(path.join(outputDir, "test-map.md"), renderTestMap(index), "utf8"),
@@ -54,6 +58,11 @@ dirty-diff review, and targeted test planning.
54
58
  Use \`search\` as the first-class target-discovery surface when a task is
55
59
  ambiguous; it combines raw hits, semantic retrieval when configured, Codexa
56
60
  ranking, likely tests, and gaps before \`task_brief\`.
61
+ Read \`relational-packets.md\` when exact grep misses but the task likely maps
62
+ to a process, symbol neighborhood, or module cluster.
63
+ Use \`relational-packets.json\`, \`relational-graph.json\`, and
64
+ \`packet-summary-prompts.ndjson\` for tools that need bounded structured packet
65
+ data, graph visualization input, or explicit opt-in summary jobs.
57
66
  Read \`codex-contract.md\` first when a new Codex session needs the automatic-use
58
67
  rules without loading broader maps.
59
68
 
@@ -88,6 +97,248 @@ ${rankSymbols(index)
88
97
  .join("\n")}
89
98
  `;
90
99
  }
100
+ function renderRelationalPackets(index) {
101
+ return `# Relational Packets
102
+
103
+ These generated packets summarize process traces and graph-aware module
104
+ clusters precomputed at index time. They are read-first guidance, not proof;
105
+ verify the cited source paths before editing.
106
+
107
+ Structured companion artifacts:
108
+
109
+ - \`relational-packets.json\` - bounded process and cluster packets.
110
+ - \`relational-graph.json\` - graph-view export for files, workflows, modules, and edges.
111
+ - \`packet-summary-prompts.ndjson\` - opt-in summary prompts; Codexa does not call a model during indexing.
112
+
113
+ ## Process Packets
114
+
115
+ ${index.workflows
116
+ .slice(0, 60)
117
+ .map((workflow) => `### ${workflow.title}
118
+
119
+ - Kind: ${workflow.workflowKind}
120
+ - Process: ${workflow.processKind ?? "unknown"}
121
+ - Entry score: ${workflow.entryScore ?? 0}
122
+ - Confidence: ${workflow.confidence}
123
+ - Entry: \`${formatPathLine(workflow.entryPath, workflow.range?.startLine)}\`
124
+ - Terminals: ${(workflow.terminalFiles ?? []).slice(0, 8).map((file) => `\`${file}\``).join(", ") || "none"}
125
+ - Modules: ${(workflow.relatedModules ?? []).slice(0, 8).join(", ") || "none"}
126
+ - Tests: ${workflow.tests.slice(0, 8).map((file) => `\`${file}\``).join(", ") || "none"}
127
+ - Evidence: ${evidenceCountText(workflow.evidenceCounts)}
128
+
129
+ ${workflow.summary}
130
+ `)
131
+ .join("\n") || "- none detected"}
132
+
133
+ ## Cluster Packets
134
+
135
+ ${index.modules
136
+ .slice(0, 60)
137
+ .map((module) => `### ${module.name}
138
+
139
+ - Kind: ${module.clusterKind ?? "path"}
140
+ - Rank: ${module.rank.toFixed(2)}
141
+ - Relations: ${module.relationCount ?? 0} total, ${module.crossModuleRelationCount ?? 0} cross-module
142
+ - Read first: ${(module.topFiles ?? module.files).slice(0, 8).map((file) => `\`${file}\``).join(", ") || "none"}
143
+ - Symbols: ${(module.topSymbols ?? []).slice(0, 8).map((symbol) => `\`${symbol}\``).join(", ") || "none"}
144
+ - Workflows: ${(module.workflows ?? []).slice(0, 6).join(", ") || "none"}
145
+ - Tests: ${(module.tests ?? []).slice(0, 6).map((file) => `\`${file}\``).join(", ") || "none"}
146
+ - Risks: ${(module.risks ?? []).slice(0, 6).join(", ") || "none"}
147
+ - Evidence: ${evidenceCountText(module.evidenceCounts)}
148
+
149
+ ${module.summary}
150
+ `)
151
+ .join("\n") || "- none detected"}
152
+ `;
153
+ }
154
+ function renderRelationalPacketsJson(index) {
155
+ const packetStore = {
156
+ schemaVersion: 1,
157
+ generatedAt: index.snapshot.indexedAt,
158
+ snapshot: {
159
+ snapshotId: index.snapshot.snapshotId,
160
+ headCommit: index.snapshot.headCommit,
161
+ freshness: index.freshness.reason
162
+ },
163
+ artifacts: {
164
+ markdown: "relational-packets.md",
165
+ graph: "relational-graph.json",
166
+ summaryPrompts: "packet-summary-prompts.ndjson"
167
+ },
168
+ processPackets: index.workflows.slice(0, 120).map((workflow) => ({
169
+ id: workflow.id,
170
+ title: workflow.title,
171
+ workflowKind: workflow.workflowKind,
172
+ processKind: workflow.processKind,
173
+ entryScore: workflow.entryScore,
174
+ confidence: workflow.confidence,
175
+ entryPath: workflow.entryPath,
176
+ entryLine: workflow.range?.startLine,
177
+ relatedFiles: workflow.relatedFiles.slice(0, 40),
178
+ terminalFiles: (workflow.terminalFiles ?? []).slice(0, 12),
179
+ relatedModules: (workflow.relatedModules ?? []).slice(0, 12),
180
+ tests: workflow.tests.slice(0, 20),
181
+ stepCounts: workflow.stepCounts,
182
+ evidenceCounts: workflow.evidenceCounts,
183
+ summary: workflow.summary,
184
+ truncation: workflow.truncation
185
+ })),
186
+ clusterPackets: index.modules.slice(0, 120).map((module) => ({
187
+ id: module.id,
188
+ name: module.name,
189
+ clusterKind: module.clusterKind ?? "path",
190
+ confidence: module.confidence,
191
+ rank: roundNumber(module.rank),
192
+ communityScore: module.communityScore,
193
+ sourceModules: (module.sourceModules ?? []).slice(0, 16),
194
+ files: module.files.slice(0, 40),
195
+ topFiles: (module.topFiles ?? module.files).slice(0, 16),
196
+ topSymbols: (module.topSymbols ?? []).slice(0, 24),
197
+ workflows: (module.workflows ?? []).slice(0, 20),
198
+ tests: (module.tests ?? []).slice(0, 20),
199
+ risks: (module.risks ?? []).slice(0, 20),
200
+ relationCount: module.relationCount ?? 0,
201
+ crossModuleRelationCount: module.crossModuleRelationCount ?? 0,
202
+ evidenceCounts: module.evidenceCounts,
203
+ evidenceProfile: module.evidenceProfile,
204
+ summarySource: module.summarySource ?? "deterministic",
205
+ summaryPrompt: module.summaryPrompt,
206
+ summary: module.summary,
207
+ truncation: module.truncation
208
+ }))
209
+ };
210
+ return `${JSON.stringify(packetStore, null, 2)}\n`;
211
+ }
212
+ function renderRelationalGraphJson(index) {
213
+ const nodes = new Map();
214
+ const edges = [];
215
+ const topFiles = new Set();
216
+ for (const file of index.files.slice(0, 180)) {
217
+ topFiles.add(file.path);
218
+ }
219
+ for (const workflow of index.workflows.slice(0, 80)) {
220
+ topFiles.add(workflow.entryPath);
221
+ for (const file of [...workflow.relatedFiles, ...(workflow.terminalFiles ?? []), ...workflow.tests].slice(0, 40)) {
222
+ topFiles.add(file);
223
+ }
224
+ }
225
+ for (const module of index.modules.slice(0, 80)) {
226
+ for (const file of (module.topFiles ?? module.files).slice(0, 16)) {
227
+ topFiles.add(file);
228
+ }
229
+ }
230
+ for (const file of index.files.filter((file) => topFiles.has(file.path)).slice(0, 240)) {
231
+ nodes.set(fileNodeId(file.path), {
232
+ id: fileNodeId(file.path),
233
+ type: "file",
234
+ label: file.path,
235
+ path: file.path,
236
+ rank: roundNumber(file.rank),
237
+ language: file.language,
238
+ test: file.test,
239
+ generated: file.generated
240
+ });
241
+ }
242
+ for (const workflow of index.workflows.slice(0, 80)) {
243
+ nodes.set(workflowNodeId(workflow.id), {
244
+ id: workflowNodeId(workflow.id),
245
+ type: "workflow",
246
+ label: workflow.title,
247
+ workflowKind: workflow.workflowKind,
248
+ processKind: workflow.processKind,
249
+ entryScore: workflow.entryScore,
250
+ confidence: workflow.confidence
251
+ });
252
+ for (const file of uniqueGraphFiles([workflow.entryPath, ...workflow.relatedFiles, ...(workflow.terminalFiles ?? []), ...workflow.tests]).slice(0, 40)) {
253
+ if (nodes.has(fileNodeId(file))) {
254
+ edges.push({ id: `workflow:${workflow.id}:${file}`, kind: "TOUCHES", source: workflowNodeId(workflow.id), target: fileNodeId(file), confidence: workflow.confidence });
255
+ }
256
+ }
257
+ }
258
+ for (const module of index.modules.slice(0, 80)) {
259
+ nodes.set(moduleNodeId(module.id), {
260
+ id: moduleNodeId(module.id),
261
+ type: "module",
262
+ label: module.name,
263
+ clusterKind: module.clusterKind ?? "path",
264
+ rank: roundNumber(module.rank),
265
+ communityScore: module.communityScore,
266
+ sourceModules: (module.sourceModules ?? []).slice(0, 12)
267
+ });
268
+ for (const file of (module.topFiles ?? module.files).slice(0, 16)) {
269
+ if (nodes.has(fileNodeId(file))) {
270
+ edges.push({ id: `module:${module.id}:${file}`, kind: "CONTAINS", source: moduleNodeId(module.id), target: fileNodeId(file), confidence: module.confidence });
271
+ }
272
+ }
273
+ }
274
+ for (const edge of index.graphEdges
275
+ .filter((edge) => edge.fromPath && edge.toPath && nodes.has(fileNodeId(edge.fromPath)) && nodes.has(fileNodeId(edge.toPath)))
276
+ .sort((a, b) => b.weight - a.weight || a.edgeKind.localeCompare(b.edgeKind) || (a.fromPath ?? "").localeCompare(b.fromPath ?? "") || (a.toPath ?? "").localeCompare(b.toPath ?? ""))
277
+ .slice(0, 600)) {
278
+ edges.push({
279
+ id: `graph:${edge.id}`,
280
+ kind: edge.edgeKind,
281
+ source: fileNodeId(edge.fromPath),
282
+ target: fileNodeId(edge.toPath),
283
+ confidence: edge.confidence,
284
+ factSource: edge.source,
285
+ weight: roundNumber(edge.weight),
286
+ reason: edge.reason
287
+ });
288
+ }
289
+ const graphEdgesReturned = edges.filter((edge) => typeof edge.id === "string" && String(edge.id).startsWith("graph:")).length;
290
+ const graph = {
291
+ schemaVersion: 1,
292
+ generatedAt: index.snapshot.indexedAt,
293
+ snapshotId: index.snapshot.snapshotId,
294
+ nodes: [...nodes.values()].sort((a, b) => String(a.id).localeCompare(String(b.id))),
295
+ edges: dedupeGraphExportEdges(edges).sort((a, b) => String(a.id).localeCompare(String(b.id))),
296
+ truncation: {
297
+ files: { total: index.files.length, returned: [...nodes.values()].filter((node) => node.type === "file").length },
298
+ workflows: { total: index.workflows.length, returned: Math.min(index.workflows.length, 80) },
299
+ modules: { total: index.modules.length, returned: Math.min(index.modules.length, 80) },
300
+ graphEdges: { total: index.graphEdges.length, returned: graphEdgesReturned }
301
+ }
302
+ };
303
+ return `${JSON.stringify(graph, null, 2)}\n`;
304
+ }
305
+ function renderPacketSummaryPrompts(index) {
306
+ const prompts = [
307
+ ...index.workflows.slice(0, 80).map((workflow) => workflowSummaryPromptRecord(workflow)),
308
+ ...index.modules.slice(0, 80).map((module) => moduleSummaryPromptRecord(module))
309
+ ];
310
+ return `${prompts.map((prompt) => JSON.stringify(prompt)).join("\n")}\n`;
311
+ }
312
+ function workflowSummaryPromptRecord(workflow) {
313
+ const inputFiles = uniqueGraphFiles([workflow.entryPath, ...workflow.relatedFiles, ...(workflow.terminalFiles ?? []), ...workflow.tests]).slice(0, 40);
314
+ return {
315
+ schemaVersion: 1,
316
+ kind: "workflow",
317
+ id: workflow.id,
318
+ title: workflow.title,
319
+ summarySource: "llm-ready",
320
+ inputFiles,
321
+ prompt: [
322
+ `Summarize workflow "${workflow.title}" for a coding agent using only cited files.`,
323
+ `Cover process boundaries, entry path, terminal files, tests, and confidence gaps.`,
324
+ `Entry: ${workflow.entryPath}.`,
325
+ `Files: ${inputFiles.slice(0, 16).join(", ") || "none"}.`
326
+ ].join(" ")
327
+ };
328
+ }
329
+ function moduleSummaryPromptRecord(module) {
330
+ const inputFiles = (module.topFiles ?? module.files).slice(0, 40);
331
+ return {
332
+ schemaVersion: 1,
333
+ kind: "module",
334
+ id: module.id,
335
+ name: module.name,
336
+ clusterKind: module.clusterKind ?? "path",
337
+ summarySource: "llm-ready",
338
+ inputFiles,
339
+ prompt: module.summaryPrompt ?? `Summarize module cluster "${module.name}" for a coding agent using only cited files. Files: ${inputFiles.join(", ") || "none"}.`
340
+ };
341
+ }
91
342
  function renderRiskMap(index) {
92
343
  const riskyFiles = topBy(index.files, (file) => file.riskScore + file.rankReasons.dirtyRisk + file.rankReasons.publicSurface, 40);
93
344
  return `# Risk Map
@@ -217,9 +468,10 @@ function renderConventions(index) {
217
468
  - Use \`session_memory\` to recall or explicitly save session-local working
218
469
  memory. Auto-recorded \`viewed\` entries are Codexa-derived; agent claims stay
219
470
  agent-asserted and must not be promoted into codebase facts.
220
- - Use \`focus_brief\` for broad natural-language tasks before falling back to
221
- top-ranked files. Use \`workflow_path\` for route/job/process changes and
222
- \`dependency_path\` for explicit source-to-target relationship questions.
471
+ - Use \`focus_brief\` for broad natural-language tasks, then narrow with
472
+ \`search\`, \`repo_map\`, or explicit files before verification planning. Use
473
+ \`workflow_path\` for route/job/process changes and \`dependency_path\` for
474
+ explicit source-to-target relationship questions.
223
475
  - Rule signals cover queue/run lifecycle, generator-node invariants,
224
476
  manifest/adapter contracts, managed output, frontend polling, and
225
477
  release/service-control boundaries when those facts are present.
@@ -240,7 +492,11 @@ ${index.workflows
240
492
  - Kind: ${workflow.workflowKind}
241
493
  - Confidence: ${workflow.confidence}
242
494
  - Rank: ${workflow.rank.toFixed(2)}
495
+ - Process: ${workflow.processKind ?? "unknown"}
496
+ - Entry score: ${workflow.entryScore ?? 0}
243
497
  - Entry: \`${formatPathLine(workflow.entryPath, workflow.range?.startLine)}\`
498
+ - Terminals: ${(workflow.terminalFiles ?? []).slice(0, 8).map((file) => `\`${file}\``).join(", ") || "none"}
499
+ - Modules: ${(workflow.relatedModules ?? []).slice(0, 8).join(", ") || "none"}
244
500
  - Related files: ${workflow.relatedFiles.slice(0, 8).map((file) => `\`${file}\``).join(", ") || "none"}
245
501
  - Tests: ${workflow.tests.slice(0, 8).map((file) => `\`${file}\``).join(", ") || "none"}
246
502
 
@@ -325,6 +581,15 @@ function renderModule(index, module) {
325
581
 
326
582
  ${module.summary}
327
583
 
584
+ ## Packet Summary
585
+
586
+ - Kind: ${module.clusterKind ?? "path"}
587
+ - Relations: ${module.relationCount ?? 0} total, ${module.crossModuleRelationCount ?? 0} cross-module
588
+ - Top symbols: ${(module.topSymbols ?? []).slice(0, 8).map((symbol) => `\`${symbol}\``).join(", ") || "none"}
589
+ - Workflows: ${(module.workflows ?? []).slice(0, 6).join(", ") || "none"}
590
+ - Tests: ${(module.tests ?? []).slice(0, 6).map((file) => `\`${file}\``).join(", ") || "none"}
591
+ - Risks: ${(module.risks ?? []).slice(0, 6).join(", ") || "none"}
592
+
328
593
  ## Read First
329
594
 
330
595
  ${files.slice(0, 12).map((file) => `- \`${file.path}\` - rank ${file.rank.toFixed(2)} (${rankReasonText(file)})`).join("\n")}
@@ -360,6 +625,40 @@ function symbolScore(symbol, fileRanks, usageCounts) {
360
625
  const kindBoost = ["route", "class", "function", "method"].includes(symbol.kind) ? 1 : 0;
361
626
  return (fileRanks.get(symbol.path) ?? 0) + Math.log2((usageCounts.get(symbol.id) ?? 0) + 1) + (symbol.exported ? 2 : 0) + kindBoost;
362
627
  }
628
+ function evidenceCountText(counts) {
629
+ const entries = Object.entries(counts ?? {})
630
+ .filter(([, value]) => (value ?? 0) > 0)
631
+ .sort(([a], [b]) => a.localeCompare(b));
632
+ return entries.length > 0 ? entries.map(([key, value]) => `${key} ${value ?? 0}`).join(", ") : "none";
633
+ }
634
+ function roundNumber(value) {
635
+ return Number(value.toFixed(4));
636
+ }
637
+ function fileNodeId(filePath) {
638
+ return `file:${filePath}`;
639
+ }
640
+ function workflowNodeId(id) {
641
+ return `workflow:${id}`;
642
+ }
643
+ function moduleNodeId(id) {
644
+ return `module:${id}`;
645
+ }
646
+ function uniqueGraphFiles(files) {
647
+ return [...new Set(files.filter(Boolean))].sort((a, b) => a.localeCompare(b));
648
+ }
649
+ function dedupeGraphExportEdges(edges) {
650
+ const seen = new Set();
651
+ const result = [];
652
+ for (const edge of edges) {
653
+ const key = String(edge.id);
654
+ if (seen.has(key)) {
655
+ continue;
656
+ }
657
+ seen.add(key);
658
+ result.push(edge);
659
+ }
660
+ return result;
661
+ }
363
662
  function table(headers, rows) {
364
663
  const escapedHeaders = headers.map(escapeMarkdown);
365
664
  const escapedRows = rows.map((row) => row.map(escapeMarkdown));
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}