Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,28 @@ 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.8.4 - 2026-08-02

### Fixed

- `fixmap doctor` now detects when npm requested an exact FixMap version but executed a different local or ancestor installation. It reports both versions and exits non-zero instead of calling the shadowed process healthy (#437).
- The reproducible installation path now uses an isolated npm prefix and invokes that prefix's shim directly. The previous npm exec recommendation could itself be redirected to an older ancestor installation on Windows.

### Evidence

- Reproduced the failure against the published v0.8.3 package with a real 0.8.1 ancestor install before changing source.
- Added regression coverage for mismatched, matching, and non-exact npm package requests. All 417 workspace tests, typechecking, lint, production builds, the production security audit, Action bundle parity, smoke tests, held-out/external/adversarial gates, and the scanner benchmark pass.

### Installation

```bash
npm install --global @aryam/fixmap@0.8.4
fixmap doctor
fixmap --version
```

The npm packages, MCP Registry entry, GitHub tag/release, Action tag, and production site must all resolve to 0.8.4 before the release is considered complete.

## 0.8.3 - 2026-08-02

### Fixed
Expand Down
18 changes: 11 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,8 @@ npx -y @aryam/fixmap@latest doctor
Remove the stale copy with `npm uninstall -g @aryam/fixmap`, or test an exact version in an isolated prefix and invoke that prefix's shim directly. This PowerShell sequence cannot be redirected to an older package in the current directory or one of its parents:

```powershell
$fixmapPrefix = Join-Path $env:TEMP "fixmap-cli-0.8.3"
npm install --global --prefix $fixmapPrefix @aryam/fixmap@0.8.3
$fixmapPrefix = Join-Path $env:TEMP "fixmap-cli-0.8.4"
npm install --global --prefix $fixmapPrefix @aryam/fixmap@0.8.4
& "$fixmapPrefix\fixmap.cmd" --version
```

Expand Down Expand Up @@ -278,8 +278,8 @@ npx -y @aryam/fixmap@latest doctor
```text
# FixMap Doctor

- ok Running version: 0.8.3
- PROBLEM Global install: 0.3.1 (this process is 0.8.3)
- ok Running version: 0.8.4
- PROBLEM Global install: 0.3.1 (this process is 0.8.4)
A globally installed fixmap shadows the version npx was asked for. Run
`npm uninstall -g @aryam/fixmap` or update the global installation. For a
clean pinned run, use the isolated-prefix command above.
Expand Down Expand Up @@ -362,7 +362,7 @@ jobs:
with:
fetch-depth: 0
- id: fixmap
uses: aryamthecodebreaker/FixMap@v0.8.3
uses: aryamthecodebreaker/FixMap@v0.8.4
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
```
Expand All @@ -373,7 +373,7 @@ To close the plan→edit→verify loop without leaving GitHub, save the plan as

```yaml
- id: plan
uses: aryamthecodebreaker/FixMap@v0.8.3
uses: aryamthecodebreaker/FixMap@v0.8.4
with:
format: json
- run: echo '${{ steps.plan.outputs.report }}' > fixmap-plan.json
Expand All @@ -383,7 +383,7 @@ To close the plan→edit→verify loop without leaving GitHub, save the plan as
path: fixmap-plan.json

# In a later run, after the fix is pushed:
- uses: aryamthecodebreaker/FixMap@v0.8.3
- uses: aryamthecodebreaker/FixMap@v0.8.4
with:
mode: verify
report-path: fixmap-plan.json
Expand Down Expand Up @@ -466,6 +466,10 @@ Read the full [benchmark methodology and scanner measurements](docs/BENCHMARKS.m
npm run evaluate:heldout
```

## What changed in v0.8.4

v0.8.4 closes the last installation defect found by the independent post-release audit. Doctor now exits non-zero when npm records an exact requested FixMap version but a local or ancestor `node_modules` installation runs a different version. The installation guide no longer calls npm exec unambiguous in that state; its reproducible path uses an isolated prefix and invokes that prefix's shim directly (#437).

## What changed in v0.8.3

v0.8.3 corrects MCP comparison validation after an independent audit reproduced #398 against the published v0.8.2 package. `fixmap_compare` now rejects a truncated `{ "contextFiles": [] }` object, validates optional rank, score, and confidence fields when present, and still accepts complete reports that legitimately found zero context files. No ranking behavior or evaluation result changed.
Expand Down
2 changes: 1 addition & 1 deletion apps/web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@aryam/fixmap-core": "0.8.3",
"@aryam/fixmap-core": "0.8.4",
"@phosphor-icons/react": "^2.1.10",
"next": "16.2.11",
"react": "19.2.7",
Expand Down
16 changes: 8 additions & 8 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "fixmap-workspace",
"version": "0.8.3",
"version": "0.8.4",
"private": true,
"description": "Local-first repo context for coding agents: paste a GitHub issue URL to get ranked files, test routes, and risks.",
"license": "MIT",
Expand Down
4 changes: 2 additions & 2 deletions packages/action/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@fixmap/action",
"version": "0.8.3",
"version": "0.8.4",
"description": "GitHub Action wrapper for FixMap pull request reports.",
"private": true,
"license": "MIT",
Expand All @@ -11,6 +11,6 @@
"typecheck": "tsc -p tsconfig.json --noEmit"
},
"dependencies": {
"@aryam/fixmap-core": "0.8.3"
"@aryam/fixmap-core": "0.8.4"
}
}
4 changes: 2 additions & 2 deletions packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@aryam/fixmap",
"version": "0.8.3",
"version": "0.8.4",
"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.",
"license": "MIT",
Expand Down Expand Up @@ -46,7 +46,7 @@
"typecheck": "tsc -p tsconfig.json --noEmit"
},
"dependencies": {
"@aryam/fixmap-core": "0.8.3",
"@aryam/fixmap-core": "0.8.4",
"@modelcontextprotocol/sdk": "1.30.0"
},
"engines": {
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@aryam/fixmap-core",
"version": "0.8.3",
"version": "0.8.4",
"description": "Deterministic local-first repository scanner, context ranker, and report renderer for coding agents.",
"license": "MIT",
"repository": {
Expand Down
4 changes: 2 additions & 2 deletions server.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
"url": "https://github.com/aryamthecodebreaker/FixMap",
"source": "github"
},
"version": "0.8.3",
"version": "0.8.4",
"packages": [
{
"registryType": "npm",
"identifier": "@aryam/fixmap",
"version": "0.8.3",
"version": "0.8.4",
"transport": {
"type": "stdio"
},
Expand Down