Skip to content

v0.82.4

@nick-inkeep nick-inkeep tagged this 05 Oct 10:36
* [wip] claim work on watcher drop notice recovery

* Test dropped-event watcher recovery

* Cover watcher recovery state and lifecycle

* Pin recovery filtering and completion boundaries

* [US-001] Separate disk observation from index reseeding

Separate disk traversal from publication so notice recovery can compare observations before changing live hashes and indexes. Preserve the registered extension winner during index-only reseeding.

* [US-002] Recover content after Parcel loss notices

Process supplied records and reconcile omitted disk changes through existing event handling. Preserve dynamic filtering, aliases and callback mutations while ordering recovery and index-only reseeds before release completes.

* [US-003] Settle HEAD after Parcel loss notices

Route loss notices through the existing branch and object-id batch lifecycle. Retain delivered triggers and complete admitted settlement before unsubscribe resolves.

* Pin retained skill admission after directory read failures

* Pin incomplete skill scans and startup preservation

* Pin configured skill root resolution failures

* [US-004] Preserve skill admission on incomplete scans

* Test recovery with concurrent creates and file aliases

* Test public recreations during recovery replay

* Test restored folders and both file alias orders

* Preserve live mutations and file identities during recovery

* Test delivered file aliases followed by recovery

* Test alias retargeting before recovery

* Test sibling aliases and continued batch delivery

* Test recovery with overlapping file and document names

* Preserve file identities across alias delivery and recovery

* Test derived inventory completion after watcher recovery

* Refresh derived targets after completed watcher recovery

* Test batch progress when a former alias target is unreadable

* Keep readable records moving after an alias target read fails

* Preserve dropped-event recovery diagnostics

* Cover renames after public recreation during recovery

* Cover recovery mutation timing and hash publication

* Cover deletion of indexed files during watcher recovery

* Preserve public file identity through watcher recovery

* Cover file and document identity collisions during recovery

* Pin identity collection mutation and writer contracts

* test: preserve aliases across file inode deduplication

* test: preserve hardlink targets through watcher recovery

* test(ok): cover general file member lifecycle

* test(ok): pin immediate member recovery outcomes

* test(ok): retain logical identity in folder aliases

* test(ok): cover dependent aliases across file role changes

* test(ok): preserve members during dependent read failures

* test(ok): follow aliases across different file identities

* test(ok): cover staged dependent relation updates

* fix(ok): preserve file members through watcher recovery

* test(ok): cover late watcher recovery notifications

* test(ok): pin scan retarget and lexical update outcomes

* test(ok): mutate aliases before their pending notifications

* test(ok): preserve scan search order and live file representatives

* test(ok): retain filter pruning through pending observations

* test(ok): cover admission changes at both scan publishers

* test(ok): refresh folder inventory when pruning excluded paths

* test(ok): preserve admission across public updates and callbacks

* test(ok): refresh referenced assets after filter changes

* test(ok): refresh referenced assets after folder alias retargets

* test(ok): cover cached asset exclusion without index changes

* fix(ok): publish current file inventory after recovery

Preserve file members and symlink roles across recovered and public mutations. Refresh referenced assets when inventory or filter admission changes.

* test: cover folder alias member listings

* test: preserve directory limits for document aliases

* fix: list contained names through folder aliases

* test: cover repeated normalized document names

* test: preserve suffixes in folder alias paths

* test: cover late and repeated folder alias names

* Preserve logical names and literal folder aliases

* Cover directory and document deletion identities

* Cover asset-shaped directory deletion events

* Reset document extensions between watcher fixtures

* Cover public files after directory replacement

* Test deletion identity across file and folder replacements

* Test repeated delivery of one alias removal

* Test canonical updates before alias removal

* Preserve file and alias identity when applying deletions

* Test live creation and retargeting of same-name aliases

* Test removals whose creation was omitted from the stream

* test(ok): preserve pages across stale physical deletions

* fix(ok): retain physical ownership during watcher intake

* test(ok): preserve pages when a shared-name alias is removed

* test(ok): preserve alias ownership through canonical updates

* fix(ok): retire aliases through their recorded target

* fix(ok): keep file membership helper type private

* fix(ok): close the hash-effect switch over disk events with its exhaustiveness default

* test(ok): pin HEAD watcher cleanup when the native unsubscribe rejects

* fix(ok): finish HEAD watcher cleanup when the native unsubscribe rejects

* test(ok): assert every indexed kind for a name instead of filtering by the expected kind

* test(ok): assert a fatal Parcel error neither processes its records nor recovers

* test(ok): list folder-alias rows from a single-pass file inventory

* fix(ok): list the non-markdown disk events the hash-effect switch ignores

* fix(ok): read the file inventory once per document listing

* test(ok): keep ignored dependent targets out of the index after a scan-time role change

* fix(ok): apply the content filter to scan-time role changes in the general index

* fix(ok): log an incomplete watcher recovery as a warning with its own outcome

* refactor(ok): share the in-place skill projection between the best-effort and strict scans

* test(ok): keep unaffected general-file index entries across a single file event

* fix(ok): maintain the general-file index per affected inode group instead of rebuilding it per event

* test(ok): show the surviving general members before the absence checks in the scan-time role change test

* test(ok): wait for the real HEAD batch end in the within-branch notice test instead of faking the server clock

* test(ok): bound recovery scans for notices that arrive during a running scan

* fix(ok): run at most one recovery scan per notice burst, with one follow-up for notices during a running scan

* test(ok): keep in-place skill refreshes live when the skill ledger is unparsable or one bundle is unreadable

* fix(ok): refresh in-place skills past an unparsable ledger or unreadable bundle, keeping only the admissions the failed input decides

* refactor(ok): own the general file index lookup in one structure that records the keys it links

* refactor(ok): route file entry membership through one watcher projection

* fix(ok): report an unparsable or unreadable skill ledger on every skill scan, naming the file and the error

Skill scans read the ledger through a scan-only reader that returned an unparsable or unreadable ledger to the caller without logging it. Refreshes that keep prior admission past such a ledger, and catalog scans that continue without its recorded roots and sources, therefore left no trace of the failing file. The reader now warns with the ledger path and the original error, as the store reader it replaced did.

* test(ok): discriminate the presence checks in partial skill-admission retention

The case where a preferred duplicate copy leaves the disk now also runs with two copies still present, so the retained-name rule only holds a prior copy while it exists. A new case keeps a same-name fork beside an unreadable bundle admitted while it is on disk and withdraws it once it leaves.

* test(ok): keep in-place skill refreshes live past an unparsable ledger on both content filter factories

* fix(ok): pass the current in-place skill admission at every async content filter rescan and require it from the supplier

GitOrigin-RevId: 27e3debb06c7e2e3011937c37c851b15c946c8c9
Assets 2
Loading