WIP: perf: keep idle storage accounting asleep #753

Closed
kayg wants to merge 2 commits from perf/idle-honest into dev
Owner

The storage usage counter walked every Home once a minute while idle. At 100k notes it used 0.61% CPU and left about 22 MiB of free heap resident after a recount. Native filesystem events now update changed paths; directory changes and lost events repair the snapshot. Polling remains a fallback when watching fails.

Updates and snapshots share file keys for directory aliases and concurrent moves. Recount history is kept only while a walk is active, and the existing memory module returns freed recount maps after a quiet burst.

Validation on 7c2e78cc33: formatting, strict workspace clippy, release build and workspace tests passed (1163 passed, 0 failed, 20 ignored). Three full reports used 10k/100k Homes, five warm runs, three cold runs, 300-second idle windows and 51 verified internal cache drops. Idle CPU and wakeups were zero in all six windows; 100k idle RSS was 73.4102 / 75.8906 / 69.8086 MiB, below the unchanged 100 MiB budget.

The overall server reports remain red for note opening, tag paging and latency outliers. All gate output is retained on issue #686. The unchanged baseline also exceeded long-note and startup budgets in follow-up checks. No budget was changed. The configured data root is assumed stable; replacement of its users subtree is tested. Measurements are Linux/XFS Homes with separate ext4 app state.

Complete evidence and commands. Archive SHA-256: 8aef16e0b0a61916ae816a0af6794781ddec1d7059d8f85801235eaf080aa239. Refs #686.

The storage usage counter walked every Home once a minute while idle. At 100k notes it used 0.61% CPU and left about 22 MiB of free heap resident after a recount. Native filesystem events now update changed paths; directory changes and lost events repair the snapshot. Polling remains a fallback when watching fails. Updates and snapshots share file keys for directory aliases and concurrent moves. Recount history is kept only while a walk is active, and the existing memory module returns freed recount maps after a quiet burst. Validation on 7c2e78cc33e19eadf27fc7878c2243b0988f6776: formatting, strict workspace clippy, release build and workspace tests passed (1163 passed, 0 failed, 20 ignored). Three full reports used 10k/100k Homes, five warm runs, three cold runs, 300-second idle windows and 51 verified internal cache drops. Idle CPU and wakeups were zero in all six windows; 100k idle RSS was 73.4102 / 75.8906 / 69.8086 MiB, below the unchanged 100 MiB budget. The overall server reports remain red for note opening, tag paging and latency outliers. All gate output is retained on [issue #686](https://git.kayg.org/kayg/calternal/issues/686). The unchanged baseline also exceeded long-note and startup budgets in follow-up checks. No budget was changed. The configured data root is assumed stable; replacement of its users subtree is tested. Measurements are Linux/XFS Homes with separate ext4 app state. [Complete evidence and commands](https://git.kayg.org/attachments/0d6df224-31dd-4740-a37e-33bcdcde9ba5). Archive SHA-256: 8aef16e0b0a61916ae816a0af6794781ddec1d7059d8f85801235eaf080aa239. Refs #686.
fix(fsio): keep usage totals consistent across aliases and moves
Some checks failed
CI / server (pull_request) Successful in 1m11s
CI / rust (pull_request) Successful in 14m1s
CI / web (pull_request) Has been cancelled
7c2e78cc33
Author
Owner

Independent review of 7c2e78cc33 against dev d83e54dbe5: fix first.

  • P1 — hard links leave quotas permanently stale (crates/fsio/src/usage/watch.rs:188, healthy wait at :60). Create two hard-linked names with 3 bytes each in one Home, start the counter, then outside-overwrite one name with 10 bytes. After native batch delivery, cached usage is 13; a fresh walk is 20. Writing via a link outside the watched tree produces cached 3 versus fresh 10. No error/overflow occurs, so healthy mode has no scheduled repair. Drift persisted beyond 65 seconds in a 100,000-file fixture. Track aliases or provide guaranteed recovery for changes directory events cannot describe.
  • P1 — a newly published folder moved out before batching keeps its charge (watch.rs:127-133,176-188). Use prepare_new_directory for one 7-byte attachment, publish it, and immediately outside-rename the new folder to data/exported in the publication callback. Wait for an unrelated marker event. Real native delivery leaves cached 7 versus fresh walk 0. Pending discards directory event kind; the new, now-absent folder is not in the last directory snapshot, so apply refreshes it as a file and retains its child keys. Preserve folder event information and repair even when the folder is absent from both cache and disk.
  • P2 — deadline test flakes (watch.rs:210-211). Exact-head fsio tests fail 43 passed / 1 failed at gathering_stops_at_its_deadline_even_with_queued_events (Err(Empty) versus Ok(())). It passed in isolation. Consecutive Instant readings can be equal on this host (6,872/10,000 probe iterations), allowing recv_timeout(0) to drain the queued item. Use a definitely past deadline without sleeping or define the equality boundary.

Passing independent checks: 1,200 mixed operations with 80 per-person fresh-walk comparisons; folder moves across Homes, Trash/restore and deletes; stopped-server changes; 100,000-file repair with concurrent writes and history capacity returning to zero; actual kernel IN_Q_OVERFLOW triggering repair and failed=true. Inspection confirms failed=true enables 60-second fallback with no automatic native watcher restart. Silent event loss in healthy mode has no bounded recovery.

Counter-only measurement on 10by32-01-std under perf-lock.sh: 65.006 seconds, 0.002003 CPU seconds (0.003081%), one voluntary context switch from the main measurement timeout and no extra background wakeups. Allocator-retained bytes stayed about 19.2 MB across five repairs and fell to 0.25 MB after dropping the counter. This does not claim a full-server performance gate pass.

Exact-head gates through build-slot.sh: formatting and targeted clippy with -D warnings passed; fsio library tests exited 101 due to the flaky test. Independent reproductions fail as described. Detailed reproductions, recovery limits and verbatim gate output are on issue #686; local findings.md and review scratch evidence are uncommitted. Product files are unchanged. No push, merge or deployment was made.

Independent review of 7c2e78cc33e19eadf27fc7878c2243b0988f6776 against dev d83e54dbe571b625504001a8b6add90d44ca6161: **fix first**. - **P1 — hard links leave quotas permanently stale** (`crates/fsio/src/usage/watch.rs:188`, healthy wait at :60). Create two hard-linked names with 3 bytes each in one Home, start the counter, then outside-overwrite one name with 10 bytes. After native batch delivery, cached usage is 13; a fresh walk is 20. Writing via a link outside the watched tree produces cached 3 versus fresh 10. No error/overflow occurs, so healthy mode has no scheduled repair. Drift persisted beyond 65 seconds in a 100,000-file fixture. Track aliases or provide guaranteed recovery for changes directory events cannot describe. - **P1 — a newly published folder moved out before batching keeps its charge** (`watch.rs:127-133,176-188`). Use prepare_new_directory for one 7-byte attachment, publish it, and immediately outside-rename the new folder to data/exported in the publication callback. Wait for an unrelated marker event. Real native delivery leaves cached 7 versus fresh walk 0. Pending discards directory event kind; the new, now-absent folder is not in the last directory snapshot, so apply refreshes it as a file and retains its child keys. Preserve folder event information and repair even when the folder is absent from both cache and disk. - **P2 — deadline test flakes** (`watch.rs:210-211`). Exact-head fsio tests fail 43 passed / 1 failed at gathering_stops_at_its_deadline_even_with_queued_events (Err(Empty) versus Ok(())). It passed in isolation. Consecutive Instant readings can be equal on this host (6,872/10,000 probe iterations), allowing recv_timeout(0) to drain the queued item. Use a definitely past deadline without sleeping or define the equality boundary. Passing independent checks: 1,200 mixed operations with 80 per-person fresh-walk comparisons; folder moves across Homes, Trash/restore and deletes; stopped-server changes; 100,000-file repair with concurrent writes and history capacity returning to zero; actual kernel IN_Q_OVERFLOW triggering repair and failed=true. Inspection confirms failed=true enables 60-second fallback with no automatic native watcher restart. Silent event loss in healthy mode has no bounded recovery. Counter-only measurement on 10by32-01-std under perf-lock.sh: 65.006 seconds, 0.002003 CPU seconds (0.003081%), one voluntary context switch from the main measurement timeout and no extra background wakeups. Allocator-retained bytes stayed about 19.2 MB across five repairs and fell to 0.25 MB after dropping the counter. This does not claim a full-server performance gate pass. Exact-head gates through build-slot.sh: formatting and targeted clippy with -D warnings passed; fsio library tests exited 101 due to the flaky test. Independent reproductions fail as described. Detailed reproductions, recovery limits and verbatim gate output are on issue #686; local findings.md and review scratch evidence are uncommitted. Product files are unchanged. No push, merge or deployment was made.
Author
Owner

The storage-usage findings from review of #753 are fixed in 754 on perf/idle-honest-2, head 81e6141a2e. This new branch and PR follow the job's Forgejo rule.

Finding Fix Permanent tests
Hard-link writes left cached 13 bytes versus a fresh 20; outside-link writes left 3 versus 10. Share observations by device and inode; watch inodes, link counts and surviving aliases. Native writes through both inside and outside links, links created after startup, alias replacement, and transfer after the watched name is removed or moved.
Publishing a folder and moving it out before batching left 7 bytes charged. Preserve event kinds and cached folder shape; repair the exact affected path or subtree and re-observe overlapping writes. Native publication callback move, missing-folder repair, temporary-name scope isolation, and 10,000 randomized sequences against fresh walks.
Equal clock readings could drain the queued deadline-test event. Treat zero remaining duration as expired. The queued-event deadline test passed all 100 repetitions.

The VM run also caught a transient watch-install error that enabled polling and a large per-file watch memory cost. The final Linux adapter pins inode identity during installation, shares names, handles disappearing files as transient, and stops under continuous writes without an idle timer. Native and randomized tests cover these paths.

Formatting, workspace clippy, and workspace tests passed (1176 passed, 0 failed, 20 ignored). All 100 counter repetitions passed, with 28 tests each, 1,000,000 operation sequences, and 2,000,000 per-Home comparisons against fresh full walks.

All three server gates passed. Idle windows stayed 300 seconds, and the binary, harness and budget hashes matched before and after.

Report Notes CPU ticks CPU % Wakeups/s RSS MB
1 10000 0 0 0 21.3359
1 100000 0 0 0 93.1953
2 10000 0 0 0 21.9219
2 100000 0 0 0 78.8984
3 10000 0 0 0 20.4062
3 100000 0 0 0 78.7109

Report 1, gate output verbatim:

over target (not gated yet): 10000 notes: storm.disk_written p95 89.8 > 50
over target (not gated yet): 100000 notes: storm.disk_written p95 118 > 50
server-1 exit 0

Report 2, gate output verbatim:

over target (not gated yet): 10000 notes: storm.disk_written p95 94.7 > 50
over target (not gated yet): 100000 notes: storm.disk_written p95 116 > 50
server-2 exit 0

Report 3, gate output verbatim:

over target (not gated yet): 10000 notes: storm.disk_written p95 96.0 > 50
over target (not gated yet): 100000 notes: storm.disk_written p95 145 > 50
server-3 exit 0

These reports ran on 10by32-01-std, ARM64, same-root btrfs. Cache drops are unavailable on that VM; the unindexed starts have no controlled cache drop. The full failed preliminary report, final reports and gate logs are preserved on issue #686 and in the evidence archive, SHA-256 ae082d6ca8ee71b37c69d52e5792ca3d2bb62902c016581ce6df11df9d10331d.

No merge, deployment, issue closure or update to the reviewed #753 branch was performed.

The storage-usage findings from review of #753 are fixed in [754](https://git.kayg.org/kayg/calternal/pulls/754) on `perf/idle-honest-2`, head 81e6141a2e21b108d965232d6e789121e179a09c. This new branch and PR follow the job's Forgejo rule. | Finding | Fix | Permanent tests | |---|---|---| | Hard-link writes left cached 13 bytes versus a fresh 20; outside-link writes left 3 versus 10. | Share observations by device and inode; watch inodes, link counts and surviving aliases. | Native writes through both inside and outside links, links created after startup, alias replacement, and transfer after the watched name is removed or moved. | | Publishing a folder and moving it out before batching left 7 bytes charged. | Preserve event kinds and cached folder shape; repair the exact affected path or subtree and re-observe overlapping writes. | Native publication callback move, missing-folder repair, temporary-name scope isolation, and 10,000 randomized sequences against fresh walks. | | Equal clock readings could drain the queued deadline-test event. | Treat zero remaining duration as expired. | The queued-event deadline test passed all 100 repetitions. | The VM run also caught a transient watch-install error that enabled polling and a large per-file watch memory cost. The final Linux adapter pins inode identity during installation, shares names, handles disappearing files as transient, and stops under continuous writes without an idle timer. Native and randomized tests cover these paths. Formatting, workspace clippy, and workspace tests passed (1176 passed, 0 failed, 20 ignored). All 100 counter repetitions passed, with 28 tests each, 1,000,000 operation sequences, and 2,000,000 per-Home comparisons against fresh full walks. All three server gates passed. Idle windows stayed 300 seconds, and the binary, harness and budget hashes matched before and after. | Report | Notes | CPU ticks | CPU % | Wakeups/s | RSS MB | |---:|---:|---:|---:|---:|---:| | 1 | 10000 | 0 | 0 | 0 | 21.3359 | | 1 | 100000 | 0 | 0 | 0 | 93.1953 | | 2 | 10000 | 0 | 0 | 0 | 21.9219 | | 2 | 100000 | 0 | 0 | 0 | 78.8984 | | 3 | 10000 | 0 | 0 | 0 | 20.4062 | | 3 | 100000 | 0 | 0 | 0 | 78.7109 | Report 1, gate output verbatim: ```text over target (not gated yet): 10000 notes: storm.disk_written p95 89.8 > 50 over target (not gated yet): 100000 notes: storm.disk_written p95 118 > 50 server-1 exit 0 ``` Report 2, gate output verbatim: ```text over target (not gated yet): 10000 notes: storm.disk_written p95 94.7 > 50 over target (not gated yet): 100000 notes: storm.disk_written p95 116 > 50 server-2 exit 0 ``` Report 3, gate output verbatim: ```text over target (not gated yet): 10000 notes: storm.disk_written p95 96.0 > 50 over target (not gated yet): 100000 notes: storm.disk_written p95 145 > 50 server-3 exit 0 ``` These reports ran on 10by32-01-std, ARM64, same-root btrfs. Cache drops are unavailable on that VM; the unindexed starts have no controlled cache drop. The full failed preliminary report, final reports and gate logs are preserved on issue #686 and in the [evidence archive](https://git.kayg.org/attachments/d4de8534-c8fe-4186-8357-dc4515d5090b), SHA-256 `ae082d6ca8ee71b37c69d52e5792ca3d2bb62902c016581ce6df11df9d10331d`. No merge, deployment, issue closure or update to the reviewed #753 branch was performed.
Author
Owner

Started the approved whole-Home recount redesign on perf/quota-simple, based on a6b1fa14d2 (fetched origin/perf/idle-honest-2 and verified it matches). Existing crates/fsio/src/usage.rs plus usage/*.rs: 5,987 lines. First checking generation acceptance against delayed native notifications and mount operations, then implementation and gates if that acceptance rule holds.

Started the approved whole-Home recount redesign on perf/quota-simple, based on a6b1fa14d21944b25fa1538615501f414ae9ddbf (fetched origin/perf/idle-honest-2 and verified it matches). Existing crates/fsio/src/usage.rs plus usage/*.rs: 5,987 lines. First checking generation acceptance against delayed native notifications and mount operations, then implementation and gates if that acceptance rule holds.
Author
Owner

Finding: unchanged callback generations do not prove containment. A real native inotify queue can retain events until after the counter accepts its walk. This is ordinary callback scheduling delay; there is no overflow and no lost event. I opened a child directory fd, moved that child outside Home, and created a new 1,009-byte file only outside Home. Before releasing the event consumer, the required before/after rule accepted 1,013 bytes although the quiescent Home oracle was zero. The counter would be marked counted at generation 1. Three native events were delivered afterward. The current descriptor location validation addresses this case; deleting it requires a synchronous native event fence, not merely an atomic in the callback. A timeout, debounce, or three attempts does not help: the first attempt sees unchanged generations and succeeds.

Command: python3 generation-race.py

Output:

{"rule": "accept iff dirty_gen unchanged", "before": 1, "after": 1, "accepted": true, "counted_gen": 1, "accepted_total": 1013, "quiescent_oracle": 0, "outside_bytes_charged": 1013}
{"delivered_events_after_acceptance": 3, "dirty_gen_after_delivery": 4}

This reproduces the specified replacement acceptance rule with real kernel events; it does not claim that the existing chain-verifying scanner accepted these bytes. Reproduction source follows.

"""Reproduce the specified before/after-generation acceptance rule."""
import ctypes
import json
import os
from pathlib import Path
import struct
import tempfile
import threading

libc = ctypes.CDLL(None, use_errno=True)
libc.inotify_init1.argtypes = [ctypes.c_int]
libc.inotify_add_watch.argtypes = [ctypes.c_int, ctypes.c_char_p, ctypes.c_uint32]
IN_MODIFY, IN_MOVED_FROM, IN_MOVED_TO, IN_MOVE_SELF = 2, 64, 128, 2048
with tempfile.TemporaryDirectory(prefix='quota-simple-', dir=Path(__file__).resolve().parent) as tmp:
    root = Path(tmp)
    home = root / 'home'
    child = home / 'child'
    child.mkdir(parents=True)
    (child / 'note').write_bytes(b'home')
    watcher = libc.inotify_init1(os.O_CLOEXEC | os.O_NONBLOCK)
    assert watcher >= 0
    for path in (home, child):
        assert libc.inotify_add_watch(watcher, os.fsencode(path), IN_MODIFY | IN_MOVED_FROM | IN_MOVED_TO | IN_MOVE_SELF) >= 0
    dirty_gen = 1
    counted_gen = 0
    callback_started = threading.Event()
    release_callback = threading.Event()
    def delayed_callback():
        global dirty_gen
        callback_started.set()
        assert release_callback.wait(5)
        data = os.read(watcher, 65536)
        offset, events = 0, 0
        while offset < len(data):
            wd, mask, cookie, length = struct.unpack_from('iIII', data, offset)
            offset += 16 + length
            events += 1
            dirty_gen += 1
        print(json.dumps({'delivered_events_after_acceptance': events, 'dirty_gen_after_delivery': dirty_gen}))
    callback = threading.Thread(target=delayed_callback)
    callback.start()
    assert callback_started.wait(5)
    before = dirty_gen
    # The requested walker has already opened a child before the rename.
    fd = os.open(child, os.O_RDONLY | os.O_DIRECTORY | os.O_NOFOLLOW)
    outside = root / 'outside'
    child.rename(outside)
    # This file did not exist anywhere under Home, even transiently.
    (outside / 'foreign').write_bytes(b'x' * 1009)
    total = sum(os.stat(name, dir_fd=fd, follow_symlinks=False).st_size for name in os.listdir(fd))
    after = dirty_gen
    accepted = before == after
    if accepted:
        counted_gen = after
    oracle = sum(path.stat().st_size for path in home.rglob('*') if path.is_file())
    print(json.dumps({'rule': 'accept iff dirty_gen unchanged', 'before': before, 'after': after, 'accepted': accepted, 'counted_gen': counted_gen, 'accepted_total': total, 'quiescent_oracle': oracle, 'outside_bytes_charged': total - oracle}))
    release_callback.set()
    callback.join(5)
    assert not callback.is_alive()
    os.close(fd)
    os.close(watcher)
    assert accepted and total == 1013 and oracle == 0

Finding: unchanged callback generations do not prove containment. A real native inotify queue can retain events until after the counter accepts its walk. This is ordinary callback scheduling delay; there is no overflow and no lost event. I opened a child directory fd, moved that child outside Home, and created a new 1,009-byte file only outside Home. Before releasing the event consumer, the required before/after rule accepted 1,013 bytes although the quiescent Home oracle was zero. The counter would be marked counted at generation 1. Three native events were delivered afterward. The current descriptor location validation addresses this case; deleting it requires a synchronous native event fence, not merely an atomic in the callback. A timeout, debounce, or three attempts does not help: the first attempt sees unchanged generations and succeeds. Command: python3 generation-race.py Output: ```text {"rule": "accept iff dirty_gen unchanged", "before": 1, "after": 1, "accepted": true, "counted_gen": 1, "accepted_total": 1013, "quiescent_oracle": 0, "outside_bytes_charged": 1013} {"delivered_events_after_acceptance": 3, "dirty_gen_after_delivery": 4} ``` This reproduces the specified replacement acceptance rule with real kernel events; it does not claim that the existing chain-verifying scanner accepted these bytes. Reproduction source follows. ```python """Reproduce the specified before/after-generation acceptance rule.""" import ctypes import json import os from pathlib import Path import struct import tempfile import threading libc = ctypes.CDLL(None, use_errno=True) libc.inotify_init1.argtypes = [ctypes.c_int] libc.inotify_add_watch.argtypes = [ctypes.c_int, ctypes.c_char_p, ctypes.c_uint32] IN_MODIFY, IN_MOVED_FROM, IN_MOVED_TO, IN_MOVE_SELF = 2, 64, 128, 2048 with tempfile.TemporaryDirectory(prefix='quota-simple-', dir=Path(__file__).resolve().parent) as tmp: root = Path(tmp) home = root / 'home' child = home / 'child' child.mkdir(parents=True) (child / 'note').write_bytes(b'home') watcher = libc.inotify_init1(os.O_CLOEXEC | os.O_NONBLOCK) assert watcher >= 0 for path in (home, child): assert libc.inotify_add_watch(watcher, os.fsencode(path), IN_MODIFY | IN_MOVED_FROM | IN_MOVED_TO | IN_MOVE_SELF) >= 0 dirty_gen = 1 counted_gen = 0 callback_started = threading.Event() release_callback = threading.Event() def delayed_callback(): global dirty_gen callback_started.set() assert release_callback.wait(5) data = os.read(watcher, 65536) offset, events = 0, 0 while offset < len(data): wd, mask, cookie, length = struct.unpack_from('iIII', data, offset) offset += 16 + length events += 1 dirty_gen += 1 print(json.dumps({'delivered_events_after_acceptance': events, 'dirty_gen_after_delivery': dirty_gen})) callback = threading.Thread(target=delayed_callback) callback.start() assert callback_started.wait(5) before = dirty_gen # The requested walker has already opened a child before the rename. fd = os.open(child, os.O_RDONLY | os.O_DIRECTORY | os.O_NOFOLLOW) outside = root / 'outside' child.rename(outside) # This file did not exist anywhere under Home, even transiently. (outside / 'foreign').write_bytes(b'x' * 1009) total = sum(os.stat(name, dir_fd=fd, follow_symlinks=False).st_size for name in os.listdir(fd)) after = dirty_gen accepted = before == after if accepted: counted_gen = after oracle = sum(path.stat().st_size for path in home.rglob('*') if path.is_file()) print(json.dumps({'rule': 'accept iff dirty_gen unchanged', 'before': before, 'after': after, 'accepted': accepted, 'counted_gen': counted_gen, 'accepted_total': total, 'quiescent_oracle': oracle, 'outside_bytes_charged': total - oracle})) release_callback.set() callback.join(5) assert not callback.is_alive() os.close(fd) os.close(watcher) assert accepted and total == 1013 and oracle == 0 ```
Author
Owner

Finding: same-device bind mounts do not produce the native notification that generation acceptance needs. I verified this in an isolated user and mount namespace on this host; no host mount changed. Every existing Home file and directory was watched for every inotify event. After opening a child directory fd, a bind mount covered that child. The mount returned with zero bytes pending in the native event queue. The opened child fd still had the Home root mount ID and yielded seven now-hidden bytes, while the current path had a different mount ID and the required mount-excluding oracle was zero. Comparing st_dev and mount IDs on each object being walked does not detect a mount placed over a directory already opened. This needs mount-namespace change detection or renewed path validation; inotify overflow handling cannot detect an operation that produces no event.

Command: unshare --user --map-root-user --mount python3 mount-race.py

Output:

{"mount_notification_bytes": 0, "dirty_before": 1, "dirty_after": 1, "accepted": true, "accepted_total_from_opened_child": 7, "oracle_excluding_bind_mount": 0, "opened_child_mount_id": 59, "home_mount_id": 59, "current_child_mount_id": 345, "same_device_bind_mount": true}

Reproduction source follows.

"""Run in a private user and mount namespace. No host mounts change."""
import ctypes
import json
import os
from pathlib import Path
import stat
import subprocess
import tempfile

libc = ctypes.CDLL(None, use_errno=True)
libc.inotify_init1.argtypes = [ctypes.c_int]
libc.inotify_add_watch.argtypes = [ctypes.c_int, ctypes.c_char_p, ctypes.c_uint32]
libc.statx.argtypes = [ctypes.c_int, ctypes.c_char_p, ctypes.c_int, ctypes.c_uint, ctypes.c_void_p]
def mount_id(fd):
    buf = ctypes.create_string_buffer(256)
    assert libc.statx(fd, b'', 0x1000, 0x1000, buf) == 0
    import struct
    return struct.unpack_from('Q', buf.raw, 144)[0]
with tempfile.TemporaryDirectory(prefix='quota-mount-', dir=Path(__file__).resolve().parent) as tmp:
    root = Path(tmp)
    child = root / 'home' / 'child'
    outside = root / 'outside'
    child.mkdir(parents=True)
    outside.mkdir()
    (child / 'previous').write_bytes(b'1234567')
    (outside / 'foreign').write_bytes(b'outside bytes')
    watcher = libc.inotify_init1(os.O_CLOEXEC | os.O_NONBLOCK)
    assert watcher >= 0
    # Watch every existing file and directory under Home, using all native
    # events, stronger coverage than a recursive directory watcher alone.
    for path in [child.parent, *child.parent.rglob('*')]:
        assert libc.inotify_add_watch(watcher, os.fsencode(path), 0xfff) >= 0
    home_fd = os.open(child.parent, os.O_RDONLY | os.O_DIRECTORY | os.O_NOFOLLOW)
    child_fd = os.open(child, os.O_RDONLY | os.O_DIRECTORY | os.O_NOFOLLOW)
    original_mount = mount_id(home_fd)
    # Opening the fds produced access/open events; remove these first.
    while True:
        try:
            os.read(watcher, 65536)
        except BlockingIOError:
            break
    try:
        subprocess.run(['mount', '--bind', str(outside), str(child)], check=True)
        # Inspect the native queue immediately after mount has returned. No
        # callback latency is involved: there is no pending native event.
        try:
            mount_events = len(os.read(watcher, 65536))
        except BlockingIOError:
            mount_events = 0
        dirty_before = dirty_after = 1
        total = 0
        for name in os.listdir(child_fd):
            info = os.stat(name, dir_fd=child_fd, follow_symlinks=False)
            if stat.S_ISREG(info.st_mode):
                total += info.st_size
        current_fd = os.open(child, os.O_RDONLY | os.O_DIRECTORY | os.O_NOFOLLOW)
        current_mount = mount_id(current_fd)
        oracle = 0 if current_mount != original_mount else sum(p.stat().st_size for p in child.iterdir())
        print(json.dumps({'mount_notification_bytes': mount_events, 'dirty_before': dirty_before, 'dirty_after': dirty_after, 'accepted': dirty_before == dirty_after, 'accepted_total_from_opened_child': total, 'oracle_excluding_bind_mount': oracle, 'opened_child_mount_id': mount_id(child_fd), 'home_mount_id': original_mount, 'current_child_mount_id': current_mount, 'same_device_bind_mount': os.fstat(child_fd).st_dev == os.fstat(current_fd).st_dev}))
        os.close(current_fd)
        assert mount_events == 0 and total == 7 and oracle == 0
    finally:
        subprocess.run(['umount', str(child)], check=True)
        os.close(child_fd)
        os.close(home_fd)
        os.close(watcher)

Finding: same-device bind mounts do not produce the native notification that generation acceptance needs. I verified this in an isolated user and mount namespace on this host; no host mount changed. Every existing Home file and directory was watched for every inotify event. After opening a child directory fd, a bind mount covered that child. The mount returned with zero bytes pending in the native event queue. The opened child fd still had the Home root mount ID and yielded seven now-hidden bytes, while the current path had a different mount ID and the required mount-excluding oracle was zero. Comparing st_dev and mount IDs on each object being walked does not detect a mount placed over a directory already opened. This needs mount-namespace change detection or renewed path validation; inotify overflow handling cannot detect an operation that produces no event. Command: unshare --user --map-root-user --mount python3 mount-race.py Output: ```text {"mount_notification_bytes": 0, "dirty_before": 1, "dirty_after": 1, "accepted": true, "accepted_total_from_opened_child": 7, "oracle_excluding_bind_mount": 0, "opened_child_mount_id": 59, "home_mount_id": 59, "current_child_mount_id": 345, "same_device_bind_mount": true} ``` Reproduction source follows. ```python """Run in a private user and mount namespace. No host mounts change.""" import ctypes import json import os from pathlib import Path import stat import subprocess import tempfile libc = ctypes.CDLL(None, use_errno=True) libc.inotify_init1.argtypes = [ctypes.c_int] libc.inotify_add_watch.argtypes = [ctypes.c_int, ctypes.c_char_p, ctypes.c_uint32] libc.statx.argtypes = [ctypes.c_int, ctypes.c_char_p, ctypes.c_int, ctypes.c_uint, ctypes.c_void_p] def mount_id(fd): buf = ctypes.create_string_buffer(256) assert libc.statx(fd, b'', 0x1000, 0x1000, buf) == 0 import struct return struct.unpack_from('Q', buf.raw, 144)[0] with tempfile.TemporaryDirectory(prefix='quota-mount-', dir=Path(__file__).resolve().parent) as tmp: root = Path(tmp) child = root / 'home' / 'child' outside = root / 'outside' child.mkdir(parents=True) outside.mkdir() (child / 'previous').write_bytes(b'1234567') (outside / 'foreign').write_bytes(b'outside bytes') watcher = libc.inotify_init1(os.O_CLOEXEC | os.O_NONBLOCK) assert watcher >= 0 # Watch every existing file and directory under Home, using all native # events, stronger coverage than a recursive directory watcher alone. for path in [child.parent, *child.parent.rglob('*')]: assert libc.inotify_add_watch(watcher, os.fsencode(path), 0xfff) >= 0 home_fd = os.open(child.parent, os.O_RDONLY | os.O_DIRECTORY | os.O_NOFOLLOW) child_fd = os.open(child, os.O_RDONLY | os.O_DIRECTORY | os.O_NOFOLLOW) original_mount = mount_id(home_fd) # Opening the fds produced access/open events; remove these first. while True: try: os.read(watcher, 65536) except BlockingIOError: break try: subprocess.run(['mount', '--bind', str(outside), str(child)], check=True) # Inspect the native queue immediately after mount has returned. No # callback latency is involved: there is no pending native event. try: mount_events = len(os.read(watcher, 65536)) except BlockingIOError: mount_events = 0 dirty_before = dirty_after = 1 total = 0 for name in os.listdir(child_fd): info = os.stat(name, dir_fd=child_fd, follow_symlinks=False) if stat.S_ISREG(info.st_mode): total += info.st_size current_fd = os.open(child, os.O_RDONLY | os.O_DIRECTORY | os.O_NOFOLLOW) current_mount = mount_id(current_fd) oracle = 0 if current_mount != original_mount else sum(p.stat().st_size for p in child.iterdir()) print(json.dumps({'mount_notification_bytes': mount_events, 'dirty_before': dirty_before, 'dirty_after': dirty_after, 'accepted': dirty_before == dirty_after, 'accepted_total_from_opened_child': total, 'oracle_excluding_bind_mount': oracle, 'opened_child_mount_id': mount_id(child_fd), 'home_mount_id': original_mount, 'current_child_mount_id': current_mount, 'same_device_bind_mount': os.fstat(child_fd).st_dev == os.fstat(current_fd).st_dev})) os.close(current_fd) assert mount_events == 0 and total == 7 and oracle == 0 finally: subprocess.run(['umount', str(child)], check=True) os.close(child_fd) os.close(home_fd) os.close(watcher) ```
Author
Owner

Finding: admission can use a stale total even with counted_gen equal to dirty_gen. With a cached four-byte Home and a ten-byte quota, an external write grew its file to 100 bytes. While its native notification was queued, both generations remained 1. The specified freshness condition did not request a recount and admitted another byte. The native queue contained a modification event, so this does not depend on an event being lost. Admission needs the same synchronous event fence before checking freshness, including when no recount would otherwise run.

Output:

{"counted_gen": 1, "dirty_gen": 1, "would_recount": false, "cached_total": 4, "actual_total": 100, "quota": 10, "upload": 1, "admitted": true, "queued_notification_bytes": 32}

Reproduction source follows.

import ctypes
import json
import os
import tempfile
from pathlib import Path

libc = ctypes.CDLL(None, use_errno=True)
libc.inotify_init1.argtypes = [ctypes.c_int]
libc.inotify_add_watch.argtypes = [ctypes.c_int, ctypes.c_char_p, ctypes.c_uint32]
with tempfile.TemporaryDirectory(dir=Path(__file__).resolve().parent) as directory:
    home = Path(directory)
    file = home / 'note'
    file.write_bytes(b'1234')
    fd = libc.inotify_init1(os.O_NONBLOCK | os.O_CLOEXEC)
    assert fd >= 0
    assert libc.inotify_add_watch(fd, os.fsencode(home), 2) >= 0
    total = 4
    counted_gen = dirty_gen = 1
    limit, upload = 10, 1
    file.write_bytes(b'x' * 100)
    # The native event is queued, but a delayed callback has not run.
    stale_condition = counted_gen < dirty_gen
    admitted = not stale_condition and total + upload <= limit
    queued = len(os.read(fd, 65536))
    print(json.dumps({'counted_gen': counted_gen, 'dirty_gen': dirty_gen, 'would_recount': stale_condition, 'cached_total': total, 'actual_total': file.stat().st_size, 'quota': limit, 'upload': upload, 'admitted': admitted, 'queued_notification_bytes': queued}))
    assert admitted and file.stat().st_size + upload > limit and queued > 0
    os.close(fd)

Finding: admission can use a stale total even with counted_gen equal to dirty_gen. With a cached four-byte Home and a ten-byte quota, an external write grew its file to 100 bytes. While its native notification was queued, both generations remained 1. The specified freshness condition did not request a recount and admitted another byte. The native queue contained a modification event, so this does not depend on an event being lost. Admission needs the same synchronous event fence before checking freshness, including when no recount would otherwise run. Output: ```text {"counted_gen": 1, "dirty_gen": 1, "would_recount": false, "cached_total": 4, "actual_total": 100, "quota": 10, "upload": 1, "admitted": true, "queued_notification_bytes": 32} ``` Reproduction source follows. ```python import ctypes import json import os import tempfile from pathlib import Path libc = ctypes.CDLL(None, use_errno=True) libc.inotify_init1.argtypes = [ctypes.c_int] libc.inotify_add_watch.argtypes = [ctypes.c_int, ctypes.c_char_p, ctypes.c_uint32] with tempfile.TemporaryDirectory(dir=Path(__file__).resolve().parent) as directory: home = Path(directory) file = home / 'note' file.write_bytes(b'1234') fd = libc.inotify_init1(os.O_NONBLOCK | os.O_CLOEXEC) assert fd >= 0 assert libc.inotify_add_watch(fd, os.fsencode(home), 2) >= 0 total = 4 counted_gen = dirty_gen = 1 limit, upload = 10, 1 file.write_bytes(b'x' * 100) # The native event is queued, but a delayed callback has not run. stale_condition = counted_gen < dirty_gen admitted = not stale_condition and total + upload <= limit queued = len(os.read(fd, 65536)) print(json.dumps({'counted_gen': counted_gen, 'dirty_gen': dirty_gen, 'would_recount': stale_condition, 'cached_total': total, 'actual_total': file.stat().st_size, 'quota': limit, 'upload': upload, 'admitted': admitted, 'queued_notification_bytes': queued})) assert admitted and file.stat().st_size + upload > limit and queued > 0 os.close(fd) ```
Author
Owner

Blocked finish for this unattended job. The three executable counterexamples above show that the specified acceptance and admission rules do not satisfy the required outside-byte, mount, and no-stale-admission assertions. I have not replaced safe containment validation with a rule demonstrated to accept invalid counts. The needed refinement is a synchronous native event fence at admission and recount acceptance, plus mount-namespace change detection (or retaining path validation for this case). Sleeping to allow callbacks to catch up is not a correctness bound.

Branch: perf/quota-simple. Base and current head: a6b1fa14d2. Fetched origin/perf/idle-honest-2 before inspection. Product diff is empty and the worktree is clean. No tests were removed. usage* line count before: 5,987; after: 5,987. Reproduction source and exact output are retained in issue comments, and the temporary local scripts were removed.

Gate commands were not run, so there is no gate output to quote. fmt --check: NOT RUN. clippy -D warnings: NOT RUN. cargo test -j3 -p calternal-fsio: NOT RUN. 50,000-case property test: NOT RUN. Full workspace tests and #757 rerun: NOT RUN. Recount timing and strace measurements: NOT RUN because no replacement was implemented. These are uncompleted gates, not passes.

No commit, push, draft PR, merge, or deploy was made. A draft replacement PR would have no changes to review. Evidence and this blocked status have been posted on both #754 and #753. The requested redesign remains unfinished.

Blocked finish for this unattended job. The three executable counterexamples above show that the specified acceptance and admission rules do not satisfy the required outside-byte, mount, and no-stale-admission assertions. I have not replaced safe containment validation with a rule demonstrated to accept invalid counts. The needed refinement is a synchronous native event fence at admission and recount acceptance, plus mount-namespace change detection (or retaining path validation for this case). Sleeping to allow callbacks to catch up is not a correctness bound. Branch: perf/quota-simple. Base and current head: a6b1fa14d21944b25fa1538615501f414ae9ddbf. Fetched origin/perf/idle-honest-2 before inspection. Product diff is empty and the worktree is clean. No tests were removed. usage* line count before: 5,987; after: 5,987. Reproduction source and exact output are retained in issue comments, and the temporary local scripts were removed. Gate commands were not run, so there is no gate output to quote. fmt --check: NOT RUN. clippy -D warnings: NOT RUN. cargo test -j3 -p calternal-fsio: NOT RUN. 50,000-case property test: NOT RUN. Full workspace tests and #757 rerun: NOT RUN. Recount timing and strace measurements: NOT RUN because no replacement was implemented. These are uncompleted gates, not passes. No commit, push, draft PR, merge, or deploy was made. A draft replacement PR would have no changes to review. Evidence and this blocked status have been posted on both #754 and #753. The requested redesign remains unfinished.
Author
Owner

Starting the continuation on perf/quota-simple at bb36381dd1 (base from the previous job). I will commit docs/plans/0754-quota.md before more code, cover the review findings through 754g and comment 69219, then run the required gates. No merge or deployment.

Starting the continuation on perf/quota-simple at bb36381dd14878c3bdafba1794f4ef89eb0f07a8 (base from the previous job). I will commit docs/plans/0754-quota.md before more code, cover the review findings through 754g and comment 69219, then run the required gates. No merge or deployment.
Author
Owner

Gate output verbatim for 798f1bbe91; fmt; part 1/1; exit 0.

Command: cargo fmt --all -- --check

Gate output verbatim for 798f1bbe917335a46eec3b1121e675a8b2f525dc; fmt; part 1/1; exit 0. Command: `cargo fmt --all -- --check` ```text ```
Author
Owner

Gate output verbatim for 798f1bbe91; clippy; part 1/1; exit 0.

Command: cargo clippy -j3 --workspace --all-targets --locked -- -D warnings

    Checking calternal-fsio v0.1.0 (/home/agent/wt/quota-simple/crates/fsio)
    Checking calternal-server v0.1.0 (/home/agent/wt/quota-simple/crates/server)
    Checking calternal-notes v0.1.0 (/home/agent/wt/quota-simple/crates/notes)
    Checking calternal-attachments v0.1.0 (/home/agent/wt/quota-simple/crates/attachments)
    Checking calternal-backdrops v0.1.0 (/home/agent/wt/quota-simple/crates/backdrops)
    Checking calternal-auth v0.1.0 (/home/agent/wt/quota-simple/crates/auth)
    Checking calternal-migrate-v0 v0.1.0 (/home/agent/wt/quota-simple/crates/migrate-v0)
    Checking calternal-prefs v0.1.0 (/home/agent/wt/quota-simple/crates/prefs)
    Checking calternal-tasks v0.1.0 (/home/agent/wt/quota-simple/crates/tasks)
    Checking calternal-contacts-actions v0.1.0 (/home/agent/wt/quota-simple/crates/contacts-actions)
    Checking calternal-daily v0.1.0 (/home/agent/wt/quota-simple/crates/daily)
    Checking calternal-perf v0.1.0 (/home/agent/wt/quota-simple/crates/perf)
    Checking calternal v0.1.0 (/home/agent/wt/quota-simple/crates/calternal)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.07s
Gate output verbatim for 798f1bbe917335a46eec3b1121e675a8b2f525dc; clippy; part 1/1; exit 0. Command: `cargo clippy -j3 --workspace --all-targets --locked -- -D warnings` ```text Checking calternal-fsio v0.1.0 (/home/agent/wt/quota-simple/crates/fsio) Checking calternal-server v0.1.0 (/home/agent/wt/quota-simple/crates/server) Checking calternal-notes v0.1.0 (/home/agent/wt/quota-simple/crates/notes) Checking calternal-attachments v0.1.0 (/home/agent/wt/quota-simple/crates/attachments) Checking calternal-backdrops v0.1.0 (/home/agent/wt/quota-simple/crates/backdrops) Checking calternal-auth v0.1.0 (/home/agent/wt/quota-simple/crates/auth) Checking calternal-migrate-v0 v0.1.0 (/home/agent/wt/quota-simple/crates/migrate-v0) Checking calternal-prefs v0.1.0 (/home/agent/wt/quota-simple/crates/prefs) Checking calternal-tasks v0.1.0 (/home/agent/wt/quota-simple/crates/tasks) Checking calternal-contacts-actions v0.1.0 (/home/agent/wt/quota-simple/crates/contacts-actions) Checking calternal-daily v0.1.0 (/home/agent/wt/quota-simple/crates/daily) Checking calternal-perf v0.1.0 (/home/agent/wt/quota-simple/crates/perf) Checking calternal v0.1.0 (/home/agent/wt/quota-simple/crates/calternal) Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.07s ```
Author
Owner

Gate output verbatim for 798f1bbe91; fsio; part 1/1; exit 0.

Command: cargo test -j3 -p calternal-fsio

   Compiling calternal-fsio v0.1.0 (/home/agent/wt/quota-simple/crates/fsio)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 1.09s
     Running unittests src/lib.rs (target/debug/deps/calternal_fsio-f5b3003cd6e6d070)

running 107 tests
test swap::create_tests::create_preserves_outside_file_appearing_after_absence_check ... ok
test beneath::tests::walking_without_openat2_refuses_symlinks_too ... ok
test beneath::tests::paths_that_climb_out_are_refused ... ok
test beneath::tests::temp_files_persist_without_replacing_and_vanish_when_dropped ... ok
test swap::create_tests::unsupported_exchange_never_replaces_an_existing_file ... ok
test tests::atomic_write_replaces_and_leaves_no_temp_files ... ok
test tests::case_only_collision_rolls_back_or_keeps_the_staged_original ... ok
test tests::case_only_rename_preserves_a_different_destination ... ok
test tests::case_only_rename_works_and_other_clashes_are_refused ... ok
test tests::delta_rename_must_preserve_file_arriving_after_absence_check ... ok
test tests::a_published_directory_retains_ownership_when_a_parent_flush_fails ... ok
test tests::dropping_data_lock_releases_it_even_with_an_inherited_file_handle ... ok
test tests::directory_publication_rechecks_changed_inheritance_policy ... ok
test tests::failed_write_keeps_the_old_file ... ok
test tests::many_files_are_replaced_whole ... ok
test tests::many_new_files_never_replace_anything ... ok
test tests::named_bulk_staging_is_whole_exclusive_and_leaves_no_temporary_name ... ok
test tests::names_fold_case_and_unicode_form ... ok
test tests::only_one_process_owns_a_data_folder ... ok
test tests::prepared_writes_land_only_when_placed ... ok
test tests::a_private_directory_is_invisible_until_exclusive_publication ... ok
test tests::private_directory_publication_preserves_a_destination_that_arrives ... ok
test tests::rename_preserves_a_dangling_destination_symlink ... ok
test tests::staged_bulk_keeps_the_destination_default_acl ... ok
test tests::unique_names_skip_case_and_form_clashes ... ok
test tests::staged_bulk_preserves_occupied_files_and_falls_back_when_staging_is_missing ... ok
test tests::write_unless_changed_keeps_someone_elses_version ... ok
test usage::independent_review::independent_crash_child ... ignored, helper process for the controlled SIGKILL test
test tests::parallel_bulk_preserves_result_slots_and_observes_the_final_sync ... ok
test tests::big_writes_arrive_whole ... ok
test usage::independent_review::independent_external_edits_and_startup ... ok
test usage::independent_review::independent_folder_and_file_moves ... ok
test usage::independent_review::independent_non_utf8_filename_on_startup ... ok
test usage::independent_review::independent_kill_between_observation_and_counter_publish ... ok
test usage::independent_review::independent_unreadable_regular_file_on_startup ... ok
test usage::lifecycle_tests::app_publication_adds_known_bytes_without_authorizing_a_provisional_total ... ok
test usage::lifecycle_tests::failed_admission_fence_reports_coverage_and_recovers ... ok
test usage::lifecycle_tests::failed_home_keeps_a_retry_without_new_events_and_healthy_home_stays_clean ... ok
cp: failed to clone '/tmp/quota-independent-2004085-6/users/b/copy' from '/tmp/quota-independent-2004085-6/users/a/sparse': Operation not supported
test usage::independent_review::independent_sparse_large_zero_and_symlinks ... ok
test usage::lifecycle_tests::moved_users_discovery_clears_known_homes_without_a_replacement_root ... ok
test usage::lifecycle_tests::only_homes_stale_beyond_sixty_seconds_report_staleness ... ok
test usage::lifecycle_tests::restored_inode_coverage_turns_fallback_off ... ok
test usage::lifecycle_tests::review_754g_failure_boundaries_keep_exact_health_without_path_retry_records ... ok
test usage::lifecycle_tests::unreadable_home_reports_failure_and_keeps_healthy_home_total ... ok
test usage::lifecycle_tests::unreadable_users_discovery_is_reported_before_any_home_is_known ... ok
test usage::independent_review::independent_hardlink_lifecycle ... ok
test usage::independent_review::independent_concurrent_app_and_outside_replacements ... ok
test usage::regressions::existing_directory_moves_trash_restore_delete_match_walk ... ok
test usage::regressions::hard_link_in_place_change_must_match_walk ... ok
test usage::lifecycle_tests::large_folders_stream_and_admission_only_visits_its_home ... ok
test usage::regressions::stopped_server_changes_are_recounted ... ok
test usage::regressions::native_publish_then_outside_move_must_match_walk ... ok
test usage::review_754b::health_is_retained_without_io_and_cleared_by_a_successful_full_scan ... ok
test usage::review_754b::raw_listing_and_quota_distinguish_two_invalid_names_and_their_display_name ... ok
test usage::review_754b::symlinks_and_special_entries_do_not_charge_or_pollute_health ... ok
test usage::review_754b::unreadable_sparse_regular_file_is_measured_without_read_access ... ok
test usage::review_754c::review_754c_ordinary_edits_during_recounts_do_not_poison_health ... ok
test usage::review_754e::review_754e_home_renamed_away_then_recreated_refreshes_current_home ... ok
test usage::review_754e::review_754e_home_replaced_between_walk_and_publish_is_retried ... ok
test usage::regressions::hard_links_created_after_startup_and_alias_replacement_converge ... ok
test usage::regressions::write_via_hard_link_outside_watch_must_match_walk ... ok
test usage::review_containment::opened_parent_moved_outside_home_must_not_be_walked ... ok
test usage::review_containment::repeated_users_replacement_exhausts_three_attempts_without_charging ... ok
test usage::review_containment::review_754c_deletion_after_last_stat_discards_snapshot_and_recount_succeeds ... ok
test usage::review_containment::review_754c_rename_at_each_depth_rejects_then_rescans_and_accepts_return ... ok
test usage::review_containment::review_754c_replaced_users_root_cannot_charge_new_outside_files ... ok
test usage::review_containment::review_754c_swapping_folders_invalidates_both_open_descriptors ... ok
test usage::review_containment::review_754d_refresh_must_not_follow_a_replaced_parent_symlink ... ok
test usage::review_containment::review_754d_returned_directory_charges_bytes_that_returned_with_it ... ok
test usage::review_754e::review_754e_ten_thousand_files_raw_names_sparse_and_hardlinks ... ok
test usage::review_containment::review_754d_reused_directory_inode_must_not_certify_a_replacement ... ok
test usage::review_containment::review_754g_admission_rejects_a_newer_failure_during_its_walk ... ok
test usage::review_containment::review_754g_coalesced_retry_visits_no_healthy_home ... ok
test usage::review_containment::review_754g_home_deleted_inside_running_scheduled_retry ... ok
test usage::review_containment::review_754g_mixed_batches_keep_every_failure_in_all_positions ... ok
test usage::simple_tests::admission_flushes_queued_events_and_outside_hardlink_writes ... ok
test usage::simple_tests::delayed_native_events_cannot_certify_a_detached_directory ... ok
test usage::simple_tests::home_replaced_before_publication_is_retried ... ok
test usage::simple_tests::raw_names_sparse_hardlinks_symlinks_and_unreadable_files_are_charged_by_metadata ... ok
test usage::simple_tests::registration_swap_cannot_cache_another_inodes_watch ... ok
test usage::regressions::removing_or_moving_the_watched_alias_retains_external_write_coverage ... ok
test usage::simple_tests::startup_is_async_and_clean_homes_have_no_health_noise ... ok

running 1 test
test usage::tests::a_change_that_becomes_unmeasurable_during_recount_reports_failure ... ok
test usage::tests::a_move_target_already_seen_by_a_recount_is_not_charged_twice ... ok
test usage::tests::a_separate_state_root_counts_what_plugins_report ... ok
test usage::tests::application_writes_through_directory_aliases_charge_the_real_file_once ... ok
test usage::review_containment::review_754f_admission_during_long_reconciliation_refuses_stale_totals ... ok
test usage::tests::background_does_not_count_symlink_targets ... ok
test usage::tests::background_accounts_for_outside_edits_and_directory_moves ... ok
test usage::tests::bulk_writes_and_published_folders_count_without_a_recount ... ok
test usage::tests::incomplete_measurements_remain_visible_until_a_full_recount ... ok
test usage::tests::raw_names_survive_startup_and_scoped_repair ... ok
test usage::tests::reads_do_not_wait_for_the_counter_writer ... ok
test usage::tests::recount_does_not_charge_directory_aliases_twice ... ok
test usage::tests::recount_preserves_concurrent_writes_and_deletes ... ok
test usage::tests::stale_metadata_cannot_replace_a_newer_update ... ok
test usage::tests::unreadable_subtree_is_a_retained_failure_not_zero_usage ... ok
test usage::tests::writes_moves_trash_and_purge_update_without_a_recount ... ok
test usage::watch::platform::tests::deleted_home_releases_watch_index_capacity ... ok
test usage::tests::background_notices_a_created_and_replaced_users_tree ... ok
test usage::watch::platform::tests::listener_stops_under_continuous_outside_hardlink_writes ... ok
test usage::watch::platform::tests::incomplete_counts_prune_detached_inode_watches ... ok
test usage::watch::platform::tests::retired_directory_watch_is_reinstalled_before_ignored_delivery ... ok
test usage::watch::platform::tests::watcher_failure_only_reports_provisional_bytes_and_polling_health ... ok
test usage::watch::platform::tests::overflow_rebuilds_every_home_before_admission ... ok
quota whole-Home property: 2000 seeded cases passed
test usage::simple_tests::seeded_whole_home_property ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 106 filtered out; finished in 5.63s

test usage::simple_tests::seeded_whole_home_property ... ok
test usage::review_754e::review_754e_native_events_follow_replaced_homes_without_stale_fd_charges ... ok

test result: ok. 106 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 23.20s

     Running tests/review_754d_mount.rs (target/debug/deps/review_754d_mount-479ad74efc9a3a8f)

running 2 tests

running 1 test

running 1 test
test review_754d_bind_mount_is_currently_in_scope ... test review_754d_tmpfs_mount_is_currently_in_scope ... ok
ok

test result: ok
test result: . 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered outok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.01s

; finished in 0.01s

test review_754d_tmpfs_mount_is_currently_in_scope ... ok
test review_754d_bind_mount_is_currently_in_scope ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running tests/review_754e_mount.rs (target/debug/deps/review_754e_mount-ece096ec1f9fe1d3)

running 1 test

running 1 test
mount discovery: incremental=0, fresh=0, Health=Some(StorageFailure { unmeasured_entries: 1, detail: "Storage measurement: 0 Home discovery/coverage failures (retry every 60 seconds; check users folder permissions), 0 unmeasured entries (check Home permissions), 0 Homes stale beyond 60 seconds, 0 Homes polling every 60 seconds; not counted: mount point (1). Uploads wait for a fresh count." })
test review_754e_incremental_mount_discovery_matches_a_fresh_recount ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

test review_754e_incremental_mount_discovery_matches_a_fresh_recount ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s

   Doc-tests calternal_fsio

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

Gate output verbatim for 798f1bbe917335a46eec3b1121e675a8b2f525dc; fsio; part 1/1; exit 0. Command: `cargo test -j3 -p calternal-fsio` ```text Compiling calternal-fsio v0.1.0 (/home/agent/wt/quota-simple/crates/fsio) Finished `test` profile [unoptimized + debuginfo] target(s) in 1.09s Running unittests src/lib.rs (target/debug/deps/calternal_fsio-f5b3003cd6e6d070) running 107 tests test swap::create_tests::create_preserves_outside_file_appearing_after_absence_check ... ok test beneath::tests::walking_without_openat2_refuses_symlinks_too ... ok test beneath::tests::paths_that_climb_out_are_refused ... ok test beneath::tests::temp_files_persist_without_replacing_and_vanish_when_dropped ... ok test swap::create_tests::unsupported_exchange_never_replaces_an_existing_file ... ok test tests::atomic_write_replaces_and_leaves_no_temp_files ... ok test tests::case_only_collision_rolls_back_or_keeps_the_staged_original ... ok test tests::case_only_rename_preserves_a_different_destination ... ok test tests::case_only_rename_works_and_other_clashes_are_refused ... ok test tests::delta_rename_must_preserve_file_arriving_after_absence_check ... ok test tests::a_published_directory_retains_ownership_when_a_parent_flush_fails ... ok test tests::dropping_data_lock_releases_it_even_with_an_inherited_file_handle ... ok test tests::directory_publication_rechecks_changed_inheritance_policy ... ok test tests::failed_write_keeps_the_old_file ... ok test tests::many_files_are_replaced_whole ... ok test tests::many_new_files_never_replace_anything ... ok test tests::named_bulk_staging_is_whole_exclusive_and_leaves_no_temporary_name ... ok test tests::names_fold_case_and_unicode_form ... ok test tests::only_one_process_owns_a_data_folder ... ok test tests::prepared_writes_land_only_when_placed ... ok test tests::a_private_directory_is_invisible_until_exclusive_publication ... ok test tests::private_directory_publication_preserves_a_destination_that_arrives ... ok test tests::rename_preserves_a_dangling_destination_symlink ... ok test tests::staged_bulk_keeps_the_destination_default_acl ... ok test tests::unique_names_skip_case_and_form_clashes ... ok test tests::staged_bulk_preserves_occupied_files_and_falls_back_when_staging_is_missing ... ok test tests::write_unless_changed_keeps_someone_elses_version ... ok test usage::independent_review::independent_crash_child ... ignored, helper process for the controlled SIGKILL test test tests::parallel_bulk_preserves_result_slots_and_observes_the_final_sync ... ok test tests::big_writes_arrive_whole ... ok test usage::independent_review::independent_external_edits_and_startup ... ok test usage::independent_review::independent_folder_and_file_moves ... ok test usage::independent_review::independent_non_utf8_filename_on_startup ... ok test usage::independent_review::independent_kill_between_observation_and_counter_publish ... ok test usage::independent_review::independent_unreadable_regular_file_on_startup ... ok test usage::lifecycle_tests::app_publication_adds_known_bytes_without_authorizing_a_provisional_total ... ok test usage::lifecycle_tests::failed_admission_fence_reports_coverage_and_recovers ... ok test usage::lifecycle_tests::failed_home_keeps_a_retry_without_new_events_and_healthy_home_stays_clean ... ok cp: failed to clone '/tmp/quota-independent-2004085-6/users/b/copy' from '/tmp/quota-independent-2004085-6/users/a/sparse': Operation not supported test usage::independent_review::independent_sparse_large_zero_and_symlinks ... ok test usage::lifecycle_tests::moved_users_discovery_clears_known_homes_without_a_replacement_root ... ok test usage::lifecycle_tests::only_homes_stale_beyond_sixty_seconds_report_staleness ... ok test usage::lifecycle_tests::restored_inode_coverage_turns_fallback_off ... ok test usage::lifecycle_tests::review_754g_failure_boundaries_keep_exact_health_without_path_retry_records ... ok test usage::lifecycle_tests::unreadable_home_reports_failure_and_keeps_healthy_home_total ... ok test usage::lifecycle_tests::unreadable_users_discovery_is_reported_before_any_home_is_known ... ok test usage::independent_review::independent_hardlink_lifecycle ... ok test usage::independent_review::independent_concurrent_app_and_outside_replacements ... ok test usage::regressions::existing_directory_moves_trash_restore_delete_match_walk ... ok test usage::regressions::hard_link_in_place_change_must_match_walk ... ok test usage::lifecycle_tests::large_folders_stream_and_admission_only_visits_its_home ... ok test usage::regressions::stopped_server_changes_are_recounted ... ok test usage::regressions::native_publish_then_outside_move_must_match_walk ... ok test usage::review_754b::health_is_retained_without_io_and_cleared_by_a_successful_full_scan ... ok test usage::review_754b::raw_listing_and_quota_distinguish_two_invalid_names_and_their_display_name ... ok test usage::review_754b::symlinks_and_special_entries_do_not_charge_or_pollute_health ... ok test usage::review_754b::unreadable_sparse_regular_file_is_measured_without_read_access ... ok test usage::review_754c::review_754c_ordinary_edits_during_recounts_do_not_poison_health ... ok test usage::review_754e::review_754e_home_renamed_away_then_recreated_refreshes_current_home ... ok test usage::review_754e::review_754e_home_replaced_between_walk_and_publish_is_retried ... ok test usage::regressions::hard_links_created_after_startup_and_alias_replacement_converge ... ok test usage::regressions::write_via_hard_link_outside_watch_must_match_walk ... ok test usage::review_containment::opened_parent_moved_outside_home_must_not_be_walked ... ok test usage::review_containment::repeated_users_replacement_exhausts_three_attempts_without_charging ... ok test usage::review_containment::review_754c_deletion_after_last_stat_discards_snapshot_and_recount_succeeds ... ok test usage::review_containment::review_754c_rename_at_each_depth_rejects_then_rescans_and_accepts_return ... ok test usage::review_containment::review_754c_replaced_users_root_cannot_charge_new_outside_files ... ok test usage::review_containment::review_754c_swapping_folders_invalidates_both_open_descriptors ... ok test usage::review_containment::review_754d_refresh_must_not_follow_a_replaced_parent_symlink ... ok test usage::review_containment::review_754d_returned_directory_charges_bytes_that_returned_with_it ... ok test usage::review_754e::review_754e_ten_thousand_files_raw_names_sparse_and_hardlinks ... ok test usage::review_containment::review_754d_reused_directory_inode_must_not_certify_a_replacement ... ok test usage::review_containment::review_754g_admission_rejects_a_newer_failure_during_its_walk ... ok test usage::review_containment::review_754g_coalesced_retry_visits_no_healthy_home ... ok test usage::review_containment::review_754g_home_deleted_inside_running_scheduled_retry ... ok test usage::review_containment::review_754g_mixed_batches_keep_every_failure_in_all_positions ... ok test usage::simple_tests::admission_flushes_queued_events_and_outside_hardlink_writes ... ok test usage::simple_tests::delayed_native_events_cannot_certify_a_detached_directory ... ok test usage::simple_tests::home_replaced_before_publication_is_retried ... ok test usage::simple_tests::raw_names_sparse_hardlinks_symlinks_and_unreadable_files_are_charged_by_metadata ... ok test usage::simple_tests::registration_swap_cannot_cache_another_inodes_watch ... ok test usage::regressions::removing_or_moving_the_watched_alias_retains_external_write_coverage ... ok test usage::simple_tests::startup_is_async_and_clean_homes_have_no_health_noise ... ok running 1 test test usage::tests::a_change_that_becomes_unmeasurable_during_recount_reports_failure ... ok test usage::tests::a_move_target_already_seen_by_a_recount_is_not_charged_twice ... ok test usage::tests::a_separate_state_root_counts_what_plugins_report ... ok test usage::tests::application_writes_through_directory_aliases_charge_the_real_file_once ... ok test usage::review_containment::review_754f_admission_during_long_reconciliation_refuses_stale_totals ... ok test usage::tests::background_does_not_count_symlink_targets ... ok test usage::tests::background_accounts_for_outside_edits_and_directory_moves ... ok test usage::tests::bulk_writes_and_published_folders_count_without_a_recount ... ok test usage::tests::incomplete_measurements_remain_visible_until_a_full_recount ... ok test usage::tests::raw_names_survive_startup_and_scoped_repair ... ok test usage::tests::reads_do_not_wait_for_the_counter_writer ... ok test usage::tests::recount_does_not_charge_directory_aliases_twice ... ok test usage::tests::recount_preserves_concurrent_writes_and_deletes ... ok test usage::tests::stale_metadata_cannot_replace_a_newer_update ... ok test usage::tests::unreadable_subtree_is_a_retained_failure_not_zero_usage ... ok test usage::tests::writes_moves_trash_and_purge_update_without_a_recount ... ok test usage::watch::platform::tests::deleted_home_releases_watch_index_capacity ... ok test usage::tests::background_notices_a_created_and_replaced_users_tree ... ok test usage::watch::platform::tests::listener_stops_under_continuous_outside_hardlink_writes ... ok test usage::watch::platform::tests::incomplete_counts_prune_detached_inode_watches ... ok test usage::watch::platform::tests::retired_directory_watch_is_reinstalled_before_ignored_delivery ... ok test usage::watch::platform::tests::watcher_failure_only_reports_provisional_bytes_and_polling_health ... ok test usage::watch::platform::tests::overflow_rebuilds_every_home_before_admission ... ok quota whole-Home property: 2000 seeded cases passed test usage::simple_tests::seeded_whole_home_property ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 106 filtered out; finished in 5.63s test usage::simple_tests::seeded_whole_home_property ... ok test usage::review_754e::review_754e_native_events_follow_replaced_homes_without_stale_fd_charges ... ok test result: ok. 106 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 23.20s Running tests/review_754d_mount.rs (target/debug/deps/review_754d_mount-479ad74efc9a3a8f) running 2 tests running 1 test running 1 test test review_754d_bind_mount_is_currently_in_scope ... test review_754d_tmpfs_mount_is_currently_in_scope ... ok ok test result: ok test result: . 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered outok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.01s ; finished in 0.01s test review_754d_tmpfs_mount_is_currently_in_scope ... ok test review_754d_bind_mount_is_currently_in_scope ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s Running tests/review_754e_mount.rs (target/debug/deps/review_754e_mount-ece096ec1f9fe1d3) running 1 test running 1 test mount discovery: incremental=0, fresh=0, Health=Some(StorageFailure { unmeasured_entries: 1, detail: "Storage measurement: 0 Home discovery/coverage failures (retry every 60 seconds; check users folder permissions), 0 unmeasured entries (check Home permissions), 0 Homes stale beyond 60 seconds, 0 Homes polling every 60 seconds; not counted: mount point (1). Uploads wait for a fresh count." }) test review_754e_incremental_mount_discovery_matches_a_fresh_recount ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s test review_754e_incremental_mount_discovery_matches_a_fresh_recount ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s Doc-tests calternal_fsio running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s ```
Author
Owner

Gate output verbatim for 798f1bbe91; property; part 1/1; exit 0.

Command: QUOTA_PROPERTY_CASES=50000 cargo test -j3 -p calternal-fsio -p calternal-auth --lib seeded_whole_home_property -- --nocapture

   Compiling calternal-fsio v0.1.0 (/home/agent/wt/quota-simple/crates/fsio)
   Compiling calternal-server v0.1.0 (/home/agent/wt/quota-simple/crates/server)
   Compiling calternal-backdrops v0.1.0 (/home/agent/wt/quota-simple/crates/backdrops)
   Compiling calternal-attachments v0.1.0 (/home/agent/wt/quota-simple/crates/attachments)
   Compiling calternal-auth v0.1.0 (/home/agent/wt/quota-simple/crates/auth)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 5.54s
     Running unittests src/lib.rs (target/debug/deps/calternal_auth-06659510e7e41e8c)

running 1 test
quota Auth admission property: 50000 seeded cases passed (23398 admitted, 26602 quota-refused)
test quota_tests::seeded_whole_home_property_admission_never_succeeds_over_quota ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 31 filtered out; finished in 49.67s

     Running unittests src/lib.rs (target/debug/deps/calternal_fsio-8cf656c3546222c6)

running 1 test

running 1 test
test usage::simple_tests::seeded_whole_home_property has been running for over 60 seconds
test usage::simple_tests::seeded_whole_home_property has been running for over 60 seconds
quota whole-Home property: 50000 seeded cases passed
test usage::simple_tests::seeded_whole_home_property ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 106 filtered out; finished in 126.93s

test usage::simple_tests::seeded_whole_home_property ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 106 filtered out; finished in 126.94s

Gate output verbatim for 798f1bbe917335a46eec3b1121e675a8b2f525dc; property; part 1/1; exit 0. Command: `QUOTA_PROPERTY_CASES=50000 cargo test -j3 -p calternal-fsio -p calternal-auth --lib seeded_whole_home_property -- --nocapture` ```text Compiling calternal-fsio v0.1.0 (/home/agent/wt/quota-simple/crates/fsio) Compiling calternal-server v0.1.0 (/home/agent/wt/quota-simple/crates/server) Compiling calternal-backdrops v0.1.0 (/home/agent/wt/quota-simple/crates/backdrops) Compiling calternal-attachments v0.1.0 (/home/agent/wt/quota-simple/crates/attachments) Compiling calternal-auth v0.1.0 (/home/agent/wt/quota-simple/crates/auth) Finished `test` profile [unoptimized + debuginfo] target(s) in 5.54s Running unittests src/lib.rs (target/debug/deps/calternal_auth-06659510e7e41e8c) running 1 test quota Auth admission property: 50000 seeded cases passed (23398 admitted, 26602 quota-refused) test quota_tests::seeded_whole_home_property_admission_never_succeeds_over_quota ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 31 filtered out; finished in 49.67s Running unittests src/lib.rs (target/debug/deps/calternal_fsio-8cf656c3546222c6) running 1 test running 1 test test usage::simple_tests::seeded_whole_home_property has been running for over 60 seconds test usage::simple_tests::seeded_whole_home_property has been running for over 60 seconds quota whole-Home property: 50000 seeded cases passed test usage::simple_tests::seeded_whole_home_property ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 106 filtered out; finished in 126.93s test usage::simple_tests::seeded_whole_home_property ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 106 filtered out; finished in 126.94s ```
Author
Owner

Gate output verbatim for 798f1bbe91; workspace; part 1/3; exit 0.

Command: cargo test -j3 --workspace --locked --no-fail-fast

   Compiling calternal-fsio v0.1.0 (/home/agent/wt/quota-simple/crates/fsio)
   Compiling calternal-server v0.1.0 (/home/agent/wt/quota-simple/crates/server)
   Compiling calternal-notes v0.1.0 (/home/agent/wt/quota-simple/crates/notes)
   Compiling calternal-attachments v0.1.0 (/home/agent/wt/quota-simple/crates/attachments)
   Compiling calternal-backdrops v0.1.0 (/home/agent/wt/quota-simple/crates/backdrops)
   Compiling calternal-auth v0.1.0 (/home/agent/wt/quota-simple/crates/auth)
   Compiling calternal-migrate-v0 v0.1.0 (/home/agent/wt/quota-simple/crates/migrate-v0)
   Compiling calternal-prefs v0.1.0 (/home/agent/wt/quota-simple/crates/prefs)
   Compiling calternal-tasks v0.1.0 (/home/agent/wt/quota-simple/crates/tasks)
   Compiling calternal-contacts-actions v0.1.0 (/home/agent/wt/quota-simple/crates/contacts-actions)
   Compiling calternal-daily v0.1.0 (/home/agent/wt/quota-simple/crates/daily)
   Compiling calternal-perf v0.1.0 (/home/agent/wt/quota-simple/crates/perf)
   Compiling calternal v0.1.0 (/home/agent/wt/quota-simple/crates/calternal)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 02s
     Running unittests src/main.rs (target/debug/deps/calternal-5b3cd447d2b20f1a)

running 32 tests
test admin::tests::a_stop_sent_before_subscribing_is_still_seen ... ok
test admin::tests::an_active_request_gets_a_graceful_shutdown_window ... ok
test args::tests::defaults_and_flags ... ok
test args::tests::dev_user_never_on_a_public_address ... ok
test args::tests::fix_commands ... ok
test args::tests::migrate_v0 ... ok
test args::tests::origin_defaults_to_the_local_port ... ok
test args::tests::setup_and_re_pair_are_explicit ... ok
test args::tests::state_defaults_to_resolved_data_and_flags_override_environment ... ok
test args::tests::user_create ... ok
test args::tests::user_recover ... ok
test args::tests::web_folder ... ok
test admin::tests::shutdown_stops_a_client_waiting_on_a_partial_request ... ok
test admin::tests::a_restart_waits_out_an_admin_request_longer_than_ten_seconds ... ok
test isolation::bob_cannot_reach_alices_attachments ... ok
test isolation::in_process_server_shutdown_releases_both_roots_200x_under_load ... ignored, stress gate; run explicitly during release validation
test isolation::people::backdrops_spend_the_same_counter_as_small_attachments ... ok
test isolation::contacts_and_tasks_in_one_home_keep_their_own_members ... ok
test isolation::bob_cannot_join_alices_note_room ... ok
test isolation::people::normal_token_failures_do_not_log_or_persist_plaintext ... ok
test isolation::people::duplicate_upload_at_quota_must_not_spend_bytes_twice ... ok
test isolation::bob_reaches_nothing_of_alices_through_any_action ... ok
test isolation::people_actions_hide_real_ids_from_members_other_users_and_anonymous_callers ... ok
test isolation::quota_refuses_large_and_small_uploads_while_notes_still_save ... ok
test isolation::renaming_a_task_retargets_task_and_contact_links_once ... ok
test isolation::split_storage_keeps_originals_and_databases_on_their_disks ... ok
test plugins::tests::contract_matches_the_server ... ok
test shutdown_io::tests::shutdown_bounds_response_writes_to_a_peer_that_stops_reading ... ok
test shutdown_io::tests::shutdown_finishes_an_idle_read_and_keeps_response_writes_open ... ok
test isolation::people::every_action_obeys_person_visibility ... ok
test isolation::randomized_home_shutdown_releases_both_roots ... ok
test isolation::people::real_upload_storm_notes_trash_restore_and_delete_usage ... ok

test result: ok. 31 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 2.31s

     Running tests/attachments_crash.rs (target/debug/deps/attachments_crash-0569b67a53884729)

running 2 tests
test kill_nine_mid_upload_leaves_nothing_half_written ... ok
test a_big_upload_streams_in_bounded_memory ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.01s

     Running tests/contacts_live.rs (target/debug/deps/contacts_live-af618544141ac448)

running 2 tests
test a_phone_renames_a_contact_while_someone_types_in_a_linking_note ... ok
test a_live_h1_collision_keeps_contact_and_incoming_link_identity ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.10s

     Running tests/fix_tz_live.rs (target/debug/deps/fix_tz_live-c1d7da7081c54109)

running 2 tests
test fix_without_a_running_server_says_so ... ok
test strip_tz_markers_on_a_live_home_with_a_client_typing ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s

     Running tests/notes_crash.rs (target/debug/deps/notes_crash-bd5bc7d203bf0127)

running 3 tests
test kill_nine_mid_append_on_a_long_note ... ok
test kill_nine_mid_tag_rename_renames_each_tag_once ... ok
test kill_nine_never_loses_or_doubles ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.61s

     Running tests/notes_crash_typing.rs (target/debug/deps/notes_crash_typing-d35c14e53c99c26a)

running 1 test
test kill_nine_while_people_type_loses_and_doubles_nothing ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.71s

     Running tests/notes_live.rs (target/debug/deps/notes_live-fd9144e03a5bf101)

running 2 tests
test joining_a_missing_note_fails_politely ... ok
test type_over_the_websocket_and_read_it_back ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s

     Running tests/prefs_live.rs (target/debug/deps/prefs_live-14537299f9d90948)

running 1 test
test preferences_are_saved_checked_and_kept ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

     Running tests/search_live.rs (target/debug/deps/search_live-f3bc532e6ffabf7a)

running 2 tests
test perf_live_empty_search_under_one_second ... ignored, live empty-search latency budget runs on the perf VM via perf/ordinary-latency-vm.sh
test notes_from_everywhere_are_found ... ok

test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.87s

     Running tests/startup.rs (target/debug/deps/startup-eca99cdca8c86191)

running 6 tests
test perf_startup_under_500ms ... ignored, startup latency budget runs on the perf VM via perf/ordinary-latency-vm.sh
test refuses_dev_user_on_a_public_address ... ok
test refuses_plain_http_on_a_public_origin ... ok
test answers_after_launch ... ok
test recover_only_knows_real_people ... ok
test a_new_server_prints_a_setup_token ... ok

test result: ok. 5 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.04s

     Running tests/storage_startup.rs (target/debug/deps/storage_startup-385d9407724b0044)

running 11 tests
test a_lock_held_past_the_longest_grace_still_fails_startup ... ok
test create_refuses_unpaired_notes_or_databases_before_creating_other_root ... ok
test both_missing_markers_with_existing_split_data_require_confirmed_re_pair ... ok
test missing_home_refuses_without_creating_directory_or_lock ... ok
test original_storage_startup_scenario_repeats_100x_under_load ... ignored, stress gate; run explicitly during release validation
test legacy_history_read_only_and_invalid_state_are_refused ... ok
test missing_state_never_recreates_databases_even_with_create ... ok
test single_root_upgrade_backup_split_cache_delete_and_rollback ... ok
test startup_waits_for_a_previous_server_to_release_both_roots ... ok
test roots_must_keep_their_persistent_partner_and_admin_must_confirm ... ok
test both_roots_remain_exclusively_locked ... ok

test result: ok. 10 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 10.10s

     Running unittests src/lib.rs (target/debug/deps/calternal_attachments-913c724198d7558a)

running 22 tests
test serve::tests::dispositions_quote_safely ... ok
test serve::tests::only_plain_visible_paths_are_served ... ok
test serve::tests::ranges ... ok
test tests::http::a_connection_that_breaks_off_leaves_nothing ... ok
test tests::http::a_retry_with_the_same_key_never_makes_a_second_copy ... ok
test tests::http::check_finds_only_your_own_files ... ok
test tests::http::an_upload_lands_in_its_dated_folder_and_is_served_back ... ok
test tests::http::review_754b_utf8_case_and_normalization_collision_behavior_is_preserved ... ok
test tests::http::review_754b_upload_preserves_raw_names_and_real_replacement_character_collisions ... ok
test tests::http::paths_that_climb_out_of_the_home_are_not_found ... ok
test tests::http::the_sweep_removes_what_a_crash_left_and_spares_live_uploads ... ok
test tests::http::names_can_not_steer_where_a_file_goes ... ok
test tests::http::uploads_need_a_session_our_page_and_a_key ... ok
test tests::sniffing::days_are_strict ... ok
test tests::sniffing::invalid_utf8_names_do_not_claim_replacement_character_names ... ok
test tests::sniffing::names_are_kept_but_made_safe ... ok
test tests::sniffing::pictures_and_videos_go_to_photos ... ok
test tests::sniffing::text_types_come_from_the_extension_and_html_never_runs ... ok
test tests::http::the_same_file_again_says_already_uploaded_and_keeps_one_copy ... ok
test tests::sniffing::the_name_never_decides_a_binary_type ... ok
test tests::http::the_limit_holds_while_streaming_without_a_length ... ok
test tests::http::unsafe_types_are_downloads_with_a_strict_policy ... ok

test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s

     Running unittests src/lib.rs (target/debug/deps/calternal_auth-7816ba4a2d36337e)

running 32 tests
test config::tests::origins ... ok
test db::tests::a_version_1_database_gets_passkey_names ... ok
test db::tests::existing_database_keeps_people_credentials_and_sessions ... ok
test http::cookie_tests::session_cookie_is_host_only_and_secure ... ok
test ceremony::tests::full_pool_refuses_foreign_source_without_discarding_live_prompt ... ok
test ceremony::tests::anonymous_pool_stays_bounded_and_evicts_oldest ... ok
test invite_key::tests::lookup_uses_a_separate_derived_key_and_depends_on_the_server_key ... ok
test invite_redeem::tests::expiry_and_clock_rollback_use_the_same_validation_path ... ok
test invite_redeem::tests::invalid_invite_classes_perform_one_lookup_and_one_secret_comparison ... ok
test invite_redeem::tests::invalid_invites_do_not_reveal_name_conflicts ... ok
test limit::reliability_tests::backoff_expires_is_capped_and_refusals_do_not_extend_it ... ok
test limit::reliability_tests::buckets_are_independent_and_bounded ... ok
test db::tests::opens_twice_and_keeps_schema ... ok
test limit::reliability_tests::full_map_evicts_least_recent_without_refusing_new_sources ... ok
test limit::reliability_tests::target_capacity_preserves_live_budgets_and_evicts_only_oldest_expired ... ok
test invite_key::tests::key_round_trips_but_modified_ciphertext_and_another_id_fail ... ok
test passkeys::tests::ids_round_trip ... ok
test passkeys::tests::names_are_trimmed_short_and_never_empty ... ok
test http::proxy_tests::forwarding_stops_at_first_untrusted_hop_and_rejects_malformed_chains ... ok
test quota_tests::admission_deadline_includes_database_queue ... ok
test quota_tests::admission_deadline_includes_plugin_provider ... ok
test session::tests::names_are_cleaned ... ok
test setup::tests::names ... ok
test setup::tests::names_reject_invisible_and_normalize_nfc ... ok
test setup::tests::recover_needs_a_known_person ... ok
test setup::tests::recovery_requires_exact_username_or_uuid_never_display_name ... ok
test setup::tests::usernames ... ok
test token::tests::junk_is_not_a_token ... ok
test token::tests::setup_tokens_round_trip_through_pasting ... ok
test setup::tests::cli_creation_refuses_admin_name_confusables ... ok
test quota_tests::seeded_whole_home_property_admission_never_succeeds_over_quota ... ok
test limit::reliability_tests::source_churn_cannot_reset_target_budget ... ok

test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.18s

     Running tests/abuse.rs (target/debug/deps/abuse-0ef72da959c16a7d)

running 12 tests
test bad_json_and_unknown_fields_are_refused ... ok
test forged_sessions_get_nowhere ... ok
test duplicate_session_cookies_never_choose_an_identity ... ok
test anonymous_prompt_flood_preserves_login_setup_and_add ... ok
test login_source_limit_does_not_block_another_client ... ok
test non_json_requests_are_refused ... ok
test junk_setup_tokens_are_refused_then_rate_limited ... ok
test nothing_about_the_server_leaks_before_sign_in ... ok
test one_source_cannot_lock_out_another_and_cannot_spoof_forwarding ... ok
test other_sites_cannot_act_for_you ... ok
test oversized_bodies_are_refused ... ok
test garbage_credentials_never_crash ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s

     Running tests/create.rs (target/debug/deps/create-136c8b97d8dd4fc2)

running 6 tests
test an_expired_enrolment_token_is_refused ... ok
test an_earlier_first_owner_token_stops_working ... ok
test nothing_about_the_person_leaks_before_sign_in ... ok
test names_must_be_usable_and_unique ... ok
test an_enrolment_token_works_exactly_once_under_a_storm ... ok
test a_created_person_enrolls_their_first_passkey_and_is_the_same_person ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s

     Running tests/groups.rs (target/debug/deps/groups-a6c9f5ffc55c40a0)

running 1 test
test shared_groups_control_visibility_and_managers_only_edit_local_members ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s

     Running tests/host_cookies.rs (target/debug/deps/host_cookies-f8d76016656294b5)

running 3 tests
test old_name_is_ignored_and_cleared_once_without_touching_host_session ... ok
test duplicate_host_headers_and_stale_requests_never_clear_new_session ... ok
test upgrading_schema_six_removes_cookie_state_and_keeps_passkeys ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s

     Running tests/invites.rs (target/debug/deps/invites-c3cd5da7ad24a6b6)

running 8 tests
test invite_admin_names_cannot_be_impersonated_and_failure_preserves_invite ... ok
test invite_finish_rechecks_admin_names_after_role_changes ... ok
test invite_redemption_joins_its_groups_and_other_inviters_cannot_copy_it ... ok
test invite_can_be_copied_after_restart_and_only_one_racing_passkey_wins ... ok
test losing_the_key_does_not_replace_it_and_invite_secrets_never_enter_action_history ... ok
test legacy_invite_indexes_upgrade_atomically_and_keep_copy_and_redemption ... ok
test wrong_expired_used_and_revoked_invites_give_one_answer ... ok
test invite_redemption_reaches_a_visible_admin_but_not_an_unrelated_member ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s

     Running tests/isolation.rs (target/debug/deps/isolation-1492af018abfd35a)

running 3 tests
test a_cookie_sent_from_another_sites_page_does_not_count ... ok
test devices_and_passkeys_of_another_person_are_not_found ... ok
test another_persons_passkey_prompt_cannot_be_used_or_cancelled ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

     Running tests/login.rs (target/debug/deps/login-f4559d56997c2b09)

running 11 tests
test foreign_status_cannot_sign_the_browser_out ... ok
test bearer_tokens_work_like_cookies ... ok
test a_sign_in_answer_cannot_be_replayed ... ok
test revoking_another_device_signs_it_out ... ok
test sign_in_with_a_passkey_creates_a_new_installation ... ok
test an_unknown_passkey_is_refused ... ok
test logout_revokes_the_installation_and_rejects_live_cookies ... ok
test sign_out_ends_the_session_immediately ... ok
test signing_out_shows_up_live_on_another_device ... ok
test signing_in_shows_up_live_on_another_device ... ok
test sessions_expire_when_unused ... ok

test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s

     Running tests/migration.rs (target/debug/deps/migration-1445ca8dc03500f7)

running 1 test
test schema_two_copy_keeps_real_credentials_sessions_and_recovery ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s

     Running tests/passkeys.rs (target/debug/deps/passkeys-c4cab13fe63dc47f)

running 7 tests
test an_empty_name_is_refused_and_a_long_one_is_cut ... ok
test adding_needs_a_sign_in_and_an_add_prompt_works_once ... ok
test a_removed_passkey_that_is_gone_or_unknown_is_not_found ... ok
test add_rename_and_remove_each_leave_a_journal_event ... ok
test the_last_passkey_cannot_be_removed ... ok
test the_same_device_cannot_be_added_twice ... ok
test the_first_passkey_is_listed_with_the_device_it_was_made_on ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

     Running tests/people.rs (target/debug/deps/people-967b2c69ed21e0c2)

running 4 tests
test first_owner_has_capabilities_and_cannot_demote_the_last_admin ... ok
test two_admins_racing_to_demote_themselves_leave_one_admin ... ok
test promotion_cannot_create_confusable_admin_names ... ok
test member_cannot_change_roles_and_new_capability_sets_work ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s

     Running tests/quota_counter.rs (target/debug/deps/quota_counter-7bd3531db3baea65)

running 4 tests
test perf_signin_during_large_recount_under_fifty_ms ... ignored, sign-in latency budget runs on the perf VM via perf/ordinary-latency-vm.sh
test small_uploads_spend_the_same_allowance_as_large_uploads ... ok
test health_reports_retained_storage_measurement_failures ... ok
test signin_finishes_before_a_large_recount ... ok

test result: ok. 3 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 5.11s

     Running tests/reliability_review.rs (target/debug/deps/reliability_review-de1c410f62bbac14)

running 22 tests
test authentication_database_does_not_wait_for_general_blocking_workers ... ok
test anonymous_flood_must_not_evict_other_persons_prompt ... ok
test crash_child_exit ... ignored
test counter_concurrent_mutations_drift_and_restart ... ok
test default_twenty_mib_stream_boundary ... ok
test concurrent_quota_admissions_do_not_overspend ... ok
test directory_moves_keep_child_accounting_and_deletes_correct ... ok
test independent_login_latency_during_recount ... ignored, latency budget runs on the perf VM via perf/auth-latency-vm.sh
test ipv6_prefix_must_share_budget ... ok
test directory_move_during_initial_recount_must_track_later_deletes ... ok
test names_normalization_recovery_and_invisibles ... ok
test normalized_setup_token_must_share_target_budget ... ok
test perf_ipv6_source_rotation_under_fifty_five_seconds ... ignored, IPv6 source-churn latency budget runs on the perf VM via perf/ordinary-latency-vm.sh
test repeated_bad_signatures_for_one_account_must_share_budget ... ok
test restart_recovers_disk_update_missing_counter_notification ... ok
test ipv6_rotation_must_not_lock_out_new_source ... ok
test slow_uploads_must_not_starve_authentication_blocking_pool ... ok
test source_isolation_and_untrusted_forwarding ... ok
test trusted_proxy_uses_nearest_untrusted_hop ... ok
test account_owner_can_sign_in_after_backoff_and_success_resets_failures ... ok
test streamed_slow_exact_over_abort_and_quota_replacement ... ok
test independent_login_completes_before_recount ... ok

test result: ok. 19 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 3.29s

     Running tests/reliability_round3.rs (target/debug/deps/reliability_round3-e31fa1ec225e4b9f)

running 12 tests
test attachment_and_backdrop_routes_share_caps_and_cancel_cleanup ... ok
test canonical_recovery_token_variants_share_one_target_without_spending_other_tokens ... ok
test ipv4_mapped_v6_and_native_v4_share_budget_but_adjacent_prefix_does_not ... ok
test fifty_slow_upload_attempts_preserve_full_signin_and_status ... ok
test over_ten_thousand_distinct_source_buckets_still_admit_new_clients ... ok
test perf_signin_and_status_during_slow_uploads_under_fifty_ms ... ignored, sign-in and status latency budgets run on the perf VM via perf/ordinary-latency-vm.sh
test perf_source_bucket_churn_under_fifty_five_seconds ... ignored, source-bucket churn latency budget runs on the perf VM via perf/ordinary-latency-vm.sh
test rename_collision_and_replacement_keep_correct_usage ... ok
test setup_target_budget_survives_more_than_ten_thousand_sources ... ok
test idle_deadline_cleans_files_and_reopens_each_person_capacity ... ok
test attachment_slow_bodies_must_not_hold_all_general_blocking_workers ... ok
test maximum_account_backoff_releases_owner_despite_refused_retries has been running for over 60 seconds
test maximum_account_backoff_releases_owner_despite_refused_retries ... ok

test result: ok. 10 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 123.93s

     Running tests/review_754f.rs (target/debug/deps/review_754f-35c2bd000e9e146f)

running 2 tests
test review_754f_unmeasured_upload_never_decides_from_stale_quota ... ok
test review_754f_queued_upload_times_out_as_retryable_http_error ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.93s

     Running tests/security_regressions.rs (target/debug/deps/security_regressions-1ee77b58b83e46f0)

running 15 tests
test concurrent_key_creation_publishes_one_complete_key ... ok
test eight_parallel_redeemers_create_exactly_one_account ... ok
test every_action_rejects_anonymous_expired_and_unprivileged_writes ... ok
test expiry_during_passkey_registration_consumes_nothing ... ok
test groups_manager_must_obey_single_person_visibility_rule ... ok
test invite_lookup_must_use_keyed_hash ... ok
test new_modules_are_small_and_documented ... ok
test key_permissions_missing_corrupt_and_no_plaintext_history ... ok
test perf_invite_failure_timing_classes_within_ratio ... ignored, invite failure timing budget runs on the perf VM via perf/ordinary-latency-vm.sh
test malformed_token_must_have_same_generic_response ... ok
test origin_dev_schema_migrates_idempotently_and_rolls_back_partial_failure ... ok
test revoked_expired_used_and_wrong_fail_equally ... ok
test quota_serializes_large_placements_and_tracks_delete_trash ... ok
test two_admins_demoting_each_other_keep_one_manager ... ok
test all_five_invite_failures_have_the_same_body_and_status ... ok

test result: ok. 14 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.37s

     Running tests/setup.rs (target/debug/deps/setup-5978cb4f8653b686)

running 8 tests
test a_restart_replaces_the_first_owner_token ... ok
test a_finished_prompt_cannot_be_replayed ... ok
test first_owner_needs_a_name ... ok
test first_owner_signs_up_with_the_printed_token ... ok
test recovery_adds_a_new_passkey_for_the_same_person ... ok
test session_cookie_is_locked_down ... ok
test a_token_works_exactly_once_under_a_storm ... ok
test an_expired_setup_token_is_refused ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s

     Running unittests src/lib.rs (target/debug/deps/calternal_backdrops-05b89f8d47f97a7d)

running 25 tests
test tests::a_photo_unknown_to_us_is_looked_up ... ok
test tests::an_answer_that_is_not_a_picture_is_refused_and_not_kept ... ok
test tests::a_stricter_attachment_limit_also_bounds_backdrops ... ok
test tests::an_upload_is_private_to_the_person_who_made_it ... ok
test tests::bad_ids_never_reach_the_disk_or_the_network ... ok
test tests::an_upload_is_kept_once_and_served_back ... ok
test tests::changes_need_our_own_page_and_a_signed_in_person ... ok
test tests::picking_is_reported_to_unsplash_once ... ok
test tests::pictures_are_proxied_cached_and_never_given_the_key ... ok
test tests::nobody_can_read_or_list_someone_elses_uploads ... ok
test tests::pictures_from_other_hosts_are_refused ... ok
test tests::search_lists_photos_with_our_own_addresses_and_credit ... ok
test tests::storage_cache::split_cache_deletion_refetches_upstream_and_keeps_original_upload ... ok
test tests::the_real_client_sends_the_key_and_caps_the_size ... ok
test tests::the_real_client_speaks_https_to_unsplash ... ignored, needs the internet
test tests::the_same_search_is_answered_once ... ok
test tests::too_many_pixels_are_refused_but_files_within_the_byte_limit_work ... ok
test tests::unsplash_running_out_of_requests_is_a_plain_slow_down ... ok
test tests::uploads_are_checked_by_content_not_by_what_they_claim ... ok
test tests::without_a_key_photos_are_off_but_uploads_work ... ok
test uploads::reliability_tests::idle_upload_removes_temporary_file_and_releases_admission ... ok
test tests::the_cache_drops_the_oldest_files_past_its_cap ... ok
test uploads::reliability_tests::upload_admission_is_bounded_and_cancellation_restores_capacity ... ok
test tests::backdrop_quota_refuses_new_files_and_releases_space_on_delete ... ok
test tests::streaming_upload_stops_at_byte_limit_and_leaves_no_artifact ... ok

test result: ok. 24 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.07s

     Running unittests src/lib.rs (target/debug/deps/calternal_contacts-57f99114e3ff1f1e)

running 1 test
test note::related_links_tests::only_the_cards_related_group_names_related_people ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/apple.rs (target/debug/deps/apple-e6c5e1b5a301544e)

running 4 tests
test apple_rewrite_keeps_canonical_extensions_and_takes_real_edits ... ok
test unchanged_duplicate_ungrouped_occurrences_merge ... ok
test client_deletion_requires_sent_field_and_uid_is_immutable ... ok
test unsent_note_changes_survive_and_concurrent_edits_return_history ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/break_codec.rs (target/debug/deps/break_codec-f9b2777f3a4081a6)

running 11 tests
test envelope_checks_and_original_copy_reject_ambiguous_or_edited_state ... ok
test escaped_separator_parity_keeps_component_and_list_boundaries ... ok
test canonical_note_comparison_checks_every_byte_and_falls_back_for_local_sections ... ok
test folded_and_unfolded_utf8_lines_keep_values_and_their_original_bytes ... ok
test bare_properties_and_ignored_parameter_properties_decode_the_same_values ... ok
test multiline_google_custom_labels_cannot_create_other_card_groups ... ok
test quoted_parameter_delimiters_and_value_colons_keep_their_meaning ... ok
test typed_reordering_and_value_tag_changes_use_the_exported_wire_projection ... ok
test component_and_list_comparisons_preserve_empty_parts_and_noncanonical_escapes ... ok
test original_and_edited_note_snapshots_both_preserve_later_typed_edits ... ok
test mixed_rendered_values_keep_all_other_bytes_during_a_client_edit ... ok

test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/break_generated.rs (target/debug/deps/break_generated-08a24cc24eb8c510)

running 9 tests
test fixed_seed_generated_shapes_include_every_reaudit_case ... ok
test arbitrary_wire_and_note_inputs_preserve_bytes_or_explain_rejection ... ok
test independent_vendor_shaped_cards_keep_foldings_metadata_and_unknowns ... ok
test generated_notes_shapes_and_repeated_fact_edits_round_trip ... ok
test synthetic_vendor_corpus_is_bidirectionally_byte_identical ... ok
test five_megabyte_notes_survive_both_conversions ... ok
test generated_valid_cards_and_messy_notes_keep_every_field ... ok
test megabyte_value_ten_thousand_visible_fields_and_ten_megabyte_photo ... ok
test ten_thousand_new_custom_labels_get_unique_groups_and_round_trip ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.13s

     Running tests/break_inventory.rs (target/debug/deps/break_inventory-33991750886624af)

running 1 test
test every_inventory_property_survives_a_neighbour_edit ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/break_labels.rs (target/debug/deps/break_labels-eebeed34c89854d6)

running 2 tests
test names_use_human_order_even_when_vendor_properties_are_reordered ... ok
test builtin_labels_show_the_words_on_the_phone_and_recover_original_codes ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/break_layout.rs (target/debug/deps/break_layout-b481a97b3595e7b0)

running 27 tests
test a_phone_note_containing_h2_or_h1_round_trips ... ok
test ambiguous_simultaneous_colon_edit_returns_phone_group_and_history ... ok
test colon_bearing_label_edits_change_only_the_label_and_value_edits_only_the_value ... ok
test colon_label_renames_survive_a_following_client_edit ... ok
test company_and_department_edits_share_one_org_in_either_note_order ... ok
test duplicate_structured_name_parts_are_unrepresentable ... ok
test crlf_notes_preserve_original_escape_spelling_and_do_not_create_merge_conflicts ... ok
test colons_delimiters_and_unicode_keep_their_exact_wire_values ... ok
test first_list_ends_at_a_paragraph_and_second_list_stays_local ... ok
test entering_a_birthday_year_clears_the_apple_omit_year_flag ... ok
test flat_repeatable_lines_stay_and_are_reported ... ok
test later_notes_headings_are_phone_text ... ok
test empty_visible_properties_are_not_deleted_on_an_unchanged_round_trip ... ok
test missing_h1_explains_rejection_and_empty_card_is_allowed ... ok
test missing_wire_display_name_is_not_silently_created_by_a_round_trip ... ok
test multiline_labels_never_turn_into_unreported_fields ... ok
test multiple_unrepresentable_document_fields_explain_rejection ... ok
test note_headings_and_crlf_do_not_change_plain_text ... ok
test notes_heading_after_a_local_h1_owns_the_tail ... ok
test multiple_edits_to_indistinguishable_occurrences_do_not_guess_hidden_parameters ... ok
test org_hierarchy_is_one_fact_and_unchanged_components_stay_lossless ... ok
test tags_keep_list_boundaries_when_a_category_contains_comma_space ... ok
test unchanged_values_that_differ_only_by_trailing_spaces_keep_both_occurrences ... ok
test utf8_bom_is_document_framing ... ok
test unicode_names_keep_normalisation_scripts_direction_and_joiners ... ok
test one_property_edit_changes_only_its_original_logical_line ... ok
test markdown_whitespace_and_bullets_do_not_edit_the_phone ... ok

test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/break_links.rs (target/debug/deps/break_links-0f6e74fdb091a20d)

running 4 tests
test a_colon_in_a_related_name_is_text_and_an_explicit_uri_stays_a_uri ... ok
test related_brackets_and_angle_brackets_are_valid_markdown_and_editable ... ok
test escaped_closing_brackets_inside_a_name_are_not_link_delimiters ... ok
test a_plain_name_that_looks_like_a_link_stays_that_name ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/break_merge.rs (target/debug/deps/break_merge-8ca79441c1a29192)

running 16 tests
test crlf_new_group_is_written_once_for_multiple_incoming_values ... ok
test additions_removals_values_and_labels_preserve_customised_note ... ok
test distinct_repeated_types_return_quiet_concurrent_edit_notice ... ok
test dropped_extension_parameters_keep_their_order_and_do_not_conflict_with_local_values ... ok
test apple_reordering_churn_photo_and_dropped_extension_do_not_lose_local_edits ... ok
test distinct_ungrouped_types_merge_reorders_edits_additions_and_deletions ... ok
test phone_note_deletion_does_not_reappear_as_an_empty_note_on_read ... ok
test identical_visible_rows_keep_both_occurrences_during_noop_and_changed_merges ... ok
test phone_label_rename_replaces_local_value_edit ... ok
test phone_notes_with_headings_merge_successfully ... ok
test simultaneous_grouped_phone_and_photo_additions_put_photo_before_card ... ok
test the_first_card_group_is_added_after_an_existing_photo ... ok
test related_links_with_custom_relative_targets_bind_to_the_original_person ... ok
test local_label_renames_take_phone_deletes_or_value_edits ... ok
test unchanged_repeated_ungrouped_properties_keep_occurrences ... ok
test same_line_concurrent_edits_and_deletes_take_phone_group ... ok

test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/format3.rs (target/debug/deps/format3-117c8350047c0c41)

running 21 tests
test ambiguous_single_fact_delete_and_edit_returns_all_previous_lines ... ok
test ambiguous_occurrence_replaces_only_its_group_and_returns_exact_old_lines ... ok
test colliding_colon_renderings_keep_occurrences_or_return_the_phone_group ... ok
test ambiguous_client_group_takes_phone_order_while_other_groups_merge ... ok
test department_hierarchy_is_one_fact_when_both_sides_edit_it ... ok
test company_and_department_merge_as_separate_single_facts ... ok
test equal_single_fact_values_still_bind_by_line_order_when_edited ... ok
test identical_repeatable_rows_return_history_instead_of_guessing_hidden_occurrences ... ok
test indistinguishable_single_fact_deletion_returns_phone_group_and_history ... ok
test concurrent_org_additions_and_deletes_never_stop_sync ... ok
test exact_client_occurrences_win_before_parameterless_identical_additions ... ok
test identical_syncs_do_not_repeat_a_phone_group_replacement_notice ... ok
test local_sections_above_notes_stay_local_and_below_become_phone_notes ... ok
test phone_notes_keep_headings_dividers_lists_and_all_blank_lines_exactly ... ok
test repeated_company_conflict_keeps_independent_department_edits ... ok
test repeated_single_facts_typed_from_scratch_create_separate_properties ... ok
test several_ambiguous_groups_report_each_previous_group_once ... ok
test repeated_single_facts_bind_edit_delete_and_multiple_edits_to_occurrences ... ok
test org_deletions_use_unique_departments_or_return_every_ambiguous_fact ... ok
test unique_values_anchor_client_deletions_even_when_extension_parameters_are_omitted ... ok
test unambiguous_repeated_client_edits_and_deletes_keep_other_occurrences ... ok

test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/hostile.rs (target/debug/deps/hostile-8e0be41ba5537655)

running 10 tests
test ambiguous_sources_damaged_notes_and_line_injection_are_errors ... ok
test escapes_empty_values_caret_parameters_and_unknown_sequences ... ok
test malformed_lines_and_mixed_endings_survive_a_neighbor_edit ... ok
test arbitrary_note_text_never_panics ... ok
test folds_at_arbitrary_byte_boundaries_recover_utf8 ... ok
test arbitrary_bytes_never_panic_or_drop_a_byte ... ok
test random_unicode_fields_survive_edits ... ok
test ten_thousand_properties_keep_order_and_raw_lines ... ok
test random_repeated_grouped_properties_keep_their_inventory ... ok
test ten_megabyte_photo_stays_in_original_card_and_round_trips ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.97s

     Running tests/layout.rs (target/debug/deps/layout-4641b4d305b36b69)

running 13 tests
test apple_example_note_matches_the_published_layout ... ok
test google_custom_labels_and_non_gregorian_birthdays_keep_their_wire_details ... ok
test adr_has_three_readable_examples ... ok
test markdown_related_links_with_spaces_and_unicode_are_reversible ... ok
test not_a_field_and_other_sections_stay_exact ... ok
test independent_phone_and_note_edits_preserve_local_spelling ... ok
test photo_reference_is_an_attachment_io_boundary ... ok
test notes_are_plain_text_two_way_through_nested_headings ... ok
test phone_edit_appends_to_group_and_keeps_spacing_and_local_lines ... ok
test renaming_an_apple_label_changes_only_its_label_property ... ok
test each_visible_edit_preserves_other_raw_lines ... ok
test typed_edits_after_reading_a_note_patch_the_readable_card ... ok
test readable_layout_and_all_agreed_fields ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/roundtrip.rs (target/debug/deps/roundtrip-db3cc406d58691ee)

running 10 tests
test add_delete_and_repeated_fields_keep_the_right_occurrence ... ok
test editing_geo_keeps_coordinate_precision_and_semicolon_structure ... ok
test hand_edit_uses_external_original_until_export ... ok
test new_and_edited_canonical_notes_are_identical_after_wire_import ... ok
test new_contact_uid_is_note_id_and_default_is_three ... ok
test structured_names_addresses_labels_and_partial_dates_are_typed ... ok
test reordering_fields_and_changing_value_tags_cannot_make_an_unstable_note ... ok
test version_mapping_keeps_phone_text_preferences_and_photo_bytes ... ok
test corpus_is_identical_in_both_directions ... ok
test editing_each_field_changes_only_its_raw_occurrence ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

     Running unittests src/lib.rs (target/debug/deps/calternal_contacts_actions-8525022e72d0c8c9)

running 130 tests
test cards::tests::ids_cannot_leave_the_folder ... ok
test facts::tests::a_card_without_a_name ... ok
test facts::tests::reads_name_and_facts_in_order ... ok
test frontmatter::tests::no_frontmatter_is_left_alone ... ok
test frontmatter::tests::a_body_divider_is_not_frontmatter ... ok
test cards::tests::copies_are_written_whole_and_removed ... ok
test frontmatter::tests::splits_and_joins_back_exactly ... ok
test jobs::tests::attempts_are_stable_and_distinct ... ok
test import::tests::identity_is_the_uid_or_the_bytes ... ok
test names::tests::a_fact_equal_to_the_name_is_skipped ... ok
test names::tests::bidi_controls_never_reach_a_file_name_but_joiners_do ... ok
test names::tests::case_and_unicode_form_clash ... ok
test names::tests::clashes_add_the_first_fact_then_a_number ... ok
test names::tests::empty_and_emoji_names ... ok
test names::tests::illegal_characters_become_dashes ... ok
test names::tests::nfd_and_nfc_give_one_name ... ok
test namer::tests::names_come_from_the_note_and_its_card ... ok
test names::tests::long_names_are_cut_between_whole_characters ... ok
test tests::basics::bad_cards_are_refused_and_nothing_is_written ... ok
test tests::basics::contact_actions_never_touch_other_notes ... ok
test tests::basics::a_retry_with_the_same_key_makes_one_contact ... ok
test tests::basics::a_new_name_renames_and_links_follow ... ok
test tests::basics::create_writes_the_note_and_its_card ... ok
test tests::basics::update_merges_and_keeps_typing ... ok
test tests::basics::delete_goes_to_the_trash_and_restore_brings_it_back ... ok
test tests::break_links::a_rename_onto_an_existing_file ... ok
test tests::break_links::case_only_renames ... ok
test tests::break_links::code_stays_and_anchors_travel ... ok
test tests::break_links::deleted_forever_links_say_so ... ok
test tests::break_links::nfc_and_nfd_names ... ok
test tests::break_links::relative_links_from_subfolders ... ok
test tests::break_links::rename_while_another_client_edits_a_linking_note ... ok
test tests::break_links::rename_chains ... ok
test tests::break_links::the_checker_finds_dangling_links ... ok
test tests::break_links::swapping_two_names ... ok
test tests::break_names::a_name_an_existing_note_has ... ok
test tests::break_links::the_title_never_renames_a_contact_file ... ok
test tests::break_names::names_differing_only_in_case_are_one_name ... ok
test tests::break_names::empty_and_emoji_names ... ok
test tests::break_names::the_folder_is_a_setting ... ok
test tests::break_names::clashes_add_company_then_city_then_nickname_then_domain_then_a_number ... ok
test tests::break_names::unsafe_characters_never_reach_the_file_name ... ok
test tests::break_names::very_long_names_fit_the_byte_limit ... ok
test tests::correctness::acknowledged_edit_between_undo_preparation_and_deletion_survives ... ok
test tests::correctness::deletion_crash_child ... ok
Gate output verbatim for 798f1bbe917335a46eec3b1121e675a8b2f525dc; workspace; part 1/3; exit 0. Command: `cargo test -j3 --workspace --locked --no-fail-fast` ```text Compiling calternal-fsio v0.1.0 (/home/agent/wt/quota-simple/crates/fsio) Compiling calternal-server v0.1.0 (/home/agent/wt/quota-simple/crates/server) Compiling calternal-notes v0.1.0 (/home/agent/wt/quota-simple/crates/notes) Compiling calternal-attachments v0.1.0 (/home/agent/wt/quota-simple/crates/attachments) Compiling calternal-backdrops v0.1.0 (/home/agent/wt/quota-simple/crates/backdrops) Compiling calternal-auth v0.1.0 (/home/agent/wt/quota-simple/crates/auth) Compiling calternal-migrate-v0 v0.1.0 (/home/agent/wt/quota-simple/crates/migrate-v0) Compiling calternal-prefs v0.1.0 (/home/agent/wt/quota-simple/crates/prefs) Compiling calternal-tasks v0.1.0 (/home/agent/wt/quota-simple/crates/tasks) Compiling calternal-contacts-actions v0.1.0 (/home/agent/wt/quota-simple/crates/contacts-actions) Compiling calternal-daily v0.1.0 (/home/agent/wt/quota-simple/crates/daily) Compiling calternal-perf v0.1.0 (/home/agent/wt/quota-simple/crates/perf) Compiling calternal v0.1.0 (/home/agent/wt/quota-simple/crates/calternal) Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 02s Running unittests src/main.rs (target/debug/deps/calternal-5b3cd447d2b20f1a) running 32 tests test admin::tests::a_stop_sent_before_subscribing_is_still_seen ... ok test admin::tests::an_active_request_gets_a_graceful_shutdown_window ... ok test args::tests::defaults_and_flags ... ok test args::tests::dev_user_never_on_a_public_address ... ok test args::tests::fix_commands ... ok test args::tests::migrate_v0 ... ok test args::tests::origin_defaults_to_the_local_port ... ok test args::tests::setup_and_re_pair_are_explicit ... ok test args::tests::state_defaults_to_resolved_data_and_flags_override_environment ... ok test args::tests::user_create ... ok test args::tests::user_recover ... ok test args::tests::web_folder ... ok test admin::tests::shutdown_stops_a_client_waiting_on_a_partial_request ... ok test admin::tests::a_restart_waits_out_an_admin_request_longer_than_ten_seconds ... ok test isolation::bob_cannot_reach_alices_attachments ... ok test isolation::in_process_server_shutdown_releases_both_roots_200x_under_load ... ignored, stress gate; run explicitly during release validation test isolation::people::backdrops_spend_the_same_counter_as_small_attachments ... ok test isolation::contacts_and_tasks_in_one_home_keep_their_own_members ... ok test isolation::bob_cannot_join_alices_note_room ... ok test isolation::people::normal_token_failures_do_not_log_or_persist_plaintext ... ok test isolation::people::duplicate_upload_at_quota_must_not_spend_bytes_twice ... ok test isolation::bob_reaches_nothing_of_alices_through_any_action ... ok test isolation::people_actions_hide_real_ids_from_members_other_users_and_anonymous_callers ... ok test isolation::quota_refuses_large_and_small_uploads_while_notes_still_save ... ok test isolation::renaming_a_task_retargets_task_and_contact_links_once ... ok test isolation::split_storage_keeps_originals_and_databases_on_their_disks ... ok test plugins::tests::contract_matches_the_server ... ok test shutdown_io::tests::shutdown_bounds_response_writes_to_a_peer_that_stops_reading ... ok test shutdown_io::tests::shutdown_finishes_an_idle_read_and_keeps_response_writes_open ... ok test isolation::people::every_action_obeys_person_visibility ... ok test isolation::randomized_home_shutdown_releases_both_roots ... ok test isolation::people::real_upload_storm_notes_trash_restore_and_delete_usage ... ok test result: ok. 31 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 2.31s Running tests/attachments_crash.rs (target/debug/deps/attachments_crash-0569b67a53884729) running 2 tests test kill_nine_mid_upload_leaves_nothing_half_written ... ok test a_big_upload_streams_in_bounded_memory ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.01s Running tests/contacts_live.rs (target/debug/deps/contacts_live-af618544141ac448) running 2 tests test a_phone_renames_a_contact_while_someone_types_in_a_linking_note ... ok test a_live_h1_collision_keeps_contact_and_incoming_link_identity ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.10s Running tests/fix_tz_live.rs (target/debug/deps/fix_tz_live-c1d7da7081c54109) running 2 tests test fix_without_a_running_server_says_so ... ok test strip_tz_markers_on_a_live_home_with_a_client_typing ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s Running tests/notes_crash.rs (target/debug/deps/notes_crash-bd5bc7d203bf0127) running 3 tests test kill_nine_mid_append_on_a_long_note ... ok test kill_nine_mid_tag_rename_renames_each_tag_once ... ok test kill_nine_never_loses_or_doubles ... ok test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.61s Running tests/notes_crash_typing.rs (target/debug/deps/notes_crash_typing-d35c14e53c99c26a) running 1 test test kill_nine_while_people_type_loses_and_doubles_nothing ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.71s Running tests/notes_live.rs (target/debug/deps/notes_live-fd9144e03a5bf101) running 2 tests test joining_a_missing_note_fails_politely ... ok test type_over_the_websocket_and_read_it_back ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s Running tests/prefs_live.rs (target/debug/deps/prefs_live-14537299f9d90948) running 1 test test preferences_are_saved_checked_and_kept ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s Running tests/search_live.rs (target/debug/deps/search_live-f3bc532e6ffabf7a) running 2 tests test perf_live_empty_search_under_one_second ... ignored, live empty-search latency budget runs on the perf VM via perf/ordinary-latency-vm.sh test notes_from_everywhere_are_found ... ok test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.87s Running tests/startup.rs (target/debug/deps/startup-eca99cdca8c86191) running 6 tests test perf_startup_under_500ms ... ignored, startup latency budget runs on the perf VM via perf/ordinary-latency-vm.sh test refuses_dev_user_on_a_public_address ... ok test refuses_plain_http_on_a_public_origin ... ok test answers_after_launch ... ok test recover_only_knows_real_people ... ok test a_new_server_prints_a_setup_token ... ok test result: ok. 5 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.04s Running tests/storage_startup.rs (target/debug/deps/storage_startup-385d9407724b0044) running 11 tests test a_lock_held_past_the_longest_grace_still_fails_startup ... ok test create_refuses_unpaired_notes_or_databases_before_creating_other_root ... ok test both_missing_markers_with_existing_split_data_require_confirmed_re_pair ... ok test missing_home_refuses_without_creating_directory_or_lock ... ok test original_storage_startup_scenario_repeats_100x_under_load ... ignored, stress gate; run explicitly during release validation test legacy_history_read_only_and_invalid_state_are_refused ... ok test missing_state_never_recreates_databases_even_with_create ... ok test single_root_upgrade_backup_split_cache_delete_and_rollback ... ok test startup_waits_for_a_previous_server_to_release_both_roots ... ok test roots_must_keep_their_persistent_partner_and_admin_must_confirm ... ok test both_roots_remain_exclusively_locked ... ok test result: ok. 10 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 10.10s Running unittests src/lib.rs (target/debug/deps/calternal_attachments-913c724198d7558a) running 22 tests test serve::tests::dispositions_quote_safely ... ok test serve::tests::only_plain_visible_paths_are_served ... ok test serve::tests::ranges ... ok test tests::http::a_connection_that_breaks_off_leaves_nothing ... ok test tests::http::a_retry_with_the_same_key_never_makes_a_second_copy ... ok test tests::http::check_finds_only_your_own_files ... ok test tests::http::an_upload_lands_in_its_dated_folder_and_is_served_back ... ok test tests::http::review_754b_utf8_case_and_normalization_collision_behavior_is_preserved ... ok test tests::http::review_754b_upload_preserves_raw_names_and_real_replacement_character_collisions ... ok test tests::http::paths_that_climb_out_of_the_home_are_not_found ... ok test tests::http::the_sweep_removes_what_a_crash_left_and_spares_live_uploads ... ok test tests::http::names_can_not_steer_where_a_file_goes ... ok test tests::http::uploads_need_a_session_our_page_and_a_key ... ok test tests::sniffing::days_are_strict ... ok test tests::sniffing::invalid_utf8_names_do_not_claim_replacement_character_names ... ok test tests::sniffing::names_are_kept_but_made_safe ... ok test tests::sniffing::pictures_and_videos_go_to_photos ... ok test tests::sniffing::text_types_come_from_the_extension_and_html_never_runs ... ok test tests::http::the_same_file_again_says_already_uploaded_and_keeps_one_copy ... ok test tests::sniffing::the_name_never_decides_a_binary_type ... ok test tests::http::the_limit_holds_while_streaming_without_a_length ... ok test tests::http::unsafe_types_are_downloads_with_a_strict_policy ... ok test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s Running unittests src/lib.rs (target/debug/deps/calternal_auth-7816ba4a2d36337e) running 32 tests test config::tests::origins ... ok test db::tests::a_version_1_database_gets_passkey_names ... ok test db::tests::existing_database_keeps_people_credentials_and_sessions ... ok test http::cookie_tests::session_cookie_is_host_only_and_secure ... ok test ceremony::tests::full_pool_refuses_foreign_source_without_discarding_live_prompt ... ok test ceremony::tests::anonymous_pool_stays_bounded_and_evicts_oldest ... ok test invite_key::tests::lookup_uses_a_separate_derived_key_and_depends_on_the_server_key ... ok test invite_redeem::tests::expiry_and_clock_rollback_use_the_same_validation_path ... ok test invite_redeem::tests::invalid_invite_classes_perform_one_lookup_and_one_secret_comparison ... ok test invite_redeem::tests::invalid_invites_do_not_reveal_name_conflicts ... ok test limit::reliability_tests::backoff_expires_is_capped_and_refusals_do_not_extend_it ... ok test limit::reliability_tests::buckets_are_independent_and_bounded ... ok test db::tests::opens_twice_and_keeps_schema ... ok test limit::reliability_tests::full_map_evicts_least_recent_without_refusing_new_sources ... ok test limit::reliability_tests::target_capacity_preserves_live_budgets_and_evicts_only_oldest_expired ... ok test invite_key::tests::key_round_trips_but_modified_ciphertext_and_another_id_fail ... ok test passkeys::tests::ids_round_trip ... ok test passkeys::tests::names_are_trimmed_short_and_never_empty ... ok test http::proxy_tests::forwarding_stops_at_first_untrusted_hop_and_rejects_malformed_chains ... ok test quota_tests::admission_deadline_includes_database_queue ... ok test quota_tests::admission_deadline_includes_plugin_provider ... ok test session::tests::names_are_cleaned ... ok test setup::tests::names ... ok test setup::tests::names_reject_invisible_and_normalize_nfc ... ok test setup::tests::recover_needs_a_known_person ... ok test setup::tests::recovery_requires_exact_username_or_uuid_never_display_name ... ok test setup::tests::usernames ... ok test token::tests::junk_is_not_a_token ... ok test token::tests::setup_tokens_round_trip_through_pasting ... ok test setup::tests::cli_creation_refuses_admin_name_confusables ... ok test quota_tests::seeded_whole_home_property_admission_never_succeeds_over_quota ... ok test limit::reliability_tests::source_churn_cannot_reset_target_budget ... ok test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.18s Running tests/abuse.rs (target/debug/deps/abuse-0ef72da959c16a7d) running 12 tests test bad_json_and_unknown_fields_are_refused ... ok test forged_sessions_get_nowhere ... ok test duplicate_session_cookies_never_choose_an_identity ... ok test anonymous_prompt_flood_preserves_login_setup_and_add ... ok test login_source_limit_does_not_block_another_client ... ok test non_json_requests_are_refused ... ok test junk_setup_tokens_are_refused_then_rate_limited ... ok test nothing_about_the_server_leaks_before_sign_in ... ok test one_source_cannot_lock_out_another_and_cannot_spoof_forwarding ... ok test other_sites_cannot_act_for_you ... ok test oversized_bodies_are_refused ... ok test garbage_credentials_never_crash ... ok test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s Running tests/create.rs (target/debug/deps/create-136c8b97d8dd4fc2) running 6 tests test an_expired_enrolment_token_is_refused ... ok test an_earlier_first_owner_token_stops_working ... ok test nothing_about_the_person_leaks_before_sign_in ... ok test names_must_be_usable_and_unique ... ok test an_enrolment_token_works_exactly_once_under_a_storm ... ok test a_created_person_enrolls_their_first_passkey_and_is_the_same_person ... ok test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s Running tests/groups.rs (target/debug/deps/groups-a6c9f5ffc55c40a0) running 1 test test shared_groups_control_visibility_and_managers_only_edit_local_members ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s Running tests/host_cookies.rs (target/debug/deps/host_cookies-f8d76016656294b5) running 3 tests test old_name_is_ignored_and_cleared_once_without_touching_host_session ... ok test duplicate_host_headers_and_stale_requests_never_clear_new_session ... ok test upgrading_schema_six_removes_cookie_state_and_keeps_passkeys ... ok test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s Running tests/invites.rs (target/debug/deps/invites-c3cd5da7ad24a6b6) running 8 tests test invite_admin_names_cannot_be_impersonated_and_failure_preserves_invite ... ok test invite_finish_rechecks_admin_names_after_role_changes ... ok test invite_redemption_joins_its_groups_and_other_inviters_cannot_copy_it ... ok test invite_can_be_copied_after_restart_and_only_one_racing_passkey_wins ... ok test losing_the_key_does_not_replace_it_and_invite_secrets_never_enter_action_history ... ok test legacy_invite_indexes_upgrade_atomically_and_keep_copy_and_redemption ... ok test wrong_expired_used_and_revoked_invites_give_one_answer ... ok test invite_redemption_reaches_a_visible_admin_but_not_an_unrelated_member ... ok test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s Running tests/isolation.rs (target/debug/deps/isolation-1492af018abfd35a) running 3 tests test a_cookie_sent_from_another_sites_page_does_not_count ... ok test devices_and_passkeys_of_another_person_are_not_found ... ok test another_persons_passkey_prompt_cannot_be_used_or_cancelled ... ok test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s Running tests/login.rs (target/debug/deps/login-f4559d56997c2b09) running 11 tests test foreign_status_cannot_sign_the_browser_out ... ok test bearer_tokens_work_like_cookies ... ok test a_sign_in_answer_cannot_be_replayed ... ok test revoking_another_device_signs_it_out ... ok test sign_in_with_a_passkey_creates_a_new_installation ... ok test an_unknown_passkey_is_refused ... ok test logout_revokes_the_installation_and_rejects_live_cookies ... ok test sign_out_ends_the_session_immediately ... ok test signing_out_shows_up_live_on_another_device ... ok test signing_in_shows_up_live_on_another_device ... ok test sessions_expire_when_unused ... ok test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s Running tests/migration.rs (target/debug/deps/migration-1445ca8dc03500f7) running 1 test test schema_two_copy_keeps_real_credentials_sessions_and_recovery ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s Running tests/passkeys.rs (target/debug/deps/passkeys-c4cab13fe63dc47f) running 7 tests test an_empty_name_is_refused_and_a_long_one_is_cut ... ok test adding_needs_a_sign_in_and_an_add_prompt_works_once ... ok test a_removed_passkey_that_is_gone_or_unknown_is_not_found ... ok test add_rename_and_remove_each_leave_a_journal_event ... ok test the_last_passkey_cannot_be_removed ... ok test the_same_device_cannot_be_added_twice ... ok test the_first_passkey_is_listed_with_the_device_it_was_made_on ... ok test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s Running tests/people.rs (target/debug/deps/people-967b2c69ed21e0c2) running 4 tests test first_owner_has_capabilities_and_cannot_demote_the_last_admin ... ok test two_admins_racing_to_demote_themselves_leave_one_admin ... ok test promotion_cannot_create_confusable_admin_names ... ok test member_cannot_change_roles_and_new_capability_sets_work ... ok test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s Running tests/quota_counter.rs (target/debug/deps/quota_counter-7bd3531db3baea65) running 4 tests test perf_signin_during_large_recount_under_fifty_ms ... ignored, sign-in latency budget runs on the perf VM via perf/ordinary-latency-vm.sh test small_uploads_spend_the_same_allowance_as_large_uploads ... ok test health_reports_retained_storage_measurement_failures ... ok test signin_finishes_before_a_large_recount ... ok test result: ok. 3 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 5.11s Running tests/reliability_review.rs (target/debug/deps/reliability_review-de1c410f62bbac14) running 22 tests test authentication_database_does_not_wait_for_general_blocking_workers ... ok test anonymous_flood_must_not_evict_other_persons_prompt ... ok test crash_child_exit ... ignored test counter_concurrent_mutations_drift_and_restart ... ok test default_twenty_mib_stream_boundary ... ok test concurrent_quota_admissions_do_not_overspend ... ok test directory_moves_keep_child_accounting_and_deletes_correct ... ok test independent_login_latency_during_recount ... ignored, latency budget runs on the perf VM via perf/auth-latency-vm.sh test ipv6_prefix_must_share_budget ... ok test directory_move_during_initial_recount_must_track_later_deletes ... ok test names_normalization_recovery_and_invisibles ... ok test normalized_setup_token_must_share_target_budget ... ok test perf_ipv6_source_rotation_under_fifty_five_seconds ... ignored, IPv6 source-churn latency budget runs on the perf VM via perf/ordinary-latency-vm.sh test repeated_bad_signatures_for_one_account_must_share_budget ... ok test restart_recovers_disk_update_missing_counter_notification ... ok test ipv6_rotation_must_not_lock_out_new_source ... ok test slow_uploads_must_not_starve_authentication_blocking_pool ... ok test source_isolation_and_untrusted_forwarding ... ok test trusted_proxy_uses_nearest_untrusted_hop ... ok test account_owner_can_sign_in_after_backoff_and_success_resets_failures ... ok test streamed_slow_exact_over_abort_and_quota_replacement ... ok test independent_login_completes_before_recount ... ok test result: ok. 19 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 3.29s Running tests/reliability_round3.rs (target/debug/deps/reliability_round3-e31fa1ec225e4b9f) running 12 tests test attachment_and_backdrop_routes_share_caps_and_cancel_cleanup ... ok test canonical_recovery_token_variants_share_one_target_without_spending_other_tokens ... ok test ipv4_mapped_v6_and_native_v4_share_budget_but_adjacent_prefix_does_not ... ok test fifty_slow_upload_attempts_preserve_full_signin_and_status ... ok test over_ten_thousand_distinct_source_buckets_still_admit_new_clients ... ok test perf_signin_and_status_during_slow_uploads_under_fifty_ms ... ignored, sign-in and status latency budgets run on the perf VM via perf/ordinary-latency-vm.sh test perf_source_bucket_churn_under_fifty_five_seconds ... ignored, source-bucket churn latency budget runs on the perf VM via perf/ordinary-latency-vm.sh test rename_collision_and_replacement_keep_correct_usage ... ok test setup_target_budget_survives_more_than_ten_thousand_sources ... ok test idle_deadline_cleans_files_and_reopens_each_person_capacity ... ok test attachment_slow_bodies_must_not_hold_all_general_blocking_workers ... ok test maximum_account_backoff_releases_owner_despite_refused_retries has been running for over 60 seconds test maximum_account_backoff_releases_owner_despite_refused_retries ... ok test result: ok. 10 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 123.93s Running tests/review_754f.rs (target/debug/deps/review_754f-35c2bd000e9e146f) running 2 tests test review_754f_unmeasured_upload_never_decides_from_stale_quota ... ok test review_754f_queued_upload_times_out_as_retryable_http_error ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.93s Running tests/security_regressions.rs (target/debug/deps/security_regressions-1ee77b58b83e46f0) running 15 tests test concurrent_key_creation_publishes_one_complete_key ... ok test eight_parallel_redeemers_create_exactly_one_account ... ok test every_action_rejects_anonymous_expired_and_unprivileged_writes ... ok test expiry_during_passkey_registration_consumes_nothing ... ok test groups_manager_must_obey_single_person_visibility_rule ... ok test invite_lookup_must_use_keyed_hash ... ok test new_modules_are_small_and_documented ... ok test key_permissions_missing_corrupt_and_no_plaintext_history ... ok test perf_invite_failure_timing_classes_within_ratio ... ignored, invite failure timing budget runs on the perf VM via perf/ordinary-latency-vm.sh test malformed_token_must_have_same_generic_response ... ok test origin_dev_schema_migrates_idempotently_and_rolls_back_partial_failure ... ok test revoked_expired_used_and_wrong_fail_equally ... ok test quota_serializes_large_placements_and_tracks_delete_trash ... ok test two_admins_demoting_each_other_keep_one_manager ... ok test all_five_invite_failures_have_the_same_body_and_status ... ok test result: ok. 14 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.37s Running tests/setup.rs (target/debug/deps/setup-5978cb4f8653b686) running 8 tests test a_restart_replaces_the_first_owner_token ... ok test a_finished_prompt_cannot_be_replayed ... ok test first_owner_needs_a_name ... ok test first_owner_signs_up_with_the_printed_token ... ok test recovery_adds_a_new_passkey_for_the_same_person ... ok test session_cookie_is_locked_down ... ok test a_token_works_exactly_once_under_a_storm ... ok test an_expired_setup_token_is_refused ... ok test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s Running unittests src/lib.rs (target/debug/deps/calternal_backdrops-05b89f8d47f97a7d) running 25 tests test tests::a_photo_unknown_to_us_is_looked_up ... ok test tests::an_answer_that_is_not_a_picture_is_refused_and_not_kept ... ok test tests::a_stricter_attachment_limit_also_bounds_backdrops ... ok test tests::an_upload_is_private_to_the_person_who_made_it ... ok test tests::bad_ids_never_reach_the_disk_or_the_network ... ok test tests::an_upload_is_kept_once_and_served_back ... ok test tests::changes_need_our_own_page_and_a_signed_in_person ... ok test tests::picking_is_reported_to_unsplash_once ... ok test tests::pictures_are_proxied_cached_and_never_given_the_key ... ok test tests::nobody_can_read_or_list_someone_elses_uploads ... ok test tests::pictures_from_other_hosts_are_refused ... ok test tests::search_lists_photos_with_our_own_addresses_and_credit ... ok test tests::storage_cache::split_cache_deletion_refetches_upstream_and_keeps_original_upload ... ok test tests::the_real_client_sends_the_key_and_caps_the_size ... ok test tests::the_real_client_speaks_https_to_unsplash ... ignored, needs the internet test tests::the_same_search_is_answered_once ... ok test tests::too_many_pixels_are_refused_but_files_within_the_byte_limit_work ... ok test tests::unsplash_running_out_of_requests_is_a_plain_slow_down ... ok test tests::uploads_are_checked_by_content_not_by_what_they_claim ... ok test tests::without_a_key_photos_are_off_but_uploads_work ... ok test uploads::reliability_tests::idle_upload_removes_temporary_file_and_releases_admission ... ok test tests::the_cache_drops_the_oldest_files_past_its_cap ... ok test uploads::reliability_tests::upload_admission_is_bounded_and_cancellation_restores_capacity ... ok test tests::backdrop_quota_refuses_new_files_and_releases_space_on_delete ... ok test tests::streaming_upload_stops_at_byte_limit_and_leaves_no_artifact ... ok test result: ok. 24 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.07s Running unittests src/lib.rs (target/debug/deps/calternal_contacts-57f99114e3ff1f1e) running 1 test test note::related_links_tests::only_the_cards_related_group_names_related_people ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running tests/apple.rs (target/debug/deps/apple-e6c5e1b5a301544e) running 4 tests test apple_rewrite_keeps_canonical_extensions_and_takes_real_edits ... ok test unchanged_duplicate_ungrouped_occurrences_merge ... ok test client_deletion_requires_sent_field_and_uid_is_immutable ... ok test unsent_note_changes_survive_and_concurrent_edits_return_history ... ok test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s Running tests/break_codec.rs (target/debug/deps/break_codec-f9b2777f3a4081a6) running 11 tests test envelope_checks_and_original_copy_reject_ambiguous_or_edited_state ... ok test escaped_separator_parity_keeps_component_and_list_boundaries ... ok test canonical_note_comparison_checks_every_byte_and_falls_back_for_local_sections ... ok test folded_and_unfolded_utf8_lines_keep_values_and_their_original_bytes ... ok test bare_properties_and_ignored_parameter_properties_decode_the_same_values ... ok test multiline_google_custom_labels_cannot_create_other_card_groups ... ok test quoted_parameter_delimiters_and_value_colons_keep_their_meaning ... ok test typed_reordering_and_value_tag_changes_use_the_exported_wire_projection ... ok test component_and_list_comparisons_preserve_empty_parts_and_noncanonical_escapes ... ok test original_and_edited_note_snapshots_both_preserve_later_typed_edits ... ok test mixed_rendered_values_keep_all_other_bytes_during_a_client_edit ... ok test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running tests/break_generated.rs (target/debug/deps/break_generated-08a24cc24eb8c510) running 9 tests test fixed_seed_generated_shapes_include_every_reaudit_case ... ok test arbitrary_wire_and_note_inputs_preserve_bytes_or_explain_rejection ... ok test independent_vendor_shaped_cards_keep_foldings_metadata_and_unknowns ... ok test generated_notes_shapes_and_repeated_fact_edits_round_trip ... ok test synthetic_vendor_corpus_is_bidirectionally_byte_identical ... ok test five_megabyte_notes_survive_both_conversions ... ok test generated_valid_cards_and_messy_notes_keep_every_field ... ok test megabyte_value_ten_thousand_visible_fields_and_ten_megabyte_photo ... ok test ten_thousand_new_custom_labels_get_unique_groups_and_round_trip ... ok test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.13s Running tests/break_inventory.rs (target/debug/deps/break_inventory-33991750886624af) running 1 test test every_inventory_property_survives_a_neighbour_edit ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s Running tests/break_labels.rs (target/debug/deps/break_labels-eebeed34c89854d6) running 2 tests test names_use_human_order_even_when_vendor_properties_are_reordered ... ok test builtin_labels_show_the_words_on_the_phone_and_recover_original_codes ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running tests/break_layout.rs (target/debug/deps/break_layout-b481a97b3595e7b0) running 27 tests test a_phone_note_containing_h2_or_h1_round_trips ... ok test ambiguous_simultaneous_colon_edit_returns_phone_group_and_history ... ok test colon_bearing_label_edits_change_only_the_label_and_value_edits_only_the_value ... ok test colon_label_renames_survive_a_following_client_edit ... ok test company_and_department_edits_share_one_org_in_either_note_order ... ok test duplicate_structured_name_parts_are_unrepresentable ... ok test crlf_notes_preserve_original_escape_spelling_and_do_not_create_merge_conflicts ... ok test colons_delimiters_and_unicode_keep_their_exact_wire_values ... ok test first_list_ends_at_a_paragraph_and_second_list_stays_local ... ok test entering_a_birthday_year_clears_the_apple_omit_year_flag ... ok test flat_repeatable_lines_stay_and_are_reported ... ok test later_notes_headings_are_phone_text ... ok test empty_visible_properties_are_not_deleted_on_an_unchanged_round_trip ... ok test missing_h1_explains_rejection_and_empty_card_is_allowed ... ok test missing_wire_display_name_is_not_silently_created_by_a_round_trip ... ok test multiline_labels_never_turn_into_unreported_fields ... ok test multiple_unrepresentable_document_fields_explain_rejection ... ok test note_headings_and_crlf_do_not_change_plain_text ... ok test notes_heading_after_a_local_h1_owns_the_tail ... ok test multiple_edits_to_indistinguishable_occurrences_do_not_guess_hidden_parameters ... ok test org_hierarchy_is_one_fact_and_unchanged_components_stay_lossless ... ok test tags_keep_list_boundaries_when_a_category_contains_comma_space ... ok test unchanged_values_that_differ_only_by_trailing_spaces_keep_both_occurrences ... ok test utf8_bom_is_document_framing ... ok test unicode_names_keep_normalisation_scripts_direction_and_joiners ... ok test one_property_edit_changes_only_its_original_logical_line ... ok test markdown_whitespace_and_bullets_do_not_edit_the_phone ... ok test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s Running tests/break_links.rs (target/debug/deps/break_links-0f6e74fdb091a20d) running 4 tests test a_colon_in_a_related_name_is_text_and_an_explicit_uri_stays_a_uri ... ok test related_brackets_and_angle_brackets_are_valid_markdown_and_editable ... ok test escaped_closing_brackets_inside_a_name_are_not_link_delimiters ... ok test a_plain_name_that_looks_like_a_link_stays_that_name ... ok test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running tests/break_merge.rs (target/debug/deps/break_merge-8ca79441c1a29192) running 16 tests test crlf_new_group_is_written_once_for_multiple_incoming_values ... ok test additions_removals_values_and_labels_preserve_customised_note ... ok test distinct_repeated_types_return_quiet_concurrent_edit_notice ... ok test dropped_extension_parameters_keep_their_order_and_do_not_conflict_with_local_values ... ok test apple_reordering_churn_photo_and_dropped_extension_do_not_lose_local_edits ... ok test distinct_ungrouped_types_merge_reorders_edits_additions_and_deletions ... ok test phone_note_deletion_does_not_reappear_as_an_empty_note_on_read ... ok test identical_visible_rows_keep_both_occurrences_during_noop_and_changed_merges ... ok test phone_label_rename_replaces_local_value_edit ... ok test phone_notes_with_headings_merge_successfully ... ok test simultaneous_grouped_phone_and_photo_additions_put_photo_before_card ... ok test the_first_card_group_is_added_after_an_existing_photo ... ok test related_links_with_custom_relative_targets_bind_to_the_original_person ... ok test local_label_renames_take_phone_deletes_or_value_edits ... ok test unchanged_repeated_ungrouped_properties_keep_occurrences ... ok test same_line_concurrent_edits_and_deletes_take_phone_group ... ok test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s Running tests/format3.rs (target/debug/deps/format3-117c8350047c0c41) running 21 tests test ambiguous_single_fact_delete_and_edit_returns_all_previous_lines ... ok test ambiguous_occurrence_replaces_only_its_group_and_returns_exact_old_lines ... ok test colliding_colon_renderings_keep_occurrences_or_return_the_phone_group ... ok test ambiguous_client_group_takes_phone_order_while_other_groups_merge ... ok test department_hierarchy_is_one_fact_when_both_sides_edit_it ... ok test company_and_department_merge_as_separate_single_facts ... ok test equal_single_fact_values_still_bind_by_line_order_when_edited ... ok test identical_repeatable_rows_return_history_instead_of_guessing_hidden_occurrences ... ok test indistinguishable_single_fact_deletion_returns_phone_group_and_history ... ok test concurrent_org_additions_and_deletes_never_stop_sync ... ok test exact_client_occurrences_win_before_parameterless_identical_additions ... ok test identical_syncs_do_not_repeat_a_phone_group_replacement_notice ... ok test local_sections_above_notes_stay_local_and_below_become_phone_notes ... ok test phone_notes_keep_headings_dividers_lists_and_all_blank_lines_exactly ... ok test repeated_company_conflict_keeps_independent_department_edits ... ok test repeated_single_facts_typed_from_scratch_create_separate_properties ... ok test several_ambiguous_groups_report_each_previous_group_once ... ok test repeated_single_facts_bind_edit_delete_and_multiple_edits_to_occurrences ... ok test org_deletions_use_unique_departments_or_return_every_ambiguous_fact ... ok test unique_values_anchor_client_deletions_even_when_extension_parameters_are_omitted ... ok test unambiguous_repeated_client_edits_and_deletes_keep_other_occurrences ... ok test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s Running tests/hostile.rs (target/debug/deps/hostile-8e0be41ba5537655) running 10 tests test ambiguous_sources_damaged_notes_and_line_injection_are_errors ... ok test escapes_empty_values_caret_parameters_and_unknown_sequences ... ok test malformed_lines_and_mixed_endings_survive_a_neighbor_edit ... ok test arbitrary_note_text_never_panics ... ok test folds_at_arbitrary_byte_boundaries_recover_utf8 ... ok test arbitrary_bytes_never_panic_or_drop_a_byte ... ok test random_unicode_fields_survive_edits ... ok test ten_thousand_properties_keep_order_and_raw_lines ... ok test random_repeated_grouped_properties_keep_their_inventory ... ok test ten_megabyte_photo_stays_in_original_card_and_round_trips ... ok test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.97s Running tests/layout.rs (target/debug/deps/layout-4641b4d305b36b69) running 13 tests test apple_example_note_matches_the_published_layout ... ok test google_custom_labels_and_non_gregorian_birthdays_keep_their_wire_details ... ok test adr_has_three_readable_examples ... ok test markdown_related_links_with_spaces_and_unicode_are_reversible ... ok test not_a_field_and_other_sections_stay_exact ... ok test independent_phone_and_note_edits_preserve_local_spelling ... ok test photo_reference_is_an_attachment_io_boundary ... ok test notes_are_plain_text_two_way_through_nested_headings ... ok test phone_edit_appends_to_group_and_keeps_spacing_and_local_lines ... ok test renaming_an_apple_label_changes_only_its_label_property ... ok test each_visible_edit_preserves_other_raw_lines ... ok test typed_edits_after_reading_a_note_patch_the_readable_card ... ok test readable_layout_and_all_agreed_fields ... ok test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running tests/roundtrip.rs (target/debug/deps/roundtrip-db3cc406d58691ee) running 10 tests test add_delete_and_repeated_fields_keep_the_right_occurrence ... ok test editing_geo_keeps_coordinate_precision_and_semicolon_structure ... ok test hand_edit_uses_external_original_until_export ... ok test new_and_edited_canonical_notes_are_identical_after_wire_import ... ok test new_contact_uid_is_note_id_and_default_is_three ... ok test structured_names_addresses_labels_and_partial_dates_are_typed ... ok test reordering_fields_and_changing_value_tags_cannot_make_an_unstable_note ... ok test version_mapping_keeps_phone_text_preferences_and_photo_bytes ... ok test corpus_is_identical_in_both_directions ... ok test editing_each_field_changes_only_its_raw_occurrence ... ok test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s Running unittests src/lib.rs (target/debug/deps/calternal_contacts_actions-8525022e72d0c8c9) running 130 tests test cards::tests::ids_cannot_leave_the_folder ... ok test facts::tests::a_card_without_a_name ... ok test facts::tests::reads_name_and_facts_in_order ... ok test frontmatter::tests::no_frontmatter_is_left_alone ... ok test frontmatter::tests::a_body_divider_is_not_frontmatter ... ok test cards::tests::copies_are_written_whole_and_removed ... ok test frontmatter::tests::splits_and_joins_back_exactly ... ok test jobs::tests::attempts_are_stable_and_distinct ... ok test import::tests::identity_is_the_uid_or_the_bytes ... ok test names::tests::a_fact_equal_to_the_name_is_skipped ... ok test names::tests::bidi_controls_never_reach_a_file_name_but_joiners_do ... ok test names::tests::case_and_unicode_form_clash ... ok test names::tests::clashes_add_the_first_fact_then_a_number ... ok test names::tests::empty_and_emoji_names ... ok test names::tests::illegal_characters_become_dashes ... ok test names::tests::nfd_and_nfc_give_one_name ... ok test namer::tests::names_come_from_the_note_and_its_card ... ok test names::tests::long_names_are_cut_between_whole_characters ... ok test tests::basics::bad_cards_are_refused_and_nothing_is_written ... ok test tests::basics::contact_actions_never_touch_other_notes ... ok test tests::basics::a_retry_with_the_same_key_makes_one_contact ... ok test tests::basics::a_new_name_renames_and_links_follow ... ok test tests::basics::create_writes_the_note_and_its_card ... ok test tests::basics::update_merges_and_keeps_typing ... ok test tests::basics::delete_goes_to_the_trash_and_restore_brings_it_back ... ok test tests::break_links::a_rename_onto_an_existing_file ... ok test tests::break_links::case_only_renames ... ok test tests::break_links::code_stays_and_anchors_travel ... ok test tests::break_links::deleted_forever_links_say_so ... ok test tests::break_links::nfc_and_nfd_names ... ok test tests::break_links::relative_links_from_subfolders ... ok test tests::break_links::rename_while_another_client_edits_a_linking_note ... ok test tests::break_links::rename_chains ... ok test tests::break_links::the_checker_finds_dangling_links ... ok test tests::break_links::swapping_two_names ... ok test tests::break_names::a_name_an_existing_note_has ... ok test tests::break_links::the_title_never_renames_a_contact_file ... ok test tests::break_names::names_differing_only_in_case_are_one_name ... ok test tests::break_names::empty_and_emoji_names ... ok test tests::break_names::the_folder_is_a_setting ... ok test tests::break_names::clashes_add_company_then_city_then_nickname_then_domain_then_a_number ... ok test tests::break_names::unsafe_characters_never_reach_the_file_name ... ok test tests::break_names::very_long_names_fit_the_byte_limit ... ok test tests::correctness::acknowledged_edit_between_undo_preparation_and_deletion_survives ... ok test tests::correctness::deletion_crash_child ... ok ```
Author
Owner

Gate output verbatim for 798f1bbe91; workspace; part 2/3; exit 0.

Command: cargo test -j3 --workspace --locked --no-fail-fast

test tests::correctness::crash_after_unlink_finishes_history_and_quota_on_restart ... ok
test tests::correctness::deletion_recovery_preserves_an_outside_edit_made_while_down ... ok
test tests::env::fixture_releases_its_engine_and_stores ... ok
test tests::env::pause_markers_accept_serial_and_parallel_child_harness_output ... ok
test tests::correctness::failed_partial_import_releases_every_prepared_card_exactly ... ok
test tests::correctness::bounded_shutdown_joins_the_card_write_and_refuses_later_copies ... ok
test tests::import::an_import_makes_every_new_contact_in_one_job ... ok
test tests::import::a_final_flush_failure_undoes_every_published_contact_and_can_retry ... ok
test tests::import::bulk_import_preserves_an_id_held_only_by_trash_details ... ok
test tests::import::limits_hold ... ok
test tests::import::a_final_flush_failure_in_an_existing_folder_preserves_earlier_contacts ... ok
test tests::kill9::child ... ok
test tests::import::the_same_file_twice_changes_nothing ... ok
test tests::import::parallel_import_keeps_input_order_and_compares_existing_peer_facts ... ok
test tests::kill9::create_killed_prepared ... ok
test tests::break_links::five_thousand_links_across_a_thousand_notes ... ok
test tests::kill9::create_killed_committed ... ok
test tests::kill9::create_killed_copying ... ok
test tests::kill9::edit_killed_committed ... ok
test tests::kill9::import_killed_committed ... ok
test tests::kill9::edit_killed_copying ... ok
test tests::kill9::import_killed_copying ... ok
test tests::kill9::edit_killed_prepared ... ok
test tests::kill9::rename_killed_committed ... ok
test tests::kill9::rename_killed_copying ... ok
test tests::kill9::rename_killed_mid_rename ... ok
test tests::kill9::rename_killed_planned ... ok
test tests::kill9::import_killed_planned ... ok
test tests::kill9::import_killed_prepared ... ok
test tests::naming::an_h1_typed_in_the_app_renames_by_the_contacts_rule ... ok
test tests::naming::restoring_into_a_taken_name_uses_the_contacts_rule ... ok
test tests::related::a_related_namesake_in_the_same_import_wins_over_the_book ... ok
test tests::kill9::import_killed_mid_import ... ok
test tests::related::an_unchanged_phone_resend_changes_nothing ... ok
test tests::related::create_and_update_link_one_person_and_leave_namesakes_plain ... ok
test tests::related::related_names_from_one_import_link_to_the_files_made ... ok
test tests::review3::a_card_saved_with_a_byte_order_mark_is_read ... ok
test tests::review3::a_uidless_card_edited_on_the_phone_then_imported_again_is_not_a_duplicate ... ok
test tests::review3::bidi_controls_never_reach_a_file_name ... ok
test tests::review3::contact_writes_are_refused_after_shutdown ... ok
test tests::review3::imports_and_photo_cards_count_against_the_storage_limit ... ok
test tests::kill9::rename_killed_prepared ... ok
test tests::review3::undo_of_a_contact_change_is_held_to_the_limit ... ok
test tests::related::every_related_link_reaches_the_person_it_names ... ok
test tests::review::both_ends_in_trash_restore_source_before_target_keeps_identity ... ok
test tests::review::concurrent_undo_and_staged_update_keep_note_and_card_together ... ok
test tests::review::crash_child ... ok
test tests::review::device_name_before_extension_is_safe ... ok
test tests::review::import_shared_company_uses_distinguishing_city_and_identical_facts_use_numbers ... ok
test tests::review::kill9_delete_before_progress ... ok
test tests::review::kill9_delete_only_runtime_inverse ... ok
test tests::review3::same_size_photo_swaps_are_held_to_the_limit ... ok
test tests::props::random_sequences_keep_every_invariant ... ok
test tests::review3::undoing_an_import_releases_everything_it_kept ... ok
test tests::review::kill9_import_after_history_transaction ... ok
test tests::review::kill9_import_during_file_placement ... ok
test tests::review::kill9_import_after_first_file ... ok
test tests::review::kill9_import_after_directory_sync ... ok
test tests::review::kill9_restore_after_incoming_link_repair ... ok
test tests::review::kill9_restore_after_outgoing_link_repair ... ok
test tests::review::kill9_restore_before_incoming_link_repair ... ok
test tests::review::kill9_restore_before_outgoing_link_repair ... ok
test tests::review::kill9_restore_before_progress ... ok
test tests::review::kill9_runtime_inverse ... ok
test tests::review::link_in_trash_follows_rename ... ok
test tests::review::ordinary_tag_job_and_undo_preserve_concurrent_typing ... ok
test tests::review::rename_to_unbalanced_bracket_keeps_a_markdown_link ... ok
test tests::review::replayed_delete_only_runtime_inverse_restores_only_job_edit ... ok
test tests::review::replayed_runtime_inverse_restores_only_job_edit ... ok
test tests::review::restore_does_not_resurrect_a_removed_link_or_retarget_its_identical_replacement ... ok
test tests::review::restore_into_taken_name_preserves_link_identity ... ok
test tests::review::kill9_import_into_existing_folder_after_first_file ... ok
test tests::review::same_company_uses_city ... ok
test tests::review::undo_refuses_a_later_phone_card_before_moving_or_retargeting_anything ... ok
test tests::sweep::the_sweep_drops_cards_of_contacts_gone_for_good ... ok
test tests::sweep::undo_and_deleting_forever_sweep_at_once ... ok
test tests::review::kill9_import_private_files_before_history ... ok
test tests::undo::a_retry_after_a_failed_rename_retries_cleanly_and_never_doubles ... ok
test tests::undo::undo_of_a_rename_takes_the_card_back_with_the_note ... ok
test tests::review::kill9_import_into_existing_folder_after_directory_sync ... ok
test write::tests::keyed_ids_are_stable ... ok
test write::tests::old_titles_cover_name_file_and_clash_forms ... ok
test tests::undo::undo_of_an_import_takes_every_contact_back ... ok
test tests::undo::a_batch_that_fails_part_way_is_undone_completely ... ok
test tests::review::ring_import_1000_swaps_chains_unicode_h1_and_undo ... ok

test result: ok. 130 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 37.01s

     Running unittests src/lib.rs (target/debug/deps/calternal_core-22753e58953721f1)

running 13 tests
test action::tests::namespace_is_enforced ... ok
test batch::tests::stops_at_the_first_error ... ok
test drain::tests::close_gives_up_after_its_bound ... ok
test batch::tests::visits_everything_once_in_order ... ok
test error::tests::every_code_has_a_friendly_message ... ok
test drain::tests::close_waits_for_work_already_in_and_refuses_new_work ... ok
test journal::tests::junk_tokens_ask_for_a_refresh ... ok
test journal::tests::tokens_round_trip ... ok
test plugin::tests::plugins_stay_in_their_namespace ... ok
test room_queue::tests::budgets_count_bytes_and_release_on_receive_and_drop ... ok
test room_queue::tests::control_messages_can_release_rooms_when_payload_budgets_are_full ... ok
test room_queue::tests::deferred_payload_keeps_local_and_global_byte_admission ... ok
test room_queue::tests::failed_admission_does_not_leak_reservations ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/calternal_daily-c3e124f2a28a5da8)

running 22 tests
test day::tests::daylight_saving_uses_the_offset_the_device_sends ... ok
test day::tests::midnight_follows_the_device_in_ist ... ok
test day::tests::titles_read_like_the_web_app ... ok
test day::tests::names_and_ids ... ok
test tests::bad_input_is_refused_kindly ... ok
test tests::any_text_is_safe_to_read_and_plan ... ok
test tests::an_existing_day_file_is_reused_whatever_its_id ... ok
test tests::close_turns_one_open_entry_into_a_range ... ok
test tests::add_inserts_exactly_one_entry_and_keeps_the_rest ... ok
test tests::log_add_then_close_makes_a_range ... ok
test tests::shared_vectors ... ok
test tests::opening_the_same_day_at_once_makes_one_note ... ok
test tests::today_follows_the_device_offset ... ok
test tests::two_offline_devices_starting_the_same_day_merge_into_one_note ... ok
test tests::make_note_on_a_log_line_keeps_times_and_tags ... ok
test times_tests::any_line_is_safe ... ok
test times_tests::invalid_spaced_twelve_hour_suffix_stays_a_word_after_a_24_hour_time ... ok
test times_tests::only_a_day_note_has_times ... ok
test times_tests::a_line_with_only_tags_stays_words ... ok
test times_tests::trailing_tags_on_any_line ... ok
test times_tests::a_log_line_splits_into_times_words_and_tags ... ok
test tests::no_file_until_the_first_keystroke ... ok

test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.40s

     Running unittests src/lib.rs (target/debug/deps/calternal_engine-ff3aa4aa42431a1a)

running 16 tests
test hash::tests::key_order_does_not_matter_but_content_does ... ok
test tests::a_plugin_cannot_write_outside_its_namespace ... ok
test tests::a_retry_runs_once_and_replays_the_result ... ok
test tests::a_huge_job_never_delays_anyone ... ok
test tests::bad_input_and_unknown_actions_are_friendly ... ok
test tests::changes_need_a_key_reads_do_not ... ok
test tests::connected_follows_live_views ... ok
test tests::identical_calls_at_the_same_moment_run_once ... ok
test tests::journal_pages_continue_where_they_stopped ... ok
test tests::a_user_with_a_live_view_or_a_running_action_is_kept ... ok
test tests::perf_huge_job_action_latency ... ignored, action latency budgets run on the perf VM via perf/ordinary-latency-vm.sh
test tests::an_action_that_outlives_shutdown_commits_nothing ... ok
test tests::shutdown_waits_for_running_actions_and_refuses_new_ones ... ok
test tests::users_never_see_each_other ... ok
test tests::no_write_is_lost_while_users_are_released_and_reopened ... ok
test tests::an_idle_user_is_released_and_comes_back_with_nothing_lost ... ok

test result: ok. 15 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.46s

     Running unittests src/lib.rs (target/debug/deps/calternal_fixtures-6f98542429b58355)

running 5 tests
test dates::tests::round_trips_and_formats ... ok
test rng::tests::same_seed_same_numbers ... ok
test tests::same_seed_same_bytes_other_seed_other_bytes ... ok
test tests::looks_like_a_real_home ... ok
test tests::full_gate_has_enough_disjoint_samples ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.96s

     Running unittests src/main.rs (target/debug/deps/calternal_fixtures-f234eac8403fa749)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/calternal_fsio-9bd041006b3e8124)

running 107 tests
test swap::create_tests::create_preserves_outside_file_appearing_after_absence_check ... ok
test beneath::tests::walking_without_openat2_refuses_symlinks_too ... ok
test beneath::tests::temp_files_persist_without_replacing_and_vanish_when_dropped ... ok
test swap::create_tests::unsupported_exchange_never_replaces_an_existing_file ... ok
test beneath::tests::paths_that_climb_out_are_refused ... ok
test tests::atomic_write_replaces_and_leaves_no_temp_files ... ok
test tests::case_only_collision_rolls_back_or_keeps_the_staged_original ... ok
test tests::a_published_directory_retains_ownership_when_a_parent_flush_fails ... ok
test tests::case_only_rename_preserves_a_different_destination ... ok
test tests::case_only_rename_works_and_other_clashes_are_refused ... ok
test tests::delta_rename_must_preserve_file_arriving_after_absence_check ... ok
test tests::dropping_data_lock_releases_it_even_with_an_inherited_file_handle ... ok
test tests::failed_write_keeps_the_old_file ... ok
test tests::directory_publication_rechecks_changed_inheritance_policy ... ok
test tests::many_files_are_replaced_whole ... ok
test tests::named_bulk_staging_is_whole_exclusive_and_leaves_no_temporary_name ... ok
test tests::many_new_files_never_replace_anything ... ok
test tests::names_fold_case_and_unicode_form ... ok
test tests::only_one_process_owns_a_data_folder ... ok
test tests::prepared_writes_land_only_when_placed ... ok
test tests::private_directory_publication_preserves_a_destination_that_arrives ... ok
test tests::a_private_directory_is_invisible_until_exclusive_publication ... ok
test tests::rename_preserves_a_dangling_destination_symlink ... ok
test tests::staged_bulk_keeps_the_destination_default_acl ... ok
test tests::unique_names_skip_case_and_form_clashes ... ok
test tests::staged_bulk_preserves_occupied_files_and_falls_back_when_staging_is_missing ... ok
test tests::write_unless_changed_keeps_someone_elses_version ... ok
test usage::independent_review::independent_crash_child ... ignored, helper process for the controlled SIGKILL test
test tests::parallel_bulk_preserves_result_slots_and_observes_the_final_sync ... ok
test tests::big_writes_arrive_whole ... ok
test usage::independent_review::independent_external_edits_and_startup ... ok
test usage::independent_review::independent_folder_and_file_moves ... ok
test usage::independent_review::independent_non_utf8_filename_on_startup ... ok
test usage::independent_review::independent_kill_between_observation_and_counter_publish ... ok
test usage::independent_review::independent_unreadable_regular_file_on_startup ... ok
test usage::lifecycle_tests::app_publication_adds_known_bytes_without_authorizing_a_provisional_total ... ok
test usage::lifecycle_tests::failed_admission_fence_reports_coverage_and_recovers ... ok
test usage::lifecycle_tests::failed_home_keeps_a_retry_without_new_events_and_healthy_home_stays_clean ... ok
cp: failed to clone '/tmp/quota-independent-2070215-6/users/b/copy' from '/tmp/quota-independent-2070215-6/users/a/sparse': Operation not supported
test usage::independent_review::independent_sparse_large_zero_and_symlinks ... ok
test usage::lifecycle_tests::moved_users_discovery_clears_known_homes_without_a_replacement_root ... ok
test usage::lifecycle_tests::only_homes_stale_beyond_sixty_seconds_report_staleness ... ok
test usage::lifecycle_tests::restored_inode_coverage_turns_fallback_off ... ok
test usage::lifecycle_tests::review_754g_failure_boundaries_keep_exact_health_without_path_retry_records ... ok
test usage::lifecycle_tests::unreadable_home_reports_failure_and_keeps_healthy_home_total ... ok
test usage::lifecycle_tests::unreadable_users_discovery_is_reported_before_any_home_is_known ... ok
test usage::independent_review::independent_hardlink_lifecycle ... ok
test usage::independent_review::independent_concurrent_app_and_outside_replacements ... ok
test usage::regressions::existing_directory_moves_trash_restore_delete_match_walk ... ok
test usage::regressions::hard_link_in_place_change_must_match_walk ... ok
test usage::regressions::native_publish_then_outside_move_must_match_walk ... ok
test usage::regressions::stopped_server_changes_are_recounted ... ok
test usage::lifecycle_tests::large_folders_stream_and_admission_only_visits_its_home ... ok
test usage::regressions::hard_links_created_after_startup_and_alias_replacement_converge ... ok
test usage::review_754b::raw_listing_and_quota_distinguish_two_invalid_names_and_their_display_name ... ok
test usage::review_754b::health_is_retained_without_io_and_cleared_by_a_successful_full_scan ... ok
test usage::review_754b::unreadable_sparse_regular_file_is_measured_without_read_access ... ok
test usage::review_754b::symlinks_and_special_entries_do_not_charge_or_pollute_health ... ok
test usage::review_754e::review_754e_home_renamed_away_then_recreated_refreshes_current_home ... ok
test usage::review_754e::review_754e_home_replaced_between_walk_and_publish_is_retried ... ok
test usage::review_754c::review_754c_ordinary_edits_during_recounts_do_not_poison_health ... ok
test usage::regressions::write_via_hard_link_outside_watch_must_match_walk ... ok
test usage::review_containment::opened_parent_moved_outside_home_must_not_be_walked ... ok
test usage::review_containment::repeated_users_replacement_exhausts_three_attempts_without_charging ... ok
test usage::review_containment::review_754c_deletion_after_last_stat_discards_snapshot_and_recount_succeeds ... ok
test usage::review_754e::review_754e_ten_thousand_files_raw_names_sparse_and_hardlinks ... ok
test usage::review_containment::review_754c_rename_at_each_depth_rejects_then_rescans_and_accepts_return ... ok
test usage::review_containment::review_754c_swapping_folders_invalidates_both_open_descriptors ... ok
test usage::review_containment::review_754c_replaced_users_root_cannot_charge_new_outside_files ... ok
test usage::review_containment::review_754d_refresh_must_not_follow_a_replaced_parent_symlink ... ok
test usage::review_containment::review_754d_returned_directory_charges_bytes_that_returned_with_it ... ok
test usage::regressions::removing_or_moving_the_watched_alias_retains_external_write_coverage ... ok
test usage::review_containment::review_754g_admission_rejects_a_newer_failure_during_its_walk ... ok
test usage::review_containment::review_754g_coalesced_retry_visits_no_healthy_home ... ok
test usage::review_containment::review_754g_home_deleted_inside_running_scheduled_retry ... ok
test usage::review_containment::review_754g_mixed_batches_keep_every_failure_in_all_positions ... ok
test usage::simple_tests::admission_flushes_queued_events_and_outside_hardlink_writes ... ok
test usage::simple_tests::delayed_native_events_cannot_certify_a_detached_directory ... ok
test usage::simple_tests::home_replaced_before_publication_is_retried ... ok
test usage::simple_tests::raw_names_sparse_hardlinks_symlinks_and_unreadable_files_are_charged_by_metadata ... ok
test usage::simple_tests::registration_swap_cannot_cache_another_inodes_watch ... ok

running 1 test
test usage::review_containment::review_754d_reused_directory_inode_must_not_certify_a_replacement ... ok
test usage::simple_tests::startup_is_async_and_clean_homes_have_no_health_noise ... ok
test usage::tests::a_change_that_becomes_unmeasurable_during_recount_reports_failure ... ok
test usage::tests::a_move_target_already_seen_by_a_recount_is_not_charged_twice ... ok
test usage::tests::a_separate_state_root_counts_what_plugins_report ... ok
test usage::tests::application_writes_through_directory_aliases_charge_the_real_file_once ... ok
test usage::review_containment::review_754f_admission_during_long_reconciliation_refuses_stale_totals ... ok
test usage::tests::background_does_not_count_symlink_targets ... ok
test usage::tests::background_accounts_for_outside_edits_and_directory_moves ... ok
test usage::tests::bulk_writes_and_published_folders_count_without_a_recount ... ok
test usage::tests::incomplete_measurements_remain_visible_until_a_full_recount ... ok
test usage::tests::raw_names_survive_startup_and_scoped_repair ... ok
test usage::tests::reads_do_not_wait_for_the_counter_writer ... ok
test usage::tests::recount_does_not_charge_directory_aliases_twice ... ok
test usage::tests::recount_preserves_concurrent_writes_and_deletes ... ok
test usage::tests::stale_metadata_cannot_replace_a_newer_update ... ok
test usage::tests::unreadable_subtree_is_a_retained_failure_not_zero_usage ... ok
test usage::tests::writes_moves_trash_and_purge_update_without_a_recount ... ok
test usage::watch::platform::tests::deleted_home_releases_watch_index_capacity ... ok
test usage::watch::platform::tests::incomplete_counts_prune_detached_inode_watches ... ok
test usage::watch::platform::tests::listener_stops_under_continuous_outside_hardlink_writes ... ok
test usage::watch::platform::tests::overflow_rebuilds_every_home_before_admission ... ok
test usage::watch::platform::tests::retired_directory_watch_is_reinstalled_before_ignored_delivery ... ok
test usage::watch::platform::tests::watcher_failure_only_reports_provisional_bytes_and_polling_health ... ok
test usage::tests::background_notices_a_created_and_replaced_users_tree ... ok
quota whole-Home property: 2000 seeded cases passed
test usage::simple_tests::seeded_whole_home_property ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 106 filtered out; finished in 4.54s

test usage::simple_tests::seeded_whole_home_property ... ok
test usage::review_754e::review_754e_native_events_follow_replaced_homes_without_stale_fd_charges ... ok

test result: ok. 106 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 23.29s

     Running tests/review_754d_mount.rs (target/debug/deps/review_754d_mount-4f1c6655532ec8b6)

running 2 tests

running 1 test

running 1 test
test review_754d_bind_mount_is_currently_in_scope ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s

test review_754d_tmpfs_mount_is_currently_in_scope ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s

test review_754d_bind_mount_is_currently_in_scope ... ok
test review_754d_tmpfs_mount_is_currently_in_scope ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

     Running tests/review_754e_mount.rs (target/debug/deps/review_754e_mount-66ace891e2aaf0cb)

running 1 test

running 1 test
mount discovery: incremental=0, fresh=0, Health=Some(StorageFailure { unmeasured_entries: 1, detail: "Storage measurement: 0 Home discovery/coverage failures (retry every 60 seconds; check users folder permissions), 0 unmeasured entries (check Home permissions), 0 Homes stale beyond 60 seconds, 0 Homes polling every 60 seconds; not counted: mount point (1). Uploads wait for a fresh count." })
test review_754e_incremental_mount_discovery_matches_a_fresh_recount ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

test review_754e_incremental_mount_discovery_matches_a_fresh_recount ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running unittests src/lib.rs (target/debug/deps/calternal_memory-3b65467e6e94a530)

running 2 tests
test tests::huge_pages_go_off ... ok
test tests::trimming_is_harmless ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/calternal_migrate_v0-0bc78ad208dd983e)

running 37 tests
test tests::rules::dry_run_writes_nothing ... ok
test tests::rules::m1_custom_daily_title_and_heading_stay ... ok
test tests::rules::edited_files_are_never_overwritten_without_asking ... ok
test tests::rules::m10_tz_markers_go_and_other_zones_convert_to_the_notes_zone ... ok
test tests::rules::m1_daily_notes_get_day_names_ids_and_lose_generated_headings ... ok
test tests::rules::m1_titles_come_from_title_then_h1_then_file_name_and_stay_unique ... ok
test tests::rules::m2_code_is_never_rewritten ... ok
test tests::rules::m2_attachments_that_exist_are_copied_and_relinked ... ok
test tests::rules::m2_unresolved_links_stay_as_written_and_are_reported ... ok
test tests::rules::m2_wikilinks_always_become_standard_links ... ok
test tests::rules::m4_unreferenced_block_ids_go_and_referenced_ones_stay ... ok
test tests::rules::m2_links_are_repaired_by_name_date_title_and_slug ... ok
test tests::rules::m3_m5_frontmatter_keys_drop_and_times_convert ... ok
test tests::rules::m5_unreadable_dates_fall_back ... ok
test tests::rules::m8_only_notes_and_linked_files_move ... ok
test tests::rules::m7_tasks_blocks_are_stripped_and_listed ... ok
test tests::rules::m6_conflict_copies_are_not_migrated ... ok
test tests::units::every_v0_time_shape_converts ... ok
test tests::units::file_names_give_titles ... ok
test tests::units::keys_ignore_case_encoding_quotes_and_md ... ok
test tests::units::links_parse_in_every_shape ... ok
test tests::units::unix_times_become_india_time ... ok
test tzmarker::tests::a_conversion_that_leaves_the_day_is_kept_and_reported ... ok
test tzmarker::tests::berlin_converts_inside_the_day ... ok
test tzmarker::tests::code_is_never_touched ... ok
test tzmarker::tests::day_from_a_date_value ... ok
test tzmarker::tests::eu_summer_time_edges ... ok
test tzmarker::tests::marker_at_the_end_or_tight_leaves_no_stray_space ... ok
test tzmarker::tests::no_zone_in_the_note_means_strip_only ... ok
test tzmarker::tests::not_a_marker_is_left_alone ... ok
test tzmarker::tests::same_zone_just_goes ... ok
test tzmarker::tests::second_run_changes_nothing ... ok
test tzmarker::tests::styles_survive_conversion ... ok
test tzmarker::tests::unknown_zone_or_a_non_log_line_is_kept_and_counted ... ok
test write::tests::migration_preserves_files_changed_after_preflight ... ok
test tests::rules::running_twice_gives_the_same_bytes ... ok
test tests::no_new_markers::nothing_writes_a_tz_marker ... ok

test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running unittests src/lib.rs (target/debug/deps/calternal_notes-c6740acc93b95d12)

running 431 tests
test anchor::tests::hash_is_plain_sha256_hex ... ok
test anchor::tests::lines_by_utf16_index ... ok
test backlinks::tests::snippets_are_the_trimmed_line ... ok
test backlinks::tests::links_are_fold_keys_and_lines ... ok
test blocks::tests::line_edits ... ok
test blocks::tests::shapes_keep_markers ... ok
test blocks::tests::finds_list_children_and_heading_sections ... ok
test blocks::tests::titles_from_the_first_sentence ... ok
test bulk::undo::tests::inverse_restores_the_text ... ok
test diff::tests::an_inserted_line_starts_at_a_line_start ... ok
test bulk::undo::tests::inverse_roundtrips ... ok
test diff::tests::edits_never_split_a_character ... ok
test diff::tests::emoji_positions_are_utf16 ... ok
test bulk::error_tests::legacy_job_reports_hide_stored_source_details ... ok
test diff::tests::small_change_is_a_small_edit ... ok
test frontmatter::tests::h1_skips_code_and_frontmatter ... ok
test frontmatter::tests::quoting ... ok
test frontmatter::tests::reads_keys ... ok
test frontmatter::tests::set_adds_a_line_or_a_block ... ok
test frontmatter::tests::set_changes_only_the_value ... ok
test frontmatter::tests::set_is_utf16_aware ... ok
test health::tests::anchors ... ok
test history::blobs::tests::photo_chunks_preserve_folding_unknown_fields_and_line_endings ... ok
test bulk::error_tests::failed_job_reports_keep_source_details_in_the_server_error ... ok
test diff::tests::edits_turn_old_into_new ... ok
test history::companions::import_cache_tests::prepared_companions_are_applied_on_insert_or_roll_back_with_the_plan ... ok
test history::companions::import_cache_tests::import_cache_budget_returns_after_success_and_failure ... ok
test history::companions::migration_tests::old_staging_allocation_order_migrates_to_application_order ... ok
test history::companions::tests::a_companion_lands_with_its_change ... ok
test history::companions::tests::keys_answer_without_reading_bytes_and_cover_older_rows ... ok
test history::companions::tests::rejected_companion_writes_leave_history_and_quota_unchanged ... ok
test history::companions::tests::staged_rows_wait_for_their_step ... ok
test history::companions::tests::retained_bytes_follow_every_change_and_match_a_full_count ... ok
test history::memory_tests::batch_admission_failure_dooms_its_lane_before_a_later_write ... ok
test history::companions::tests::written_marks_and_unwritten_rows ... ok
test history::tests::a_busy_begin_reports_its_cause_without_running_the_job ... ok
test history::tests::a_failed_commit_never_replies_with_a_successful_statement_result ... ok
test history::tests::a_failed_statement_rolls_back_and_reports_the_cause_to_the_whole_group ... ok
test history::tests::a_competing_writer_cannot_invalidate_a_history_write_snapshot ... ok
test history::memory_tests::history_payload_bytes_are_bounded_per_home_and_globally_until_completion ... ok
test history::tests::appends_are_ordered_and_readable ... ok
test history::tests::disk_full_keeps_the_cause_and_failed_writes_can_be_retried ... ok
test history::tests::pending_save_promotes_to_base ... ok
test index::tests::a_shared_path_answers_with_the_newest_note ... ok
test index::tests::a_torn_tail_cannot_swallow_the_next_durable_mapping ... ok
test index::tests::compacts_when_it_grows ... ok
test home::background_task_tests::finished_background_tasks_are_reaped_during_normal_operation ... ok
test index::tests::imported_mappings_share_one_log_append_and_survive_reload ... ok
test index::tests::reload_speed ... ignored
test index::tests::survives_reload_renames_and_torn_lines ... ok
test index::tests::under_finds_exact_paths_and_descendants_with_folded_names ... ok
test index::tests::under_keeps_shadowed_paths_for_watcher_removal ... ok
test index::tests::unloads_and_reloads ... ok
test links::escaped_labels::generated_labels_round_trip_and_custom_markup_survives_retargeting ... ok
test history::blobs::tests::fifty_two_weekly_edits_share_the_unchanged_original_photo ... ok
test links::tests::finds_standard_and_old_style_links ... ok
test links::tests::frontmatter_code_samples_do_not_hide_body_links ... ok
test links::tests::longer_backtick_fence_does_not_close_on_three_ticks ... ok
test links::tests::nested_brackets_in_text ... ok
test links::tests::nested_fences_and_indented_code_follow_commonmark_boundaries ... ok
test links::tests::normal_fence_control_keeps_links_after_the_block ... ok
test links::tests::relative_paths ... ok
test links::tests::resolves_relative_to_the_linking_note ... ok
test links::tests::retarget_follows_the_title_and_keeps_custom_text ... ok
test links::tests::retarget_from_a_subfolder ... ok
test links::tests::retarget_matches_case_and_unicode_forms ... ok
test links::tests::skips_code_images_and_the_web ... ok
test links::tests::tilde_fence_does_not_close_on_trailing_text ... ok
test links::tests::unclosed_fence_hides_links_through_eof ... ok
test meta::tests::cursors_round_trip_and_reject_junk ... ok
test meta::tests::snippets_skip_frontmatter_and_headings ... ok
test missing::targets::tests::a_name_is_the_file_without_its_folder_and_extension ... ok
test missing::targets::tests::names_rank_exact_then_prefix_then_word_then_inside ... ok
test naming::tests::what_fits_and_what_to_try ... ok
test props::tests::adds_removes_and_quotes_links ... ok
test props::tests::already_typed_text_lists_keep_their_comments_and_quotes ... ok
test props::tests::changes_only_the_touched_key ... ok
test props::tests::list_items_are_written_as_text_too ... ok
test props::tests::obsidian_written_yaml_reads ... ok
test index::tests::directory_counts_match_full_scan_after_moves_and_reload ... ok
test props::tests::outside_keys_win_whole_and_unrelated_pending_keys_survive ... ok
test props::tests::quoting_round_trips_tricky_text ... ok
test props::tests::reads_every_list_form ... ok
test props::tests::refuses_what_it_cannot_read ... ok
test props::tests::review_malformed_unrelated_property_blocks_writes ... ok
test props::tests::review_property_case_override_is_honored ... ok
test props::tests::review_text_yaml_types ... ok
test props::tests::scalar_writes_preserve_types_in_both_directions ... ok
test rename::tests::clash_numbers ... ok
test rename::tests::daily_names ... ok
test rename::tests::h1_is_set_or_added ... ok
test room::acks::tests::varuints_round_trip ... ok
test room::actor::retry_tests::malformed_update_remains_a_permanent_refusal ... ok
test room::actor::retry_tests::retry_budget_failure_requests_rejoin_without_permanent_refusal ... ok
test room::edit::tests::checks_bounds_overlap_and_surrogates ... ok
test room::pipeline::memory_tests::actor_api_payload_remains_byte_bounded_when_deferred ... ok
test room::pipeline::memory_tests::global_retry_bytes_refuse_before_mutation_and_release_after_commit ... ok
test index::tests::answers_like_plain_maps ... ok
test room::pipeline::memory_tests::parked_cross_writer_input_is_journaled_before_its_dependency_releases_it ... ok
test room::pipeline::memory_tests::per_room_retry_bytes_apply_backpressure_before_another_update ... ok
test room::pipeline::memory_tests::server_and_outside_updates_are_admitted_before_live_mutation ... ok
test room::save::tests::concurrent_typists_and_saves_converge ... ok
test room::save::tests::kill_nine_mid_save_recovers_title_and_bytes ... ok
test room::save::tests::review::failed_history_outside_edit_cannot_be_acknowledged_before_recovery ... ok
test room::save::tests::review::failed_history_server_edit_cannot_be_acknowledged_before_recovery ... ok
test room::save::tests::review::group_commit::a_parked_step_two_does_not_answer_save_checks ... ok
test room::save::tests::review::group_commit::a_peer_joining_mid_retry_and_typing_is_saved_once_durable ... ok
test room::save::tests::review::group_commit::a_retried_api_edit_sends_its_changed_event ... ok
test room::save::tests::review::group_commit::an_incomplete_step_two_cannot_release_held_save_checks ... ok
test room::save::tests::review::group_commit::edits_typed_during_a_write_commit_together ... ok
test room::save::tests::review::group_commit::a_failed_write_is_never_overtaken ... ok
test room::save::tests::review::group_commit::lanes::checks_after_each_edit_stay_bounded_per_connection ... ok
test room::save::tests::review::group_commit::lanes::doomed_lanes_do_not_roll_back_others ... ok
test links::tests::code_block_spans_match_pulldown_on_random_markdown ... ok
test room::save::tests::review::group_commit::mixed_paths_keep_applied_order_through_retry ... ok
test room::save::tests::review::group_commit::perf_save_checks_under_twenty_seconds ... ignored, outage-check latency budget runs on the perf VM via perf/ordinary-latency-vm.sh
test room::save::tests::review::group_commit::lanes::mid_batch_failure_with_other_note_typing ... ok
test room::save::tests::review::group_commit::save_checks_during_an_outage_stay_bounded ... ok
test room::save::tests::review::group_commit::saved_arrives_after_storage_recovers_without_new_activity ... ok
test room::save::tests::review::group_commit::two_notes_keep_their_own_order ... ok
test room::save::tests::review::history_durability::independent_652_failed_first_typed_edit_must_precede_second ... ok
test room::save::tests::review::history_durability::independent_652_disk_full_mid_burst_then_recovery ... ok
test room::save::tests::review::history_durability::independent_652_queued_api_requires_replay_after_kill9 ... ok
test room::save::tests::review::history_durability::independent_652_queued_crash_child ... ok
test room::save::tests::review::history_durability::independent_652_real_syncclient_joining_snapshot_is_not_saved ... ok
test room::save::tests::review::history_durability::independent_652_outage_queue_and_save_checks ... ok
test room::save::tests::review::history_durability::independent_652_real_syncclient_peers_and_restart_replay ... ok
test room::save::tests::review::history_durability::perf_outage_checks_under_two_seconds ... ignored, outage-check latency budget runs on the perf VM via perf/ordinary-latency-vm.sh
test room::save::tests::review::history_durability::retained_failed_edits_keep_the_file_and_list_cache_dirty ... ok
test room::save::tests::review::review_acknowledged_save_child ... ok
test room::save::tests::review::review_delete_set_before_insert_and_trailing_format_marks ... ok
test room::save::tests::review::review_failed_save_retry_and_outside_retry_keep_base_cache ... ok
test room::save::tests::review::history_durability::metadata_refresh_does_not_block_sync_behind_an_uncommitted_seed ... ok
test room::save::tests::review::review_kill_nine_after_save_reply_preserves_exact_file_history_and_version ... ok
test props::tests::only_intended_keys_change ... ok
test room::save::tests::review::slow_disk::slow_disk_long ... ignored, measurement for the perf VM, not a gate
test room::save::tests::review::slow_disk::slow_disk_matrix ... ignored, measurement for the perf VM, not a gate
test room::save::tests::save_kill_child ... ok
test room::save::tests::review::review_title_precedence_edge_matrix ... ok
test room::save::tests::title_sync_does_not_decode_the_saved_document ... ok
test scan::tests::day_ids_name_their_files ... ok
test scan::tests::state_round_trips_and_skips_odd_names ... ok
test search::tests::a_note_becomes_a_document ... ok
test search::tests::plain_search_lines_borrow_their_text ... ok
test search::tests::search_lines_keep_link_text_and_replacement_order ... ok
test search::tests::titles_fall_back_to_the_file_name ... ok
test smartline::tests::a_plain_line ... ok
test smartline::tests::only_tags_are_words ... ok
test smartline::tests::trailing_tags_only ... ok
test stamp::tests::formats_with_offset ... ok
test storage_crash::kill9_after_ack_during_split_hdd_save_recovers_exact_text ... ok
test storage_crash::storage_child ... ok
test tags::front::tests::every_way_of_writing_tags ... ok
test tags::merge::tests::property_tags_go_with_their_comma_or_line ... ok
test tags::merge::tests::text_tags_go_with_one_space ... ok
test tags::rewrite::tests::merging_keeps_every_tag_once_at_most ... ok
test tags::rewrite::tests::nothing_to_do_is_no_edits ... ok
test tags::rewrite::tests::only_real_tags_change ... ok
test tags::rewrite::tests::positions_count_utf16 ... ok
test tags::rewrite::tests::properties_change_name_only ... ok
test tags::rewrite::tests::rename_and_back_is_the_same_text ... ok
test tags::rewrite::tests::renames_tags_and_nested_tags_only ... ok
test tags::rewrite::tests::renaming_onto_an_existing_tag_merges ... ok
test tags::rewrite::tests::words_code_links_and_headings ... ok
test tags::scan::tests::code_is_never_tags ... ok
test tags::scan::tests::hash_free_lines_still_open_and_close_code_fences ... ok
test tags::scan::tests::headings_and_quotes_keep_their_tags ... ok
test tags::scan::tests::link_targets_and_addresses_are_never_tags ... ok
test tags::scan::tests::not_tags ... ok
test tags::scan::tests::plain_tags ... ok
test tags::tests::nesting_and_cleaning ... ok
test tags::tests::properties_and_text ... ok
test tests::acks::an_older_lineage_is_refused_before_anything_is_sent ... ok
test tests::acks::checks_advance_in_order_and_cover_every_earlier_edit ... ok
test tests::acks::lineage_survives_a_restart ... ok
test tests::acks::saved_means_the_change_is_in_history ... ok
test tests::anchors::an_anchor_follows_its_block_when_lines_shift ... ok
test tests::anchors::an_edited_block_is_refused_never_the_wrong_one ... ok
test tests::anchors::anchors_need_a_hash_and_block_ids_work ... ok
test tests::anchors::history_folds_typing_and_names_jobs ... ok
test room::save::tests::saved_bytes_and_titles_match_the_old_copy_path ... ok
test tests::anchors::shifting_lines_never_move_the_wrong_block ... ok
test tests::appends::an_append_to_a_long_note_stays_small ... ok
test tests::appends::appends_built_directly_match_the_copy_byte_for_byte ... ok
test tests::appends_review::delete_whole_tail_then_append_matches ... ok
test tests::appends_review::frontmatter_map_write_falls_back ... ok
test tests::appends::typists_and_appends_interleave_on_one_note ... ok
test tests::appends_review::trailing_format_marker_bytes ... ok
test tests::delta_review::deleting_preserves_an_occupied_trash_destination ... ok
test tests::delta_review::delta_independent_same_id_create_retries_joined_must_not_panic ... ok
test tests::appends_review::fuzz_deletes_restarts_parked ... ok
test tests::delta_review::placement_review_bulk_create_cannot_adopt_an_outside_file ... ok
test tests::delta_review::placement_review_bulk_create_retry_keeps_original_version_for_undo ... ok
test tests::delta_review::placement_review_planned_rename_conflict_keeps_links_unchanged ... ok
test tests::delta_review::placement_review_rename_retargets_links_to_the_actual_suffix ... ok
test tests::delta_review::placement_review_undo_rename_conflict_keeps_links_at_the_live_note ... ok
test tests::delta_review::rename_uses_a_suffix_for_an_unindexed_destination ... ok
test tests::delta_review::same_id_sibling_creates_with_different_text_conflict ... ok
test tests::event_visibility::a_failed_list_commit_cannot_announce_a_pin ... ok
test tests::event_visibility::a_scan_cannot_replace_an_announced_live_pin_with_the_old_file ... ok
Gate output verbatim for 798f1bbe917335a46eec3b1121e675a8b2f525dc; workspace; part 2/3; exit 0. Command: `cargo test -j3 --workspace --locked --no-fail-fast` ```text test tests::correctness::crash_after_unlink_finishes_history_and_quota_on_restart ... ok test tests::correctness::deletion_recovery_preserves_an_outside_edit_made_while_down ... ok test tests::env::fixture_releases_its_engine_and_stores ... ok test tests::env::pause_markers_accept_serial_and_parallel_child_harness_output ... ok test tests::correctness::failed_partial_import_releases_every_prepared_card_exactly ... ok test tests::correctness::bounded_shutdown_joins_the_card_write_and_refuses_later_copies ... ok test tests::import::an_import_makes_every_new_contact_in_one_job ... ok test tests::import::a_final_flush_failure_undoes_every_published_contact_and_can_retry ... ok test tests::import::bulk_import_preserves_an_id_held_only_by_trash_details ... ok test tests::import::limits_hold ... ok test tests::import::a_final_flush_failure_in_an_existing_folder_preserves_earlier_contacts ... ok test tests::kill9::child ... ok test tests::import::the_same_file_twice_changes_nothing ... ok test tests::import::parallel_import_keeps_input_order_and_compares_existing_peer_facts ... ok test tests::kill9::create_killed_prepared ... ok test tests::break_links::five_thousand_links_across_a_thousand_notes ... ok test tests::kill9::create_killed_committed ... ok test tests::kill9::create_killed_copying ... ok test tests::kill9::edit_killed_committed ... ok test tests::kill9::import_killed_committed ... ok test tests::kill9::edit_killed_copying ... ok test tests::kill9::import_killed_copying ... ok test tests::kill9::edit_killed_prepared ... ok test tests::kill9::rename_killed_committed ... ok test tests::kill9::rename_killed_copying ... ok test tests::kill9::rename_killed_mid_rename ... ok test tests::kill9::rename_killed_planned ... ok test tests::kill9::import_killed_planned ... ok test tests::kill9::import_killed_prepared ... ok test tests::naming::an_h1_typed_in_the_app_renames_by_the_contacts_rule ... ok test tests::naming::restoring_into_a_taken_name_uses_the_contacts_rule ... ok test tests::related::a_related_namesake_in_the_same_import_wins_over_the_book ... ok test tests::kill9::import_killed_mid_import ... ok test tests::related::an_unchanged_phone_resend_changes_nothing ... ok test tests::related::create_and_update_link_one_person_and_leave_namesakes_plain ... ok test tests::related::related_names_from_one_import_link_to_the_files_made ... ok test tests::review3::a_card_saved_with_a_byte_order_mark_is_read ... ok test tests::review3::a_uidless_card_edited_on_the_phone_then_imported_again_is_not_a_duplicate ... ok test tests::review3::bidi_controls_never_reach_a_file_name ... ok test tests::review3::contact_writes_are_refused_after_shutdown ... ok test tests::review3::imports_and_photo_cards_count_against_the_storage_limit ... ok test tests::kill9::rename_killed_prepared ... ok test tests::review3::undo_of_a_contact_change_is_held_to_the_limit ... ok test tests::related::every_related_link_reaches_the_person_it_names ... ok test tests::review::both_ends_in_trash_restore_source_before_target_keeps_identity ... ok test tests::review::concurrent_undo_and_staged_update_keep_note_and_card_together ... ok test tests::review::crash_child ... ok test tests::review::device_name_before_extension_is_safe ... ok test tests::review::import_shared_company_uses_distinguishing_city_and_identical_facts_use_numbers ... ok test tests::review::kill9_delete_before_progress ... ok test tests::review::kill9_delete_only_runtime_inverse ... ok test tests::review3::same_size_photo_swaps_are_held_to_the_limit ... ok test tests::props::random_sequences_keep_every_invariant ... ok test tests::review3::undoing_an_import_releases_everything_it_kept ... ok test tests::review::kill9_import_after_history_transaction ... ok test tests::review::kill9_import_during_file_placement ... ok test tests::review::kill9_import_after_first_file ... ok test tests::review::kill9_import_after_directory_sync ... ok test tests::review::kill9_restore_after_incoming_link_repair ... ok test tests::review::kill9_restore_after_outgoing_link_repair ... ok test tests::review::kill9_restore_before_incoming_link_repair ... ok test tests::review::kill9_restore_before_outgoing_link_repair ... ok test tests::review::kill9_restore_before_progress ... ok test tests::review::kill9_runtime_inverse ... ok test tests::review::link_in_trash_follows_rename ... ok test tests::review::ordinary_tag_job_and_undo_preserve_concurrent_typing ... ok test tests::review::rename_to_unbalanced_bracket_keeps_a_markdown_link ... ok test tests::review::replayed_delete_only_runtime_inverse_restores_only_job_edit ... ok test tests::review::replayed_runtime_inverse_restores_only_job_edit ... ok test tests::review::restore_does_not_resurrect_a_removed_link_or_retarget_its_identical_replacement ... ok test tests::review::restore_into_taken_name_preserves_link_identity ... ok test tests::review::kill9_import_into_existing_folder_after_first_file ... ok test tests::review::same_company_uses_city ... ok test tests::review::undo_refuses_a_later_phone_card_before_moving_or_retargeting_anything ... ok test tests::sweep::the_sweep_drops_cards_of_contacts_gone_for_good ... ok test tests::sweep::undo_and_deleting_forever_sweep_at_once ... ok test tests::review::kill9_import_private_files_before_history ... ok test tests::undo::a_retry_after_a_failed_rename_retries_cleanly_and_never_doubles ... ok test tests::undo::undo_of_a_rename_takes_the_card_back_with_the_note ... ok test tests::review::kill9_import_into_existing_folder_after_directory_sync ... ok test write::tests::keyed_ids_are_stable ... ok test write::tests::old_titles_cover_name_file_and_clash_forms ... ok test tests::undo::undo_of_an_import_takes_every_contact_back ... ok test tests::undo::a_batch_that_fails_part_way_is_undone_completely ... ok test tests::review::ring_import_1000_swaps_chains_unicode_h1_and_undo ... ok test result: ok. 130 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 37.01s Running unittests src/lib.rs (target/debug/deps/calternal_core-22753e58953721f1) running 13 tests test action::tests::namespace_is_enforced ... ok test batch::tests::stops_at_the_first_error ... ok test drain::tests::close_gives_up_after_its_bound ... ok test batch::tests::visits_everything_once_in_order ... ok test error::tests::every_code_has_a_friendly_message ... ok test drain::tests::close_waits_for_work_already_in_and_refuses_new_work ... ok test journal::tests::junk_tokens_ask_for_a_refresh ... ok test journal::tests::tokens_round_trip ... ok test plugin::tests::plugins_stay_in_their_namespace ... ok test room_queue::tests::budgets_count_bytes_and_release_on_receive_and_drop ... ok test room_queue::tests::control_messages_can_release_rooms_when_payload_budgets_are_full ... ok test room_queue::tests::deferred_payload_keeps_local_and_global_byte_admission ... ok test room_queue::tests::failed_admission_does_not_leak_reservations ... ok test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/lib.rs (target/debug/deps/calternal_daily-c3e124f2a28a5da8) running 22 tests test day::tests::daylight_saving_uses_the_offset_the_device_sends ... ok test day::tests::midnight_follows_the_device_in_ist ... ok test day::tests::titles_read_like_the_web_app ... ok test day::tests::names_and_ids ... ok test tests::bad_input_is_refused_kindly ... ok test tests::any_text_is_safe_to_read_and_plan ... ok test tests::an_existing_day_file_is_reused_whatever_its_id ... ok test tests::close_turns_one_open_entry_into_a_range ... ok test tests::add_inserts_exactly_one_entry_and_keeps_the_rest ... ok test tests::log_add_then_close_makes_a_range ... ok test tests::shared_vectors ... ok test tests::opening_the_same_day_at_once_makes_one_note ... ok test tests::today_follows_the_device_offset ... ok test tests::two_offline_devices_starting_the_same_day_merge_into_one_note ... ok test tests::make_note_on_a_log_line_keeps_times_and_tags ... ok test times_tests::any_line_is_safe ... ok test times_tests::invalid_spaced_twelve_hour_suffix_stays_a_word_after_a_24_hour_time ... ok test times_tests::only_a_day_note_has_times ... ok test times_tests::a_line_with_only_tags_stays_words ... ok test times_tests::trailing_tags_on_any_line ... ok test times_tests::a_log_line_splits_into_times_words_and_tags ... ok test tests::no_file_until_the_first_keystroke ... ok test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.40s Running unittests src/lib.rs (target/debug/deps/calternal_engine-ff3aa4aa42431a1a) running 16 tests test hash::tests::key_order_does_not_matter_but_content_does ... ok test tests::a_plugin_cannot_write_outside_its_namespace ... ok test tests::a_retry_runs_once_and_replays_the_result ... ok test tests::a_huge_job_never_delays_anyone ... ok test tests::bad_input_and_unknown_actions_are_friendly ... ok test tests::changes_need_a_key_reads_do_not ... ok test tests::connected_follows_live_views ... ok test tests::identical_calls_at_the_same_moment_run_once ... ok test tests::journal_pages_continue_where_they_stopped ... ok test tests::a_user_with_a_live_view_or_a_running_action_is_kept ... ok test tests::perf_huge_job_action_latency ... ignored, action latency budgets run on the perf VM via perf/ordinary-latency-vm.sh test tests::an_action_that_outlives_shutdown_commits_nothing ... ok test tests::shutdown_waits_for_running_actions_and_refuses_new_ones ... ok test tests::users_never_see_each_other ... ok test tests::no_write_is_lost_while_users_are_released_and_reopened ... ok test tests::an_idle_user_is_released_and_comes_back_with_nothing_lost ... ok test result: ok. 15 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.46s Running unittests src/lib.rs (target/debug/deps/calternal_fixtures-6f98542429b58355) running 5 tests test dates::tests::round_trips_and_formats ... ok test rng::tests::same_seed_same_numbers ... ok test tests::same_seed_same_bytes_other_seed_other_bytes ... ok test tests::looks_like_a_real_home ... ok test tests::full_gate_has_enough_disjoint_samples ... ok test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.96s Running unittests src/main.rs (target/debug/deps/calternal_fixtures-f234eac8403fa749) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/lib.rs (target/debug/deps/calternal_fsio-9bd041006b3e8124) running 107 tests test swap::create_tests::create_preserves_outside_file_appearing_after_absence_check ... ok test beneath::tests::walking_without_openat2_refuses_symlinks_too ... ok test beneath::tests::temp_files_persist_without_replacing_and_vanish_when_dropped ... ok test swap::create_tests::unsupported_exchange_never_replaces_an_existing_file ... ok test beneath::tests::paths_that_climb_out_are_refused ... ok test tests::atomic_write_replaces_and_leaves_no_temp_files ... ok test tests::case_only_collision_rolls_back_or_keeps_the_staged_original ... ok test tests::a_published_directory_retains_ownership_when_a_parent_flush_fails ... ok test tests::case_only_rename_preserves_a_different_destination ... ok test tests::case_only_rename_works_and_other_clashes_are_refused ... ok test tests::delta_rename_must_preserve_file_arriving_after_absence_check ... ok test tests::dropping_data_lock_releases_it_even_with_an_inherited_file_handle ... ok test tests::failed_write_keeps_the_old_file ... ok test tests::directory_publication_rechecks_changed_inheritance_policy ... ok test tests::many_files_are_replaced_whole ... ok test tests::named_bulk_staging_is_whole_exclusive_and_leaves_no_temporary_name ... ok test tests::many_new_files_never_replace_anything ... ok test tests::names_fold_case_and_unicode_form ... ok test tests::only_one_process_owns_a_data_folder ... ok test tests::prepared_writes_land_only_when_placed ... ok test tests::private_directory_publication_preserves_a_destination_that_arrives ... ok test tests::a_private_directory_is_invisible_until_exclusive_publication ... ok test tests::rename_preserves_a_dangling_destination_symlink ... ok test tests::staged_bulk_keeps_the_destination_default_acl ... ok test tests::unique_names_skip_case_and_form_clashes ... ok test tests::staged_bulk_preserves_occupied_files_and_falls_back_when_staging_is_missing ... ok test tests::write_unless_changed_keeps_someone_elses_version ... ok test usage::independent_review::independent_crash_child ... ignored, helper process for the controlled SIGKILL test test tests::parallel_bulk_preserves_result_slots_and_observes_the_final_sync ... ok test tests::big_writes_arrive_whole ... ok test usage::independent_review::independent_external_edits_and_startup ... ok test usage::independent_review::independent_folder_and_file_moves ... ok test usage::independent_review::independent_non_utf8_filename_on_startup ... ok test usage::independent_review::independent_kill_between_observation_and_counter_publish ... ok test usage::independent_review::independent_unreadable_regular_file_on_startup ... ok test usage::lifecycle_tests::app_publication_adds_known_bytes_without_authorizing_a_provisional_total ... ok test usage::lifecycle_tests::failed_admission_fence_reports_coverage_and_recovers ... ok test usage::lifecycle_tests::failed_home_keeps_a_retry_without_new_events_and_healthy_home_stays_clean ... ok cp: failed to clone '/tmp/quota-independent-2070215-6/users/b/copy' from '/tmp/quota-independent-2070215-6/users/a/sparse': Operation not supported test usage::independent_review::independent_sparse_large_zero_and_symlinks ... ok test usage::lifecycle_tests::moved_users_discovery_clears_known_homes_without_a_replacement_root ... ok test usage::lifecycle_tests::only_homes_stale_beyond_sixty_seconds_report_staleness ... ok test usage::lifecycle_tests::restored_inode_coverage_turns_fallback_off ... ok test usage::lifecycle_tests::review_754g_failure_boundaries_keep_exact_health_without_path_retry_records ... ok test usage::lifecycle_tests::unreadable_home_reports_failure_and_keeps_healthy_home_total ... ok test usage::lifecycle_tests::unreadable_users_discovery_is_reported_before_any_home_is_known ... ok test usage::independent_review::independent_hardlink_lifecycle ... ok test usage::independent_review::independent_concurrent_app_and_outside_replacements ... ok test usage::regressions::existing_directory_moves_trash_restore_delete_match_walk ... ok test usage::regressions::hard_link_in_place_change_must_match_walk ... ok test usage::regressions::native_publish_then_outside_move_must_match_walk ... ok test usage::regressions::stopped_server_changes_are_recounted ... ok test usage::lifecycle_tests::large_folders_stream_and_admission_only_visits_its_home ... ok test usage::regressions::hard_links_created_after_startup_and_alias_replacement_converge ... ok test usage::review_754b::raw_listing_and_quota_distinguish_two_invalid_names_and_their_display_name ... ok test usage::review_754b::health_is_retained_without_io_and_cleared_by_a_successful_full_scan ... ok test usage::review_754b::unreadable_sparse_regular_file_is_measured_without_read_access ... ok test usage::review_754b::symlinks_and_special_entries_do_not_charge_or_pollute_health ... ok test usage::review_754e::review_754e_home_renamed_away_then_recreated_refreshes_current_home ... ok test usage::review_754e::review_754e_home_replaced_between_walk_and_publish_is_retried ... ok test usage::review_754c::review_754c_ordinary_edits_during_recounts_do_not_poison_health ... ok test usage::regressions::write_via_hard_link_outside_watch_must_match_walk ... ok test usage::review_containment::opened_parent_moved_outside_home_must_not_be_walked ... ok test usage::review_containment::repeated_users_replacement_exhausts_three_attempts_without_charging ... ok test usage::review_containment::review_754c_deletion_after_last_stat_discards_snapshot_and_recount_succeeds ... ok test usage::review_754e::review_754e_ten_thousand_files_raw_names_sparse_and_hardlinks ... ok test usage::review_containment::review_754c_rename_at_each_depth_rejects_then_rescans_and_accepts_return ... ok test usage::review_containment::review_754c_swapping_folders_invalidates_both_open_descriptors ... ok test usage::review_containment::review_754c_replaced_users_root_cannot_charge_new_outside_files ... ok test usage::review_containment::review_754d_refresh_must_not_follow_a_replaced_parent_symlink ... ok test usage::review_containment::review_754d_returned_directory_charges_bytes_that_returned_with_it ... ok test usage::regressions::removing_or_moving_the_watched_alias_retains_external_write_coverage ... ok test usage::review_containment::review_754g_admission_rejects_a_newer_failure_during_its_walk ... ok test usage::review_containment::review_754g_coalesced_retry_visits_no_healthy_home ... ok test usage::review_containment::review_754g_home_deleted_inside_running_scheduled_retry ... ok test usage::review_containment::review_754g_mixed_batches_keep_every_failure_in_all_positions ... ok test usage::simple_tests::admission_flushes_queued_events_and_outside_hardlink_writes ... ok test usage::simple_tests::delayed_native_events_cannot_certify_a_detached_directory ... ok test usage::simple_tests::home_replaced_before_publication_is_retried ... ok test usage::simple_tests::raw_names_sparse_hardlinks_symlinks_and_unreadable_files_are_charged_by_metadata ... ok test usage::simple_tests::registration_swap_cannot_cache_another_inodes_watch ... ok running 1 test test usage::review_containment::review_754d_reused_directory_inode_must_not_certify_a_replacement ... ok test usage::simple_tests::startup_is_async_and_clean_homes_have_no_health_noise ... ok test usage::tests::a_change_that_becomes_unmeasurable_during_recount_reports_failure ... ok test usage::tests::a_move_target_already_seen_by_a_recount_is_not_charged_twice ... ok test usage::tests::a_separate_state_root_counts_what_plugins_report ... ok test usage::tests::application_writes_through_directory_aliases_charge_the_real_file_once ... ok test usage::review_containment::review_754f_admission_during_long_reconciliation_refuses_stale_totals ... ok test usage::tests::background_does_not_count_symlink_targets ... ok test usage::tests::background_accounts_for_outside_edits_and_directory_moves ... ok test usage::tests::bulk_writes_and_published_folders_count_without_a_recount ... ok test usage::tests::incomplete_measurements_remain_visible_until_a_full_recount ... ok test usage::tests::raw_names_survive_startup_and_scoped_repair ... ok test usage::tests::reads_do_not_wait_for_the_counter_writer ... ok test usage::tests::recount_does_not_charge_directory_aliases_twice ... ok test usage::tests::recount_preserves_concurrent_writes_and_deletes ... ok test usage::tests::stale_metadata_cannot_replace_a_newer_update ... ok test usage::tests::unreadable_subtree_is_a_retained_failure_not_zero_usage ... ok test usage::tests::writes_moves_trash_and_purge_update_without_a_recount ... ok test usage::watch::platform::tests::deleted_home_releases_watch_index_capacity ... ok test usage::watch::platform::tests::incomplete_counts_prune_detached_inode_watches ... ok test usage::watch::platform::tests::listener_stops_under_continuous_outside_hardlink_writes ... ok test usage::watch::platform::tests::overflow_rebuilds_every_home_before_admission ... ok test usage::watch::platform::tests::retired_directory_watch_is_reinstalled_before_ignored_delivery ... ok test usage::watch::platform::tests::watcher_failure_only_reports_provisional_bytes_and_polling_health ... ok test usage::tests::background_notices_a_created_and_replaced_users_tree ... ok quota whole-Home property: 2000 seeded cases passed test usage::simple_tests::seeded_whole_home_property ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 106 filtered out; finished in 4.54s test usage::simple_tests::seeded_whole_home_property ... ok test usage::review_754e::review_754e_native_events_follow_replaced_homes_without_stale_fd_charges ... ok test result: ok. 106 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 23.29s Running tests/review_754d_mount.rs (target/debug/deps/review_754d_mount-4f1c6655532ec8b6) running 2 tests running 1 test running 1 test test review_754d_bind_mount_is_currently_in_scope ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s test review_754d_tmpfs_mount_is_currently_in_scope ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s test review_754d_bind_mount_is_currently_in_scope ... ok test review_754d_tmpfs_mount_is_currently_in_scope ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s Running tests/review_754e_mount.rs (target/debug/deps/review_754e_mount-66ace891e2aaf0cb) running 1 test running 1 test mount discovery: incremental=0, fresh=0, Health=Some(StorageFailure { unmeasured_entries: 1, detail: "Storage measurement: 0 Home discovery/coverage failures (retry every 60 seconds; check users folder permissions), 0 unmeasured entries (check Home permissions), 0 Homes stale beyond 60 seconds, 0 Homes polling every 60 seconds; not counted: mount point (1). Uploads wait for a fresh count." }) test review_754e_incremental_mount_discovery_matches_a_fresh_recount ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s test review_754e_incremental_mount_discovery_matches_a_fresh_recount ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s Running unittests src/lib.rs (target/debug/deps/calternal_memory-3b65467e6e94a530) running 2 tests test tests::huge_pages_go_off ... ok test tests::trimming_is_harmless ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/lib.rs (target/debug/deps/calternal_migrate_v0-0bc78ad208dd983e) running 37 tests test tests::rules::dry_run_writes_nothing ... ok test tests::rules::m1_custom_daily_title_and_heading_stay ... ok test tests::rules::edited_files_are_never_overwritten_without_asking ... ok test tests::rules::m10_tz_markers_go_and_other_zones_convert_to_the_notes_zone ... ok test tests::rules::m1_daily_notes_get_day_names_ids_and_lose_generated_headings ... ok test tests::rules::m1_titles_come_from_title_then_h1_then_file_name_and_stay_unique ... ok test tests::rules::m2_code_is_never_rewritten ... ok test tests::rules::m2_attachments_that_exist_are_copied_and_relinked ... ok test tests::rules::m2_unresolved_links_stay_as_written_and_are_reported ... ok test tests::rules::m2_wikilinks_always_become_standard_links ... ok test tests::rules::m4_unreferenced_block_ids_go_and_referenced_ones_stay ... ok test tests::rules::m2_links_are_repaired_by_name_date_title_and_slug ... ok test tests::rules::m3_m5_frontmatter_keys_drop_and_times_convert ... ok test tests::rules::m5_unreadable_dates_fall_back ... ok test tests::rules::m8_only_notes_and_linked_files_move ... ok test tests::rules::m7_tasks_blocks_are_stripped_and_listed ... ok test tests::rules::m6_conflict_copies_are_not_migrated ... ok test tests::units::every_v0_time_shape_converts ... ok test tests::units::file_names_give_titles ... ok test tests::units::keys_ignore_case_encoding_quotes_and_md ... ok test tests::units::links_parse_in_every_shape ... ok test tests::units::unix_times_become_india_time ... ok test tzmarker::tests::a_conversion_that_leaves_the_day_is_kept_and_reported ... ok test tzmarker::tests::berlin_converts_inside_the_day ... ok test tzmarker::tests::code_is_never_touched ... ok test tzmarker::tests::day_from_a_date_value ... ok test tzmarker::tests::eu_summer_time_edges ... ok test tzmarker::tests::marker_at_the_end_or_tight_leaves_no_stray_space ... ok test tzmarker::tests::no_zone_in_the_note_means_strip_only ... ok test tzmarker::tests::not_a_marker_is_left_alone ... ok test tzmarker::tests::same_zone_just_goes ... ok test tzmarker::tests::second_run_changes_nothing ... ok test tzmarker::tests::styles_survive_conversion ... ok test tzmarker::tests::unknown_zone_or_a_non_log_line_is_kept_and_counted ... ok test write::tests::migration_preserves_files_changed_after_preflight ... ok test tests::rules::running_twice_gives_the_same_bytes ... ok test tests::no_new_markers::nothing_writes_a_tz_marker ... ok test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s Running unittests src/lib.rs (target/debug/deps/calternal_notes-c6740acc93b95d12) running 431 tests test anchor::tests::hash_is_plain_sha256_hex ... ok test anchor::tests::lines_by_utf16_index ... ok test backlinks::tests::snippets_are_the_trimmed_line ... ok test backlinks::tests::links_are_fold_keys_and_lines ... ok test blocks::tests::line_edits ... ok test blocks::tests::shapes_keep_markers ... ok test blocks::tests::finds_list_children_and_heading_sections ... ok test blocks::tests::titles_from_the_first_sentence ... ok test bulk::undo::tests::inverse_restores_the_text ... ok test diff::tests::an_inserted_line_starts_at_a_line_start ... ok test bulk::undo::tests::inverse_roundtrips ... ok test diff::tests::edits_never_split_a_character ... ok test diff::tests::emoji_positions_are_utf16 ... ok test bulk::error_tests::legacy_job_reports_hide_stored_source_details ... ok test diff::tests::small_change_is_a_small_edit ... ok test frontmatter::tests::h1_skips_code_and_frontmatter ... ok test frontmatter::tests::quoting ... ok test frontmatter::tests::reads_keys ... ok test frontmatter::tests::set_adds_a_line_or_a_block ... ok test frontmatter::tests::set_changes_only_the_value ... ok test frontmatter::tests::set_is_utf16_aware ... ok test health::tests::anchors ... ok test history::blobs::tests::photo_chunks_preserve_folding_unknown_fields_and_line_endings ... ok test bulk::error_tests::failed_job_reports_keep_source_details_in_the_server_error ... ok test diff::tests::edits_turn_old_into_new ... ok test history::companions::import_cache_tests::prepared_companions_are_applied_on_insert_or_roll_back_with_the_plan ... ok test history::companions::import_cache_tests::import_cache_budget_returns_after_success_and_failure ... ok test history::companions::migration_tests::old_staging_allocation_order_migrates_to_application_order ... ok test history::companions::tests::a_companion_lands_with_its_change ... ok test history::companions::tests::keys_answer_without_reading_bytes_and_cover_older_rows ... ok test history::companions::tests::rejected_companion_writes_leave_history_and_quota_unchanged ... ok test history::companions::tests::staged_rows_wait_for_their_step ... ok test history::companions::tests::retained_bytes_follow_every_change_and_match_a_full_count ... ok test history::memory_tests::batch_admission_failure_dooms_its_lane_before_a_later_write ... ok test history::companions::tests::written_marks_and_unwritten_rows ... ok test history::tests::a_busy_begin_reports_its_cause_without_running_the_job ... ok test history::tests::a_failed_commit_never_replies_with_a_successful_statement_result ... ok test history::tests::a_failed_statement_rolls_back_and_reports_the_cause_to_the_whole_group ... ok test history::tests::a_competing_writer_cannot_invalidate_a_history_write_snapshot ... ok test history::memory_tests::history_payload_bytes_are_bounded_per_home_and_globally_until_completion ... ok test history::tests::appends_are_ordered_and_readable ... ok test history::tests::disk_full_keeps_the_cause_and_failed_writes_can_be_retried ... ok test history::tests::pending_save_promotes_to_base ... ok test index::tests::a_shared_path_answers_with_the_newest_note ... ok test index::tests::a_torn_tail_cannot_swallow_the_next_durable_mapping ... ok test index::tests::compacts_when_it_grows ... ok test home::background_task_tests::finished_background_tasks_are_reaped_during_normal_operation ... ok test index::tests::imported_mappings_share_one_log_append_and_survive_reload ... ok test index::tests::reload_speed ... ignored test index::tests::survives_reload_renames_and_torn_lines ... ok test index::tests::under_finds_exact_paths_and_descendants_with_folded_names ... ok test index::tests::under_keeps_shadowed_paths_for_watcher_removal ... ok test index::tests::unloads_and_reloads ... ok test links::escaped_labels::generated_labels_round_trip_and_custom_markup_survives_retargeting ... ok test history::blobs::tests::fifty_two_weekly_edits_share_the_unchanged_original_photo ... ok test links::tests::finds_standard_and_old_style_links ... ok test links::tests::frontmatter_code_samples_do_not_hide_body_links ... ok test links::tests::longer_backtick_fence_does_not_close_on_three_ticks ... ok test links::tests::nested_brackets_in_text ... ok test links::tests::nested_fences_and_indented_code_follow_commonmark_boundaries ... ok test links::tests::normal_fence_control_keeps_links_after_the_block ... ok test links::tests::relative_paths ... ok test links::tests::resolves_relative_to_the_linking_note ... ok test links::tests::retarget_follows_the_title_and_keeps_custom_text ... ok test links::tests::retarget_from_a_subfolder ... ok test links::tests::retarget_matches_case_and_unicode_forms ... ok test links::tests::skips_code_images_and_the_web ... ok test links::tests::tilde_fence_does_not_close_on_trailing_text ... ok test links::tests::unclosed_fence_hides_links_through_eof ... ok test meta::tests::cursors_round_trip_and_reject_junk ... ok test meta::tests::snippets_skip_frontmatter_and_headings ... ok test missing::targets::tests::a_name_is_the_file_without_its_folder_and_extension ... ok test missing::targets::tests::names_rank_exact_then_prefix_then_word_then_inside ... ok test naming::tests::what_fits_and_what_to_try ... ok test props::tests::adds_removes_and_quotes_links ... ok test props::tests::already_typed_text_lists_keep_their_comments_and_quotes ... ok test props::tests::changes_only_the_touched_key ... ok test props::tests::list_items_are_written_as_text_too ... ok test props::tests::obsidian_written_yaml_reads ... ok test index::tests::directory_counts_match_full_scan_after_moves_and_reload ... ok test props::tests::outside_keys_win_whole_and_unrelated_pending_keys_survive ... ok test props::tests::quoting_round_trips_tricky_text ... ok test props::tests::reads_every_list_form ... ok test props::tests::refuses_what_it_cannot_read ... ok test props::tests::review_malformed_unrelated_property_blocks_writes ... ok test props::tests::review_property_case_override_is_honored ... ok test props::tests::review_text_yaml_types ... ok test props::tests::scalar_writes_preserve_types_in_both_directions ... ok test rename::tests::clash_numbers ... ok test rename::tests::daily_names ... ok test rename::tests::h1_is_set_or_added ... ok test room::acks::tests::varuints_round_trip ... ok test room::actor::retry_tests::malformed_update_remains_a_permanent_refusal ... ok test room::actor::retry_tests::retry_budget_failure_requests_rejoin_without_permanent_refusal ... ok test room::edit::tests::checks_bounds_overlap_and_surrogates ... ok test room::pipeline::memory_tests::actor_api_payload_remains_byte_bounded_when_deferred ... ok test room::pipeline::memory_tests::global_retry_bytes_refuse_before_mutation_and_release_after_commit ... ok test index::tests::answers_like_plain_maps ... ok test room::pipeline::memory_tests::parked_cross_writer_input_is_journaled_before_its_dependency_releases_it ... ok test room::pipeline::memory_tests::per_room_retry_bytes_apply_backpressure_before_another_update ... ok test room::pipeline::memory_tests::server_and_outside_updates_are_admitted_before_live_mutation ... ok test room::save::tests::concurrent_typists_and_saves_converge ... ok test room::save::tests::kill_nine_mid_save_recovers_title_and_bytes ... ok test room::save::tests::review::failed_history_outside_edit_cannot_be_acknowledged_before_recovery ... ok test room::save::tests::review::failed_history_server_edit_cannot_be_acknowledged_before_recovery ... ok test room::save::tests::review::group_commit::a_parked_step_two_does_not_answer_save_checks ... ok test room::save::tests::review::group_commit::a_peer_joining_mid_retry_and_typing_is_saved_once_durable ... ok test room::save::tests::review::group_commit::a_retried_api_edit_sends_its_changed_event ... ok test room::save::tests::review::group_commit::an_incomplete_step_two_cannot_release_held_save_checks ... ok test room::save::tests::review::group_commit::edits_typed_during_a_write_commit_together ... ok test room::save::tests::review::group_commit::a_failed_write_is_never_overtaken ... ok test room::save::tests::review::group_commit::lanes::checks_after_each_edit_stay_bounded_per_connection ... ok test room::save::tests::review::group_commit::lanes::doomed_lanes_do_not_roll_back_others ... ok test links::tests::code_block_spans_match_pulldown_on_random_markdown ... ok test room::save::tests::review::group_commit::mixed_paths_keep_applied_order_through_retry ... ok test room::save::tests::review::group_commit::perf_save_checks_under_twenty_seconds ... ignored, outage-check latency budget runs on the perf VM via perf/ordinary-latency-vm.sh test room::save::tests::review::group_commit::lanes::mid_batch_failure_with_other_note_typing ... ok test room::save::tests::review::group_commit::save_checks_during_an_outage_stay_bounded ... ok test room::save::tests::review::group_commit::saved_arrives_after_storage_recovers_without_new_activity ... ok test room::save::tests::review::group_commit::two_notes_keep_their_own_order ... ok test room::save::tests::review::history_durability::independent_652_failed_first_typed_edit_must_precede_second ... ok test room::save::tests::review::history_durability::independent_652_disk_full_mid_burst_then_recovery ... ok test room::save::tests::review::history_durability::independent_652_queued_api_requires_replay_after_kill9 ... ok test room::save::tests::review::history_durability::independent_652_queued_crash_child ... ok test room::save::tests::review::history_durability::independent_652_real_syncclient_joining_snapshot_is_not_saved ... ok test room::save::tests::review::history_durability::independent_652_outage_queue_and_save_checks ... ok test room::save::tests::review::history_durability::independent_652_real_syncclient_peers_and_restart_replay ... ok test room::save::tests::review::history_durability::perf_outage_checks_under_two_seconds ... ignored, outage-check latency budget runs on the perf VM via perf/ordinary-latency-vm.sh test room::save::tests::review::history_durability::retained_failed_edits_keep_the_file_and_list_cache_dirty ... ok test room::save::tests::review::review_acknowledged_save_child ... ok test room::save::tests::review::review_delete_set_before_insert_and_trailing_format_marks ... ok test room::save::tests::review::review_failed_save_retry_and_outside_retry_keep_base_cache ... ok test room::save::tests::review::history_durability::metadata_refresh_does_not_block_sync_behind_an_uncommitted_seed ... ok test room::save::tests::review::review_kill_nine_after_save_reply_preserves_exact_file_history_and_version ... ok test props::tests::only_intended_keys_change ... ok test room::save::tests::review::slow_disk::slow_disk_long ... ignored, measurement for the perf VM, not a gate test room::save::tests::review::slow_disk::slow_disk_matrix ... ignored, measurement for the perf VM, not a gate test room::save::tests::save_kill_child ... ok test room::save::tests::review::review_title_precedence_edge_matrix ... ok test room::save::tests::title_sync_does_not_decode_the_saved_document ... ok test scan::tests::day_ids_name_their_files ... ok test scan::tests::state_round_trips_and_skips_odd_names ... ok test search::tests::a_note_becomes_a_document ... ok test search::tests::plain_search_lines_borrow_their_text ... ok test search::tests::search_lines_keep_link_text_and_replacement_order ... ok test search::tests::titles_fall_back_to_the_file_name ... ok test smartline::tests::a_plain_line ... ok test smartline::tests::only_tags_are_words ... ok test smartline::tests::trailing_tags_only ... ok test stamp::tests::formats_with_offset ... ok test storage_crash::kill9_after_ack_during_split_hdd_save_recovers_exact_text ... ok test storage_crash::storage_child ... ok test tags::front::tests::every_way_of_writing_tags ... ok test tags::merge::tests::property_tags_go_with_their_comma_or_line ... ok test tags::merge::tests::text_tags_go_with_one_space ... ok test tags::rewrite::tests::merging_keeps_every_tag_once_at_most ... ok test tags::rewrite::tests::nothing_to_do_is_no_edits ... ok test tags::rewrite::tests::only_real_tags_change ... ok test tags::rewrite::tests::positions_count_utf16 ... ok test tags::rewrite::tests::properties_change_name_only ... ok test tags::rewrite::tests::rename_and_back_is_the_same_text ... ok test tags::rewrite::tests::renames_tags_and_nested_tags_only ... ok test tags::rewrite::tests::renaming_onto_an_existing_tag_merges ... ok test tags::rewrite::tests::words_code_links_and_headings ... ok test tags::scan::tests::code_is_never_tags ... ok test tags::scan::tests::hash_free_lines_still_open_and_close_code_fences ... ok test tags::scan::tests::headings_and_quotes_keep_their_tags ... ok test tags::scan::tests::link_targets_and_addresses_are_never_tags ... ok test tags::scan::tests::not_tags ... ok test tags::scan::tests::plain_tags ... ok test tags::tests::nesting_and_cleaning ... ok test tags::tests::properties_and_text ... ok test tests::acks::an_older_lineage_is_refused_before_anything_is_sent ... ok test tests::acks::checks_advance_in_order_and_cover_every_earlier_edit ... ok test tests::acks::lineage_survives_a_restart ... ok test tests::acks::saved_means_the_change_is_in_history ... ok test tests::anchors::an_anchor_follows_its_block_when_lines_shift ... ok test tests::anchors::an_edited_block_is_refused_never_the_wrong_one ... ok test tests::anchors::anchors_need_a_hash_and_block_ids_work ... ok test tests::anchors::history_folds_typing_and_names_jobs ... ok test room::save::tests::saved_bytes_and_titles_match_the_old_copy_path ... ok test tests::anchors::shifting_lines_never_move_the_wrong_block ... ok test tests::appends::an_append_to_a_long_note_stays_small ... ok test tests::appends::appends_built_directly_match_the_copy_byte_for_byte ... ok test tests::appends_review::delete_whole_tail_then_append_matches ... ok test tests::appends_review::frontmatter_map_write_falls_back ... ok test tests::appends::typists_and_appends_interleave_on_one_note ... ok test tests::appends_review::trailing_format_marker_bytes ... ok test tests::delta_review::deleting_preserves_an_occupied_trash_destination ... ok test tests::delta_review::delta_independent_same_id_create_retries_joined_must_not_panic ... ok test tests::appends_review::fuzz_deletes_restarts_parked ... ok test tests::delta_review::placement_review_bulk_create_cannot_adopt_an_outside_file ... ok test tests::delta_review::placement_review_bulk_create_retry_keeps_original_version_for_undo ... ok test tests::delta_review::placement_review_planned_rename_conflict_keeps_links_unchanged ... ok test tests::delta_review::placement_review_rename_retargets_links_to_the_actual_suffix ... ok test tests::delta_review::placement_review_undo_rename_conflict_keeps_links_at_the_live_note ... ok test tests::delta_review::rename_uses_a_suffix_for_an_unindexed_destination ... ok test tests::delta_review::same_id_sibling_creates_with_different_text_conflict ... ok test tests::event_visibility::a_failed_list_commit_cannot_announce_a_pin ... ok test tests::event_visibility::a_scan_cannot_replace_an_announced_live_pin_with_the_old_file ... ok ```
Author
Owner

Gate output verbatim for 798f1bbe91; workspace; part 3/3; exit 0.

Command: cargo test -j3 --workspace --locked --no-fail-fast

test tests::delta_review::delta_permanent_deletion_history_failure_must_terminate_scan ... ok
test tests::event_visibility::create ... ok
test tests::event_visibility::create_text ... ok
test room::save::tests::review::group_commit::lanes::a_failing_note_does_not_starve_another_typist ... ok
test tests::event_visibility::delete ... ok
test tests::event_visibility::edit ... ok
test tests::event_visibility::edit_title ... ok
test tests::event_visibility::failed_delete_then_restore_announces_the_current_state ... ok
test tests::event_visibility::edit_title_property ... ok
test tests::event_visibility::move_note ... ok
test tests::event_visibility::outside_create ... ok
test tests::event_visibility::outside_delete ... ok
test tests::event_visibility::outside_edit ... ok
test tests::event_visibility::outside_edit_closed ... ok
test tests::event_visibility::outside_rename ... ok
test tests::event_visibility::regression_backup_discovery_cannot_reuse_a_forgotten_id ... ok
test tests::event_visibility::regression_create_retry_after_restart_uses_file_without_intent ... ok
test tests::event_visibility::regression_create_retry_conflicts_with_different_file_text ... ok
test tests::event_visibility::regression_create_retry_normalizes_server_keys_consistently ... ok
test tests::event_visibility::regression_create_retry_with_crlf_and_bom_keeps_bytes ... ok
test tests::event_visibility::regression_create_with_text_still_renames_after_its_h1 ... ok
test tests::event_visibility::regression_create_with_text_writes_only_managed_frontmatter ... ok
test tests::event_visibility::regression_delayed_depart_cannot_clear_gone ... ok
test tests::event_visibility::outside_rename_closed ... ok
test tests::event_visibility::regression_failed_create_cannot_resurrect_forgotten_id ... ok
test tests::event_visibility::regression_failed_initial_file_write_can_retry ... ok
test tests::event_visibility::pin ... ok
test tests::event_visibility::regression_failed_unsaved_edit_restart_reconciles_from_journal ... ok
test tests::event_visibility::regression_forgotten_id_stays_gone_after_path_reuse_and_restart ... ok
test tests::event_visibility::regression_initial_file_precedes_visible_identity ... ok
test tests::event_visibility::regression_failed_save_hint_still_schedules_title_rename ... ok
test tests::event_visibility::regression_kill_after_outside_commit_repairs_list_on_start ... ok
test tests::event_visibility::regression_outside_commit_child ... ok
test tests::event_visibility::regression_purge_commits_path_state_before_unlink_or_event ... ok
test room::save::tests::review::review_fuzz_old_new_bytes_history_versions_and_restarts ... ok
test tests::event_visibility::rename_public_retry ... ok
test tests::event_visibility::rename_retry ... ok
test tests::event_visibility::regression_delete_failure_then_forget_keeps_gone ... ok
test tests::event_visibility::restore_retry_repairs_a_missing_list_row_for_an_open_room ... ok
test tests::event_visibility::review_create_retry_preserves_initial_text_explicit_id ... ok
test tests::event_visibility::review_create_retry_preserves_initial_text_key_id ... ok
test tests::event_visibility::review_create_retry_without_key_preserves_initial_text_once ... ok
test tests::event_visibility::review_discovery_publication_retries_after_metadata_failure ... ok
test tests::event_visibility::review_load_event_recovers_after_meta_failure ... ok
test tests::event_visibility::review_restore_event_recovers_after_meta_failure ... ok
test tests::event_visibility::review_restore_publication_survives_home_restart ... ok
test tests::event_visibility::round4_create_retry_does_not_wait_for_scan_under_lifecycle ... ok
test tests::event_visibility::round4_daily_create_retry_does_not_reenter_lifecycle ... ok
test tests::event_visibility::regression_one_reconcile_path_after_failed_edit ... ok
test tests::event_visibility::rename ... ok
test tests::event_visibility::restore ... ok
test tests::event_visibility::round4_startup_retries_failed_list_stamp_read ... ok
test tests::event_visibility::round4_startup_retries_journal_discovery_before_file_rows ... ok
test tests::event_visibility::save_background_retry ... ok
test tests::event_visibility::round4_unreadable_note_does_not_block_healthy_repair_or_ack ... ok
test tests::event_visibility::save_retry ... ok
test tests::event_visibility::saved_list_fields_keep_file_date_fallback_current ... ok
test tests::event_visibility::saved_list_fields_rebuild_after_eviction_and_follow_later_edits ... ok
test tests::event_visibility::saved_rows_keep_file_stamps_for_warm_scans ... ok
test tests::event_visibility::saved_stamp_describes_our_write_before_a_later_outside_write ... ok
test tests::event_visibility::save ... ok
test tests::event_visibility::startup_scan_events_are_listed_before_the_scan_finishes ... ok
test tests::event_visibility::unread_external_bytes_do_not_get_a_clean_stamp ... ok
test tests::fanout::a_crash_before_the_seed_is_durable_never_doubles_text ... ok
test tests::fanout::a_crash_between_fan_out_and_disk_loses_nothing ... ok
test tests::fanout::a_first_open_does_not_wait_for_the_disk ... ok
test tests::fanout::a_version_always_matches_its_text ... ok
test tests::fanout::bursts_converge_and_reach_history ... ok
test tests::event_visibility::unpin ... ok
test tests::fanout::collaborators_see_typing_before_the_disk ... ok
test tests::fresh::a_note_made_with_text_opens_with_its_frontmatter ... ok
test tests::held::a_lost_identity_whose_path_was_taken_uses_the_plugins_naming_order ... ok
test tests::held::a_synced_first_file_with_a_lost_index_keeps_its_original_path ... ok
test tests::held::a_held_note_answers_before_its_file_and_writes_it_after ... ok
test tests::held::identity_without_history_is_dropped_on_the_next_start ... ok
test tests::kill9::child ... ok
test tests::held::history_without_identity_comes_back_on_the_next_start ... ok
test tests::kill9::delete_killed_after_its_answer_finishes_once ... ok
test tests::kill9::permanent_delete_after_restore_cannot_delete_the_live_note ... ok
test tests::kill9::quick_delete_restore_survives_kill ... ok
test tests::kill9::restore_delete_forget_does_not_resurrect_after_kill ... ok
test tests::kill9::quick_restore_delete_survives_kill ... ok
test tests::kill9::restore_killed_after_its_answer_finishes_once ... ok
test tests::listing::a_common_tag_pages_the_same_in_every_order ... ok
test tests::listing::filters_by_tag_kind_and_created_range ... ok
test tests::listing::pages_cover_every_note_once_in_a_stable_order ... ok
test tests::listing::pinning_shows_in_the_list_and_unpinning_leaves_no_trace ... ok
test tests::listing::the_first_page_never_waits_for_the_home_to_open ... ok
test tests::listing::the_kept_count_follows_adds_and_deletes ... ok
test tests::event_visibility::round4_recorder_outage_bounds_deleted_ids_and_drains_overflow ... ok
test tests::missing::a_move_outside_is_found_and_relink_repoints_the_links ... ok
test tests::missing::a_path_tells_here_trash_and_gone ... ok
test tests::missing::a_rename_in_the_app_leaves_the_old_path_moved ... ok
test tests::missing::make_from_link_makes_the_note_where_the_link_points_and_undo_takes_it_back ... ok
test tests::listing::the_list_stays_live_with_new_notes_saves_and_outside_edits ... ok
test tests::missing::never_written_paths_are_new_and_bad_ones_too ... ok
test tests::missing::notes_in_the_trash_from_before_are_found ... ok
test tests::missing::never_made_targets_are_offered_with_their_capitals_and_link_counts ... ok
test tests::missing::restored_with_a_new_name_reads_as_moved ... ok
test tests::opening::a_cold_fill_ends_with_every_index_and_right_answers ... ok
test tests::opening::a_note_never_typed_in_is_still_forgotten_on_restart ... ok
test tests::opening::a_warm_open_announces_only_what_changed_while_closed ... ok
test tests::opening::a_cold_home_indexes_every_file_once_with_its_own_id ... ok
test tests::opening::identifying_an_already_indexed_file_never_makes_it_a_copy ... ok
test tests::opening::shutting_down_leaves_the_list_log_empty ... ok
test tests::opening::asking_mid_scan_never_says_not_found_and_never_duplicates_a_day ... ok
test tests::opening::upgrading_without_a_saved_scan_announces_nothing_for_known_notes ... ok
test tests::outside::copied_note_gets_a_fresh_id ... ok
test tests::outside::edit_while_closed_is_merged_on_open ... ok
test tests::outside::missed_watcher_event_is_caught_before_saving ... ok
test tests::outside::outside_create_and_delete ... ok
test tests::outside::outside_edit_while_typing_merges ... ok
test tests::outside::outside_rename_keeps_the_id ... ok
test tests::listing::an_idle_home_with_one_thousand_notes_does_not_reconcile ... ok
test tests::opening::typing_saved_only_in_history_survives_a_restart_before_the_first_save ... ok
test tests::outside::own_saves_are_not_outside_edits ... ok
test tests::peek::an_open_room_answers_with_its_live_text ... ok
test tests::peek::reads_files_without_opening_rooms ... ok
test tests::pending::apply_places_changes_in_any_order ... ok
test tests::peek::returns_at_most_fifty ... ok
test tests::pending::yrs_alone_loses_a_parked_change ... ok
test tests::pending::changes_out_of_order_all_arrive_and_saved_is_true ... ok
test tests::renames::a_format_note_is_never_renamed_after_its_title ... ok
test tests::renames::a_taken_name_gets_a_number_and_daily_notes_keep_theirs ... ok
test tests::renames::a_title_ending_in_a_number_does_not_schedule_a_rename ... ok
test tests::outside::polling_finds_outside_changes ... ok
test tests::renames::backlinks_list_linked_and_unlinked_mentions ... ok
test tests::renames::cancelled_prepared_import_drops_its_private_image_and_replays_the_plan ... ok
test tests::renames::delta2_rename_collision_must_not_apply_dependent_title_edit ... ok
test tests::renames::make_note_moves_the_block_and_undoes_as_one_step ... ok
test tests::renames::move_block_to_another_note_and_back ... ok
test tests::renames::rename_killed_after_title_before_progress_recovers_and_undoes ... ok
test tests::renames::backlinks_follow_edits_and_deletes ... ok
test tests::renames::rename_moves_the_file_and_repoints_every_link ... ok
test tests::renames::rename_recovery_child ... ok
test tests::renames::rename_killed_between_move_and_title_recovers_and_undoes ... ok
test tests::renames::saving_a_title_ending_in_a_number_does_not_schedule_a_rename ... ok
test tests::renames::typing_in_a_linking_note_during_a_rename_is_kept ... ok
test tests::renames::undo_keeps_a_made_note_someone_typed_in ... ok
test tests::rooms::fresh_note_opened_by_many_at_once_is_not_doubled ... ok
test tests::rooms::late_joiner_gets_full_state ... ok
test tests::rooms::patches_use_utf16_positions ... ok
test tests::renames::typing_a_new_title_renames_the_file_after_a_pause ... ok
test tests::rooms::retried_change_applies_once ... ok
test tests::rooms::retried_create_makes_one_note ... ok
test tests::rooms::stale_replace_keeps_newer_typing ... ok
test tests::rooms::typing_survives_a_concurrent_delete ... ok
test tests::round4_review::create_reports_conflict_when_an_outside_file_arrives_before_placement ... ok
test tests::round4_review::independent_creates_joined_in_one_task_do_not_reenter ... ok
test tests::round4_review::scan_propagates_deletion_history_failure_after_reacquiring_lifecycle ... ok
test tests::round4_review::scan_propagates_deletion_history_read_failure_and_retries ... ok
test tests::rooms::random_concurrent_editing_converges_without_duplicates ... ok
test tests::saving::a_write_error_keeps_the_change ... ok
test tests::round4_review::startup_keeps_unknown_notes_incomplete_until_deletion_history_retry ... ok
test tests::saving::crash_after_write_does_not_double_text ... ok
test tests::saving::an_error_after_the_write_does_not_double_text ... ok
test tests::saving::failed_save_keeps_the_change ... ok
test tests::saving::crash_before_write_loses_nothing ... ok
test tests::saving::line_endings_and_bom_are_kept ... ok
test tests::saving::first_keystroke_creates_the_file ... ok
test tests::saving::opening_never_writes ... ok
test tests::saving::properties_continue_during_file_io ... ok
test tests::saving::saving_does_not_loop ... ok
test tests::saving::title_and_h1_stay_in_step ... ok
test tests::saving::typing_and_history_continue_during_file_io ... ok
test tests::saving::nonstop_typing_still_saves ... ok
test tests::renames::a_crash_mid_rename_resumes_and_applies_each_edit_once ... ok
test tests::shutdown::a_shutdown_wait_made_after_shutdown_ends_at_once ... ok
test tests::shutdown::healthy_shutdown_settles_pending_typing_before_saving ... ok
test tests::shutdown::no_background_work_starts_after_shutdown ... ok
test tests::shutdown::nothing_opens_or_writes_on_a_home_after_shutdown ... ok
test tests::shutdown::scan_waiters_stay_released_once_shutdown_releases_them ... ok
test tests::shutdown::settlement::shutdown_settlement_failed_promotion_preserves_written_snapshot ... ok
test tests::shutdown::settlement::shutdown_settlement_late_disk_recovery_requires_replay ... ok
test tests::shutdown::a_create_that_outlives_shutdown_writes_nothing ... ok
test tests::shutdown::settlement::shutdown_settlement_live_file_io_failure_joins_writer ... ok
test tests::shutdown::shutdown_cancels_a_reconciler_waiting_for_startup_scan ... ok
test tests::shutdown::shutdown_closes_the_home_history_writer_before_returning ... ok
test tests::shutdown::shutdown_finishes_when_history_writes_keep_failing ... ok
test tests::shutdown::a_create_running_at_shutdown_finishes_before_shutdown_returns ... ok
test tests::shutdown::shutdown_many_full_history_rooms_12 ... ok
test tests::storm::outside_rewrites_during_a_storm_all_land ... ok
test tests::shutdown::shutdown_many_full_history_rooms_100 ... ok
test tests::tags::a_big_tag_rename_allows_typing_while_a_batch_is_held ... ok
test tests::tags::bad_names_are_refused ... ok
test tests::tags::perf_big_tag_rename_keystrokes_under_one_second ... ignored, tag-rename typing latency runs on the perf VM via perf/ordinary-latency-vm.sh
test tests::tags::renames_every_tag_and_undoes_as_one_step ... ok
test tests::tags::typing_during_a_tag_rename_is_kept ... ok
test tests::trash::a_closed_note_is_trashed_without_opening_it ... ok
test tests::trash::a_crash_mid_delete_finishes_on_restart_exactly_once ... ok
test tests::trash::a_file_deleted_outside_goes_to_the_trash ... ok
test tests::trash::a_never_typed_note_is_simply_forgotten ... ok
test tests::trash::a_note_deleted_before_its_first_save_keeps_its_text ... ok
test tests::trash::delete_and_restore_answer_once_per_job_id ... ok
test tests::trash::delete_moves_to_trash_and_undo_brings_it_back ... ok
test tests::trash::delete_replay_with_a_stale_index_keeps_the_only_file ... ok
test tests::trash::delete_waits_for_imported_incoming_links_before_remembering_their_identity ... ok
test tests::trash::folder_rename_and_outside_move_bursts_keep_every_descendant ... ok
test tests::trash::forget_deletes_file_and_history_forever ... ok
test tests::trash::half_written_trash_folders_never_hide_a_live_note ... ok
test tests::trash::outside_copy_finishes_a_metadata_only_interruption ... ok
test tests::trash::restore_durably_indexes_a_note_without_an_embedded_id ... ok
test tests::trash::restore_keeps_id_and_history_and_takes_a_free_name ... ok
test tests::trash::restore_with_a_stale_index_really_moves_the_file_back ... ok
test tests::trash::the_sweep_empties_only_notes_older_than_thirty_days ... ok
test tests::trash::trash_ids_never_reach_another_home ... ok
test tests::trash::trash_pages_newest_first ... ok
test tests::trash::trashed_notes_leave_search_lists_and_backlinks_and_come_back ... ok
test tests::event_visibility::save_outside_retry ... ok
test tests::unloading::an_open_note_keeps_it ... ok
test tests::unloading::a_connected_client_keeps_it ... ok
test tests::unloading::an_unused_home_unloads_and_answers_after ... ok
test tests::tags::a_crash_mid_rename_resumes_and_renames_each_tag_once ... ok
test text::tests::mixed_endings_take_the_majority ... ok
test text::tests::styles_round_trip ... ok
test text::tests::uniform_files_round_trip_exactly ... ok
test trash::tests::a_note_without_details_still_reads ... ok
test trash::tests::candidates_include_notes_and_orphan_details_with_a_bounded_scan ... ok
test trash::tests::details_without_a_note_are_not_a_note ... ok
test trash::tests::missing_details_never_age_trash_from_the_notes_old_mtime ... ok
test trash::tests::outside_copy_has_its_details_when_the_file_first_becomes_readable ... ok
test versions::tests::folds_runs_by_author_kind_and_gap ... ok
test watch::native_tests::bulk_files_only_notify_the_watcher_when_the_whole_note_is_placed ... ok
test watch::native_tests::native_watch_ignores_reads_but_keeps_every_kind_of_outside_change ... ok
test ydoc::seed_tests::initial_seed_matches_yrs_and_accepts_later_utf16_edits ... ok
test ydoc::tests::fork_and_merge_keeps_concurrent_typing ... ok
test ydoc::tests::reapplying_an_update_changes_nothing ... ok
test ydoc::tests::utf16_offsets ... ok
test tests::writers::every_writer_at_once_with_the_watcher ... ok
test tests::writers::every_writer_at_once_loses_and_doubles_nothing ... ok
test tests::shutdown::settlement::shutdown_settlement_state_machine ... ok

test result: ok. 425 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 61.05s

     Running unittests src/main.rs (target/debug/deps/calternal_perf-c35e063f38b6186d)

running 7 tests
test scenarios::storm::tests::typing_stops_before_the_newline_ahead_of_outside_lines ... ok
test scenarios::soak::tests::slope_of_a_line ... ok
test args::tests::parses_trash_only_mode ... ok
test stats::tests::summary_max_is_the_largest_observed_sample_across_runs ... ok
test stats::tests::medians_of_runs_and_pooled_singles ... ok
test scenarios::trash::tests::permanent_deletion_never_removes_a_later_runs_live_note ... ok
test live::tests::frames_round_trip_and_keystrokes_stay_whole ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/bin/storage-bench.rs (target/debug/deps/storage_bench-bfe9f5646587654d)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/bin/tasks-bench.rs (target/debug/deps/tasks_bench-ada2447ad1e527e9)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/calternal_plugin_hello-53ca8ca6107399a0)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/calternal_prefs-7ce2911caa116dcd)

running 9 tests
test tests::a_change_on_one_device_reaches_the_other ... ok
test tests::keys_are_an_area_then_dotted_parts ... ok
test tests::a_retry_with_the_same_key_acts_once ... ok
test tests::bad_keys_and_big_values_get_friendly_errors ... ok
test tests::people_do_not_share_preferences ... ok
test tests::quick_saves_from_two_devices_all_land ... ok
test tests::saving_the_same_value_again_is_quiet ... ok
test tests::set_then_get_and_survive_a_restart ... ok
test tests::at_most_200_keys_but_existing_ones_can_still_change ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s

     Running unittests src/lib.rs (target/debug/deps/calternal_search-ff67ffa340bd9f12)

running 13 tests
test fuzzy::tests::distance_counts_swaps_as_one ... ok
test query::tests::lone_symbols_are_ignored ... ok
test query::tests::dates_cover_whole_periods ... ok
test fuzzy::tests::common_typos_are_fixed ... ok
test read::tests::block_ids_are_found ... ok
test query::tests::words_filters_and_phrases ... ok
test read::tests::renumbering_shifts_placeholders ... ok
test text::tests::bigrams_cover_unspaced_scripts ... ok
test read::tests::text_matches_like_the_index ... ok
test read::tests::excerpts_mark_matches_in_context ... ok
test text::tests::fold_drops_accents_and_case ... ok
test text::tests::words_keep_indic_vowel_signs ... ok
test schema::tests::an_older_index_gets_its_titles_filled ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/search.rs (target/debug/deps/search-8eb084de93ee7287)

running 13 tests
test an_empty_search_shows_recent_things ... ok
test every_script_is_searchable ... ok
test behind_answers_at_once_and_catching_up_is_announced_once ... ok
test a_restart_heals_whatever_was_missed ... ok
test perf_search_answer_under_five_hundred_ms ... ignored, first-search latency budget runs on the perf VM via perf/ordinary-latency-vm.sh
test filters_by_tag_kind_and_date ... ok
test odd_input_never_breaks_search ... ok
test searches_answer_while_indexing_runs ... ok
test prefixes_and_typos_are_forgiven ... ok
test results_show_why_they_matched_and_where ... ok
test people_only_ever_find_their_own_things ... ok
test titles_first_then_recent_use_then_body ... ok
test the_index_follows_changes_live ... ok

test result: ok. 12 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.69s

     Running unittests src/lib.rs (target/debug/deps/calternal_server-2d5c93a450315d88)

running 12 tests
test live::tests::room_join_metadata_has_explicit_byte_bounds ... ok
test rooms::tests::a_message_in_numbered_pieces_arrives_whole ... ok
test rooms::tests::assembly_is_bounded_per_connection_and_globally_and_expiry_releases_it ... ok
test rooms::tests::backpressure_refuses_the_room_before_later_checks ... ok
test rooms::tests::frames_round_trip ... ok
test rooms::tests::duplicated_missing_and_inconsistent_chunks_never_deliver ... ok
test rooms::tests::malformed_chunk_headers_never_allow_later_checks ... ok
test rooms::tests::old_membership_packets_and_results_cannot_reach_a_rejoined_room ... ok
test compress::tests::big_answers_are_compressed_and_small_ones_are_not ... ok
test rooms::tests::wire_nonces_reject_old_frames_joins_and_leaves_without_tombstones ... ok
test rooms::tests::pending_and_joined_memberships_share_one_connection_count_bound ... ok
test rooms::tests::exact_size_limit_is_delivered_but_a_larger_declaration_is_refused ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

     Running tests/access.rs (target/debug/deps/access-cc7b50f12ab7168a)

running 1 test
test one_line_per_request_with_no_secrets ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/live.rs (target/debug/deps/live-90eab8d011d9c785)

running 6 tests
test health_answers_without_signing_in ... ok
test a_stranger_token_asks_for_a_refresh ... ok
test signed_out_calls_get_a_friendly_refusal ... ok
test errors_carry_codes_not_internals ... ok
test reconnecting_catches_up_from_a_token ... ok
test http_to_journal_to_websocket ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

     Running tests/signout.rs (target/debug/deps/signout-86e56f395217c0af)

running 1 test
test signing_a_device_out_closes_its_live_socket ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

     Running tests/web.rs (target/debug/deps/web-8047ab3fe59d1b38)

running 3 tests
test files_deep_links_and_the_api_live_side_by_side ... ok
test precompressed_files_are_sent_as_they_are_to_whoever_accepts_them ... ok
test caching_and_security_headers_follow_what_each_file_is ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running unittests src/lib.rs (target/debug/deps/calternal_store-dc5119e9b339ecbc)

running 8 tests
test tests::a_store_with_a_listener_or_a_copy_is_in_use ... ok
test tests::commits_are_read_back_in_order ... ok
test tests::idempotency_is_saved_with_the_events_or_not_at_all ... ok
test tests::live_entries_arrive_in_journal_order ... ok
test tests::tokens_survive_a_restart_and_reject_strangers ... ok
test tests::reads_are_capped ... ok
test tests::old_idempotency_records_are_swept_when_the_store_opens ... ok
test tests::old_idempotency_records_are_swept_after_commits ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s

     Running unittests src/lib.rs (target/debug/deps/calternal_tasks-1fe0b2ccbbb49579)

running 28 tests
test found::tests::checkbox_forms ... ok
test found::tests::days_and_times ... ok
test found::tests::first_link_on_the_line_is_the_target ... ok
test found::tests::every_unrecognised_status_reads_as_open_without_changing_the_source ... ok
test found::tests::finds_checkboxes_everywhere_but_code_and_frontmatter ... ok
test found::tests::lenient_reading ... ok
test found::tests::linked_tasks_after_fences_keep_their_targets ... ok
test found::tests::review_code_and_html_are_not_checkboxes ... ok
test found::tests::reads_a_task_note ... ok
test tests::crash_child ... ok
test found::tests::markdown_links_and_task_items_share_commonmark_boundaries ... ok
test tests::lists_groups_and_counts ... ok
test tests::outside_edits_reach_the_lists ... ok
test tests::rebuild_gives_the_same_rows ... ok
test tests::kill_9_during_field_writes_loses_nothing_acknowledged ... ok
test tests::review_broken_frontmatter_refuses_update ... ok
test tests::review_long_code_fence_hides_checkboxes ... ok
test tests::review_outside_edit_during_pending_task_write ... ok
test tests::review_upcoming_with_past_and_future_dates ... ok
test tests::task_notes_are_hidden_only_from_notes_lists_and_unknown_status_is_kept ... ok
test tests::unreadable_frontmatter_is_shown_but_never_changed ... ok
test tests::untracked_is_open_checkboxes_that_are_not_tasks ... ok
test tests::update_changes_only_its_keys_and_lists_follow_at_once ... ok
test update::tests::checks_values ... ok
test update::tests::null_and_missing_differ ... ok
test tests::a_cold_fill_gives_the_same_rows_as_the_usual_way ... ok
test tests::order::sql_and_rust_sort_the_same ... ok
test tests::review_live_list_has_consistent_rows_and_counts ... ok

test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.41s

     Running unittests src/lib.rs (target/debug/deps/calternal_testkit-84605cced32b9d05)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_attachments

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_auth

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_backdrops

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_contacts

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_contacts_actions

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_core

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_daily

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_engine

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_fixtures

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_fsio

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_memory

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_migrate_v0

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_notes

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_plugin_hello

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_prefs

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_search

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_server

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_store

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_tasks

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests calternal_testkit

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

Gate output verbatim for 798f1bbe917335a46eec3b1121e675a8b2f525dc; workspace; part 3/3; exit 0. Command: `cargo test -j3 --workspace --locked --no-fail-fast` ```text test tests::delta_review::delta_permanent_deletion_history_failure_must_terminate_scan ... ok test tests::event_visibility::create ... ok test tests::event_visibility::create_text ... ok test room::save::tests::review::group_commit::lanes::a_failing_note_does_not_starve_another_typist ... ok test tests::event_visibility::delete ... ok test tests::event_visibility::edit ... ok test tests::event_visibility::edit_title ... ok test tests::event_visibility::failed_delete_then_restore_announces_the_current_state ... ok test tests::event_visibility::edit_title_property ... ok test tests::event_visibility::move_note ... ok test tests::event_visibility::outside_create ... ok test tests::event_visibility::outside_delete ... ok test tests::event_visibility::outside_edit ... ok test tests::event_visibility::outside_edit_closed ... ok test tests::event_visibility::outside_rename ... ok test tests::event_visibility::regression_backup_discovery_cannot_reuse_a_forgotten_id ... ok test tests::event_visibility::regression_create_retry_after_restart_uses_file_without_intent ... ok test tests::event_visibility::regression_create_retry_conflicts_with_different_file_text ... ok test tests::event_visibility::regression_create_retry_normalizes_server_keys_consistently ... ok test tests::event_visibility::regression_create_retry_with_crlf_and_bom_keeps_bytes ... ok test tests::event_visibility::regression_create_with_text_still_renames_after_its_h1 ... ok test tests::event_visibility::regression_create_with_text_writes_only_managed_frontmatter ... ok test tests::event_visibility::regression_delayed_depart_cannot_clear_gone ... ok test tests::event_visibility::outside_rename_closed ... ok test tests::event_visibility::regression_failed_create_cannot_resurrect_forgotten_id ... ok test tests::event_visibility::regression_failed_initial_file_write_can_retry ... ok test tests::event_visibility::pin ... ok test tests::event_visibility::regression_failed_unsaved_edit_restart_reconciles_from_journal ... ok test tests::event_visibility::regression_forgotten_id_stays_gone_after_path_reuse_and_restart ... ok test tests::event_visibility::regression_initial_file_precedes_visible_identity ... ok test tests::event_visibility::regression_failed_save_hint_still_schedules_title_rename ... ok test tests::event_visibility::regression_kill_after_outside_commit_repairs_list_on_start ... ok test tests::event_visibility::regression_outside_commit_child ... ok test tests::event_visibility::regression_purge_commits_path_state_before_unlink_or_event ... ok test room::save::tests::review::review_fuzz_old_new_bytes_history_versions_and_restarts ... ok test tests::event_visibility::rename_public_retry ... ok test tests::event_visibility::rename_retry ... ok test tests::event_visibility::regression_delete_failure_then_forget_keeps_gone ... ok test tests::event_visibility::restore_retry_repairs_a_missing_list_row_for_an_open_room ... ok test tests::event_visibility::review_create_retry_preserves_initial_text_explicit_id ... ok test tests::event_visibility::review_create_retry_preserves_initial_text_key_id ... ok test tests::event_visibility::review_create_retry_without_key_preserves_initial_text_once ... ok test tests::event_visibility::review_discovery_publication_retries_after_metadata_failure ... ok test tests::event_visibility::review_load_event_recovers_after_meta_failure ... ok test tests::event_visibility::review_restore_event_recovers_after_meta_failure ... ok test tests::event_visibility::review_restore_publication_survives_home_restart ... ok test tests::event_visibility::round4_create_retry_does_not_wait_for_scan_under_lifecycle ... ok test tests::event_visibility::round4_daily_create_retry_does_not_reenter_lifecycle ... ok test tests::event_visibility::regression_one_reconcile_path_after_failed_edit ... ok test tests::event_visibility::rename ... ok test tests::event_visibility::restore ... ok test tests::event_visibility::round4_startup_retries_failed_list_stamp_read ... ok test tests::event_visibility::round4_startup_retries_journal_discovery_before_file_rows ... ok test tests::event_visibility::save_background_retry ... ok test tests::event_visibility::round4_unreadable_note_does_not_block_healthy_repair_or_ack ... ok test tests::event_visibility::save_retry ... ok test tests::event_visibility::saved_list_fields_keep_file_date_fallback_current ... ok test tests::event_visibility::saved_list_fields_rebuild_after_eviction_and_follow_later_edits ... ok test tests::event_visibility::saved_rows_keep_file_stamps_for_warm_scans ... ok test tests::event_visibility::saved_stamp_describes_our_write_before_a_later_outside_write ... ok test tests::event_visibility::save ... ok test tests::event_visibility::startup_scan_events_are_listed_before_the_scan_finishes ... ok test tests::event_visibility::unread_external_bytes_do_not_get_a_clean_stamp ... ok test tests::fanout::a_crash_before_the_seed_is_durable_never_doubles_text ... ok test tests::fanout::a_crash_between_fan_out_and_disk_loses_nothing ... ok test tests::fanout::a_first_open_does_not_wait_for_the_disk ... ok test tests::fanout::a_version_always_matches_its_text ... ok test tests::fanout::bursts_converge_and_reach_history ... ok test tests::event_visibility::unpin ... ok test tests::fanout::collaborators_see_typing_before_the_disk ... ok test tests::fresh::a_note_made_with_text_opens_with_its_frontmatter ... ok test tests::held::a_lost_identity_whose_path_was_taken_uses_the_plugins_naming_order ... ok test tests::held::a_synced_first_file_with_a_lost_index_keeps_its_original_path ... ok test tests::held::a_held_note_answers_before_its_file_and_writes_it_after ... ok test tests::held::identity_without_history_is_dropped_on_the_next_start ... ok test tests::kill9::child ... ok test tests::held::history_without_identity_comes_back_on_the_next_start ... ok test tests::kill9::delete_killed_after_its_answer_finishes_once ... ok test tests::kill9::permanent_delete_after_restore_cannot_delete_the_live_note ... ok test tests::kill9::quick_delete_restore_survives_kill ... ok test tests::kill9::restore_delete_forget_does_not_resurrect_after_kill ... ok test tests::kill9::quick_restore_delete_survives_kill ... ok test tests::kill9::restore_killed_after_its_answer_finishes_once ... ok test tests::listing::a_common_tag_pages_the_same_in_every_order ... ok test tests::listing::filters_by_tag_kind_and_created_range ... ok test tests::listing::pages_cover_every_note_once_in_a_stable_order ... ok test tests::listing::pinning_shows_in_the_list_and_unpinning_leaves_no_trace ... ok test tests::listing::the_first_page_never_waits_for_the_home_to_open ... ok test tests::listing::the_kept_count_follows_adds_and_deletes ... ok test tests::event_visibility::round4_recorder_outage_bounds_deleted_ids_and_drains_overflow ... ok test tests::missing::a_move_outside_is_found_and_relink_repoints_the_links ... ok test tests::missing::a_path_tells_here_trash_and_gone ... ok test tests::missing::a_rename_in_the_app_leaves_the_old_path_moved ... ok test tests::missing::make_from_link_makes_the_note_where_the_link_points_and_undo_takes_it_back ... ok test tests::listing::the_list_stays_live_with_new_notes_saves_and_outside_edits ... ok test tests::missing::never_written_paths_are_new_and_bad_ones_too ... ok test tests::missing::notes_in_the_trash_from_before_are_found ... ok test tests::missing::never_made_targets_are_offered_with_their_capitals_and_link_counts ... ok test tests::missing::restored_with_a_new_name_reads_as_moved ... ok test tests::opening::a_cold_fill_ends_with_every_index_and_right_answers ... ok test tests::opening::a_note_never_typed_in_is_still_forgotten_on_restart ... ok test tests::opening::a_warm_open_announces_only_what_changed_while_closed ... ok test tests::opening::a_cold_home_indexes_every_file_once_with_its_own_id ... ok test tests::opening::identifying_an_already_indexed_file_never_makes_it_a_copy ... ok test tests::opening::shutting_down_leaves_the_list_log_empty ... ok test tests::opening::asking_mid_scan_never_says_not_found_and_never_duplicates_a_day ... ok test tests::opening::upgrading_without_a_saved_scan_announces_nothing_for_known_notes ... ok test tests::outside::copied_note_gets_a_fresh_id ... ok test tests::outside::edit_while_closed_is_merged_on_open ... ok test tests::outside::missed_watcher_event_is_caught_before_saving ... ok test tests::outside::outside_create_and_delete ... ok test tests::outside::outside_edit_while_typing_merges ... ok test tests::outside::outside_rename_keeps_the_id ... ok test tests::listing::an_idle_home_with_one_thousand_notes_does_not_reconcile ... ok test tests::opening::typing_saved_only_in_history_survives_a_restart_before_the_first_save ... ok test tests::outside::own_saves_are_not_outside_edits ... ok test tests::peek::an_open_room_answers_with_its_live_text ... ok test tests::peek::reads_files_without_opening_rooms ... ok test tests::pending::apply_places_changes_in_any_order ... ok test tests::peek::returns_at_most_fifty ... ok test tests::pending::yrs_alone_loses_a_parked_change ... ok test tests::pending::changes_out_of_order_all_arrive_and_saved_is_true ... ok test tests::renames::a_format_note_is_never_renamed_after_its_title ... ok test tests::renames::a_taken_name_gets_a_number_and_daily_notes_keep_theirs ... ok test tests::renames::a_title_ending_in_a_number_does_not_schedule_a_rename ... ok test tests::outside::polling_finds_outside_changes ... ok test tests::renames::backlinks_list_linked_and_unlinked_mentions ... ok test tests::renames::cancelled_prepared_import_drops_its_private_image_and_replays_the_plan ... ok test tests::renames::delta2_rename_collision_must_not_apply_dependent_title_edit ... ok test tests::renames::make_note_moves_the_block_and_undoes_as_one_step ... ok test tests::renames::move_block_to_another_note_and_back ... ok test tests::renames::rename_killed_after_title_before_progress_recovers_and_undoes ... ok test tests::renames::backlinks_follow_edits_and_deletes ... ok test tests::renames::rename_moves_the_file_and_repoints_every_link ... ok test tests::renames::rename_recovery_child ... ok test tests::renames::rename_killed_between_move_and_title_recovers_and_undoes ... ok test tests::renames::saving_a_title_ending_in_a_number_does_not_schedule_a_rename ... ok test tests::renames::typing_in_a_linking_note_during_a_rename_is_kept ... ok test tests::renames::undo_keeps_a_made_note_someone_typed_in ... ok test tests::rooms::fresh_note_opened_by_many_at_once_is_not_doubled ... ok test tests::rooms::late_joiner_gets_full_state ... ok test tests::rooms::patches_use_utf16_positions ... ok test tests::renames::typing_a_new_title_renames_the_file_after_a_pause ... ok test tests::rooms::retried_change_applies_once ... ok test tests::rooms::retried_create_makes_one_note ... ok test tests::rooms::stale_replace_keeps_newer_typing ... ok test tests::rooms::typing_survives_a_concurrent_delete ... ok test tests::round4_review::create_reports_conflict_when_an_outside_file_arrives_before_placement ... ok test tests::round4_review::independent_creates_joined_in_one_task_do_not_reenter ... ok test tests::round4_review::scan_propagates_deletion_history_failure_after_reacquiring_lifecycle ... ok test tests::round4_review::scan_propagates_deletion_history_read_failure_and_retries ... ok test tests::rooms::random_concurrent_editing_converges_without_duplicates ... ok test tests::saving::a_write_error_keeps_the_change ... ok test tests::round4_review::startup_keeps_unknown_notes_incomplete_until_deletion_history_retry ... ok test tests::saving::crash_after_write_does_not_double_text ... ok test tests::saving::an_error_after_the_write_does_not_double_text ... ok test tests::saving::failed_save_keeps_the_change ... ok test tests::saving::crash_before_write_loses_nothing ... ok test tests::saving::line_endings_and_bom_are_kept ... ok test tests::saving::first_keystroke_creates_the_file ... ok test tests::saving::opening_never_writes ... ok test tests::saving::properties_continue_during_file_io ... ok test tests::saving::saving_does_not_loop ... ok test tests::saving::title_and_h1_stay_in_step ... ok test tests::saving::typing_and_history_continue_during_file_io ... ok test tests::saving::nonstop_typing_still_saves ... ok test tests::renames::a_crash_mid_rename_resumes_and_applies_each_edit_once ... ok test tests::shutdown::a_shutdown_wait_made_after_shutdown_ends_at_once ... ok test tests::shutdown::healthy_shutdown_settles_pending_typing_before_saving ... ok test tests::shutdown::no_background_work_starts_after_shutdown ... ok test tests::shutdown::nothing_opens_or_writes_on_a_home_after_shutdown ... ok test tests::shutdown::scan_waiters_stay_released_once_shutdown_releases_them ... ok test tests::shutdown::settlement::shutdown_settlement_failed_promotion_preserves_written_snapshot ... ok test tests::shutdown::settlement::shutdown_settlement_late_disk_recovery_requires_replay ... ok test tests::shutdown::a_create_that_outlives_shutdown_writes_nothing ... ok test tests::shutdown::settlement::shutdown_settlement_live_file_io_failure_joins_writer ... ok test tests::shutdown::shutdown_cancels_a_reconciler_waiting_for_startup_scan ... ok test tests::shutdown::shutdown_closes_the_home_history_writer_before_returning ... ok test tests::shutdown::shutdown_finishes_when_history_writes_keep_failing ... ok test tests::shutdown::a_create_running_at_shutdown_finishes_before_shutdown_returns ... ok test tests::shutdown::shutdown_many_full_history_rooms_12 ... ok test tests::storm::outside_rewrites_during_a_storm_all_land ... ok test tests::shutdown::shutdown_many_full_history_rooms_100 ... ok test tests::tags::a_big_tag_rename_allows_typing_while_a_batch_is_held ... ok test tests::tags::bad_names_are_refused ... ok test tests::tags::perf_big_tag_rename_keystrokes_under_one_second ... ignored, tag-rename typing latency runs on the perf VM via perf/ordinary-latency-vm.sh test tests::tags::renames_every_tag_and_undoes_as_one_step ... ok test tests::tags::typing_during_a_tag_rename_is_kept ... ok test tests::trash::a_closed_note_is_trashed_without_opening_it ... ok test tests::trash::a_crash_mid_delete_finishes_on_restart_exactly_once ... ok test tests::trash::a_file_deleted_outside_goes_to_the_trash ... ok test tests::trash::a_never_typed_note_is_simply_forgotten ... ok test tests::trash::a_note_deleted_before_its_first_save_keeps_its_text ... ok test tests::trash::delete_and_restore_answer_once_per_job_id ... ok test tests::trash::delete_moves_to_trash_and_undo_brings_it_back ... ok test tests::trash::delete_replay_with_a_stale_index_keeps_the_only_file ... ok test tests::trash::delete_waits_for_imported_incoming_links_before_remembering_their_identity ... ok test tests::trash::folder_rename_and_outside_move_bursts_keep_every_descendant ... ok test tests::trash::forget_deletes_file_and_history_forever ... ok test tests::trash::half_written_trash_folders_never_hide_a_live_note ... ok test tests::trash::outside_copy_finishes_a_metadata_only_interruption ... ok test tests::trash::restore_durably_indexes_a_note_without_an_embedded_id ... ok test tests::trash::restore_keeps_id_and_history_and_takes_a_free_name ... ok test tests::trash::restore_with_a_stale_index_really_moves_the_file_back ... ok test tests::trash::the_sweep_empties_only_notes_older_than_thirty_days ... ok test tests::trash::trash_ids_never_reach_another_home ... ok test tests::trash::trash_pages_newest_first ... ok test tests::trash::trashed_notes_leave_search_lists_and_backlinks_and_come_back ... ok test tests::event_visibility::save_outside_retry ... ok test tests::unloading::an_open_note_keeps_it ... ok test tests::unloading::a_connected_client_keeps_it ... ok test tests::unloading::an_unused_home_unloads_and_answers_after ... ok test tests::tags::a_crash_mid_rename_resumes_and_renames_each_tag_once ... ok test text::tests::mixed_endings_take_the_majority ... ok test text::tests::styles_round_trip ... ok test text::tests::uniform_files_round_trip_exactly ... ok test trash::tests::a_note_without_details_still_reads ... ok test trash::tests::candidates_include_notes_and_orphan_details_with_a_bounded_scan ... ok test trash::tests::details_without_a_note_are_not_a_note ... ok test trash::tests::missing_details_never_age_trash_from_the_notes_old_mtime ... ok test trash::tests::outside_copy_has_its_details_when_the_file_first_becomes_readable ... ok test versions::tests::folds_runs_by_author_kind_and_gap ... ok test watch::native_tests::bulk_files_only_notify_the_watcher_when_the_whole_note_is_placed ... ok test watch::native_tests::native_watch_ignores_reads_but_keeps_every_kind_of_outside_change ... ok test ydoc::seed_tests::initial_seed_matches_yrs_and_accepts_later_utf16_edits ... ok test ydoc::tests::fork_and_merge_keeps_concurrent_typing ... ok test ydoc::tests::reapplying_an_update_changes_nothing ... ok test ydoc::tests::utf16_offsets ... ok test tests::writers::every_writer_at_once_with_the_watcher ... ok test tests::writers::every_writer_at_once_loses_and_doubles_nothing ... ok test tests::shutdown::settlement::shutdown_settlement_state_machine ... ok test result: ok. 425 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 61.05s Running unittests src/main.rs (target/debug/deps/calternal_perf-c35e063f38b6186d) running 7 tests test scenarios::storm::tests::typing_stops_before_the_newline_ahead_of_outside_lines ... ok test scenarios::soak::tests::slope_of_a_line ... ok test args::tests::parses_trash_only_mode ... ok test stats::tests::summary_max_is_the_largest_observed_sample_across_runs ... ok test stats::tests::medians_of_runs_and_pooled_singles ... ok test scenarios::trash::tests::permanent_deletion_never_removes_a_later_runs_live_note ... ok test live::tests::frames_round_trip_and_keystrokes_stay_whole ... ok test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/bin/storage-bench.rs (target/debug/deps/storage_bench-bfe9f5646587654d) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/bin/tasks-bench.rs (target/debug/deps/tasks_bench-ada2447ad1e527e9) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/lib.rs (target/debug/deps/calternal_plugin_hello-53ca8ca6107399a0) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/lib.rs (target/debug/deps/calternal_prefs-7ce2911caa116dcd) running 9 tests test tests::a_change_on_one_device_reaches_the_other ... ok test tests::keys_are_an_area_then_dotted_parts ... ok test tests::a_retry_with_the_same_key_acts_once ... ok test tests::bad_keys_and_big_values_get_friendly_errors ... ok test tests::people_do_not_share_preferences ... ok test tests::quick_saves_from_two_devices_all_land ... ok test tests::saving_the_same_value_again_is_quiet ... ok test tests::set_then_get_and_survive_a_restart ... ok test tests::at_most_200_keys_but_existing_ones_can_still_change ... ok test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s Running unittests src/lib.rs (target/debug/deps/calternal_search-ff67ffa340bd9f12) running 13 tests test fuzzy::tests::distance_counts_swaps_as_one ... ok test query::tests::lone_symbols_are_ignored ... ok test query::tests::dates_cover_whole_periods ... ok test fuzzy::tests::common_typos_are_fixed ... ok test read::tests::block_ids_are_found ... ok test query::tests::words_filters_and_phrases ... ok test read::tests::renumbering_shifts_placeholders ... ok test text::tests::bigrams_cover_unspaced_scripts ... ok test read::tests::text_matches_like_the_index ... ok test read::tests::excerpts_mark_matches_in_context ... ok test text::tests::fold_drops_accents_and_case ... ok test text::tests::words_keep_indic_vowel_signs ... ok test schema::tests::an_older_index_gets_its_titles_filled ... ok test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running tests/search.rs (target/debug/deps/search-8eb084de93ee7287) running 13 tests test an_empty_search_shows_recent_things ... ok test every_script_is_searchable ... ok test behind_answers_at_once_and_catching_up_is_announced_once ... ok test a_restart_heals_whatever_was_missed ... ok test perf_search_answer_under_five_hundred_ms ... ignored, first-search latency budget runs on the perf VM via perf/ordinary-latency-vm.sh test filters_by_tag_kind_and_date ... ok test odd_input_never_breaks_search ... ok test searches_answer_while_indexing_runs ... ok test prefixes_and_typos_are_forgiven ... ok test results_show_why_they_matched_and_where ... ok test people_only_ever_find_their_own_things ... ok test titles_first_then_recent_use_then_body ... ok test the_index_follows_changes_live ... ok test result: ok. 12 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.69s Running unittests src/lib.rs (target/debug/deps/calternal_server-2d5c93a450315d88) running 12 tests test live::tests::room_join_metadata_has_explicit_byte_bounds ... ok test rooms::tests::a_message_in_numbered_pieces_arrives_whole ... ok test rooms::tests::assembly_is_bounded_per_connection_and_globally_and_expiry_releases_it ... ok test rooms::tests::backpressure_refuses_the_room_before_later_checks ... ok test rooms::tests::frames_round_trip ... ok test rooms::tests::duplicated_missing_and_inconsistent_chunks_never_deliver ... ok test rooms::tests::malformed_chunk_headers_never_allow_later_checks ... ok test rooms::tests::old_membership_packets_and_results_cannot_reach_a_rejoined_room ... ok test compress::tests::big_answers_are_compressed_and_small_ones_are_not ... ok test rooms::tests::wire_nonces_reject_old_frames_joins_and_leaves_without_tombstones ... ok test rooms::tests::pending_and_joined_memberships_share_one_connection_count_bound ... ok test rooms::tests::exact_size_limit_is_delivered_but_a_larger_declaration_is_refused ... ok test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s Running tests/access.rs (target/debug/deps/access-cc7b50f12ab7168a) running 1 test test one_line_per_request_with_no_secrets ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running tests/live.rs (target/debug/deps/live-90eab8d011d9c785) running 6 tests test health_answers_without_signing_in ... ok test a_stranger_token_asks_for_a_refresh ... ok test signed_out_calls_get_a_friendly_refusal ... ok test errors_carry_codes_not_internals ... ok test reconnecting_catches_up_from_a_token ... ok test http_to_journal_to_websocket ... ok test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s Running tests/signout.rs (target/debug/deps/signout-86e56f395217c0af) running 1 test test signing_a_device_out_closes_its_live_socket ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s Running tests/web.rs (target/debug/deps/web-8047ab3fe59d1b38) running 3 tests test files_deep_links_and_the_api_live_side_by_side ... ok test precompressed_files_are_sent_as_they_are_to_whoever_accepts_them ... ok test caching_and_security_headers_follow_what_each_file_is ... ok test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s Running unittests src/lib.rs (target/debug/deps/calternal_store-dc5119e9b339ecbc) running 8 tests test tests::a_store_with_a_listener_or_a_copy_is_in_use ... ok test tests::commits_are_read_back_in_order ... ok test tests::idempotency_is_saved_with_the_events_or_not_at_all ... ok test tests::live_entries_arrive_in_journal_order ... ok test tests::tokens_survive_a_restart_and_reject_strangers ... ok test tests::reads_are_capped ... ok test tests::old_idempotency_records_are_swept_when_the_store_opens ... ok test tests::old_idempotency_records_are_swept_after_commits ... ok test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s Running unittests src/lib.rs (target/debug/deps/calternal_tasks-1fe0b2ccbbb49579) running 28 tests test found::tests::checkbox_forms ... ok test found::tests::days_and_times ... ok test found::tests::first_link_on_the_line_is_the_target ... ok test found::tests::every_unrecognised_status_reads_as_open_without_changing_the_source ... ok test found::tests::finds_checkboxes_everywhere_but_code_and_frontmatter ... ok test found::tests::lenient_reading ... ok test found::tests::linked_tasks_after_fences_keep_their_targets ... ok test found::tests::review_code_and_html_are_not_checkboxes ... ok test found::tests::reads_a_task_note ... ok test tests::crash_child ... ok test found::tests::markdown_links_and_task_items_share_commonmark_boundaries ... ok test tests::lists_groups_and_counts ... ok test tests::outside_edits_reach_the_lists ... ok test tests::rebuild_gives_the_same_rows ... ok test tests::kill_9_during_field_writes_loses_nothing_acknowledged ... ok test tests::review_broken_frontmatter_refuses_update ... ok test tests::review_long_code_fence_hides_checkboxes ... ok test tests::review_outside_edit_during_pending_task_write ... ok test tests::review_upcoming_with_past_and_future_dates ... ok test tests::task_notes_are_hidden_only_from_notes_lists_and_unknown_status_is_kept ... ok test tests::unreadable_frontmatter_is_shown_but_never_changed ... ok test tests::untracked_is_open_checkboxes_that_are_not_tasks ... ok test tests::update_changes_only_its_keys_and_lists_follow_at_once ... ok test update::tests::checks_values ... ok test update::tests::null_and_missing_differ ... ok test tests::a_cold_fill_gives_the_same_rows_as_the_usual_way ... ok test tests::order::sql_and_rust_sort_the_same ... ok test tests::review_live_list_has_consistent_rows_and_counts ... ok test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.41s Running unittests src/lib.rs (target/debug/deps/calternal_testkit-84605cced32b9d05) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_attachments running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_auth running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_backdrops running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_contacts running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_contacts_actions running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_core running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_daily running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_engine running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_fixtures running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_fsio running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_memory running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_migrate_v0 running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_notes running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_plugin_hello running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_prefs running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_search running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_server running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_store running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_tasks running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests calternal_testkit running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s ```
Author
Owner

Finished on perf/quota-simple at 798f1bbe91. Draft PR: #764. The plan was committed first in 3f7eb017. All required gates passed; their complete output is in the preceding comments. Both 50,000-case properties passed on the final code. The Tasks kill-9 test passed; #757 did not reproduce, so no flake rerun was needed. Local measurements are explicitly not perf VM results; initial 100k traces timed out and were excluded. Test inventory and measurement evidence are linked in the PR. No merge, deployment, issue closure, or push to main/dev. The own-branch update used an exact lease on the previous WIP SHA, and the published history contains no job artifacts.

Finished on perf/quota-simple at 798f1bbe917335a46eec3b1121e675a8b2f525dc. Draft PR: https://git.kayg.org/kayg/calternal/pulls/764. The plan was committed first in 3f7eb017. All required gates passed; their complete output is in the preceding comments. Both 50,000-case properties passed on the final code. The Tasks kill-9 test passed; #757 did not reproduce, so no flake rerun was needed. Local measurements are explicitly not perf VM results; initial 100k traces timed out and were excluded. Test inventory and measurement evidence are linked in the PR. No merge, deployment, issue closure, or push to main/dev. The own-branch update used an exact lease on the previous WIP SHA, and the published history contains no job artifacts.
Author
Owner

Closing per #931: the quota and tiering stack in #764 replaces idle accounting here.

Closing per #931: the quota and tiering stack in #764 replaces idle accounting here.
kayg closed this pull request 2026-11-04 17:37:31 +00:00
Some checks failed
CI / server (pull_request) Successful in 1m11s
CI / rust (pull_request) Successful in 14m1s
CI / web (pull_request) Has been cancelled

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal!753
No description provided.