Repository navigation
Refuse a Repo-Owned Tree Overlapping Carried Content - #3545
Conversation
A repoOwnedTrees source that equals, contains, or sits below a trees[].source, or holds a baseline path, now fails the spec gate. The audit skips every hub file below a repo-owned source, so such an overlap would hide hub-only findings. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
A recorded local strict-review pass covers head |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues are reported, and the change includes targeted overlap validation with regression coverage for the affected cases.
No open issues 🎉
What changed in this PR
This pull request prevents repoOwnedTrees declarations from overlapping content carried through tree or baseline entries, avoiding hidden audit findings.
Changes:
- Reject overlapping repo-owned sources, including equal, ancestor, and descendant paths.
- Reject repo-owned sources containing declared baseline paths.
- Add gate-level regression tests for rejected overlaps, valid adjacent content, and the shipped manifest.
| File | Description |
|---|---|
tests/test_spec_validate.py |
Adds fixtures and gate tests covering overlap shapes, controls, and the shipped manifest. |
spec/validate.py |
Adds ownership-overlap validation for repo-owned trees against carried trees and baseline paths. |
Review effort: Lite
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #3545 +/- ##
===========================================
- Coverage 81.60% 81.50% -0.11%
===========================================
Files 26 26
Lines 9053 9065 +12
===========================================
Hits 7388 7388
- Misses 1665 1677 +12
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…y Tests, and Copilot Transient Fixes (#3544) ## Summary Promotes `develop` to `main`, carrying round 1 of the resync-issue burndown: - #3538: `AGENTS.md` "Model Tiers" now states the no-model dispatch result once, conditionally, in the `highest` bullet. The two bullets that contradicted it lost their unconditional claims. The three skills including the section are regenerated. - #3539: `GOVERNANCE.md` "Durable Knowledge and Self-Improvement" describes the standing-issue handoff lifecycle, matching `AGENTS.md` "Session Scope". `agent-conduct` is regenerated. - #3540: `spec/files.json` gains a `repoOwnedTrees` list declaring `tests`, and `spec/audit.py` `hub_only_paths` leaves those paths out. A carrier's own `tests/` file is no longer reported as hub-only. `spec/validate.py` shape-checks the list, and `AUDIT.md`, `RESYNC.md` and the project-types assertion state the exclusion. - #3542: `pr_review.py wait` and `status` read the Copilot run log before calling an error refusal quota. A `too many files changed` line is transient and earns one re-request, as `COPILOT_ERROR_TRANSIENT` on the existing exit 41. - #3545: promotion fix for Copilot's finding on this pull request. `spec/validate.py` refuses a `repoOwnedTrees` source that overlaps a carried `trees[].source` or holds a `baseline` path. Fixes #3529 Fixes #3504 Fixes #3528 Fixes #3510 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Summary
This is a promotion fix for review thread
PRRT_kwDOQ5caqM6w8BW3on #3544.spec/validate.pynow refuses arepoOwnedTreessource that overlaps carried content. The audit skips every hub file below a repo-owned source. An overlap would therefore hide hub-only findings while the manifest still claims the content is carried.The check refuses three shapes:
trees[].sourcetrees[].sourcebaselinepath at or below itRepoOwnedTreeGateCaseruns the real gate on a scratch tree for each refused shape, plus a control beside the carried content. The fixture paths are constructed. The shippedspec/files.jsonstill passes.Local review
The pass raised one finding, declined on evidence.
spec/validate.py, the new tree-source comparison,introduced, design. The reviewer asked for onepaths_overlaphelper shared with the tree-target loop. Declined: no such helper exists to reuse, and the repeated expression is correct rather than a defect class. Moving the tree-target site is outside this change's claim, which is therepoOwnedTreescheck only.Closes on promotion: #3528
🤖 Generated with Claude Code