Skip to content

feat(campaign): resolve bare runDir to ~/.tangle/traces/<repo>/runs (stop repo-tree pollution)#299

Merged
drewstone merged 1 commit into
mainfrom
feat/run-dir-tangle-home
Jul 1, 2026
Merged

feat(campaign): resolve bare runDir to ~/.tangle/traces/<repo>/runs (stop repo-tree pollution)#299
drewstone merged 1 commit into
mainfrom
feat/run-dir-tangle-home

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

Root fix for the eval-output pollution (the untracked bundles that got swept into stashes across repos). Campaign/benchmark run bundles were written to a caller-supplied runDir, often repo-root-relative → every run littered the working tree.

Now runCampaign/planCampaignRun resolve a bare runDir name to the shared, out-of-repo home root ~/.tangle/traces/<repo>/runs/<name>; absolute paths honored unchanged (explicit override). Callers pass a name, not a path — bundles never touch a repo tree, no per-repo .gitignore needed.

  • New: resolveRunDir() / tangleTracesRoot() (exported), repo? option.
  • tsc 0; resolver 4/4 tests (incl. "never inside the repo tree" + "absolute honored").
  • Additive: existing callers passing absolute paths are unaffected; those passing bare names now get the clean location.

…stop repo-tree pollution)

Campaign/benchmark run bundles were written to a caller-supplied runDir that was
often repo-root-relative, so every run littered the working tree with untracked
output (product-benchmark-records.jsonl, source-runs/, raw-events/ — what got
swept into stashes across repos). Now runCampaign/planCampaignRun resolve a BARE
runDir name to the shared, out-of-repo home root ~/.tangle/traces/<repo>/runs/<name>;
absolute paths are honored unchanged. Callers pass a name, not a path — bundles
never touch a repo tree, no per-repo .gitignore needed.

New: resolveRunDir()/tangleTracesRoot() (exported); +repo option. tsc 0; 4/4 tests.

@tangletools tangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — a71a9fc0

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

tangletools · auto-approval · reason: drewstone_author · 2026-07-01T22:15:01Z

@drewstone drewstone merged commit fa61179 into main Jul 1, 2026
1 check passed
drewstone added a commit that referenced this pull request Jul 1, 2026
Ships resolveRunDir (#299) — bare campaign runDir resolves to ~/.tangle/traces/<repo>/runs, out of repo trees. No breaking changes.
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