From 8bde4644f074ecd5a8e4d41b0e1832384d2ba98f Mon Sep 17 00:00:00 2001 From: Aryam Goyal Date: Wed, 12 Aug 2026 21:18:02 +0530 Subject: [PATCH 1/3] feat: add impact graph and repository benchmark --- CHANGELOG.md | 20 + README.md | 33 +- action.yml | 4 +- apps/web/app/_components/product-map.tsx | 4 +- apps/web/app/changelog/page.tsx | 31 +- apps/web/app/demo.tsx | 12 + apps/web/app/docs/page.tsx | 12 +- apps/web/app/evidence/page.tsx | 23 ++ apps/web/app/get-started/page.tsx | 5 + apps/web/app/page.tsx | 8 +- apps/web/app/product/page.tsx | 24 +- apps/web/app/sample-repo.ts | 18 +- apps/web/package.json | 2 +- benchmarks/adversarial/results.json | 12 +- benchmarks/agent-study/protocol.json | 35 ++ docs/AGENT_STUDY.md | 33 ++ docs/assets/fixmap-cli-demo.svg | 43 ++- .../releases/v0.9.0-post-release-checklist.md | 13 + docs/releases/v0.9.0-release-notes-draft.md | 25 ++ docs/releases/v0.9.0-verification.md | 45 +++ .../reports/declines-fabricated-identifier.md | 9 +- examples/reports/declines-unmatched-terms.md | 9 +- examples/reports/declines-vague-task.md | 9 +- examples/reports/workspace-api-discount.md | 10 +- examples/reports/workspace-utils-rounding.md | 9 +- package-lock.json | 16 +- package.json | 9 +- packages/action/action.yml | 4 +- packages/action/dist/index.mjs | 291 +++++++++++++- packages/action/package.json | 4 +- packages/action/src/runner.ts | 1 + packages/cli/README.md | 27 +- packages/cli/package.json | 6 +- packages/cli/src/agent-setup.ts | 9 +- packages/cli/src/benchmark.ts | 364 ++++++++++++++++++ packages/cli/src/cli-runner.ts | 91 ++++- packages/cli/src/mcp.ts | 27 +- packages/cli/test/benchmark.test.ts | 63 +++ packages/cli/test/cli-runner.test.ts | 68 +++- packages/cli/test/mcp.test.ts | 18 +- packages/core/README.md | 7 +- packages/core/package.json | 4 +- packages/core/src/browser.ts | 7 +- packages/core/src/impact.ts | 156 ++++++++ packages/core/src/index.ts | 9 +- packages/core/src/plan.ts | 4 +- packages/core/src/repo-scan.ts | 149 ++++++- packages/core/src/report.ts | 64 ++- packages/core/src/retrieval.ts | 92 +++++ packages/core/src/types.ts | 54 ++- packages/core/src/validate.ts | 27 ++ packages/core/src/verify.ts | 31 +- packages/core/test/entrypoints.test.ts | 2 + packages/core/test/impact.test.ts | 108 ++++++ packages/core/test/repo-scan.test.ts | 44 +++ packages/core/test/validate.test.ts | 28 ++ scripts/evaluate-agent-study.mjs | 77 ++++ server.json | 6 +- 58 files changed, 2189 insertions(+), 126 deletions(-) create mode 100644 benchmarks/agent-study/protocol.json create mode 100644 docs/AGENT_STUDY.md create mode 100644 docs/releases/v0.9.0-post-release-checklist.md create mode 100644 docs/releases/v0.9.0-release-notes-draft.md create mode 100644 docs/releases/v0.9.0-verification.md create mode 100644 packages/cli/src/benchmark.ts create mode 100644 packages/cli/test/benchmark.test.ts create mode 100644 packages/core/src/impact.ts create mode 100644 packages/core/src/retrieval.ts create mode 100644 packages/core/test/impact.test.ts create mode 100644 scripts/evaluate-agent-study.mjs diff --git a/CHANGELOG.md b/CHANGELOG.md index 82299d3..8c945d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,26 @@ Accuracy figures inside a released entry are the numbers measured **at that rele left as written. The current numbers live on the [evidence page](https://usefixmap.vercel.app/evidence), which is generated from the recorded results rather than transcribed by hand. +## 0.9.0 - 2026-08-12 + +### Added + +- Every plan now contains a separate Impact Graph built from direct imports, reverse dependents, routed tests, and repeated Git co-change relationships. Each relationship carries its evidence, confidence, and inspection order; generated and backup artifacts stay excluded. +- `fixmap benchmark --repo . --last 50` backtests BM25-over-code, FixMap context, and FixMap with Impact Graph on identical historical parent-snapshot corpora. It reports all, path-mentioned, and unmentioned cohorts, Wilson intervals, raw cases, skip counts, and secondary-file recall without executing repository code. +- `fixmap plan --format agent` emits a compact, stable handoff organized as EDIT CANDIDATE, INSPECT, TEST, RISK, AVOID, and UNCERTAINTY. +- A frozen four-arm agent-study protocol and validator are checked in for future controlled measurements. No agent-effectiveness or time-saved claim is made without completed, auditable runs. + +### Improved + +- Verify recalculates impact around the files actually changed and adds advisory findings for high-evidence related paths outside the original plan. +- Plan, MCP, the GitHub Action, slash-command discovery, the live demo, package documentation, and the website all expose the new impact evidence consistently. +- Git-history collection is bounded, cached, non-executing, and explicit about shallow, truncated, missing, or unreadable history. Import and test relationships continue to work when history is unavailable. + +### Evidence and release engineering + +- The original held-out benchmark and its honest BM25 comparison remain unchanged. The repository benchmark is a separate local backtest and does not rewrite frozen evidence. +- The release candidate must pass workspace typechecking, all automated tests, lint, dependency audits, production builds, metadata and generated-artifact checks, package and Action smoke tests, evaluation gates, the agent-study protocol check, scanner performance checks, and desktop/mobile browser verification before any release or deployment action. + ## 0.8.9 - 2026-08-11 ### Added diff --git a/README.md b/README.md index c8ac781..c28ab4e 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Know where to edit before the first edit. -Paste a GitHub issue URL, describe a task, or point at a diff. FixMap returns ranked context files, reachable test commands, risk notes, and explicit diagnostics—without an account, API key, or model call. +Paste a GitHub issue URL, describe a task, or point at a diff. FixMap returns ranked context, an evidence-backed Impact Graph, reachable test commands, risks, and explicit uncertainty—without an account, API key, or model call. [![CI](https://github.com/aryamthecodebreaker/FixMap/actions/workflows/ci.yml/badge.svg)](https://github.com/aryamthecodebreaker/FixMap/actions/workflows/ci.yml) [![npm](https://img.shields.io/npm/v/%40aryam%2Ffixmap)](https://www.npmjs.com/package/@aryam/fixmap) @@ -51,6 +51,20 @@ Save a plan before editing: fixmap plan --issue "password reset emails fail" --format json --output plan.json ``` +The plan separates primary context from likely impact: imports, reverse dependents, routed tests, and repeated Git co-change relationships. Impact files are places to inspect, not assumed edits. + +Measure BM25, FixMap, and Impact Graph on your own repository's history: + +```bash +fixmap benchmark --repo . --last 50 +``` + +Use compact headings in an agent context window: + +```bash +fixmap plan --issue "password reset emails fail" --format agent +``` + Ask why an expected path is missing: ```bash @@ -99,17 +113,25 @@ Use `--working-tree` for staged and unstaged tracked edits, `--include-untracked - Explains task grounding, ranking shape, unresolved or partially matched identifiers, exclusions, scan limits, unread content, skipped submodules, empty diffs, and Git failures. - Supports a strict decimal `--limit`, repeatable `--exclude`, and ordered `.fixmapignore` patterns with negation. Root-leading patterns are repository-relative, pasted absolute paths inside the repository are normalized, and patterns that match nothing produce a warning. Limits change only how many rows are shown, never confidence or ranking-shape analysis. +### Impact Graph and repository benchmark + +- Builds a separate likely-impact view from direct imports, reverse dependents, routed tests, and Git files that repeatedly changed with a primary ranked file. +- Reads at most 1,000 non-merge commits, excludes commits touching more than 30 files, requires at least two co-occurrences, and marks shallow or unavailable history instead of inventing evidence. +- Recalculates impact around files actually changed during Verify and identifies high-evidence dependents outside the original plan as inspection notes, never mandatory edits. +- `fixmap benchmark --repo . --last 50` evaluates BM25-over-code, ordinary FixMap context, and Impact Graph against historical parent snapshots. Every case's history stops before its target change, all arms see one scanned corpus, and mentioned/unmentioned tasks are reported separately. +- Benchmark Markdown and versioned JSON include Wilson intervals, excluded-case counts, secondary-file recall, safeguards, and raw per-case outcomes. Historical commit messages are a repository-specific backtest, never proof of agent savings. + ### Exclusion pattern syntax `--exclude` and `.fixmapignore` use repository-relative gitignore-style patterns. `/docs/**` anchors at the repository root, `docs/**` matches the same root directory and nested occurrences, `!docs/keep.md` re-includes a path after an earlier exclusion, and trailing `/` targets a directory. `*`, `?`, and `**` are supported; brace groups such as `{src,test}` are literal text, not alternation. Pass repeated `--exclude` flags or put one pattern per `.fixmapignore` line so commas in literal names stay unambiguous. -- Produces Markdown for people or versioned JSON for tools, writes to `--output`, and gives one grounded next action. +- Produces Markdown for people, versioned JSON for tools, or `--format agent` for compact `EDIT CANDIDATE`/`INSPECT`/`TEST`/`RISK`/`AVOID`/`UNCERTAINTY` sections; writes any format with `--output`. ### Explain, Compare, Verify, Validate, and Doctor - **Explain** tells you whether a path ranked, fell below the cutoff, was excluded, resolves through a submodule, or was never scanned—and uses the same task and diff evidence as Plan. - **Compare** shows files that entered, left, moved, or changed confidence after the task was refined, plus changes in task grounding. -- **Verify** compares a saved JSON plan with a diff or working tree and flags generated edits, unmapped changes, an untouched leading file, source changes without tests, newly reached risk areas, and plan/repository mismatches. It fails on errors by default; `--fail-on warning` and the Action's `fail-on: warning` turn advisory findings into an opt-in CI gate. +- **Verify** compares a saved JSON plan with a diff or working tree, recalculates impact, and flags generated edits, unmapped changes, an untouched leading file, source changes without tests, newly reached risk areas, and plan/repository mismatches. It fails on errors by default; `--fail-on warning` and the Action's `fail-on: warning` turn advisory findings into an opt-in CI gate. - **Validate** checks any saved JSON report with the structural compatibility validator shared by Compare, Verify, the Action, and MCP. - **Doctor** prints the running version and executable path and diagnoses project, global, PATH, and npm-exec version shadows. - `FIXMAP_PROGRESS` controls remote clone/scan progress, and `FIXMAP_VERBOSE_USAGE` restores full usage text after argument errors. @@ -124,7 +146,7 @@ Use `--working-tree` for staged and unstaged tracked edits, `--include-untracked ### TypeScript library -- `@aryam/fixmap-core` exposes repository scanning, exclusion resolution, ranking, task grounding, language and import-proximity analysis, test/risk routing, report validation, and Markdown/JSON rendering. +- `@aryam/fixmap-core` exposes repository scanning, exclusion resolution, ranking, Impact Graph construction, BM25 retrieval, task grounding, language/import analysis, test/risk routing, report validation, and Markdown/JSON/agent rendering. - Its public API also exposes Explain, Compare, and Verify builders and result types, so another tool can compose the same workflow without shelling out to the CLI. - The `@aryam/fixmap-core/browser` entry runs the filesystem-free report, comparison, explanation, verification, and rendering logic in a browser bundle. @@ -139,6 +161,7 @@ Use `--working-tree` for staged and unstaged tracked edits, `--include-untracked ## What the report contains - Ranked context files with scores, confidence, and evidence. +- Likely impact files with relationship-specific evidence, confidence, history coverage, and inspection order. - Test routes that correspond to commands the repository actually declares. - Six bounded risk areas: authentication, billing, automation, data, public API, and dependencies. - Diagnostics for uncertainty, unread content, scan boundaries, excluded matches, and unresolved diffs. @@ -187,7 +210,7 @@ jobs: - uses: actions/checkout@v7 with: fetch-depth: 0 - - uses: aryamthecodebreaker/FixMap@v0.8.9 + - uses: aryamthecodebreaker/FixMap@v0.9.0 with: github-token: ${{ secrets.GITHUB_TOKEN }} ``` diff --git a/action.yml b/action.yml index 93228f2..cb3ff18 100644 --- a/action.yml +++ b/action.yml @@ -1,9 +1,9 @@ name: FixMap -description: Map pull request changes to context files, test routes, and review risks. +description: Map pull request changes to primary context, likely impact, test routes, and review risks. inputs: mode: description: >- - plan (default) maps the change to context files, test routes, and review risks. + plan (default) maps the change to context files, likely impact, test routes, and review risks. verify compares a saved plan against the diff that followed it and needs report-path. Explain and compare are intentionally CLI/MCP-only because Action comments operate on complete reports. required: false diff --git a/apps/web/app/_components/product-map.tsx b/apps/web/app/_components/product-map.tsx index 390cbaf..b3a2f68 100644 --- a/apps/web/app/_components/product-map.tsx +++ b/apps/web/app/_components/product-map.tsx @@ -13,8 +13,8 @@ const outputs = [ }, { icon: CheckCircle, - title: "Checks to run", - items: report.testRoutes.map((route) => route.command) + title: "Likely impact", + items: report.impact?.files.slice(0, 3).map((file) => `${file.path} · ${file.evidence[0]?.kind}`) ?? [] }, { icon: Warning, diff --git a/apps/web/app/changelog/page.tsx b/apps/web/app/changelog/page.tsx index 483d984..60e05d3 100644 --- a/apps/web/app/changelog/page.tsx +++ b/apps/web/app/changelog/page.tsx @@ -43,10 +43,39 @@ type Release = { }; const releases: Release[] = [ + { + version: "0.9.0", + date: "August 12, 2026", + label: "Latest release", + summary: "Impact Graph, compact agent output, and honest repository-local benchmarking form FixMap's first feature release.", + groups: [ + { + label: "Added", + items: [ + "Every plan now separates primary task-ranked context from likely impact backed by imports, reverse dependents, routed tests, and repeated Git co-change evidence.", + "fixmap benchmark compares BM25, FixMap, and Impact Graph on identical historical parent snapshots without executing repository code.", + "Compact agent output provides a stable edit, inspect, test, risk, avoid, and uncertainty handoff." + ] + }, + { + label: "Improved", + items: [ + "Verify recalculates impact around the actual diff and keeps newly related paths advisory.", + "CLI, MCP, GitHub Action, slash-command discovery, live demo, docs, and website expose the impact evidence consistently." + ] + }, + { + label: "Evidence", + items: [ + "The repository benchmark reports mentioned and unmentioned cohorts, Wilson intervals, raw cases, skip counts, and secondary-file recall.", + "A frozen agent-study protocol is published without claiming an effectiveness result before controlled runs exist." + ] + } + ] + }, { version: "0.8.9", date: "August 11, 2026", - label: "Latest release", summary: "A complete reliability sweep across ranking, verification, agent discovery, workflows, evidence, and the public product surface.", groups: [ { diff --git a/apps/web/app/demo.tsx b/apps/web/app/demo.tsx index f587dcd..cf58109 100644 --- a/apps/web/app/demo.tsx +++ b/apps/web/app/demo.tsx @@ -240,6 +240,18 @@ function PlanPanel({ report }: { report: ReturnType {report.testRoutes[0]!.command} ) : null} + + {report.impact?.files.length ? ( +
+

Likely impact · inspect, not assumed edits

+ {report.impact.files.slice(0, 5).map((file) => ( +

+ {file.confidence} + {file.path} — {file.evidence.map((entry) => entry.reason).join("; ")} +

+ ))} +
+ ) : null} {report.testRoutes[0]?.relatedFiles.length ? (

Nearest test: {report.testRoutes[0]!.relatedFiles[0]} diff --git a/apps/web/app/docs/page.tsx b/apps/web/app/docs/page.tsx index 5e88d15..0a4cedf 100644 --- a/apps/web/app/docs/page.tsx +++ b/apps/web/app/docs/page.tsx @@ -14,7 +14,7 @@ import { commands, repoUrl } from "../_lib/site-data"; export const metadata: Metadata = { title: "Documentation", - description: "FixMap documentation for slash-command discovery, planning, explaining, comparing, verifying, validating, MCP, and GitHub Actions.", + description: "FixMap documentation for Impact Graph, repository benchmarking, compact agent output, planning, explaining, comparing, verifying, MCP, and GitHub Actions.", alternates: { canonical: "/docs" }, openGraph: { title: "FixMap documentation", @@ -43,7 +43,7 @@ export default function DocsPage() {

@@ -52,15 +52,17 @@ export default function DocsPage() {

Slash command

Open the complete FixMap menu.

fixmap setup installs project-level discovery for Claude Code, Cursor, GitHub Copilot, and Agent Skills. Invoking /fixmap with no task lists Plan, Explain, Compare, Verify, Validate, Doctor, MCP, focus controls, working-tree mapping, and fresh scans.

The installer is idempotent and will not overwrite a customized command unless you explicitly pass --force.

-

Plan

Find the right place to start.

Give FixMap one task source: plain issue text, a task file, stdin, a public GitHub issue URL, or a git diff.

Public issue URL

Working-tree or branch diff

Remote repository mode is issue-only. Clone the repository locally when you need --diff, --base, or --head.

+

Plan and Impact Graph

Find the right place to start—and what to inspect next.

Give FixMap one task source: plain issue text, a task file, stdin, a public GitHub issue URL, or a git diff. The primary context remains task-ranked. A separate Impact Graph maps imports, reverse dependents, routed tests, and files that repeatedly changed together in bounded Git history. Impact files are inspection candidates, not instructions to edit every path.

Public issue URL

Working-tree or branch diff

Remote repository mode is issue-only. Clone the repository locally when you need --diff, --base, --head, or complete local Git-history evidence. Shallow and unavailable history are reported explicitly while import and test relationships continue to work.

Explain

Ask the missing-file question.

Use --explain when you expected a path and it did not appear. The response distinguishes five different situations:

  • The file ranked, just lower than expected.
  • It scored below the report cutoff.
  • It tied for a reported place but fell outside --limit.
  • It was excluded intentionally, such as a generated file whose source ranked instead.
  • The scanner never saw it, including a scan limit, a sparse checkout, or an unsupported extension.

Focus

Narrow the map to what matters.

Demo pages, marketing copy, and documentation often contain every symptom word a product documents, so they compete with the implementation. FixMap knows about conventions like examples/; it cannot know your repository’s own layout.

Patterns can also live in a .fixmapignore file at the repository root, one per line. The two combine, and --explain reports an excluded file as excluded, naming the pattern that matched.

Map what you are editing now

That means staged and unstaged tracked changes against HEAD. Untracked files stay out of the change set unless you add --include-untracked, so scratch metadata is not reported as an edit. They remain ranking candidates either way — a file an agent just wrote is usually the most relevant thing in the repository.

Measure a better task

Refine the wording, re-plan, and see whether the real file moved up:

-

Verify

Compare the plan with the change.

Save a JSON plan before editing, then compare it with the real diff afterwards.

Verify does not run tests or judge correctness. Errors fail by default. Add --fail-on warning when advisory findings, such as a source change without a test change, must also block CI.

+

Verify

Compare the plan with the change.

Save a JSON plan before editing, then compare it with the real diff afterwards. Verify recalculates impact around the files that actually changed and reports strong relationships outside the original plan as advisory inspection notes.

Verify does not run tests or judge correctness. Errors fail by default. Add --fail-on warning when advisory findings, such as a source change without a test change, must also block CI.

-

Output

Readable by people and tools.

Markdown is the default handoff. Add --format json for structured output and --output <path> to save it. The current issue, comparison, verification, and output files are kept out of ranking, change detection, and cache state, so a saved FixMap report cannot recommend itself.

New JSON plans include reportVersion: 1. Within a report version, fields may be added but existing fields will not be removed or change type; consumers should ignore unknown fields. A breaking output change requires a new report version. Compare and Verify still accept legacy plans without a marker, while rejecting marker values they do not understand.

Context files

Ranked paths, scores, confidence labels, and evidence.

Test routes

Workspace-aware commands and reachable related tests.

Risks

Sensitive areas inferred from paths, symbols, and changes.

Diagnostics

Vague tasks, unresolved identifiers, scan limits, and other uncertainty.

+

Repository benchmark

Measure FixMap where you work.

fixmap benchmark selects recent bounded non-merge commits, checks out each parent in an isolated temporary worktree, derives task text only from the commit metadata, and scores changed source paths. BM25-over-code, FixMap, and Impact Graph see the identical pre-change scanned corpus.

Results split all, path-mentioned, and unmentioned cohorts and include raw cases and Wilson intervals. Commits that are too large, have no usable task text, or contain no pre-existing target source are skipped with counts. FixMap never runs repository code during this process.

+ +

Output

Readable by people, agents, and tools.

Markdown is the default handoff. Add --format agent for a compact EDIT CANDIDATE / INSPECT / TEST / RISK / AVOID / UNCERTAINTY handoff, or --format json for structured output. Use --output <path> to save it. The current issue, comparison, verification, and output files are kept out of ranking, change detection, and cache state, so a saved FixMap report cannot recommend itself.

New JSON plans include reportVersion: 1. Within a report version, fields may be added but existing fields will not be removed or change type; consumers should ignore unknown fields. A breaking output change requires a new report version. Compare and Verify still accept legacy plans without a marker, while rejecting marker values they do not understand.

Context files

Task-ranked primary paths, scores, confidence labels, and evidence.

Impact Graph

Dependencies, dependents, routed tests, and repeated co-change relationships to inspect.

Test routes

Workspace-aware commands and reachable related tests.

Risks

Sensitive areas inferred from paths, symbols, and changes.

Diagnostics

Vague tasks, unresolved identifiers, scan limits, history coverage, and other uncertainty.

Validate

Check a saved report directly.

The CLI exposes the same additive structural validator used by Compare, Verify, the GitHub Action, and MCP. It accepts legacy unmarked reports, accepts version 1 with additive fields, and rejects unsupported report versions or malformed context entries.

diff --git a/apps/web/app/evidence/page.tsx b/apps/web/app/evidence/page.tsx index 1de4366..a8e2a2b 100644 --- a/apps/web/app/evidence/page.tsx +++ b/apps/web/app/evidence/page.tsx @@ -126,6 +126,29 @@ export default function EvidencePage() {

FixMap does not beat BM25 over code files on repositories it was never tuned against. Top 1 and Top 3 are exact ties — a paired McNemar exact test puts both at p = 1.0, with two disagreements each way. At Top 5 the baseline wins three cases FixMap misses and FixMap wins none: BM25 has the fixing file in its top five for 9 of 9 of these cases, FixMap for 6 of 9. FixMap does lead on the regression suite (69% vs 39% Top 1), but that is the suite whose cases shaped the ranker, and even there the lead is not significant against this baseline. We publish this because it is what the measurement says; closing the Top-5 recall gap is the next piece of work.

+
+
+

Your repository

Run the baseline comparison locally.

+

fixmap benchmark --repo . --last 50 backtests BM25-over-code, FixMap, and FixMap with Impact Graph on bounded recent Git history.

+
+
+
01

Parent snapshots

Every case runs before its target commit, so the target change and later co-change history are unavailable.

+
02

Identical corpus

All three arms see the same scanned files. The comparison never weakens a baseline with a noisier candidate set.

+
03

Separated cohorts

Tasks that name an expected path are reported separately from tasks that require retrieval.

+
04

Bounded and non-executing

Temporary worktrees, commit and file caps, and no repository code execution keep the run inspectable.

+
+

No universal performance claim is derived from one repository. Commit messages are imperfect task proxies, and historical changes reflect that project’s own maintenance patterns. The JSON output includes every eligible case, skip counts, cohort scores, and Wilson intervals so users can judge the evidence directly.

+
+ +
+
+

Controlled agent study

The protocol exists; the result does not yet.

+

FixMap publishes a frozen four-arm protocol for baseline, available, instructed, and Impact Graph-assisted runs. It requires the same agent model and version, pinned repository revision, complete transcripts, and one run per task and arm.

+
+

No fix-rate, turn-count, token, cost, or time-saved claim is made until real runs are completed and audited. The checked-in evaluator validates the protocol and rejects incomplete or mismatched run sets.

+ Read the frozen protocol +
+

Held-out results

Every case, not just the wins.

The expected path is the file changed by the merged fix. “Top 3” means that path appeared in FixMap's first three results.

diff --git a/apps/web/app/get-started/page.tsx b/apps/web/app/get-started/page.tsx index 296b188..1f3193f 100644 --- a/apps/web/app/get-started/page.tsx +++ b/apps/web/app/get-started/page.tsx @@ -45,6 +45,11 @@ export default function GetStartedPage() {

Or work inside a local repository

+

Compact agent handoff

+ +

Benchmark this repository

+

Backtest BM25, FixMap, and Impact Graph on historical parent snapshots without running repository code:

+

Pin it to a project instead

Use a project dependency when everyone working on that repository should get the same version:

diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx index 8d030b1..d2cc5f4 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -14,7 +14,7 @@ import { InteractiveMapStage } from "./_components/interactive-map-stage"; import { commands, repoUrl, siteStats } from "./_lib/site-data"; const workflow = [ - { number: "01", name: "Plan", detail: "Rank the files, tests, and risks that matter before the first edit.", href: "/product#plan" }, + { number: "01", name: "Plan", detail: "Rank primary context, then map likely impact without pretending every related file must change.", href: "/product#plan" }, { number: "02", name: "Explain", detail: "Ask why a file ranked, missed the cutoff, was excluded, or was never scanned.", href: "/product#explain" }, { number: "03", name: "Compare", detail: "Measure whether a clearer task produced a better context map.", href: "/product#compare" }, { number: "04", name: "Verify", detail: "Check the completed diff against the plan that guided the work.", href: "/product#verify" } @@ -35,8 +35,8 @@ export default function HomePage() {

FixMap v{siteStats.version} · open source repo intelligence

Start the change with evidence.

- Give FixMap a task, issue, or diff. It returns the files to inspect, the checks to run, - and the risks to review—with every recommendation tied to repository evidence. + Give FixMap a task, issue, or diff. It returns primary context, likely impact, reachable + checks, and risks—with every recommendation tied to repository evidence.

@@ -75,7 +75,7 @@ export default function HomePage() {

Measured in public

Useful without pretending to be certain.

-

FixMap publishes the misses, the cohort boundaries, and the baseline comparison. A map narrows the search; it does not replace reading, tests, or review.

+

FixMap publishes the misses, cohort boundaries, and baseline comparisons. You can also backtest BM25, FixMap, and Impact Graph against your own repository history.

Read the benchmark methodology
diff --git a/apps/web/app/product/page.tsx b/apps/web/app/product/page.tsx index 477ca43..b00b99f 100644 --- a/apps/web/app/product/page.tsx +++ b/apps/web/app/product/page.tsx @@ -2,6 +2,7 @@ import type { Metadata } from "next"; import Link from "next/link"; import { ArrowRight, + ChartLineUp, CheckCircle, Eye, FileMagnifyingGlass, @@ -31,8 +32,8 @@ const stages = [ icon: FileMagnifyingGlass, eyebrow: "Before the edit", title: "Plan: find the few places that matter.", - body: "FixMap reads the task and the repository together. It ranks likely context files, attaches the evidence behind each score, and routes the nearest tests it can actually reach.", - details: ["Ranked source files with reasons", "Workspace-aware test commands", "Risk areas and scan diagnostics"] + body: "FixMap reads the task and repository together. It ranks primary context, then builds a separate Impact Graph from imports, reverse dependents, routed tests, and repeated Git co-change evidence.", + details: ["Ranked source files with reasons", "Impact files to inspect, not assumed edits", "Workspace-aware tests, risks, and diagnostics"] }, { id: "explain", @@ -58,8 +59,8 @@ const stages = [ icon: GitDiff, eyebrow: "After the edit", title: "Verify: compare the plan with the real change.", - body: "FixMap checks the saved plan against a git diff. It points out unplanned files, untouched leading context, missing tests, risky areas, and edits in generated or retired locations.", - details: ["Plan versus diff", "Advisory findings by default", "Non-zero only for discarded generated edits"] + body: "FixMap checks the saved plan against a git diff. It points out unplanned files, untouched leading context, missing tests, risky areas, and recalculated impact around the files that actually changed.", + details: ["Plan versus diff", "Recalculated impact", "Advisory findings by default"] } ]; @@ -68,7 +69,7 @@ export default function ProductPage() {

The product

-

One problem.{" "}
Three useful answers.

+

One problem.{" "}
Four useful answers.

FixMap narrows the first step, explains its reasoning, and checks the work that followed. It is a map you can inspect—not a promise that the map is always right. @@ -79,6 +80,19 @@ export default function ProductPage() {

+
+
+

Measure it locally

Backtest the map on your own history.

+

fixmap benchmark --repo . --last 50 compares BM25-over-code, ordinary FixMap context, and FixMap with Impact Graph against historical parent snapshots.

+
+
+

One candidate corpus

Every arm sees the same scanned files, so a weaker baseline is never manufactured by changing the search space.

+

Pre-change cutoff

Each case is evaluated on its parent snapshot. The target change and later Git history cannot leak into its evidence.

+

Raw cases included

All, mentioned, and unmentioned cohorts plus Wilson intervals make misses and small samples visible.

+

No repository code runs

The benchmark reads Git and source text in temporary worktrees without installing dependencies, running hooks, or executing tests.

+
+
+
diff --git a/apps/web/app/sample-repo.ts b/apps/web/app/sample-repo.ts index 1ee4ff3..ce60681 100644 --- a/apps/web/app/sample-repo.ts +++ b/apps/web/app/sample-repo.ts @@ -245,7 +245,23 @@ export const sampleRepo: RepoMap = { changedFiles: [], diffText: "", packageManager: "npm", - diagnostics: [] + diagnostics: [], + history: { + inspectedCommits: 8, + skippedLargeCommits: 1, + shallow: false, + truncated: false, + commits: [ + { hash: "1".repeat(40), committedAt: 8, files: ["src/auth/reset-password.ts", "src/auth/token-store.ts", "test/auth/reset-password.test.ts"] }, + { hash: "2".repeat(40), committedAt: 7, files: ["src/auth/reset-password.ts", "src/auth/token-store.ts", "src/http/routes.ts"] }, + { hash: "3".repeat(40), committedAt: 6, files: ["src/auth/reset-password.ts", "test/auth/reset-password.test.ts", "docs/configuration.md"] }, + { hash: "4".repeat(40), committedAt: 5, files: ["src/auth/reset-password.ts", "src/http/routes.ts", "test/auth/reset-password.test.ts"] }, + { hash: "5".repeat(40), committedAt: 4, files: ["src/email/transport.ts", "src/config.ts"] }, + { hash: "6".repeat(40), committedAt: 3, files: ["src/email/transport.ts", "src/config.ts", "test/auth/reset-password.test.ts"] }, + { hash: "7".repeat(40), committedAt: 2, files: ["src/billing/invoice.ts", "src/config.ts"] }, + { hash: "8".repeat(40), committedAt: 1, files: ["README.md"] } + ] + } }; export const samplePaths: string[] = files.map((file) => file.path); diff --git a/apps/web/package.json b/apps/web/package.json index 5bedc7d..d1b2c70 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -15,7 +15,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@aryam/fixmap-core": "0.8.9", + "@aryam/fixmap-core": "0.9.0", "@phosphor-icons/react": "^2.1.10", "next": "16.2.11", "react": "19.2.7", diff --git a/benchmarks/adversarial/results.json b/benchmarks/adversarial/results.json index 073b1b3..e5c7102 100644 --- a/benchmarks/adversarial/results.json +++ b/benchmarks/adversarial/results.json @@ -13,6 +13,7 @@ "diagnostics": [ "submodules-skipped", "content-too-large", + "impact-history-shallow", "identifier-unverified", "flat-ranking" ], @@ -31,6 +32,7 @@ "grounding": "descriptive", "diagnostics": [ "content-too-large", + "impact-history-shallow", "identifier-unverified", "flat-ranking" ], @@ -49,6 +51,7 @@ "grounding": "descriptive", "diagnostics": [ "content-too-large", + "impact-history-shallow", "identifier-unverified" ], "contextFileCount": 7, @@ -66,6 +69,7 @@ "grounding": "vague", "diagnostics": [ "content-too-large", + "impact-history-shallow", "gated-test-skipped", "vague-task", "flat-ranking" @@ -84,6 +88,7 @@ "topConfidence": null, "grounding": "vague", "diagnostics": [ + "impact-history-shallow", "vague-task", "no-context-match" ], @@ -100,7 +105,9 @@ "maxConfidence": "medium", "topConfidence": "medium", "grounding": "descriptive", - "diagnostics": [], + "diagnostics": [ + "impact-history-shallow" + ], "contextFileCount": 7, "overconfident": false, "groundingOk": true, @@ -115,6 +122,7 @@ "topConfidence": "medium", "grounding": "descriptive", "diagnostics": [ + "impact-history-shallow", "flat-ranking" ], "contextFileCount": 8, @@ -134,6 +142,7 @@ "submodules-skipped", "content-not-utf8", "content-too-large", + "impact-history-shallow", "import-graph-truncated" ], "contextFileCount": 8, @@ -149,6 +158,7 @@ "topConfidence": null, "grounding": "descriptive", "diagnostics": [ + "impact-history-unavailable", "no-context-match" ], "contextFileCount": 0, diff --git a/benchmarks/agent-study/protocol.json b/benchmarks/agent-study/protocol.json new file mode 100644 index 0000000..988728a --- /dev/null +++ b/benchmarks/agent-study/protocol.json @@ -0,0 +1,35 @@ +{ + "protocolVersion": 1, + "status": "protocol-only", + "suite": "navigation-focused pinned tasks", + "arms": [ + "baseline", + "fixmap-available", + "fixmap-instructed", + "fixmap-impact" + ], + "requirements": { + "sameModelVersion": true, + "sameTaskText": true, + "sameRepositoryRevision": true, + "freshContextPerRun": true, + "randomizedArmOrder": true, + "fixedTimeoutAndBudget": true, + "noFixMapChangesMidStudy": true, + "rawTranscriptsRequired": true + }, + "metrics": [ + "taskResolved", + "correctFileInFirstThreeOpened", + "toolCallsToFirstRelevantFile", + "filesOpenedBeforeFirstEdit", + "incorrectFilesEdited", + "totalToolCalls", + "inputTokens", + "outputTokens", + "testsSelectedCorrectly", + "finalPatchAccepted", + "fixmapPlanUsed", + "verifyUsefulWarnings" + ] +} diff --git a/docs/AGENT_STUDY.md b/docs/AGENT_STUDY.md new file mode 100644 index 0000000..1c8084c --- /dev/null +++ b/docs/AGENT_STUDY.md @@ -0,0 +1,33 @@ +# FixMap differential agent study + +FixMap 0.9 includes a frozen, machine-checked four-arm protocol. It does **not** publish an +effectiveness percentage until complete raw runs exist for every task and arm. + +The arms are: + +1. Baseline agent with ordinary repository tools. +2. FixMap available, with no instruction requiring its use. +3. FixMap explicitly instructed before exploration and Verify after editing. +4. The same instructed workflow with the 0.9 Impact Graph and compact agent output. + +Every paired task must use the same model and model version, task text, repository revision, +timeout, and budget. Each run starts with fresh context, arm order is randomized, FixMap is +frozen during the study, and the raw transcript is retained. The primary navigation metric is +tool calls to the first relevant file, not turns to the first edit. + +Validate the protocol without claiming a result: + +```bash +npm run study:agent:check +``` + +When paid or externally metered runs have been authorized and collected, store one JSON object +per line outside the repository and evaluate it explicitly: + +```bash +node scripts/evaluate-agent-study.mjs --input path/to/runs.jsonl +``` + +Run data is deliberately not checked in by default: transcripts can contain source, prompts, +and account metadata. Any public study must use consented, reviewed, redacted artifacts and link +the exact model/version and frozen task-selection record. diff --git a/docs/assets/fixmap-cli-demo.svg b/docs/assets/fixmap-cli-demo.svg index ebbf4d0..d30fd1b 100644 --- a/docs/assets/fixmap-cli-demo.svg +++ b/docs/assets/fixmap-cli-demo.svg @@ -1,4 +1,4 @@ - + - + @@ -16,26 +16,31 @@ fixmap plan — examples/tiny-auth-app $ npx @aryam/fixmap plan --issue "password reset emails fail" - FixMap found 1 context file and generated 1 test route. + FixMap found 1 context file, 1 impact file, and generated 1 test route. ## Context Files - src/auth/reset-password.ts (medium confidence, score 28): path matches task terms: reset, password; multiple task terms converge in the file path; content matches task terms: reset, password, email; defines symbols matching task terms: ResetPasswordRequest, buildResetPasswordEmail; auth-related task signal - ## Test Routes - - npm run test: repository root script named test. Related: - test/auth/reset-password.test.ts. - ## Risk Map - - low authentication: ranked files touch authentication; review this area before - editing, but no diff evidence is available yet - ## Changed Files - - None found - ## Analysis - - Task grounding: **descriptive** - - Repository scan: **complete** - - Ranking shape: **separated** - - Next action: Inspect src/auth/reset-password.ts and its routed tests before editing. - ## Diagnostics - - **info** Repository scan caching was bypassed by --no-cache; this report used a fresh - scan. + ## Impact Graph + - test/auth/reset-password.test.ts (high confidence, impact 13): this file imports + src/auth/reset-password.ts; routed test for src/auth/reset-password.ts via npm run test + Inspection order: src/auth/reset-password.tstest/auth/reset-password.test.ts. + History evidence: 28 eligible commits. + ## Test Routes + - npm run test: repository root script named test. Related: + test/auth/reset-password.test.ts. + ## Risk Map + - low authentication: ranked files touch authentication; review this area before + editing, but no diff evidence is available yet + ## Changed Files + - None found + ## Analysis + - Task grounding: **descriptive** + - Repository scan: **complete** + - Ranking shape: **separated** + - Next action: Inspect src/auth/reset-password.ts and its routed tests before editing. + ## Diagnostics + - **info** Repository scan caching was bypassed by --no-cache; this report used a fresh + scan. diff --git a/docs/releases/v0.9.0-post-release-checklist.md b/docs/releases/v0.9.0-post-release-checklist.md new file mode 100644 index 0000000..ac0c014 --- /dev/null +++ b/docs/releases/v0.9.0-post-release-checklist.md @@ -0,0 +1,13 @@ +# FixMap v0.9.0 post-release checklist + +Run only after the exact verified candidate receives explicit release authorization. + +- [ ] Merge the approved pull request and record the immutable main SHA. +- [ ] Tag `v0.9.0`; verify the tag and GitHub release resolve to that SHA. +- [ ] Verify `@aryam/fixmap-core@0.9.0` and `@aryam/fixmap@0.9.0` from npm, including provenance and the `latest` dist-tag. +- [ ] Install 0.9.0 into a new isolated npm prefix and run `fixmap --version`, `fixmap doctor`, Plan Markdown/JSON/agent output, Verify, and a small repository benchmark. +- [ ] Verify `io.github.aryamthecodebreaker/fixmap@0.9.0` in the MCP Registry and complete a real public-package MCP Plan call. +- [ ] Verify `aryamthecodebreaker/FixMap@v0.9.0` resolves to the release SHA and run the public Action smoke workflow. +- [ ] Verify the production website reports v0.9.0 and smoke every public route on desktop and mobile. +- [ ] Confirm README, npm documentation, changelog, evidence page, Action example, release notes, and public package metadata agree. +- [ ] Publish launch material only after every public artifact is live and rechecked. diff --git a/docs/releases/v0.9.0-release-notes-draft.md b/docs/releases/v0.9.0-release-notes-draft.md new file mode 100644 index 0000000..a067ef2 --- /dev/null +++ b/docs/releases/v0.9.0-release-notes-draft.md @@ -0,0 +1,25 @@ +# FixMap v0.9.0 release notes + +FixMap v0.9.0 adds a separate, evidence-backed view of what a change may affect—without turning related files into assumed edits. + +## What is new + +- **Impact Graph:** Plan maps direct imports, reverse dependents, routed tests, and repeated Git co-change relationships around its primary context. Every relationship includes a reason, confidence, and inspection order. +- **Impact-aware Verify:** after the diff exists, Verify recalculates impact around the files actually changed and surfaces strong relationships outside the original plan as advisory review notes. +- **Repository benchmark:** `fixmap benchmark --repo . --last 50` compares BM25-over-code, FixMap, and FixMap with Impact Graph on identical historical parent snapshots. It reports path-mentioned and unmentioned cohorts separately, includes raw cases and Wilson intervals, and never executes repository code. +- **Compact agent output:** `fixmap plan --format agent` emits a stable EDIT CANDIDATE / INSPECT / TEST / RISK / AVOID / UNCERTAINTY handoff. +- **Controlled-study harness:** a frozen four-arm protocol and validator are published for future with/without-FixMap agent testing. v0.9.0 makes no effectiveness or time-saved claim before real runs exist. + +The ordinary held-out benchmark is not replaced or rewritten by the new local backtest. Its existing result—including the cases where BM25 leads—remains public. + +## Install after release + +```bash +npm install --global @aryam/fixmap@0.9.0 +fixmap doctor +fixmap plan --issue "describe the change" --format agent +``` + +## Release boundary + +These notes are a draft until the exact candidate commit passes the full release matrix and the matching npm packages, MCP Registry entry, GitHub release, Action tag, and production deployment are independently verified. diff --git a/docs/releases/v0.9.0-verification.md b/docs/releases/v0.9.0-verification.md new file mode 100644 index 0000000..0d464fb --- /dev/null +++ b/docs/releases/v0.9.0-verification.md @@ -0,0 +1,45 @@ +# FixMap v0.9.0 verification ledger + +This ledger maps each v0.9.0 promise to implementation evidence and a release gate. It must be completed against the exact candidate commit before release or deployment. + +| Promise | Implementation evidence | Required verification | +| --- | --- | --- | +| Plan returns a separate Impact Graph. | `packages/core/src/impact.ts`, `packages/core/src/report.ts` | Core impact tests, report validation, Markdown/JSON smoke. | +| Direct imports and reverse dependents are directional and explained. | Impact evidence kinds `imports` and `imported-by`. | Synthetic graph unit tests. | +| Routed tests appear as impact evidence. | Plan test routes feed the Impact Graph. | Core impact and workspace-routing tests. | +| Co-change uses only repeated bounded history. | `packages/core/src/repo-scan.ts` and `packages/core/src/impact.ts` | History parsing, single-occurrence rejection, shallow/truncated/unavailable diagnostics. | +| Verify recalculates around changed files. | `packages/core/src/verify.ts` | Verify unit tests plus CLI, MCP, and Action suites. | +| Compact agent output is stable and bounded. | `renderAgentReport` and `--format agent`. | Renderer and CLI/MCP contract tests. | +| Repository benchmark prevents future leakage. | `packages/cli/src/benchmark.ts` temporary parent worktrees. | Synthetic Git-history test, cleanup test, local smoke. | +| BM25 and FixMap see the same corpus. | Benchmark calls both arms from one scanned snapshot. | Raw-case assertions and code review. | +| Agent study does not fabricate evidence. | `benchmarks/agent-study/protocol.json`, evaluator, `docs/AGENT_STUDY.md`. | `npm run study:agent:check`; no result claim without complete runs. | +| All integrations expose compatible output. | CLI, MCP, Action, setup templates, browser exports, demo. | Workspace suites, Action bundle check, generated-render check, browser verification. | +| Existing evidence remains honest. | Frozen held-out/external/adversarial records unchanged. | Evaluation gates and diff review. | +| Published artifacts all match one commit. | Release workflow plus post-release checklist. | Fresh npm install, MCP call, tag/Release/Action SHA, production HTTP and browser smoke. | + +## Candidate verification + +Local candidate: branch `codex/v0.9.0-impact-benchmark`, based on `c9af1e7701c5abf738ae39ec775c10059691e6f3`. + +- [x] Clean `npm ci`: 451 packages installed; zero vulnerabilities. +- [x] Typechecking across Action, CLI, core, and web. +- [x] All 711 workspace tests: 42 Action, 238 CLI, and 431 core. +- [x] Full and production dependency audits: zero vulnerabilities. +- [x] Lint across every workspace. +- [x] Core, CLI, Action, and optimized Next.js production website builds; all 12 static routes generated. +- [x] Action metadata, server manifest, Action bundle, and generated-render parity. +- [x] Packed-package installation into an isolated prefix, plus version, dependency-tree, feature-catalog, and compact Plan smokes. +- [x] CLI, Action, and workspace smoke tests. +- [x] Held-out gate: 12 total cases; 9 unmentioned at 33.3% Top-1, 55.6% Top-3, and 55.6% Top-5. +- [x] External regression evaluation: 16 cases at 68.8% Top-1 and 93.8% Top-3/Top-5. +- [x] Self-evaluation: baseline 5/8 Top-1, 7/8 Top-3, 8/8 Top-5; issue cohort 8/23 Top-1, 18/23 Top-3, 20/23 Top-5. +- [x] Adversarial gate: 9/9 pass with zero false confidence. +- [x] Agent-study protocol validation, with no run data and no effectiveness claim. +- [x] Scanner benchmark: exactly 1,000 files, ignored directories skipped, no scan-limit diagnostic. +- [x] Repository benchmark smoke with parent cutoff and temporary-worktree cleanup confirmed; hostile required checkout-filter regression passes. +- [x] Desktop browser verification of `/`, `/demo`, `/product`, `/docs`, `/evidence`, `/get-started`, and `/changelog`: meaningful content, no framework overlay, no console errors, no horizontal overflow. +- [x] Mobile 390x844 verification of `/`, `/demo`, `/product`, `/docs`, and `/evidence`, plus working mobile-menu navigation. +- [x] Live-demo preset interaction changes the leading context to `src/email/transport.ts` while retaining the Impact Graph. +- [x] Original user checkout remains clean and untouched on branch `0.8.7`. +- [ ] Hosted Linux and supported-platform CI against the exact committed SHA. +- [ ] Explicit release authorization received for the exact CI-verified candidate. diff --git a/examples/reports/declines-fabricated-identifier.md b/examples/reports/declines-fabricated-identifier.md index 1802212..3281e4f 100644 --- a/examples/reports/declines-fabricated-identifier.md +++ b/examples/reports/declines-fabricated-identifier.md @@ -8,12 +8,19 @@ npx -y @aryam/fixmap@latest plan --repo examples/tiny-auth-app \ # FixMap Report -FixMap found 0 context files and generated 0 test routes. +FixMap found 0 context files, 0 impact files, and generated 0 test routes. ## Context Files - None found +## Impact Graph + +- None found + +Inspection order: None. +History evidence: 28 eligible commits. + ## Test Routes - None found diff --git a/examples/reports/declines-unmatched-terms.md b/examples/reports/declines-unmatched-terms.md index bc3bbc6..e3b68d6 100644 --- a/examples/reports/declines-unmatched-terms.md +++ b/examples/reports/declines-unmatched-terms.md @@ -8,12 +8,19 @@ npx -y @aryam/fixmap@latest plan --repo examples/tiny-auth-app \ # FixMap Report -FixMap found 0 context files and generated 0 test routes. +FixMap found 0 context files, 0 impact files, and generated 0 test routes. ## Context Files - None found +## Impact Graph + +- None found + +Inspection order: None. +History evidence: 28 eligible commits. + ## Test Routes - None found diff --git a/examples/reports/declines-vague-task.md b/examples/reports/declines-vague-task.md index d47753b..82247d0 100644 --- a/examples/reports/declines-vague-task.md +++ b/examples/reports/declines-vague-task.md @@ -8,12 +8,19 @@ npx -y @aryam/fixmap@latest plan --repo examples/tiny-auth-app \ # FixMap Report -FixMap found 0 context files and generated 0 test routes. +FixMap found 0 context files, 0 impact files, and generated 0 test routes. ## Context Files - None found +## Impact Graph + +- None found + +Inspection order: None. +History evidence: 28 eligible commits. + ## Test Routes - None found diff --git a/examples/reports/workspace-api-discount.md b/examples/reports/workspace-api-discount.md index 83b40f7..6183389 100644 --- a/examples/reports/workspace-api-discount.md +++ b/examples/reports/workspace-api-discount.md @@ -1,12 +1,20 @@ # FixMap Report -FixMap found 2 context files and generated 3 test routes. +FixMap found 2 context files, 2 impact files, and generated 3 test routes. ## Context Files - `apps/api/src/orders.ts` (high confidence, score 41): path matches task terms: order; content matches task terms: discount, order, total, code; defines task identifiers: orderTotal; task identifier is defined in maintained implementation source - `packages/utils/src/currency.ts` (medium confidence, score 14): content matches task terms: discount, total; defines symbols matching task terms: applyDiscount, discounted +## Impact Graph + +- `apps/api/test/orders.test.ts` (high confidence, impact 13): this file imports apps/api/src/orders.ts; routed test for apps/api/src/orders.ts via pnpm --dir apps/api run test +- `packages/utils/test/currency.test.ts` (high confidence, impact 13): this file imports packages/utils/src/currency.ts; routed test for packages/utils/src/currency.ts via pnpm --dir packages/utils run test + +Inspection order: `apps/api/src/orders.ts` → `packages/utils/src/currency.ts` → `apps/api/test/orders.test.ts` → `packages/utils/test/currency.test.ts`. +History evidence: 63 eligible commits. + ## Test Routes - `pnpm --dir apps/api run test`: nearest package (apps/api) script named test. Related: `apps/api/test/orders.test.ts`. diff --git a/examples/reports/workspace-utils-rounding.md b/examples/reports/workspace-utils-rounding.md index 18f8338..dc33470 100644 --- a/examples/reports/workspace-utils-rounding.md +++ b/examples/reports/workspace-utils-rounding.md @@ -1,11 +1,18 @@ # FixMap Report -FixMap found 1 context file and generated 2 test routes. +FixMap found 1 context file, 1 impact file, and generated 2 test routes. ## Context Files - `packages/utils/src/currency.ts` (high confidence, score 37): path matches task terms: currency; content matches task terms: round, cent; defines task identifiers: roundToCents; task identifier is defined in maintained implementation source +## Impact Graph + +- `packages/utils/test/currency.test.ts` (high confidence, impact 13): this file imports packages/utils/src/currency.ts; routed test for packages/utils/src/currency.ts via pnpm --dir packages/utils run test + +Inspection order: `packages/utils/src/currency.ts` → `packages/utils/test/currency.test.ts`. +History evidence: 63 eligible commits. + ## Test Routes - `pnpm --dir packages/utils run test`: nearest package (packages/utils) script named test. Related: `packages/utils/test/currency.test.ts`. diff --git a/package-lock.json b/package-lock.json index b762d57..e81f7e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "fixmap-workspace", - "version": "0.8.9", + "version": "0.9.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "fixmap-workspace", - "version": "0.8.9", + "version": "0.9.0", "license": "MIT", "workspaces": [ "packages/*", @@ -30,7 +30,7 @@ "name": "@fixmap/web", "version": "0.0.0", "dependencies": { - "@aryam/fixmap-core": "0.8.9", + "@aryam/fixmap-core": "0.9.0", "@phosphor-icons/react": "^2.1.10", "next": "16.2.11", "react": "19.2.7", @@ -8843,18 +8843,18 @@ }, "packages/action": { "name": "@fixmap/action", - "version": "0.8.9", + "version": "0.9.0", "license": "MIT", "dependencies": { - "@aryam/fixmap-core": "0.8.9" + "@aryam/fixmap-core": "0.9.0" } }, "packages/cli": { "name": "@aryam/fixmap", - "version": "0.8.9", + "version": "0.9.0", "license": "MIT", "dependencies": { - "@aryam/fixmap-core": "0.8.9", + "@aryam/fixmap-core": "0.9.0", "@modelcontextprotocol/sdk": "1.30.0" }, "bin": { @@ -8866,7 +8866,7 @@ }, "packages/core": { "name": "@aryam/fixmap-core", - "version": "0.8.9", + "version": "0.9.0", "license": "MIT", "devDependencies": {}, "engines": { diff --git a/package.json b/package.json index 6cab516..55b91ee 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "fixmap-workspace", - "version": "0.8.9", + "version": "0.9.0", "private": true, - "description": "Local-first repo context for coding agents: paste a GitHub issue URL to get ranked files, test routes, and risks.", + "description": "Local-first repo intelligence for coding agents: ranked context, likely impact, test routes, risks, and repository benchmarks.", "license": "MIT", "type": "module", "repository": { @@ -51,7 +51,7 @@ "benchmark:check": "npm run build:core && node scripts/benchmark-scan.mjs --tier 1000 --check", "benchmark:savings": "npm run build:core && node scripts/benchmark-savings.mjs", "benchmark:savings:record": "npm run build:core && node scripts/benchmark-savings.mjs --record", - "ci": "npm run typecheck && npm test && npm run audit:all && npm run lint && npm run build:ci && npm run check:action-metadata && npm run check:server-manifest && npm run check:action-bundle && npm run check:rendered && npm run smoke && npm run evaluate && npm run evaluate:adversarial:gate && npm run benchmark:check", + "ci": "npm run typecheck && npm test && npm run audit:all && npm run lint && npm run build:ci && npm run check:action-metadata && npm run check:server-manifest && npm run check:action-bundle && npm run check:rendered && npm run smoke && npm run study:agent:check && npm run evaluate && npm run evaluate:adversarial:gate && npm run benchmark:check", "evaluate": "npm run build:core && node scripts/evaluate.mjs", "evaluate:external": "npm run build:core && node scripts/evaluate-external.mjs", "evaluate:external:record": "npm run build:core && node scripts/evaluate-external.mjs --record", @@ -67,7 +67,8 @@ "evaluate:adversarial:gate": "npm run build:core && node scripts/evaluate-adversarial.mjs --gate --check-recorded", "evaluate:adversarial:record": "npm run build:core && node scripts/evaluate-adversarial.mjs --record", "render:examples": "npm run build:core && node scripts/render-honest-examples.mjs", - "check:rendered": "node scripts/check-generated.mjs rendered" + "check:rendered": "node scripts/check-generated.mjs rendered", + "study:agent:check": "node scripts/evaluate-agent-study.mjs" }, "engines": { "node": ">=20.11" diff --git a/packages/action/action.yml b/packages/action/action.yml index e27b6e4..8b422e4 100644 --- a/packages/action/action.yml +++ b/packages/action/action.yml @@ -1,9 +1,9 @@ name: FixMap -description: Map pull request changes to context files, test routes, and review risks. +description: Map pull request changes to primary context, likely impact, test routes, and review risks. inputs: mode: description: >- - plan (default) maps the change to context files, test routes, and review risks. + plan (default) maps the change to context files, likely impact, test routes, and review risks. verify compares a saved plan against the diff that followed it and needs report-path. Explain and compare are intentionally CLI/MCP-only because Action comments operate on complete reports. required: false diff --git a/packages/action/dist/index.mjs b/packages/action/dist/index.mjs index 6fe4e76..7869583 100644 --- a/packages/action/dist/index.mjs +++ b/packages/action/dist/index.mjs @@ -1180,6 +1180,116 @@ function addEdge(edges, from, to) { } } +// packages/core/dist/impact.js +var DEFAULT_IMPACT_LIMIT = 12; +var MAX_IMPACT_SEEDS = 3; +var MIN_CO_CHANGE_OCCURRENCES = 2; +function buildImpactMap(repo, requestedSeeds, testRoutes = [], limit = DEFAULT_IMPACT_LIMIT) { + const repositoryPaths = new Set(repo.files.map((file) => file.path)); + const seeds = [...new Set(requestedSeeds)].filter((path) => repositoryPaths.has(path)).slice(0, MAX_IMPACT_SEEDS); + const seedSet = new Set(seeds); + const candidates = /* @__PURE__ */ new Map(); + const addEvidence = (path, score, evidence) => { + if (seedSet.has(path) || !repositoryPaths.has(path) || isGeneratedPath(path) || isBackupPath(path)) + return; + const current = candidates.get(path) ?? { path, score: 0, evidence: [] }; + if (!current.evidence.some((entry) => entry.kind === evidence.kind && entry.seed === evidence.seed)) { + current.evidence.push(evidence); + current.score += score; + } + candidates.set(path, current); + }; + const graph = buildImportGraph(repo.files); + for (const seed of seeds) { + for (const imported of [...graph.imports.get(seed) ?? []].sort((a, b) => a.localeCompare(b))) { + addEvidence(imported, 4, { + kind: "imports", + seed, + reason: `${seed} imports this file` + }); + } + for (const importer of [...graph.importedBy.get(seed) ?? []].sort((a, b) => a.localeCompare(b))) { + addEvidence(importer, 6, { + kind: "imported-by", + seed, + reason: `this file imports ${seed}` + }); + } + } + for (const route of testRoutes.filter((entry) => entry.kind === "test")) { + for (const path of route.relatedFiles) { + const seed = nearestSeed(path, seeds) ?? seeds[0]; + if (!seed) + continue; + addEvidence(path, 7, { + kind: "test-route", + seed, + reason: `routed test for ${seed} via ${route.command}` + }); + } + } + const history = repo.history; + if (history) { + for (const seed of seeds) { + const seedCommits = history.commits.filter((commit) => commit.files.includes(seed)); + const coOccurrences = /* @__PURE__ */ new Map(); + for (const commit of seedCommits) { + for (const path of commit.files) { + if (path !== seed && repositoryPaths.has(path)) { + coOccurrences.set(path, (coOccurrences.get(path) ?? 0) + 1); + } + } + } + for (const [path, occurrences] of coOccurrences) { + if (occurrences < MIN_CO_CHANGE_OCCURRENCES) + continue; + const strength = occurrences / Math.max(seedCommits.length, 1); + const score = Math.min(8, 2 + Math.round(strength * 6)); + addEvidence(path, score, { + kind: "co-change", + seed, + reason: `changed alongside ${seed} in ${occurrences} of its ${seedCommits.length} eligible ${seedCommits.length === 1 ? "change" : "changes"}`, + occurrences, + seedChanges: seedCommits.length + }); + } + } + } + const files = [...candidates.values()].map(toImpactFile).sort((left, right) => right.score - left.score || left.path.localeCompare(right.path)).slice(0, Math.max(0, limit)); + return { + seeds, + files, + inspectionOrder: [...seeds, ...files.map((file) => file.path)], + history: { + available: Boolean(history), + eligibleCommits: history?.commits.length ?? 0, + shallow: history?.shallow ?? false, + truncated: history?.truncated ?? false + } + }; +} +function toImpactFile(candidate) { + const kinds = new Set(candidate.evidence.map((entry) => entry.kind)); + const strongestCoChange = candidate.evidence.filter((entry) => entry.kind === "co-change").reduce((best, entry) => Math.max(best, (entry.occurrences ?? 0) / Math.max(entry.seedChanges ?? 1, 1)), 0); + const confidence = kinds.has("test-route") || kinds.size >= 2 || strongestCoChange >= 0.6 ? "high" : kinds.has("imported-by") || kinds.has("imports") || strongestCoChange >= 0.3 ? "medium" : "low"; + return { + path: candidate.path, + score: candidate.score, + confidence, + evidence: candidate.evidence.sort((left, right) => left.kind.localeCompare(right.kind) || left.seed.localeCompare(right.seed)) + }; +} +function nearestSeed(path, seeds) { + const pathParts = path.split("/"); + return [...seeds].map((seed) => { + const seedParts = seed.split("/"); + let common = 0; + while (common < pathParts.length && common < seedParts.length && pathParts[common] === seedParts[common]) + common += 1; + return { seed, common }; + }).sort((left, right) => right.common - left.common || left.seed.localeCompare(right.seed))[0]?.seed; +} + // packages/core/dist/rank.js var DEPLOYMENT_TERMS = [ "deploy", @@ -1812,12 +1922,14 @@ function buildReportFromRepo(repo, input) { const contextPaths = contextFiles.map((file) => file.path); const testRoutes = buildTestRoutes(repo, contextPaths); const routedTestPaths = [...new Set(testRoutes.flatMap((route) => route.relatedFiles))]; + const impact = buildImpactMap(repo, contextPaths, testRoutes); return { reportVersion: 1, - summary: buildSummary(contextFiles.length, testRoutes.length), + summary: buildSummary(contextFiles.length, testRoutes.length, impact.files.length), contextFiles, testRoutes, risks: buildRiskNotes(contextPaths, repo.changedFiles), + impact, changedFiles: repo.changedFiles, diagnostics: [ ...repo.diagnostics, @@ -2123,10 +2235,11 @@ function findRelatedTests(repo, contextPaths) { }).filter((file) => file.score > 0).sort((a, b) => b.score - a.score || a.path.localeCompare(b.path)).map((file) => file.path); return [...changedTests, ...overlapping].slice(0, 8); } -function buildSummary(contextFileCount, testRouteCount) { +function buildSummary(contextFileCount, testRouteCount, impactFileCount = 0) { const files = contextFileCount === 1 ? "context file" : "context files"; const routes = testRouteCount === 1 ? "test route" : "test routes"; - return `FixMap found ${contextFileCount} ${files} and generated ${testRouteCount} ${routes}.`; + const impact = impactFileCount === 1 ? "impact file" : "impact files"; + return `FixMap found ${contextFileCount} ${files}, ${impactFileCount} ${impact}, and generated ${testRouteCount} ${routes}.`; } function renderMarkdownReport(report) { const lines = [ @@ -2138,6 +2251,15 @@ function renderMarkdownReport(report) { "", ...listOrEmpty(report.contextFiles.map((file) => `- ${markdownCode(file.path)} (${file.confidence} confidence, score ${file.score}): ${file.reasons.join("; ")}`)), "", + "## Impact Graph", + "", + ...listOrEmpty((report.impact?.files ?? []).map((file) => `- ${markdownCode(file.path)} (${file.confidence} confidence, impact ${file.score}): ${file.evidence.map((entry) => entry.reason).join("; ")}`)), + ...report.impact ? [ + "", + `Inspection order: ${report.impact.inspectionOrder.map(markdownCode).join(" \u2192 ") || "None"}.`, + `History evidence: ${report.impact.history.available ? `${report.impact.history.eligibleCommits.toLocaleString()} eligible commits${report.impact.history.shallow ? " (shallow)" : ""}${report.impact.history.truncated ? " (bounded)" : ""}` : "not available; import and test evidence only"}.` + ] : [], + "", "## Test Routes", "", ...listOrEmpty(report.testRoutes.map((route) => { @@ -2237,8 +2359,11 @@ var MAX_TEXT_SAMPLE_BYTES = 64e3; var MAX_DIFF_TEXT_CHARS = 2e5; var MAX_SCANNED_FILES = 25e3; var GIT_MAX_BUFFER = 10 * 1024 * 1024; +var GIT_HISTORY_MAX_BUFFER = 24 * 1024 * 1024; +var MAX_HISTORY_COMMITS = 1e3; +var MAX_HISTORY_FILES_PER_COMMIT = 30; var exec = promisify(execFile); -var SCAN_CACHE_VERSION = 3; +var SCAN_CACHE_VERSION = 4; var SCAN_CACHE_MAX_AGE_MS = 7 * 24 * 60 * 60 * 1e3; var SCAN_CACHE_MAX_FUTURE_SKEW_MS = 5 * 60 * 1e3; var SCAN_CACHE_FILE = /^[a-f0-9]{24}-[a-f0-9]{24}\.json$/; @@ -2264,7 +2389,7 @@ async function scanRepo(input) { const internalPaths = await resolveInternalPaths(repoRoot, input.internalExclude ?? []); const cacheRoot = configuredScanCacheRoot(); const internalCacheRoot = sameFilesystemPath(cacheRoot, repoRoot) || containedPath(repoRoot, cacheRoot) !== void 0 ? cacheRoot : void 0; - const cacheDecision = input.useCache === true ? await buildScanCacheLocation(repoRoot, cacheRoot, internalPaths) : void 0; + const cacheDecision = input.useCache === true ? await buildScanCacheLocation(repoRoot, cacheRoot, internalPaths, input.includeHistory === true) : void 0; const cacheLocation = cacheDecision?.location; if (input.useCache === false) { diagnostics.push({ @@ -2284,11 +2409,13 @@ async function scanRepo(input) { let trackedFiles; let packageScripts; let packageManager; + let history; if (cached) { files = cached.files; trackedFiles = cached.trackedFiles; packageScripts = cached.packageScripts; packageManager = cached.packageManager; + history = cached.history ?? void 0; diagnostics.push(...cached.diagnostics, { code: "cache-hit", severity: "info", @@ -2299,6 +2426,7 @@ async function scanRepo(input) { trackedFiles = await listTrackedPaths(repoRoot, internalPaths); packageScripts = await readPackageScripts(repoRoot, files, diagnostics); packageManager = detectPackageManager(files, diagnostics); + history = input.includeHistory === true ? await readRepositoryHistory(repoRoot, new Set(files.map((file) => file.path)), diagnostics) : void 0; if (cacheLocation) { await writeScanCache(cacheLocation, { version: SCAN_CACHE_VERSION, @@ -2308,12 +2436,17 @@ async function scanRepo(input) { trackedFiles, packageScripts, packageManager, - diagnostics: [...diagnostics] + diagnostics: [...diagnostics], + history: history ?? null }); } } const diffSpec = resolveDiffSpec(input); const diff = input.workingTree ? await readWorkingTree(repoRoot, input.includeUntracked === true, diagnostics, internalPaths) : await readDiff(repoRoot, diffSpec, diagnostics, internalPaths); + const orderedDiagnostics = [ + ...diagnostics.filter((entry) => !entry.code.startsWith("impact-history-")), + ...diagnostics.filter((entry) => entry.code.startsWith("impact-history-")) + ]; return { root: repoRoot, files, @@ -2322,7 +2455,8 @@ async function scanRepo(input) { changedFiles: diff.changedFiles, diffText: diff.diffText, packageManager, - diagnostics + diagnostics: orderedDiagnostics, + ...history ? { history } : {} }; } function configuredScanCacheRoot() { @@ -2353,7 +2487,7 @@ function hasInternalPath(paths, path) { function gitPathspec(internalPaths) { return ["--", ".", ...[...internalPaths].sort((a, b) => a.localeCompare(b)).map((path) => `:(exclude,literal)${path}`)]; } -async function buildScanCacheLocation(root, cacheRoot, internalPaths) { +async function buildScanCacheLocation(root, cacheRoot, internalPaths, includeHistory) { if (sameFilesystemPath(cacheRoot, root) || containedPath(root, cacheRoot) !== void 0) { return { skipReason: "Repository scan caching was skipped because FIXMAP_CACHE_DIR is inside the scanned repository. Move the cache outside the repository to enable exact-state reuse." @@ -2382,6 +2516,7 @@ async function buildScanCacheLocation(root, cacheRoot, internalPaths) { head.trim(), status, dirtyDiff, + includeHistory ? "history" : "no-history", ...[...internalPaths].sort((a, b) => a.localeCompare(b)) ].join("\0")); return { location: { @@ -2398,13 +2533,23 @@ async function readScanCache(location) { try { const cached = JSON.parse(await readFile(location.path, "utf8")); const createdAt = typeof cached.createdAt === "string" ? Date.parse(cached.createdAt) : Number.NaN; - if (cached.version !== SCAN_CACHE_VERSION || cached.stateKey !== location.stateKey || typeof cached.createdAt !== "string" || !Number.isFinite(createdAt) || Date.now() - createdAt > SCAN_CACHE_MAX_AGE_MS || createdAt - Date.now() > SCAN_CACHE_MAX_FUTURE_SKEW_MS || !Array.isArray(cached.files) || !cached.files.every(isCachedRepoFile) || !Array.isArray(cached.trackedFiles) || !cached.trackedFiles.every(isCachedRelativePath) || !Array.isArray(cached.packageScripts) || !cached.packageScripts.every(isCachedPackageScript) || !Array.isArray(cached.diagnostics) || !cached.diagnostics.every(isCachedDiagnostic) || !["npm", "pnpm", "yarn", "bun"].includes(cached.packageManager ?? "")) + if (cached.version !== SCAN_CACHE_VERSION || cached.stateKey !== location.stateKey || typeof cached.createdAt !== "string" || !Number.isFinite(createdAt) || Date.now() - createdAt > SCAN_CACHE_MAX_AGE_MS || createdAt - Date.now() > SCAN_CACHE_MAX_FUTURE_SKEW_MS || !Array.isArray(cached.files) || !cached.files.every(isCachedRepoFile) || !Array.isArray(cached.trackedFiles) || !cached.trackedFiles.every(isCachedRelativePath) || !Array.isArray(cached.packageScripts) || !cached.packageScripts.every(isCachedPackageScript) || !Array.isArray(cached.diagnostics) || !cached.diagnostics.every(isCachedDiagnostic) || !(cached.history === null || isCachedHistory(cached.history)) || !["npm", "pnpm", "yarn", "bun"].includes(cached.packageManager ?? "")) return void 0; return cached; } catch { return void 0; } } +function isCachedHistory(candidate) { + if (!isRecord(candidate) || !Array.isArray(candidate.commits) || typeof candidate.inspectedCommits !== "number" || !Number.isSafeInteger(candidate.inspectedCommits) || candidate.inspectedCommits < 0 || typeof candidate.skippedLargeCommits !== "number" || !Number.isSafeInteger(candidate.skippedLargeCommits) || candidate.skippedLargeCommits < 0 || typeof candidate.shallow !== "boolean" || typeof candidate.truncated !== "boolean") { + return false; + } + return candidate.commits.every((commit) => { + if (!isRecord(commit) || typeof commit.hash !== "string" || !/^[a-f0-9]{40}$/i.test(commit.hash) || typeof commit.committedAt !== "number" || !Number.isSafeInteger(commit.committedAt) || commit.committedAt < 0 || !Array.isArray(commit.files)) + return false; + return commit.files.every(isCachedRelativePath); + }); +} function isCachedRepoFile(candidate) { if (!isRecord(candidate)) return false; @@ -2923,6 +3068,89 @@ async function readWorkingTree(repoRoot, includeUntracked, diagnostics, internal } var NOT_A_GIT_CHECKOUT = "this directory is not a git checkout. Ranking still works from the task text; --diff, --base/--head and --working-tree need a repository with history."; var NO_GIT_HISTORY = "this repository has no commits yet, so there is nothing to diff against. Commit the initial work first, or run with --issue alone to rank from the task text."; +async function readRepositoryHistory(root, repositoryPaths, diagnostics) { + try { + const [{ stdout: shallowText }, { stdout: countText }, { stdout: logText }] = await Promise.all([ + exec("git", ["rev-parse", "--is-shallow-repository"], { cwd: root, maxBuffer: GIT_MAX_BUFFER }), + exec("git", ["rev-list", "--count", "--no-merges", "HEAD"], { cwd: root, maxBuffer: GIT_MAX_BUFFER }), + exec("git", [ + "-c", + "core.quotepath=false", + "log", + "--no-merges", + "-n", + String(MAX_HISTORY_COMMITS), + "--format=%x1e%H%x1f%ct", + "--name-only", + "-z", + "HEAD" + ], { cwd: root, maxBuffer: GIT_HISTORY_MAX_BUFFER }) + ]); + const parsed = parseHistoryLog(logText, repositoryPaths); + const totalCommits = Number.parseInt(countText.trim(), 10); + const shallow = shallowText.trim() === "true"; + const truncated = Number.isFinite(totalCommits) && totalCommits > parsed.inspectedCommits; + const history = { + commits: parsed.commits, + inspectedCommits: parsed.inspectedCommits, + skippedLargeCommits: parsed.skippedLargeCommits, + shallow, + truncated + }; + if (shallow) { + diagnostics.push({ + code: "impact-history-shallow", + severity: "info", + message: `Impact history is shallow (${parsed.inspectedCommits.toLocaleString()} visible non-merge ${parsed.inspectedCommits === 1 ? "commit" : "commits"}). Import and test relationships remain available, but co-change evidence may be incomplete.` + }); + } + if (truncated) { + diagnostics.push({ + code: "impact-history-truncated", + severity: "info", + message: `Impact history inspected the newest ${parsed.inspectedCommits.toLocaleString()} of ${totalCommits.toLocaleString()} non-merge commits. Commits touching more than ${MAX_HISTORY_FILES_PER_COMMIT} files were excluded from co-change evidence.` + }); + } + return history; + } catch (error) { + const checkoutState = isMissingGit(error) ? void 0 : await describeGitCheckout(root); + diagnostics.push({ + code: "impact-history-unavailable", + severity: "info", + message: checkoutState === "not-repository" ? "Impact history is unavailable because this directory is not a Git checkout; import and test relationships are still reported." : checkoutState === "no-history" ? "Impact history is unavailable because this repository has no commits; import and test relationships are still reported." : `Impact history could not be read (${truncateForDiagnostic(gitErrorDetail(error), DIAGNOSTIC_SPEC_LIMIT * 2)}); import and test relationships are still reported.` + }); + return void 0; + } +} +function parseHistoryLog(logText, repositoryPaths) { + const commits = []; + let inspectedCommits = 0; + let skippedLargeCommits = 0; + for (const record of logText.split("")) { + if (!record) + continue; + const fields = record.split("\0"); + const header = fields.shift()?.replace(/^\r?\n/, "") ?? ""; + const separator = header.indexOf(""); + if (separator === -1) + continue; + const hash = header.slice(0, separator).trim(); + const committedAt = Number.parseInt(header.slice(separator + 1).trim(), 10); + if (!/^[a-f0-9]{40}$/i.test(hash) || !Number.isSafeInteger(committedAt) || committedAt < 0) + continue; + inspectedCommits += 1; + const allFiles = [...new Set(fields.map((path) => path.replace(/^\r?\n/, "")).filter(Boolean).map(normalizePath))]; + if (allFiles.length > MAX_HISTORY_FILES_PER_COMMIT) { + skippedLargeCommits += 1; + continue; + } + const currentFiles = allFiles.filter((path) => repositoryPaths.has(path)); + if (currentFiles.length === 0) + continue; + commits.push({ hash, committedAt, files: currentFiles }); + } + return { commits, inspectedCommits, skippedLargeCommits }; +} async function describeGitCheckout(root) { try { const { stdout } = await exec("git", ["rev-parse", "--is-inside-work-tree"], { cwd: root, maxBuffer: GIT_MAX_BUFFER }); @@ -3043,7 +3271,7 @@ function normalizePath(path) { // packages/core/dist/plan.js async function buildFixMapReport(input) { - const repo = await scanRepo(input); + const repo = await scanRepo({ ...input, includeHistory: input.includeHistory !== false }); const requestedExclude = await resolveExclusions(input.repoRoot, input.exclude ?? []); const internalExclude = buildPathExcluder((input.internalExclude ?? []).map((pattern) => normalizeAbsolutePattern(input.repoRoot, pattern))); const exclude = combineExclusions(requestedExclude, internalExclude); @@ -3209,6 +3437,16 @@ function verifyPlan(report, repo) { message: suggested.length > 0 ? `Code changed but no test did. The plan routed ${suggested.length === 1 ? "this test" : "these tests"} as most related.` : report.testRoutes.length > 0 ? `Code changed but no test did. Run the routed ${report.testRoutes.length === 1 ? "command" : "commands"}: ${report.testRoutes.map((route) => route.command).join(", ")}.` : "Code changed but no test did, and the plan found no related test to point at." }); } + const impact = buildImpactMap(repo, changed, report.testRoutes); + const highImpactOutsidePlan = impact.files.filter((entry) => entry.confidence === "high" && !planned.has(entry.path) && !changed.includes(entry.path) && !isTest(entry.path)); + if (highImpactOutsidePlan.length > 0) { + findings.push({ + code: "impact-file-unreviewed", + severity: "info", + paths: highImpactOutsidePlan.slice(0, 8).map((entry) => entry.path), + message: `${highImpactOutsidePlan.length === 1 ? "One high-evidence impact file is" : `${highImpactOutsidePlan.length} high-evidence impact files are`} outside both the original plan and this diff. They are not required edits, but inspect the recorded import/history evidence before finishing.` + }); + } const plannedAreas = new Set(report.risks.map((risk) => risk.area)); const newRisks = buildRiskNotes(changed, changed).filter((risk) => !plannedAreas.has(risk.area)); for (const risk of newRisks) { @@ -3223,7 +3461,8 @@ function verifyPlan(report, repo) { summary: buildVerifySummary(changed.length, findings), changedFiles: changed, findings, - diagnostics: repo.diagnostics + diagnostics: repo.diagnostics, + impact }; } function buildVerifySummary(changedCount, findings) { @@ -3264,10 +3503,24 @@ function renderVerifyMarkdown(result) { } lines.push("", "## Changed Files", ""); lines.push(...result.changedFiles.length > 0 ? result.changedFiles.map((path) => `- ${markdownCode(path)}`) : ["- None found"]); + if (result.impact) { + lines.push("", "## Recalculated Impact", ""); + lines.push(...result.impact.files.length > 0 ? result.impact.files.map((file) => `- ${markdownCode(file.path)} (${file.confidence} confidence): ${file.evidence.map((entry) => entry.reason).join("; ")}`) : ["- None found"]); + } return `${lines.join("\n")} `; } +// packages/core/dist/retrieval.js +var STOPWORDS = new Set(`a about above after again against all am an and any are as at be because been before being +below between both but by can cannot could did do does doing down during each few for from further had has have having +he her here hers him his how i if in into is it its itself just me more most my no nor not of off on once only or other +ought our out over own same she should so some such than that the their them then there these they this those through +to too under until up very was we were what when where which while who whom why with would you your +bug issue issues error errors expected actual behavior behaviour reproduce reproduction steps version versions node npm +report repo repository description example code please thanks title type severity confidence location line lines +following above below see also would should could may might must will can also using used use uses`.split(/\s+/)); + // packages/core/dist/validate.js function validateFixMapReport(candidate, label) { if (typeof candidate !== "object" || candidate === null || Array.isArray(candidate) || !Array.isArray(candidate.contextFiles)) { @@ -3360,6 +3613,21 @@ function validateFixMapReport(candidate, label) { message: `${label} has an invalid risks entry at index ${invalidRisk}; each risk needs a non-empty string "area", and optional reason and severity fields must use their documented types.` }; } + if (record.impact !== void 0) { + const impact = record.impact; + const history = isRecord2(impact) ? impact.history : void 0; + if (!isRecord2(impact) || !isRepositoryRelativePathArray(impact.seeds) || !Array.isArray(impact.files) || !isRepositoryRelativePathArray(impact.inspectionOrder) || !isRecord2(history) || typeof history.available !== "boolean" || typeof history.eligibleCommits !== "number" || !Number.isSafeInteger(history.eligibleCommits) || history.eligibleCommits < 0 || typeof history.shallow !== "boolean" || typeof history.truncated !== "boolean") { + return { success: false, message: `${label} has an invalid impact graph envelope.` }; + } + const invalidImpact = impact.files.findIndex((file) => { + if (!isRecord2(file) || !isRepositoryRelativePath(file.path) || typeof file.score !== "number" || !Number.isFinite(file.score) || file.score < 0 || file.confidence !== "high" && file.confidence !== "medium" && file.confidence !== "low" || !Array.isArray(file.evidence)) + return true; + return file.evidence.some((evidence) => !isRecord2(evidence) || !["imports", "imported-by", "co-change", "test-route"].includes(String(evidence.kind)) || !isRepositoryRelativePath(evidence.seed) || typeof evidence.reason !== "string" || !evidence.reason.trim() || evidence.occurrences !== void 0 && (!Number.isSafeInteger(evidence.occurrences) || evidence.occurrences < 0) || evidence.seedChanges !== void 0 && (!Number.isSafeInteger(evidence.seedChanges) || evidence.seedChanges < 0)); + }); + if (invalidImpact !== -1) { + return { success: false, message: `${label} has an invalid impact.files entry at index ${invalidImpact}.` }; + } + } if (!isRepositoryRelativePathArray(record.changedFiles)) { return { success: false, message: `${label} has invalid changedFiles; every entry must be a safe repository-relative path.` }; } @@ -3794,6 +4062,7 @@ async function runVerifyMode(context) { workingTree: context.workingTree, includeUntracked: context.includeUntracked, useCache: !context.noCache, + includeHistory: true, internalExclude: [resolve3(repoRoot, reportPath)] }); const diffFailure = repo.diagnostics.find((diagnostic) => diagnostic.code === "diff-unavailable"); diff --git a/packages/action/package.json b/packages/action/package.json index a94c9bd..2079474 100644 --- a/packages/action/package.json +++ b/packages/action/package.json @@ -1,6 +1,6 @@ { "name": "@fixmap/action", - "version": "0.8.9", + "version": "0.9.0", "description": "GitHub Action wrapper for FixMap pull request reports.", "private": true, "license": "MIT", @@ -11,6 +11,6 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@aryam/fixmap-core": "0.8.9" + "@aryam/fixmap-core": "0.9.0" } } diff --git a/packages/action/src/runner.ts b/packages/action/src/runner.ts index da95288..e4e1b04 100644 --- a/packages/action/src/runner.ts +++ b/packages/action/src/runner.ts @@ -225,6 +225,7 @@ async function runVerifyMode(context: VerifyModeContext): Promise { workingTree: context.workingTree, includeUntracked: context.includeUntracked, useCache: !context.noCache, + includeHistory: true, internalExclude: [resolve(repoRoot, reportPath)] }); const diffFailure = repo.diagnostics.find((diagnostic) => diagnostic.code === "diff-unavailable"); diff --git a/packages/cli/README.md b/packages/cli/README.md index bdecdf1..a11299e 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -2,7 +2,7 @@ **Give your coding agent a map before it starts editing.** -FixMap turns an issue, prompt, or git diff into ranked context files, test routes, and risk notes — with no account or API key and no source upload. +FixMap turns an issue, prompt, or git diff into ranked primary context, an evidence-backed Impact Graph, test routes, and risk notes — with no account or API key and no source upload. ## Quick start @@ -48,16 +48,29 @@ Machine-readable output: fixmap plan --base main --head HEAD --format json --output fixmap-report.json ``` +Compact output for an agent context window: + +```bash +fixmap plan --issue "password reset emails fail" --format agent +``` + +Backtest BM25, FixMap, and Impact Graph against pre-change snapshots from your own repository: + +```bash +fixmap benchmark --repo . --last 50 +``` + Public GitHub issue, pull request, and repository URL modes are available in the CLI and MCP server for issue-only analysis. FixMap fetches task context anonymously, shallow-clones the default branch into an isolated temporary directory, disables credentials and repository execution surfaces, and removes the checkout before returning. Clone locally to use `--diff`, `--base`, `--head`, or working-tree inputs. For long task text, use `--issue-file task.md` or pipe text to `--issue -`. A leading `@` in `--issue` is ordinary task text; only the explicit file flag reads from disk. A one-off `npx -y @aryam/fixmap@latest ...` run is also available, but npm may choose an existing project-local FixMap first. Run `fixmap doctor`, treat its printed running version as authoritative, and update or remove a stale install. For a reproducible clean test, install the exact version into an isolated npm prefix and invoke that prefix's `fixmap` shim directly; the repository README includes complete PowerShell and POSIX commands. ## Complete feature catalog -- **Plan** — rank context files, related tests, test commands, risks, changed files, diagnostics, grounding, confidence, and a next action from task text, a task file, stdin, a public GitHub issue or pull request, a branch diff, or the working tree. +- **Plan** — rank primary context, then map likely impact from imports, reverse dependents, related tests, and repeated Git co-change relationships. Impact paths are inspection candidates, not assumed edits. - **Explain** — use `--explain ` to distinguish ranked, below-cutoff, tie-truncated, excluded, and not-scanned paths. - **Compare** — use `--compare ` to measure how a refined task changed ranks, scores, confidence, and grounding. -- **Verify** — compare a saved plan with the completed diff or working tree; errors fail by default and `--fail-on warning` provides an opt-in strict CI gate without pretending FixMap ran tests or proved correctness. +- **Verify** — compare a saved plan with the completed diff or working tree and recalculate impact around the files actually changed; errors fail by default and `--fail-on warning` provides an opt-in strict CI gate without pretending FixMap ran tests or proved correctness. +- **Repository benchmark** — use `fixmap benchmark --repo . --last 50` to compare BM25, FixMap, and Impact Graph on identical parent-snapshot corpora without executing repository code. - **Validate** — run `fixmap validate ` to check report compatibility without writing custom JavaScript. - **Focus controls** — cap output with `--limit`, repeat `--exclude`, or use ordered `.fixmapignore` patterns with negation. Pasted absolute paths inside the repository are normalized, and unmatched patterns produce a warning. - **Live changes** — `--working-tree` maps staged and unstaged tracked edits; `--include-untracked` opts new files into the changed-file set. @@ -67,7 +80,7 @@ For long task text, use `--issue-file task.md` or pipe text to `--issue -`. A le - **MCP** — expose Plan, Explain, Compare, Verify, and Doctor as five local stdio tools. - **Slash-command discovery** — `fixmap setup` installs `/fixmap`; `fixmap features` prints the same complete catalog in Markdown or JSON. - **Safe repository handling** — public repositories use isolated temporary checkouts with credentials, hooks, filters, and submodule recursion disabled. Local source is read without installing dependencies or running repository scripts. -- **Human and machine output** — Markdown is the default; JSON reports carry `reportVersion: 1` and follow the documented additive compatibility policy. +- **Human, agent, and machine output** — Markdown is the default; `--format agent` is a compact handoff, and JSON reports carry `reportVersion: 1` with the documented additive compatibility policy. ## MCP server @@ -97,6 +110,7 @@ Cursor, Windsurf, or any MCP client: ```text fixmap plan Generate a FixMap report for a task or diff fixmap verify Compare a saved plan with the diff that followed +fixmap benchmark Backtest BM25, FixMap, and Impact Graph on local Git history fixmap doctor Report the resolved version and any shadowing install fixmap validate Validate a saved FixMap JSON report fixmap features List every FixMap capability in Markdown or JSON @@ -116,7 +130,7 @@ fixmap mcp Run FixMap as an MCP server over stdio --exclude Leave paths out of ranking; repeatable, gitignore-flavored --no-cache Bypass the exact-state repository scan cache --repo Local path, file:// URL, or public GitHub HTTPS/SSH URL ---format Output format: markdown (default) or json +--format Plan: markdown (default), agent, or json; benchmark: markdown or json --output Write the report to a file instead of stdout --fail-on Verify exit policy: error (default) or warning ``` @@ -127,6 +141,9 @@ fixmap mcp Run FixMap as an MCP server over stdio ## Context Files - src/auth/reset-password.ts (high confidence): path and content match +## Impact Graph +- src/session.ts (high confidence): imported by the primary edit candidate + ## Test Route - npm --prefix apps/api run test diff --git a/packages/cli/package.json b/packages/cli/package.json index 8418bf5..555374b 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,8 +1,8 @@ { "name": "@aryam/fixmap", - "version": "0.8.9", + "version": "0.9.0", "mcpName": "io.github.aryamthecodebreaker/fixmap", - "description": "Local-first CLI and MCP server mapping GitHub issue URLs, tasks, and diffs to ranked files, tests, and risks.", + "description": "Local-first CLI and MCP server mapping tasks and diffs to ranked context, likely impact, tests, and risks.", "license": "MIT", "repository": { "type": "git", @@ -46,7 +46,7 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@aryam/fixmap-core": "0.8.9", + "@aryam/fixmap-core": "0.9.0", "@modelcontextprotocol/sdk": "1.30.0" }, "engines": { diff --git a/packages/cli/src/agent-setup.ts b/packages/cli/src/agent-setup.ts index 0727695..5912dc7 100644 --- a/packages/cli/src/agent-setup.ts +++ b/packages/cli/src/agent-setup.ts @@ -7,6 +7,7 @@ export type AgentTarget = "claude" | "cursor" | "copilot" | "agents"; export const FIXMAP_FEATURES = [ { name: "Plan", command: "fixmap plan", detail: "Rank context files, test routes, risks, changed files, and uncertainty from a task, issue URL, diff, or working tree." }, + { name: "Impact Graph", command: "fixmap plan", detail: "Map likely dependents, dependencies, tests, and repeated Git co-change relationships around the primary context, with explicit evidence." }, { name: "Explain", command: "fixmap plan --explain ", detail: "Show whether a path ranked, tied below the limit, was excluded, or was never scanned." }, { name: "Compare", command: "fixmap plan --compare ", detail: "Compare a refined task and current plan with an earlier JSON report." }, { name: "Verify", command: "fixmap verify --report ", detail: "Compare the completed diff or working tree with the saved plan; add --fail-on warning for a strict CI gate." }, @@ -20,6 +21,8 @@ export const FIXMAP_FEATURES = [ { name: "Live changes", command: "--working-tree --include-untracked", detail: "Map staged, unstaged, and optionally untracked work against HEAD." }, { name: "Fresh scan", command: "--no-cache", detail: "Bypass the exact git-state cache with CLI --no-cache, MCP noCache: true, or Action no-cache: true, and report that a fresh scan was used." }, { name: "Machine output", command: "--format json --output ", detail: "Emit a versioned JSON contract or readable Markdown without executing repository code." }, + { name: "Compact agent output", command: "--format agent", detail: "Emit EDIT CANDIDATE, INSPECT, TEST, RISK, AVOID, and UNCERTAINTY sections for a small context window." }, + { name: "Repository benchmark", command: "fixmap benchmark --repo . --last 50", detail: "Backtest BM25, FixMap, and Impact Graph on historical parent snapshots with history cut off before each target change." }, { name: "Test routing", command: "fixmap plan", detail: "Detect package, workspace, and language test commands, related tests, and skipped or gated suites." }, { name: "Risk and diagnostics", command: "fixmap plan", detail: "Report bounded risk areas, grounding quality, unread content, scan limits, package-manager conflicts, and unresolved diffs." }, { name: "GitHub Action", command: "uses: aryamthecodebreaker/FixMap@", detail: "Plan or verify pull requests with bounded summaries, outputs, and one updated comment." }, @@ -49,8 +52,10 @@ When the invocation includes a task, issue URL, diff, file path, or workflow nam 1. Run \`fixmap features\` if the requested capability is ambiguous. 2. Use the matching local command: Plan, Explain, Compare, Verify, Validate, Doctor, or MCP. -3. Preserve the user's repository and never imply that FixMap ran tests or proved correctness; it produces a starting map and verification findings. -4. Report the exact command used and summarize files, checks, risks, and diagnostics. +3. Read the Impact Graph as files to inspect, not a claim that each file must change. Preserve each relationship's evidence. +4. Prefer \`--format agent\` when context is constrained, and \`fixmap benchmark\` when the user asks whether FixMap works on this repository. +5. Preserve the user's repository and never imply that FixMap ran tests or proved correctness; it produces a starting map and verification findings. +6. Report the exact command used and summarize files, impact, checks, risks, and diagnostics. Prefer \`fixmap plan --issue "$ARGUMENTS" --repo .\` for task text. Use a canonical public GitHub issue URL directly when one is provided.`; diff --git a/packages/cli/src/benchmark.ts b/packages/cli/src/benchmark.ts new file mode 100644 index 0000000..0b0a33a --- /dev/null +++ b/packages/cli/src/benchmark.ts @@ -0,0 +1,364 @@ +import { execFile } from "node:child_process"; +import { mkdir, mkdtemp, rm } from "node:fs/promises"; +import { tmpdir } from "node:os"; +import { basename, join, resolve } from "node:path"; +import { promisify } from "node:util"; +import { + buildReportFromRepo, + rankByBm25, + retrievalQueryTerms, + scanRepo, + taskMentionsExpectedPath +} from "@aryam/fixmap-core"; + +const exec = promisify(execFile); +const MAX_CHANGED_FILES = 30; +const MAX_BENCHMARK_CASES = 100; +const MAX_TASK_CHARS = 20_000; +const GIT_BUFFER = 24 * 1024 * 1024; + +export type BenchmarkArm = "bm25" | "fixmap" | "impact"; +export type BenchmarkCaseResult = { + commit: string; + task: string; + expected: string[]; + mentionsExpectedPath: boolean; + arms: Record; + impactSecondary: { hits: number; of: number } | null; +}; + +export type RepositoryBenchmark = { + benchmarkVersion: 1; + generatedAt: string; + repository: string; + requestedCommits: number; + eligibleCases: number; + skipped: Record; + safeguards: { + parentSnapshots: true; + historyCutoff: "target-parent"; + maxChangedFiles: number; + primaryTargets: "changed-non-test-code"; + sameScannedCorpus: true; + checkoutFiltersDisabled: true; + repositoryCodeExecuted: false; + }; + cohorts: Record<"all" | "mentioned" | "unmentioned", Record>; + impactSecondary: { hits: number; of: number; recall: number | null }; + cases: BenchmarkCaseResult[]; +}; + +export type BenchmarkScore = { + cases: number; + top1: Rate; + top3: Rate; + top5: Rate; +}; + +type Rate = { hits: number; of: number; rate: number | null; interval95: [number, number] | null }; +type CandidateCommit = { hash: string; parent: string; task: string; changedFiles: string[] }; + +export async function benchmarkRepository(input: { + repoRoot: string; + last?: number; + progress?: (message: string) => void; +}): Promise { + const repoRoot = resolve(input.repoRoot); + const requested = input.last ?? 20; + if (!Number.isSafeInteger(requested) || requested < 1 || requested > MAX_BENCHMARK_CASES) { + throw new Error(`--last must be a whole number from 1 to ${MAX_BENCHMARK_CASES}.`); + } + await assertGitRepository(repoRoot); + const checkoutConfig = await safeCheckoutConfig(repoRoot); + const candidates = await listCandidateCommits(repoRoot, Math.min(MAX_BENCHMARK_CASES * 5, requested * 5)); + const repository = await repositoryLabel(repoRoot); + const skipped: Record = {}; + const results: BenchmarkCaseResult[] = []; + + for (const candidate of candidates) { + if (results.length >= requested) break; + if (candidate.changedFiles.length === 0) { increment(skipped, "empty-change"); continue; } + if (candidate.changedFiles.length > MAX_CHANGED_FILES) { increment(skipped, "oversized-change"); continue; } + if (retrievalQueryTerms(candidate.task).length < 2) { increment(skipped, "insufficient-task-text"); continue; } + + input.progress?.(`Benchmarking ${results.length + 1}/${requested}: ${candidate.hash.slice(0, 8)}`); + const row = await benchmarkCommit(repoRoot, candidate, checkoutConfig); + if (!row) { increment(skipped, "no-preexisting-target"); continue; } + results.push(row); + } + if (results.length === 0) { + throw new Error("No eligible historical changes were found. Use a repository with descriptive commit messages and at least one prior revision."); + } + + const all = results; + const mentioned = results.filter((row) => row.mentionsExpectedPath); + const unmentioned = results.filter((row) => !row.mentionsExpectedPath); + const impactSecondaryRows = results.map((row) => row.impactSecondary).filter((row): row is { hits: number; of: number } => row !== null); + const secondaryHits = impactSecondaryRows.reduce((sum, row) => sum + row.hits, 0); + const secondaryOf = impactSecondaryRows.reduce((sum, row) => sum + row.of, 0); + + return { + benchmarkVersion: 1, + generatedAt: new Date().toISOString(), + repository, + requestedCommits: requested, + eligibleCases: results.length, + skipped, + safeguards: { + parentSnapshots: true, + historyCutoff: "target-parent", + maxChangedFiles: MAX_CHANGED_FILES, + primaryTargets: "changed-non-test-code", + sameScannedCorpus: true, + checkoutFiltersDisabled: true, + repositoryCodeExecuted: false + }, + cohorts: { + all: scoreArms(all), + mentioned: scoreArms(mentioned), + unmentioned: scoreArms(unmentioned) + }, + impactSecondary: { + hits: secondaryHits, + of: secondaryOf, + recall: secondaryOf === 0 ? null : round(secondaryHits / secondaryOf) + }, + cases: results + }; +} + +async function benchmarkCommit( + repoRoot: string, + candidate: CandidateCommit, + checkoutConfig: string[] +): Promise { + const temporaryRoot = await mkdtemp(join(tmpdir(), "fixmap-benchmark-")); + const snapshot = join(temporaryRoot, "snapshot"); + const emptyHooks = join(temporaryRoot, "hooks-disabled"); + await mkdir(emptyHooks); + let worktreeAdded = false; + try { + await runGit(repoRoot, [ + "-c", `core.hooksPath=${emptyHooks}`, + ...checkoutConfig, + "worktree", "add", "--detach", snapshot, candidate.parent + ]); + worktreeAdded = true; + const repo = await scanRepo({ repoRoot: snapshot, includeHistory: true, useCache: false }); + const fileByPath = new Map(repo.files.map((file) => [file.path, file])); + const changedExisting = candidate.changedFiles.filter((path) => fileByPath.has(path)); + // Primary retrieval compares like with like: changed implementation code, excluding tests. + // Config, docs, lockfiles, and tests cannot become free extra answers for one arm. + const expected = changedExisting.filter((path) => { + const file = fileByPath.get(path); + return file?.kind === "code" && !file.isTest; + }); + if (expected.length === 0) return undefined; + + const report = buildReportFromRepo(repo, { issueText: candidate.task, limit: 5 }); + const fixmap = report.contextFiles.map((file) => file.path).slice(0, 5); + const bm25 = rankByBm25(repo.files, candidate.task, 5); + const impact = uniquePaths([ + ...(fixmap[0] ? [fixmap[0]] : []), + ...(report.impact?.files.map((file) => file.path) ?? []), + ...fixmap.slice(1) + ]).slice(0, 5); + const primary = fixmap.find((path) => expected.includes(path)); + const secondaryExpected = primary + ? changedExisting.filter((path) => path !== primary && fileByPath.get(path)?.kind === "code") + : []; + const impactSecondary = primary && secondaryExpected.length > 0 + ? { hits: secondaryExpected.filter((path) => report.impact?.files.some((file) => file.path === path)).length, of: secondaryExpected.length } + : null; + + return { + commit: candidate.hash, + task: candidate.task, + expected, + mentionsExpectedPath: taskMentionsExpectedPath(candidate.task, expected), + arms: { + bm25: scoreCase(bm25, expected), + fixmap: scoreCase(fixmap, expected), + impact: scoreCase(impact, expected) + }, + impactSecondary + }; + } finally { + if (worktreeAdded) { + try { + await runGit(repoRoot, ["-c", `core.hooksPath=${emptyHooks}`, ...checkoutConfig, "worktree", "remove", "--force", snapshot]); + } catch (error) { + throw new Error(`Could not remove temporary benchmark worktree "${snapshot}": ${error instanceof Error ? error.message : String(error)}`); + } + } + await rm(temporaryRoot, { recursive: true, force: true }); + } +} + +async function listCandidateCommits(repoRoot: string, limit: number): Promise { + const hashes = (await runGit(repoRoot, ["rev-list", "--no-merges", `--max-count=${limit}`, "HEAD"])) + .split(/\r?\n/).filter(Boolean); + const candidates: CandidateCommit[] = []; + for (const hash of hashes) { + const parents = (await runGit(repoRoot, ["show", "-s", "--format=%P", hash])).trim().split(/\s+/).filter(Boolean); + if (parents.length !== 1) continue; + const task = (await runGit(repoRoot, ["show", "-s", "--format=%B", hash])).slice(0, MAX_TASK_CHARS).trim(); + const changedFiles = (await runGit(repoRoot, [ + "-c", "core.quotepath=false", "diff-tree", "--no-ext-diff", "--no-commit-id", "--name-only", "-r", "-z", hash + ])).split("\0").filter(Boolean).map((path) => path.replace(/\\/g, "/")); + candidates.push({ hash, parent: parents[0]!, task, changedFiles: [...new Set(changedFiles)] }); + } + return candidates; +} + +async function safeCheckoutConfig(repoRoot: string): Promise { + let names: string[] = []; + try { + const output = await runGit(repoRoot, [ + "config", "--null", "--name-only", "--get-regexp", "^filter\\..*\\.(clean|smudge|process|required)$" + ]); + names = output.split("\0").filter(Boolean); + } catch { + // `git config --get-regexp` exits 1 when no matching filter is configured. + } + const drivers = [...new Set(names.flatMap((name) => { + const match = name.match(/^filter\.(.+)\.(?:clean|smudge|process|required)$/i); + return match?.[1] ? [match[1]] : []; + }))].sort((left, right) => left.localeCompare(right)); + const options = [ + "-c", "core.fsmonitor=false", + "-c", "core.symlinks=false" + ]; + for (const driver of drivers) { + options.push( + "-c", `filter.${driver}.smudge=`, + "-c", `filter.${driver}.process=`, + "-c", `filter.${driver}.required=false` + ); + } + return options; +} + +async function assertGitRepository(repoRoot: string): Promise { + try { + if ((await runGit(repoRoot, ["rev-parse", "--is-inside-work-tree"])).trim() !== "true") throw new Error("not a worktree"); + await runGit(repoRoot, ["rev-parse", "--verify", "HEAD"]); + } catch { + throw new Error(`Benchmark needs a local Git repository with at least one commit: ${repoRoot}`); + } +} + +async function repositoryLabel(repoRoot: string): Promise { + try { + const remote = (await runGit(repoRoot, ["remote", "get-url", "origin"])).trim(); + const match = remote.match(/github\.com[/:]([^/]+\/[^/]+?)(?:\.git)?$/i); + if (match?.[1]) return match[1]; + } catch { /* Local-only repositories have no origin; basename is non-sensitive and stable. */ } + return basename(repoRoot); +} + +async function runGit(cwd: string, args: string[]): Promise { + const { stdout } = await exec("git", args, { + cwd, + maxBuffer: GIT_BUFFER, + env: { ...process.env, GIT_TERMINAL_PROMPT: "0", GIT_CONFIG_NOSYSTEM: "1" } + }); + return stdout; +} + +function scoreCase(paths: string[], expected: string[]): BenchmarkCaseResult["arms"][BenchmarkArm] { + return { + top5Paths: paths, + top1Hit: expected.includes(paths[0] ?? ""), + top3Hit: expected.some((path) => paths.slice(0, 3).includes(path)), + top5Hit: expected.some((path) => paths.slice(0, 5).includes(path)) + }; +} + +function scoreArms(rows: BenchmarkCaseResult[]): Record { + return { + bm25: scoreRows(rows, "bm25"), + fixmap: scoreRows(rows, "fixmap"), + impact: scoreRows(rows, "impact") + }; +} + +function scoreRows(rows: BenchmarkCaseResult[], arm: BenchmarkArm): BenchmarkScore { + return { + cases: rows.length, + top1: rate(rows, arm, "top1Hit"), + top3: rate(rows, arm, "top3Hit"), + top5: rate(rows, arm, "top5Hit") + }; +} + +function rate(rows: BenchmarkCaseResult[], arm: BenchmarkArm, key: "top1Hit" | "top3Hit" | "top5Hit"): Rate { + const hits = rows.filter((row) => row.arms[arm][key]).length; + return { + hits, + of: rows.length, + rate: rows.length === 0 ? null : round(hits / rows.length), + interval95: wilsonInterval(hits, rows.length) + }; +} + +function wilsonInterval(hits: number, total: number): [number, number] | null { + if (total === 0) return null; + const z = 1.959963984540054; + const proportion = hits / total; + const denominator = 1 + (z * z) / total; + const center = (proportion + (z * z) / (2 * total)) / denominator; + const margin = (z / denominator) * Math.sqrt((proportion * (1 - proportion)) / total + (z * z) / (4 * total * total)); + return [round(Math.max(0, center - margin)), round(Math.min(1, center + margin))]; +} + +function round(value: number): number { + return Number(value.toFixed(3)); +} + +function uniquePaths(paths: string[]): string[] { + return [...new Set(paths)]; +} + +function increment(counts: Record, key: string): void { + counts[key] = (counts[key] ?? 0) + 1; +} + +export function renderRepositoryBenchmark(result: RepositoryBenchmark): string { + const unmentioned = result.cohorts.unmentioned; + const percent = (rate: number | null) => rate === null ? "n/a" : `${Math.round(rate * 100)}%`; + const lines = [ + "# FixMap Repository Benchmark", + "", + `Evaluated ${result.eligibleCases} eligible historical changes from ${result.repository}.`, + "Every case used the target commit's parent snapshot and history ending at that parent.", + "", + "## Unmentioned tasks", + "", + "| Arm | Top 1 | Top 3 | Top 5 |", + "| --- | ---: | ---: | ---: |", + `| BM25 over code | ${percent(unmentioned.bm25.top1.rate)} | ${percent(unmentioned.bm25.top3.rate)} | ${percent(unmentioned.bm25.top5.rate)} |`, + `| FixMap context | ${percent(unmentioned.fixmap.top1.rate)} | ${percent(unmentioned.fixmap.top3.rate)} | ${percent(unmentioned.fixmap.top5.rate)} |`, + `| FixMap + Impact Graph | ${percent(unmentioned.impact.top1.rate)} | ${percent(unmentioned.impact.top3.rate)} | ${percent(unmentioned.impact.top5.rate)} |`, + "", + `Impact secondary-file recall: ${result.impactSecondary.of === 0 ? "n/a" : `${result.impactSecondary.hits}/${result.impactSecondary.of} (${percent(result.impactSecondary.recall)})`}.`, + "", + "## Safeguards", + "", + "- Source was scanned from each target's parent revision.", + "- Co-change history stopped at that parent revision.", + `- Merges and commits touching more than ${result.safeguards.maxChangedFiles} files were excluded.`, + "- BM25, FixMap, and Impact Graph saw the same scanned files.", + "- Primary hits were scored only against changed non-test code; secondary impact recall may include changed tests.", + "- Repository code, dependencies, scripts, and hooks were not executed.", + "", + "A historical commit message is not the same input as its original issue. Treat this as a repository-specific backtest, not proof of agent savings.", + "" + ]; + return lines.join("\n"); +} diff --git a/packages/cli/src/cli-runner.ts b/packages/cli/src/cli-runner.ts index 06bd102..fa7e118 100644 --- a/packages/cli/src/cli-runner.ts +++ b/packages/cli/src/cli-runner.ts @@ -9,6 +9,7 @@ import { quoteCliValue as formatCliValue, renderComparisonMarkdown, renderExplanationMarkdown, + renderAgentReport, renderJsonReport, renderVerifyMarkdown, resolveExclusions, @@ -22,6 +23,7 @@ import { import { runDoctorChecks, renderDoctorReport, type DoctorReport } from "./doctor.js"; import { installAgentCommands, renderFeatureCatalog, type AgentTarget } from "./agent-setup.js"; import { clarifyMissingPath } from "./explain-path.js"; +import type { RepositoryBenchmark } from "./benchmark.js"; import { buildReportForRepository, isSafeGitRefName, @@ -40,7 +42,7 @@ export type CliOptions = { baseRef?: string | undefined; headRef?: string | undefined; checkoutRef?: string | undefined; - format: "markdown" | "json"; + format: "markdown" | "json" | "agent"; output?: string | undefined; explainPath?: string | undefined; reportPath?: string | undefined; @@ -64,6 +66,8 @@ export type CliDependencies = { stdout?: (text: string) => void; writeReport?: (path: string, contents: string) => Promise; readIssueFile?: (path: string | number) => string | Buffer; + benchmarkRepository?: (input: { repoRoot: string; last?: number; progress?: (message: string) => void }) => Promise; + renderBenchmark?: (result: RepositoryBenchmark) => string; }; export const USAGE = `FixMap maps an issue, prompt, or diff to context files, test routes, and review risks. @@ -82,6 +86,7 @@ Usage: fixmap plan --working-tree --include-untracked --limit 12 --exclude "docs/**" fixmap plan --no-cache --issue "Fix login" --repo . fixmap plan --issue "Fix login" --format json --output plan.json + fixmap plan --issue "Fix login" --format agent fixmap plan --issue "Fix login in auth middleware" --compare plan.json fixmap plan --base main --head HEAD --format json fixmap verify --report plan.json --diff main...HEAD @@ -89,6 +94,7 @@ Usage: fixmap verify --report plan.json --working-tree --fail-on warning fixmap doctor --format json fixmap validate plan.json + fixmap benchmark --repo . --last 50 fixmap features fixmap setup [--agent claude|cursor|copilot|agents|all] [--repo ] fixmap mcp [--repo ] @@ -98,6 +104,7 @@ Commands: verify Compare a saved report against the diff that followed it doctor Check the FixMap install for stale global or npx shadows validate Validate a saved FixMap JSON report + benchmark Backtest BM25, FixMap, and Impact Graph on pre-change snapshots features List every FixMap capability and its command setup Install a discoverable /fixmap command for coding agents mcp Run FixMap as an MCP server over stdio for AI coding agents @@ -115,7 +122,7 @@ Options: --ref Branch or tag to scan when --repo is a remote GitHub URL --limit Maximum context files to report (default 8, max 20) --exclude Path pattern to leave out of ranking (repeatable) - --format Output format: markdown (default) or json + --format Output format: markdown (default), json, or compact agent --output Write the report or verification to a file instead of stdout --explain Explain why one file was ranked where it was, or left out --compare Compare this plan against an earlier JSON report @@ -136,6 +143,7 @@ const MCP_USAGE = `Usage: fixmap mcp [--repo ]\n\nRuns the FixMap MCP serv const FEATURES_USAGE = `Usage: fixmap features [--format markdown|json]\n\nLists every FixMap capability and the command that exposes it.\n`; const SETUP_USAGE = `Usage: fixmap setup [--agent claude|cursor|copilot|agents|all] [--repo ] [--force]\n\nInstalls a /fixmap command that lists and runs FixMap workflows.\n`; const VALIDATE_USAGE = `Usage: fixmap validate [--format markdown|json]\n\nChecks a saved report against FixMap's structural compatibility contract.\n`; +const BENCHMARK_USAGE = `Usage: fixmap benchmark [--repo ] [--last <1-100>] [--format markdown|json] [--output ]\n\nBacktests BM25, FixMap, and Impact Graph against historical parent snapshots without executing repository code.\n`; export async function runCli(args: string[], dependencies: CliDependencies = {}): Promise { const stdout = dependencies.stdout ?? ((text: string) => process.stdout.write(text)); @@ -320,6 +328,72 @@ export async function runCli(args: string[], dependencies: CliDependencies = {}) } } + if (args[0] === "benchmark") { + if (args[1] === "--help" || args[1] === "-h") { stdout(BENCHMARK_USAGE); return 0; } + let repoRoot = process.cwd(); + let last: number | undefined; + let format: "markdown" | "json" = "markdown"; + let output: string | undefined; + const seen = new Set(); + for (let index = 1; index < args.length; index += 1) { + const raw = args[index]!; + const separator = raw.indexOf("="); + const flag = separator === -1 ? raw : raw.slice(0, separator); + const inline = separator === -1 ? undefined : raw.slice(separator + 1); + if (!new Set(["--repo", "--last", "--format", "--output"]).has(flag) || seen.has(flag)) { + stderr(`${seen.has(flag) ? `Pass ${flag} only once.` : `Unknown benchmark option: ${raw}`}\n\n${BENCHMARK_USAGE}`); + return 1; + } + seen.add(flag); + const following = args[index + 1]; + const value = inline ?? (following && !following.startsWith("-") ? following : undefined); + if (inline === undefined && value !== undefined) index += 1; + if (!value?.trim()) { stderr(`${flag} requires a value.\n\n${BENCHMARK_USAGE}`); return 1; } + if (flag === "--repo") repoRoot = expandHomePath(value.trim()); + else if (flag === "--output") output = expandHomePath(value.trim()); + else if (flag === "--format") { + const normalized = value.trim().toLowerCase(); + if (normalized !== "markdown" && normalized !== "json") { + stderr(`--format must be markdown or json.\n\n${BENCHMARK_USAGE}`); + return 1; + } + format = normalized; + } else { + const parsed = Number(value); + if (!/^\d+$/.test(value) || !Number.isSafeInteger(parsed) || parsed < 1 || parsed > 100) { + stderr(`--last must be a whole number from 1 to 100.\n\n${BENCHMARK_USAGE}`); + return 1; + } + last = parsed; + } + } + if (/^https?:\/\//i.test(repoRoot)) { + stderr(`benchmark --repo needs a local Git checkout so history cutoffs can be enforced.\n\n${BENCHMARK_USAGE}`); + return 1; + } + try { + const benchmarkModule = dependencies.benchmarkRepository && dependencies.renderBenchmark + ? undefined + : await import("./benchmark.js"); + const result = await (dependencies.benchmarkRepository ?? benchmarkModule!.benchmarkRepository)({ + repoRoot, + ...(last === undefined ? {} : { last }), + progress: (message) => { + if (progressRequested(process.env.FIXMAP_PROGRESS) || process.stderr.isTTY) stderr(`${message}\n`); + } + }); + const rendered = format === "json" + ? `${JSON.stringify(result, null, 2)}\n` + : (dependencies.renderBenchmark ?? benchmarkModule!.renderRepositoryBenchmark)(result); + if (output) await (dependencies.writeReport ?? ((path, contents) => writeFile(path, contents, "utf8")))(output, rendered); + else stdout(rendered); + return 0; + } catch (error) { + stderr(`${error instanceof Error ? error.message : String(error)}\n`); + return 1; + } + } + if (args[0] === "doctor") { if (args[1] === "--help" || args[1] === "-h") { stdout(DOCTOR_USAGE); return 0; } const doctorArgs = args.slice(1); @@ -625,7 +699,11 @@ export async function runCli(args: string[], dependencies: CliDependencies = {}) return unresolvedChangeRequest ? 1 : 0; } - const rendered = options.format === "json" ? renderJsonReport(report) : renderMarkdownReport(report); + const rendered = options.format === "json" + ? renderJsonReport(report) + : options.format === "agent" + ? renderAgentReport(report) + : renderMarkdownReport(report); if (options.output) { try { await (dependencies.writeReport ?? ((path, contents) => writeFile(path, contents, "utf8")))( @@ -794,7 +872,7 @@ export function parseArgs(args: string[]): CliOptions { let baseRef: string | undefined; let headRef: string | undefined; let checkoutRef: string | undefined; - let format: "markdown" | "json" = "markdown"; + let format: "markdown" | "json" | "agent" = "markdown"; let output: string | undefined; let explainPath: string | undefined; let reportPath: string | undefined; @@ -881,10 +959,10 @@ export function parseArgs(args: string[]): CliOptions { } else if (arg === "--format") { consumeValue(); const normalized = value?.trim().toLowerCase(); - if (normalized === "markdown" || normalized === "json") { + if (normalized === "markdown" || normalized === "json" || normalized === "agent") { format = normalized; } else { - invalidValues.push(`--format received ${JSON.stringify(value ?? "(missing)")}; expected "markdown" or "json"`); + invalidValues.push(`--format received ${JSON.stringify(value ?? "(missing)")}; expected "markdown", "json", or "agent"`); } } else if (arg === "--report") { consumeValue(); @@ -1244,6 +1322,7 @@ async function runVerify( workingTree: options.workingTree, includeUntracked: options.includeUntracked, useCache: !options.noCache, + includeHistory: true, internalExclude: localPlanArtifactExclusions(options) }); const unresolvedDiff = repo.diagnostics.find((diagnostic) => diagnostic.code === "diff-unavailable"); diff --git a/packages/cli/src/mcp.ts b/packages/cli/src/mcp.ts index ce2eac9..cfcffbe 100644 --- a/packages/cli/src/mcp.ts +++ b/packages/cli/src/mcp.ts @@ -9,6 +9,7 @@ import { explainFile, renderComparisonMarkdown, renderExplanationMarkdown, + renderAgentReport, renderJsonReport, renderMarkdownReport, renderVerifyMarkdown, @@ -37,7 +38,7 @@ type PlanArguments = { head?: string; repo?: string; ref?: string; - format?: "markdown" | "json"; + format?: "markdown" | "json" | "agent"; limit?: number; exclude?: string[]; workingTree?: boolean; @@ -116,7 +117,7 @@ const PLAN_TOOL = { ref: { type: "string", description: "Branch or tag to scan when repo is a remote GitHub URL" }, format: { type: "string", - description: "Output format: markdown (default) or json, case-insensitive" + description: "Output format: markdown (default), json, or compact agent, case-insensitive" }, limit: { type: "number", @@ -313,6 +314,7 @@ export function createFixMapMcpServer( workingTree: args.workingTree, includeUntracked: args.includeUntracked, useCache: !args.noCache, + includeHistory: true, internalExclude: args.reportPath ? [resolve(args.reportPath)] : undefined }); const diffFailure = repo.diagnostics.find((diagnostic) => diagnostic.code === "diff-unavailable"); @@ -442,7 +444,11 @@ export function createFixMapMcpServer( } } - const text = args.format === "json" ? renderJsonReport(report) : renderMarkdownReport(report); + const text = args.format === "json" + ? renderJsonReport(report) + : args.format === "agent" + ? renderAgentReport(report) + : renderMarkdownReport(report); return { content: [{ type: "text", text }] }; }); @@ -478,7 +484,7 @@ export function parsePlanArguments(input: unknown): PlanArgumentsValidation { if (record.workingTree === true && (record.diff || record.base || record.head)) return { success: false, message: 'use either "workingTree" or diff/base/head, not both.' }; if (record.diff && (record.base || record.head)) return { success: false, message: 'use either "diff" or base/head, not both.' }; if (record.head && !record.base) return { success: false, message: '"head" requires "base".' }; - const format = normalizeFormat(record.format); if (!format.success) return format; + const format = normalizePlanFormat(record.format); if (!format.success) return format; const limit = validateLimit(record.limit); if (!limit.success) { return limit; @@ -657,11 +663,22 @@ export function parseVerifyArguments(input: unknown): VerifyArgumentsValidation }; } +function normalizePlanFormat(candidate: unknown): { success: true; value: "markdown" | "json" | "agent" | undefined } | { success: false; message: string } { + if (candidate === undefined) return { success: true, value: undefined }; + if (typeof candidate !== "string") return { success: false, message: '"format" must be "markdown", "json", or "agent".' }; + const value = candidate.trim().toLowerCase(); + return value === "markdown" || value === "json" || value === "agent" + ? { success: true, value } + : { success: false, message: '"format" must be "markdown", "json", or "agent".' }; +} + function normalizeFormat(candidate: unknown): { success: true; value: "markdown" | "json" | undefined } | { success: false; message: string } { if (candidate === undefined) return { success: true, value: undefined }; if (typeof candidate !== "string") return { success: false, message: '"format" must be either "markdown" or "json".' }; const value = candidate.trim().toLowerCase(); - return value === "markdown" || value === "json" ? { success: true, value } : { success: false, message: '"format" must be either "markdown" or "json".' }; + return value === "markdown" || value === "json" + ? { success: true, value } + : { success: false, message: '"format" must be either "markdown" or "json".' }; } type LoadedReport = diff --git a/packages/cli/test/benchmark.test.ts b/packages/cli/test/benchmark.test.ts new file mode 100644 index 0000000..64ac19a --- /dev/null +++ b/packages/cli/test/benchmark.test.ts @@ -0,0 +1,63 @@ +import { execFile } from "node:child_process"; +import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises"; +import { tmpdir } from "node:os"; +import { join } from "node:path"; +import { promisify } from "node:util"; +import { describe, expect, it } from "vitest"; +import { benchmarkRepository, renderRepositoryBenchmark } from "../src/benchmark.js"; + +const exec = promisify(execFile); + +describe("repository benchmark", () => { + it("uses parent snapshots and history cut off before the target change", { timeout: 30_000 }, async () => { + const root = await mkdtemp(join(tmpdir(), "fixmap-repository-benchmark-")); + try { + await exec("git", ["init", "-b", "main"], { cwd: root }); + await exec("git", ["config", "user.name", "FixMap Test"], { cwd: root }); + await exec("git", ["config", "user.email", "fixmap@example.invalid"], { cwd: root }); + await mkdir(join(root, "src", "auth"), { recursive: true }); + await mkdir(join(root, "test", "auth"), { recursive: true }); + await writeFile(join(root, ".gitattributes"), "*.ts filter=fixmap-danger\n"); + await writeFile(join(root, "package.json"), JSON.stringify({ scripts: { test: "vitest run" } })); + await writeFile(join(root, "src", "auth", "reset.ts"), "export const resetPassword = () => 'first';\n"); + await writeFile(join(root, "src", "session.ts"), "export const sessionExpiry = 10;\n"); + await writeFile(join(root, "test", "auth", "reset.test.ts"), "import '../../src/auth/reset';\n"); + await commit(root, "initial authentication implementation"); + + await writeFile(join(root, "src", "auth", "reset.ts"), "import { sessionExpiry } from '../session'; export const resetPassword = () => sessionExpiry;\n"); + await writeFile(join(root, "src", "session.ts"), "export const sessionExpiry = 20;\n"); + await writeFile(join(root, "test", "auth", "reset.test.ts"), "import '../../src/auth/reset'; test('expiry', () => true);\n"); + await commit(root, "fix password reset session expiration"); + + await writeFile(join(root, "src", "auth", "reset.ts"), "import { sessionExpiry } from '../session'; export const resetPassword = () => sessionExpiry + 1;\n"); + await writeFile(join(root, "src", "session.ts"), "export const sessionExpiry = 30;\n"); + await writeFile(join(root, "test", "auth", "reset.test.ts"), "import '../../src/auth/reset'; test('expiration', () => true);\n"); + await commit(root, "correct password reset expiration behavior"); + + // A local checkout would execute this configured filter unless the benchmark + // neutralizes repository-defined drivers before creating its parent worktree. + await exec("git", ["config", "filter.fixmap-danger.smudge", "this-command-must-not-exist-fixmap"], { cwd: root }); + await exec("git", ["config", "filter.fixmap-danger.required", "true"], { cwd: root }); + + const result = await benchmarkRepository({ repoRoot: root, last: 1 }); + + expect(result.eligibleCases).toBe(1); + expect(result.safeguards).toMatchObject({ parentSnapshots: true, historyCutoff: "target-parent", primaryTargets: "changed-non-test-code", checkoutFiltersDisabled: true, repositoryCodeExecuted: false }); + expect(result.cases[0]?.mentionsExpectedPath).toBe(false); + expect(result.cases[0]?.expected).toEqual(expect.arrayContaining(["src/auth/reset.ts", "src/session.ts"])); + expect(result.cases[0]?.arms.impact.top5Paths).toContain("src/session.ts"); + expect(result.cases[0]?.arms.impact.top5Paths).not.toContain("package-lock.json"); + expect(renderRepositoryBenchmark(result)).toContain("Every case used the target commit's parent snapshot"); + + const worktrees = (await exec("git", ["worktree", "list", "--porcelain"], { cwd: root })).stdout; + expect(worktrees.match(/^worktree /gm)).toHaveLength(1); + } finally { + await rm(root, { recursive: true, force: true }); + } + }); +}); + +async function commit(root: string, message: string): Promise { + await exec("git", ["add", "."], { cwd: root }); + await exec("git", ["commit", "-m", message], { cwd: root }); +} diff --git a/packages/cli/test/cli-runner.test.ts b/packages/cli/test/cli-runner.test.ts index 126abf2..638fe3a 100644 --- a/packages/cli/test/cli-runner.test.ts +++ b/packages/cli/test/cli-runner.test.ts @@ -7,6 +7,7 @@ import { describe, expect, it, vi } from "vitest"; import { parseArgs, runCli } from "../src/cli-runner.js"; import { installAgentCommands } from "../src/agent-setup.js"; import type { FixMapReport } from "@aryam/fixmap-core"; +import type { RepositoryBenchmark } from "../src/benchmark.js"; const exec = promisify(execFile); @@ -95,6 +96,35 @@ describe("CLI argument handling", () => { expect(buildReport).toHaveBeenCalledWith(expect.objectContaining({ issueText: url })); }); + it("renders the compact agent format with stable workflow headings", async () => { + const io = capture(); + const impactReport: FixMapReport = { + ...report, + impact: { + seeds: ["README.md"], + files: [{ + path: "docs/guide.md", + score: 6, + confidence: "medium", + evidence: [{ kind: "imported-by", seed: "README.md", reason: "this file imports README.md" }] + }], + inspectionOrder: ["README.md", "docs/guide.md"], + history: { available: false, eligibleCommits: 0, shallow: false, truncated: false } + } + }; + + expect(await runCli(["plan", "--issue", "improve docs", "--format", "agent"], { + ...io.dependencies, + buildReport: vi.fn(async () => impactReport) + })).toBe(0); + + const output = io.stdout.join(""); + for (const heading of ["EDIT CANDIDATE:", "INSPECT:", "TEST:", "RISK:", "AVOID:", "UNCERTAINTY:"]) { + expect(output).toContain(heading); + } + expect(output).toContain("docs/guide.md"); + }); + it.each([ ["--version"], ["-v"], @@ -138,6 +168,42 @@ describe("CLI argument handling", () => { expect(io.stdout.join("")).toContain("Usage: fixmap features [--format markdown|json]"); }); + it("runs the repository benchmark through its isolated command surface", async () => { + const io = capture(); + const result = { + benchmarkVersion: 1, + generatedAt: "2026-08-12T00:00:00.000Z", + repository: "C:/repo", + requestedCommits: 5, + eligibleCases: 1, + skipped: {}, + safeguards: { parentSnapshots: true, historyCutoff: "target-parent", maxChangedFiles: 30, sameScannedCorpus: true, repositoryCodeExecuted: false }, + cohorts: {}, + impactSecondary: { hits: 0, of: 0, recall: null }, + cases: [] + } as unknown as RepositoryBenchmark; + const benchmarkRepository = vi.fn(async () => result); + + expect(await runCli(["benchmark", "--repo", "C:/repo", "--last", "5", "--format", "json"], { + ...io.dependencies, + benchmarkRepository, + renderBenchmark: () => "unused" + })).toBe(0); + + expect(benchmarkRepository).toHaveBeenCalledWith(expect.objectContaining({ repoRoot: "C:/repo", last: 5 })); + expect(JSON.parse(io.stdout.join(""))).toMatchObject({ benchmarkVersion: 1, eligibleCases: 1 }); + }); + + it("rejects remote and out-of-range benchmark inputs before touching history", async () => { + const remote = capture(); + const invalid = capture(); + const benchmarkRepository = vi.fn(async () => { throw new Error("must not run"); }); + + expect(await runCli(["benchmark", "--repo", "https://github.com/o/r"], { ...remote.dependencies, benchmarkRepository })).toBe(1); + expect(await runCli(["benchmark", "--last", "101"], { ...invalid.dependencies, benchmarkRepository })).toBe(1); + expect(benchmarkRepository).not.toHaveBeenCalled(); + }); + it("keeps the npm package README aligned with the complete public feature catalog", async () => { const npmReadme = await readFile(new URL("../README.md", import.meta.url), "utf8"); for (const feature of [ @@ -386,7 +452,7 @@ describe("CLI argument handling", () => { const exitCode = await runCli(["plan", "--issue", "test", "--format", "yaml", "--mystery"], io.dependencies); expect(exitCode).toBe(1); - expect(io.stderr.join("")).toContain('--format received "yaml"; expected "markdown" or "json"'); + expect(io.stderr.join("")).toContain('--format received "yaml"; expected "markdown", "json", or "agent"'); expect(io.stderr.join("")).toContain("Unknown option(s): --mystery"); expect(io.stderr.join("")).not.toContain("Unknown option(s): yaml"); }); diff --git a/packages/cli/test/mcp.test.ts b/packages/cli/test/mcp.test.ts index 4c32404..b3182da 100644 --- a/packages/cli/test/mcp.test.ts +++ b/packages/cli/test/mcp.test.ts @@ -40,7 +40,7 @@ describe("fixmap mcp server", () => { }); expect(parsePlanArguments({ issue: "task", format: "yaml" })).toEqual({ success: false, - message: '"format" must be either "markdown" or "json".' + message: '"format" must be "markdown", "json", or "agent".' }); expect(parsePlanArguments({ issue: "task", surprise: true })).toEqual({ success: false, @@ -435,6 +435,22 @@ describe("fixmap mcp server", () => { expect(report.contextFiles[0]?.path).toBe("src/auth/reset-password.ts"); }); + it("returns compact agent output when asked", async () => { + const root = await createAuthFixture(); + const client = await connectClient(); + + const result = await client.callTool({ + name: "fixmap_plan", + arguments: { issue: "password reset emails fail", repo: root, format: "agent" } + }); + + const text = (result.content as Array<{ type: string; text: string }>)[0]?.text ?? ""; + expect(result.isError).toBeFalsy(); + expect(text).toContain("EDIT CANDIDATE:"); + expect(text).toContain("INSPECT:"); + expect(text).toContain("src/auth/reset-password.ts"); + }); + it("analyzes a public GitHub URL through an isolated temporary checkout", async () => { const client = await connectClient({ clonePublicRepository: async (_url, destination, _hooks, ref) => { diff --git a/packages/core/README.md b/packages/core/README.md index 5dc67d3..927d8a0 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -7,7 +7,7 @@ Most users want the CLI and MCP server instead: [`@aryam/fixmap`](https://www.np ## Usage ```ts -import { buildFixMapReport, renderMarkdownReport } from "@aryam/fixmap-core"; +import { buildFixMapReport, renderAgentReport, renderMarkdownReport } from "@aryam/fixmap-core"; const report = await buildFixMapReport({ repoRoot: "/path/to/repo", @@ -15,11 +15,12 @@ const report = await buildFixMapReport({ }); console.log(renderMarkdownReport(report)); +console.log(renderAgentReport(report)); ``` -`buildFixMapReport` runs the full pipeline: scan the repository, resolve exclusions, rank context files against the task, route to the most relevant test commands, and collect risk notes and diagnostics. Exact git states can reuse a seven-day scan cache, while `useCache: false` forces a fresh scan and reports the bypass. +`buildFixMapReport` runs the full pipeline: scan the repository, resolve exclusions, rank primary context against the task, build a separate likely-impact view, route to relevant test commands, and collect risk notes and diagnostics. Impact evidence includes imports, reverse dependents, routed tests, and repeated bounded Git co-change relationships; it is explicitly an inspection aid rather than a claim that every related file must change. Exact git states can reuse a seven-day scan cache, while `useCache: false` forces a fresh scan and reports the bypass. -The package also exports the lower-level scanner, excluder, ranker, grounding, import-graph, test-routing, risk, comparison, explanation, verification, structural validation, and Markdown/JSON rendering APIs. `@aryam/fixmap-core/browser` exposes the filesystem-free report, Compare, Explain, Verify, validation, and rendering logic for browser applications. +The package also exports the lower-level scanner, excluder, ranker, BM25 retriever, grounding, import graph, Impact Graph builder, test routing, risk, comparison, explanation, verification, structural validation, and Markdown/JSON/agent rendering APIs. `@aryam/fixmap-core/browser` exposes the filesystem-free report, Impact Graph, Compare, Explain, Verify, validation, and rendering logic for browser applications. JSON reports use `reportVersion: 1`. Additive fields and diagnostic codes may appear within that version; consumers should ignore unknown fields and use diagnostic severity as the stable fallback. diff --git a/packages/core/package.json b/packages/core/package.json index ff9e435..88360c9 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "@aryam/fixmap-core", - "version": "0.8.9", - "description": "Deterministic local-first repository scanner, context ranker, and report renderer for coding agents.", + "version": "0.9.0", + "description": "Deterministic local-first repository scanner, context ranker, Impact Graph, and report renderer for coding agents.", "license": "MIT", "repository": { "type": "git", diff --git a/packages/core/src/browser.ts b/packages/core/src/browser.ts index 0519e1e..07152da 100644 --- a/packages/core/src/browser.ts +++ b/packages/core/src/browser.ts @@ -10,7 +10,9 @@ export { compareReports, renderComparisonMarkdown } from "./compare.js"; export { quoteCliValue } from "./cli-quote.js"; export type { CliShell } from "./cli-quote.js"; export { rankContextFiles } from "./rank.js"; -export { buildReportFromRepo, buildRiskNotes, buildTestRoutes, renderJsonReport, renderMarkdownReport } from "./report.js"; +export { rankByBm25, retrievalQueryTerms, retrievalTokens, taskMentionsExpectedPath } from "./retrieval.js"; +export { buildReportFromRepo, buildRiskNotes, buildTestRoutes, renderAgentReport, renderJsonReport, renderMarkdownReport } from "./report.js"; +export { buildImpactMap } from "./impact.js"; export { tokenizePath, tokenizeText } from "./signals.js"; export { renderVerifyMarkdown, verifyPlan } from "./verify.js"; export { validateFixMapReport } from "./validate.js"; @@ -20,6 +22,9 @@ export type { PathExcluder } from "./exclude.js"; export type { ReportComparison } from "./compare.js"; export type { FixMapReport, + ImpactEvidence, + ImpactFile, + ImpactMap, RankedFile, RepoFile, RepoMap, diff --git a/packages/core/src/impact.ts b/packages/core/src/impact.ts new file mode 100644 index 0000000..85990e5 --- /dev/null +++ b/packages/core/src/impact.ts @@ -0,0 +1,156 @@ +import { buildImportGraph } from "./import-graph.js"; +import { isBackupPath, isGeneratedPath } from "./paths.js"; +import type { + ImpactEvidence, + ImpactFile, + ImpactMap, + RepoMap, + TestRoute +} from "./types.js"; + +const DEFAULT_IMPACT_LIMIT = 12; +const MAX_IMPACT_SEEDS = 3; +const MIN_CO_CHANGE_OCCURRENCES = 2; + +type Candidate = { + path: string; + score: number; + evidence: ImpactEvidence[]; +}; + +/** + * Builds a separate impact view instead of smuggling relationship evidence into the task + * ranking. A task match answers "where should I start?"; this answers "what should I inspect + * around that start?". Keeping both lists explicit prevents a historical companion from + * masquerading as a file named by the task. + */ +export function buildImpactMap( + repo: RepoMap, + requestedSeeds: string[], + testRoutes: TestRoute[] = [], + limit = DEFAULT_IMPACT_LIMIT +): ImpactMap { + const repositoryPaths = new Set(repo.files.map((file) => file.path)); + const seeds = [...new Set(requestedSeeds)] + .filter((path) => repositoryPaths.has(path)) + .slice(0, MAX_IMPACT_SEEDS); + const seedSet = new Set(seeds); + const candidates = new Map(); + + const addEvidence = (path: string, score: number, evidence: ImpactEvidence): void => { + if (seedSet.has(path) || !repositoryPaths.has(path) || isGeneratedPath(path) || isBackupPath(path)) return; + const current = candidates.get(path) ?? { path, score: 0, evidence: [] }; + if (!current.evidence.some((entry) => entry.kind === evidence.kind && entry.seed === evidence.seed)) { + current.evidence.push(evidence); + current.score += score; + } + candidates.set(path, current); + }; + + const graph = buildImportGraph(repo.files); + for (const seed of seeds) { + for (const imported of [...(graph.imports.get(seed) ?? [])].sort((a, b) => a.localeCompare(b))) { + addEvidence(imported, 4, { + kind: "imports", + seed, + reason: `${seed} imports this file` + }); + } + for (const importer of [...(graph.importedBy.get(seed) ?? [])].sort((a, b) => a.localeCompare(b))) { + addEvidence(importer, 6, { + kind: "imported-by", + seed, + reason: `this file imports ${seed}` + }); + } + } + + for (const route of testRoutes.filter((entry) => entry.kind === "test")) { + for (const path of route.relatedFiles) { + const seed = nearestSeed(path, seeds) ?? seeds[0]; + if (!seed) continue; + addEvidence(path, 7, { + kind: "test-route", + seed, + reason: `routed test for ${seed} via ${route.command}` + }); + } + } + + const history = repo.history; + if (history) { + for (const seed of seeds) { + const seedCommits = history.commits.filter((commit) => commit.files.includes(seed)); + const coOccurrences = new Map(); + for (const commit of seedCommits) { + for (const path of commit.files) { + if (path !== seed && repositoryPaths.has(path)) { + coOccurrences.set(path, (coOccurrences.get(path) ?? 0) + 1); + } + } + } + for (const [path, occurrences] of coOccurrences) { + if (occurrences < MIN_CO_CHANGE_OCCURRENCES) continue; + const strength = occurrences / Math.max(seedCommits.length, 1); + const score = Math.min(8, 2 + Math.round(strength * 6)); + addEvidence(path, score, { + kind: "co-change", + seed, + reason: + `changed alongside ${seed} in ${occurrences} of its ${seedCommits.length} eligible ` + + `${seedCommits.length === 1 ? "change" : "changes"}`, + occurrences, + seedChanges: seedCommits.length + }); + } + } + } + + const files = [...candidates.values()] + .map(toImpactFile) + .sort((left, right) => right.score - left.score || left.path.localeCompare(right.path)) + .slice(0, Math.max(0, limit)); + + return { + seeds, + files, + inspectionOrder: [...seeds, ...files.map((file) => file.path)], + history: { + available: Boolean(history), + eligibleCommits: history?.commits.length ?? 0, + shallow: history?.shallow ?? false, + truncated: history?.truncated ?? false + } + }; +} + +function toImpactFile(candidate: Candidate): ImpactFile { + const kinds = new Set(candidate.evidence.map((entry) => entry.kind)); + const strongestCoChange = candidate.evidence + .filter((entry) => entry.kind === "co-change") + .reduce((best, entry) => Math.max(best, (entry.occurrences ?? 0) / Math.max(entry.seedChanges ?? 1, 1)), 0); + const confidence: ImpactFile["confidence"] = + kinds.has("test-route") || kinds.size >= 2 || strongestCoChange >= 0.6 + ? "high" + : kinds.has("imported-by") || kinds.has("imports") || strongestCoChange >= 0.3 + ? "medium" + : "low"; + return { + path: candidate.path, + score: candidate.score, + confidence, + evidence: candidate.evidence.sort((left, right) => left.kind.localeCompare(right.kind) || left.seed.localeCompare(right.seed)) + }; +} + +function nearestSeed(path: string, seeds: string[]): string | undefined { + const pathParts = path.split("/"); + return [...seeds] + .map((seed) => { + const seedParts = seed.split("/"); + let common = 0; + while (common < pathParts.length && common < seedParts.length && pathParts[common] === seedParts[common]) common += 1; + return { seed, common }; + }) + .sort((left, right) => right.common - left.common || left.seed.localeCompare(right.seed))[0]?.seed; +} diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index b1f6559..a85f203 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -15,10 +15,12 @@ export { buildRankingShape } from "./grounding.js"; export { buildImportGraph, findImportProximity } from "./import-graph.js"; +export { buildImpactMap } from "./impact.js"; export { detectPrimaryLanguage } from "./languages.js"; export type { LanguageDetection, PrimaryLanguage } from "./languages.js"; export { rankContextFiles } from "./rank.js"; -export { buildReportFromRepo, buildRiskNotes, buildSummary, buildTestRoutes, pathsForRiskArea, renderJsonReport, renderMarkdownReport } from "./report.js"; +export { rankByBm25, retrievalQueryTerms, retrievalTokens, taskMentionsExpectedPath } from "./retrieval.js"; +export { buildReportFromRepo, buildRiskNotes, buildSummary, buildTestRoutes, pathsForRiskArea, renderAgentReport, renderJsonReport, renderMarkdownReport } from "./report.js"; export { scanRepo } from "./repo-scan.js"; export { validateFixMapReport } from "./validate.js"; export type { ValidatedFixMapReport } from "./validate.js"; @@ -27,11 +29,16 @@ export { stripByteOrderMark } from "./text.js"; export type { FixMapInput, FixMapReport, + HistoryCommit, + ImpactEvidence, + ImpactFile, + ImpactMap, IdentifierGrounding, PackageScript, RankedFile, RepoFile, RepoMap, + RepositoryHistory, RiskNote, ScanDiagnostic, TaskAnalysis, diff --git a/packages/core/src/plan.ts b/packages/core/src/plan.ts index 61527e7..7da1253 100644 --- a/packages/core/src/plan.ts +++ b/packages/core/src/plan.ts @@ -10,7 +10,7 @@ import type { FixMapInput, FixMapReport } from "./types.js"; export async function buildFixMapReport( input: Pick< FixMapInput, - "repoRoot" | "issueText" | "diffSpec" | "baseRef" | "headRef" | "workingTree" | "includeUntracked" | "useCache" + "repoRoot" | "issueText" | "diffSpec" | "baseRef" | "headRef" | "workingTree" | "includeUntracked" | "useCache" | "includeHistory" > & { limit?: number | undefined; exclude?: string[] | undefined; @@ -18,7 +18,7 @@ export async function buildFixMapReport( internalExclude?: string[] | undefined; } ): Promise { - const repo = await scanRepo(input); + const repo = await scanRepo({ ...input, includeHistory: input.includeHistory !== false }); const requestedExclude = await resolveExclusions(input.repoRoot, input.exclude ?? []); const internalExclude = buildPathExcluder( (input.internalExclude ?? []).map((pattern) => normalizeAbsolutePattern(input.repoRoot, pattern)) diff --git a/packages/core/src/repo-scan.ts b/packages/core/src/repo-scan.ts index 248641c..d8a63a8 100644 --- a/packages/core/src/repo-scan.ts +++ b/packages/core/src/repo-scan.ts @@ -6,7 +6,7 @@ import { dirname, extname, isAbsolute, join, relative, resolve, sep } from "node import { promisify } from "node:util"; import { ALWAYS_IGNORED_DIRS, GENERATED_DIRS, SOURCE_FILE_EXTENSIONS, isGeneratedPath } from "./paths.js"; import { DIAGNOSTIC_SPEC_LIMIT, truncateForDiagnostic } from "./text.js"; -import type { FixMapInput, PackageScript, RepoFile, RepoMap } from "./types.js"; +import type { FixMapInput, HistoryCommit, PackageScript, RepoFile, RepoMap, RepositoryHistory } from "./types.js"; // Vendored source is intentionally scannable and receives a ranking penalty. Git mode has // always kept tracked vendor/ files; walk mode must not silently use a smaller corpus. @@ -46,9 +46,12 @@ const MAX_TEXT_SAMPLE_BYTES = 64_000; const MAX_DIFF_TEXT_CHARS = 200_000; const MAX_SCANNED_FILES = 25_000; const GIT_MAX_BUFFER = 10 * 1024 * 1024; +const GIT_HISTORY_MAX_BUFFER = 24 * 1024 * 1024; +const MAX_HISTORY_COMMITS = 1_000; +const MAX_HISTORY_FILES_PER_COMMIT = 30; const exec = promisify(execFile); type ScanState = { count: number; limitReported: boolean }; -const SCAN_CACHE_VERSION = 3; +const SCAN_CACHE_VERSION = 4; const SCAN_CACHE_MAX_AGE_MS = 7 * 24 * 60 * 60 * 1000; const SCAN_CACHE_MAX_FUTURE_SKEW_MS = 5 * 60 * 1000; const SCAN_CACHE_FILE = /^[a-f0-9]{24}-[a-f0-9]{24}\.json$/; @@ -63,12 +66,13 @@ type CachedScan = { packageScripts: PackageScript[]; packageManager: RepoMap["packageManager"]; diagnostics: RepoMap["diagnostics"]; + history: RepositoryHistory | null; }; export async function scanRepo( input: Pick< FixMapInput, - "repoRoot" | "baseRef" | "headRef" | "diffSpec" | "workingTree" | "includeUntracked" | "useCache" + "repoRoot" | "baseRef" | "headRef" | "diffSpec" | "workingTree" | "includeUntracked" | "useCache" | "includeHistory" > & { internalExclude?: string[] | undefined } ): Promise { const repoRoot = resolve(input.repoRoot); @@ -95,7 +99,7 @@ export async function scanRepo( ? cacheRoot : undefined; const cacheDecision = input.useCache === true - ? await buildScanCacheLocation(repoRoot, cacheRoot, internalPaths) + ? await buildScanCacheLocation(repoRoot, cacheRoot, internalPaths, input.includeHistory === true) : undefined; const cacheLocation = cacheDecision?.location; if (input.useCache === false) { @@ -116,11 +120,13 @@ export async function scanRepo( let trackedFiles: string[]; let packageScripts: PackageScript[]; let packageManager: RepoMap["packageManager"]; + let history: RepositoryHistory | undefined; if (cached) { files = cached.files; trackedFiles = cached.trackedFiles; packageScripts = cached.packageScripts; packageManager = cached.packageManager; + history = cached.history ?? undefined; diagnostics.push(...cached.diagnostics, { code: "cache-hit", severity: "info", @@ -131,6 +137,9 @@ export async function scanRepo( trackedFiles = await listTrackedPaths(repoRoot, internalPaths); packageScripts = await readPackageScripts(repoRoot, files, diagnostics); packageManager = detectPackageManager(files, diagnostics); + history = input.includeHistory === true + ? await readRepositoryHistory(repoRoot, new Set(files.map((file) => file.path)), diagnostics) + : undefined; if (cacheLocation) { await writeScanCache(cacheLocation, { version: SCAN_CACHE_VERSION, @@ -140,7 +149,8 @@ export async function scanRepo( trackedFiles, packageScripts, packageManager, - diagnostics: [...diagnostics] + diagnostics: [...diagnostics], + history: history ?? null }); } } @@ -148,6 +158,10 @@ export async function scanRepo( const diff = input.workingTree ? await readWorkingTree(repoRoot, input.includeUntracked === true, diagnostics, internalPaths) : await readDiff(repoRoot, diffSpec, diagnostics, internalPaths); + const orderedDiagnostics = [ + ...diagnostics.filter((entry) => !entry.code.startsWith("impact-history-")), + ...diagnostics.filter((entry) => entry.code.startsWith("impact-history-")) + ]; return { root: repoRoot, @@ -157,7 +171,8 @@ export async function scanRepo( changedFiles: diff.changedFiles, diffText: diff.diffText, packageManager, - diagnostics + diagnostics: orderedDiagnostics, + ...(history ? { history } : {}) }; } @@ -217,7 +232,8 @@ function gitPathspec(internalPaths: ReadonlySet): string[] { async function buildScanCacheLocation( root: string, cacheRoot: string, - internalPaths: ReadonlySet + internalPaths: ReadonlySet, + includeHistory: boolean ): Promise { if (sameFilesystemPath(cacheRoot, root) || containedPath(root, cacheRoot) !== undefined) { return { @@ -253,6 +269,7 @@ async function buildScanCacheLocation( head.trim(), status, dirtyDiff, + includeHistory ? "history" : "no-history", ...[...internalPaths].sort((a, b) => a.localeCompare(b)) ].join("\0")); return { location: { @@ -286,6 +303,7 @@ async function readScanCache(location: ScanCacheLocation): Promise { + if (!isRecord(commit) || typeof commit.hash !== "string" || !/^[a-f0-9]{40}$/i.test(commit.hash) || + typeof commit.committedAt !== "number" || !Number.isSafeInteger(commit.committedAt) || commit.committedAt < 0 || + !Array.isArray(commit.files)) return false; + return commit.files.every(isCachedRelativePath); + }); +} + function isCachedRepoFile(candidate: unknown): candidate is RepoFile { if (!isRecord(candidate)) return false; const validSkipReason = candidate.textSampleSkipReason === "too-large" || @@ -1102,6 +1135,108 @@ const NO_GIT_HISTORY = "this repository has no commits yet, so there is nothing to diff against. " + "Commit the initial work first, or run with --issue alone to rank from the task text."; +async function readRepositoryHistory( + root: string, + repositoryPaths: ReadonlySet, + diagnostics: RepoMap["diagnostics"] +): Promise { + try { + const [{ stdout: shallowText }, { stdout: countText }, { stdout: logText }] = await Promise.all([ + exec("git", ["rev-parse", "--is-shallow-repository"], { cwd: root, maxBuffer: GIT_MAX_BUFFER }), + exec("git", ["rev-list", "--count", "--no-merges", "HEAD"], { cwd: root, maxBuffer: GIT_MAX_BUFFER }), + exec("git", [ + "-c", "core.quotepath=false", + "log", + "--no-merges", + "-n", String(MAX_HISTORY_COMMITS), + "--format=%x1e%H%x1f%ct", + "--name-only", + "-z", + "HEAD" + ], { cwd: root, maxBuffer: GIT_HISTORY_MAX_BUFFER }) + ]); + + const parsed = parseHistoryLog(logText, repositoryPaths); + const totalCommits = Number.parseInt(countText.trim(), 10); + const shallow = shallowText.trim() === "true"; + const truncated = Number.isFinite(totalCommits) && totalCommits > parsed.inspectedCommits; + const history: RepositoryHistory = { + commits: parsed.commits, + inspectedCommits: parsed.inspectedCommits, + skippedLargeCommits: parsed.skippedLargeCommits, + shallow, + truncated + }; + + if (shallow) { + diagnostics.push({ + code: "impact-history-shallow", + severity: "info", + message: + `Impact history is shallow (${parsed.inspectedCommits.toLocaleString()} visible non-merge ` + + `${parsed.inspectedCommits === 1 ? "commit" : "commits"}). Import and test relationships remain available, ` + + "but co-change evidence may be incomplete." + }); + } + if (truncated) { + diagnostics.push({ + code: "impact-history-truncated", + severity: "info", + message: + `Impact history inspected the newest ${parsed.inspectedCommits.toLocaleString()} of ${totalCommits.toLocaleString()} ` + + `non-merge commits. Commits touching more than ${MAX_HISTORY_FILES_PER_COMMIT} files were excluded from co-change evidence.` + }); + } + return history; + } catch (error) { + const checkoutState = isMissingGit(error) ? undefined : await describeGitCheckout(root); + diagnostics.push({ + code: "impact-history-unavailable", + severity: "info", + message: checkoutState === "not-repository" + ? "Impact history is unavailable because this directory is not a Git checkout; import and test relationships are still reported." + : checkoutState === "no-history" + ? "Impact history is unavailable because this repository has no commits; import and test relationships are still reported." + : `Impact history could not be read (${truncateForDiagnostic(gitErrorDetail(error), DIAGNOSTIC_SPEC_LIMIT * 2)}); import and test relationships are still reported.` + }); + return undefined; + } +} + +function parseHistoryLog( + logText: string, + repositoryPaths: ReadonlySet +): { commits: HistoryCommit[]; inspectedCommits: number; skippedLargeCommits: number } { + const commits: HistoryCommit[] = []; + let inspectedCommits = 0; + let skippedLargeCommits = 0; + + for (const record of logText.split("\x1e")) { + if (!record) continue; + const fields = record.split("\0"); + const header = fields.shift()?.replace(/^\r?\n/, "") ?? ""; + const separator = header.indexOf("\x1f"); + if (separator === -1) continue; + const hash = header.slice(0, separator).trim(); + const committedAt = Number.parseInt(header.slice(separator + 1).trim(), 10); + if (!/^[a-f0-9]{40}$/i.test(hash) || !Number.isSafeInteger(committedAt) || committedAt < 0) continue; + + inspectedCommits += 1; + const allFiles = [...new Set(fields + .map((path) => path.replace(/^\r?\n/, "")) + .filter(Boolean) + .map(normalizePath))]; + if (allFiles.length > MAX_HISTORY_FILES_PER_COMMIT) { + skippedLargeCommits += 1; + continue; + } + const currentFiles = allFiles.filter((path) => repositoryPaths.has(path)); + if (currentFiles.length === 0) continue; + commits.push({ hash, committedAt, files: currentFiles }); + } + return { commits, inspectedCommits, skippedLargeCommits }; +} + /** * `execFile` puts "Command failed: git ..." in `message` and git's own explanation in * `stderr`, so matching on the message alone never saw the reason. Both are checked. diff --git a/packages/core/src/report.ts b/packages/core/src/report.ts index 3c4fd8a..5f2a620 100644 --- a/packages/core/src/report.ts +++ b/packages/core/src/report.ts @@ -5,6 +5,7 @@ import { import type { RankingShape, TaskGrounding } from "./grounding.js"; import type { PathExcluder } from "./exclude.js"; import { detectPrimaryLanguage, manifestTestCommand, suggestedRunner } from "./languages.js"; +import { buildImpactMap } from "./impact.js"; import { DEFAULT_CONTEXT_FILE_LIMIT, rankContextFiles, rankContextFilesDetailed } from "./rank.js"; import { extractTaskSignals, tokenizePath } from "./signals.js"; import { findGatedTestDiagnostics } from "./test-gates.js"; @@ -44,13 +45,15 @@ export function buildReportFromRepo( const contextPaths = contextFiles.map((file) => file.path); const testRoutes = buildTestRoutes(repo, contextPaths); const routedTestPaths = [...new Set(testRoutes.flatMap((route) => route.relatedFiles))]; + const impact = buildImpactMap(repo, contextPaths, testRoutes); return { reportVersion: 1, - summary: buildSummary(contextFiles.length, testRoutes.length), + summary: buildSummary(contextFiles.length, testRoutes.length, impact.files.length), contextFiles, testRoutes, risks: buildRiskNotes(contextPaths, repo.changedFiles), + impact, changedFiles: repo.changedFiles, diagnostics: [ ...repo.diagnostics, @@ -540,10 +543,11 @@ function findRelatedTests(repo: RepoMap, contextPaths: string[]): string[] { return [...changedTests, ...overlapping].slice(0, 8); } -export function buildSummary(contextFileCount: number, testRouteCount: number): string { +export function buildSummary(contextFileCount: number, testRouteCount: number, impactFileCount = 0): string { const files = contextFileCount === 1 ? "context file" : "context files"; const routes = testRouteCount === 1 ? "test route" : "test routes"; - return `FixMap found ${contextFileCount} ${files} and generated ${testRouteCount} ${routes}.`; + const impact = impactFileCount === 1 ? "impact file" : "impact files"; + return `FixMap found ${contextFileCount} ${files}, ${impactFileCount} ${impact}, and generated ${testRouteCount} ${routes}.`; } export function renderMarkdownReport(report: FixMapReport): string { @@ -556,6 +560,19 @@ export function renderMarkdownReport(report: FixMapReport): string { "", ...listOrEmpty(report.contextFiles.map((file) => `- ${markdownCode(file.path)} (${file.confidence} confidence, score ${file.score}): ${file.reasons.join("; ")}`)), "", + "## Impact Graph", + "", + ...listOrEmpty((report.impact?.files ?? []).map((file) => + `- ${markdownCode(file.path)} (${file.confidence} confidence, impact ${file.score}): ${file.evidence.map((entry) => entry.reason).join("; ")}` + )), + ...(report.impact ? [ + "", + `Inspection order: ${report.impact.inspectionOrder.map(markdownCode).join(" → ") || "None"}.`, + `History evidence: ${report.impact.history.available + ? `${report.impact.history.eligibleCommits.toLocaleString()} eligible commits${report.impact.history.shallow ? " (shallow)" : ""}${report.impact.history.truncated ? " (bounded)" : ""}` + : "not available; import and test evidence only"}.` + ] : []), + "", "## Test Routes", "", ...listOrEmpty(report.testRoutes.map((route) => { @@ -595,6 +612,47 @@ export function renderJsonReport(report: FixMapReport): string { return `${JSON.stringify(report, null, 2)}\n`; } +/** Compact, stable headings for an agent context window. Evidence stays attached to each path. */ +export function renderAgentReport(report: FixMapReport): string { + const editCandidate = report.contextFiles[0]; + const inspectByPath = new Map(); + for (const file of report.contextFiles.slice(1, 4)) { + inspectByPath.set(file.path, `context: ${file.reasons[0] ?? "ranked evidence"}`); + } + for (const file of (report.impact?.files ?? []).slice(0, 5)) { + if (!inspectByPath.has(file.path)) { + inspectByPath.set(file.path, `impact: ${file.evidence[0]?.reason ?? "related repository evidence"}`); + } + } + const avoided = [...new Set(report.diagnostics + .filter((entry) => entry.code === "generated-paths-dominant" || entry.code === "paths-excluded") + .flatMap((entry) => entry.paths ?? []))]; + const uncertainty = report.diagnostics + .filter((entry) => entry.severity !== "info" || entry.code.startsWith("impact-history-")) + .slice(0, 3) + .map((entry) => entry.message); + const lines = [ + "EDIT CANDIDATE:", + editCandidate ? `${editCandidate.path} # ${editCandidate.confidence}; ${editCandidate.reasons[0] ?? "ranked evidence"}` : "none", + "", + "INSPECT:", + ...listOrEmpty([...inspectByPath].map(([path, reason]) => `${path} # ${reason}`)), + "", + "TEST:", + ...listOrEmpty(report.testRoutes.map((route) => `${route.command}${route.relatedFiles[0] ? ` # ${route.relatedFiles[0]}` : ""}`)), + "", + "RISK:", + ...listOrEmpty(report.risks.map((risk) => `${risk.severity} ${risk.area} # ${risk.reason}`)), + "", + "AVOID:", + ...listOrEmpty(avoided), + "", + "UNCERTAINTY:", + ...listOrEmpty(uncertainty) + ]; + return `${lines.join("\n")}\n`; +} + function listOrEmpty(lines: string[]): string[] { return lines.length > 0 ? lines : ["- None found"]; } diff --git a/packages/core/src/retrieval.ts b/packages/core/src/retrieval.ts new file mode 100644 index 0000000..01728aa --- /dev/null +++ b/packages/core/src/retrieval.ts @@ -0,0 +1,92 @@ +import type { RepoFile } from "./types.js"; + +const STOPWORDS = new Set(`a about above after again against all am an and any are as at be because been before being +below between both but by can cannot could did do does doing down during each few for from further had has have having +he her here hers him his how i if in into is it its itself just me more most my no nor not of off on once only or other +ought our out over own same she should so some such than that the their them then there these they this those through +to too under until up very was we were what when where which while who whom why with would you your +bug issue issues error errors expected actual behavior behaviour reproduce reproduction steps version versions node npm +report repo repository description example code please thanks title type severity confidence location line lines +following above below see also would should could may might must will can also using used use uses`.split(/\s+/)); +const PATH_BOUNDARY = /[A-Za-z0-9_/-]/; +const REPO_ROOT_ANCHOR = /(?:\/(?:blob|tree|blame|raw)\/[^\s/]+\/|raw\.githubusercontent\.com\/[^\s/]+\/[^\s/]+\/[^\s/]+\/)$/i; + +export function retrievalTokens(text: string): string[] { + const tokens: string[] = []; + for (const raw of text.match(/[A-Za-z0-9_$]+/g) ?? []) { + const lower = raw.toLowerCase(); + if (lower.length >= 3) tokens.push(lower); + const parts = raw.split(/(?<=[a-z0-9])(?=[A-Z])|_/).filter((part) => part.length >= 3); + if (parts.length > 1) tokens.push(...parts.map((part) => part.toLowerCase())); + } + return tokens; +} + +export function retrievalQueryTerms(task: string): string[] { + return [...new Set(retrievalTokens(task))].filter((term) => !STOPWORDS.has(term)); +} + +/** Standard BM25 (k1=1.2, b=0.75) over the scanner's code-only candidate corpus. */ +export function rankByBm25(files: RepoFile[], task: string, limit = 5): string[] { + const candidates = files.filter((file) => file.isSource && !file.isTest && file.kind === "code"); + const terms = retrievalQueryTerms(task); + const documents = candidates.map((file) => { + const counts = new Map(); + for (const token of retrievalTokens(`${file.path}\n${file.textSample}`)) { + counts.set(token, (counts.get(token) ?? 0) + 1); + } + return { path: file.path, counts, length: [...counts.values()].reduce((sum, count) => sum + count, 0) }; + }); + if (documents.length === 0 || terms.length === 0) return []; + const averageLength = documents.reduce((sum, document) => sum + document.length, 0) / documents.length || 1; + const documentFrequency = new Map(terms.map((term) => [ + term, + documents.reduce((count, document) => count + (document.counts.has(term) ? 1 : 0), 0) + ])); + + return documents + .map((document) => { + let score = 0; + for (const term of terms) { + const frequency = document.counts.get(term) ?? 0; + if (frequency === 0) continue; + const df = documentFrequency.get(term) ?? 0; + const idf = Math.log(1 + (documents.length - df + 0.5) / (df + 0.5)); + score += idf * ((frequency * 2.2) / (frequency + 1.2 * (0.25 + (0.75 * document.length) / averageLength))); + } + return { path: document.path, score }; + }) + .filter((entry) => entry.score > 0) + .sort((left, right) => right.score - left.score || left.path.localeCompare(right.path)) + .slice(0, Math.max(0, limit)) + .map((entry) => entry.path); +} + +export function taskMentionsExpectedPath(task: string, expectedPaths: string[]): boolean { + const normalizedTask = task.replace(/\\/g, "/").toLowerCase(); + return expectedPaths.some((expectedPath) => { + const normalizedPath = expectedPath.replace(/\\/g, "/").toLowerCase(); + const segments = normalizedPath.split("/"); + if (findAnchoredPath(normalizedTask, normalizedPath)) return true; + // A multi-segment suffix can identify the file while a bare basename cannot reliably do so. + for (let start = 1; start < segments.length - 1; start += 1) { + if (findAnchoredPath(normalizedTask, segments.slice(start).join("/"))) return true; + } + return false; + }); +} + +function findAnchoredPath(haystack: string, needle: string): boolean { + if (!needle) return false; + let from = 0; + for (;;) { + const index = haystack.indexOf(needle, from); + if (index === -1) return false; + const before = index === 0 ? "" : haystack[index - 1] ?? ""; + const after = haystack[index + needle.length] ?? ""; + const preceding = haystack.slice(Math.max(0, index - 200), index); + const leftOk = !PATH_BOUNDARY.test(before) || REPO_ROOT_ANCHOR.test(preceding); + if (leftOk && !PATH_BOUNDARY.test(after)) return true; + from = index + 1; + } +} diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index 2a51c5d..ebb60de 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -11,6 +11,8 @@ export type FixMapInput = { includeUntracked?: boolean | undefined; /** Reuse an exact git-state scan from the OS cache. Non-git directories never cache. */ useCache?: boolean | undefined; + /** Read bounded Git history for impact evidence. Disable only when latency matters more than historical coverage. */ + includeHistory?: boolean | undefined; }; export type TextSampleSkipReason = "too-large" | "not-text" | "unreadable"; @@ -72,7 +74,10 @@ export type ScanDiagnostic = { | "cache-bypass" | "cache-skip" | "task-checklist-filtered" - | "package-manager-conflict"; + | "package-manager-conflict" + | "impact-history-unavailable" + | "impact-history-shallow" + | "impact-history-truncated"; message: string; severity: "info" | "warning" | "error"; /** @@ -93,6 +98,22 @@ export type RepoMap = { diffText: string; packageManager: "npm" | "pnpm" | "yarn" | "bun"; diagnostics: ScanDiagnostic[]; + /** Bounded, pre-HEAD history used only as evidence. It never contains file contents. */ + history?: RepositoryHistory; +}; + +export type HistoryCommit = { + hash: string; + committedAt: number; + files: string[]; +}; + +export type RepositoryHistory = { + commits: HistoryCommit[]; + inspectedCommits: number; + skippedLargeCommits: number; + shallow: boolean; + truncated: boolean; }; export type RankedFile = { @@ -123,6 +144,33 @@ export type RiskNote = { severity: "low" | "medium" | "high"; }; +export type ImpactEvidence = { + kind: "imports" | "imported-by" | "co-change" | "test-route"; + seed: string; + reason: string; + occurrences?: number; + seedChanges?: number; +}; + +export type ImpactFile = { + path: string; + score: number; + confidence: "high" | "medium" | "low"; + evidence: ImpactEvidence[]; +}; + +export type ImpactMap = { + seeds: string[]; + files: ImpactFile[]; + inspectionOrder: string[]; + history: { + available: boolean; + eligibleCommits: number; + shallow: boolean; + truncated: boolean; + }; +}; + export type IdentifierGrounding = { identifier: string; status: @@ -159,6 +207,8 @@ export type FixMapReport = { contextFiles: RankedFile[]; testRoutes: TestRoute[]; risks: RiskNote[]; + /** Additive v1 field: evidence-backed files likely worth inspecting after the primary context. */ + impact?: ImpactMap; changedFiles: string[]; diagnostics: ScanDiagnostic[]; analysis?: TaskAnalysis; @@ -172,6 +222,7 @@ export type VerifyFinding = { | "leading-file-untouched" | "no-test-changed" | "new-risk-area" + | "impact-file-unreviewed" | "plan-partially-stale" | "planned-file-deleted" | "plan-repository-mismatch"; @@ -191,4 +242,5 @@ export type VerifyResult = { * comparison; `diagnostics` are what FixMap noticed while looking. */ diagnostics: ScanDiagnostic[]; + impact?: ImpactMap; }; diff --git a/packages/core/src/validate.ts b/packages/core/src/validate.ts index 8c23ecc..b125ba2 100644 --- a/packages/core/src/validate.ts +++ b/packages/core/src/validate.ts @@ -115,6 +115,33 @@ export function validateFixMapReport(candidate: unknown, label: string): Validat }; } + if (record.impact !== undefined) { + const impact = record.impact; + const history = isRecord(impact) ? impact.history : undefined; + if (!isRecord(impact) || !isRepositoryRelativePathArray(impact.seeds) || + !Array.isArray(impact.files) || !isRepositoryRelativePathArray(impact.inspectionOrder) || + !isRecord(history) || typeof history.available !== "boolean" || + typeof history.eligibleCommits !== "number" || !Number.isSafeInteger(history.eligibleCommits) || history.eligibleCommits < 0 || + typeof history.shallow !== "boolean" || typeof history.truncated !== "boolean") { + return { success: false, message: `${label} has an invalid impact graph envelope.` }; + } + const invalidImpact = impact.files.findIndex((file) => { + if (!isRecord(file) || !isRepositoryRelativePath(file.path) || + typeof file.score !== "number" || !Number.isFinite(file.score) || file.score < 0 || + (file.confidence !== "high" && file.confidence !== "medium" && file.confidence !== "low") || + !Array.isArray(file.evidence)) return true; + return file.evidence.some((evidence) => !isRecord(evidence) || + !["imports", "imported-by", "co-change", "test-route"].includes(String(evidence.kind)) || + !isRepositoryRelativePath(evidence.seed) || typeof evidence.reason !== "string" || !evidence.reason.trim() || + (evidence.occurrences !== undefined && (!Number.isSafeInteger(evidence.occurrences) || (evidence.occurrences as number) < 0)) || + (evidence.seedChanges !== undefined && (!Number.isSafeInteger(evidence.seedChanges) || (evidence.seedChanges as number) < 0)) + ); + }); + if (invalidImpact !== -1) { + return { success: false, message: `${label} has an invalid impact.files entry at index ${invalidImpact}.` }; + } + } + if (!isRepositoryRelativePathArray(record.changedFiles)) { return { success: false, message: `${label} has invalid changedFiles; every entry must be a safe repository-relative path.` }; } diff --git a/packages/core/src/verify.ts b/packages/core/src/verify.ts index acfa057..6896c16 100644 --- a/packages/core/src/verify.ts +++ b/packages/core/src/verify.ts @@ -8,6 +8,7 @@ // say which. The output says what differs and leaves that judgement alone. import { isBackupPath, isGeneratedPath, moduleStem } from "./paths.js"; +import { buildImpactMap } from "./impact.js"; import { buildRiskNotes, pathsForRiskArea } from "./report.js"; import type { FixMapReport, RepoMap, VerifyFinding, VerifyResult } from "./types.js"; import { markdownCode } from "./markdown.js"; @@ -170,7 +171,24 @@ export function verifyPlan(report: FixMapReport, repo: RepoMap): VerifyResult { }); } - // 5. Risk the plan never mentioned, because the change reached further than the map did. + // 5. Recompute relationships from what actually changed. This is deliberately an + // informational inspection prompt, not a claim that every dependent must be edited. + const impact = buildImpactMap(repo, changed, report.testRoutes); + const highImpactOutsidePlan = impact.files.filter((entry) => + entry.confidence === "high" && !planned.has(entry.path) && !changed.includes(entry.path) && !isTest(entry.path) + ); + if (highImpactOutsidePlan.length > 0) { + findings.push({ + code: "impact-file-unreviewed", + severity: "info", + paths: highImpactOutsidePlan.slice(0, 8).map((entry) => entry.path), + message: + `${highImpactOutsidePlan.length === 1 ? "One high-evidence impact file is" : `${highImpactOutsidePlan.length} high-evidence impact files are`} ` + + "outside both the original plan and this diff. They are not required edits, but inspect the recorded import/history evidence before finishing." + }); + } + + // 6. Risk the plan never mentioned, because the change reached further than the map did. const plannedAreas = new Set(report.risks.map((risk) => risk.area)); const newRisks = buildRiskNotes(changed, changed).filter((risk) => !plannedAreas.has(risk.area)); for (const risk of newRisks) { @@ -186,7 +204,8 @@ export function verifyPlan(report: FixMapReport, repo: RepoMap): VerifyResult { summary: buildVerifySummary(changed.length, findings), changedFiles: changed, findings, - diagnostics: repo.diagnostics + diagnostics: repo.diagnostics, + impact }; } @@ -234,5 +253,13 @@ export function renderVerifyMarkdown(result: VerifyResult): string { } lines.push("", "## Changed Files", ""); lines.push(...(result.changedFiles.length > 0 ? result.changedFiles.map((path) => `- ${markdownCode(path)}`) : ["- None found"])); + if (result.impact) { + lines.push("", "## Recalculated Impact", ""); + lines.push(...(result.impact.files.length > 0 + ? result.impact.files.map((file) => + `- ${markdownCode(file.path)} (${file.confidence} confidence): ${file.evidence.map((entry) => entry.reason).join("; ")}` + ) + : ["- None found"])); + } return `${lines.join("\n")}\n`; } diff --git a/packages/core/test/entrypoints.test.ts b/packages/core/test/entrypoints.test.ts index 7ba1f83..21403c7 100644 --- a/packages/core/test/entrypoints.test.ts +++ b/packages/core/test/entrypoints.test.ts @@ -7,6 +7,8 @@ describe("public entrypoint parity", () => { "buildReportFromRepo", "renderJsonReport", "renderMarkdownReport", + "renderAgentReport", + "buildImpactMap", "validateFixMapReport", "quoteCliValue" ])("exports deterministic API %s from both node and browser entries", (name) => { diff --git a/packages/core/test/impact.test.ts b/packages/core/test/impact.test.ts new file mode 100644 index 0000000..1a90e6a --- /dev/null +++ b/packages/core/test/impact.test.ts @@ -0,0 +1,108 @@ +import { describe, expect, it } from "vitest"; +import { buildImpactMap } from "../src/impact.js"; +import { taskMentionsExpectedPath } from "../src/retrieval.js"; +import type { RepoFile, RepoMap } from "../src/types.js"; + +function file(path: string, textSample = ""): RepoFile { + return { + path, + extension: path.slice(path.lastIndexOf(".")), + sizeBytes: textSample.length, + isTest: /(?:^|\/)tests?\//.test(path) || path.includes(".test."), + isSource: true, + kind: "code", + textSample + }; +} + +function repository(withHistory = true): RepoMap { + return { + root: "/repo", + files: [ + file("src/auth/reset.ts", "import { token } from './token'; export const reset = token;"), + file("src/auth/token.ts", "export const token = true;"), + file("src/api/auth.ts", "import { reset } from '../auth/reset'; export { reset };"), + file("src/session.ts", "export const session = true;"), + file("test/auth/reset.test.ts", "import { reset } from '../../src/auth/reset'; test('reset', () => reset);"), + file("docs/auth.md", "reset documentation") + ], + packageScripts: [{ name: "test", command: "vitest run", packageDir: "" }], + changedFiles: [], + diffText: "", + packageManager: "npm", + diagnostics: [], + ...(withHistory ? { + history: { + inspectedCommits: 4, + skippedLargeCommits: 0, + shallow: false, + truncated: false, + commits: [ + { hash: "a".repeat(40), committedAt: 4, files: ["src/auth/reset.ts", "src/session.ts"] }, + { hash: "b".repeat(40), committedAt: 3, files: ["src/auth/reset.ts", "src/session.ts", "docs/auth.md"] }, + { hash: "c".repeat(40), committedAt: 2, files: ["src/auth/reset.ts", "src/session.ts", "docs/auth.md"] }, + { hash: "d".repeat(40), committedAt: 1, files: ["src/api/auth.ts"] } + ] + } + } : {}) + }; +} + +describe("buildImpactMap", () => { + it("separates dependents, dependencies, routed tests, and historical companions from seeds", () => { + const impact = buildImpactMap(repository(), ["src/auth/reset.ts"], [{ + kind: "test", + command: "npm test", + reason: "root test script", + relatedFiles: ["test/auth/reset.test.ts"] + }]); + + expect(impact.seeds).toEqual(["src/auth/reset.ts"]); + expect(impact.files.map((entry) => entry.path)).not.toContain("src/auth/reset.ts"); + expect(impact.files.find((entry) => entry.path === "src/auth/token.ts")?.evidence[0]?.kind).toBe("imports"); + expect(impact.files.find((entry) => entry.path === "src/api/auth.ts")?.evidence[0]?.kind).toBe("imported-by"); + expect(impact.files.find((entry) => entry.path === "src/session.ts")?.evidence).toContainEqual(expect.objectContaining({ + kind: "co-change", + occurrences: 3, + seedChanges: 3 + })); + expect(impact.files.find((entry) => entry.path === "test/auth/reset.test.ts")?.evidence.map((entry) => entry.kind)) + .toEqual(expect.arrayContaining(["imported-by", "test-route"])); + expect(impact.history).toEqual({ available: true, eligibleCommits: 4, shallow: false, truncated: false }); + }); + + it("degrades to import and test evidence when history is unavailable", () => { + const impact = buildImpactMap(repository(false), ["src/auth/reset.ts"]); + + expect(impact.history.available).toBe(false); + expect(impact.files.some((entry) => entry.evidence.some((evidence) => evidence.kind === "co-change"))).toBe(false); + expect(impact.files.map((entry) => entry.path)).toEqual(expect.arrayContaining(["src/api/auth.ts", "src/auth/token.ts"])); + }); + + it("requires repeated co-change before reporting a historical relationship", () => { + const repo = repository(); + repo.history!.commits = [ + { hash: "e".repeat(40), committedAt: 1, files: ["src/auth/reset.ts", "src/session.ts"] } + ]; + const impact = buildImpactMap(repo, ["src/auth/reset.ts"]); + + expect(impact.files.find((entry) => entry.path === "src/session.ts")).toBeUndefined(); + }); +}); + +describe("repository benchmark path cohorts", () => { + it("recognizes anchored full paths and multi-segment suffixes but not bare basenames", () => { + const expected = ["packages/toolkit/src/query/react/buildHooks.ts"]; + expect(taskMentionsExpectedPath("Failure in packages/toolkit/src/query/react/buildHooks.ts:20", expected)).toBe(true); + expect(taskMentionsExpectedPath("tsc points at src/query/react/buildHooks.ts(20,4)", expected)).toBe(true); + expect(taskMentionsExpectedPath("buildHooks.ts returns the wrong type", expected)).toBe(false); + expect(taskMentionsExpectedPath("look at test/packages/toolkit/src/query/react/buildHooks.ts", expected)).toBe(false); + }); + + it("recognizes a repository-root path inside a GitHub permalink", () => { + expect(taskMentionsExpectedPath( + "https://github.com/o/r/blob/main/src/auth/reset.ts#L20", + ["src/auth/reset.ts"] + )).toBe(true); + }); +}); diff --git a/packages/core/test/repo-scan.test.ts b/packages/core/test/repo-scan.test.ts index 203e9a9..18c9407 100644 --- a/packages/core/test/repo-scan.test.ts +++ b/packages/core/test/repo-scan.test.ts @@ -940,3 +940,47 @@ describe("scanRepo", () => { expect(diagnostic?.paths).toEqual(["packages/shared"]); }); }); + +describe("repository impact history", () => { + it("reads bounded pre-HEAD co-change evidence and excludes oversized commits", async () => { + const root = await mkdtemp(join(tmpdir(), "fixmap-history-")); + try { + await exec("git", ["init"], { cwd: root }); + await exec("git", ["config", "user.name", "FixMap Test"], { cwd: root }); + await exec("git", ["config", "user.email", "fixmap@example.invalid"], { cwd: root }); + await mkdir(join(root, "src"), { recursive: true }); + await writeFile(join(root, "src", "seed.ts"), "export const seed = 1;\n"); + await writeFile(join(root, "src", "peer.ts"), "export const peer = 1;\n"); + await exec("git", ["add", "."], { cwd: root }); + await exec("git", ["commit", "-m", "add seed and peer"], { cwd: root }); + + await writeFile(join(root, "src", "seed.ts"), "export const seed = 2;\n"); + await writeFile(join(root, "src", "peer.ts"), "export const peer = 2;\n"); + await exec("git", ["add", "."], { cwd: root }); + await exec("git", ["commit", "-m", "update seed and peer"], { cwd: root }); + + await mkdir(join(root, "bulk"), { recursive: true }); + await Promise.all(Array.from({ length: 31 }, (_, index) => + writeFile(join(root, "bulk", `file-${index}.ts`), `export const value${index} = ${index};\n`) + )); + await writeFile(join(root, "src", "seed.ts"), "export const seed = 3;\n"); + await exec("git", ["add", "."], { cwd: root }); + await exec("git", ["commit", "-m", "large generated sweep"], { cwd: root }); + + const repo = await scanRepo({ repoRoot: root, includeHistory: true }); + + expect(repo.history).toMatchObject({ + inspectedCommits: 3, + skippedLargeCommits: 1, + shallow: false, + truncated: false + }); + expect(repo.history?.commits).toHaveLength(2); + expect(repo.history?.commits.every((commit) => + commit.files.includes("src/seed.ts") && commit.files.includes("src/peer.ts") + )).toBe(true); + } finally { + await rm(root, { recursive: true, force: true }); + } + }); +}); diff --git a/packages/core/test/validate.test.ts b/packages/core/test/validate.test.ts index 48bfaa8..1f0db18 100644 --- a/packages/core/test/validate.test.ts +++ b/packages/core/test/validate.test.ts @@ -148,6 +148,34 @@ describe("validateFixMapReport", () => { expect(result.success).toBe(true); }); + it("accepts a valid additive impact graph and rejects unsafe impact paths", () => { + const impact = { + seeds: ["src/reset.ts"], + files: [{ + path: "src/session.ts", + score: 8, + confidence: "high", + evidence: [{ + kind: "co-change", + seed: "src/reset.ts", + reason: "changed alongside src/reset.ts in 3 of its 4 eligible changes", + occurrences: 3, + seedChanges: 4 + }] + }], + inspectionOrder: ["src/reset.ts", "src/session.ts"], + history: { available: true, eligibleCommits: 20, shallow: false, truncated: false } + }; + + expect(validateFixMapReport({ ...envelope, impact }, "report").success).toBe(true); + const invalid = validateFixMapReport({ + ...envelope, + impact: { ...impact, files: [{ ...impact.files[0], path: "../outside.ts" }] } + }, "report"); + expect(invalid.success).toBe(false); + if (!invalid.success) expect(invalid.message).toContain("impact.files entry"); + }); + it("rejects an unknown identifier grounding status", () => { const result = validateFixMapReport({ ...envelope, diff --git a/scripts/evaluate-agent-study.mjs b/scripts/evaluate-agent-study.mjs new file mode 100644 index 0000000..60cd3cc --- /dev/null +++ b/scripts/evaluate-agent-study.mjs @@ -0,0 +1,77 @@ +import { readFile } from "node:fs/promises"; +import { fileURLToPath } from "node:url"; +import { dirname, join, resolve } from "node:path"; + +const root = resolve(dirname(fileURLToPath(import.meta.url)), ".."); +const protocolPath = join(root, "benchmarks", "agent-study", "protocol.json"); +const protocol = JSON.parse(await readFile(protocolPath, "utf8")); +const requiredArms = ["baseline", "fixmap-available", "fixmap-instructed", "fixmap-impact"]; +const requiredMetrics = [ + "taskResolved", "correctFileInFirstThreeOpened", "toolCallsToFirstRelevantFile", + "filesOpenedBeforeFirstEdit", "incorrectFilesEdited", "totalToolCalls", "inputTokens", + "outputTokens", "testsSelectedCorrectly", "finalPatchAccepted", "fixmapPlanUsed", "verifyUsefulWarnings" +]; + +if (protocol.protocolVersion !== 1 || protocol.status !== "protocol-only" || + JSON.stringify(protocol.arms) !== JSON.stringify(requiredArms) || + requiredMetrics.some((metric) => !protocol.metrics.includes(metric)) || + Object.values(protocol.requirements).some((value) => value !== true)) { + throw new Error("Agent-study protocol is incomplete or has drifted from its frozen four-arm contract."); +} + +const inputIndex = process.argv.indexOf("--input"); +if (inputIndex === -1) { + process.stdout.write("Agent-study protocol valid. No run data supplied; no effectiveness result is claimed.\n"); + process.exit(0); +} +const inputPath = process.argv[inputIndex + 1]; +if (!inputPath) throw new Error("--input requires a JSONL run file."); +const rows = (await readFile(resolve(inputPath), "utf8")) + .split(/\r?\n/).filter(Boolean).map((line, index) => { + try { return JSON.parse(line); } catch (error) { throw new Error(`Invalid JSONL at line ${index + 1}: ${error.message}`); } + }); +if (rows.length === 0) throw new Error("Agent-study input contains no runs."); + +const keys = new Set(); +for (const [index, row] of rows.entries()) { + for (const field of ["taskId", "arm", "model", "modelVersion", "repository", "revision", "transcript", ...requiredMetrics]) { + if (!(field in row)) throw new Error(`Run ${index + 1} is missing ${field}.`); + } + if (!requiredArms.includes(row.arm)) throw new Error(`Run ${index + 1} has unknown arm ${JSON.stringify(row.arm)}.`); + if (typeof row.transcript !== "string" || !row.transcript.trim()) throw new Error(`Run ${index + 1} has no transcript reference.`); + const key = `${row.taskId}\0${row.arm}`; + if (keys.has(key)) throw new Error(`Duplicate task/arm run: ${row.taskId} / ${row.arm}.`); + keys.add(key); +} + +const tasks = [...new Set(rows.map((row) => row.taskId))]; +for (const task of tasks) { + const taskRows = rows.filter((row) => row.taskId === task); + const arms = taskRows.map((row) => row.arm).sort(); + if (JSON.stringify(arms) !== JSON.stringify([...requiredArms].sort())) { + throw new Error(`Task ${task} does not contain exactly one run from every arm.`); + } + for (const field of ["model", "modelVersion", "repository", "revision"]) { + if (new Set(taskRows.map((row) => row[field])).size !== 1) throw new Error(`Task ${task} does not hold ${field} constant.`); + } +} + +const aggregate = Object.fromEntries(requiredArms.map((arm) => { + const armRows = rows.filter((row) => row.arm === arm); + const rate = (field) => armRows.filter((row) => row[field] === true).length / armRows.length; + const median = (field) => { + const values = armRows.map((row) => row[field]).filter(Number.isFinite).sort((a, b) => a - b); + if (values.length === 0) return null; + const middle = Math.floor(values.length / 2); + return values.length % 2 ? values[middle] : (values[middle - 1] + values[middle]) / 2; + }; + return [arm, { + runs: armRows.length, + taskResolutionRate: rate("taskResolved"), + acceptedPatchRate: rate("finalPatchAccepted"), + firstThreeFileRate: rate("correctFileInFirstThreeOpened"), + medianToolCallsToRelevantFile: median("toolCallsToFirstRelevantFile"), + medianTotalToolCalls: median("totalToolCalls") + }]; +})); +process.stdout.write(`${JSON.stringify({ protocolVersion: 1, tasks: tasks.length, aggregate }, null, 2)}\n`); diff --git a/server.json b/server.json index 4e07472..7143ba8 100644 --- a/server.json +++ b/server.json @@ -1,17 +1,17 @@ { "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json", "name": "io.github.aryamthecodebreaker/fixmap", - "description": "Deterministic local-first repo context for coding agents with one-command GitHub issue analysis.", + "description": "Deterministic local-first context and impact maps for coding agents from tasks, issues, and diffs.", "repository": { "url": "https://github.com/aryamthecodebreaker/FixMap", "source": "github" }, - "version": "0.8.9", + "version": "0.9.0", "packages": [ { "registryType": "npm", "identifier": "@aryam/fixmap", - "version": "0.8.9", + "version": "0.9.0", "transport": { "type": "stdio" }, From efe87c6a0e6d777421fb121f6b4cef308fc8770c Mon Sep 17 00:00:00 2001 From: Aryam Goyal Date: Thu, 13 Aug 2026 14:50:11 +0530 Subject: [PATCH 2/3] feat: complete FixMap v0.9.0 agent workflow --- CHANGELOG.md | 10 +- README.md | 38 ++- apps/web/app/_lib/site-data.ts | 2 + apps/web/app/changelog/page.tsx | 10 +- apps/web/app/docs/page.tsx | 14 +- apps/web/app/evidence/page.tsx | 2 +- apps/web/app/get-started/page.tsx | 13 +- apps/web/app/globals.css | 7 +- apps/web/app/page.tsx | 25 +- apps/web/app/product/page.tsx | 39 ++- apps/web/public/fixmap-launch-poster.jpg | Bin 65468 -> 144230 bytes apps/web/public/fixmap-launch.mp4 | Bin 1924577 -> 4183580 bytes benchmarks/heldout/README.md | 18 +- docs/BENCHMARKS.md | 24 +- docs/GROWTH_LOG.md | 4 + docs/LAUNCH_KIT.md | 20 +- .../assets/fixmap-v0.9.0-agent-comparison.gif | Bin 0 -> 1761467 bytes .../2026-08-04-benchmark-self-audit.md | 2 + .../releases/v0.9.0-post-release-checklist.md | 5 +- docs/releases/v0.9.0-release-notes-draft.md | 12 +- docs/releases/v0.9.0-social-posts.md | 66 +++++ docs/releases/v0.9.0-verification.md | 15 +- packages/action/dist/index.mjs | 5 +- packages/cli/README.md | 35 ++- packages/cli/src/agent-setup.ts | 9 +- packages/cli/src/analysis-commands.ts | 184 ++++++++++++ packages/cli/src/analysis-source.ts | 121 ++++++++ packages/cli/src/benchmark.ts | 22 +- packages/cli/src/cli-runner.ts | 37 +++ packages/cli/src/mcp.ts | 112 +++++++- packages/cli/src/repository-source.ts | 2 +- packages/cli/src/watch-command.ts | 116 ++++++++ packages/cli/src/watch.ts | 163 +++++++++++ packages/cli/test/analysis-commands.test.ts | 67 +++++ packages/cli/test/benchmark.test.ts | 7 +- packages/cli/test/cli-runner.test.ts | 41 ++- packages/cli/test/mcp.test.ts | 28 +- packages/cli/test/watch.test.ts | 78 +++++ packages/core/README.md | 17 +- packages/core/src/browser.ts | 2 + packages/core/src/context.ts | 270 ++++++++++++++++++ packages/core/src/graph.ts | 74 +++++ packages/core/src/index.ts | 5 +- packages/core/src/plan.ts | 20 +- packages/core/test/context.test.ts | 66 +++++ packages/core/test/entrypoints.test.ts | 2 + packages/core/test/graph.test.ts | 40 +++ packages/core/test/plan.test.ts | 12 +- 48 files changed, 1768 insertions(+), 93 deletions(-) create mode 100644 docs/assets/fixmap-v0.9.0-agent-comparison.gif create mode 100644 docs/releases/v0.9.0-social-posts.md create mode 100644 packages/cli/src/analysis-commands.ts create mode 100644 packages/cli/src/analysis-source.ts create mode 100644 packages/cli/src/watch-command.ts create mode 100644 packages/cli/src/watch.ts create mode 100644 packages/cli/test/analysis-commands.test.ts create mode 100644 packages/cli/test/watch.test.ts create mode 100644 packages/core/src/context.ts create mode 100644 packages/core/src/graph.ts create mode 100644 packages/core/test/context.test.ts create mode 100644 packages/core/test/graph.test.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c945d0..9cb18a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,19 +6,23 @@ Accuracy figures inside a released entry are the numbers measured **at that rele left as written. The current numbers live on the [evidence page](https://usefixmap.vercel.app/evidence), which is generated from the recorded results rather than transcribed by hand. -## 0.9.0 - 2026-08-12 +## 0.9.0 - 2026-08-13 ### Added - Every plan now contains a separate Impact Graph built from direct imports, reverse dependents, routed tests, and repeated Git co-change relationships. Each relationship carries its evidence, confidence, and inspection order; generated and backup artifacts stay excluded. -- `fixmap benchmark --repo . --last 50` backtests BM25-over-code, FixMap context, and FixMap with Impact Graph on identical historical parent-snapshot corpora. It reports all, path-mentioned, and unmentioned cohorts, Wilson intervals, raw cases, skip counts, and secondary-file recall without executing repository code. +- `fixmap context` builds a deterministic Markdown or JSON source pack from primary and impact files. It selects line ranges within an estimated source-token budget and records roles, reasons, confidence, truncation, and omissions. +- `fixmap graph` exports the Impact Graph as portable Mermaid or versioned JSON while preserving relationship direction and evidence. +- `fixmap watch --report plan.json --repo .` emits verification and recalculated impact only when the local working tree changes, with Markdown or JSON Lines output. +- `fixmap benchmark --repo . --last 50` backtests BM25-over-code, FixMap context, and FixMap with Impact Graph on identical historical parent-snapshot corpora. It reports all, path-mentioned, and unmentioned cohorts, Wilson intervals, raw cases, skip counts, and secondary-file recall without executing repository code or scoring generated twins as primary answers. - `fixmap plan --format agent` emits a compact, stable handoff organized as EDIT CANDIDATE, INSPECT, TEST, RISK, AVOID, and UNCERTAINTY. - A frozen four-arm agent-study protocol and validator are checked in for future controlled measurements. No agent-effectiveness or time-saved claim is made without completed, auditable runs. +- A 32-second motion-first agent comparison is available on the README and website in animated-preview and 1080p H.264/AAC formats, with original no-vocals music and no unsupported savings claim. ### Improved - Verify recalculates impact around the files actually changed and adds advisory findings for high-evidence related paths outside the original plan. -- Plan, MCP, the GitHub Action, slash-command discovery, the live demo, package documentation, and the website all expose the new impact evidence consistently. +- Plan, Context, Graph, MCP, the GitHub Action, slash-command discovery, the live demo, package documentation, and the website expose the new evidence consistently. - Git-history collection is bounded, cached, non-executing, and explicit about shallow, truncated, missing, or unreadable history. Import and test relationships continue to work when history is unavailable. ### Evidence and release engineering diff --git a/README.md b/README.md index c28ab4e..da69476 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,10 @@ Paste a GitHub issue URL, describe a task, or point at a diff. FixMap returns ra +[![FixMap v0.9.0: two coding agents work the same issue, with FixMap supplying ranked context, an Impact Graph, Watch feedback, and Verify evidence](docs/assets/fixmap-v0.9.0-agent-comparison.gif)](https://usefixmap.vercel.app/fixmap-launch.mp4) + +

Watch the 32-second launch film with sound

+ ![A generated FixMap CLI report showing ranked context files, test routes, risks, analysis, and diagnostics](docs/assets/fixmap-cli-demo.svg) ## Install @@ -59,6 +63,24 @@ Measure BM25, FixMap, and Impact Graph on your own repository's history: fixmap benchmark --repo . --last 50 ``` +Keep the saved plan beside an agent while it edits. Watch emits a new verification only when the working tree changes and recalculates impact around the actual diff: + +```bash +fixmap watch --report plan.json --repo . --include-untracked +``` + +Give an agent the relevant source ranges instead of only file names. Context draws from primary and impact files and stays within an estimated source-token budget: + +```bash +fixmap context --issue "password reset emails fail" --budget 10000 +``` + +Export the evidence graph for a pull request, issue, or design note: + +```bash +fixmap graph --issue "password reset emails fail" --format mermaid +``` + Use compact headings in an agent context window: ```bash @@ -118,9 +140,17 @@ Use `--working-tree` for staged and unstaged tracked edits, `--include-untracked - Builds a separate likely-impact view from direct imports, reverse dependents, routed tests, and Git files that repeatedly changed with a primary ranked file. - Reads at most 1,000 non-merge commits, excludes commits touching more than 30 files, requires at least two co-occurrences, and marks shallow or unavailable history instead of inventing evidence. - Recalculates impact around files actually changed during Verify and identifies high-evidence dependents outside the original plan as inspection notes, never mandatory edits. -- `fixmap benchmark --repo . --last 50` evaluates BM25-over-code, ordinary FixMap context, and Impact Graph against historical parent snapshots. Every case's history stops before its target change, all arms see one scanned corpus, and mentioned/unmentioned tasks are reported separately. +- `fixmap benchmark --repo . --last 50` evaluates BM25-over-code, ordinary FixMap context, and Impact Graph against historical parent snapshots. Every case's history stops before its target change, all arms see one scanned corpus, generated twins are not scored as primary answers, and mentioned/unmentioned tasks are reported separately. +- `fixmap watch --report plan.json --repo .` monitors a local working tree, re-runs Verify, and recalculates impact only when edits change. It never executes repository code; `--format json` produces one JSON object per update. - Benchmark Markdown and versioned JSON include Wilson intervals, excluded-case counts, secondary-file recall, safeguards, and raw per-case outcomes. Historical commit messages are a repository-specific backtest, never proof of agent savings. +### Context packs and graph export + +- `fixmap context` selects deterministic line ranges from primary and impact files, labels each snippet as primary or impact, and records its reason, confidence, line range, estimated token cost, source truncation, and omitted-file reason. +- The budget counts source using the stable estimate `ceil(UTF-8 bytes / 4)`; metadata is excluded. This is a reproducible planning estimate, not a tokenizer-specific exact count. +- Context may use FixMap's bounded scanner sample rather than an entire large file. `sourceTruncated` makes that boundary explicit in JSON and Markdown. +- `fixmap graph` exports the same Impact Graph as Mermaid or versioned JSON, preserving imports, imported-by, test-route, and co-change direction and evidence. + ### Exclusion pattern syntax `--exclude` and `.fixmapignore` use repository-relative gitignore-style patterns. `/docs/**` anchors at the repository root, `docs/**` matches the same root directory and nested occurrences, `!docs/keep.md` re-includes a path after an earlier exclusion, and trailing `/` targets a directory. `*`, `?`, and `**` are supported; brace groups such as `{src,test}` are literal text, not alternation. Pass repeated `--exclude` flags or put one pattern per `.fixmapignore` line so commas in literal names stay unambiguous. @@ -139,14 +169,14 @@ Use `--working-tree` for staged and unstaged tracked edits, `--include-untracked ### Agent and automation interfaces - `fixmap setup` installs `/fixmap` discovery for Claude Code, Cursor, GitHub Copilot prompt files, and the open Agent Skills layout; the no-argument command lists every FixMap workflow before making changes. -- The MCP server exposes `fixmap_plan`, `fixmap_explain`, `fixmap_compare`, `fixmap_verify`, and `fixmap_doctor` over local stdio and is published in the official MCP Registry. +- The MCP server exposes `fixmap_plan`, `fixmap_context`, `fixmap_graph`, `fixmap_explain`, `fixmap_compare`, `fixmap_verify`, and `fixmap_doctor` over local stdio and is published in the official MCP Registry. - The GitHub Action runs Plan or Verify on pull requests, appends within the job summary's remaining 1 MiB budget, bounds its report output and comment, and creates or updates one FixMap comment instead of posting duplicates. - The Action accepts explicit task input or pull-request context, uses the same report validator as the CLI and MCP server, and fails clearly when a requested diff cannot be resolved. - The browser demo runs the real core Plan, Explain, Compare, and Verify logic against a sample repository without uploading the task. ### TypeScript library -- `@aryam/fixmap-core` exposes repository scanning, exclusion resolution, ranking, Impact Graph construction, BM25 retrieval, task grounding, language/import analysis, test/risk routing, report validation, and Markdown/JSON/agent rendering. +- `@aryam/fixmap-core` exposes repository scanning, exclusion resolution, ranking, Context Pack and Impact Graph construction, BM25 retrieval, task grounding, language/import analysis, test/risk routing, report validation, and Markdown/JSON/agent/Mermaid rendering. - Its public API also exposes Explain, Compare, and Verify builders and result types, so another tool can compose the same workflow without shelling out to the CLI. - The `@aryam/fixmap-core/browser` entry runs the filesystem-free report, comparison, explanation, verification, and rendering logic in a browser bundle. @@ -171,7 +201,7 @@ FixMap is deterministic. It narrows investigation; it does not prove that a rank ## MCP server -Expose Plan, Explain, Compare, Verify, and Doctor over local stdio: +Expose Plan, Context, Graph, Explain, Compare, Verify, and Doctor over local stdio: ```bash fixmap mcp diff --git a/apps/web/app/_lib/site-data.ts b/apps/web/app/_lib/site-data.ts index 0b90268..f0ff1e4 100644 --- a/apps/web/app/_lib/site-data.ts +++ b/apps/web/app/_lib/site-data.ts @@ -101,6 +101,8 @@ export const commands = { publicIssue: "fixmap plan --issue https://github.com/chalk/chalk/issues/624", localTask: "fixmap plan --issue \"password reset emails fail\"", + context: "fixmap context --issue \"password reset emails fail\" --budget 10000", + graph: "fixmap graph --issue \"password reset emails fail\" --format mermaid", diff: "fixmap plan --diff main...HEAD", verify: "fixmap verify --report plan.json --diff main...HEAD", validate: "fixmap validate plan.json", diff --git a/apps/web/app/changelog/page.tsx b/apps/web/app/changelog/page.tsx index 60e05d3..50af597 100644 --- a/apps/web/app/changelog/page.tsx +++ b/apps/web/app/changelog/page.tsx @@ -45,16 +45,20 @@ type Release = { const releases: Release[] = [ { version: "0.9.0", - date: "August 12, 2026", + date: "August 13, 2026", label: "Latest release", - summary: "Impact Graph, compact agent output, and honest repository-local benchmarking form FixMap's first feature release.", + summary: "Impact Graph, budgeted Context Packs, portable graph export, continuous Watch, compact agent output, and honest repository-local benchmarking form FixMap's first feature release.", groups: [ { label: "Added", items: [ "Every plan now separates primary task-ranked context from likely impact backed by imports, reverse dependents, routed tests, and repeated Git co-change evidence.", + "fixmap context packages deterministic source ranges within an explicit estimated-token budget and reports truncation or omissions.", + "fixmap graph exports the Impact Graph as Mermaid or versioned JSON while preserving relationship direction and evidence.", "fixmap benchmark compares BM25, FixMap, and Impact Graph on identical historical parent snapshots without executing repository code.", - "Compact agent output provides a stable edit, inspect, test, risk, avoid, and uncertainty handoff." + "fixmap watch streams working-tree drift findings and recalculated impact as an agent edits, with Markdown or JSON Lines output.", + "Compact agent output provides a stable edit, inspect, test, risk, avoid, and uncertainty handoff.", + "A 32-second motion-first comparison shows two agents handling the same issue, with an original no-vocals soundtrack and no unsupported savings claim." ] }, { diff --git a/apps/web/app/docs/page.tsx b/apps/web/app/docs/page.tsx index 0a4cedf..be42fbe 100644 --- a/apps/web/app/docs/page.tsx +++ b/apps/web/app/docs/page.tsx @@ -43,30 +43,36 @@ export default function DocsPage() {
{docLinks.map(({ href, icon: Icon, title, body }) => {title}{body})}
-

Slash command

Open the complete FixMap menu.

fixmap setup installs project-level discovery for Claude Code, Cursor, GitHub Copilot, and Agent Skills. Invoking /fixmap with no task lists Plan, Explain, Compare, Verify, Validate, Doctor, MCP, focus controls, working-tree mapping, and fresh scans.

The installer is idempotent and will not overwrite a customized command unless you explicitly pass --force.

+

Slash command

Open the complete FixMap menu.

fixmap setup installs project-level discovery for Claude Code, Cursor, GitHub Copilot, and Agent Skills. Invoking /fixmap with no task lists Plan, Context, Graph, Explain, Compare, Verify, Watch, Benchmark, Validate, Doctor, MCP, focus controls, working-tree mapping, and fresh scans.

The installer is idempotent and will not overwrite a customized command unless you explicitly pass --force.

Plan and Impact Graph

Find the right place to start—and what to inspect next.

Give FixMap one task source: plain issue text, a task file, stdin, a public GitHub issue URL, or a git diff. The primary context remains task-ranked. A separate Impact Graph maps imports, reverse dependents, routed tests, and files that repeatedly changed together in bounded Git history. Impact files are inspection candidates, not instructions to edit every path.

Public issue URL

Working-tree or branch diff

Remote repository mode is issue-only. Clone the repository locally when you need --diff, --base, --head, or complete local Git-history evidence. Shallow and unavailable history are reported explicitly while import and test relationships continue to work.

+

Context Pack

Package the relevant source ranges.

fixmap context uses the Plan and Impact Graph to select deterministic source ranges. The default 10,000-token budget is an estimate of one token per four UTF-8 bytes of source; metadata is not charged to that budget. It is reproducible, but it is not a model-specific tokenizer count.

Every snippet records its primary or impact role, reason, confidence, line range, estimated source tokens, and whether the scanner sampled only part of a large file. Files omitted for budget or availability remain listed instead of disappearing silently.

+ +

Graph export

Carry the evidence into a review.

fixmap graph exports imports, reverse dependents, routed tests, and co-change relationships as Mermaid or versioned JSON. Direction is preserved, and only relationships already supported by the Impact Graph are emitted.

+

Explain

Ask the missing-file question.

Use --explain when you expected a path and it did not appear. The response distinguishes five different situations:

  • The file ranked, just lower than expected.
  • It scored below the report cutoff.
  • It tied for a reported place but fell outside --limit.
  • It was excluded intentionally, such as a generated file whose source ranked instead.
  • The scanner never saw it, including a scan limit, a sparse checkout, or an unsupported extension.

Focus

Narrow the map to what matters.

Demo pages, marketing copy, and documentation often contain every symptom word a product documents, so they compete with the implementation. FixMap knows about conventions like examples/; it cannot know your repository’s own layout.

Patterns can also live in a .fixmapignore file at the repository root, one per line. The two combine, and --explain reports an excluded file as excluded, naming the pattern that matched.

Map what you are editing now

That means staged and unstaged tracked changes against HEAD. Untracked files stay out of the change set unless you add --include-untracked, so scratch metadata is not reported as an edit. They remain ranking candidates either way — a file an agent just wrote is usually the most relevant thing in the repository.

Measure a better task

Refine the wording, re-plan, and see whether the real file moved up:

Verify

Compare the plan with the change.

Save a JSON plan before editing, then compare it with the real diff afterwards. Verify recalculates impact around the files that actually changed and reports strong relationships outside the original plan as advisory inspection notes.

Verify does not run tests or judge correctness. Errors fail by default. Add --fail-on warning when advisory findings, such as a source change without a test change, must also block CI.

-

Repository benchmark

Measure FixMap where you work.

fixmap benchmark selects recent bounded non-merge commits, checks out each parent in an isolated temporary worktree, derives task text only from the commit metadata, and scores changed source paths. BM25-over-code, FixMap, and Impact Graph see the identical pre-change scanned corpus.

Results split all, path-mentioned, and unmentioned cohorts and include raw cases and Wilson intervals. Commits that are too large, have no usable task text, or contain no pre-existing target source are skipped with counts. FixMap never runs repository code during this process.

+

Watch

Keep the map beside the edit.

fixmap watch fingerprints a local Git working tree and emits a fresh verification only when its state changes. Each update recalculates impact around the real edits, so an agent can see unmapped files, missing tests, new risks, and related inspection candidates while it works.

JSON output is newline-delimited for streaming consumers. Use --once for a bounded automation check. Watch reads Git and source text, but never runs repository code or tests.

+ +

Repository benchmark

Measure FixMap where you work.

fixmap benchmark selects recent bounded non-merge commits, checks out each parent in an isolated temporary worktree, derives task text only from the commit metadata, and scores changed maintained source paths rather than generated twins. BM25-over-code, FixMap, and Impact Graph see the identical pre-change scanned corpus.

Results split all, path-mentioned, and unmentioned cohorts and include raw cases and Wilson intervals. Commits that are too large, have no usable task text, or contain no pre-existing target source are skipped with counts. FixMap never runs repository code during this process.

Output

Readable by people, agents, and tools.

Markdown is the default handoff. Add --format agent for a compact EDIT CANDIDATE / INSPECT / TEST / RISK / AVOID / UNCERTAINTY handoff, or --format json for structured output. Use --output <path> to save it. The current issue, comparison, verification, and output files are kept out of ranking, change detection, and cache state, so a saved FixMap report cannot recommend itself.

New JSON plans include reportVersion: 1. Within a report version, fields may be added but existing fields will not be removed or change type; consumers should ignore unknown fields. A breaking output change requires a new report version. Compare and Verify still accept legacy plans without a marker, while rejecting marker values they do not understand.

Context files

Task-ranked primary paths, scores, confidence labels, and evidence.

Impact Graph

Dependencies, dependents, routed tests, and repeated co-change relationships to inspect.

Test routes

Workspace-aware commands and reachable related tests.

Risks

Sensitive areas inferred from paths, symbols, and changes.

Diagnostics

Vague tasks, unresolved identifiers, scan limits, history coverage, and other uncertainty.

Validate

Check a saved report directly.

The CLI exposes the same additive structural validator used by Compare, Verify, the GitHub Action, and MCP. It accepts legacy unmarked reports, accepts version 1 with additive fields, and rejects unsupported report versions or malformed context entries.

-

MCP

Five tools for the agent workflow.

fixmap_plan maps tasks and working trees. fixmap_explain answers why a file is missing. fixmap_compare measures task refinement. fixmap_verify checks the later diff, and fixmap_doctor diagnoses install shadows. All five run locally over stdio.

MCP setup examples
+

MCP

Seven tools for the agent workflow.

fixmap_plan maps tasks and working trees. fixmap_context packages source ranges. fixmap_graph exports relationships. fixmap_explain answers why a file is missing. fixmap_compare measures task refinement. fixmap_verify checks the later diff, and fixmap_doctor diagnoses install shadows. All seven run locally over stdio.

MCP setup examples

Doctor

Check what actually started.

doctor reports the running version, resolved path, conflicting global, and Node version. Version 0.8.4 and newer also checks an exact npm-requested version when that newer Doctor starts.

An older project-local binary can win before newer Doctor code runs, so always check the printed running version. Use the isolated-prefix/direct-shim procedure in the README when the exact version matters.

diff --git a/apps/web/app/evidence/page.tsx b/apps/web/app/evidence/page.tsx index a8e2a2b..24c72c5 100644 --- a/apps/web/app/evidence/page.tsx +++ b/apps/web/app/evidence/page.tsx @@ -123,7 +123,7 @@ export default function EvidencePage() {
BM25 retrieval, code files only{rate(heldoutBaselines.bm25.top1HitRate)}{rate(heldoutBaselines.bm25.top3HitRate)}{rate(heldoutBaselines.bm25.top5HitRate)}
FixMap{rate(heldoutBaselines.fixmap.top1HitRate)}{rate(heldoutBaselines.fixmap.top3HitRate)}{rate(heldoutBaselines.fixmap.top5HitRate)}
-

FixMap does not beat BM25 over code files on repositories it was never tuned against. Top 1 and Top 3 are exact ties — a paired McNemar exact test puts both at p = 1.0, with two disagreements each way. At Top 5 the baseline wins three cases FixMap misses and FixMap wins none: BM25 has the fixing file in its top five for 9 of 9 of these cases, FixMap for 6 of 9. FixMap does lead on the regression suite (69% vs 39% Top 1), but that is the suite whose cases shaped the ranker, and even there the lead is not significant against this baseline. We publish this because it is what the measurement says; closing the Top-5 recall gap is the next piece of work.

+

FixMap does not beat BM25 over code files on repositories it was never tuned against. BM25 leads the Top 1 point estimate 4/9 to 3/9, while Top 3 ties at 5/9; both paired McNemar exact tests have p = 1.0. At Top 5 the baseline wins four cases FixMap misses and FixMap wins none: BM25 has the fixing file in its top five for 9 of 9 of these cases, FixMap for 5 of 9 (p = 0.125). FixMap does lead on the regression suite (69% vs 39% Top 1), but that is the suite whose cases shaped the ranker, and even there the lead is not significant against this baseline. We publish this because it is what the measurement says; closing the Top-5 recall gap is the next piece of work.

diff --git a/apps/web/app/get-started/page.tsx b/apps/web/app/get-started/page.tsx index 1f3193f..344e80f 100644 --- a/apps/web/app/get-started/page.tsx +++ b/apps/web/app/get-started/page.tsx @@ -28,7 +28,7 @@ export default function GetStartedPage() {
01

Slash command

Type /fixmap. See every workflow.

-

Install project-level discovery for Claude Code, Cursor, GitHub Copilot, and Agent Skills. Invoking /fixmap without a task opens the complete Plan, Explain, Compare, Verify, Validate, Doctor, MCP, focus, working-tree, and fresh-scan menu.

+

Install project-level discovery for Claude Code, Cursor, GitHub Copilot, and Agent Skills. Invoking /fixmap without a task opens the complete Plan, Context, Graph, Explain, Compare, Watch, Verify, Benchmark, Validate, Doctor, MCP, focus, working-tree, and fresh-scan menu.

The installer is idempotent and refuses to overwrite an existing customized command. Target one integration with --agent claude, cursor, copilot, or agents. Use --force only after reviewing the file.

See the same menu in a terminal

@@ -47,6 +47,13 @@ export default function GetStartedPage() {

Compact agent handoff

+

Budgeted source context

+ +

Portable Impact Graph

+ +

Watch an agent's edits

+

Save the JSON plan, then stream drift and recalculated-impact updates whenever the local working tree changes:

+

Benchmark this repository

Backtest BM25, FixMap, and Impact Graph on historical parent snapshots without running repository code:

@@ -89,7 +96,7 @@ npx fixmap plan --issue "password reset emails fail"`} />
03

MCP

Let the agent ask.

-

FixMap exposes five local stdio tools: fixmap_plan before editing, fixmap_explain when a file is missing, fixmap_compare to measure a refined plan, fixmap_verify after the diff exists, and fixmap_doctor to diagnose install shadows.

+

FixMap exposes seven local stdio tools: fixmap_plan, fixmap_context, fixmap_graph, fixmap_explain, fixmap_compare, fixmap_verify, and fixmap_doctor.

Claude Code

Cursor, Windsurf, and other MCP clients

@@ -101,7 +108,7 @@ npx fixmap plan --issue "password reset emails fail"`} /> } } }`} -

Analysis runs locally over stdio. FixMap does not send repository source to a hosted model or service. Plan, Explain, and Verify accept noCache: true for an explicit fresh scan.

+

Analysis runs locally over stdio. FixMap does not send repository source to a hosted model or service. Plan, Context, Graph, Explain, and Verify accept noCache: true for an explicit fresh scan.

diff --git a/apps/web/app/globals.css b/apps/web/app/globals.css index f49f1d0..3a0328c 100644 --- a/apps/web/app/globals.css +++ b/apps/web/app/globals.css @@ -736,6 +736,10 @@ h3 { margin-bottom: 10px; font-size: 21px; line-height: 1.25; letter-spacing: -. .pro-trust-line svg { color: var(--green); } .pro-hero .interactive-map-stage { width: 100%; border-radius: 10px; box-shadow: 0 18px 50px rgba(10, 33, 59, .08); } +.pro-film { padding-block: 24px 104px; display: grid; grid-template-columns: minmax(250px, .5fr) minmax(0, 1.5fr); align-items: end; gap: clamp(48px, 7vw, 104px); } +.pro-film .pro-section-heading { align-self: center; } +.pro-film video { display: block; width: 100%; aspect-ratio: 16 / 9; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--navy); box-shadow: 0 18px 50px rgba(10, 33, 59, .1); } + .pro-workflow, .pro-surfaces { padding-block: 96px; } .pro-workflow { display: grid; grid-template-columns: minmax(250px, .62fr) minmax(0, 1.38fr); gap: clamp(64px, 8vw, 120px); border-top: 1px solid var(--line); } .pro-section-heading { max-width: 520px; } @@ -783,7 +787,7 @@ h3 { margin-bottom: 10px; font-size: 21px; line-height: 1.25; letter-spacing: -. } @media (max-width: 820px) { - .pro-workflow, .pro-surfaces, .pro-proof-inner { grid-template-columns: 1fr; gap: 48px; } + .pro-film, .pro-workflow, .pro-surfaces, .pro-proof-inner { grid-template-columns: 1fr; gap: 48px; } .pro-proof-inner { align-items: start; } .pro-proof-metrics { max-width: 620px; } } @@ -792,6 +796,7 @@ h3 { margin-bottom: 10px; font-size: 21px; line-height: 1.25; letter-spacing: -. .pro-hero { padding-block: 54px 70px; gap: 48px; } .pro-hero-copy h1 { font-size: 50px; } .pro-hero-lede { font-size: 17px; } + .pro-film { padding-bottom: 72px; gap: 30px; } .pro-workflow, .pro-surfaces { padding-block: 72px; } .pro-workflow-list > a { min-height: 128px; grid-template-columns: 34px 1fr 22px; gap: 8px 12px; } .pro-workflow-list p { grid-column: 2 / -1; } diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx index d2cc5f4..6418c65 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -15,15 +15,18 @@ import { commands, repoUrl, siteStats } from "./_lib/site-data"; const workflow = [ { number: "01", name: "Plan", detail: "Rank primary context, then map likely impact without pretending every related file must change.", href: "/product#plan" }, - { number: "02", name: "Explain", detail: "Ask why a file ranked, missed the cutoff, was excluded, or was never scanned.", href: "/product#explain" }, - { number: "03", name: "Compare", detail: "Measure whether a clearer task produced a better context map.", href: "/product#compare" }, - { number: "04", name: "Verify", detail: "Check the completed diff against the plan that guided the work.", href: "/product#verify" } + { number: "02", name: "Context", detail: "Package relevant source ranges inside a visible estimated-token budget.", href: "/product#context" }, + { number: "03", name: "Graph", detail: "Export the impact relationships as Mermaid or structured JSON.", href: "/product#graph" }, + { number: "04", name: "Explain", detail: "Ask why a file ranked, missed the cutoff, was excluded, or was never scanned.", href: "/product#explain" }, + { number: "05", name: "Compare", detail: "Measure whether a clearer task produced a better context map.", href: "/product#compare" }, + { number: "06", name: "Watch", detail: "See drift and recalculated impact while the working tree changes.", href: "/product#watch" }, + { number: "07", name: "Verify", detail: "Check the completed diff against the plan that guided the work.", href: "/product#verify" } ]; const surfaces = [ { icon: Command, name: "Slash command", detail: "Install /fixmap in supported coding agents and open the complete workflow menu.", href: "/get-started#slash-command" }, { icon: Laptop, name: "CLI", detail: "Run locally in a terminal with no account or API key.", href: "/get-started#cli" }, - { icon: ShieldCheck, name: "MCP", detail: "Expose Plan, Explain, Compare, Verify, and Doctor to an agent.", href: "/get-started#mcp" }, + { icon: ShieldCheck, name: "MCP", detail: "Expose all seven Plan, Context, Graph, Explain, Compare, Verify, and Doctor tools.", href: "/get-started#mcp" }, { icon: GithubLogo, name: "GitHub Action", detail: "Post the map or verify a saved plan on every pull request.", href: "/get-started#action" } ]; @@ -52,11 +55,23 @@ export default function HomePage() {
+
+
+

FixMap in 32 seconds

+

Same issue. Better first move.

+

Watch two coding agents approach the same task as ranked context, impact evidence, Watch, and Verify change the feedback loop.

+
+ +
+

One workflow

From task to verified diff.

-

Four focused steps, each inspectable on its own.

+

Seven focused steps, each inspectable on its own.

{workflow.map((item) => ( diff --git a/apps/web/app/product/page.tsx b/apps/web/app/product/page.tsx index b00b99f..86ef989 100644 --- a/apps/web/app/product/page.tsx +++ b/apps/web/app/product/page.tsx @@ -36,8 +36,26 @@ const stages = [ details: ["Ranked source files with reasons", "Impact files to inspect, not assumed edits", "Workspace-aware tests, risks, and diagnostics"] }, { - id: "explain", + id: "context", number: "02", + icon: FileMagnifyingGlass, + eyebrow: "Before the agent reads", + title: "Context: send the source, not just its address.", + body: "Context packages deterministic line ranges from primary and impact files inside an estimated source-token budget. Every snippet keeps its role, reason, confidence, range, and truncation state.", + details: ["Markdown or structured JSON", "Visible UTF-8 byte estimate", "Explicit omissions and scanner bounds"] + }, + { + id: "graph", + number: "03", + icon: Path, + eyebrow: "When relationships matter", + title: "Graph: make the evidence portable.", + body: "Graph exports the Impact Graph as Mermaid for review documents or versioned JSON for tools, preserving the direction and reason for every import, dependent, test, and co-change edge.", + details: ["Mermaid or versioned JSON", "Directional relationships", "No invented dependencies"] + }, + { + id: "explain", + number: "04", icon: Eye, eyebrow: "When the map surprises you", title: "Explain: ask why a file is missing.", @@ -46,7 +64,7 @@ const stages = [ }, { id: "compare", - number: "03", + number: "05", icon: Gauge, eyebrow: "When you refine the task", title: "Compare: check whether a better task moved the answer.", @@ -55,7 +73,7 @@ const stages = [ }, { id: "verify", - number: "04", + number: "07", icon: GitDiff, eyebrow: "After the edit", title: "Verify: compare the plan with the real change.", @@ -69,7 +87,7 @@ export default function ProductPage() {

The product

-

One problem.{" "}
Four useful answers.

+

One problem.{" "}
A map that stays useful.

FixMap narrows the first step, explains its reasoning, and checks the work that followed. It is a map you can inspect—not a promise that the map is always right. @@ -93,6 +111,19 @@ export default function ProductPage() {

+
+
+

While the agent edits

Watch the implementation drift—or stay aligned.

+

fixmap watch --report plan.json --repo . emits only when the working tree changes, then re-runs Verify and recalculates the Impact Graph around the real diff.

+
+
+

Changed states only

A lightweight fingerprint avoids repeating full scans when nothing moved.

+

Drift made visible

Unmapped edits, untouched leading context, and new impact relationships appear as evidence, not verdicts.

+

Agent-ready stream

Markdown stays readable; JSON Lines gives automation one complete record per update.

+

Still local-only

Watch reads Git and source text without running repository code, installing dependencies, or calling a model.

+
+
+
diff --git a/apps/web/public/fixmap-launch-poster.jpg b/apps/web/public/fixmap-launch-poster.jpg index e4c46c2c915470f95ac59c1e0a01da5cda9d55cf..fe9d1d8c27ce5a147272dfd214faa4cb127bbf22 100644 GIT binary patch literal 144230 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 literal 65468 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
ydoGCYT^!-6YjaRU-vPM) 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 z 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⪼zh@he8%- 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
c3N!lB_+IMlJwM!Q^PD*Wm--#Nf0O8aEts;Ygj_ zrUew-Ptl!qv5N>E{1HhRJ%N!t$g?m=+WPg?F!2vNSr0i*Gaj=XC)_9hoQ~;Eo9RXi z=~W*F++!(^rQp$;VWy+(+UZkcN=WvIuuEl-*vG8o`<=0Wm<}^-$Myrr6BCoo(f!zG z?I7anthV49&9MZcyI32Z5%x56p_hwDYic3ubm-Mg;-;@%ceD`|sJru%rzzOqTfL-+ zg(J5=D91E&Dd-~k0HCZxgP4v2J=ThyPjhA$XRu*ucqF;$mYdzG?Icvx=1z)?N@_hf z-1_ni=S7|;tiFO6GH0Z~Y*{nh}Cu`>=7YS>8ENj@s~X zXgxVWb@O}TjR~<10PY}E;E_6v_%;Q&{3<1aM3Q zxv;%vqbmXCH+yXADLYJ5 zQSn%i4glkNyofXLyv$B+UX?HW0LV>X#aUO0v0uMxkxu%ezB=FK>$z80-yciCnllI;2g{|` zlQO&~-IRtW&Uw-+EoHhg^Aq(Qakb_(2stHJW!kbuzjQyCtT7Jld|tWIY4_KR958}U z+;d+dEcPp0_w@aOepa9}Z$ff)nGUg&3O_0UI#uHGc*EAdI)7@E=v;kOKnM9=m{v_X9;SOlnppEck#wi7Y6wZDXmJo+{uu^9-{&!F(N<$$jQOh@wwt zKcg@>Ekc6hFmg-8X6}&1bzZvLVi4B%#B|bbdryfjYL|>6v4O;_Mz%WzpQYt`OLLrU zVW}q48q21tcgcnbpePLvSnKQvHS}&e(kQH-8V5wdx-G>oy&E zJqA)TFX~~@h!OtnvHJxiy65a6g|N3(;2YSgQtmphs3g8rWV4_iNvH+$dqdwg4%f&c zaiq3AFN6>DLBvtgwEAAQB%rrZhV-$NeM{{me0Up%0GP$%JD¥hMn5T8{=G12Q1e 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 z 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

ks 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

U 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