Summary
Tracked files across this repository embed developer-machine identifiers: absolute user-profile paths, the bare account name, and the bare host name. The standing convention is that no file may embed an absolute host path or a host identifier; portable placeholders (<repo-root>, <user-profile>, <user>, <host>) are used instead.
Feature winformspumphost-suite-determinism-511 sanitized its own artifacts and recorded the convention, but deliberately scoped its change to its own feature folder so as not to break its three-file scope-lock acceptance criterion. This issue tracks the remainder.
Measured scope
Counted over git ls-files on branch bug/winformspumphost-suite-determinism-511-exec at 2026-08-24, using patterns derived from the environment so the identifiers themselves are not reproduced here:
| Condition |
Tracked files |
| Contains an absolute user-profile path |
45 |
| Contains the bare account name |
991 |
| Contains the bare host name |
146 |
| Tracked files scanned |
9,846 |
Both .claude/settings.json and .vscode/settings.json are affected.
The bulk of the account-name occurrences come from one mechanical source: vstest.console.exe names its TRX files <account>_<HOST>_<timestamp>.trx by default, and evidence records across many feature folders cite those filenames verbatim. That is the trap worth fixing at the source, not only in the existing text.
Why it matters
- A repository-relative artifact that hard-codes one developer's profile path is not reproducible by anyone else, and silently documents a machine rather than a procedure.
- Account and host names are gratuitous identifying information in a repository that may be shared or made public.
- Because the default TRX naming reintroduces the prefix on every run, text-only cleanup regresses. The durable fix controls
/ResultsDirectory: and LogFileName=, or renames before citing.
Proposed direction
- Replace absolute user-profile paths with
<repo-root> / <user-profile> placeholders, applied longest-first so the substitution is idempotent.
- Replace bare account and host names with
<user> / <host>.
- Fix
.claude/settings.json and .vscode/settings.json first; they are configuration rather than historical evidence.
- Prevent recurrence: have test-invocation scripts set an explicit
/ResultsDirectory: and LogFileName= so vstest does not emit the <account>_<HOST>_ prefix at all.
- Treat archived feature folders as lower priority than live configuration and active features.
Note that .claude/** is push-down-owned from the drm-copilot upstream (roughly 166 files overwritten with no templating), so any .claude/ correction must be made upstream or it will be reverted by the next push-down.
Acceptance Criteria
Summary
Tracked files across this repository embed developer-machine identifiers: absolute user-profile paths, the bare account name, and the bare host name. The standing convention is that no file may embed an absolute host path or a host identifier; portable placeholders (
<repo-root>,<user-profile>,<user>,<host>) are used instead.Feature
winformspumphost-suite-determinism-511sanitized its own artifacts and recorded the convention, but deliberately scoped its change to its own feature folder so as not to break its three-file scope-lock acceptance criterion. This issue tracks the remainder.Measured scope
Counted over
git ls-fileson branchbug/winformspumphost-suite-determinism-511-execat 2026-08-24, using patterns derived from the environment so the identifiers themselves are not reproduced here:Both
.claude/settings.jsonand.vscode/settings.jsonare affected.The bulk of the account-name occurrences come from one mechanical source:
vstest.console.exenames its TRX files<account>_<HOST>_<timestamp>.trxby default, and evidence records across many feature folders cite those filenames verbatim. That is the trap worth fixing at the source, not only in the existing text.Why it matters
/ResultsDirectory:andLogFileName=, or renames before citing.Proposed direction
<repo-root>/<user-profile>placeholders, applied longest-first so the substitution is idempotent.<user>/<host>..claude/settings.jsonand.vscode/settings.jsonfirst; they are configuration rather than historical evidence./ResultsDirectory:andLogFileName=so vstest does not emit the<account>_<HOST>_prefix at all.Note that
.claude/**is push-down-owned from thedrm-copilotupstream (roughly 166 files overwritten with no templating), so any.claude/correction must be made upstream or it will be reverted by the next push-down.Acceptance Criteria
.claude/settings.jsonand.vscode/settings.jsonuse portable placeholders or environment references.<account>_<HOST>_TRX prefix..claude/portion of the change is made in the upstreamdrm-copilotsource, not only in this repository's copy.