mirror of
https://github.com/stablyai/orca.git
synced 2026-10-18 00:03:20 +00:00
docs: record native relay cache entry evidence
Co-authored-by: Orca <help@stably.ai>
This commit is contained in:
+15
-60
@@ -9,58 +9,17 @@ keeps commands, hashes, runner identities, timings, and failure details.
|
||||
A checked box means the work has evidence in the detailed ledger. Design approval alone does not
|
||||
complete a box.
|
||||
|
||||
Active checkpoint: **Milestone 5 / Work Package 4 desktop cache boundary — disconnected
|
||||
cross-process content-lock all-six native gate, 2026-07-15, Codex implementation owner.** Exact-head run
|
||||
[29449869519](https://github.com/stablyai/orca/actions/runs/29449869519) closes deterministic bounded
|
||||
`.tar.br` under `E-M5-PORTABLE-ARCHIVE-CI-001`: all six primary Node 24 jobs and both Linux
|
||||
oldest-userland supplements pass. PR Checks and Golden E2E are green; Windows x64 floor passes and
|
||||
Windows arm64 passes smoke before the retained hosted build-26200 versus required-26100 rejection.
|
||||
The isolated desktop extractor is locally green under `E-M5-ARTIFACT-EXTRACTION-LOCAL-001` and
|
||||
`E-M5-ARTIFACT-EXTRACTION-BROAD-LOCAL-001`: 17 focused tests cover both archive families, hostile
|
||||
inputs, exact tree/modes, mutation, cancellation, cleanup, and ownership; broad relay/release/static
|
||||
gates pass. An exact downloaded 122,027,869-byte Darwin arm64 tree extracts in 878.73ms with
|
||||
49,283,072-byte incremental RSS under `E-M5-ARTIFACT-EXTRACTION-FULL-SIZE-LOCAL-001`. Both native job
|
||||
families now require synthetic cross-family and post-build full-size gates under
|
||||
`E-M5-ARTIFACT-EXTRACTION-CI-WIRING-LOCAL-001`. Exact-head Darwin arm64 then supplied the required
|
||||
native RED: Darwin arm64 uses 71,368,704 bytes and Linux x64 uses 68,505,600 bytes, disproving the
|
||||
pre-implementation 64 MiB assumption and blocking upload under
|
||||
`E-M5-ARTIFACT-EXTRACTION-CI-MEMORY-RED-001`. Evidence decision
|
||||
`E-M5-ARTIFACT-EXTRACTION-BUDGET-CORRECTION-001` selects 80 MiB for cold desktop extraction only;
|
||||
remote remains 32 MiB and no buffer exceeds 1 MiB. The strict bounded replacement is locally green
|
||||
under `E-M5-ARTIFACT-EXTRACTION-TAR-MEMORY-LOCAL-001`: 21 focused tests and five exact payload runs
|
||||
use at most 69,402,624 bytes. Replacement exact-head run
|
||||
[29455294208](https://github.com/stablyai/orca/actions/runs/29455294208) closes all six native
|
||||
extraction/full-tree cells under `E-M5-ARTIFACT-EXTRACTION-CI-001`: 33,517,568–45,989,888-byte
|
||||
incremental RSS and 1,294.77–5,757.55ms. Both Linux oldest-userland supplements and Windows x64
|
||||
floor pass; Windows arm64 runtime/extraction passes before the retained hosted build-26200 versus
|
||||
required-26100 floor rejection. Exact-head PR Checks
|
||||
[29455294230](https://github.com/stablyai/orca/actions/runs/29455294230) and Golden E2E
|
||||
[29455294207](https://github.com/stablyai/orca/actions/runs/29455294207) are green. The cache audit
|
||||
splits lock, immutable publication/quarantine, and in-use eviction into separate gates under
|
||||
`E-M5-ARTIFACT-CACHE-AUDIT-001`. The absent-module RED is
|
||||
`E-M5-ARTIFACT-CACHE-LOCK-LOCAL-RED-001`; the disconnected implementation and ten focused contracts
|
||||
are locally green under `E-M5-ARTIFACT-CACHE-LOCK-LOCAL-001`, including a real second process,
|
||||
heartbeat, cancellation, stale-dead reclaim, and live/ambiguous/displaced-owner safety. Artifact,
|
||||
relay, release, typecheck, full lint, max-lines, and workflow gates pass. Both native job families
|
||||
require the suite under `E-M5-ARTIFACT-CACHE-LOCK-CI-WIRING-LOCAL-001`. Exact-head Windows x64 then
|
||||
found the open-heartbeat-handle directory-rename incompatibility under
|
||||
`E-M5-ARTIFACT-CACHE-LOCK-CI-WINDOWS-RED-001`; Windows arm64 also found equivalent zlib truncation
|
||||
wording outside the extraction test oracle under `E-M5-ARTIFACT-EXTRACTION-CI-WINDOWS-ARM64-RED-001`.
|
||||
The ownership-preserving release order and equivalent-error assertion are locally green under
|
||||
`E-M5-WINDOWS-NATIVE-GATE-CORRECTIONS-LOCAL-001`. Replacement exact-head run
|
||||
[29459424864](https://github.com/stablyai/orca/actions/runs/29459424864) closes the content lock on all
|
||||
six primary native Node 24 jobs under `E-M5-ARTIFACT-CACHE-LOCK-CI-001`; both Linux supplements,
|
||||
PR Checks [29459424977](https://github.com/stablyai/orca/actions/runs/29459424977), and Golden E2E
|
||||
[29459424789](https://github.com/stablyai/orca/actions/runs/29459424789) pass. Windows arm64 retains
|
||||
only the explicit hosted build-26200 versus required-26100 floor rejection after runtime/tree smoke.
|
||||
`E-M5-ARTIFACT-CACHE-ENTRY-AUDIT-001` fixes the disconnected immutable
|
||||
publication/lookup/quarantine transaction; the absent-module contract RED is
|
||||
`E-M5-ARTIFACT-CACHE-ENTRY-LOCAL-RED-001`. Seventeen local contracts plus broad/static gates are
|
||||
green under `E-M5-ARTIFACT-CACHE-ENTRY-LOCAL-001`; both native families require the source suite and
|
||||
exact full-size cold/warm measurement under `E-M5-ARTIFACT-CACHE-ENTRY-CI-WIRING-LOCAL-001`. Native
|
||||
execution is next. Desktop consumers, cache eviction, SSH transfer/install,
|
||||
mode wiring, tuple enablement, publication, production keys/environment/seed, and merge to `main`
|
||||
remain disconnected.
|
||||
Active checkpoint: **Milestone 5 / Work Package 4 desktop cache boundary — immutable cache entry
|
||||
closed; in-use lease/2 GiB eviction is next, 2026-07-15, Codex implementation owner.** Exact-head
|
||||
run [29462394311](https://github.com/stablyai/orca/actions/runs/29462394311) passes all 17 cache-entry
|
||||
contracts and exact full-size cold/warm measurements on Linux, macOS, and Windows, x64 and arm64,
|
||||
under `E-M5-ARTIFACT-CACHE-ENTRY-CI-001`. Cold publication is 1.17–6.17s and 34.5–48.8 MiB
|
||||
incremental RSS; warm verified lookup is 0.12–0.70s and 0–6.9 MiB. PR Checks
|
||||
[29462394310](https://github.com/stablyai/orca/actions/runs/29462394310) and Golden E2E
|
||||
[29462394344](https://github.com/stablyai/orca/actions/runs/29462394344) pass. Windows arm64 retains
|
||||
only the declared hosted build-26200 versus required-26100 floor gap after its primary runtime/cache
|
||||
proof. Desktop consumers, eviction, SSH transfer/install, mode wiring, tuple enablement, publication,
|
||||
production keys/environment/seed, and merge to `main` remain disconnected.
|
||||
|
||||
## Safety status
|
||||
|
||||
@@ -356,14 +315,10 @@ remain disconnected.
|
||||
execution is closed under `E-M5-ARTIFACT-EXTRACTION-CI-001`. Packaged signature loading
|
||||
remains open.
|
||||
- [ ] Add exclusive staging, atomic publication, quarantine, locking, and the 2 GiB cache policy.
|
||||
Exclusive owned staging and failure/cancellation cleanup are green locally and on all six
|
||||
native clients under `E-M5-ARTIFACT-EXTRACTION-LOCAL-001` and
|
||||
`E-M5-ARTIFACT-EXTRACTION-CI-001`; publication, quarantine, locking, and eviction are the
|
||||
active split packages and are not implemented yet. The lock-only audit/RED is recorded under
|
||||
`E-M5-ARTIFACT-CACHE-AUDIT-001` and `E-M5-ARTIFACT-CACHE-LOCK-LOCAL-RED-001`; the implementation
|
||||
is locally green and wired to both native families under `E-M5-ARTIFACT-CACHE-LOCK-LOCAL-001`
|
||||
and `E-M5-ARTIFACT-CACHE-LOCK-CI-WIRING-LOCAL-001`; all-six native execution is closed by
|
||||
`E-M5-ARTIFACT-CACHE-LOCK-CI-001`. Immutable publication/lookup/quarantine remains next.
|
||||
Locking and immutable publication/lookup/quarantine are closed locally and on all six native
|
||||
clients under `E-M5-ARTIFACT-CACHE-LOCK-CI-001` and
|
||||
`E-M5-ARTIFACT-CACHE-ENTRY-CI-001`. In-use leases, recency, and bounded 2 GiB eviction remain
|
||||
the only open part of this combined item.
|
||||
- [ ] Prove verified cached bytes can be transferred while the client is offline.
|
||||
- [ ] Preserve `ORCA_RELAY_PATH` behind the official-build trust boundary.
|
||||
|
||||
|
||||
+117
-45
@@ -8,7 +8,7 @@ work; keep exact commands, runner identities, hashes, metrics, and residual gaps
|
||||
|
||||
Date created: 2026-07-14<br>
|
||||
Last updated: 2026-07-15<br>
|
||||
Current phase: Milestone 5 / Work Package 4 desktop cache boundary — **In progress — 2026-07-15, Codex implementation owner: immutable cache-entry native/full-size gate**. E-M5-ARTIFACT-CACHE-ENTRY-LOCAL-001 closes 17 local transaction contracts plus broad/static gates; E-M5-ARTIFACT-CACHE-ENTRY-CI-WIRING-LOCAL-001 requires both the source suite and exact full-size cold-publication/verified-lookup measurement in both native job families. Checkpoint/push, then require all six Node 24 jobs and full-size time/RSS cells before cache-entry closure or any eviction/consumer work.<br>
|
||||
Current phase: Milestone 5 / Work Package 4 desktop cache boundary — **Checkpoint — 2026-07-15, Codex implementation owner: immutable cache-entry gate closed; evidence checkpoint/push required before in-use lease/eviction work**. E-M5-ARTIFACT-CACHE-ENTRY-CI-001 closes all six primary Node 24 source and exact full-size cold-publication/warm-verified-lookup cells at `3c1ead8fb1e1f3b64abaf78705abb0c801a1d64b`. PR Checks and Golden E2E pass. No cache consumer, eviction, SSH path, mode, tuple, release write, or default behavior is connected.<br>
|
||||
Session checkpoint: **In progress — 2026-07-15, Codex implementation owner** — resumed with user authority for end-to-end PR-contained implementation, commits, pushes, CI, rehearsals, and release writes, with merging to `main` explicitly prohibited. The first native run exposed and recorded Windows open-handle rename and equivalent zlib-error-oracle REDs; narrow corrections passed locally and at exact-head CI. In replacement run `29459424864`, all six primary jobs pass the 10 lock and 21 extraction contracts plus deterministic artifact build/smoke. The workflow's sole failure is the retained Windows arm64 hosted build-26200 versus required-26100 floor rejection after runtime/archive/tree/Node/PTTY/watcher proof; no tuple is enabled from it. PR Checks `29459424977` and Golden E2E `29459424789` pass. There is no release publication, cache entry, cache consumer, SSH transfer/install, tuple enablement, or production/default behavior change. Legacy remains the production default.<br>
|
||||
Primary design: [SSH relay GitHub Release plan](./2026-07-14-ssh-relay-github-release-plan.html)<br>
|
||||
Motivating issues: [#8450](https://github.com/stablyai/orca/issues/8450), [#1693](https://github.com/stablyai/orca/issues/1693)
|
||||
@@ -1077,7 +1077,8 @@ Suggested concrete modules:
|
||||
|
||||
### Download and local cache
|
||||
|
||||
- [ ] Store archives and extracted trees under an app-owned cache, keyed by signed content identity.
|
||||
- [x] Store archives and extracted trees under an app-owned cache, keyed by signed content identity.
|
||||
E-M5-ARTIFACT-CACHE-ENTRY-LOCAL-001 and E-M5-ARTIFACT-CACHE-ENTRY-CI-001.
|
||||
- [x] Stream downloads into exclusive temporary files; never buffer a full runtime in memory.
|
||||
E-M5-ARTIFACT-DOWNLOAD-LOCAL-001 and E-M5-ARTIFACT-DOWNLOAD-CI-001.
|
||||
- [x] Apply download size and time budgets while streaming.
|
||||
@@ -1088,10 +1089,9 @@ Suggested concrete modules:
|
||||
E-M5-ARTIFACT-EXTRACTION-LOCAL-001 and E-M5-ARTIFACT-EXTRACTION-CI-001 prove strict
|
||||
TAR/Brotli and ZIP inspection, exclusive owned staging, cancellation/failure cleanup, and
|
||||
exact full-size execution on all six native Node 24 clients.
|
||||
- [ ] Verify the exact expanded tree before atomically publishing the cache entry.
|
||||
The disconnected full-tree verifier passes locally and on all six native clients under
|
||||
E-M5-ARTIFACT-EXTRACTION-LOCAL-001 and E-M5-ARTIFACT-EXTRACTION-CI-001; atomic cache
|
||||
publication is deliberately absent and keeps this combined item open.
|
||||
- [x] Verify the exact expanded tree before atomically publishing the cache entry.
|
||||
E-M5-ARTIFACT-CACHE-ENTRY-LOCAL-001 and E-M5-ARTIFACT-CACHE-ENTRY-CI-001 prove complete staged
|
||||
archive/tree revalidation before same-filesystem atomic publication on all six native clients.
|
||||
- [x] Coordinate cache ownership across multiple Orca processes and windows.
|
||||
E-M5-ARTIFACT-CACHE-LOCK-LOCAL-001 and E-M5-ARTIFACT-CACHE-LOCK-CI-001 prove real
|
||||
second-process contention and ownership transfer on all six native client tuples. Cache-entry
|
||||
@@ -1100,9 +1100,12 @@ Suggested concrete modules:
|
||||
E-M5-ARTIFACT-CACHE-LOCK-LOCAL-001 and E-M5-ARTIFACT-CACHE-LOCK-CI-001 prove conservative
|
||||
same-host liveness, stale-dead-owner tombstoning, live/ambiguous-owner preservation, and
|
||||
displaced-owner successor safety. No downloader/extractor consumer is connected yet.
|
||||
- [ ] Never select partial files, partial directories, or entries with a failed verification record.
|
||||
- [ ] Re-verify cached metadata and expected identity before use; define when full file rehashing is
|
||||
required.
|
||||
- [x] Never select partial files, partial directories, or entries with a failed verification record.
|
||||
E-M5-ARTIFACT-CACHE-ENTRY-LOCAL-001 and E-M5-ARTIFACT-CACHE-ENTRY-CI-001.
|
||||
- [x] Re-verify cached metadata and expected identity before use; define when full file rehashing is
|
||||
required. E-M5-ARTIFACT-CACHE-ENTRY-LOCAL-001 and E-M5-ARTIFACT-CACHE-ENTRY-CI-001 require a
|
||||
strict proof/archive/full-tree rehash on every disconnected lookup; warm-launch proof trust is
|
||||
a later remote-install contract and is not inferred here.
|
||||
- [ ] Implement bounded eviction that never removes an in-use entry.
|
||||
- [ ] Handle read-only cache, permission failures, disk full, quota, inode exhaustion, cancellation,
|
||||
crash, corruption, and concurrent download deterministically.
|
||||
@@ -12901,14 +12904,14 @@ sort`; targeted `rg -n` over `cache|extract|atomic|quarantine`; and complete rea
|
||||
The measurement must clean its owned output and pass before unpublished artifact upload.
|
||||
- Exact full-size results:
|
||||
|
||||
| Client tuple | Job | Job duration | Incremental RSS | Extraction/tree time | Result |
|
||||
| --- | --- | ---: | ---: | ---: | --- |
|
||||
| darwin-arm64 | [87487012482](https://github.com/stablyai/orca/actions/runs/29455294208/job/87487012482) | 2m01s | 45,989,888 bytes | 1,345.51ms | PASS |
|
||||
| darwin-x64 | [87487012496](https://github.com/stablyai/orca/actions/runs/29455294208/job/87487012496) | 7m02s | 40,116,224 bytes | 5,757.55ms | PASS |
|
||||
| linux-arm64-glibc | [87487012507](https://github.com/stablyai/orca/actions/runs/29455294208/job/87487012507) | 2m51s | 36,732,928 bytes | 1,294.77ms | PASS |
|
||||
| linux-x64-glibc | [87487012518](https://github.com/stablyai/orca/actions/runs/29455294208/job/87487012518) | 2m52s | 38,420,480 bytes | 1,727.80ms | PASS |
|
||||
| win32-arm64 | [87487012510](https://github.com/stablyai/orca/actions/runs/29455294208/job/87487012510) | 11m07s | 33,517,568 bytes | 2,467.74ms | PASS |
|
||||
| win32-x64 | [87487012515](https://github.com/stablyai/orca/actions/runs/29455294208/job/87487012515) | 5m24s | 40,140,800 bytes | 1,683.02ms | PASS |
|
||||
| Client tuple | Job | Job duration | Incremental RSS | Extraction/tree time | Result |
|
||||
| ----------------- | ---------------------------------------------------------------------------------------- | -----------: | ---------------: | -------------------: | ------ |
|
||||
| darwin-arm64 | [87487012482](https://github.com/stablyai/orca/actions/runs/29455294208/job/87487012482) | 2m01s | 45,989,888 bytes | 1,345.51ms | PASS |
|
||||
| darwin-x64 | [87487012496](https://github.com/stablyai/orca/actions/runs/29455294208/job/87487012496) | 7m02s | 40,116,224 bytes | 5,757.55ms | PASS |
|
||||
| linux-arm64-glibc | [87487012507](https://github.com/stablyai/orca/actions/runs/29455294208/job/87487012507) | 2m51s | 36,732,928 bytes | 1,294.77ms | PASS |
|
||||
| linux-x64-glibc | [87487012518](https://github.com/stablyai/orca/actions/runs/29455294208/job/87487012518) | 2m52s | 38,420,480 bytes | 1,727.80ms | PASS |
|
||||
| win32-arm64 | [87487012510](https://github.com/stablyai/orca/actions/runs/29455294208/job/87487012510) | 11m07s | 33,517,568 bytes | 2,467.74ms | PASS |
|
||||
| win32-x64 | [87487012515](https://github.com/stablyai/orca/actions/runs/29455294208/job/87487012515) | 5m24s | 40,140,800 bytes | 1,683.02ms | PASS |
|
||||
|
||||
- Adjacent native gates: Linux arm64 oldest-userland job
|
||||
[87488270107](https://github.com/stablyai/orca/actions/runs/29455294208/job/87488270107) passes in
|
||||
@@ -12922,7 +12925,7 @@ sort`; targeted `rg -n` over `cache|extract|atomic|quarantine`; and complete rea
|
||||
the exact source, reconstructs and verifies the exact archive, runs Node v24.18.0, PTY, watcher,
|
||||
resource-settlement, and complete-tree smoke, then reports observed Windows `10.0.26200` and
|
||||
`osBuild: false` against the required build `26100`. It fails with `runner does not prove the
|
||||
declared Windows floor` after 3m40s. This is correct fail-closed evidence and does not close the
|
||||
declared Windows floor` after 3m40s. This is correct fail-closed evidence and does not close the
|
||||
Windows arm64 oldest-floor cell.
|
||||
- Repository regression gates: exact-head PR Checks
|
||||
[29455294230](https://github.com/stablyai/orca/actions/runs/29455294230), job
|
||||
@@ -12944,7 +12947,7 @@ sort`; targeted `rg -n` over `cache|extract|atomic|quarantine`; and complete rea
|
||||
- Owner: Codex implementation owner
|
||||
- Source: exact pushed evidence head `ef76f38d4` on draft PR #8741.
|
||||
- Exact audit commands: `rg --files src/main | rg '(cache|ssh-relay-artifact|lock|quarantine|evict)' |
|
||||
sort`; targeted `rg -n` over `app.getPath('userData')|cache|lockfile|rename|quarantine|evict` in
|
||||
sort`; targeted `rg -n` over `app.getPath('userData')|cache|lockfile|rename|quarantine|evict` in
|
||||
`src/main`/`src/shared`; complete reads of the relay downloader, extractor, tree verifier,
|
||||
selector/content-identity/path-policy modules, startup single-instance lock, and Milestone 5 cache
|
||||
contracts.
|
||||
@@ -13157,18 +13160,18 @@ sort`; targeted `rg -n` over `cache|extract|atomic|quarantine`; and complete rea
|
||||
cleanup, verification, and fallback classification are unchanged.
|
||||
- Exact commands/results:
|
||||
- `pnpm exec oxfmt --check src/main/ssh/ssh-relay-artifact-cache-lock-lease.ts
|
||||
src/main/ssh/ssh-relay-artifact-cache-lock.test.ts
|
||||
src/main/ssh/ssh-relay-artifact-extraction.test.ts`: pass;
|
||||
src/main/ssh/ssh-relay-artifact-cache-lock.test.ts
|
||||
src/main/ssh/ssh-relay-artifact-extraction.test.ts`: pass;
|
||||
- `/usr/bin/time -l pnpm exec vitest run --config config/vitest.config.ts --maxWorkers=1
|
||||
src/main/ssh/ssh-relay-artifact-cache-lock.test.ts
|
||||
src/main/ssh/ssh-relay-artifact-extraction.test.ts`: two passed files / 31 passed tests in 2.88s
|
||||
src/main/ssh/ssh-relay-artifact-cache-lock.test.ts
|
||||
src/main/ssh/ssh-relay-artifact-extraction.test.ts`: two passed files / 31 passed tests in 2.88s
|
||||
Vitest / 8.25s wall, 156,925,952-byte maximum RSS, zero swaps;
|
||||
- `/usr/bin/time -l pnpm exec vitest run --config config/vitest.config.ts --maxWorkers=1
|
||||
src/main/ssh/ssh-relay-artifact-*.test.ts`: five passed files / one environment-skipped file,
|
||||
src/main/ssh/ssh-relay-artifact-*.test.ts`: five passed files / one environment-skipped file,
|
||||
95 passed / one skipped tests in 23.52s Vitest / 26.47s wall, 143,228,928-byte maximum RSS,
|
||||
zero swaps;
|
||||
- `/usr/bin/time -l pnpm exec vitest run --config config/vitest.config.ts --maxWorkers=1
|
||||
config/scripts/ssh-relay-runtime-*.test.mjs`: 50 passed files / 279 passed tests in 105.46s
|
||||
config/scripts/ssh-relay-runtime-*.test.mjs`: 50 passed files / 279 passed tests in 105.46s
|
||||
Vitest / 109.78s wall, 193,576,960-byte maximum RSS, zero swaps;
|
||||
- `pnpm typecheck`; `pnpm lint`; `pnpm run check:max-lines-ratchet`; `git diff --check`: pass. Full
|
||||
lint retains only existing unrelated warnings.
|
||||
@@ -13190,21 +13193,21 @@ sort`; targeted `rg -n` over `cache|extract|atomic|quarantine`; and complete rea
|
||||
- `gh api 'repos/stablyai/orca/actions/runs/29459424864/jobs?per_page=100' --jq ...` for job,
|
||||
runner, label, step, and timestamp identity;
|
||||
- `gh api repos/stablyai/orca/actions/jobs/<job-id>/logs 2>&1 | rg
|
||||
"ssh-relay-artifact-cache-lock.test.ts|ssh-relay-artifact-extraction.test.ts|Test Files|Tests " |
|
||||
tail -8` for each primary job;
|
||||
"ssh-relay-artifact-cache-lock.test.ts|ssh-relay-artifact-extraction.test.ts|Test Files|Tests " |
|
||||
tail -8` for each primary job;
|
||||
- `gh api repos/stablyai/orca/actions/jobs/87500906175/logs 2>&1 | rg -n
|
||||
"Node runtime version|archive|tree|PTY|watcher|Windows|osBuild|26100|26200|runner does not prove|Process completed"
|
||||
| tail -100` for the retained Windows arm64 floor gap.
|
||||
"Node runtime version|archive|tree|PTY|watcher|Windows|osBuild|26100|26200|runner does not prove|Process completed"
|
||||
| tail -100` for the retained Windows arm64 floor gap.
|
||||
- Primary native results:
|
||||
|
||||
| Client tuple | Job / runner | Job duration | Contract duration | Lock suite | Extraction suite | Result |
|
||||
| --- | --- | ---: | ---: | ---: | ---: | --- |
|
||||
| darwin-arm64 | [87499607559](https://github.com/stablyai/orca/actions/runs/29459424864/job/87499607559), `GitHub Actions 1000056437`, `macos-15` | 1m52s | 13s | 10 pass, 530ms | 21 pass, 524ms | PASS |
|
||||
| darwin-x64 | [87499607640](https://github.com/stablyai/orca/actions/runs/29459424864/job/87499607640), `GitHub Actions 1000056435`, `macos-15-intel` | 6m45s | 1m03s | 10 pass, 825ms | 21 pass, 3,062ms | PASS |
|
||||
| linux-arm64-glibc | [87499607604](https://github.com/stablyai/orca/actions/runs/29459424864/job/87499607604), `GitHub Actions 1000056440`, `ubuntu-24.04-arm` | 12m20s | 11s | 10 pass, 514ms | 21 pass, 784ms | PASS |
|
||||
| linux-x64-glibc | [87499607591](https://github.com/stablyai/orca/actions/runs/29459424864/job/87499607591), `GitHub Actions 1000056439`, `ubuntu-24.04` | 3m38s | 14s | 10 pass, 569ms | 21 pass, 949ms | PASS |
|
||||
| win32-arm64 | [87499607605](https://github.com/stablyai/orca/actions/runs/29459424864/job/87499607605), `GitHub Actions 1000056441`, `windows-11-arm` | 9m01s | 29s | 10 pass, 801ms | 21 pass, 1,152ms | PASS |
|
||||
| win32-x64 | [87499607584](https://github.com/stablyai/orca/actions/runs/29459424864/job/87499607584), `GitHub Actions 1000056438`, `windows-2022` | 5m29s | 22s | 10 pass, 751ms | 21 pass, 1,698ms | PASS |
|
||||
| Client tuple | Job / runner | Job duration | Contract duration | Lock suite | Extraction suite | Result |
|
||||
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -----------: | ----------------: | -------------: | ---------------: | ------ |
|
||||
| darwin-arm64 | [87499607559](https://github.com/stablyai/orca/actions/runs/29459424864/job/87499607559), `GitHub Actions 1000056437`, `macos-15` | 1m52s | 13s | 10 pass, 530ms | 21 pass, 524ms | PASS |
|
||||
| darwin-x64 | [87499607640](https://github.com/stablyai/orca/actions/runs/29459424864/job/87499607640), `GitHub Actions 1000056435`, `macos-15-intel` | 6m45s | 1m03s | 10 pass, 825ms | 21 pass, 3,062ms | PASS |
|
||||
| linux-arm64-glibc | [87499607604](https://github.com/stablyai/orca/actions/runs/29459424864/job/87499607604), `GitHub Actions 1000056440`, `ubuntu-24.04-arm` | 12m20s | 11s | 10 pass, 514ms | 21 pass, 784ms | PASS |
|
||||
| linux-x64-glibc | [87499607591](https://github.com/stablyai/orca/actions/runs/29459424864/job/87499607591), `GitHub Actions 1000056439`, `ubuntu-24.04` | 3m38s | 14s | 10 pass, 569ms | 21 pass, 949ms | PASS |
|
||||
| win32-arm64 | [87499607605](https://github.com/stablyai/orca/actions/runs/29459424864/job/87499607605), `GitHub Actions 1000056441`, `windows-11-arm` | 9m01s | 29s | 10 pass, 801ms | 21 pass, 1,152ms | PASS |
|
||||
| win32-x64 | [87499607584](https://github.com/stablyai/orca/actions/runs/29459424864/job/87499607584), `GitHub Actions 1000056438`, `windows-2022` | 5m29s | 22s | 10 pass, 751ms | 21 pass, 1,698ms | PASS |
|
||||
|
||||
- Aggregate contract results: each POSIX job passes 64 files; each Windows job passes 65 files. The
|
||||
suite includes same-process contention, a real second Node process, bounded cancellation,
|
||||
@@ -13304,7 +13307,7 @@ sort`; targeted `rg -n` over `cache|extract|atomic|quarantine`; and complete rea
|
||||
entry modules deliberately absent.
|
||||
- Exact command:
|
||||
`/usr/bin/time -l pnpm exec vitest run --config config/vitest.config.ts --maxWorkers=1
|
||||
src/main/ssh/ssh-relay-artifact-cache-entry.test.ts`.
|
||||
src/main/ssh/ssh-relay-artifact-cache-entry.test.ts`.
|
||||
- Result: required RED; one failed suite / zero collected tests in 153ms Vitest / 1.11s wall,
|
||||
132,071,424-byte maximum RSS, zero swaps. Import fails only because
|
||||
`./ssh-relay-artifact-cache-entry` does not exist.
|
||||
@@ -13354,7 +13357,7 @@ sort`; targeted `rg -n` over `cache|extract|atomic|quarantine`; and complete rea
|
||||
No corruption behavior was weakened.
|
||||
- Exact focused command:
|
||||
`/usr/bin/time -l pnpm exec vitest run --config config/vitest.config.ts --maxWorkers=1
|
||||
src/main/ssh/ssh-relay-artifact-cache-entry.test.ts`.
|
||||
src/main/ssh/ssh-relay-artifact-cache-entry.test.ts`.
|
||||
- Final focused result: one passed file / 17 passed tests in 1.87s Vitest / 3.10s wall,
|
||||
137,035,776-byte maximum RSS, zero swaps. Contracts prove fixed 5m/80 MiB/64 KiB/16 KiB limits,
|
||||
exact paths, Linux and Windows archive families, atomic complete publication, exact miss,
|
||||
@@ -13363,14 +13366,14 @@ sort`; targeted `rg -n` over `cache|extract|atomic|quarantine`; and complete rea
|
||||
recovery only from freshly reverified bytes.
|
||||
- Exact broader commands/results:
|
||||
- `/usr/bin/time -l pnpm exec vitest run --config config/vitest.config.ts --maxWorkers=1
|
||||
src/main/ssh/ssh-relay-artifact-*.test.ts`: final tree passes six files / two environment-skipped
|
||||
src/main/ssh/ssh-relay-artifact-*.test.ts`: final tree passes six files / two environment-skipped
|
||||
full-size files, 112 passed / two skipped tests in 164.85s Vitest / 194.56s wall,
|
||||
123,568,128-byte maximum RSS, zero swaps under severe unrelated host contention;
|
||||
- `/usr/bin/time -l pnpm exec vitest run --config config/vitest.config.ts --maxWorkers=1
|
||||
src/main/ssh/ssh-relay-*.test.ts`: 19 passed files / two skipped files, 280 passed / two skipped
|
||||
src/main/ssh/ssh-relay-*.test.ts`: 19 passed files / two skipped files, 280 passed / two skipped
|
||||
tests in 78.76s Vitest / 95.05s wall, 215,089,152-byte maximum RSS, zero swaps;
|
||||
- `/usr/bin/time -l pnpm exec vitest run --config config/vitest.config.ts --maxWorkers=1
|
||||
config/scripts/ssh-relay-runtime-*.test.mjs`: 50 passed files / 279 passed tests in 41.66s Vitest /
|
||||
config/scripts/ssh-relay-runtime-*.test.mjs`: 50 passed files / 279 passed tests in 41.66s Vitest /
|
||||
45.35s wall, 190,808,064-byte maximum RSS, zero swaps;
|
||||
- `pnpm typecheck`; `pnpm lint`; `pnpm run check:max-lines-ratchet`: pass. Full lint retains only
|
||||
existing unrelated warnings; no max-lines disable or ratchet exception was added;
|
||||
@@ -13403,9 +13406,9 @@ sort`; targeted `rg -n` over `cache|extract|atomic|quarantine`; and complete rea
|
||||
measurement step also required the ordering oracle's exact name to follow the expanded boundary.
|
||||
- Final GREEN command/result:
|
||||
`pnpm exec vitest run --config config/vitest.config.ts --maxWorkers=1
|
||||
config/scripts/ssh-relay-runtime-workflow.test.mjs
|
||||
src/main/ssh/ssh-relay-artifact-cache-entry.test.ts
|
||||
src/main/ssh/ssh-relay-artifact-cache-entry-full-size.test.ts`: workflow and focused source suites
|
||||
config/scripts/ssh-relay-runtime-workflow.test.mjs
|
||||
src/main/ssh/ssh-relay-artifact-cache-entry.test.ts
|
||||
src/main/ssh/ssh-relay-artifact-cache-entry-full-size.test.ts`: workflow and focused source suites
|
||||
pass; the environment-only full-size file is skipped locally, for 24 passed / one skipped tests.
|
||||
- Native oracle: every primary client job must run all 17 transaction/corruption contracts before
|
||||
artifact construction. After constructing the exact full-size artifact, every job must measure cold
|
||||
@@ -13418,6 +13421,75 @@ sort`; targeted `rg -n` over `cache|extract|atomic|quarantine`; and complete rea
|
||||
- Follow-up: checkpoint/push and require all six primary jobs plus companion PR Checks/Golden E2E
|
||||
before cache-entry closure.
|
||||
|
||||
### E-M5-ARTIFACT-CACHE-ENTRY-CI-001 — Immutable publication and verified lookup pass all six native cells
|
||||
|
||||
- Date: 2026-07-15
|
||||
- Owner: Codex implementation owner
|
||||
- Exact source: `3c1ead8fb1e1f3b64abaf78705abb0c801a1d64b` on draft PR #8741.
|
||||
- Workflow: SSH Relay Runtime Artifacts run
|
||||
[29462394311](https://github.com/stablyai/orca/actions/runs/29462394311). All six primary Node 24
|
||||
jobs pass their complete source-contract step, including all 17 immutable cache-entry transaction,
|
||||
corruption, quarantine, concurrency, and recovery tests. POSIX jobs pass 65 source files and
|
||||
Windows jobs pass 66 source files.
|
||||
- Exact native cells and `ssh_relay_full_size_cache` results:
|
||||
- linux-x64-glibc job
|
||||
[87508477435](https://github.com/stablyai/orca/actions/runs/29462394311/job/87508477435):
|
||||
`ubuntu-24.04`, image `ubuntu24` `20260705.232.1`, X64; 36,412,425-byte archive,
|
||||
124,846,430 expanded bytes / 34 files; cold 2,244.83ms / 40,214,528-byte incremental RSS; warm
|
||||
239.44ms / 0 bytes;
|
||||
- linux-arm64-glibc job
|
||||
[87508477441](https://github.com/stablyai/orca/actions/runs/29462394311/job/87508477441):
|
||||
`ubuntu-24.04-arm`, image `ubuntu24-arm64` `20260706.52.2`, ARM64; 36,363,087-byte archive,
|
||||
122,865,324 expanded bytes / 34 files; cold 1,703.97ms / 46,911,488 bytes; warm 195.47ms /
|
||||
131,072 bytes;
|
||||
- darwin-arm64 job
|
||||
[87508477446](https://github.com/stablyai/orca/actions/runs/29462394311/job/87508477446):
|
||||
`macos-15`, image `macos15` `20260706.0213.1`, ARM64; 31,776,560-byte archive,
|
||||
122,027,869 expanded bytes / 35 files; cold 1,173.97ms / 47,104,000 bytes; warm 123.58ms /
|
||||
212,992 bytes;
|
||||
- darwin-x64 job
|
||||
[87508477453](https://github.com/stablyai/orca/actions/runs/29462394311/job/87508477453):
|
||||
`macos-15-intel`, image `macos15` `20260629.0276.1`, X64; 32,922,888-byte archive,
|
||||
124,316,655 expanded bytes / 35 files; cold 6,171.98ms / 43,335,680 bytes; warm 702.78ms /
|
||||
372,736 bytes;
|
||||
- win32-x64 job
|
||||
[87508477439](https://github.com/stablyai/orca/actions/runs/29462394311/job/87508477439):
|
||||
`windows-2022`, image `win22` `20260714.244.1`, X64; 37,168,778-byte archive,
|
||||
96,527,161 expanded bytes / 42 files; cold 2,682.54ms / 48,775,168 bytes; warm 233.89ms /
|
||||
466,944 bytes;
|
||||
- win32-arm64 job
|
||||
[87508477458](https://github.com/stablyai/orca/actions/runs/29462394311/job/87508477458):
|
||||
`windows-11-arm`, image `win11-arm64` `20260714.109.1`, ARM64; 33,204,738-byte archive,
|
||||
85,213,511 expanded bytes / 42 files; cold 3,535.96ms / 34,484,224 bytes; warm 513.02ms /
|
||||
6,926,336 bytes.
|
||||
- Budget result: every cold and warm phase is below the separate five-minute and 80 MiB incremental
|
||||
RSS ceilings; every environment-only full-size test reports one passed file and removes its owned
|
||||
cache root. Observed cold range is 1,173.97–6,171.98ms and 34,484,224–48,775,168 bytes; warm range
|
||||
is 123.58–702.78ms and 0–6,926,336 bytes.
|
||||
- Companion regressions: PR Checks run
|
||||
[29462394310](https://github.com/stablyai/orca/actions/runs/29462394310), job
|
||||
[87508477369](https://github.com/stablyai/orca/actions/runs/29462394310/job/87508477369), passes in
|
||||
14m02s. Golden E2E run
|
||||
[29462394344](https://github.com/stablyai/orca/actions/runs/29462394344) passes Linux job
|
||||
[87508477410](https://github.com/stablyai/orca/actions/runs/29462394344/job/87508477410) in 4m18s
|
||||
and macOS job
|
||||
[87508477409](https://github.com/stablyai/orca/actions/runs/29462394344/job/87508477409) in 3m06s.
|
||||
- Supplemental/floor result: both Linux oldest-userland supplements pass. Windows x64 oldest-floor
|
||||
job [87509946279](https://github.com/stablyai/orca/actions/runs/29462394311/job/87509946279)
|
||||
passes. Windows arm64 primary runtime/source/cache proof passes, then oldest-floor job
|
||||
[87509946287](https://github.com/stablyai/orca/actions/runs/29462394311/job/87509946287)
|
||||
retains the declared build-26200 versus required-26100 rejection; therefore the overall artifact
|
||||
workflow is expected red and no Windows arm64 tuple is enabled.
|
||||
- Closure: exact content-key paths, same-filesystem exclusive staging, full archive/tree revalidation
|
||||
before atomic publication, strict proof/archive/tree lookup, corruption quarantine, concurrent
|
||||
serialization, and fresh-byte recovery are proven locally and on all six native clients.
|
||||
- Residual gaps: crash/power-loss durability, disk-full/quota/inode/read-only faults, in-use leases,
|
||||
recency/2 GiB eviction, packaged Electron/cache-root selection, proxy/certificate behavior, SSH,
|
||||
and every tuple/default path remain open. No artifact is published and no production consumer is
|
||||
connected.
|
||||
- Follow-up: checkpoint and push this evidence, then audit and RED-test only the disconnected in-use
|
||||
lease/recency/2 GiB eviction package. Keep consumers and SSH behavior separate.
|
||||
|
||||
## Accepted Gaps
|
||||
|
||||
No product gap is accepted merely because it appears in this list. Each entry requires explicit
|
||||
|
||||
Reference in New Issue
Block a user