You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: collision-resistant doc_name — same-stem documents no longer overwrite each other (#96)
* feat(state): index registry entries by path for doc identity
* feat(state): match legacy registry entries by stem for path backfill
* docs(state): document first-match-wins + truthy-path semantics in find_legacy_by_stem
* feat(converter): portable registry path key
* feat(converter): collision-resistant doc_name resolution (Scheme A)
* fix(converter,state): NFKC-normalize both sides of name comparisons + edge tests
* feat(converter): name all artifacts by collision-resistant doc_name
* fix(converter): registry-authoritative names; read-only dedup skip
Unclaimed on-disk artifacts no longer force a suffix (fixes doc_name
drift on retry after a failed compile), and the dedup early-return now
derives the name from the stored entry without invoking the resolver
(no legacy path backfill from duplicate copies).
* feat(indexer): accept explicit doc_name for long-doc artifacts
* feat(cli): persist path identity metadata on add
* fix(cli): construct registry after convert so legacy backfills aren't clobbered
* fix(lint): resolve raw files through the registry before stem matching
* fix(cli): remove locates raw copies via recorded raw_path
* fix(cli): restrict raw-name fallback to legacy entries without raw_path
* credit: collision-resistant doc_name groundwork
The identity model (path-keyed registry metadata, collision-resistant
naming) builds on the approach pioneered in PR #30.
Co-authored-by: Xinyan Zhou <xinyanzhou938@gmail.com>
---------
Co-authored-by: Xinyan Zhou <xinyanzhou938@gmail.com>
0 commit comments