Version Packages - #112
Merged
Merged
Conversation
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.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@cosyte/ccda@0.0.15
Patch Changes
d3807af: PHI scanner: the repository-wide sweep now reads the bytes git carries, as a union with the working-tree walk.
pnpm phi-scanwith no arguments (the sweep CI runs) enumerated the working tree and nothing else. Where the working tree and the index disagree, the walk was the only voice, so the gate could printOK, no hitsand exit 0 over tracked content it never opened. Four such states were reproduced on the previous release, each over a tracked file holding a whole synthetic patient identity: the path occupied by a directory, the path under a name the walk skips wholesale (dist,coverage,.cacheand the rest), the working tree missing almost every tracked file, and a submodule whose working tree is absent. No such content existed in this package; the states were reproduced rather than found.The sweep now also scans the stage-0 blob of every tracked path whose bytes the walk did not already read. Deduplication is by content rather than by path, so a clean checkout reads nothing twice, and a path whose two copies differ (end-of-line normalization, a scrubbed working copy) has both scanned rather than one standing in for the other. A hit found this way names its locus as
<path> (as git carries it).Three new refusals, all exit 2. A tracked path git records as a symbolic link or as a submodule carries no content to scan there; an unmerged path has no single merged blob, only two sides and their base, and is refused under its own message; and a sweep cannot run at all when git will not name the index or names it empty. No refusal ever prints a link target.
The suite now carries a positive control: it copies every tracked file into a throwaway repository, reproduces the clean result over it, and then proves the same sweep fires on that corpus with one synthetic marker planted, once on disk and once reachable only through git. A clean report is a decision, not an absence.
498ef6d: Docs: name the real reason the branch-and-merge fixture went red, and drop the reading that said the index came back empty.
The note and the test comment covering the unmerged-index case both explained the red CI run as
git ls-files -sreturning no records for the path at all. That is false. The run's own output readsexpected [ Array(1) ] to have a length of 3 but got 1, and the calls above it assert a clean exit on the add and the commits, so a stage-0 record necessarily existed. What actually happened is that the draft handed itsgit mergeno committer identity, so the merge died before it touched the index and left the record the last commit wrote; the premise assertion, written as "not zero means it conflicts", accepted that crash as a conflict. A premise assertion that accepts any non-zero exit accepts a crash.No behavior change: the scanner, the fixture and every assertion are untouched.