Skip to content

Report: show the solution path relative to where report runs - #10

Merged
Karzone merged 1 commit into
mainfrom
claude/beautiful-archimedes-dbzisv
Oct 11, 2026
Merged

Karzone merged 1 commit into
mainfrom
claude/beautiful-archimedes-dbzisv

Conversation

@Karzone

@Karzone Karzone commented Oct 11, 2026

Copy link
Copy Markdown
Owner

Summary

The report header printed the solution's absolute path from the map, so a committed report showed the machine it was built on. The sample report showed C:\KKTest\repos\test\…, and after #9 it showed /home/user/TestAtlas/….

Now testatlas report passes its working directory to HtmlReportBuilder.Build:

  • Solution under that directory: shown relative to it, with forward slashes. For the sample, run from the repo root, that's samples/SampleShop/SampleShop.sln, in both the text and the title tooltip.
  • Solution outside it, a recorded path that isn't fully qualified, or no base directory given: shown as recorded in the map, as before.

docs/sample-report.html is rebuilt from the same index as #9, so only its header line changes. The spec's report section describes the new behaviour.

Related issue

None.

Type of change

  • Bug fix
  • New feature / analyzer
  • Documentation
  • Build / CI / tooling
  • Other

Checklist

  • dotnet build passes
  • dotnet test passes (265/265, 7 new)
  • Added or updated tests for the change
  • Updated docs / README if behavior or usage changed (spec + sample report)
  • Change keeps TestAtlas zero-config, offline, and deterministic

Notes for reviewers

  • API: Build(MapDocument doc, string? baseDirectory = null). The new parameter is optional, so existing callers and tests are unchanged. The MCP server doesn't render the report.
  • Determinism: the header now depends on where report is run, as well as on the map. The same map, run from the same directory, still gives byte-identical output.
  • Tests: DisplayPath covers a path under the base, a base with a trailing slash, a path outside the base, a folder literally named ..x (still inside), a non-path placeholder, and no base. A builder-level test checks the header markup with and without a base.

🤖 Generated with Claude Code

https://claude.ai/code/session_013F6VMUcDtZmJX3ZibLuzXg


Generated by Claude Code

The header printed the solution's absolute path from the map, so a
committed report carried the machine it was built on (C:\KKTest\..., then
/home/user/...). A solution under the working directory now shows
relative to it with forward slashes (samples/SampleShop/SampleShop.sln);
one outside it keeps the recorded path. The sample report is rebuilt
from the same index, so only its header line changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013F6VMUcDtZmJX3ZibLuzXg
@Karzone
Karzone merged commit 2131a5d into main Oct 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants