Shallow-history caveats, and the test suite runs in a worktree (closes #66, #77) - #80
Merged
Conversation
Limit: a depth-1 clone can only inspect its reachable commit history Warn: shallow history remains advisory; query and guard exit-code semantics are unchanged Blast: module Undo: easy Certainty: firm Record-Id: r-shallow66
Warn: git rev-parse --git-path may return a repository-relative path; resolve it against the test repository Blast: module Undo: easy Certainty: firm Record-Id: r-wt77fix
Limit: Generated dist files were resolved only by npm run build and npm run bundle Warn: test/hooks.test.ts must keep both worktree git-path resolution and reference-integrity assertions Blast: module Undo: easy Certainty: firm Record-Id: r-merge66
Ruled-out: checking --git-dir/shallow | linked worktrees keep the shallow marker in the common Git directory Limit: git rev-parse --git-path may return a repository-relative path, so resolve it against cwd Blast: module Undo: easy Certainty: firm Record-Id: r-shwt66
CommitLore — record lintTrailers: clean — 4 commits in Active constraints for the paths this PR touchesLimits (29)
Ruled out (83)
Warnings (50)
Trailer violations fail this check. Active constraints are informational — they are what the repository already decided, not a verdict on this PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #66 and #77.
Measured shallow-clone behavior
In a real
--depth 1clone, these commands carried the same advisory without changing their normal exit semantics:commitlore contextcommitlore limitscommitlore ruled-outcommitlore warningscommitlore guardcommitlore injectThe exact wording was:
commitlore doctorreported:The printed fix was executed in both a plain depth-1 clone and a linked worktree created from one. In the linked-worktree check, Git changed from
is-shallow=truetois-shallow=false, earlier history became visible, and doctor changed to:Review caught and fixed a combined edge before publication:
--git-dir/shallowmisses the common shallow marker from a linked worktree. The final detector usesgit rev-parse --git-path shallow, with a red/green regression test.Merge and worktree resolution
The six generated conflicts were not hand-edited. After taking one side,
npm run build && npm run bundleregenerateddist/; rerunning both commands at final SHA5efa2064247e689ff02874ce77a2205b8ace36c9left a zero diff.test/hooks.test.tsretains both sides:git rev-parse --git-path hooksand resolves repository-relative output against the worktree root.dev’s reference-integrity assertions remain present and pass.No production source was changed for #77. The final
src/core/git.tsdelta is the independently reproduced #66 shallow-history edge described above.Verification
The only file-count difference is the branch-only
test/shallow-history.test.ts: all 33 files shared with~/projects/annalswere collected in the worktree, plus that new regression file. The comparison checkout’s only full-load failure was the documented 5000 ms timeout intest/mcp.test.ts; rerunning it alone passed:Reference-integrity checks remained:
Five fresh review lanes passed against the final exact SHA: goal/constraints, hands-on CLI QA, code quality, security, and history/GitHub context.