Skip to content

026: Complete Underlay Oxide adoption by ignoring whole-target output links - #59

Merged
betterthanclay merged 1 commit into
mainfrom
ns-429843ff-5bad-4bc7-99a5-5e9fde63554c
Oct 23, 2026
Merged

betterthanclay merged 1 commit into
mainfrom
ns-429843ff-5bad-4bc7-99a5-5e9fde63554c

Conversation

@betterthanclay

Copy link
Copy Markdown
Contributor

Change

Change the root ignore rule from target/ to target so Git ignores a whole-target symlink as well as target directories, including nested target directories.

Evidence

A fresh temporary Git fixture using real git check-ignore confirmed the old rule misses a whole-target symlink, the new rule ignores both the root target directory and symlink, nested target directory coverage remains, and an unrelated source file stays unignored.

Existing Oxide adoption and kept exceptions

The existing root Oxide selectors remain unchanged: rust:build, rust:check, rust:clippy, rust:test, fmt:rust, and fmt:rust:check; bootstrap still uses oxide fetch, and the managed AGENTS Oxide block is unchanged. The kept Cargo fallback selectors are rust:check:cargo, rust:clippy:cargo, and rust:test:cargo. The six CI Cargo callsites are unchanged and out of scope.

@inflatable-tester inflatable-tester left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review of PR #59 (head f8f5ffe) — Complete Underlay Oxide adoption by ignoring whole-target output links.

Scope: single-line .gitignore change target/ -> target. No docs, selector, CI, or Rust changes. Matches brief Implementation (change only the target ignore rule; knowledge clarification was conditional and correctly omitted since no doc truth changed).

Diff verified: git show HEAD confirms exactly one line changed in .gitignore; git status clean; actual root rule reads target (no slash).

Reviewer acceptance proof (fresh isolated fixture in mktemp -d, real git check-ignore, fixture deleted after): old target/ did NOT ignore a whole-target symlink (exit 1) while ignoring nested sub/target; new target ignores the symlink (exit 0), nested sub/target (exit 0), and a plain target dir (exit 0), while unrelated src/keep.rs remains unignored (exit 1). All brief acceptance bullets demonstrated. No permanent test added, per brief.

Inventory spot-check: root effigy.toml oxide selectors (rust:build/check/clippy/test, fmt:rust) unchanged; :cargo fallbacks retained; .github untouched (diff is .gitignore only), consistent with the Class2/CI keep-exceptions.

Validation: effigy health run once through Effigy selector, exit 0 (guardrails pass, release versions synchronized at 0.10.5). No Rust/build/test/coverage runs required per brief (no compile selector moved); no docs check (no docs changed); no format check (.gitignore is not formatted source). The v0.15 [scan.attention_markers] notice is a pre-existing deprecation warning, not a failure.

No live target relocation, symlink creation in the real repo, builds, or CI edits were made. Head left clean.

Verdict: ready_to_merge.

@betterthanclay
betterthanclay merged commit 1d0d5ec into main Oct 23, 2026
2 checks 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