diff --git a/CHANGELOG.md b/CHANGELOG.md index 67b29c1..44bedd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,29 @@ 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.6 - 2026-08-02 + +### Fixed + +- Stylesheets that repeat product symptom words are deprioritized for non-UI implementation tasks, so presentation copy does not outrank the code that owns the behavior. CSS/layout tasks remain unpenalized, and JSON continues through the existing configuration classification (#347). +- An explicitly named generated artifact remains visible when a task is genuinely about that artifact, but a maintained-source twin caps its confidence at medium and adds a reason naming the generated/source relationship. The mention boost no longer turns build output into an unexplained high-confidence edit target (#362, #371). + +### Evidence + +- Added regression fixtures for both failure modes and their valid counterexamples: a genuine CSS task still ranks its stylesheet, and a task about a stale generated artifact still sees that artifact. +- All 419 workspace tests, typechecking, lint, production builds, production security audit, Action bundle parity, smoke tests, and scanner benchmark pass. +- Held-out remains 7/12 Top-1, 8/12 Top-3, 9/12 Top-5; external remains 11/16, 16/16, 16/16; adversarial remains 8/8 with a false-confidence rate of 0. + +### Installation + +```bash +npm install --global @aryam/fixmap@0.8.6 +fixmap doctor +fixmap plan --issue https://github.com/chalk/chalk/issues/624 +``` + +The npm packages, MCP Registry entry, GitHub tag/release, Action tag, and production site must all resolve to 0.8.6 before the release is considered complete. + ## 0.8.5 - 2026-08-02 ### Fixed diff --git a/README.md b/README.md index 76bd9a2..d96bb0c 100644 --- a/README.md +++ b/README.md @@ -78,8 +78,8 @@ fixmap doctor Doctor 0.8.4 and newer compares an exact npm-requested version when that newer Doctor is the process npm starts. An older project-local binary can win before newer Doctor code runs, so no new version can diagnose that decision from inside the old process. Treat the printed running version as authoritative, update or remove the stale installation, 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.5" -npm install --global --prefix $fixmapPrefix @aryam/fixmap@0.8.5 +$fixmapPrefix = Join-Path $env:TEMP "fixmap-cli-0.8.6" +npm install --global --prefix $fixmapPrefix @aryam/fixmap@0.8.6 & "$fixmapPrefix\fixmap.cmd" --version ``` @@ -283,8 +283,8 @@ fixmap doctor ```text # FixMap Doctor -- ok Running version: 0.8.5 -- PROBLEM Global install: 0.3.1 (this process is 0.8.5) +- ok Running version: 0.8.6 +- PROBLEM Global install: 0.3.1 (this process is 0.8.6) 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. @@ -367,7 +367,7 @@ jobs: with: fetch-depth: 0 - id: fixmap - uses: aryamthecodebreaker/FixMap@v0.8.5 + uses: aryamthecodebreaker/FixMap@v0.8.6 with: github-token: ${{ secrets.GITHUB_TOKEN }} ``` @@ -378,7 +378,7 @@ To close the plan→edit→verify loop without leaving GitHub, save the plan as ```yaml - id: plan - uses: aryamthecodebreaker/FixMap@v0.8.5 + uses: aryamthecodebreaker/FixMap@v0.8.6 with: format: json - run: echo '${{ steps.plan.outputs.report }}' > fixmap-plan.json @@ -388,7 +388,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.5 + - uses: aryamthecodebreaker/FixMap@v0.8.6 with: mode: verify report-path: fixmap-plan.json @@ -471,6 +471,10 @@ Read the full [benchmark methodology and scanner measurements](docs/BENCHMARKS.m npm run evaluate:heldout ``` +## What changed in v0.8.6 + +v0.8.6 closes the final three ranking reports. Stylesheets are deprioritized when symptom words compete with implementation in a non-UI task, while genuine CSS/layout tasks remain unpenalized. An explicitly named generated artifact remains visible when a task is truly about it, but if maintained source exists its confidence is capped at medium and the reason names that source relationship. Ordering and all recorded evaluation rates remain unchanged (#347, #362, #371). + ## What changed in v0.8.5 v0.8.5 makes the supported installation path unmistakable. Install once with `npm install --global @aryam/fixmap@latest`, then use the short `fixmap plan ...` command everywhere, including MCP setup. The one-off npx form remains documented, but now states that npm may prefer an existing project-local binary. Doctor's output and limitations are described precisely: the running version is authoritative, and an older binary that wins before new code starts cannot contain a newer detector (#437). diff --git a/apps/web/package.json b/apps/web/package.json index 3719621..290118d 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -15,7 +15,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@aryam/fixmap-core": "0.8.5", + "@aryam/fixmap-core": "0.8.6", "@phosphor-icons/react": "^2.1.10", "next": "16.2.11", "react": "19.2.7", diff --git a/package-lock.json b/package-lock.json index 34eab90..9b1c0e0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "fixmap-workspace", - "version": "0.8.5", + "version": "0.8.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "fixmap-workspace", - "version": "0.8.5", + "version": "0.8.6", "license": "MIT", "workspaces": [ "packages/*", @@ -30,7 +30,7 @@ "name": "@fixmap/web", "version": "0.0.0", "dependencies": { - "@aryam/fixmap-core": "0.8.5", + "@aryam/fixmap-core": "0.8.6", "@phosphor-icons/react": "^2.1.10", "next": "16.2.11", "react": "19.2.7", @@ -8553,18 +8553,18 @@ }, "packages/action": { "name": "@fixmap/action", - "version": "0.8.5", + "version": "0.8.6", "license": "MIT", "dependencies": { - "@aryam/fixmap-core": "0.8.5" + "@aryam/fixmap-core": "0.8.6" } }, "packages/cli": { "name": "@aryam/fixmap", - "version": "0.8.5", + "version": "0.8.6", "license": "MIT", "dependencies": { - "@aryam/fixmap-core": "0.8.5", + "@aryam/fixmap-core": "0.8.6", "@modelcontextprotocol/sdk": "1.30.0" }, "bin": { @@ -8576,7 +8576,7 @@ }, "packages/core": { "name": "@aryam/fixmap-core", - "version": "0.8.5", + "version": "0.8.6", "license": "MIT", "devDependencies": {}, "engines": { diff --git a/package.json b/package.json index 2b5b511..27af5ea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fixmap-workspace", - "version": "0.8.5", + "version": "0.8.6", "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", diff --git a/packages/action/package.json b/packages/action/package.json index 3e11857..8347ad3 100644 --- a/packages/action/package.json +++ b/packages/action/package.json @@ -1,6 +1,6 @@ { "name": "@fixmap/action", - "version": "0.8.5", + "version": "0.8.6", "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.5" + "@aryam/fixmap-core": "0.8.6" } } diff --git a/packages/cli/package.json b/packages/cli/package.json index daa4f49..84c4382 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@aryam/fixmap", - "version": "0.8.5", + "version": "0.8.6", "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", @@ -46,7 +46,7 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@aryam/fixmap-core": "0.8.5", + "@aryam/fixmap-core": "0.8.6", "@modelcontextprotocol/sdk": "1.30.0" }, "engines": { diff --git a/packages/core/package.json b/packages/core/package.json index bd2dd02..bfc1115 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@aryam/fixmap-core", - "version": "0.8.5", + "version": "0.8.6", "description": "Deterministic local-first repository scanner, context ranker, and report renderer for coding agents.", "license": "MIT", "repository": { diff --git a/server.json b/server.json index 7007f51..f44788d 100644 --- a/server.json +++ b/server.json @@ -6,12 +6,12 @@ "url": "https://github.com/aryamthecodebreaker/FixMap", "source": "github" }, - "version": "0.8.5", + "version": "0.8.6", "packages": [ { "registryType": "npm", "identifier": "@aryam/fixmap", - "version": "0.8.5", + "version": "0.8.6", "transport": { "type": "stdio" },