From 1bda929ec08812cbd7d5fcfa61311fceae74a590 Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 09:28:04 +0900 Subject: [PATCH 01/23] docs: record resident delta results and SDK 2026.4 migration limits (#68) --- README.ko.md | 5 + README.md | 6 + docs/data/resident-delta-20261023.json | 246 +++++++++++++++++++++++ docs/data/sdk264-preflight-20261030.json | 43 ++++ docs/evaluation.md | 9 + docs/ko/resident-delta.md | 62 ++++++ docs/resident-delta.md | 107 ++++++++++ 7 files changed, 478 insertions(+) create mode 100644 docs/data/resident-delta-20261023.json create mode 100644 docs/data/sdk264-preflight-20261030.json create mode 100644 docs/ko/resident-delta.md create mode 100644 docs/resident-delta.md diff --git a/README.ko.md b/README.ko.md index 6e88b91..60b08e3 100644 --- a/README.ko.md +++ b/README.ko.md @@ -44,6 +44,11 @@ Onggi는 미리 컴파일한 변형과 가중치를 기존 청크와 함께 일 다르며, 가중치를 내장한 ATOM 그래프에는 해당 컴파일 결과물이 필요합니다. 자동 호환성 선택·예열·배치 연동은 후속 작업입니다. [연계 설계](docs/ko/integration.md)를 참고하세요. +[상주 델타 갱신 기록](docs/ko/resident-delta.md)은 실제 Onggi 범위 조회와 RNGD 행 단위 갱신을 연결합니다. +Projection 64행은 논리 전송량 117MB → 1.84MB, LM 8행은 1.05GB → 64KiB로 줄었고, +768개 토큰이 새 전체 로딩과 일치했습니다. 이 실측은 SDK 2026.2 기준이며, SDK 2026.4 점검 결과와 +남아 있는 실행 파일·캐시 로더 이식 과제도 함께 기록했습니다. + ## 빠른 시작 ```bash diff --git a/README.md b/README.md index b0cc0d6..fd0d0c6 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,12 @@ weights and ATOM device-input weights have different runtime capabilities; ATOM require their corresponding compiled artifacts. Automated compatibility selection, prewarm and placement hooks remain integration work; see [integration](docs/integration.md). +The [resident-delta integration record](docs/resident-delta.md) connects actual +Onggi ranges to RNGD row updates: 64 projection rows reduced logical upload +117 MB → 1.84 MB, and eight LM rows reduced 1.05 GB → 64 KiB, with 768 generated +tokens equal to fresh loads. Those measurements use SDK 2026.2; the record also +documents the SDK 2026.4 preflight and the remaining executable-loader migration. + ## Quick start ```bash diff --git a/docs/data/resident-delta-20261023.json b/docs/data/resident-delta-20261023.json new file mode 100644 index 0000000..5532afc --- /dev/null +++ b/docs/data/resident-delta-20261023.json @@ -0,0 +1,246 @@ +{ + "schema": 1, + "source_revision": "75252049416ee65397113afbcaddc11d71a7f6d2", + "source_file": "experiments/data/rngd-row-update-20261023/llama8b.json", + "source_git_blob_sha256": "ab462a31d1ba173846a7da5f77d25741b17ef3a9af9e4a159b64a47c306a7523", + "baseline_code": "da85c80ba5f0eb979d32bbcbbbcd4b1de13b0c13", + "optimized_code": "719c09b0f105782ffbf75ed3451ec9337d7545f2", + "onggi_revision": "05c97605b07882f9ceaaeb90b94878f8923f81cf", + "cases": { + "full": { + "baseline": { + "sdk": "2026.2.0", + "torch": "2.11.0+cpu", + "loadavg": [ + 31.037109375, + 58.2529296875, + 72.9951171875 + ], + "load_s": 19.780514091951773, + "logical_bytes": [ + 117440512, + 117440512, + 117440512, + 117440512 + ], + "delta_s": [ + 0.2334928959608078, + 0.22455456294119358, + 0.2225869499379769, + 0.22642140905372798 + ], + "total_s": [ + 1.1772510400041938, + 0.6690361989894882, + 0.6823983120266348, + 0.6915306909941137 + ], + "through_first_s": [ + 1.4003690549870953, + 0.9078556410968304, + 0.9038768270984292, + 0.9275248850462958 + ], + "median_total_s": 0.6869645015103742, + "median_through_first_s": 0.9176902630715631, + "fresh_equal_tokens": 128 + }, + "optimized": { + "sdk": "2026.2.0", + "torch": "2.11.0+cpu", + "loadavg": [ + 101.15966796875, + 92.58935546875, + 79.72509765625 + ], + "load_s": 35.905624545994215, + "logical_bytes": [ + 117440512, + 117440512, + 117440512, + 117440512 + ], + "delta_s": [ + 0.3839255040511489, + 0.3717831269605085, + 0.3346422319300473, + 0.32019760995171964 + ], + "total_s": [ + 2.0999805559404194, + 1.1569404340116307, + 1.0989610529504716, + 1.1413622800027952 + ], + "through_first_s": [ + 2.5060420859372243, + 1.526276148040779, + 1.4222442338941619, + 1.4232961519155651 + ], + "median_total_s": 1.149151357007213, + "median_through_first_s": 1.474786149978172, + "fresh_equal_tokens": 128 + } + }, + "sparse": { + "baseline": { + "sdk": "2026.2.0", + "torch": "2.11.0+cpu", + "loadavg": [ + 102.02392578125, + 91.4755859375, + 78.81396484375 + ], + "load_s": 30.26377158903051, + "logical_bytes": [ + 117440512, + 117440512, + 117440512, + 117440512 + ], + "delta_s": [ + 0.32488560501951724, + 0.2705659649800509, + 0.3268269639229402, + 0.31559047009795904 + ], + "total_s": [ + 1.6597847529919818, + 0.7771117629017681, + 0.8937401269795373, + 0.8547224159119651 + ], + "through_first_s": [ + 2.0310158509528264, + 1.1277882099384442, + 1.2348350499523804, + 1.2297007559100166 + ], + "median_total_s": 0.8742312714457512, + "median_through_first_s": 1.2322679029311985, + "fresh_equal_tokens": 128 + }, + "optimized": { + "sdk": "2026.2.0", + "torch": "2.11.0+cpu", + "loadavg": [ + 100.84423828125, + 93.80126953125, + 80.81201171875 + ], + "load_s": 33.05176919698715, + "logical_bytes": [ + 1835008, + 1835008, + 1835008, + 1835008 + ], + "delta_s": [ + 0.010346652939915657, + 0.00706543296109885, + 0.007598156109452248, + 0.007104813936166465 + ], + "total_s": [ + 1.372721218969673, + 0.527247552992776, + 0.4820848429808393, + 0.5189466420561075 + ], + "through_first_s": [ + 1.6223610528977588, + 0.9028615800198168, + 0.7450380399823189, + 0.7607364000286907 + ], + "median_total_s": 0.5230970975244418, + "median_through_first_s": 0.8317989900242537, + "fresh_equal_tokens": 128 + } + }, + "lm": { + "baseline": { + "sdk": "2026.2.0", + "torch": "2.11.0+cpu", + "loadavg": [ + 108.43115234375, + 97.81884765625, + 83.42041015625 + ], + "load_s": 26.22909332998097, + "logical_bytes": [ + 1050673152, + 1050673152, + 1050673152, + 1050673152 + ], + "delta_s": [ + 0.6181651490041986, + 0.5431009080493823, + 0.4759245120221749, + 0.5914618719834834 + ], + "total_s": [ + 1.7592315870570019, + 1.028116011992097, + 0.8812686780001968, + 1.0079335429472849 + ], + "through_first_s": [ + 2.213196836062707, + 1.2410613390384242, + 1.0775339510291815, + 1.3891333859646693 + ], + "median_total_s": 1.018024777469691, + "median_through_first_s": 1.3150973625015467, + "fresh_equal_tokens": 128 + }, + "optimized": { + "sdk": "2026.2.0", + "torch": "2.11.0+cpu", + "loadavg": [ + 100.86181640625, + 97.0546875, + 83.6962890625 + ], + "load_s": 22.876308879000135, + "logical_bytes": [ + 65536, + 65536, + 65536, + 65536 + ], + "delta_s": [ + 0.0014157339464873075, + 0.0017732619307935238, + 0.0011976190144196153, + 0.0016696900129318237 + ], + "total_s": [ + 0.9019769949372858, + 0.30900550296064466, + 0.28925630007870495, + 0.2884088089922443 + ], + "through_first_s": [ + 1.1592959349509329, + 0.63805313303601, + 0.5359133640304208, + 0.5089662990067154 + ], + "median_total_s": 0.2991309015196748, + "median_through_first_s": 0.5869832485332154, + "fresh_equal_tokens": 128 + } + } + }, + "update_count": 24, + "exact_fresh_tokens": 768, + "notes": [ + "All four update samples retained in new/base/new/base order.", + "Logical BF16 bytes, not DMA counters. Shared host load varies. No full-tensor or decode speedup is established.", + "Old delta_s excludes validation; new delta_s includes it. total_s uses the same outer boundary." + ] +} diff --git a/docs/data/sdk264-preflight-20261030.json b/docs/data/sdk264-preflight-20261030.json new file mode 100644 index 0000000..57be0a5 --- /dev/null +++ b/docs/data/sdk264-preflight-20261030.json @@ -0,0 +1,43 @@ +{ + "schema": 1, + "utc": "2026-10-30T00:25:48.547832+00:00", + "method": "Read-only CPU imports, package metadata, API presence and source hash checks; no device allocations, inference, installation or host changes.", + "packages": { + "furiosa-torch": "2026.4.0", + "furiosa-llm": "2026.4.0", + "furiosa-llm-native": "2026.4.0", + "furiosa-native-llm-common": "2026.4.0", + "torch": "2.10.0+cpu", + "safetensors": "0.8.0" + }, + "driver_packages": [ + "furiosa-driver-rngd 2026.4.0", + "furiosa-firmware-image-rngd 2026.4.0", + "furiosa-smi 2026.4.0-3" + ], + "torch_furiosa_import": true, + "rngdpd_fsdk_import": true, + "rngdpd_fsdk_sdk": "2026.4.0", + "device_string": "furiosa:0", + "legacy_native_module_available": false, + "legacy_edf_class_available": false, + "rngdpd_edf_wrapper_available": false, + "new_api": { + "CompileModule": true, + "DfgModule": true, + "TclModule": true, + "set_fusion": true, + "set_mesh_kind": true, + "MeshKind": true, + "current_stream": true + }, + "source_sha256": { + "rngd_pd/engines/fsdk.py": "2cf093e93fbc2a98c1ce242563e65d7feaaabff468a91654392412c74df98bb6", + "rngd_pd/engines/artifact_cache.py": "81c30ddfa1d5d50ea8cb86b821cefe5deb00933586aa77418560d572b4e668ed" + }, + "loaded_driver_version": "not independently resolved by this preflight; package version only", + "inference_or_token_parity_tested": false, + "legacy_edf_cache_load_supported": false, + "limitation": "Existing rngd-pd artifact_cache.load imports furiosa.native_torch.ir and constructs EdfModule. Those interfaces are unavailable here. General fsdk imports succeeding does not validate cache loading or resident updates on 2026.4.", + "rngdpd_code_revision": "719c09b0f105782ffbf75ed3451ec9337d7545f2" +} diff --git a/docs/evaluation.md b/docs/evaluation.md index 2cd6134..5731e2b 100644 --- a/docs/evaluation.md +++ b/docs/evaluation.md @@ -156,3 +156,12 @@ With delta apply, switching a node to another variant brings the first token wit original directory. The run found two plugin issues, both fixed: a late-exiting plugin removed its successor's socket (#61), and files stored with mode 0600 were unreadable for non-root engines (#62). +## Resident NPU checkpoint updates (2026-10-23) + +The later [resident-delta experiment](resident-delta.md) measures a running +rngd-pd engine applying actual Onggi ranges into existing RNGD weight buffers, +rather than starting a new engine after CSI materialization. It records every +sample for full-tensor, sparse projection and sparse LM updates, 768 exact fresh +token comparisons, and the SDK 2026.4 migration boundary. Those update timings +are separate from the Pod-start/volume-ready measurements above. + diff --git a/docs/ko/resident-delta.md b/docs/ko/resident-delta.md new file mode 100644 index 0000000..ae3b2d8 --- /dev/null +++ b/docs/ko/resident-delta.md @@ -0,0 +1,62 @@ +# Onggi에서 NPU 상주 가중치 갱신까지 + +2026-10-30 · [English](../resident-delta.md) + +Onggi가 변경된 파일 범위를 찾고 전달하면, 서빙 런타임이 이를 가중치 텐서에 대응시켜 NPU에 반영합니다. +RNGD의 행 단위 갱신 구현은 [rngd-pd PR #29](https://github.com/ai-computing/rngd-pd/pull/29)에 있습니다. +Onggi의 Go 저장 엔진에 NPU 로더를 넣은 것은 아니며, 해당 PR은 이 기록 시점에 병합 전입니다. + +## 현재 구현된 흐름 + +1. 변경 전·후의 불변 체크포인트를 Onggi ref로 게시합니다. +2. `onggi diff --ranges --json`으로 변경된 파일 범위를 조회합니다. +3. rngd-pd가 범위를 safetensors 행으로 세분화하고 체크포인트를 검증합니다. +4. 바뀐 행과 복구용 데이터를 준비한 뒤, 기존 RNGD 버퍼와 디코드 그래프를 유지하며 갱신합니다. +5. 진행 중인 요청을 비운 갱신 경계 이후에는 새 KV로 요청을 시작합니다. + +Projection은 전치되므로 원본 행이 NPU 텐서의 열이 됩니다. LM head는 연속 행을 유지하되 packed chunk 경계에서 +나눠 복사합니다. 변경이 빽빽하거나 잘게 흩어지면 전체 텐서 갱신으로 전환합니다. 값 몇 개가 바뀌어도 선택된 행은 +통째로 갱신하며, NPU의 임의 바이트를 직접 수정하는 방식은 아닙니다. 실패 시 이전 상태를 복구하고, 복구마저 실패하면 +서빙을 차단합니다. CSI 파일 복원 자체가 이 장치 갱신을 수행하지는 않습니다. + +명령과 Python API는 [영문 실행 예시](../resident-delta.md#the-implemented-path)를 참고하세요. +Ref는 실제 체크포인트 디렉터리와 일치해야 하며 계획·적용 중에는 둘 다 변경하면 안 됩니다. + +## RNGD 실측 + +2026-10-23, RNGD 한 장, Llama-3.1-8B-Instruct, B4/S256, fusion 8/mesh 2, +furiosa-torch **2026.2.0**, Torch 2.11.0+cpu에서 측정했습니다. 세 fixture 각각에서 기존·개선 구현이 +`new → base → new → base`를 수행했고, **24회 갱신·768개 토큰**이 별도 전체 새 로딩 결과와 일치했습니다. +개선 구현은 기존 공유 가중치·LM 버퍼와 컴파일 모듈을 유지했고 초기 설정 뒤 그래프 준비를 호출하지 않았습니다. + +| 변경 부분 | 논리 전송량, 기존 → 개선 | 전체 갱신 중앙값 | 첫 토큰까지 중앙값 | +| --- | ---: | ---: | ---: | +| Down projection 전체 | 117,440,512 → 117,440,512 B | 0.687 → 1.149초 | 0.918 → 1.475초 | +| Down projection 64행 | 117,440,512 → 1,835,008 B | 0.874 → 0.523초 | 1.232 → 0.832초 | +| LM head 8행 | 1,050,673,152 → 65,536 B | 1.018 → 0.299초 | 1.315 → 0.587초 | + +전체 갱신은 Onggi 비교·계획·체크포인트 처리·장치 반영을 포함합니다. 첫 토큰 시간은 여기에 8토큰 프롬프트의 +첫 출력 시간을 더합니다. 느린 첫 갱신을 포함한 4회 모두로 중앙값을 계산했습니다. 전송량은 논리 BF16 데이터 크기이며 +PCIe/DMA 실측값이 아닙니다. 공유 호스트 부하가 달랐고 전체 텐서 대조군은 더 느렸으므로, 전체 텐서 갱신이나 디코드 +속도가 빨라졌다고 주장하지 않습니다. [모든 갱신 표본](../data/resident-delta-20261023.json)과 +[고정 리비전·전체 토큰·재현 조건·원본 해시](https://github.com/ai-computing/rngd-pd/blob/75252049416ee65397113afbcaddc11d71a7f6d2/experiments/2026-10-23-rngd-row-update.md)를 공개했습니다. + +## SDK 2026.4로 옮기는 방안 + +SDK 2026.4는 DMA·스트림 오버헤드 개선을 포함하므로 다음 검증 대상으로 적절합니다. +다만 Furiosa-LLM은 2026.4 드라이버를 요구하며 모델 로딩도 FXB 방식으로 바뀌었습니다. +[공식 릴리스 노트](https://developer.furiosa.ai/latest/en/whatsnew/release-2026.4.0.html), +[업그레이드 안내](https://developer.furiosa.ai/latest/en/get_started/upgrade_guide.html)를 참고하세요. + +2026-10-30 읽기 전용 점검에서 SDK 2026.4.0·Torch 2.10.0+cpu 전용 환경과 2026.4 드라이버·펌웨어 패키지를 +확인했습니다. Torch/Furiosa와 rngd-pd 버전 어댑터 import는 통과했습니다. 그러나 기존 캐시 로더가 사용하는 +`furiosa.native_torch`, `ir.Edf`, `EdfModule`은 없어졌습니다. **SDK 버전만 바꿔서는 기존 EDF 캐시를 로드할 수 없습니다.** +설치된 패키지 버전과 현재 로드된 커널 드라이버 버전도 구별해야 합니다. 후자는 이번 점검에서 독립 확인하지 못했습니다. +[점검 결과](../data/sdk264-preflight-20261030.json). + +따라서 rngd-pd의 새 실행 파일·캐시 로더를 이식하고, 버전별 결과물을 분리하며, 스트림 완료·롤백·토큰 일치와 시간을 +할당된 장치에서 다시 검증해야 합니다. 2026.2 측정값을 2026.4 결과로 표시하거나 캐시 폴더 이름만 바꾸면 안 됩니다. +이번 SDK 점검은 NPU 할당·추론·패키지 설치·공용 환경 변경 없이 수행했습니다. + +Onggi는 FXB도 해석하지 않는 파일로 저장·복원할 수 있습니다. 런타임의 호환성 선택과 상주 가중치 교체는 별도 통합이며, +파일 중복 제거만으로 자동 제공되지는 않습니다. diff --git a/docs/resident-delta.md b/docs/resident-delta.md new file mode 100644 index 0000000..bbb17d0 --- /dev/null +++ b/docs/resident-delta.md @@ -0,0 +1,107 @@ +# Onggi to resident NPU updates + +2026-10-30 · [한국어](ko/resident-delta.md) + +Onggi finds and delivers changed file content. The serving runtime decides how +those changes map to device tensors and performs the resident update. The +RNGD row-update implementation is in +[rngd-pd PR #29](https://github.com/ai-computing/rngd-pd/pull/29), not in Onggi's +Go storage engine. That PR remains unmerged at the time of this record. + +## The implemented path + +1. Publish matching immutable checkpoint directories as Onggi refs. +2. `onggi diff --ranges --json` identifies changed file ranges. +3. rngd-pd maps/refines ranges into safetensors rows and validates the checkpoint. +4. Its `SwappableDecode` stages changed rows and matching rollback data, then + copies into existing RNGD allocations while retaining the decode graph. +5. Start new requests with fresh KV after the drained update boundary. + +For projections, source rows become columns in the transposed resident tensor. +LM-head rows remain contiguous and split at packed chunk boundaries. Dense or +fragmented plans conservatively update the whole tensor. A few changed values +therefore mean selected complete rows, not arbitrary byte writes to NPU memory. +Failed updates restore the old state; failed rollback disables serving. + +```bash +onggi push --store "$STORE" --ref base "$BASE_CHECKPOINT" +onggi push --store "$STORE" --ref new "$NEW_CHECKPOINT" +onggi diff --store "$STORE" --ranges --json base new > ranges.json +``` + +The runtime can invoke Onggi directly: + +```python +result = engine.load_delta( + new_checkpoint_dir, store=store, base_ref="base", new_ref="new", onggi="onggi", +) +``` + +The refs must describe those exact checkpoint directories, which remain +immutable throughout planning and application. Pulling files, initial store +publication, prepared-shape selection and live device mutation have separate +costs. CSI materialization alone does not perform this device update. + +## Verified RNGD measurements + +Measured 2026-10-23 on one RNGD, Llama-3.1-8B-Instruct revision +`0e9e39f249a16976918f6564b8830bc894c89659`, B4/S256, fusion 8/mesh 2, +furiosa-torch 2026.2.0 and Torch 2.11.0+cpu. Baseline code: +`da85c80ba5f0eb979d32bbcbbbcd4b1de13b0c13`; optimized code: +`719c09b0f105782ffbf75ed3451ec9337d7545f2`. Onggi main: +`05c97605b07882f9ceaaeb90b94878f8923f81cf`. + +Both implementations ran `new → base → new → base` on each of three fixtures. +All **24 updates / 768 generated tokens** equaled independently fresh-loaded +references. Each destination changed the base output. Optimized runs retained +the original shared/LM allocations and compiled modules without graph preparation. + +| Fixture | Logical upload, old → new | Complete update median, old → new | Through-first-token median, old → new | +| --- | ---: | ---: | ---: | +| Complete down projection | 117,440,512 → 117,440,512 B | 0.687 → 1.149 s | 0.918 → 1.475 s | +| Down projection, 64 rows | 117,440,512 → 1,835,008 B (64× smaller) | 0.874 → 0.523 s | 1.232 → 0.832 s | +| LM head, 8 rows | 1,050,673,152 → 65,536 B (16,032× smaller) | 1.018 → 0.299 s | 1.315 → 0.587 s | + +Complete update includes live Onggi comparison, planning, checkpoint handling +and application; through-first-token adds the first-token interval for an +eight-token prompt. Medians include all four updates, including the first. +Payloads are logical BF16 bytes, not PCIe/DMA measurements. Host load varied: +the complete-tensor candidate was slower, so no full-update or decode speedup +is established. Sparse application itself took 7.1–10.3 ms for projection rows +and 1.20–1.77 ms for LM rows; Onggi/checkpoint work remains outside those intervals. + +[Summary with every update sample](data/resident-delta-20261023.json). +[Frozen protocol, full tokens, source hashes and cleanup evidence](https://github.com/ai-computing/rngd-pd/blob/75252049416ee65397113afbcaddc11d71a7f6d2/experiments/2026-10-23-rngd-row-update.md). +The companion [ATOM work](https://github.com/ai-computing/rngd-pd/pull/28) uses a +different device-input runtime path; these RNGD numbers do not describe ATOM. + +## Furiosa SDK 2026.4 assessment + +SDK 2026.4 is a useful migration target: official release notes describe reduced +DMA/stream overhead. Furiosa-LLM requires the 2026.4 driver and loads models +through FXB rather than its removed legacy artifact path. These published +changes do not establish faster resident updates in this custom engine. +[Release notes](https://developer.furiosa.ai/latest/en/whatsnew/release-2026.4.0.html), +[upgrade guide](https://developer.furiosa.ai/latest/en/get_started/upgrade_guide.html), +[FXB guide](https://developer.furiosa.ai/latest/en/furiosa_llm/fxb.html). + +A read-only preflight on 2026-10-30 found an existing isolated SDK 2026.4.0 +environment with Torch 2.10.0+cpu and installed 2026.4 driver/firmware packages. +Torch/Furiosa and rngd-pd's version adapter import successfully. However, +`furiosa.native_torch`, `ir.Edf` and `EdfModule` are unavailable, while the current +`artifact_cache.load` requires the old native EDF loader. Import success is not +successful model loading. The loaded kernel-driver version was not independently +resolved by this check; installed package versions alone do not prove it. +[Preflight record](data/sdk264-preflight-20261030.json). + +Migration therefore requires a compatible new cache/executable loader in +rngd-pd, separately versioned artifacts, stream-completion/rollback checks, and +fresh-token parity plus before/after timing on an allocated card. Do not relabel +the 2026.2 results as 2026.4 results or reuse the old EDF cache by renaming its +directory. The SDK preflight did not allocate an NPU, run inference, install +packages, replace the working SDK, or change the shared host. + +Onggi stores FXB files as opaque content like other artifacts; it does not need +to decode their vendor format. Runtime compatibility selection and live FXB +weight replacement are separate integration work, not automatic capabilities +of file deduplication. From 53b5a0e748889b9ff05d69ced1882aefd3e895da Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 10:11:44 +0900 Subject: [PATCH 02/23] docs: clarify P2 scope and track SDK 2026.4 native loader --- README.ko.md | 2 +- README.md | 3 ++- docs/ko/resident-delta.md | 21 ++++++++++++++++++++- docs/resident-delta.md | 30 +++++++++++++++++++++++++++--- 4 files changed, 50 insertions(+), 6 deletions(-) diff --git a/README.ko.md b/README.ko.md index 60b08e3..2750451 100644 --- a/README.ko.md +++ b/README.ko.md @@ -47,7 +47,7 @@ Onggi는 미리 컴파일한 변형과 가중치를 기존 청크와 함께 일 [상주 델타 갱신 기록](docs/ko/resident-delta.md)은 실제 Onggi 범위 조회와 RNGD 행 단위 갱신을 연결합니다. Projection 64행은 논리 전송량 117MB → 1.84MB, LM 8행은 1.05GB → 64KiB로 줄었고, 768개 토큰이 새 전체 로딩과 일치했습니다. 이 실측은 SDK 2026.2 기준이며, SDK 2026.4 점검 결과와 -남아 있는 실행 파일·캐시 로더 이식 과제도 함께 기록했습니다. +별도 [실행 파일·캐시 로더 이식 작업](https://github.com/ai-computing/rngd-pd/pull/31)도 함께 기록했습니다. ## 빠른 시작 diff --git a/README.md b/README.md index fd0d0c6..ed840f1 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,8 @@ The [resident-delta integration record](docs/resident-delta.md) connects actual Onggi ranges to RNGD row updates: 64 projection rows reduced logical upload 117 MB → 1.84 MB, and eight LM rows reduced 1.05 GB → 64 KiB, with 768 generated tokens equal to fresh loads. Those measurements use SDK 2026.2; the record also -documents the SDK 2026.4 preflight and the remaining executable-loader migration. +documents the SDK 2026.4 preflight and the separate +[native cache-loader migration](https://github.com/ai-computing/rngd-pd/pull/31). ## Quick start diff --git a/docs/ko/resident-delta.md b/docs/ko/resident-delta.md index ae3b2d8..6d68298 100644 --- a/docs/ko/resident-delta.md +++ b/docs/ko/resident-delta.md @@ -6,6 +6,20 @@ Onggi가 변경된 파일 범위를 찾고 전달하면, 서빙 런타임이 이 RNGD의 행 단위 갱신 구현은 [rngd-pd PR #29](https://github.com/ai-computing/rngd-pd/pull/29)에 있습니다. Onggi의 Go 저장 엔진에 NPU 로더를 넣은 것은 아니며, 해당 PR은 이 기록 시점에 병합 전입니다. +## Onggi의 현재 구현 범위 + +현재는 **P2: 중복 제거 저장소와 노드 배포·CSI 경로까지 구현된 단계**입니다. +POSIX/S3 저장·복원, 해시 검증, 변경 범위 diff, 기존 파일 재사용, 노드 캐시·peer 전송, +lease로 보호하는 GC, 읽기 전용 CSI volume이 동작하며 검증 기록이 있습니다. +main에는 복원 동시성 제한과 실패 시 lease 소유권 보존 수정도 반영돼 있습니다. + +P3의 Kubernetes artifact/ref API, 컴파일 팜·호환성 planner와 P4의 배치·자동 확장에 따른 +prefetch·prewarm은 아직 계획 단계입니다. 프로세스가 비정상 종료하며 보수적으로 남긴 lease의 +자동 정리도 남은 과제입니다. [연계 단계](../integration.md#order)와 +[CSI 안전성 검증](../validation-2026-10-23.md)을 참고하세요. + +준비된 B/S 그래프 선택과 NPU 상주 가중치 갱신은 서빙 런타임이 담당합니다. + ## 현재 구현된 흐름 1. 변경 전·후의 불변 체크포인트를 Onggi ref로 게시합니다. @@ -54,7 +68,12 @@ SDK 2026.4는 DMA·스트림 오버헤드 개선을 포함하므로 다음 검 설치된 패키지 버전과 현재 로드된 커널 드라이버 버전도 구별해야 합니다. 후자는 이번 점검에서 독립 확인하지 못했습니다. [점검 결과](../data/sdk264-preflight-20261030.json). -따라서 rngd-pd의 새 실행 파일·캐시 로더를 이식하고, 버전별 결과물을 분리하며, 스트림 완료·롤백·토큰 일치와 시간을 +후속 [로더 이식 PR #31](https://github.com/ai-computing/rngd-pd/pull/31)은 SDK·Torch 버전을 확인하는 +원자적 native Runnable 캐시를 추가합니다. 별도 프로세스에서 중복·입력 재사용·빈 출력과, 중간 위치에서 시작하는 +비연속 입력 view를 정확히 복원하는 native 검증이 통과했습니다. 이 캐시는 Furiosa-LLM의 FXB 로더와 별개이며, +전체 모델의 구성별 제한과 검증은 해당 PR에서 추적합니다. 앞의 preflight 결과는 이식 전 기준 로더에 대한 기록입니다. + +버전별 결과물 분리, 스트림 완료·롤백·토큰 일치와 시간도 할당된 장치에서 다시 검증해야 합니다. 2026.2 측정값을 2026.4 결과로 표시하거나 캐시 폴더 이름만 바꾸면 안 됩니다. 이번 SDK 점검은 NPU 할당·추론·패키지 설치·공용 환경 변경 없이 수행했습니다. diff --git a/docs/resident-delta.md b/docs/resident-delta.md index bbb17d0..8d5af9a 100644 --- a/docs/resident-delta.md +++ b/docs/resident-delta.md @@ -8,6 +8,23 @@ RNGD row-update implementation is in [rngd-pd PR #29](https://github.com/ai-computing/rngd-pd/pull/29), not in Onggi's Go storage engine. That PR remains unmerged at the time of this record. +## Where Onggi stands + +Onggi is at P2: the content-addressed store and node delivery/CSI path are +implemented. POSIX/S3 push/pull, hash verification, changed-range diff, local +base reuse, node cache/peer transfer, lease-protected GC and read-only CSI +materialization have code and validation. The current main also bounds +concurrent materialization and preserves lease ownership across failures. + +P3's Kubernetes artifact/ref APIs, compile farm and compatibility planner are +still planned. P4's placement/autoscaling-driven prefetch and prewarm are also +planned. Reconciliation of leases conservatively left by crashed processes +remains a limitation. See the [integration phases](integration.md#order) and +[CSI safety evidence](validation-2026-10-23.md). + +Prepared B/S graph selection and native resident weight updates belong to the +serving runtime; they are not automated by Onggi's storage layer. + ## The implemented path 1. Publish matching immutable checkpoint directories as Onggi refs. @@ -94,9 +111,16 @@ successful model loading. The loaded kernel-driver version was not independently resolved by this check; installed package versions alone do not prove it. [Preflight record](data/sdk264-preflight-20261030.json). -Migration therefore requires a compatible new cache/executable loader in -rngd-pd, separately versioned artifacts, stream-completion/rollback checks, and -fresh-token parity plus before/after timing on an allocated card. Do not relabel +The subsequent [loader migration PR #31](https://github.com/ai-computing/rngd-pd/pull/31) +adds atomic SDK/Torch-checked native Runnable caches to rngd-pd. Fresh-process +native tests preserve duplicate, passthrough and empty outputs, including a +nonzero-offset/noncontiguous passthrough. That custom cache is separate from +Furiosa-LLM's FXB loader; full-model configuration limits and validation are +tracked in that PR. The earlier preflight record above describes the baseline, +not the later migrated loader. + +Migration also requires separately versioned artifacts, stream-completion/ +rollback checks, and fresh-token parity plus timing on an allocated card. Do not relabel the 2026.2 results as 2026.4 results or reuse the old EDF cache by renaming its directory. The SDK preflight did not allocate an NPU, run inference, install packages, replace the working SDK, or change the shared host. From f8b6e610572af0d3029852ed51bc9deccd414585 Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 10:23:59 +0900 Subject: [PATCH 03/23] docs: record SDK2026.4 native 8B resident validation scope --- docs/ko/resident-delta.md | 16 ++++++++++------ docs/resident-delta.md | 25 ++++++++++++++++--------- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/docs/ko/resident-delta.md b/docs/ko/resident-delta.md index 6d68298..5643210 100644 --- a/docs/ko/resident-delta.md +++ b/docs/ko/resident-delta.md @@ -70,12 +70,16 @@ SDK 2026.4는 DMA·스트림 오버헤드 개선을 포함하므로 다음 검 후속 [로더 이식 PR #31](https://github.com/ai-computing/rngd-pd/pull/31)은 SDK·Torch 버전을 확인하는 원자적 native Runnable 캐시를 추가합니다. 별도 프로세스에서 중복·입력 재사용·빈 출력과, 중간 위치에서 시작하는 -비연속 입력 view를 정확히 복원하는 native 검증이 통과했습니다. 이 캐시는 Furiosa-LLM의 FXB 로더와 별개이며, -전체 모델의 구성별 제한과 검증은 해당 PR에서 추적합니다. 앞의 preflight 결과는 이식 전 기준 로더에 대한 기록입니다. - -버전별 결과물 분리, 스트림 완료·롤백·토큰 일치와 시간도 -할당된 장치에서 다시 검증해야 합니다. 2026.2 측정값을 2026.4 결과로 표시하거나 캐시 폴더 이름만 바꾸면 안 됩니다. -이번 SDK 점검은 NPU 할당·추론·패키지 설치·공용 환경 변경 없이 수행했습니다. +비연속 입력 view를 정확히 복원하는 native 검증이 통과했습니다. Llama-3.1-8B의 B4/S256/**group2**에서 +projection·LM 행 갱신 후 새 전체 로딩과 토큰이 일치하고, 버퍼·컴파일 모듈 유지와 native 복사 중단 후 복구도 +확인했습니다. group8은 현재 컴파일러의 memory explosion 오류로 검증되지 않은 설정입니다. +최초 전체 로딩은 약 19~21초이며, 부분 갱신 검증이 최초 적재나 이전 SDK 대비 속도 향상을 뜻하지는 않습니다. +[2026.4 재현 조건과 전체 측정 결과](https://github.com/ai-computing/rngd-pd/blob/feat/rngd-sdk264-resident/experiments/2026-10-30-rngd-sdk264.md). +이 캐시는 Furiosa-LLM의 FXB 로더와 별개이며, 앞의 preflight는 이식 전 기준 로더에 대한 기록입니다. + +이식된 캐시는 버전별 결과물을 분리하고 SDK·Torch 호환성을 확인합니다. 2026.2 측정값을 2026.4 결과로 표시하거나 +캐시 폴더 이름만 바꾸면 안 됩니다. 읽기 전용 preflight와 이후 할당된 카드에서 수행한 검증은 별도 기록입니다. +공용 SDK·드라이버 설치는 변경하지 않았으며, 이후 실행 중인 커널 모듈의 srcversion과 설치 모듈의 일치도 확인했습니다. Onggi는 FXB도 해석하지 않는 파일로 저장·복원할 수 있습니다. 런타임의 호환성 선택과 상주 가중치 교체는 별도 통합이며, 파일 중복 제거만으로 자동 제공되지는 않습니다. diff --git a/docs/resident-delta.md b/docs/resident-delta.md index 8d5af9a..3ce8c65 100644 --- a/docs/resident-delta.md +++ b/docs/resident-delta.md @@ -115,15 +115,22 @@ The subsequent [loader migration PR #31](https://github.com/ai-computing/rngd-pd adds atomic SDK/Torch-checked native Runnable caches to rngd-pd. Fresh-process native tests preserve duplicate, passthrough and empty outputs, including a nonzero-offset/noncontiguous passthrough. That custom cache is separate from -Furiosa-LLM's FXB loader; full-model configuration limits and validation are -tracked in that PR. The earlier preflight record above describes the baseline, -not the later migrated loader. - -Migration also requires separately versioned artifacts, stream-completion/ -rollback checks, and fresh-token parity plus timing on an allocated card. Do not relabel -the 2026.2 results as 2026.4 results or reuse the old EDF cache by renaming its -directory. The SDK preflight did not allocate an NPU, run inference, install -packages, replace the working SDK, or change the shared host. +Furiosa-LLM's FXB loader. Native Llama-3.1-8B B4/S256/**group2** fresh and +resident runs now pass: both projection-row and LM-row updates preserve +allocations/modules, match fresh tokens, and restore base output after an +interrupted native copy. Group8 currently fails native compilation with a +memory-explosion error, so it is not a validated 2026.4 configuration. +Initial full-model loading remains about 19–21 seconds; partial replacement +does not establish faster cold loading or a speedup over the old SDK. +[2026.4 protocol and all measured runs](https://github.com/ai-computing/rngd-pd/blob/feat/rngd-sdk264-resident/experiments/2026-10-30-rngd-sdk264.md). +The earlier preflight record above describes the baseline loader. + +The migrated cache uses separately versioned artifacts and checks SDK/Torch +compatibility before restoring trusted payloads. Do not relabel 2026.2 results +as 2026.4 or reuse an EDF cache by renaming its directory. The read-only preflight +and subsequent allocated-card validation are separate records. Shared SDK and +driver installations were unchanged; loaded-driver srcversion was subsequently +checked against the installed running-kernel module. Onggi stores FXB files as opaque content like other artifacts; it does not need to decode their vendor format. Runtime compatibility selection and live FXB From fcf2fb8d6d0576b1eaaaa6d53650e55acbdc8487 Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 10:31:27 +0900 Subject: [PATCH 04/23] docs: freeze SDK2026.4 native evidence reference --- docs/ko/resident-delta.md | 2 +- docs/resident-delta.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ko/resident-delta.md b/docs/ko/resident-delta.md index 5643210..a4142e0 100644 --- a/docs/ko/resident-delta.md +++ b/docs/ko/resident-delta.md @@ -74,7 +74,7 @@ SDK 2026.4는 DMA·스트림 오버헤드 개선을 포함하므로 다음 검 projection·LM 행 갱신 후 새 전체 로딩과 토큰이 일치하고, 버퍼·컴파일 모듈 유지와 native 복사 중단 후 복구도 확인했습니다. group8은 현재 컴파일러의 memory explosion 오류로 검증되지 않은 설정입니다. 최초 전체 로딩은 약 19~21초이며, 부분 갱신 검증이 최초 적재나 이전 SDK 대비 속도 향상을 뜻하지는 않습니다. -[2026.4 재현 조건과 전체 측정 결과](https://github.com/ai-computing/rngd-pd/blob/feat/rngd-sdk264-resident/experiments/2026-10-30-rngd-sdk264.md). +[2026.4 재현 조건과 전체 측정 결과](https://github.com/ai-computing/rngd-pd/blob/0bc244db0239bddfdda005454809aee0812877d8/experiments/2026-10-30-rngd-sdk264.md). 이 캐시는 Furiosa-LLM의 FXB 로더와 별개이며, 앞의 preflight는 이식 전 기준 로더에 대한 기록입니다. 이식된 캐시는 버전별 결과물을 분리하고 SDK·Torch 호환성을 확인합니다. 2026.2 측정값을 2026.4 결과로 표시하거나 diff --git a/docs/resident-delta.md b/docs/resident-delta.md index 3ce8c65..ff1608f 100644 --- a/docs/resident-delta.md +++ b/docs/resident-delta.md @@ -122,7 +122,7 @@ interrupted native copy. Group8 currently fails native compilation with a memory-explosion error, so it is not a validated 2026.4 configuration. Initial full-model loading remains about 19–21 seconds; partial replacement does not establish faster cold loading or a speedup over the old SDK. -[2026.4 protocol and all measured runs](https://github.com/ai-computing/rngd-pd/blob/feat/rngd-sdk264-resident/experiments/2026-10-30-rngd-sdk264.md). +[2026.4 protocol and all measured runs](https://github.com/ai-computing/rngd-pd/blob/0bc244db0239bddfdda005454809aee0812877d8/experiments/2026-10-30-rngd-sdk264.md). The earlier preflight record above describes the baseline loader. The migrated cache uses separately versioned artifacts and checks SDK/Torch From 1af19c9456d57318d5d4390f0a23b8adb216de15 Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 10:53:25 +0900 Subject: [PATCH 05/23] test: pin single target locator read during diff --- .../superpowers/plans/2026-10-30-diff-plan.md | 28 +++++++++++ .../specs/2026-10-30-diff-plan-design.md | 21 ++++++++ pkg/store/diff_test.go | 48 +++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 docs/superpowers/plans/2026-10-30-diff-plan.md create mode 100644 docs/superpowers/specs/2026-10-30-diff-plan-design.md diff --git a/docs/superpowers/plans/2026-10-30-diff-plan.md b/docs/superpowers/plans/2026-10-30-diff-plan.md new file mode 100644 index 0000000..bee4918 --- /dev/null +++ b/docs/superpowers/plans/2026-10-30-diff-plan.md @@ -0,0 +1,28 @@ +# Diff plan reuse implementation plan + +> Use executing-plans inline; one fresh whole-branch reviewer at the end. + +Goal: eliminate redundant target metadata planning on the live delta path. +Architecture: call s.plan once for target, use extentsOf and the same nodes for +NewStored. Tech: existing Go stdlib/backend, no dependencies or format changes. +Spec: ../specs/2026-10-30-diff-plan-design.md + +Constraints: unchanged public API/JSON, hash checks, missing-pack fallback, +store immutability and cancellation. Work only in this isolated feature tree. + +Review focus: legacy manifests, corrupt locator, GC repack, identical refs, +empty/unpaired/reordered files and correct unique stored-byte accounting. + +- [ ] Test locator access bounds and unchanged results; observe RED. +- [ ] Reuse target nodes; focused tests GREEN, broader race/vet validation. +- [ ] Same-toolchain real-fixture timing/results equality; source evidence. +- [ ] Fresh whole-change review; one fix pass if needed; docs, push/PR, green CI. + +## Ledger + +- Base 05c97605b07882f9ceaaeb90b94878f8923f81cf (Onggi main). Isolated + git worktree branch perf/onggi-diff-plan; previous SDK/docs trees untouched. +- Baseline CPU profile, three sparse and three LM comparisons: Onggi CLI + 0.332–0.365 s, Python plan 0.0057–0.0126 s. No NPU allocated. +- Ruling: optimize Onggi's duplicate target plan first, not Python parsing or + persistent caching; measured share and bounded semantics justify the choice. diff --git a/docs/superpowers/specs/2026-10-30-diff-plan-design.md b/docs/superpowers/specs/2026-10-30-diff-plan-design.md new file mode 100644 index 0000000..7dbd18a --- /dev/null +++ b/docs/superpowers/specs/2026-10-30-diff-plan-design.md @@ -0,0 +1,21 @@ +# Reuse the target diff plan + +The user authorized continued Onggi/NPU loading optimization. CPU profiling of +the immutable 8B fixtures isolates 333–365 ms in the live Onggi CLI comparison +versus 6–13 ms in Python row planning. Store.Diff currently builds the target +plan twice: once via Extents, once to count distinct new stored bytes. + +Reuse the same target nodes for extents and NewStored. Keep the base plan, +validation, GC/repack fallback, range order, JSON/API, and trust checks intact. +This is local to one Diff call: no persistent cache or stale-ref semantics. + +Alternatives: cache diff JSON across calls (larger invalidation/trust surface), +or optimize Python headers (small measured share). Our call is to remove the +redundant native store plan first. The user's go-ahead continues autonomous +implementation; no additional design approval is needed. + +Acceptance: locator read once per target; legacy index, stale locator/repack, +corrupt metadata and cancellation behavior preserved; results unchanged on +same/moved/new and real 8B sparse/LM fixtures. Compare interleaved baseline and +candidate binaries built with one toolchain. Run race/vet and S3 CI. This does +not change NPU execution and does not claim a cold-load improvement. diff --git a/pkg/store/diff_test.go b/pkg/store/diff_test.go index c413f0a..705125f 100644 --- a/pkg/store/diff_test.go +++ b/pkg/store/diff_test.go @@ -3,12 +3,60 @@ package store import ( "bytes" "context" + "io" "path/filepath" "testing" + "github.com/ai-computing/onggi/pkg/backend" "github.com/ai-computing/onggi/pkg/digest" ) +type diffReads struct { + backend.Backend + gets map[backend.Key]int +} + +func (b *diffReads) Get(ctx context.Context, k backend.Key, off, n int64) (io.ReadCloser, error) { + b.gets[k]++ + return b.Backend.Get(ctx, k, off, n) +} + +func TestDiffReadsEachLocatorOnce(t *testing.T) { + ctx := context.Background() + s := openTwoLevel(t, t.TempDir()) + w := random(29, 2<<20) + base := pushDir(t, s, map[string][]byte{"weights.rbln": w}) + v := append([]byte(nil), w...) + copy(v[1<<20:], random(30, 64<<10)) + newID := pushDir(t, s, map[string][]byte{"weights.rbln": v}) + bm, err := s.ReadManifest(ctx, base) + if err != nil { + t.Fatal(err) + } + nm, err := s.ReadManifest(ctx, newID) + if err != nil { + t.Fatal(err) + } + if bm.Locator == nil || nm.Locator == nil || *bm.Locator == *nm.Locator { + t.Fatal("fixture needs two distinct locators") + } + b := &diffReads{Backend: s.B, gets: map[backend.Key]int{}} + s.B = b + st, err := s.Diff(ctx, base, newID, DiffOptions{Ranges: true}) + if err != nil { + t.Fatal(err) + } + if st.Same+st.Moved+st.New != st.Size || st.NewStored == 0 || st.ChangedRuns == 0 { + t.Fatalf("invalid diff: %+v", st) + } + for _, d := range []*digest.Digest{bm.Locator, nm.Locator} { + key := backend.Key{Kind: backend.List, Name: d.Hex()} + if got := b.gets[key]; got != 1 { + t.Errorf("locator read %d times, want 1", got) + } + } +} + func pushDir(t *testing.T, s *Store, files map[string][]byte) digest.Digest { t.Helper() src := t.TempDir() From 46b3e2b904fe9769e5d0e9d07123635ea9183991 Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 10:55:57 +0900 Subject: [PATCH 06/23] perf(store): reuse target plan for diff extents and stored bytes --- docs/superpowers/plans/2026-10-30-diff-plan.md | 5 ++++- pkg/store/diff.go | 5 +---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/superpowers/plans/2026-10-30-diff-plan.md b/docs/superpowers/plans/2026-10-30-diff-plan.md index bee4918..74c2b38 100644 --- a/docs/superpowers/plans/2026-10-30-diff-plan.md +++ b/docs/superpowers/plans/2026-10-30-diff-plan.md @@ -13,7 +13,7 @@ store immutability and cancellation. Work only in this isolated feature tree. Review focus: legacy manifests, corrupt locator, GC repack, identical refs, empty/unpaired/reordered files and correct unique stored-byte accounting. -- [ ] Test locator access bounds and unchanged results; observe RED. +- [x] Test locator access bounds and unchanged results; observe RED. - [ ] Reuse target nodes; focused tests GREEN, broader race/vet validation. - [ ] Same-toolchain real-fixture timing/results equality; source evidence. - [ ] Fresh whole-change review; one fix pass if needed; docs, push/PR, green CI. @@ -26,3 +26,6 @@ empty/unpaired/reordered files and correct unique stored-byte accounting. 0.332–0.365 s, Python plan 0.0057–0.0126 s. No NPU allocated. - Ruling: optimize Onggi's duplicate target plan first, not Python parsing or persistent caching; measured share and bounded semantics justify the choice. +- RED on actual Linux Go 1.27.3: TestDiffReadsEachLocatorOnce observed target + locator read twice (expected once); test failed. Private toolchain archive + SHA verified against go.dev; no system SDK/compiler installation changed. diff --git a/pkg/store/diff.go b/pkg/store/diff.go index 809ef30..e1384ba 100644 --- a/pkg/store/diff.go +++ b/pkg/store/diff.go @@ -173,14 +173,11 @@ func (s *Store) Diff(ctx context.Context, base, m digest.Digest, o DiffOptions) if err != nil { return st, err } - ne, err := s.Extents(ctx, nm) - if err != nil { - return st, err - } nodes, _, err := s.plan(ctx, nm) if err != nil { return st, err } + ne := extentsOf(nodes, len(nm.Files), true) // every chunk the base holds, sorted, for "somewhere in the base" var held []digest.Digest for _, es := range be { From 0e0da46c3601dffe60c6bc61cd661fbc7012dba6 Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 10:56:41 +0900 Subject: [PATCH 07/23] test: preserve diff parity for legacy and identical manifests --- pkg/store/diff_test.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/pkg/store/diff_test.go b/pkg/store/diff_test.go index 705125f..bbaa5ec 100644 --- a/pkg/store/diff_test.go +++ b/pkg/store/diff_test.go @@ -4,6 +4,7 @@ import ( "bytes" "context" "io" + "reflect" "path/filepath" "testing" @@ -57,6 +58,33 @@ func TestDiffReadsEachLocatorOnce(t *testing.T) { } } +func TestDiffLegacyAndIdenticalManifests(t *testing.T) { + ctx := context.Background() + s := openTwoLevel(t, t.TempDir()) + w := random(31, 2<<20) + base := pushDir(t, s, map[string][]byte{"weights.rbln": w, "empty": nil}) + v := append([]byte(nil), w...) + copy(v[1<<20:], random(32, 64<<10)) + newID := pushDir(t, s, map[string][]byte{"weights.rbln": v, "empty": nil}) + want, err := s.Diff(ctx, base, newID, DiffOptions{Ranges: true}) + if err != nil { + t.Fatal(err) + } + legacyBase, legacyNew := withoutLocator(t, s, base), withoutLocator(t, s, newID) + for _, pair := range [][2]digest.Digest{{legacyBase, newID}, {base, legacyNew}, {legacyBase, legacyNew}} { + got, err := s.Diff(ctx, pair[0], pair[1], DiffOptions{Ranges: true}) + if err != nil || !reflect.DeepEqual(got, want) { + t.Fatalf("legacy diff differs: %+v, %v; want %+v", got, err, want) + } + } + for _, id := range []digest.Digest{base, legacyBase} { + got, err := s.Diff(ctx, id, id, DiffOptions{Ranges: true}) + if err != nil || got.Same != got.Size || got.NewStored != 0 || got.ChangedRuns != 0 { + t.Fatalf("identical diff: %+v, %v", got, err) + } + } +} + func pushDir(t *testing.T, s *Store, files map[string][]byte) digest.Digest { t.Helper() src := t.TempDir() From 216df102436cce459fc76de9407661f548896490 Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 10:57:21 +0900 Subject: [PATCH 08/23] test: keep diff corruption checks and repack fallback --- pkg/store/diff_test.go | 22 ++++++++++++++++++++++ pkg/store/gc_test.go | 6 ++++++ 2 files changed, 28 insertions(+) diff --git a/pkg/store/diff_test.go b/pkg/store/diff_test.go index bbaa5ec..aae1a56 100644 --- a/pkg/store/diff_test.go +++ b/pkg/store/diff_test.go @@ -5,6 +5,7 @@ import ( "context" "io" "reflect" + "strings" "path/filepath" "testing" @@ -85,6 +86,27 @@ func TestDiffLegacyAndIdenticalManifests(t *testing.T) { } } +func TestDiffRejectsDamagedTargetLocator(t *testing.T) { + ctx := context.Background() + s := openTwoLevel(t, t.TempDir()) + base := pushDir(t, s, map[string][]byte{"a.bin": random(33, 4096)}) + newID := pushDir(t, s, map[string][]byte{"a.bin": random(34, 8192)}) + m, err := s.ReadManifest(ctx, newID) + if err != nil || m.Locator == nil { + t.Fatalf("target manifest: %v", err) + } + k := backend.Key{Kind: backend.List, Name: m.Locator.Hex()} + if err := s.B.Delete(ctx, k); err != nil { + t.Fatal(err) + } + if err := s.B.Put(ctx, k, bytes.NewReader([]byte("corrupt")), 7); err != nil { + t.Fatal(err) + } + if _, err := s.Diff(ctx, base, newID, DiffOptions{}); err == nil || !strings.Contains(err.Error(), "content does not match") { + t.Fatalf("target locator corruption was not rejected: %v", err) + } +} + func pushDir(t *testing.T, s *Store, files map[string][]byte) digest.Digest { t.Helper() src := t.TempDir() diff --git a/pkg/store/gc_test.go b/pkg/store/gc_test.go index 8d2f79c..45f380f 100644 --- a/pkg/store/gc_test.go +++ b/pkg/store/gc_test.go @@ -319,5 +319,11 @@ func TestGCRepacksMostlyDeadPacks(t *testing.T) { t.Fatal(err) } sameTree(t, keepOnly, out) + // Diff must also rebuild stale locator plans from the repacked index. + g, _ = gcStore(t, storeDir) + diff, err := g.Diff(ctx, mk, mk, DiffOptions{Ranges: true}) + if err != nil || diff.Same != diff.Size || diff.ChangedRuns != 0 || diff.NewStored != 0 { + t.Fatalf("diff after repack: %+v, %v", diff, err) + } assertIndexConsistent(t, g) } From c7e7d9e01d45538db85b4451271695b6def485e8 Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 10:58:34 +0900 Subject: [PATCH 09/23] bench: compare interleaved diff builds with exact JSON parity --- bench/diff.py | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 bench/diff.py diff --git a/bench/diff.py b/bench/diff.py new file mode 100644 index 0000000..111e3cc --- /dev/null +++ b/bench/diff.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python3 +"""Interleave two Onggi builds on one immutable store/ref pair; require equal JSON.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import statistics +import subprocess +import time + + +def main(): + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("baseline") + p.add_argument("candidate") + p.add_argument("store") + p.add_argument("base_ref") + p.add_argument("new_ref") + a = p.parse_args() + env = dict(os.environ, GOMAXPROCS="4") + samples, expected = [], None + for i in range(6): + order = ("baseline", "candidate") if i % 2 == 0 else ("candidate", "baseline") + for name in order: + t = time.perf_counter() + result = subprocess.run( + [getattr(a, name), "diff", "--store", a.store, "--ranges", "--json", + a.base_ref, a.new_ref], env=env, capture_output=True, check=True, + timeout=120) + elapsed = time.perf_counter() - t + data = json.loads(result.stdout) + if expected is None: + expected = data + if data != expected: + raise RuntimeError("diff JSON changed between builds or repetitions") + samples.append(dict(round=i, build=name, seconds=elapsed, + stdout_sha256=hashlib.sha256(result.stdout).hexdigest())) + print(json.dumps(dict( + schema=1, scope="CLI wall time including process start; no NPU execution", + gomaxprocs=4, refs=[a.base_ref, a.new_ref], + binary_sha256={n: hashlib.sha256(Path(getattr(a, n)).read_bytes()).hexdigest() + for n in ("baseline", "candidate")}, + medians={n: statistics.median(x["seconds"] for x in samples if x["build"] == n) + for n in ("baseline", "candidate")}, + exact_diff_json=True, samples=samples, diff=expected), indent=2)) + + +if __name__ == "__main__": + main() From 93fa36707ccb541f764bf2b7613f536c9366bfed Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 10:59:48 +0900 Subject: [PATCH 10/23] style: sort diff regression test imports --- pkg/store/diff_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/store/diff_test.go b/pkg/store/diff_test.go index aae1a56..93d2760 100644 --- a/pkg/store/diff_test.go +++ b/pkg/store/diff_test.go @@ -4,9 +4,9 @@ import ( "bytes" "context" "io" + "path/filepath" "reflect" "strings" - "path/filepath" "testing" "github.com/ai-computing/onggi/pkg/backend" From 91a0005410efc35ec56b3c98b080217121be2462 Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 11:03:42 +0900 Subject: [PATCH 11/23] docs: publish controlled diff-plan speed and parity evidence --- README.ko.md | 3 + README.md | 3 + docs/data/diff-plan-20261030.json | 896 ++++++++++++++++++ docs/diff-plan-2026-10-30.md | 78 ++ docs/evaluation.md | 4 + .../superpowers/plans/2026-10-30-diff-plan.md | 18 +- 6 files changed, 1000 insertions(+), 2 deletions(-) create mode 100644 docs/data/diff-plan-20261030.json create mode 100644 docs/diff-plan-2026-10-30.md diff --git a/README.ko.md b/README.ko.md index 6e88b91..cbfb369 100644 --- a/README.ko.md +++ b/README.ko.md @@ -9,6 +9,9 @@ > Kubernetes에서 결과물을 읽기 전용 볼륨으로 제공합니다. 컨트롤러(컴파일 팜, 프리페치)는 P3에서 이어집니다. 기존 방법과의 > 비교는 [docs/evaluation.md](docs/evaluation.md)에 있습니다. +실시간 델타 비교는 [대상 메타데이터 계획 재사용](docs/diff-plan-2026-10-30.md)으로 +8B 부분 갱신 fixture의 CLI 시간을 8~14% 줄였으며, 변경 범위 출력은 동일합니다. + NPU는 모델을 미리 컴파일하며 모델 × SDK × 장치 × 길이 구간 × 배치 × 옵션 조합마다 결과물이 하나씩 생깁니다. 연구실 RNGD + ATOM 노드에서 Rebellions ATOM용 Llama-3.1-8B 빌드 묶음 하나가 **262 GB**를 차지합니다. 그래프마다 가중치가 통째로 들어 있기 때문입니다. FuriosaAI RNGD는 HF 체크포인트와 바이트가 같은 가중치를 세 벌 보관하고 있었습니다. 내용 기반 diff --git a/README.md b/README.md index b0cc0d6..d497d8f 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,9 @@ English · [한국어](README.ko.md) > ([deploy/csi](deploy/csi/README.md)) serves them as read-only volumes on Kubernetes. The controller (compile farm, > prefetch) follows in P3. Measurements against common methods: [docs/evaluation.md](docs/evaluation.md). +Live delta comparison: [reuse target metadata planning](docs/diff-plan-2026-10-30.md) +reduced measured CLI time by 8–14% on the 8B sparse-update fixtures, with identical range output. + NPUs compile models ahead of time, one artifact per model × SDK × device × sequence bucket × batch × options. On our RNGD + ATOM node, one Llama-3.1-8B build set for Rebellions ATOM takes **262 GB** because every graph embeds the weights, and FuriosaAI RNGD keeps three copies of weights that are byte-identical to the HF checkpoint. Content-defined diff --git a/docs/data/diff-plan-20261030.json b/docs/data/diff-plan-20261030.json new file mode 100644 index 0000000..3c89f7e --- /dev/null +++ b/docs/data/diff-plan-20261030.json @@ -0,0 +1,896 @@ +{ + "schema": 1, + "scope": "CPU CLI comparison only; no NPU or end-to-end serving timing. Six interleaved pairs per ref direction, every sample retained. Shared host and warm filesystem; no cold-cache control.", + "binary_source_commits": { + "baseline": "05c97605b07882f9ceaaeb90b94878f8923f81cf", + "candidate": "216df102436cce459fc76de9407661f548896490" + }, + "environment": { + "captured_utc": 1793325724.1049228, + "platform": "Linux-6.8.0-40-generic-x86_64-with-glibc2.35", + "logical_cpus": 96, + "post_run_load": [ + 11.98046875, + 10.79345703125, + 8.01025390625 + ], + "refs": { + "base": "sha256:fd0c9319e62fe7e91d67cb315353eeec784d2ba6b37e9dc460cd0354a2abb4ae", + "sparse": "sha256:fab1cc99fa82cc7ac986dd482e163b01568e62c2971f30c11895aeaa928e8457", + "lm": "sha256:ababa06bb5a897b4fcde8c8aba53fe705fc8423fd0427c6e8359fddfab46fafd" + } + }, + "validation": { + "go": "go version go1.27.3 linux/amd64", + "source": { + "baseline": { + "commit": "05c97605b07882f9ceaaeb90b94878f8923f81cf", + "sha256": { + "pkg/store/diff.go": "f17475422367a7dc844f72720c1dc8ed59192415ea41e17db3b1fcd69893552e", + "pkg/store/pull.go": "121cc45111093223ac1042a29b21b81087292eb90e9b12d700ba9e8c902b0ef6", + "pkg/store/store.go": "d4936274c20ccb12abdd8ce801c0969e6db8d05b19f11ba16c8560acf83309e0" + } + }, + "candidate": { + "commit": "93fa36707ccb541f764bf2b7613f536c9366bfed", + "sha256": { + "pkg/store/diff.go": "6321209270813aaa2c8275a8f0db287946538e24f94a32c968fe6362022edc83", + "pkg/store/pull.go": "121cc45111093223ac1042a29b21b81087292eb90e9b12d700ba9e8c902b0ef6", + "pkg/store/store.go": "d4936274c20ccb12abdd8ce801c0969e6db8d05b19f11ba16c8560acf83309e0", + "bench/diff.py": "0a2bce13618c54bb39813df0e4d71ca21264ed1da38978e9ec121028c22bed28" + } + } + }, + "gofmt_clean": true, + "race_passed": true, + "vet_passed": true, + "npu_allocated": false + }, + "initial_profile": [ + { + "case": "sparse", + "round": 0, + "diff_s": 0.35316270985640585, + "plan_s": 0.005724379094317555, + "summary": { + "tensors": 1, + "upload_bytes": 117440512, + "changed_bytes": 2018387, + "total_bytes": 16060522496, + "header_changes": [], + "removed": [], + "names": [ + "model.layers.0.mlp.down_proj.weight" + ] + } + }, + { + "case": "sparse", + "round": 1, + "diff_s": 0.332979230908677, + "plan_s": 0.009509160183370113, + "summary": { + "tensors": 1, + "upload_bytes": 117440512, + "changed_bytes": 2018387, + "total_bytes": 16060522496, + "header_changes": [], + "removed": [], + "names": [ + "model.layers.0.mlp.down_proj.weight" + ] + } + }, + { + "case": "sparse", + "round": 2, + "diff_s": 0.36496871104463935, + "plan_s": 0.012540724826976657, + "summary": { + "tensors": 1, + "upload_bytes": 117440512, + "changed_bytes": 2018387, + "total_bytes": 16060522496, + "header_changes": [], + "removed": [], + "names": [ + "model.layers.0.mlp.down_proj.weight" + ] + } + }, + { + "case": "lm", + "round": 0, + "diff_s": 0.3381879448425025, + "plan_s": 0.009490879951044917, + "summary": { + "tensors": 1, + "upload_bytes": 1050673152, + "changed_bytes": 255619, + "total_bytes": 16060522496, + "header_changes": [], + "removed": [], + "names": [ + "lm_head.weight" + ] + } + }, + { + "case": "lm", + "round": 1, + "diff_s": 0.3642662561032921, + "plan_s": 0.008064037887379527, + "summary": { + "tensors": 1, + "upload_bytes": 1050673152, + "changed_bytes": 255619, + "total_bytes": 16060522496, + "header_changes": [], + "removed": [], + "names": [ + "lm_head.weight" + ] + } + }, + { + "case": "lm", + "round": 2, + "diff_s": 0.33247967693023384, + "plan_s": 0.007793386001139879, + "summary": { + "tensors": 1, + "upload_bytes": 1050673152, + "changed_bytes": 255619, + "total_bytes": 16060522496, + "header_changes": [], + "removed": [], + "names": [ + "lm_head.weight" + ] + } + } + ], + "runs": { + "base-sparse": { + "schema": 1, + "scope": "CLI wall time including process start; no NPU execution", + "gomaxprocs": 4, + "refs": [ + "base", + "sparse" + ], + "binary_sha256": { + "baseline": "811d770afb82b5534e2c87109fb0ed7690521136f02f392e45d706b3e9786381", + "candidate": "4fdb928bcb27772937f7861049e34cb5b36589913c6f3d82dec61120fa53cfca" + }, + "medians": { + "baseline": 0.29521275346633047, + "candidate": 0.2695950110210106 + }, + "exact_diff_json": true, + "samples": [ + { + "round": 0, + "build": "baseline", + "seconds": 0.2937230849638581, + "stdout_sha256": "55dd80153d2fed5849aae67dc04eff930c2eb66e30628245a05b9c6d2a42f624" + }, + { + "round": 0, + "build": "candidate", + "seconds": 0.30449764081276953, + "stdout_sha256": "55dd80153d2fed5849aae67dc04eff930c2eb66e30628245a05b9c6d2a42f624" + }, + { + "round": 1, + "build": "candidate", + "seconds": 0.2614228480961174, + "stdout_sha256": "55dd80153d2fed5849aae67dc04eff930c2eb66e30628245a05b9c6d2a42f624" + }, + { + "round": 1, + "build": "baseline", + "seconds": 0.2967024219688028, + "stdout_sha256": "55dd80153d2fed5849aae67dc04eff930c2eb66e30628245a05b9c6d2a42f624" + }, + { + "round": 2, + "build": "baseline", + "seconds": 0.30719437496736646, + "stdout_sha256": "55dd80153d2fed5849aae67dc04eff930c2eb66e30628245a05b9c6d2a42f624" + }, + { + "round": 2, + "build": "candidate", + "seconds": 0.25410721311345696, + "stdout_sha256": "55dd80153d2fed5849aae67dc04eff930c2eb66e30628245a05b9c6d2a42f624" + }, + { + "round": 3, + "build": "candidate", + "seconds": 0.2696829221677035, + "stdout_sha256": "55dd80153d2fed5849aae67dc04eff930c2eb66e30628245a05b9c6d2a42f624" + }, + { + "round": 3, + "build": "baseline", + "seconds": 0.27621611999347806, + "stdout_sha256": "55dd80153d2fed5849aae67dc04eff930c2eb66e30628245a05b9c6d2a42f624" + }, + { + "round": 4, + "build": "baseline", + "seconds": 0.33341146912425756, + "stdout_sha256": "55dd80153d2fed5849aae67dc04eff930c2eb66e30628245a05b9c6d2a42f624" + }, + { + "round": 4, + "build": "candidate", + "seconds": 0.26950709987431765, + "stdout_sha256": "55dd80153d2fed5849aae67dc04eff930c2eb66e30628245a05b9c6d2a42f624" + }, + { + "round": 5, + "build": "candidate", + "seconds": 0.28165885899215937, + "stdout_sha256": "55dd80153d2fed5849aae67dc04eff930c2eb66e30628245a05b9c6d2a42f624" + }, + { + "round": 5, + "build": "baseline", + "seconds": 0.2705443501472473, + "stdout_sha256": "55dd80153d2fed5849aae67dc04eff930c2eb66e30628245a05b9c6d2a42f624" + } + ], + "diff": { + "files": [ + { + "path": "config.json", + "base": "config.json", + "size": 855, + "same": 855, + "moved": 0, + "new": 0, + "same_blocks": 855, + "changed_runs": 0, + "largest_run": 0 + }, + { + "path": "model-00001-of-00004.safetensors", + "base": "model-00001-of-00004.safetensors", + "size": 4976698672, + "same": 4974680285, + "moved": 0, + "new": 2018387, + "same_blocks": 4974675248, + "changed_runs": 1, + "largest_run": 2018387, + "changed": [ + [ + 1050641786, + 2018387 + ] + ] + }, + { + "path": "model-00002-of-00004.safetensors", + "base": "model-00002-of-00004.safetensors", + "size": 4999802720, + "same": 4999802720, + "moved": 0, + "new": 0, + "same_blocks": 4999802720, + "changed_runs": 0, + "largest_run": 0 + }, + { + "path": "model-00003-of-00004.safetensors", + "base": "model-00003-of-00004.safetensors", + "size": 4915916176, + "same": 4915916176, + "moved": 0, + "new": 0, + "same_blocks": 4915916176, + "changed_runs": 0, + "largest_run": 0 + }, + { + "path": "model-00004-of-00004.safetensors", + "base": "model-00004-of-00004.safetensors", + "size": 1168138808, + "same": 1168138808, + "moved": 0, + "new": 0, + "same_blocks": 1168138808, + "changed_runs": 0, + "largest_run": 0 + }, + { + "path": "model.safetensors.index.json", + "base": "model.safetensors.index.json", + "size": 23950, + "same": 23950, + "moved": 0, + "new": 0, + "same_blocks": 23950, + "changed_runs": 0, + "largest_run": 0 + } + ], + "size": 16060581181, + "same": 16058562794, + "moved": 0, + "new": 2018387, + "new_stored": 1356643, + "same_blocks": 16058557757, + "changed_runs": 1, + "largest_run": 2018387 + } + }, + "sparse-base": { + "schema": 1, + "scope": "CLI wall time including process start; no NPU execution", + "gomaxprocs": 4, + "refs": [ + "sparse", + "base" + ], + "binary_sha256": { + "baseline": "811d770afb82b5534e2c87109fb0ed7690521136f02f392e45d706b3e9786381", + "candidate": "4fdb928bcb27772937f7861049e34cb5b36589913c6f3d82dec61120fa53cfca" + }, + "medians": { + "baseline": 0.2877075480064377, + "candidate": 0.2481178204761818 + }, + "exact_diff_json": true, + "samples": [ + { + "round": 0, + "build": "baseline", + "seconds": 0.2635784880258143, + "stdout_sha256": "3ba17373cf653f4441d9a063ff040d5b4da0b628c3601590e09a4900df22963b" + }, + { + "round": 0, + "build": "candidate", + "seconds": 0.24468964897096157, + "stdout_sha256": "3ba17373cf653f4441d9a063ff040d5b4da0b628c3601590e09a4900df22963b" + }, + { + "round": 1, + "build": "candidate", + "seconds": 0.25500489096157253, + "stdout_sha256": "3ba17373cf653f4441d9a063ff040d5b4da0b628c3601590e09a4900df22963b" + }, + { + "round": 1, + "build": "baseline", + "seconds": 0.3290048809722066, + "stdout_sha256": "3ba17373cf653f4441d9a063ff040d5b4da0b628c3601590e09a4900df22963b" + }, + { + "round": 2, + "build": "baseline", + "seconds": 0.261296046897769, + "stdout_sha256": "3ba17373cf653f4441d9a063ff040d5b4da0b628c3601590e09a4900df22963b" + }, + { + "round": 2, + "build": "candidate", + "seconds": 0.24578991904854774, + "stdout_sha256": "3ba17373cf653f4441d9a063ff040d5b4da0b628c3601590e09a4900df22963b" + }, + { + "round": 3, + "build": "candidate", + "seconds": 0.2570791100151837, + "stdout_sha256": "3ba17373cf653f4441d9a063ff040d5b4da0b628c3601590e09a4900df22963b" + }, + { + "round": 3, + "build": "baseline", + "seconds": 0.28983658202923834, + "stdout_sha256": "3ba17373cf653f4441d9a063ff040d5b4da0b628c3601590e09a4900df22963b" + }, + { + "round": 4, + "build": "baseline", + "seconds": 0.310787859139964, + "stdout_sha256": "3ba17373cf653f4441d9a063ff040d5b4da0b628c3601590e09a4900df22963b" + }, + { + "round": 4, + "build": "candidate", + "seconds": 0.24188850400969386, + "stdout_sha256": "3ba17373cf653f4441d9a063ff040d5b4da0b628c3601590e09a4900df22963b" + }, + { + "round": 5, + "build": "candidate", + "seconds": 0.25044572190381587, + "stdout_sha256": "3ba17373cf653f4441d9a063ff040d5b4da0b628c3601590e09a4900df22963b" + }, + { + "round": 5, + "build": "baseline", + "seconds": 0.2855785139836371, + "stdout_sha256": "3ba17373cf653f4441d9a063ff040d5b4da0b628c3601590e09a4900df22963b" + } + ], + "diff": { + "files": [ + { + "path": "config.json", + "base": "config.json", + "size": 855, + "same": 855, + "moved": 0, + "new": 0, + "same_blocks": 855, + "changed_runs": 0, + "largest_run": 0 + }, + { + "path": "model-00001-of-00004.safetensors", + "base": "model-00001-of-00004.safetensors", + "size": 4976698672, + "same": 4974680285, + "moved": 0, + "new": 2018387, + "same_blocks": 4974675248, + "changed_runs": 1, + "largest_run": 2018387, + "changed": [ + [ + 1050641786, + 2018387 + ] + ] + }, + { + "path": "model-00002-of-00004.safetensors", + "base": "model-00002-of-00004.safetensors", + "size": 4999802720, + "same": 4999802720, + "moved": 0, + "new": 0, + "same_blocks": 4999802720, + "changed_runs": 0, + "largest_run": 0 + }, + { + "path": "model-00003-of-00004.safetensors", + "base": "model-00003-of-00004.safetensors", + "size": 4915916176, + "same": 4915916176, + "moved": 0, + "new": 0, + "same_blocks": 4915916176, + "changed_runs": 0, + "largest_run": 0 + }, + { + "path": "model-00004-of-00004.safetensors", + "base": "model-00004-of-00004.safetensors", + "size": 1168138808, + "same": 1168138808, + "moved": 0, + "new": 0, + "same_blocks": 1168138808, + "changed_runs": 0, + "largest_run": 0 + }, + { + "path": "model.safetensors.index.json", + "base": "model.safetensors.index.json", + "size": 23950, + "same": 23950, + "moved": 0, + "new": 0, + "same_blocks": 23950, + "changed_runs": 0, + "largest_run": 0 + } + ], + "size": 16060581181, + "same": 16058562794, + "moved": 0, + "new": 2018387, + "new_stored": 1348291, + "same_blocks": 16058557757, + "changed_runs": 1, + "largest_run": 2018387 + } + }, + "base-lm": { + "schema": 1, + "scope": "CLI wall time including process start; no NPU execution", + "gomaxprocs": 4, + "refs": [ + "base", + "lm" + ], + "binary_sha256": { + "baseline": "811d770afb82b5534e2c87109fb0ed7690521136f02f392e45d706b3e9786381", + "candidate": "4fdb928bcb27772937f7861049e34cb5b36589913c6f3d82dec61120fa53cfca" + }, + "medians": { + "baseline": 0.2849036930128932, + "candidate": 0.24844361399300396 + }, + "exact_diff_json": true, + "samples": [ + { + "round": 0, + "build": "baseline", + "seconds": 0.2861944390460849, + "stdout_sha256": "9484207dd749e5d292751d1ea7d4e1f18d2642daf93af559a158de04e5148c12" + }, + { + "round": 0, + "build": "candidate", + "seconds": 0.22786860004998744, + "stdout_sha256": "9484207dd749e5d292751d1ea7d4e1f18d2642daf93af559a158de04e5148c12" + }, + { + "round": 1, + "build": "candidate", + "seconds": 0.2550858829636127, + "stdout_sha256": "9484207dd749e5d292751d1ea7d4e1f18d2642daf93af559a158de04e5148c12" + }, + { + "round": 1, + "build": "baseline", + "seconds": 0.2836129469797015, + "stdout_sha256": "9484207dd749e5d292751d1ea7d4e1f18d2642daf93af559a158de04e5148c12" + }, + { + "round": 2, + "build": "baseline", + "seconds": 0.25940753100439906, + "stdout_sha256": "9484207dd749e5d292751d1ea7d4e1f18d2642daf93af559a158de04e5148c12" + }, + { + "round": 2, + "build": "candidate", + "seconds": 0.24180134502239525, + "stdout_sha256": "9484207dd749e5d292751d1ea7d4e1f18d2642daf93af559a158de04e5148c12" + }, + { + "round": 3, + "build": "candidate", + "seconds": 0.2555666270200163, + "stdout_sha256": "9484207dd749e5d292751d1ea7d4e1f18d2642daf93af559a158de04e5148c12" + }, + { + "round": 3, + "build": "baseline", + "seconds": 0.257815188029781, + "stdout_sha256": "9484207dd749e5d292751d1ea7d4e1f18d2642daf93af559a158de04e5148c12" + }, + { + "round": 4, + "build": "baseline", + "seconds": 0.34039749298244715, + "stdout_sha256": "9484207dd749e5d292751d1ea7d4e1f18d2642daf93af559a158de04e5148c12" + }, + { + "round": 4, + "build": "candidate", + "seconds": 0.26692141802050173, + "stdout_sha256": "9484207dd749e5d292751d1ea7d4e1f18d2642daf93af559a158de04e5148c12" + }, + { + "round": 5, + "build": "candidate", + "seconds": 0.2385039960499853, + "stdout_sha256": "9484207dd749e5d292751d1ea7d4e1f18d2642daf93af559a158de04e5148c12" + }, + { + "round": 5, + "build": "baseline", + "seconds": 0.3208329488988966, + "stdout_sha256": "9484207dd749e5d292751d1ea7d4e1f18d2642daf93af559a158de04e5148c12" + } + ], + "diff": { + "files": [ + { + "path": "config.json", + "base": "config.json", + "size": 855, + "same": 855, + "moved": 0, + "new": 0, + "same_blocks": 855, + "changed_runs": 0, + "largest_run": 0 + }, + { + "path": "model-00001-of-00004.safetensors", + "base": "model-00001-of-00004.safetensors", + "size": 4976698672, + "same": 4976698672, + "moved": 0, + "new": 0, + "same_blocks": 4976698672, + "changed_runs": 0, + "largest_run": 0 + }, + { + "path": "model-00002-of-00004.safetensors", + "base": "model-00002-of-00004.safetensors", + "size": 4999802720, + "same": 4999802720, + "moved": 0, + "new": 0, + "same_blocks": 4999802720, + "changed_runs": 0, + "largest_run": 0 + }, + { + "path": "model-00003-of-00004.safetensors", + "base": "model-00003-of-00004.safetensors", + "size": 4915916176, + "same": 4915916176, + "moved": 0, + "new": 0, + "same_blocks": 4915916176, + "changed_runs": 0, + "largest_run": 0 + }, + { + "path": "model-00004-of-00004.safetensors", + "base": "model-00004-of-00004.safetensors", + "size": 1168138808, + "same": 1167883189, + "moved": 0, + "new": 255619, + "same_blocks": 1167876664, + "changed_runs": 1, + "largest_run": 255619, + "changed": [ + [ + 98610600, + 255619 + ] + ] + }, + { + "path": "model.safetensors.index.json", + "base": "model.safetensors.index.json", + "size": 23950, + "same": 23950, + "moved": 0, + "new": 0, + "same_blocks": 23950, + "changed_runs": 0, + "largest_run": 0 + } + ], + "size": 16060581181, + "same": 16060325562, + "moved": 0, + "new": 255619, + "new_stored": 178602, + "same_blocks": 16060319037, + "changed_runs": 1, + "largest_run": 255619 + } + }, + "lm-base": { + "schema": 1, + "scope": "CLI wall time including process start; no NPU execution", + "gomaxprocs": 4, + "refs": [ + "lm", + "base" + ], + "binary_sha256": { + "baseline": "811d770afb82b5534e2c87109fb0ed7690521136f02f392e45d706b3e9786381", + "candidate": "4fdb928bcb27772937f7861049e34cb5b36589913c6f3d82dec61120fa53cfca" + }, + "medians": { + "baseline": 0.2829346969956532, + "candidate": 0.25943780795205384 + }, + "exact_diff_json": true, + "samples": [ + { + "round": 0, + "build": "baseline", + "seconds": 0.2829620218835771, + "stdout_sha256": "17d0935f0a19fd0fe888ef0d9bcce41280354de64aa44082b5b72438c919f098" + }, + { + "round": 0, + "build": "candidate", + "seconds": 0.25369232008233666, + "stdout_sha256": "17d0935f0a19fd0fe888ef0d9bcce41280354de64aa44082b5b72438c919f098" + }, + { + "round": 1, + "build": "candidate", + "seconds": 0.23418794688768685, + "stdout_sha256": "17d0935f0a19fd0fe888ef0d9bcce41280354de64aa44082b5b72438c919f098" + }, + { + "round": 1, + "build": "baseline", + "seconds": 0.26954976306296885, + "stdout_sha256": "17d0935f0a19fd0fe888ef0d9bcce41280354de64aa44082b5b72438c919f098" + }, + { + "round": 2, + "build": "baseline", + "seconds": 0.29506970988586545, + "stdout_sha256": "17d0935f0a19fd0fe888ef0d9bcce41280354de64aa44082b5b72438c919f098" + }, + { + "round": 2, + "build": "candidate", + "seconds": 0.2614331010263413, + "stdout_sha256": "17d0935f0a19fd0fe888ef0d9bcce41280354de64aa44082b5b72438c919f098" + }, + { + "round": 3, + "build": "candidate", + "seconds": 0.2870143479667604, + "stdout_sha256": "17d0935f0a19fd0fe888ef0d9bcce41280354de64aa44082b5b72438c919f098" + }, + { + "round": 3, + "build": "baseline", + "seconds": 0.2829073721077293, + "stdout_sha256": "17d0935f0a19fd0fe888ef0d9bcce41280354de64aa44082b5b72438c919f098" + }, + { + "round": 4, + "build": "baseline", + "seconds": 0.26961279287934303, + "stdout_sha256": "17d0935f0a19fd0fe888ef0d9bcce41280354de64aa44082b5b72438c919f098" + }, + { + "round": 4, + "build": "candidate", + "seconds": 0.25744251487776637, + "stdout_sha256": "17d0935f0a19fd0fe888ef0d9bcce41280354de64aa44082b5b72438c919f098" + }, + { + "round": 5, + "build": "candidate", + "seconds": 0.31298139900900424, + "stdout_sha256": "17d0935f0a19fd0fe888ef0d9bcce41280354de64aa44082b5b72438c919f098" + }, + { + "round": 5, + "build": "baseline", + "seconds": 0.29167532990686595, + "stdout_sha256": "17d0935f0a19fd0fe888ef0d9bcce41280354de64aa44082b5b72438c919f098" + } + ], + "diff": { + "files": [ + { + "path": "config.json", + "base": "config.json", + "size": 855, + "same": 855, + "moved": 0, + "new": 0, + "same_blocks": 855, + "changed_runs": 0, + "largest_run": 0 + }, + { + "path": "model-00001-of-00004.safetensors", + "base": "model-00001-of-00004.safetensors", + "size": 4976698672, + "same": 4976698672, + "moved": 0, + "new": 0, + "same_blocks": 4976698672, + "changed_runs": 0, + "largest_run": 0 + }, + { + "path": "model-00002-of-00004.safetensors", + "base": "model-00002-of-00004.safetensors", + "size": 4999802720, + "same": 4999802720, + "moved": 0, + "new": 0, + "same_blocks": 4999802720, + "changed_runs": 0, + "largest_run": 0 + }, + { + "path": "model-00003-of-00004.safetensors", + "base": "model-00003-of-00004.safetensors", + "size": 4915916176, + "same": 4915916176, + "moved": 0, + "new": 0, + "same_blocks": 4915916176, + "changed_runs": 0, + "largest_run": 0 + }, + { + "path": "model-00004-of-00004.safetensors", + "base": "model-00004-of-00004.safetensors", + "size": 1168138808, + "same": 1167883189, + "moved": 0, + "new": 255619, + "same_blocks": 1167876664, + "changed_runs": 1, + "largest_run": 255619, + "changed": [ + [ + 98610600, + 255619 + ] + ] + }, + { + "path": "model.safetensors.index.json", + "base": "model.safetensors.index.json", + "size": 23950, + "same": 23950, + "moved": 0, + "new": 0, + "same_blocks": 23950, + "changed_runs": 0, + "largest_run": 0 + } + ], + "size": 16060581181, + "same": 16060325562, + "moved": 0, + "new": 255619, + "new_stored": 169986, + "same_blocks": 16060319037, + "changed_runs": 1, + "largest_run": 255619 + } + } + }, + "original_files": [ + { + "name": "cpu-baseline.json", + "bytes": 11939, + "sha256": "37087179e0d835eda5f7d97179f30111e226d1502209a840dbfd6a70bcf16170" + }, + { + "name": "benchmark.json", + "bytes": 20581, + "sha256": "ec88a380701fb8a59d8ef81ad228b25235ff873f87e5b2e90423803e683db630" + }, + { + "name": "validation.json", + "bytes": 6337, + "sha256": "66d02d847db7eeedd58c57cd4eede9ac29554a7b0d9290a16a4d142adf84d41f" + }, + { + "name": "environment.json", + "bytes": 483, + "sha256": "066e2c121746d082a46272f2634370917bc9d3dad0aa16eb05e04597343dc364" + }, + { + "name": "red-test.log", + "bytes": 252, + "sha256": "6b9b9bc0e19e3db569171c7f259e7d6fa578e727f475a9e39021c430ec53ed8e" + }, + { + "name": "green-suite.log", + "bytes": 1694, + "sha256": "c331a48bd234b87204a1e2c79025230674b75aa4684471f6cb5bacbb9129730d" + }, + { + "name": "build-both.log", + "bytes": 52, + "sha256": "4c9a30d25567f21fe499535b2cc7b21fdc5ee171d17e19b8a38d9ee224a5e5a4" + } + ] +} diff --git a/docs/diff-plan-2026-10-30.md b/docs/diff-plan-2026-10-30.md new file mode 100644 index 0000000..6a438b6 --- /dev/null +++ b/docs/diff-plan-2026-10-30.md @@ -0,0 +1,78 @@ +# Faster live delta comparison + +2026-10-30. This reduces CPU metadata work in `onggi diff --ranges --json`, +used before resident NPU updates. It does not change device execution. + +## Cause and change + +Profiling the immutable Llama-3.1-8B sparse-projection and sparse-LM fixtures +found 332–365 ms in the CLI comparison and 6–13 ms in Python row planning. +`Store.Diff` planned the target twice: `Extents` decoded/validated its metadata, +then `Diff` repeated that work for unique new stored-byte accounting. + +The target plan is now built once and its nodes serve both computations. +There is no cache across calls. Ref resolution, metadata digest validation, +missing-pack/index fallback, extent sorting and public JSON remain unchanged. +This applies to any artifact kind, including ATOM and RNGD files; the measured +fixtures below are safetensors, not opaque compiled vendor files. + +## Same-toolchain comparison + +Baseline `05c97605b07882f9ceaaeb90b94878f8923f81cf`; measured candidate binary +`216df102436cce459fc76de9407661f548896490`. Later changes only add the benchmark, +sort test imports and record results; the production source SHA is checked. +Both binaries use Go 1.27.3 linux/amd64, `-trimpath`, GOMAXPROCS=4 and the same +existing POSIX store on the shared 96-logical-CPU host. Six pairs per direction +alternate which build runs first. Every sample, including the first, is kept. +The filesystem is warm; host scheduling is uncontrolled and no cold-cache +experiment or statistical significance claim is made. + +| Direction | Baseline median | Candidate median | Reduction | +| --- | ---: | ---: | ---: | +| base -> projection rows | 295.213 ms | 269.595 ms | 8.68% | +| projection rows -> base | 287.708 ms | 248.118 ms | 13.76% | +| base -> LM rows | 284.904 ms | 248.444 ms | 12.80% | +| LM rows -> base | 282.935 ms | 259.438 ms | 8.30% | + +All **48 CLI outputs** are byte-identical between builds and repetitions for +their ref pair. This checks every file/range and same/moved/new/stored byte +count. [Every sample, binary/source hash, ref digest and validation result](data/diff-plan-20261030.json). +These numbers isolate the CLI stage. NPU loading, token parity, full-update +latency and S3 performance were not remeasured by this CPU experiment. Prior +[resident NPU measurements](https://github.com/ai-computing/rngd-pd/blob/0bc244db0239bddfdda005454809aee0812877d8/experiments/2026-10-30-rngd-sdk264.md) +retain their original scope; do not subtract these savings from them as a new +end-to-end measurement. The diagnostic CLI timings used the existing binary, +so they are not the controlled speed comparison above. + +## Verification + +The access-bound regression first failed with two target-locator reads, then +passed with one. Additional checks preserve legacy/no-locator comparisons, +identical/empty artifacts, changed/rearranged chunks, corrupted-target rejection +and diff after GC repack removes stale locator packs. Linux `go test -race +./...`, `go vet ./...` and `gofmt -l` pass. A fresh read-only review found a +test import ordering issue; it was fixed and the gates rerun. Cancellation +guarantees are unchanged and not newly established: they depend on backend I/O, +and existing CPU extent/stat loops have no explicit cancellation checkpoints. + +No NPU was allocated. The toolchain, source builds, logs and caches were placed +in an owned experiment directory; no shared SDK/driver or original provider +checkout was modified. The public record removes machine paths and retains +SHA256/lengths of the seven original exported files. + +## Reproduce + +Build both revisions with the same toolchain into separate paths and use an +immutable store/ref pair: + +```bash +git -C "$REPO" worktree add "$BASE_TREE" 05c97605b07882f9ceaaeb90b94878f8923f81cf +git -C "$REPO" worktree add "$CAND_TREE" 216df102436cce459fc76de9407661f548896490 +go -C "$BASE_TREE" build -trimpath -o "$BASE_BIN" ./cmd/onggi +go -C "$CAND_TREE" build -trimpath -o "$CAND_BIN" ./cmd/onggi +python3 bench/diff.py "$BASE_BIN" "$CAND_BIN" "$STORE" base sparse > comparison.json +``` + +The harness fails if parsed diff output changes across any build or repetition; +it reports CLI wall time including process startup, not only `Store.Diff` CPU +time. Reversing refs checks the reverse transition separately. diff --git a/docs/evaluation.md b/docs/evaluation.md index 2cd6134..f389c37 100644 --- a/docs/evaluation.md +++ b/docs/evaluation.md @@ -1,5 +1,9 @@ # Evaluation +2026-10-30 CPU update: [live diff plan reuse](diff-plan-2026-10-30.md) reduced +CLI comparison medians by 8–14% on 8B sparse checkpoints. This measures a CPU +planning stage separately from the device/serving measurements below. + Measured 2026-10-22 on the lab's RNGD + ATOM node with [`bench/baselines.sh`](../bench/baselines.sh) (#51), over one Rebellions ATOM Llama-3.1-8B build set: 18 files, 263.9 GB (decode and prefill graphs for several batch sizes and sequence buckets, each embedding the weights). diff --git a/docs/superpowers/plans/2026-10-30-diff-plan.md b/docs/superpowers/plans/2026-10-30-diff-plan.md index 74c2b38..9c9104b 100644 --- a/docs/superpowers/plans/2026-10-30-diff-plan.md +++ b/docs/superpowers/plans/2026-10-30-diff-plan.md @@ -14,8 +14,8 @@ Review focus: legacy manifests, corrupt locator, GC repack, identical refs, empty/unpaired/reordered files and correct unique stored-byte accounting. - [x] Test locator access bounds and unchanged results; observe RED. -- [ ] Reuse target nodes; focused tests GREEN, broader race/vet validation. -- [ ] Same-toolchain real-fixture timing/results equality; source evidence. +- [x] Reuse target nodes; focused tests GREEN, broader race/vet validation. +- [x] Same-toolchain real-fixture timing/results equality; source evidence. - [ ] Fresh whole-change review; one fix pass if needed; docs, push/PR, green CI. ## Ledger @@ -29,3 +29,17 @@ empty/unpaired/reordered files and correct unique stored-byte accounting. - RED on actual Linux Go 1.27.3: TestDiffReadsEachLocatorOnce observed target locator read twice (expected once); test failed. Private toolchain archive SHA verified against go.dev; no system SDK/compiler installation changed. +- GREEN: locator access bound and original same/moved/new tests pass. Legacy + and identical/empty parity, corrupted target rejection and GC-repack fallback + are checked. Full Linux race suite and vet pass at source 93fa367; gofmt clean. +- Fresh reviewer found one Important CI formatting issue in test imports; + fixed in 93fa367 and reran formatting/race/vet. No production/harness issues. + Ruling on declined cancellation guarantees: preserve existing backend-driven + behavior; no new prompt CPU cancellation guarantee is claimed. Race/vet and + measured speed declined by reviewer are independently verified by executor. +- Same Go1.27.3 binaries: baseline05c976, candidate216df10. Four ref directions, + six alternating pairs each; all48 raw-output hashes match within each case. + CLI median reductions8.30–13.76%; shared/warm host, no statistical or cold-load + claim. No NPU allocated or end-to-end inference repeated. +- Seven exact exports SHA/length checked; source hashes independently verified + against Git and actual embedded binary revisions. Public data removes paths. From 358c75529808beecf854d7b65856e519accd3cad Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 11:05:02 +0900 Subject: [PATCH 12/23] docs: close diff optimization ledger and record ownership checks --- docs/superpowers/plans/2026-10-30-diff-plan.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/superpowers/plans/2026-10-30-diff-plan.md b/docs/superpowers/plans/2026-10-30-diff-plan.md index 9c9104b..43ee534 100644 --- a/docs/superpowers/plans/2026-10-30-diff-plan.md +++ b/docs/superpowers/plans/2026-10-30-diff-plan.md @@ -16,7 +16,9 @@ empty/unpaired/reordered files and correct unique stored-byte accounting. - [x] Test locator access bounds and unchanged results; observe RED. - [x] Reuse target nodes; focused tests GREEN, broader race/vet validation. - [x] Same-toolchain real-fixture timing/results equality; source evidence. -- [ ] Fresh whole-change review; one fix pass if needed; docs, push/PR, green CI. +- [x] Fresh whole-change review; one fix pass if needed; docs, push/PR. + +Publication gate: final PR CI must be green before reporting completion. ## Ledger @@ -43,3 +45,7 @@ empty/unpaired/reordered files and correct unique stored-byte accounting. claim. No NPU allocated or end-to-end inference repeated. - Seven exact exports SHA/length checked; source hashes independently verified against Git and actual embedded binary revisions. Public data removes paths. +- Published as PR70. Remote source tree clean; owned test/build/benchmark + processes absent; no NPU allocation or shared SDK/driver change. Root checked + all48 output hashes, source/binary identity, JSON/privacy and35 local links. + Final CI result is recorded in the PR body after this documentation commit. From 69033a185f5d70507cc86115ad8d7523d0e2a280 Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 13:25:47 +0900 Subject: [PATCH 13/23] docs: plan compatible artifact selection and preparation --- .../plans/2026-10-30-compatible-prepare.md | 56 +++++++++++++++++ .../2026-10-30-compatible-prepare-design.md | 62 +++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 docs/superpowers/plans/2026-10-30-compatible-prepare.md create mode 100644 docs/superpowers/specs/2026-10-30-compatible-prepare-design.md diff --git a/docs/superpowers/plans/2026-10-30-compatible-prepare.md b/docs/superpowers/plans/2026-10-30-compatible-prepare.md new file mode 100644 index 0000000..1eb28f8 --- /dev/null +++ b/docs/superpowers/plans/2026-10-30-compatible-prepare.md @@ -0,0 +1,56 @@ +# Compatible artifact preparation implementation plan + +> Execute inline using executing-plans; one fresh whole-branch reviewer after +> implementation. Continued execution and feature-branch push/PR are authorized. + +Goal: select explicitly compatible artifacts and prepare verified files before +serving startup. Go stdlib plus existing dependencies only. +Spec: ../specs/2026-10-30-compatible-prepare-design.md +Base: origin/main 05c97605b07882f9ceaaeb90b94878f8923f81cf. + +## Constraints and review focus + +No SDK/version guessing, shape padding or NPU-ready claims. Legacy unprofiled +push/pull unchanged. Optional manifest profile is hash-bound, unknown fields and +incomplete identities refused. Requests/candidates validated before file writes. +GC lease spans ref resolution through atomic publication. Readiness only after +all hash checks; destination/cache failures cannot silently return ready. +Review: malicious/incomplete metadata; ref TOCTOU; partial publication/cancel; +concurrent destination ownership; compatibility field omissions and legacy data. + +## Task 1: Profile publication and selection + +Files: pkg/store/{profile.go,profile_test.go,format.go,push.go}; +cmd/onggi/{store.go,prepare_test.go}. +Interfaces: Profile.Validate/DecodeProfile, Store.Select(ctx, []digest.Digest, +Profile) -> Selection/error; Manifest.Profile, PushOptions.Profile; push --profile. + +- [ ] Verify clean Linux baseline on an owned CPU work directory. +- [ ] RED: exact identity matching, legacy exclusion, invalid profile/JSON, + deterministic candidate choice, bad-manifest fail closed, profile roundtrip. +- [ ] Implement bounded metadata validation, optional profile and selection. +- [ ] GREEN focused tests, full suite, commit with validation ledger. + +## Task 2: Atomic CLI preparation and operator documentation + +Files: cmd/onggi/{prepare.go,prepare_test.go,main.go}; README.md/README.ko.md; +docs/{compatible-prepare.md,ko/compatible-prepare.md}; deploy/k8s example. +Interface: prepare CLI per spec, always JSON report; request shares Profile v1. + +- [ ] RED: candidate selection/immutable digest, no-match/no cache writes, + plan-only, hash corruption/cleanup, existing/busy/symlink destinations, + strict profile errors, byte-identical pull and warm node cache reuse. +- [ ] Implement prepare via existing Pull/Cache/Peers, sibling temp+mkdir lock, + store GC lease and atomic rename; never use shared CSI Materializer.Init. +- [ ] GREEN focused tests, full race/vet/build; bilingual docs and examples. +- [ ] One independent branch review, fix important findings with RED->GREEN. +- [ ] Commit/push draft PR, verify exact-head CI, record final gate in PR. + +## Ledger + +- New isolated worktree; prior provider/checkouts untouched. Ruling: first P3 + increment is explicit-candidate exact-profile selection + disk preparation; + full discovery/controller/compile farm and native device warmup remain later. + This avoids inventing cross-repo contracts or guessing vendor compatibility. +- Ruling: strict exact B/S means callers must publish each supported profile; + padding/bucketing is only safe when the runtime explicitly supports it. diff --git a/docs/superpowers/specs/2026-10-30-compatible-prepare-design.md b/docs/superpowers/specs/2026-10-30-compatible-prepare-design.md new file mode 100644 index 0000000..a523c53 --- /dev/null +++ b/docs/superpowers/specs/2026-10-30-compatible-prepare-design.md @@ -0,0 +1,62 @@ +# Compatible artifact preparation + +The user authorized the next integration step after storage/delta delivery and +native resident update validation. Implement the first executable part of P3: +choose an explicitly compatible compiled artifact, then prepare its plain files +before a serving process starts. Keep the existing Go CLI/store and add no +dependencies. This is the implementer's scoped first increment, not a claim +that the whole P3/P4 controller, compiler farm or NPU prewarming is complete. + +## Approach + +Options considered: full Kubernetes controller/CRDs (too many unimplemented +cross-repo contracts); an external catalog file (can drift from artifact bytes); +or optional compatibility metadata inside the content-addressed manifest plus +a CLI consumer. Choose the last: the manifest binds metadata to its files and +existing refs, chunk caches, hash verification and GC leases can be reused. +The user delegated routine design choices and continued execution; implement +inline without another design/permission menu. + +Add `Profile *Profile` to Manifest and PushOptions, omitted for legacy pushes. +Profile v1 requires schema, canonical nonzero SHA256 model-source and compile- +options digests, exact device/runtime/SDK/compiler/firmware/format/layout/topology +strings, positive tensor parallelism, batch and sequence. No version ranges, +unknown fields, blank values, shape padding or inferred vendor compatibility. +Publishers are responsible for accurate metadata; this is neither vendor ABI +certification nor a signed attestation. One declared B/S profile per artifact. + +`onggi push --profile FILE` validates before opening a backend or publishing. +Existing unprofiled manifests and ordinary push/pull remain compatible. +`onggi prepare --request FILE [--plan-only] [--cache DIR] [--peers URLS] + [--workers N] --store S [--dir DEST] ...` +resolves each candidate once under a store GC lease, reads hash-verified +manifests, rejects missing/incompatible profiles with field reasons and chooses +the lexically first compatible manifest digest independently of argument order. +Corrupt/unreadable manifests fail closed. Report all candidates and reasons as +JSON; no match returns nonzero and never creates destination/cache. Plan-only +does not fetch model chunks or create destination/cache. Backend opening follows +the existing CLI's store-creation behavior; plan-only is not a globally read-only +backend API. Caller supplies candidates; automatic inventory discovery is later. + +Prepare pulls the selected immutable digest through existing verified chunk +cache/peer code into a private sibling temp directory, then renames the completed +tree into a previously absent DEST. A sibling mkdir lock prevents cooperating +preparers from writing the same destination. Do not reuse the running CSI root: +Materializer.Init assumes exclusive ownership and cleans unfinished pulls. +On failure, remove only this call's temp/lock, retain cache chunks, return +nonzero, and never publish a partial ready directory. Existing/symlink/busy +destinations are refused. A crashed process may leave its destination lock; +operators must verify no owner remains before removing it. No serving graph or +device API is invoked. Readiness means verified files on disk, not NPU readiness. + +## Acceptance and limits + +Tests must catch missing identity fields, wrong versions/options/topology/shapes, +invalid/unknown JSON, legacy manifests, deterministic selection, ref movement, +hash corruption, failure cleanup, existing targets and busy locks, cache reuse +and byte-identical output. Run the Linux suite/race/vet/build and final S3 CI. +NPU execution and latency improvements are not claimed for this metadata/data +path; earlier RNGD/ATOM resident tests retain their own separate scope. +Document reproducible RNGD/ATOM profile examples and an init-container flow. +Do not merge, deploy, change shared SDK/drivers, edit prior provider work or +allocate NPU hardware. Preserve unrelated hub csichk.sh and old worktrees. From 56f6865d849289c69c4682a825bfdc8556c4fc7c Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 13:27:08 +0900 Subject: [PATCH 14/23] test: specify exact compatible artifact selection --- pkg/store/profile_test.go | 85 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 pkg/store/profile_test.go diff --git a/pkg/store/profile_test.go b/pkg/store/profile_test.go new file mode 100644 index 0000000..9e99bdb --- /dev/null +++ b/pkg/store/profile_test.go @@ -0,0 +1,85 @@ +package store + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "reflect" + "sort" + "strings" + "testing" + + "github.com/ai-computing/onggi/pkg/backend" + "github.com/ai-computing/onggi/pkg/digest" +) + +func testProfile() Profile { + return Profile{Schema:"onggi.profile.v1",ModelSource:digest.Of([]byte("source")).String(),Options:digest.Of([]byte("options")).String(),Device:"rngd",Runtime:"rngd-pd",SDK:"2026.4.0",Compiler:"2026.4.0",Firmware:"fw1",Format:"runnable",Layout:"rngd-bf16",Topology:"fusion8-mesh2",TP:1,Batch:4,Sequence:256} +} + +func profileManifest(t *testing.T,s *Store,p *Profile) digest.Digest { + t.Helper() + data,err:=json.Marshal(Manifest{Schema:"onggi.manifest.v1",Profile:p}) + if err!=nil {t.Fatal(err)} + d:=digest.Of(data) + if err=s.B.Put(context.Background(),backend.Key{Kind:backend.Manifest,Name:d.Hex()},bytes.NewReader(data),int64(len(data)));err!=nil {t.Fatal(err)} + return d +} + +func TestSelectRequiresEveryIdentityField(t *testing.T) { + ctx:=context.Background();want:=testProfile() + for i:=1;i Date: Fri, 30 Oct 2026 13:28:07 +0900 Subject: [PATCH 15/23] feat: bind exact compatibility profiles to artifact manifests --- pkg/store/format.go | 1 + pkg/store/profile.go | 110 +++++++++++++++++++++++++++++++++++++++++++ pkg/store/push.go | 8 +++- 3 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 pkg/store/profile.go diff --git a/pkg/store/format.go b/pkg/store/format.go index 5a8bc91..b799617 100644 --- a/pkg/store/format.go +++ b/pkg/store/format.go @@ -256,6 +256,7 @@ type Manifest struct { Bytes int64 `json:"bytes"` Files []File `json:"files"` Labels map[string]string `json:"labels,omitempty"` + Profile *Profile `json:"profile,omitempty"` // optional exact compatibility declaration // Locator names the artifact's locator object (locator.go). Manifests from before it have // none, and pull then reads the store's index and the chunk lists. Locator *digest.Digest `json:"locator,omitempty"` diff --git a/pkg/store/profile.go b/pkg/store/profile.go new file mode 100644 index 0000000..a9f765f --- /dev/null +++ b/pkg/store/profile.go @@ -0,0 +1,110 @@ +package store + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "sort" + "strings" + "unicode" + + "github.com/ai-computing/onggi/pkg/digest" +) + +// Profile is a publisher's exact compatibility declaration, bound to artifact files by the manifest. +// It does not attest vendor ABI compatibility or permit shape padding. +type Profile struct { + Schema string `json:"schema"` + ModelSource string `json:"model_source"` + Options string `json:"options"` + Device string `json:"device"` + Runtime string `json:"runtime"` + SDK string `json:"sdk"` + Compiler string `json:"compiler"` + Firmware string `json:"firmware"` + Format string `json:"format"` + Layout string `json:"layout"` + Topology string `json:"topology"` + TP int `json:"tp"` + Batch int `json:"batch"` + Sequence int `json:"sequence"` +} + +func (p Profile) Validate() error { + if p.Schema!="onggi.profile.v1" {return fmt.Errorf("profile: unknown schema %q",p.Schema)} + for name,value:=range map[string]string{"model_source":p.ModelSource,"options":p.Options} { + d,err:=digest.Parse(value) + if err!=nil||d.IsZero()||d.String()!=value {return fmt.Errorf("profile %s: want canonical nonzero sha256 digest",name)} + } + for name,value:=range map[string]string{"device":p.Device,"runtime":p.Runtime,"sdk":p.SDK,"compiler":p.Compiler,"firmware":p.Firmware,"format":p.Format,"layout":p.Layout,"topology":p.Topology} { + if value==""||strings.TrimSpace(value)!=value||value=="*"||strings.EqualFold(value,"unknown")||strings.IndexFunc(value,unicode.IsControl)>=0 {return fmt.Errorf("profile %s: want explicit nonblank identity",name)} + } + if p.TP<1||p.Batch<1||p.Sequence<1 {return errors.New("profile: tp, batch and sequence must be positive integers")} + return nil +} + +// UnmarshalJSON also validates profiles embedded in manifests, rejecting future/typo fields. +func (p *Profile) UnmarshalJSON(data []byte) error { + type plain Profile + var v plain + dec:=json.NewDecoder(bytes.NewReader(data));dec.DisallowUnknownFields() + if err:=dec.Decode(&v);err!=nil {return fmt.Errorf("profile: %w",err)} + if err:=Profile(v).Validate();err!=nil {return err} + *p=Profile(v) + return nil +} + +// DecodeProfile reads one bounded JSON object with no trailing content. +func DecodeProfile(r io.Reader) (Profile,error) { + var p Profile + data,err:=io.ReadAll(io.LimitReader(r,(64<<10)+1)) + if err!=nil {return p,err} + if len(data)>64<<10 {return p,errors.New("profile exceeds 64 KiB")} + err=json.Unmarshal(data,&p) + return p,err +} + +type Rejection struct { + Manifest string `json:"manifest"` + Reasons []string `json:"reasons"` +} + +type Selection struct { + Manifest string `json:"manifest,omitempty"` + Profile Profile `json:"profile"` + Compatible []string `json:"compatible"` + Rejected []Rejection `json:"rejected"` +} + +var ErrNoCompatible=errors.New("no compatible artifact") + +// Select checks every supplied manifest and deterministically chooses the lowest matching digest. +// Callers protect mutable ref resolution and subsequent use with a store GC lease. +func (s *Store) Select(ctx context.Context,candidates []digest.Digest,want Profile) (Selection,error) { + result:=Selection{Profile:want,Compatible:[]string{},Rejected:[]Rejection{}} + if err:=want.Validate();err!=nil {return result,err} + unique:=map[digest.Digest]bool{} + ds:=append([]digest.Digest(nil),candidates...) + sort.Slice(ds,func(i,j int)bool{return ds[i].String() Date: Fri, 30 Oct 2026 13:29:59 +0900 Subject: [PATCH 16/23] test: specify atomic compatible artifact preparation --- cmd/onggi/prepare_test.go | 108 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 cmd/onggi/prepare_test.go diff --git a/cmd/onggi/prepare_test.go b/cmd/onggi/prepare_test.go new file mode 100644 index 0000000..0278ac6 --- /dev/null +++ b/cmd/onggi/prepare_test.go @@ -0,0 +1,108 @@ +package main + +import ( + "bytes" + "context" + "encoding/json" + "os" + "path/filepath" + "strings" + "testing" + + "github.com/ai-computing/onggi/pkg/backend" + bfs "github.com/ai-computing/onggi/pkg/backend/fs" + "github.com/ai-computing/onggi/pkg/chunker" + "github.com/ai-computing/onggi/pkg/digest" + "github.com/ai-computing/onggi/pkg/store" +) + +const prepareProfileJSON=`{"schema":"onggi.profile.v1","model_source":"sha256:1111111111111111111111111111111111111111111111111111111111111111","options":"sha256:2222222222222222222222222222222222222222222222222222222222222222","device":"rngd","runtime":"rngd-pd","sdk":"2026.4.0","compiler":"2026.4.0","firmware":"fw1","format":"runnable","layout":"rngd-bf16","topology":"fusion8-mesh2","tp":1,"batch":4,"sequence":256}` + +type prepareFixture struct {root,source,storage,request string;data []byte} +func newPrepareFixture(t *testing.T) prepareFixture { + t.Helper();root:=t.TempDir();f:=prepareFixture{root,filepath.Join(root,"source"),filepath.Join(root,"store"),filepath.Join(root,"request.json"),bytes.Repeat([]byte("native artifact bytes\n"),10000)} + if err:=os.Mkdir(f.source,0700);err!=nil {t.Fatal(err)} + if err:=os.WriteFile(filepath.Join(f.source,"graph.bin"),f.data,0640);err!=nil {t.Fatal(err)} + if err:=os.WriteFile(f.request,[]byte(prepareProfileJSON),0600);err!=nil {t.Fatal(err)} + var out,errs bytes.Buffer + if code:=push([]string{"--store",f.storage,"--profile",f.request,"--ref","model","--compress","none","--quiet",f.source},&out,&errs);code!=0 {t.Fatalf("profile publication exit %d: %s",code,&errs)} + return f +} + +func runPrepare(t *testing.T,args ...string) (int,map[string]any,string) { + t.Helper();var out,errs bytes.Buffer;code:=prepare(args,&out,&errs);var report map[string]any + if err:=json.Unmarshal(out.Bytes(),&report);err!=nil {t.Fatalf("not a JSON report: %s / %s",&out,&errs)} + return code,report,errs.String() +} + +func TestPreparePublishesExactFilesAndReusesCache(t *testing.T) { + f:=newPrepareFixture(t);cache:=filepath.Join(f.root,"cache") + for i,name:=range []string{"first","second"} { + dest:=filepath.Join(f.root,name);code,report,errtext:=runPrepare(t,"--store",f.storage,"--request",f.request,"--dir",dest,"--cache",cache,"model") + if code!=0||report["ready"]!=true {t.Fatalf("not ready: %d %+v %s",code,report,errtext)} + got,err:=os.ReadFile(filepath.Join(dest,"graph.bin"));if err!=nil||!bytes.Equal(got,f.data){t.Fatalf("bad output: %v",err)} + if i==1 {stats:=report["stats"].(map[string]any);if stats["read_bytes"]!=float64(0)||stats["cache_bytes"].(float64)<=0 {t.Fatalf("warm cache unused: %+v",stats)}} + if _,err=os.Lstat(dest+".onggi-lock");!os.IsNotExist(err){t.Fatal("owned lock leaked")} + } +} + +func TestPrepareNoMatchAndPlanDoNotPrepareFiles(t *testing.T) { + for _,plan:=range []bool{false,true} {t.Run(map[bool]string{false:"mismatch",true:"plan"}[plan],func(t *testing.T){ + f:=newPrepareFixture(t);dest:=filepath.Join(f.root,"output");cache:=filepath.Join(f.root,"cache") + args:=[]string{"--store",f.storage,"--request",f.request,"--dir",dest,"--cache",cache} + if plan {args=append(args,"--plan-only")} else {os.WriteFile(f.request,[]byte(strings.Replace(prepareProfileJSON,`"sequence":256`,`"sequence":512`,1)),0600)} + code,report,_:=runPrepare(t,append(args,"model")...) + if report["ready"]!=false||plan!=(code==0){t.Fatalf("wrong readiness: %d %+v",code,report)} + if !plan {sel:=report["selection"].(map[string]any);if len(sel["rejected"].([]any))!=1 {t.Fatal("no mismatch report")}} + for _,p:=range []string{dest,cache,dest+".onggi-lock"}{if _,err:=os.Lstat(p);!os.IsNotExist(err){t.Fatalf("unexpected write: %s",p)}} + })} +} + +func TestPrepareRefusesExistingAndBusyDestinations(t *testing.T) { + for _,kind:=range []string{"directory","file","symlink","busy"}{t.Run(kind,func(t *testing.T){ + f:=newPrepareFixture(t);dest:=filepath.Join(f.root,"output");sentinel:=filepath.Join(f.root,"sentinel");os.WriteFile(sentinel,[]byte("keep"),0600) + switch kind {case "directory":os.Mkdir(dest,0700);os.WriteFile(filepath.Join(dest,"keep"),[]byte("keep"),0600) + case "file":os.WriteFile(dest,[]byte("keep"),0600) + case "symlink":if err:=os.Symlink(sentinel,dest);err!=nil {t.Skip(err)} + case "busy":os.Mkdir(dest+".onggi-lock",0700);os.WriteFile(filepath.Join(dest+".onggi-lock","owner"),[]byte("other"),0600)} + code,report,_:=runPrepare(t,"--store",f.storage,"--request",f.request,"--dir",dest,"model") + if code==0||report["ready"]!=false {t.Fatal("existing/busy target accepted")} + got,err:=os.ReadFile(sentinel);if err!=nil||string(got)!="keep" {t.Fatal("outside target damaged")} + if kind=="busy" {got,err=os.ReadFile(filepath.Join(dest+".onggi-lock","owner"));if err!=nil||string(got)!="other" {t.Fatal("another owner lock damaged")}} + })} +} + +func TestPrepareCorruptPackNeverPublishesAndCleansOwnedTemp(t *testing.T) { + f:=newPrepareFixture(t);packs,err:=filepath.Glob(filepath.Join(f.storage,"packs","*","*"));if err!=nil||len(packs)==0 {t.Fatal("no pack")} + for _,p:=range packs {data,_:=os.ReadFile(p);for i:=range data {data[i]^=0xff};if err=os.WriteFile(p,data,0600);err!=nil {t.Fatal(err)}} + dest:=filepath.Join(f.root,"output");code,report,_:=runPrepare(t,"--store",f.storage,"--request",f.request,"--dir",dest,"model") + if code==0||report["ready"]!=false {t.Fatal("corrupt bytes published")} + for _,p:=range []string{dest,dest+".onggi-lock"}{if _,err=os.Lstat(p);!os.IsNotExist(err){t.Fatalf("partial state: %s",p)}} + leftovers,_:=filepath.Glob(filepath.Join(f.root,".output.onggi-*"));if len(leftovers)!=0 {t.Fatalf("temp leak: %v",leftovers)} +} + +func TestPrepareInvalidRequestNeverOpensBackend(t *testing.T) { + root:=t.TempDir();request:=filepath.Join(root,"request.json");storage:=filepath.Join(root,"store") + os.WriteFile(request,[]byte(`{"sdk":"unknown"}`),0600) + code,report,_:=runPrepare(t,"--store",storage,"--request",request,"--plan-only","model") + if code!=2||report["ready"]!=false {t.Fatalf("bad request accepted: %d %+v",code,report)} + if _,err:=os.Stat(storage);!os.IsNotExist(err){t.Fatal("backend opened on invalid request")} + var out,errs bytes.Buffer + if push([]string{"--store",storage,"--profile",request,root},&out,&errs)!=2 {t.Fatal("invalid published profile accepted")} + if _,err:=os.Stat(storage);!os.IsNotExist(err){t.Fatal("backend opened on invalid push profile")} +} + +func TestPrepareSelectedDigestSurvivesRefChange(t *testing.T) { + f:=newPrepareFixture(t);ctx:=context.Background();b,err:=bfs.Open(f.storage,backend.DurabilityNone);if err!=nil{t.Fatal(err)} + s,err:=store.Open(ctx,b,chunker.Default,0);if err!=nil{t.Fatal(err)} + first,err:=store.Resolve(ctx,b,"model");if err!=nil{t.Fatal(err)} + p,err:=store.DecodeProfile(strings.NewReader(prepareProfileJSON));if err!=nil{t.Fatal(err)} + selection,err:=s.Select(ctx,[]digest.Digest{first},p);if err!=nil{t.Fatal(err)} + os.WriteFile(filepath.Join(f.source,"graph.bin"),[]byte("different new ref"),0640) + second,_,err:=s.Push(ctx,f.source,store.PushOptions{Profile:&p});if err!=nil{t.Fatal(err)} + if err=b.SetRef(ctx,"model",first.String(),second.String());err!=nil{t.Fatal(err)} + selected,err:=digest.Parse(selection.Manifest);if err!=nil{t.Fatal(err)} + dest:=filepath.Join(f.root,"selected") + if _,err=prepareFiles(ctx,s,selected,dest,store.PullOptions{});err!=nil{t.Fatal(err)} + got,err:=os.ReadFile(filepath.Join(dest,"graph.bin"));if err!=nil||!bytes.Equal(got,f.data){t.Fatal("mutable ref replaced selected digest")} +} From 1d050e509853aea93463cd855268f05d2a0934de Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 13:30:55 +0900 Subject: [PATCH 17/23] feat: select and atomically prepare compatible artifacts --- cmd/onggi/main.go | 3 ++ cmd/onggi/prepare.go | 103 +++++++++++++++++++++++++++++++++++++++++++ cmd/onggi/store.go | 12 ++++- 3 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 cmd/onggi/prepare.go diff --git a/cmd/onggi/main.go b/cmd/onggi/main.go index ae9f0bc..3580b77 100644 --- a/cmd/onggi/main.go +++ b/cmd/onggi/main.go @@ -23,6 +23,7 @@ const usage = `onggi — content-addressed store for model weights and compiled usage: onggi push --store S [--ref NAME] store a directory; only missing chunks are uploaded onggi pull --store S restore an artifact, every chunk hash-checked + onggi prepare --store S --request FILE --dir DIR ... select compatible files and prepare atomically onggi ls --store S refs and store totals onggi inspect --store S files of an artifact onggi diff --store S what turning base into ref keeps, copies and fetches @@ -55,6 +56,8 @@ func main() { os.Exit(push(os.Args[2:], os.Stdout, os.Stderr)) case "pull": os.Exit(pull(os.Args[2:], os.Stdout, os.Stderr)) + case "prepare": + os.Exit(prepare(os.Args[2:], os.Stdout, os.Stderr)) case "ls": os.Exit(ls(os.Args[2:], os.Stdout, os.Stderr)) case "inspect": diff --git a/cmd/onggi/prepare.go b/cmd/onggi/prepare.go new file mode 100644 index 0000000..6ba8ca4 --- /dev/null +++ b/cmd/onggi/prepare.go @@ -0,0 +1,103 @@ +package main + +import ( + "context" + "errors" + "flag" + "fmt" + "io" + "os" + "os/signal" + "path/filepath" + "syscall" + + "github.com/ai-computing/onggi/pkg/backend" + bfs "github.com/ai-computing/onggi/pkg/backend/fs" + "github.com/ai-computing/onggi/pkg/digest" + "github.com/ai-computing/onggi/pkg/store" +) + +func readProfileFile(name string) (store.Profile,error) { + f,err:=os.Open(name) + if err!=nil {return store.Profile{},err} + defer f.Close() + return store.DecodeProfile(f) +} + +type prepareReport struct { + Selection *store.Selection `json:"selection,omitempty"` + Ready bool `json:"ready"` // verified files on disk, not NPU readiness + Directory string `json:"directory,omitempty"` + Stats *store.PullStats `json:"stats,omitempty"` + Error string `json:"error,omitempty"` +} + +func prepare(args []string,stdout,stderr io.Writer) int { + var report prepareReport + fail:=func(code int,err error)int { + report.Error=err.Error();fmt.Fprintln(stderr,"onggi:",err) + if writeJSON(stdout,stderr,report)!=0 {return 1};return code + } + fs:=flag.NewFlagSet("prepare",flag.ContinueOnError);fs.SetOutput(stderr) + sf:=addStoreFlags(fs) + request:=fs.String("request","","exact compatibility profile JSON") + dest:=fs.String("dir","","previously absent destination directory") + cacheDir:=fs.String("cache","","node chunk cache directory") + peers:=fs.String("peers","","comma-separated peer URLs") + workers:=fs.Int("workers",8,"ranges read at once") + planOnly:=fs.Bool("plan-only",false,"select using metadata; do not fetch model chunks or create destination/cache") + if err:=fs.Parse(args);err!=nil {return fail(2,err)} + if fs.NArg()==0||*request==""||(!*planOnly&&*dest=="")||*workers<1 {return fail(2,errors.New("usage: onggi prepare --store S --request FILE [--plan-only | --dir DEST] ...; workers must be positive"))} + want,err:=readProfileFile(*request) + if err!=nil {return fail(2,err)} + ctx,stop:=signal.NotifyContext(context.Background(),os.Interrupt,syscall.SIGTERM);defer stop() + s,refs,err:=sf.open(ctx) + if err!=nil {return fail(1,err)} + release,err:=s.Lease(ctx,"compatible prepare");if err!=nil{return fail(1,err)};defer release() + candidates:=make([]digest.Digest,0,fs.NArg()) + for _,input:=range fs.Args() { + d,err:=store.Resolve(ctx,refs,input) + if err!=nil {return fail(1,fmt.Errorf("candidate %q: %w",input,err))} + candidates=append(candidates,d) + } + selected,err:=s.Select(ctx,candidates,want);report.Selection=&selected + if err!=nil {return fail(1,err)} + if *planOnly {return writeJSON(stdout,stderr,report)} + d,err:=digest.Parse(selected.Manifest);if err!=nil{return fail(1,err)} + o:=store.PullOptions{Workers:*workers,Peers:peerClients(*peers)} + if *cacheDir!="" { + cb,err:=bfs.Open(*cacheDir,backend.DurabilityNone) + if err==nil {o.Cache,err=store.OpenWith(ctx,cb,store.Create{Chunker:s.Config.Chunker,Sub:s.Config.Sub,SubKinds:s.Config.SubKinds,PackSize:s.Config.PackSize})} + if err!=nil {return fail(1,fmt.Errorf("node cache: %w",err))} + } + st,err:=prepareFiles(ctx,s,d,*dest,o) + if err!=nil {return fail(1,err)} + report.Ready=true;report.Directory=*dest;report.Stats=&st + return writeJSON(stdout,stderr,report) +} + +// prepareFiles publishes only a complete tree. It never re-resolves the chosen digest. +func prepareFiles(ctx context.Context,s *store.Store,d digest.Digest,dest string,o store.PullOptions) (store.PullStats,error) { + var st store.PullStats + if err:=ctx.Err();err!=nil{return st,err} + dest=filepath.Clean(dest);parent:=filepath.Dir(dest) + if err:=os.MkdirAll(parent,0755);err!=nil{return st,err} + lock:=dest+".onggi-lock" + if err:=os.Mkdir(lock,0700);err!=nil{return st,fmt.Errorf("destination busy: %w",err)} + defer os.Remove(lock) // never remove a lock this call did not create + if _,err:=os.Lstat(dest);!errors.Is(err,os.ErrNotExist) { + if err==nil {err=errors.New("destination already exists")};return st,err + } + tmp,err:=os.MkdirTemp(parent,"."+filepath.Base(dest)+".onggi-") + if err!=nil{return st,err} + defer os.RemoveAll(tmp) + if err=os.Chmod(tmp,0755);err!=nil{return st,err} + st,err=s.Pull(ctx,d,tmp,o) + if err!=nil{return st,err} + if err=ctx.Err();err!=nil{return st,err} + if _,err=os.Lstat(dest);!errors.Is(err,os.ErrNotExist) { + if err==nil{err=errors.New("destination appeared during preparation")};return st,err + } + if err=os.Rename(tmp,dest);err!=nil{return st,err} + return st,nil +} diff --git a/cmd/onggi/store.go b/cmd/onggi/store.go index 21ba66c..62af533 100644 --- a/cmd/onggi/store.go +++ b/cmd/onggi/store.go @@ -110,6 +110,7 @@ func push(args []string, stdout, stderr io.Writer) int { fs.SetOutput(stderr) sf := addStoreFlags(fs) ref := fs.String("ref", "", "set this ref to the new manifest") + profileFile := fs.String("profile", "", "exact compatibility profile JSON to bind to the artifact") workers := fs.Int("workers", runtime.NumCPU(), "files chunked at once") uploads := fs.Int("uploads", 4, "packs uploaded at once") compress := fs.String("compress", "auto", "how new chunks are stored: auto (zstd or byte planes + Huffman, whichever is smaller), zstd, none") @@ -125,13 +126,22 @@ func push(args []string, stdout, stderr io.Writer) int { fmt.Fprintln(stderr, "onggi:", err) return 2 } + var profile *store.Profile + if *profileFile != "" { + p, err := readProfileFile(*profileFile) + if err != nil { + fmt.Fprintln(stderr, "onggi:", err) + return 2 + } + profile = &p + } ctx := context.Background() s, refs, err := sf.open(ctx) if err != nil { fmt.Fprintln(stderr, "onggi:", err) return 1 } - o := store.PushOptions{Workers: *workers, Uploads: *uploads, TempDir: *tmp, Compress: mode} + o := store.PushOptions{Workers: *workers, Uploads: *uploads, TempDir: *tmp, Compress: mode, Profile: profile} start := time.Now() if !*quiet { o.Progress = func(st store.PushStats) { From 1f1ca2105445cd6a564dc629e130de8c2b0ef555 Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 13:34:53 +0900 Subject: [PATCH 18/23] docs: document compatible preparation and validate S3 workflow --- .github/workflows/ci.yml | 27 ++ README.ko.md | 5 + README.md | 5 + cmd/onggi/prepare.go | 237 ++++++++------ cmd/onggi/prepare_test.go | 297 +++++++++++++----- deploy/k8s/prepare-initcontainer.yaml | 47 +++ docs/compatible-prepare.md | 104 ++++++ docs/ko/compatible-prepare.md | 54 ++++ .../plans/2026-10-30-compatible-prepare.md | 34 +- pkg/store/profile.go | 199 +++++++----- pkg/store/profile_test.go | 183 +++++++---- 11 files changed, 879 insertions(+), 313 deletions(-) create mode 100644 deploy/k8s/prepare-initcontainer.yaml create mode 100644 docs/compatible-prepare.md create mode 100644 docs/ko/compatible-prepare.md diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fbf7e8d..abb3607 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -71,6 +71,33 @@ jobs: ./onggi pull demo out diff -r src out ./onggi ls + - name: compatible profile preparation and warm cache + run: | + python3 - <<'PY' + import json + profile = dict(schema="onggi.profile.v1", model_source="sha256:"+"1"*64, + options="sha256:"+"2"*64, device="synthetic-ci", runtime="test-v1", + sdk="1", compiler="1", firmware="1", format="test", layout="test", + topology="single", tp=1, batch=4, sequence=256) + with open("profile.json", "w") as f: + json.dump(profile, f) + PY + export ONGGI_STORE="${ONGGI_TEST_S3/onggitest?/onggitest/cli?}" + ./onggi push --profile profile.json --ref compatible src + ./onggi prepare --request profile.json --cache node-cache --dir prepared compatible > prepared.json + diff -r src prepared + ./onggi prepare --request profile.json --cache node-cache --dir prepared-again compatible > prepared-again.json + diff -r src prepared-again + python3 - <<'PY' + import json + with open("prepared.json") as f: + assert json.load(f)["ready"] is True + with open("prepared-again.json") as f: + result = json.load(f) + assert result["ready"] is True + assert result["stats"]["read_bytes"] == 0 + assert result["stats"]["cache_bytes"] > 0 + PY - name: server log if: failure() run: tail -100 "$RUNNER_TEMP/srv/server.log" diff --git a/README.ko.md b/README.ko.md index 6e88b91..a2ae4e8 100644 --- a/README.ko.md +++ b/README.ko.md @@ -25,6 +25,11 @@ Onggi(옹기)는 서로 다른 바이트를 한 번만 저장하고, 복원한 ## 하는 일 +P3의 첫 단계로 [호환 프로필 선택·파일 사전 준비](docs/ko/compatible-prepare.md)를 지원합니다. +`push --profile FILE`로 게시하고 `prepare --request FILE --dir DIR ...`로 +호환 결과물을 골라 노드 캐시를 통해 검증된 파일을 완성한 뒤 게시합니다. +파일 준비 단계이며 NPU 예열과 배치·확장 신호 연동은 후속 작업입니다. + | | | |---|---| | **한 번만 저장** | 내용 기반 청크, 결과물별 매니페스트, 가중치는 배열 방식별로 한 벌 | diff --git a/README.md b/README.md index b0cc0d6..e531c9f 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,11 @@ The Kubernetes Ref API, compile controller and fetches triggered by ai-rm/llm-d ## What it does +The first P3 integration is [exact-profile artifact selection and preparation](docs/compatible-prepare.md): +publish with `push --profile FILE`, then `prepare --request FILE --dir DIR ...` +chooses a compatible build and atomically prepares verified files through the node cache. +This is file readiness; native NPU prewarming and placement/autoscaler integration remain planned. + | | | |---|---| | **Store once** | content-defined chunks, manifests per artifact, weights stored once per weight layout | diff --git a/cmd/onggi/prepare.go b/cmd/onggi/prepare.go index 6ba8ca4..88ba3b8 100644 --- a/cmd/onggi/prepare.go +++ b/cmd/onggi/prepare.go @@ -1,103 +1,164 @@ package main import ( - "context" - "errors" - "flag" - "fmt" - "io" - "os" - "os/signal" - "path/filepath" - "syscall" + "context" + "errors" + "flag" + "fmt" + "io" + "os" + "os/signal" + "path/filepath" + "syscall" - "github.com/ai-computing/onggi/pkg/backend" - bfs "github.com/ai-computing/onggi/pkg/backend/fs" - "github.com/ai-computing/onggi/pkg/digest" - "github.com/ai-computing/onggi/pkg/store" + "github.com/ai-computing/onggi/pkg/backend" + bfs "github.com/ai-computing/onggi/pkg/backend/fs" + "github.com/ai-computing/onggi/pkg/digest" + "github.com/ai-computing/onggi/pkg/store" ) -func readProfileFile(name string) (store.Profile,error) { - f,err:=os.Open(name) - if err!=nil {return store.Profile{},err} - defer f.Close() - return store.DecodeProfile(f) +func readProfileFile(name string) (store.Profile, error) { + f, err := os.Open(name) + if err != nil { + return store.Profile{}, err + } + defer f.Close() + return store.DecodeProfile(f) } type prepareReport struct { - Selection *store.Selection `json:"selection,omitempty"` - Ready bool `json:"ready"` // verified files on disk, not NPU readiness - Directory string `json:"directory,omitempty"` - Stats *store.PullStats `json:"stats,omitempty"` - Error string `json:"error,omitempty"` + Selection *store.Selection `json:"selection,omitempty"` + Ready bool `json:"ready"` // verified files on disk, not NPU readiness + Directory string `json:"directory,omitempty"` + Stats *store.PullStats `json:"stats,omitempty"` + Error string `json:"error,omitempty"` } -func prepare(args []string,stdout,stderr io.Writer) int { - var report prepareReport - fail:=func(code int,err error)int { - report.Error=err.Error();fmt.Fprintln(stderr,"onggi:",err) - if writeJSON(stdout,stderr,report)!=0 {return 1};return code - } - fs:=flag.NewFlagSet("prepare",flag.ContinueOnError);fs.SetOutput(stderr) - sf:=addStoreFlags(fs) - request:=fs.String("request","","exact compatibility profile JSON") - dest:=fs.String("dir","","previously absent destination directory") - cacheDir:=fs.String("cache","","node chunk cache directory") - peers:=fs.String("peers","","comma-separated peer URLs") - workers:=fs.Int("workers",8,"ranges read at once") - planOnly:=fs.Bool("plan-only",false,"select using metadata; do not fetch model chunks or create destination/cache") - if err:=fs.Parse(args);err!=nil {return fail(2,err)} - if fs.NArg()==0||*request==""||(!*planOnly&&*dest=="")||*workers<1 {return fail(2,errors.New("usage: onggi prepare --store S --request FILE [--plan-only | --dir DEST] ...; workers must be positive"))} - want,err:=readProfileFile(*request) - if err!=nil {return fail(2,err)} - ctx,stop:=signal.NotifyContext(context.Background(),os.Interrupt,syscall.SIGTERM);defer stop() - s,refs,err:=sf.open(ctx) - if err!=nil {return fail(1,err)} - release,err:=s.Lease(ctx,"compatible prepare");if err!=nil{return fail(1,err)};defer release() - candidates:=make([]digest.Digest,0,fs.NArg()) - for _,input:=range fs.Args() { - d,err:=store.Resolve(ctx,refs,input) - if err!=nil {return fail(1,fmt.Errorf("candidate %q: %w",input,err))} - candidates=append(candidates,d) - } - selected,err:=s.Select(ctx,candidates,want);report.Selection=&selected - if err!=nil {return fail(1,err)} - if *planOnly {return writeJSON(stdout,stderr,report)} - d,err:=digest.Parse(selected.Manifest);if err!=nil{return fail(1,err)} - o:=store.PullOptions{Workers:*workers,Peers:peerClients(*peers)} - if *cacheDir!="" { - cb,err:=bfs.Open(*cacheDir,backend.DurabilityNone) - if err==nil {o.Cache,err=store.OpenWith(ctx,cb,store.Create{Chunker:s.Config.Chunker,Sub:s.Config.Sub,SubKinds:s.Config.SubKinds,PackSize:s.Config.PackSize})} - if err!=nil {return fail(1,fmt.Errorf("node cache: %w",err))} - } - st,err:=prepareFiles(ctx,s,d,*dest,o) - if err!=nil {return fail(1,err)} - report.Ready=true;report.Directory=*dest;report.Stats=&st - return writeJSON(stdout,stderr,report) +func prepare(args []string, stdout, stderr io.Writer) int { + var report prepareReport + fail := func(code int, err error) int { + report.Error = err.Error() + fmt.Fprintln(stderr, "onggi:", err) + if writeJSON(stdout, stderr, report) != 0 { + return 1 + } + return code + } + fs := flag.NewFlagSet("prepare", flag.ContinueOnError) + fs.SetOutput(stderr) + sf := addStoreFlags(fs) + request := fs.String("request", "", "exact compatibility profile JSON") + dest := fs.String("dir", "", "previously absent destination directory") + cacheDir := fs.String("cache", "", "node chunk cache directory") + peers := fs.String("peers", "", "comma-separated peer URLs") + workers := fs.Int("workers", 8, "ranges read at once") + planOnly := fs.Bool("plan-only", false, "select using metadata; do not fetch model chunks or create destination/cache") + if err := fs.Parse(args); err != nil { + return fail(2, err) + } + if fs.NArg() == 0 || *request == "" || (!*planOnly && *dest == "") || *workers < 1 { + return fail(2, errors.New("usage: onggi prepare --store S --request FILE [--plan-only | --dir DEST] ...; workers must be positive")) + } + want, err := readProfileFile(*request) + if err != nil { + return fail(2, err) + } + ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM) + defer stop() + s, refs, err := sf.open(ctx) + if err != nil { + return fail(1, err) + } + release, err := s.Lease(ctx, "compatible prepare") + if err != nil { + return fail(1, err) + } + defer release() + candidates := make([]digest.Digest, 0, fs.NArg()) + for _, input := range fs.Args() { + d, err := store.Resolve(ctx, refs, input) + if err != nil { + return fail(1, fmt.Errorf("candidate %q: %w", input, err)) + } + candidates = append(candidates, d) + } + selected, err := s.Select(ctx, candidates, want) + report.Selection = &selected + if err != nil { + return fail(1, err) + } + if *planOnly { + return writeJSON(stdout, stderr, report) + } + d, err := digest.Parse(selected.Manifest) + if err != nil { + return fail(1, err) + } + o := store.PullOptions{Workers: *workers, Peers: peerClients(*peers)} + if *cacheDir != "" { + cb, err := bfs.Open(*cacheDir, backend.DurabilityNone) + if err == nil { + o.Cache, err = store.OpenWith(ctx, cb, store.Create{Chunker: s.Config.Chunker, Sub: s.Config.Sub, SubKinds: s.Config.SubKinds, PackSize: s.Config.PackSize}) + } + if err != nil { + return fail(1, fmt.Errorf("node cache: %w", err)) + } + } + st, err := prepareFiles(ctx, s, d, *dest, o) + if err != nil { + return fail(1, err) + } + report.Ready = true + report.Directory = *dest + report.Stats = &st + return writeJSON(stdout, stderr, report) } // prepareFiles publishes only a complete tree. It never re-resolves the chosen digest. -func prepareFiles(ctx context.Context,s *store.Store,d digest.Digest,dest string,o store.PullOptions) (store.PullStats,error) { - var st store.PullStats - if err:=ctx.Err();err!=nil{return st,err} - dest=filepath.Clean(dest);parent:=filepath.Dir(dest) - if err:=os.MkdirAll(parent,0755);err!=nil{return st,err} - lock:=dest+".onggi-lock" - if err:=os.Mkdir(lock,0700);err!=nil{return st,fmt.Errorf("destination busy: %w",err)} - defer os.Remove(lock) // never remove a lock this call did not create - if _,err:=os.Lstat(dest);!errors.Is(err,os.ErrNotExist) { - if err==nil {err=errors.New("destination already exists")};return st,err - } - tmp,err:=os.MkdirTemp(parent,"."+filepath.Base(dest)+".onggi-") - if err!=nil{return st,err} - defer os.RemoveAll(tmp) - if err=os.Chmod(tmp,0755);err!=nil{return st,err} - st,err=s.Pull(ctx,d,tmp,o) - if err!=nil{return st,err} - if err=ctx.Err();err!=nil{return st,err} - if _,err=os.Lstat(dest);!errors.Is(err,os.ErrNotExist) { - if err==nil{err=errors.New("destination appeared during preparation")};return st,err - } - if err=os.Rename(tmp,dest);err!=nil{return st,err} - return st,nil +func prepareFiles(ctx context.Context, s *store.Store, d digest.Digest, dest string, o store.PullOptions) (store.PullStats, error) { + var st store.PullStats + if err := ctx.Err(); err != nil { + return st, err + } + dest = filepath.Clean(dest) + parent := filepath.Dir(dest) + if err := os.MkdirAll(parent, 0755); err != nil { + return st, err + } + lock := dest + ".onggi-lock" + if err := os.Mkdir(lock, 0700); err != nil { + return st, fmt.Errorf("destination busy: %w", err) + } + defer os.Remove(lock) // never remove a lock this call did not create + if _, err := os.Lstat(dest); !errors.Is(err, os.ErrNotExist) { + if err == nil { + err = errors.New("destination already exists") + } + return st, err + } + tmp, err := os.MkdirTemp(parent, "."+filepath.Base(dest)+".onggi-") + if err != nil { + return st, err + } + defer os.RemoveAll(tmp) + if err = os.Chmod(tmp, 0755); err != nil { + return st, err + } + st, err = s.Pull(ctx, d, tmp, o) + if err != nil { + return st, err + } + if err = ctx.Err(); err != nil { + return st, err + } + if _, err = os.Lstat(dest); !errors.Is(err, os.ErrNotExist) { + if err == nil { + err = errors.New("destination appeared during preparation") + } + return st, err + } + if err = os.Rename(tmp, dest); err != nil { + return st, err + } + return st, nil } diff --git a/cmd/onggi/prepare_test.go b/cmd/onggi/prepare_test.go index 0278ac6..df21176 100644 --- a/cmd/onggi/prepare_test.go +++ b/cmd/onggi/prepare_test.go @@ -1,108 +1,247 @@ package main import ( - "bytes" - "context" - "encoding/json" - "os" - "path/filepath" - "strings" - "testing" + "bytes" + "context" + "encoding/json" + "os" + "path/filepath" + "strings" + "testing" - "github.com/ai-computing/onggi/pkg/backend" - bfs "github.com/ai-computing/onggi/pkg/backend/fs" - "github.com/ai-computing/onggi/pkg/chunker" - "github.com/ai-computing/onggi/pkg/digest" - "github.com/ai-computing/onggi/pkg/store" + "github.com/ai-computing/onggi/pkg/backend" + bfs "github.com/ai-computing/onggi/pkg/backend/fs" + "github.com/ai-computing/onggi/pkg/chunker" + "github.com/ai-computing/onggi/pkg/digest" + "github.com/ai-computing/onggi/pkg/store" ) -const prepareProfileJSON=`{"schema":"onggi.profile.v1","model_source":"sha256:1111111111111111111111111111111111111111111111111111111111111111","options":"sha256:2222222222222222222222222222222222222222222222222222222222222222","device":"rngd","runtime":"rngd-pd","sdk":"2026.4.0","compiler":"2026.4.0","firmware":"fw1","format":"runnable","layout":"rngd-bf16","topology":"fusion8-mesh2","tp":1,"batch":4,"sequence":256}` +const prepareProfileJSON = `{"schema":"onggi.profile.v1","model_source":"sha256:1111111111111111111111111111111111111111111111111111111111111111","options":"sha256:2222222222222222222222222222222222222222222222222222222222222222","device":"rngd","runtime":"rngd-pd","sdk":"2026.4.0","compiler":"2026.4.0","firmware":"fw1","format":"runnable","layout":"rngd-bf16","topology":"fusion8-mesh2","tp":1,"batch":4,"sequence":256}` + +type prepareFixture struct { + root, source, storage, request string + data []byte +} -type prepareFixture struct {root,source,storage,request string;data []byte} func newPrepareFixture(t *testing.T) prepareFixture { - t.Helper();root:=t.TempDir();f:=prepareFixture{root,filepath.Join(root,"source"),filepath.Join(root,"store"),filepath.Join(root,"request.json"),bytes.Repeat([]byte("native artifact bytes\n"),10000)} - if err:=os.Mkdir(f.source,0700);err!=nil {t.Fatal(err)} - if err:=os.WriteFile(filepath.Join(f.source,"graph.bin"),f.data,0640);err!=nil {t.Fatal(err)} - if err:=os.WriteFile(f.request,[]byte(prepareProfileJSON),0600);err!=nil {t.Fatal(err)} - var out,errs bytes.Buffer - if code:=push([]string{"--store",f.storage,"--profile",f.request,"--ref","model","--compress","none","--quiet",f.source},&out,&errs);code!=0 {t.Fatalf("profile publication exit %d: %s",code,&errs)} - return f + t.Helper() + root := t.TempDir() + f := prepareFixture{root, filepath.Join(root, "source"), filepath.Join(root, "store"), filepath.Join(root, "request.json"), bytes.Repeat([]byte("native artifact bytes\n"), 10000)} + if err := os.Mkdir(f.source, 0700); err != nil { + t.Fatal(err) + } + if err := os.WriteFile(filepath.Join(f.source, "graph.bin"), f.data, 0640); err != nil { + t.Fatal(err) + } + if err := os.WriteFile(f.request, []byte(prepareProfileJSON), 0600); err != nil { + t.Fatal(err) + } + var out, errs bytes.Buffer + if code := push([]string{"--store", f.storage, "--profile", f.request, "--ref", "model", "--compress", "none", "--quiet", f.source}, &out, &errs); code != 0 { + t.Fatalf("profile publication exit %d: %s", code, &errs) + } + return f } -func runPrepare(t *testing.T,args ...string) (int,map[string]any,string) { - t.Helper();var out,errs bytes.Buffer;code:=prepare(args,&out,&errs);var report map[string]any - if err:=json.Unmarshal(out.Bytes(),&report);err!=nil {t.Fatalf("not a JSON report: %s / %s",&out,&errs)} - return code,report,errs.String() +func runPrepare(t *testing.T, args ...string) (int, map[string]any, string) { + t.Helper() + var out, errs bytes.Buffer + code := prepare(args, &out, &errs) + var report map[string]any + if err := json.Unmarshal(out.Bytes(), &report); err != nil { + t.Fatalf("not a JSON report: %s / %s", &out, &errs) + } + return code, report, errs.String() } func TestPreparePublishesExactFilesAndReusesCache(t *testing.T) { - f:=newPrepareFixture(t);cache:=filepath.Join(f.root,"cache") - for i,name:=range []string{"first","second"} { - dest:=filepath.Join(f.root,name);code,report,errtext:=runPrepare(t,"--store",f.storage,"--request",f.request,"--dir",dest,"--cache",cache,"model") - if code!=0||report["ready"]!=true {t.Fatalf("not ready: %d %+v %s",code,report,errtext)} - got,err:=os.ReadFile(filepath.Join(dest,"graph.bin"));if err!=nil||!bytes.Equal(got,f.data){t.Fatalf("bad output: %v",err)} - if i==1 {stats:=report["stats"].(map[string]any);if stats["read_bytes"]!=float64(0)||stats["cache_bytes"].(float64)<=0 {t.Fatalf("warm cache unused: %+v",stats)}} - if _,err=os.Lstat(dest+".onggi-lock");!os.IsNotExist(err){t.Fatal("owned lock leaked")} - } + f := newPrepareFixture(t) + cache := filepath.Join(f.root, "cache") + for i, name := range []string{"first", "second"} { + dest := filepath.Join(f.root, name) + code, report, errtext := runPrepare(t, "--store", f.storage, "--request", f.request, "--dir", dest, "--cache", cache, "model") + if code != 0 || report["ready"] != true { + t.Fatalf("not ready: %d %+v %s", code, report, errtext) + } + got, err := os.ReadFile(filepath.Join(dest, "graph.bin")) + if err != nil || !bytes.Equal(got, f.data) { + t.Fatalf("bad output: %v", err) + } + if i == 1 { + stats := report["stats"].(map[string]any) + if stats["read_bytes"] != float64(0) || stats["cache_bytes"].(float64) <= 0 { + t.Fatalf("warm cache unused: %+v", stats) + } + } + if _, err = os.Lstat(dest + ".onggi-lock"); !os.IsNotExist(err) { + t.Fatal("owned lock leaked") + } + } } func TestPrepareNoMatchAndPlanDoNotPrepareFiles(t *testing.T) { - for _,plan:=range []bool{false,true} {t.Run(map[bool]string{false:"mismatch",true:"plan"}[plan],func(t *testing.T){ - f:=newPrepareFixture(t);dest:=filepath.Join(f.root,"output");cache:=filepath.Join(f.root,"cache") - args:=[]string{"--store",f.storage,"--request",f.request,"--dir",dest,"--cache",cache} - if plan {args=append(args,"--plan-only")} else {os.WriteFile(f.request,[]byte(strings.Replace(prepareProfileJSON,`"sequence":256`,`"sequence":512`,1)),0600)} - code,report,_:=runPrepare(t,append(args,"model")...) - if report["ready"]!=false||plan!=(code==0){t.Fatalf("wrong readiness: %d %+v",code,report)} - if !plan {sel:=report["selection"].(map[string]any);if len(sel["rejected"].([]any))!=1 {t.Fatal("no mismatch report")}} - for _,p:=range []string{dest,cache,dest+".onggi-lock"}{if _,err:=os.Lstat(p);!os.IsNotExist(err){t.Fatalf("unexpected write: %s",p)}} - })} + for _, plan := range []bool{false, true} { + t.Run(map[bool]string{false: "mismatch", true: "plan"}[plan], func(t *testing.T) { + f := newPrepareFixture(t) + dest := filepath.Join(f.root, "output") + cache := filepath.Join(f.root, "cache") + args := []string{"--store", f.storage, "--request", f.request, "--dir", dest, "--cache", cache} + if plan { + args = append(args, "--plan-only") + } else { + os.WriteFile(f.request, []byte(strings.Replace(prepareProfileJSON, `"sequence":256`, `"sequence":512`, 1)), 0600) + } + code, report, _ := runPrepare(t, append(args, "model")...) + if report["ready"] != false || plan != (code == 0) { + t.Fatalf("wrong readiness: %d %+v", code, report) + } + if !plan { + sel := report["selection"].(map[string]any) + if len(sel["rejected"].([]any)) != 1 { + t.Fatal("no mismatch report") + } + } + for _, p := range []string{dest, cache, dest + ".onggi-lock"} { + if _, err := os.Lstat(p); !os.IsNotExist(err) { + t.Fatalf("unexpected write: %s", p) + } + } + }) + } } func TestPrepareRefusesExistingAndBusyDestinations(t *testing.T) { - for _,kind:=range []string{"directory","file","symlink","busy"}{t.Run(kind,func(t *testing.T){ - f:=newPrepareFixture(t);dest:=filepath.Join(f.root,"output");sentinel:=filepath.Join(f.root,"sentinel");os.WriteFile(sentinel,[]byte("keep"),0600) - switch kind {case "directory":os.Mkdir(dest,0700);os.WriteFile(filepath.Join(dest,"keep"),[]byte("keep"),0600) - case "file":os.WriteFile(dest,[]byte("keep"),0600) - case "symlink":if err:=os.Symlink(sentinel,dest);err!=nil {t.Skip(err)} - case "busy":os.Mkdir(dest+".onggi-lock",0700);os.WriteFile(filepath.Join(dest+".onggi-lock","owner"),[]byte("other"),0600)} - code,report,_:=runPrepare(t,"--store",f.storage,"--request",f.request,"--dir",dest,"model") - if code==0||report["ready"]!=false {t.Fatal("existing/busy target accepted")} - got,err:=os.ReadFile(sentinel);if err!=nil||string(got)!="keep" {t.Fatal("outside target damaged")} - if kind=="busy" {got,err=os.ReadFile(filepath.Join(dest+".onggi-lock","owner"));if err!=nil||string(got)!="other" {t.Fatal("another owner lock damaged")}} - })} + for _, kind := range []string{"directory", "file", "symlink", "busy"} { + t.Run(kind, func(t *testing.T) { + f := newPrepareFixture(t) + dest := filepath.Join(f.root, "output") + sentinel := filepath.Join(f.root, "sentinel") + os.WriteFile(sentinel, []byte("keep"), 0600) + switch kind { + case "directory": + os.Mkdir(dest, 0700) + os.WriteFile(filepath.Join(dest, "keep"), []byte("keep"), 0600) + case "file": + os.WriteFile(dest, []byte("keep"), 0600) + case "symlink": + if err := os.Symlink(sentinel, dest); err != nil { + t.Skip(err) + } + case "busy": + os.Mkdir(dest+".onggi-lock", 0700) + os.WriteFile(filepath.Join(dest+".onggi-lock", "owner"), []byte("other"), 0600) + } + code, report, _ := runPrepare(t, "--store", f.storage, "--request", f.request, "--dir", dest, "model") + if code == 0 || report["ready"] != false { + t.Fatal("existing/busy target accepted") + } + got, err := os.ReadFile(sentinel) + if err != nil || string(got) != "keep" { + t.Fatal("outside target damaged") + } + if kind == "busy" { + got, err = os.ReadFile(filepath.Join(dest+".onggi-lock", "owner")) + if err != nil || string(got) != "other" { + t.Fatal("another owner lock damaged") + } + } + }) + } } func TestPrepareCorruptPackNeverPublishesAndCleansOwnedTemp(t *testing.T) { - f:=newPrepareFixture(t);packs,err:=filepath.Glob(filepath.Join(f.storage,"packs","*","*"));if err!=nil||len(packs)==0 {t.Fatal("no pack")} - for _,p:=range packs {data,_:=os.ReadFile(p);for i:=range data {data[i]^=0xff};if err=os.WriteFile(p,data,0600);err!=nil {t.Fatal(err)}} - dest:=filepath.Join(f.root,"output");code,report,_:=runPrepare(t,"--store",f.storage,"--request",f.request,"--dir",dest,"model") - if code==0||report["ready"]!=false {t.Fatal("corrupt bytes published")} - for _,p:=range []string{dest,dest+".onggi-lock"}{if _,err=os.Lstat(p);!os.IsNotExist(err){t.Fatalf("partial state: %s",p)}} - leftovers,_:=filepath.Glob(filepath.Join(f.root,".output.onggi-*"));if len(leftovers)!=0 {t.Fatalf("temp leak: %v",leftovers)} + f := newPrepareFixture(t) + packs, err := filepath.Glob(filepath.Join(f.storage, "packs", "*", "*")) + if err != nil || len(packs) == 0 { + t.Fatal("no pack") + } + for _, p := range packs { + data, _ := os.ReadFile(p) + for i := range data { + data[i] ^= 0xff + } + if err = os.WriteFile(p, data, 0600); err != nil { + t.Fatal(err) + } + } + dest := filepath.Join(f.root, "output") + code, report, _ := runPrepare(t, "--store", f.storage, "--request", f.request, "--dir", dest, "model") + if code == 0 || report["ready"] != false { + t.Fatal("corrupt bytes published") + } + for _, p := range []string{dest, dest + ".onggi-lock"} { + if _, err = os.Lstat(p); !os.IsNotExist(err) { + t.Fatalf("partial state: %s", p) + } + } + leftovers, _ := filepath.Glob(filepath.Join(f.root, ".output.onggi-*")) + if len(leftovers) != 0 { + t.Fatalf("temp leak: %v", leftovers) + } } func TestPrepareInvalidRequestNeverOpensBackend(t *testing.T) { - root:=t.TempDir();request:=filepath.Join(root,"request.json");storage:=filepath.Join(root,"store") - os.WriteFile(request,[]byte(`{"sdk":"unknown"}`),0600) - code,report,_:=runPrepare(t,"--store",storage,"--request",request,"--plan-only","model") - if code!=2||report["ready"]!=false {t.Fatalf("bad request accepted: %d %+v",code,report)} - if _,err:=os.Stat(storage);!os.IsNotExist(err){t.Fatal("backend opened on invalid request")} - var out,errs bytes.Buffer - if push([]string{"--store",storage,"--profile",request,root},&out,&errs)!=2 {t.Fatal("invalid published profile accepted")} - if _,err:=os.Stat(storage);!os.IsNotExist(err){t.Fatal("backend opened on invalid push profile")} + root := t.TempDir() + request := filepath.Join(root, "request.json") + storage := filepath.Join(root, "store") + os.WriteFile(request, []byte(`{"sdk":"unknown"}`), 0600) + code, report, _ := runPrepare(t, "--store", storage, "--request", request, "--plan-only", "model") + if code != 2 || report["ready"] != false { + t.Fatalf("bad request accepted: %d %+v", code, report) + } + if _, err := os.Stat(storage); !os.IsNotExist(err) { + t.Fatal("backend opened on invalid request") + } + var out, errs bytes.Buffer + if push([]string{"--store", storage, "--profile", request, root}, &out, &errs) != 2 { + t.Fatal("invalid published profile accepted") + } + if _, err := os.Stat(storage); !os.IsNotExist(err) { + t.Fatal("backend opened on invalid push profile") + } } func TestPrepareSelectedDigestSurvivesRefChange(t *testing.T) { - f:=newPrepareFixture(t);ctx:=context.Background();b,err:=bfs.Open(f.storage,backend.DurabilityNone);if err!=nil{t.Fatal(err)} - s,err:=store.Open(ctx,b,chunker.Default,0);if err!=nil{t.Fatal(err)} - first,err:=store.Resolve(ctx,b,"model");if err!=nil{t.Fatal(err)} - p,err:=store.DecodeProfile(strings.NewReader(prepareProfileJSON));if err!=nil{t.Fatal(err)} - selection,err:=s.Select(ctx,[]digest.Digest{first},p);if err!=nil{t.Fatal(err)} - os.WriteFile(filepath.Join(f.source,"graph.bin"),[]byte("different new ref"),0640) - second,_,err:=s.Push(ctx,f.source,store.PushOptions{Profile:&p});if err!=nil{t.Fatal(err)} - if err=b.SetRef(ctx,"model",first.String(),second.String());err!=nil{t.Fatal(err)} - selected,err:=digest.Parse(selection.Manifest);if err!=nil{t.Fatal(err)} - dest:=filepath.Join(f.root,"selected") - if _,err=prepareFiles(ctx,s,selected,dest,store.PullOptions{});err!=nil{t.Fatal(err)} - got,err:=os.ReadFile(filepath.Join(dest,"graph.bin"));if err!=nil||!bytes.Equal(got,f.data){t.Fatal("mutable ref replaced selected digest")} + f := newPrepareFixture(t) + ctx := context.Background() + b, err := bfs.Open(f.storage, backend.DurabilityNone) + if err != nil { + t.Fatal(err) + } + s, err := store.Open(ctx, b, chunker.Default, 0) + if err != nil { + t.Fatal(err) + } + first, err := store.Resolve(ctx, b, "model") + if err != nil { + t.Fatal(err) + } + p, err := store.DecodeProfile(strings.NewReader(prepareProfileJSON)) + if err != nil { + t.Fatal(err) + } + selection, err := s.Select(ctx, []digest.Digest{first}, p) + if err != nil { + t.Fatal(err) + } + os.WriteFile(filepath.Join(f.source, "graph.bin"), []byte("different new ref"), 0640) + second, _, err := s.Push(ctx, f.source, store.PushOptions{Profile: &p}) + if err != nil { + t.Fatal(err) + } + if err = b.SetRef(ctx, "model", first.String(), second.String()); err != nil { + t.Fatal(err) + } + selected, err := digest.Parse(selection.Manifest) + if err != nil { + t.Fatal(err) + } + dest := filepath.Join(f.root, "selected") + if _, err = prepareFiles(ctx, s, selected, dest, store.PullOptions{}); err != nil { + t.Fatal(err) + } + got, err := os.ReadFile(filepath.Join(dest, "graph.bin")) + if err != nil || !bytes.Equal(got, f.data) { + t.Fatal("mutable ref replaced selected digest") + } } diff --git a/deploy/k8s/prepare-initcontainer.yaml b/deploy/k8s/prepare-initcontainer.yaml new file mode 100644 index 0000000..f930ed0 --- /dev/null +++ b/deploy/k8s/prepare-initcontainer.yaml @@ -0,0 +1,47 @@ +# Replace every <...>; supply request.json as a ConfigMap with the exact target profile. +# This prepares files, not NPU graphs. Use a fresh emptyDir destination and an engine-specific +# device request/readiness probe. Do not deploy this template unchanged. +apiVersion: v1 +kind: Pod +metadata: + name: onggi-compatible-prepare +spec: + nodeSelector: + kubernetes.io/hostname: + initContainers: + - name: prepare-artifact + image: + command: ["onggi", "prepare"] + args: + - --request + - /request/request.json + - --cache + - /cache + - --dir + - /models/ready + - + - + env: + - name: ONGGI_STORE + value: + - name: GOMEMLIMIT + value: 1800MiB + # For S3, provide AWS credentials with secretKeyRef as in pull-initcontainer.yaml. + volumeMounts: + - {name: request, mountPath: /request, readOnly: true} + - {name: cache, mountPath: /cache} + - {name: models, mountPath: /models} + containers: + - name: engine + image: + args: ["--model", "/models/ready"] + # Add the actual runtime's device allocation, graph setup and readiness probe. + volumeMounts: + - {name: models, mountPath: /models, readOnly: true} + volumes: + - name: request + configMap: {name: onggi-artifact-request} + - name: cache + hostPath: {path: /var/lib/onggi/cache, type: DirectoryOrCreate} + - name: models + emptyDir: {} diff --git a/docs/compatible-prepare.md b/docs/compatible-prepare.md new file mode 100644 index 0000000..d3cf568 --- /dev/null +++ b/docs/compatible-prepare.md @@ -0,0 +1,104 @@ +# Select compatible artifacts and prepare files + +[한국어](ko/compatible-prepare.md) + +This is the first P3 integration increment. `onggi prepare` selects among +explicit candidates and prepares verified files before an engine starts. +It works with the existing POSIX/S3 stores, node chunk cache and peers. It does +not compile, discover installed SDKs, infer ABI compatibility, allocate an NPU, +warm a device graph or consume placement/autoscaler events. + +## Publish an explicit profile + +Publish each supported batch/sequence profile with its compiled directory: + +```sh +onggi push --store "$STORE" --profile rngd-b4-s256.json --ref llama/rngd/b4-s256 ./build +``` + +Example profile structure (replace the digests and build identities with actual +values; these illustrative identities are not a hardware compatibility claim): + +```json +{ + "schema": "onggi.profile.v1", + "model_source": "sha256:1111111111111111111111111111111111111111111111111111111111111111", + "options": "sha256:2222222222222222222222222222222222222222222222222222222222222222", + "device": "rngd", + "runtime": "rngd-pd@", + "sdk": "2026.4.0", + "compiler": "", + "firmware": "", + "format": "runnable", + "layout": "", + "topology": "fusion8-mesh2-group2", + "tp": 1, + "batch": 4, + "sequence": 256 +} +``` + +`model_source` identifies an immutable checkpoint file/hash manifest, not a +mutable model name. `options` is the SHA256 of the exact build-options record; +publisher and consumer must use the same canonical file bytes. Include all +relevant options (precision, compiler flags, parallelism, graph grouping, etc.). +Runtime, firmware, layout and topology strings must identify exact builds and +arrangements. An ATOM artifact uses its actual device SKU, rebel/compiler and +firmware identities, immutable runtime build, `rbln` format, actual weight +layout and P/N topology; it does not reuse an RNGD profile or SDK version. +The selector treats identities as opaque exact strings and knows no vendor ABI. + +The manifest's content hash binds this declaration to its file/chunk lists. +Accuracy remains the publisher's responsibility; this is not a signed vendor +attestation. Existing builds without a profile still support ordinary +`push`/`pull`; automatic selection excludes them. No storage-format migration +or duplicate weight bytes are required to add a profiled ref. + +## Select, then prepare + +Create `request.json` with the complete desired profile, in the same schema: + +```sh +onggi prepare --store "$STORE" --request request.json --plan-only \ + llama/rngd/b1-s256 llama/rngd/b4-s256 + +onggi prepare --store "$STORE" --request request.json \ + --cache /var/lib/onggi/cache --dir /models/ready \ + llama/rngd/b1-s256 llama/rngd/b4-s256 +``` + +Every field must match, including exact batch/sequence: larger graphs are not +assumed to support padding. Unknown JSON fields, missing fields, blank/unknown +identities, noncanonical/zero digests and nonpositive dimensions are rejected. +All readable candidates are reported; missing/corrupt manifests fail closed. +For multiple matches, the lexically lowest manifest digest wins, independently +of argument order. Refs resolve once under a GC lease; subsequent ref movement +does not change the selected artifact. For reproducible jobs, supply digests. + +Stdout is a JSON report: `selection` contains the chosen manifest, compatible +digests and rejection reasons; `ready` is true only after verified publication; +`directory` and `stats` describe the published files and cache/store traffic. +Exit status 0 means selection/preparation succeeded; 1 means an operational +failure/no match; 2 means invalid CLI/profile input. Plan-only succeeds with +`ready:false` and does not create destination/cache or fetch model chunks. +Opening a backend follows the existing CLI behavior and can initialize an +empty store; plan-only is not a globally read-only backend operation. + +The destination must be absent. Preparation uses a sibling private temp tree, +hash-checks through the existing pull path, and renames only the completed tree. +A sibling `.onggi-lock` directory excludes cooperating preparers. +Ordinary failures/cancellation remove this call's temp/lock and preserve useful +cache chunks. Existing destinations, symlinks and another preparer's lock are +refused. A process crash can leave temp/lock files; verify the owner is gone +before removing them or choose a fresh destination. There is no automatic +adoption of an existing directory or crash-durable publication guarantee. +File modes remain those of the artifact; arrange engine UID/group accordingly. +Do not share this preparation root with the CSI materializer's managed root. + +The [init-container example](../deploy/k8s/prepare-initcontainer.yaml) gates +engine startup on successful file preparation. The engine still validates its +native artifacts, loads/prepares graphs and reports serving readiness. The +RNGD and ATOM resident-update paths remain separate runtime integrations; +this command does not implement live request draining, variant switching or +device mutation. Cluster-wide discovery, CRDs/compile farm, placement-driven +prefetch and native prewarming remain later P3/P4 work. diff --git a/docs/ko/compatible-prepare.md b/docs/ko/compatible-prepare.md new file mode 100644 index 0000000..d8c6139 --- /dev/null +++ b/docs/ko/compatible-prepare.md @@ -0,0 +1,54 @@ +# 호환 결과물 선택과 파일 사전 준비 + +[English](../compatible-prepare.md) + +P3의 첫 구현입니다. `onggi prepare`는 지정한 후보에서 조건이 정확히 일치하는 +결과물을 골라 엔진 시작 전에 파일을 준비합니다. 기존 POSIX/S3, 노드 청크 캐시, +peer 경로를 재사용합니다. 자동 컴파일·SDK 탐색·NPU 그래프 예열은 포함하지 않습니다. + +```sh +onggi push --store "$STORE" --profile profile.json --ref llama/rngd/b4-s256 ./build +onggi prepare --store "$STORE" --request request.json --plan-only \ + llama/rngd/b1-s256 llama/rngd/b4-s256 +onggi prepare --store "$STORE" --request request.json \ + --cache /var/lib/onggi/cache --dir /models/ready \ + llama/rngd/b1-s256 llama/rngd/b4-s256 +``` + +`profile.json`과 `request.json`은 동일한 `onggi.profile.v1` 구조입니다. +[전체 예제와 필드 설명](../compatible-prepare.md#publish-an-explicit-profile)을 참고하세요. +모델 원본·빌드 옵션의 정규 SHA256 해시, 장치, 런타임 빌드, SDK·컴파일러·펌웨어, +파일 형식, 가중치 배치 방식, 토폴로지, TP, 배치, 시퀀스 길이를 모두 명시해야 합니다. +원본 해시는 변경 불가능한 체크포인트 파일·해시 목록을 식별하며, 옵션 해시는 게시자와 +소비자가 합의한 정확한 옵션 기록 바이트의 해시입니다. 예제의 해시·빌드 식별자는 +실제 값으로 바꿔야 합니다. ATOM은 실제 ATOM 장치·rebel·펌웨어·런타임, rbln 형식, +가중치 배치와 P/N 토폴로지를 사용하며 RNGD 프로필을 공유하지 않습니다. + +어느 필드든 다르면 제외하며 이유를 JSON으로 반환합니다. 큰 배치나 길이의 그래프에 +패딩할 수 있다고 추측하지 않습니다. 누락·오타 필드, 빈 값·unknown, 0/비정규 해시, +양수가 아닌 차원은 거부합니다. 선언은 매니페스트 해시로 파일에 결합되지만, 실제 +정확성은 게시자가 책임집니다. 벤더 ABI 인증이나 서명된 보증은 아닙니다. +기존 프로필 없는 결과물은 일반 push/pull은 되며 자동 선택에서만 제외됩니다. + +여러 후보가 일치하면 매니페스트 해시의 사전순으로 고릅니다. 후보 ref는 GC lease +안에서 한 번만 해석하며, 이후 ref가 바뀌어도 선택한 해시를 복원합니다. 없는 결과물이나 +손상된 매니페스트를 조용히 건너뛰지는 않습니다. 재현 가능한 작업에는 해시를 넘기세요. + +표준 출력은 JSON이며 `selection`에 선택·제외 이유, `ready`에 준비 결과가 담깁니다. +종료 코드 0은 성공, 1은 일치 후보 없음/운영 오류, 2는 잘못된 입력입니다. +`--plan-only`는 `ready:false`로 선택만 확인하며 모델 청크·대상 폴더·캐시를 준비하지 +않습니다. 백엔드를 여는 동작은 기존 CLI와 같아 빈 저장소를 초기화할 수 있습니다. + +대상 경로는 없어야 합니다. 형제 임시 디렉터리에서 청크 해시를 검증하고 전체 파일이 +완성된 뒤 rename으로 게시합니다. `<대상>.onggi-lock`으로 같은 대상을 준비하는 +프로세스를 막습니다. 일반 오류·취소에는 자신이 만든 임시 폴더·잠금만 정리하고 +캐시 청크는 남깁니다. 기존 대상·심볼릭 링크·다른 작업의 잠금은 거부합니다. +프로세스가 강제 종료되면 잠금·임시 파일이 남을 수 있으므로 소유 프로세스가 없는지 +확인한 뒤 정리하거나 새 경로를 사용하세요. 기존 디렉터리 자동 채택 및 크래시 후 +디스크 영속성 보장은 없습니다. 파일 권한은 원본을 유지하므로 엔진 UID/그룹을 맞추고, +CSI가 관리하는 루트와 준비 디렉터리를 공유하지 마세요. + +[init-container 예제](../../deploy/k8s/prepare-initcontainer.yaml)는 이 명령 성공 후 +엔진을 시작합니다. `ready:true`는 **검증된 파일 준비 완료**이며 NPU 서빙 준비와 +다릅니다. 엔진의 SDK·그래프 검증/적재·readiness는 이어서 수행해야 합니다. +클러스터 후보 탐색, CRD·컴파일 팜, 배치·확장 신호 연동과 NPU 예열은 후속 작업입니다. diff --git a/docs/superpowers/plans/2026-10-30-compatible-prepare.md b/docs/superpowers/plans/2026-10-30-compatible-prepare.md index 1eb28f8..e39b5f4 100644 --- a/docs/superpowers/plans/2026-10-30-compatible-prepare.md +++ b/docs/superpowers/plans/2026-10-30-compatible-prepare.md @@ -25,11 +25,11 @@ cmd/onggi/{store.go,prepare_test.go}. Interfaces: Profile.Validate/DecodeProfile, Store.Select(ctx, []digest.Digest, Profile) -> Selection/error; Manifest.Profile, PushOptions.Profile; push --profile. -- [ ] Verify clean Linux baseline on an owned CPU work directory. -- [ ] RED: exact identity matching, legacy exclusion, invalid profile/JSON, +- [x] Verify clean Linux baseline on an owned CPU work directory. +- [x] RED: exact identity matching, legacy exclusion, invalid profile/JSON, deterministic candidate choice, bad-manifest fail closed, profile roundtrip. -- [ ] Implement bounded metadata validation, optional profile and selection. -- [ ] GREEN focused tests, full suite, commit with validation ledger. +- [x] Implement bounded metadata validation, optional profile and selection. +- [x] GREEN focused tests, full suite, commit with validation ledger. ## Task 2: Atomic CLI preparation and operator documentation @@ -37,12 +37,12 @@ Files: cmd/onggi/{prepare.go,prepare_test.go,main.go}; README.md/README.ko.md; docs/{compatible-prepare.md,ko/compatible-prepare.md}; deploy/k8s example. Interface: prepare CLI per spec, always JSON report; request shares Profile v1. -- [ ] RED: candidate selection/immutable digest, no-match/no cache writes, +- [x] RED: candidate selection/immutable digest, no-match/no cache writes, plan-only, hash corruption/cleanup, existing/busy/symlink destinations, strict profile errors, byte-identical pull and warm node cache reuse. -- [ ] Implement prepare via existing Pull/Cache/Peers, sibling temp+mkdir lock, +- [x] Implement prepare via existing Pull/Cache/Peers, sibling temp+mkdir lock, store GC lease and atomic rename; never use shared CSI Materializer.Init. -- [ ] GREEN focused tests, full race/vet/build; bilingual docs and examples. +- [x] GREEN focused tests, full race/vet/build; bilingual docs and examples. - [ ] One independent branch review, fix important findings with RED->GREEN. - [ ] Commit/push draft PR, verify exact-head CI, record final gate in PR. @@ -54,3 +54,23 @@ Interface: prepare CLI per spec, always JSON report; request shares Profile v1. This avoids inventing cross-repo contracts or guessing vendor compatibility. - Ruling: strict exact B/S means callers must publish each supported profile; padding/bucketing is only safe when the runtime explicitly supports it. +- Baseline Linux `go test ./...` passed on clean 69033a1. Owned CPU-only + work directory and existing private Go1.27.3 toolchain, GOMAXPROCS4; no NPU, + shared SDK or driver operations. New GOPATH/GOCACHE isolate this work. +- Task1 RED at56f6865: missing Profile/Select/PushOptions fields. GREEN at + c46041a: every exact identity field, legacy ordinary pull, missing manifest, + deterministic/deduplicated matches, strict incomplete/unknown JSON and + push roundtrip pass. Profile validation precedes push data/lease operations. +- Task2 RED ateb1862f: missing prepare/prepareFiles. GREEN at1d050e5 + (gofmt only afterwards): real CLI publication/restoration byte equality, + second pull cache reads with zero store bytes, plan/no-match no target/cache, + existing/file/symlink/busy refusal, corruption cleanup and selected digest + preserved after actual ref CAS change. Profile errors precede backend open. +- Full Linux `go test -race -json ./...`:148 test/subtest pass events, no failed + tests/packages. `go vet ./...` and Linux CLI build passed. Live S3 conformance + is skipped locally without servers; final CI runs both actual S3 backends + plus the new profile/prepare/cache CLI workflow before publication completes. +- Ruling: preserve artifact file permissions, refuse existing destinations + rather than silently trusting them; process-crash temp/lock recovery remains + explicit and documented. This costs manual recovery/new destination on a + crash, and avoids treating an unverified existing directory as ready. diff --git a/pkg/store/profile.go b/pkg/store/profile.go index a9f765f..1a635f9 100644 --- a/pkg/store/profile.go +++ b/pkg/store/profile.go @@ -1,110 +1,151 @@ package store import ( - "bytes" - "context" - "encoding/json" - "errors" - "fmt" - "io" - "sort" - "strings" - "unicode" + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "sort" + "strings" + "unicode" - "github.com/ai-computing/onggi/pkg/digest" + "github.com/ai-computing/onggi/pkg/digest" ) // Profile is a publisher's exact compatibility declaration, bound to artifact files by the manifest. // It does not attest vendor ABI compatibility or permit shape padding. type Profile struct { - Schema string `json:"schema"` - ModelSource string `json:"model_source"` - Options string `json:"options"` - Device string `json:"device"` - Runtime string `json:"runtime"` - SDK string `json:"sdk"` - Compiler string `json:"compiler"` - Firmware string `json:"firmware"` - Format string `json:"format"` - Layout string `json:"layout"` - Topology string `json:"topology"` - TP int `json:"tp"` - Batch int `json:"batch"` - Sequence int `json:"sequence"` + Schema string `json:"schema"` + ModelSource string `json:"model_source"` + Options string `json:"options"` + Device string `json:"device"` + Runtime string `json:"runtime"` + SDK string `json:"sdk"` + Compiler string `json:"compiler"` + Firmware string `json:"firmware"` + Format string `json:"format"` + Layout string `json:"layout"` + Topology string `json:"topology"` + TP int `json:"tp"` + Batch int `json:"batch"` + Sequence int `json:"sequence"` } func (p Profile) Validate() error { - if p.Schema!="onggi.profile.v1" {return fmt.Errorf("profile: unknown schema %q",p.Schema)} - for name,value:=range map[string]string{"model_source":p.ModelSource,"options":p.Options} { - d,err:=digest.Parse(value) - if err!=nil||d.IsZero()||d.String()!=value {return fmt.Errorf("profile %s: want canonical nonzero sha256 digest",name)} - } - for name,value:=range map[string]string{"device":p.Device,"runtime":p.Runtime,"sdk":p.SDK,"compiler":p.Compiler,"firmware":p.Firmware,"format":p.Format,"layout":p.Layout,"topology":p.Topology} { - if value==""||strings.TrimSpace(value)!=value||value=="*"||strings.EqualFold(value,"unknown")||strings.IndexFunc(value,unicode.IsControl)>=0 {return fmt.Errorf("profile %s: want explicit nonblank identity",name)} - } - if p.TP<1||p.Batch<1||p.Sequence<1 {return errors.New("profile: tp, batch and sequence must be positive integers")} - return nil + if p.Schema != "onggi.profile.v1" { + return fmt.Errorf("profile: unknown schema %q", p.Schema) + } + for name, value := range map[string]string{"model_source": p.ModelSource, "options": p.Options} { + d, err := digest.Parse(value) + if err != nil || d.IsZero() || d.String() != value { + return fmt.Errorf("profile %s: want canonical nonzero sha256 digest", name) + } + } + for name, value := range map[string]string{"device": p.Device, "runtime": p.Runtime, "sdk": p.SDK, "compiler": p.Compiler, "firmware": p.Firmware, "format": p.Format, "layout": p.Layout, "topology": p.Topology} { + if value == "" || strings.TrimSpace(value) != value || value == "*" || strings.EqualFold(value, "unknown") || strings.IndexFunc(value, unicode.IsControl) >= 0 { + return fmt.Errorf("profile %s: want explicit nonblank identity", name) + } + } + if p.TP < 1 || p.Batch < 1 || p.Sequence < 1 { + return errors.New("profile: tp, batch and sequence must be positive integers") + } + return nil } // UnmarshalJSON also validates profiles embedded in manifests, rejecting future/typo fields. func (p *Profile) UnmarshalJSON(data []byte) error { - type plain Profile - var v plain - dec:=json.NewDecoder(bytes.NewReader(data));dec.DisallowUnknownFields() - if err:=dec.Decode(&v);err!=nil {return fmt.Errorf("profile: %w",err)} - if err:=Profile(v).Validate();err!=nil {return err} - *p=Profile(v) - return nil + type plain Profile + var v plain + dec := json.NewDecoder(bytes.NewReader(data)) + dec.DisallowUnknownFields() + if err := dec.Decode(&v); err != nil { + return fmt.Errorf("profile: %w", err) + } + if err := Profile(v).Validate(); err != nil { + return err + } + *p = Profile(v) + return nil } // DecodeProfile reads one bounded JSON object with no trailing content. -func DecodeProfile(r io.Reader) (Profile,error) { - var p Profile - data,err:=io.ReadAll(io.LimitReader(r,(64<<10)+1)) - if err!=nil {return p,err} - if len(data)>64<<10 {return p,errors.New("profile exceeds 64 KiB")} - err=json.Unmarshal(data,&p) - return p,err +func DecodeProfile(r io.Reader) (Profile, error) { + var p Profile + data, err := io.ReadAll(io.LimitReader(r, (64<<10)+1)) + if err != nil { + return p, err + } + if len(data) > 64<<10 { + return p, errors.New("profile exceeds 64 KiB") + } + err = json.Unmarshal(data, &p) + return p, err } type Rejection struct { - Manifest string `json:"manifest"` - Reasons []string `json:"reasons"` + Manifest string `json:"manifest"` + Reasons []string `json:"reasons"` } type Selection struct { - Manifest string `json:"manifest,omitempty"` - Profile Profile `json:"profile"` - Compatible []string `json:"compatible"` - Rejected []Rejection `json:"rejected"` + Manifest string `json:"manifest,omitempty"` + Profile Profile `json:"profile"` + Compatible []string `json:"compatible"` + Rejected []Rejection `json:"rejected"` } -var ErrNoCompatible=errors.New("no compatible artifact") +var ErrNoCompatible = errors.New("no compatible artifact") // Select checks every supplied manifest and deterministically chooses the lowest matching digest. // Callers protect mutable ref resolution and subsequent use with a store GC lease. -func (s *Store) Select(ctx context.Context,candidates []digest.Digest,want Profile) (Selection,error) { - result:=Selection{Profile:want,Compatible:[]string{},Rejected:[]Rejection{}} - if err:=want.Validate();err!=nil {return result,err} - unique:=map[digest.Digest]bool{} - ds:=append([]digest.Digest(nil),candidates...) - sort.Slice(ds,func(i,j int)bool{return ds[i].String() Date: Fri, 30 Oct 2026 13:40:34 +0900 Subject: [PATCH 19/23] test: reproduce preparation staging and locator boundary findings --- cmd/onggi/prepare_test.go | 26 ++++++++++++++++++++++++ pkg/store/pull_boundary_test.go | 35 +++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 pkg/store/pull_boundary_test.go diff --git a/cmd/onggi/prepare_test.go b/cmd/onggi/prepare_test.go index df21176..1ea372f 100644 --- a/cmd/onggi/prepare_test.go +++ b/cmd/onggi/prepare_test.go @@ -4,9 +4,12 @@ import ( "bytes" "context" "encoding/json" + "fmt" + "io" "os" "path/filepath" "strings" + "sync/atomic" "testing" "github.com/ai-computing/onggi/pkg/backend" @@ -23,6 +26,29 @@ type prepareFixture struct { data []byte } +type inspectPrepareBackend struct { + backend.Backend + inspect func() error +} + +func (b inspectPrepareBackend) Get(ctx context.Context,k backend.Key,off,n int64)(io.ReadCloser,error) { + if k.Kind==backend.Pack {if err:=b.inspect();err!=nil {return nil,err}} + return b.Backend.Get(ctx,k,off,n) +} + +func TestPrepareTreePrivateDuringBackendRead(t *testing.T) { + f:=newPrepareFixture(t);ctx:=context.Background();b,err:=bfs.Open(f.storage,backend.DurabilityNone);if err!=nil {t.Fatal(err)} + var inspected atomic.Bool + wrapped:=inspectPrepareBackend{b,func()error { + inspected.Store(true);paths,err:=filepath.Glob(filepath.Join(f.root,".output.onggi-*"));if err!=nil||len(paths)!=1{return fmt.Errorf("missing staging root: %v",paths)} + info,err:=os.Stat(paths[0]);if err!=nil{return err};if info.Mode().Perm()&0077!=0{return fmt.Errorf("restricted files exposed through staging mode %o",info.Mode().Perm())};return nil + }} + s,err:=store.Open(ctx,wrapped,chunker.Default,0);if err!=nil{t.Fatal(err)};d,err:=store.Resolve(ctx,b,"model");if err!=nil{t.Fatal(err)} + dest:=filepath.Join(f.root,"output");if _,err=prepareFiles(ctx,s,d,dest,store.PullOptions{});err!=nil{t.Fatal(err)} + if !inspected.Load(){t.Fatal("backend read not inspected")} + got,err:=os.ReadFile(filepath.Join(dest,"graph.bin"));if err!=nil||!bytes.Equal(got,f.data){t.Fatal("output changed")} +} + func newPrepareFixture(t *testing.T) prepareFixture { t.Helper() root := t.TempDir() diff --git a/pkg/store/pull_boundary_test.go b/pkg/store/pull_boundary_test.go new file mode 100644 index 0000000..ea98f17 --- /dev/null +++ b/pkg/store/pull_boundary_test.go @@ -0,0 +1,35 @@ +package store + +import ( + "bytes" + "context" + "encoding/binary" + "encoding/json" + "path/filepath" + "testing" + + "github.com/ai-computing/onggi/pkg/backend" + "github.com/ai-computing/onggi/pkg/digest" +) + +func TestPullPreservesPartialSuffixFilesInReverseManifestOrder(t *testing.T) { + s:=openStore(t,t.TempDir());src:=t.TempDir();ctx:=context.Background();p:=testProfile() + write(t,filepath.Join(src,"a"),[]byte("first file"));write(t,filepath.Join(src,"a.onggi-partial"),[]byte("different second file")) + d,_,err:=s.Push(ctx,src,PushOptions{Profile:&p});if err!=nil {t.Fatal(err)} + m,err:=s.ReadManifest(ctx,d);if err!=nil {t.Fatal(err)} + if len(m.Files)!=2 {t.Fatal("wrong fixture")};m.Files[0],m.Files[1]=m.Files[1],m.Files[0];m.Locator=nil + data,_:=json.Marshal(m);d=digest.Of(data) + if err=s.B.Put(ctx,backend.Key{Kind:backend.Manifest,Name:d.Hex()},bytes.NewReader(data),int64(len(data)));err!=nil{t.Fatal(err)} + out:=t.TempDir();if _,err=s.Pull(ctx,d,out,PullOptions{});err!=nil{t.Fatal(err)} + sameTree(t,src,out) +} + +func TestLocatorCountRefusesAllocationAfterInvalidCount(t *testing.T) { + data:=make([]byte,4);binary.LittleEndian.PutUint32(data,^uint32(0)) + for _,min:=range []int{4,32,41} { + r:=reader{p:data};if n:=r.count(min);n!=0||r.err==nil {t.Fatalf("unsafe allocation count=%d, min=%d, err=%v",n,min,r.err)} + } + // A bounded malformed locator exercises the decoder without a dangerous allocation. + malformed:=append([]byte("ONGGILC1"),100,0,0,0) + if _,_,err:=readLocator(malformed,&Manifest{});err==nil {t.Fatal("truncated locator accepted")} +} From c7e39104aca4547350624c681ab40e27a73d9635 Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 13:41:31 +0900 Subject: [PATCH 20/23] fix: protect preparation staging and validate locator counts --- cmd/onggi/prepare.go | 6 +++--- pkg/store/locator.go | 3 +++ pkg/store/pull.go | 35 ++++++++++++++++++++++++++++------- 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/cmd/onggi/prepare.go b/cmd/onggi/prepare.go index 88ba3b8..3b69a33 100644 --- a/cmd/onggi/prepare.go +++ b/cmd/onggi/prepare.go @@ -141,9 +141,6 @@ func prepareFiles(ctx context.Context, s *store.Store, d digest.Digest, dest str return st, err } defer os.RemoveAll(tmp) - if err = os.Chmod(tmp, 0755); err != nil { - return st, err - } st, err = s.Pull(ctx, d, tmp, o) if err != nil { return st, err @@ -151,6 +148,9 @@ func prepareFiles(ctx context.Context, s *store.Store, d digest.Digest, dest str if err = ctx.Err(); err != nil { return st, err } + if err = os.Chmod(tmp, 0755); err != nil { + return st, err + } if _, err = os.Lstat(dest); !errors.Is(err, os.ErrNotExist) { if err == nil { err = errors.New("destination appeared during preparation") diff --git a/pkg/store/locator.go b/pkg/store/locator.go index 18c1179..e52b6e5 100644 --- a/pkg/store/locator.go +++ b/pkg/store/locator.go @@ -192,6 +192,9 @@ func (r *reader) count(min int) int { if r.err == nil && uint64(n)*uint64(min) > uint64(len(r.p)) { r.err = errors.New("locator: count exceeds the data") } + if r.err != nil { + return 0 + } return int(n) } diff --git a/pkg/store/pull.go b/pkg/store/pull.go index a90931d..f9df439 100644 --- a/pkg/store/pull.go +++ b/pkg/store/pull.go @@ -113,6 +113,21 @@ func (s *Store) Pull(ctx context.Context, manifest digest.Digest, dest string, o // open every file under a temporary name, sized up front handles := make([]*os.File, len(m.Files)) finals := make([]string, len(m.Files)) + reserved := map[string]bool{} + names := map[string]bool{} + for i, f := range m.Files { + p, err := safeJoin(dest, f.Path) + if err != nil { + return st, err + } + if names[p] { + return st, fmt.Errorf("duplicate file path %q in manifest", f.Path) + } + names[p], finals[i] = true, p + for q := p; q != filepath.Clean(dest); q = filepath.Dir(q) { + reserved[q] = true + } + } defer func() { for _, h := range handles { if h != nil { @@ -122,16 +137,22 @@ func (s *Store) Pull(ctx context.Context, manifest digest.Digest, dest string, o } }() for i, f := range m.Files { - p, err := safeJoin(dest, f.Path) - if err != nil { - return st, err - } + p := finals[i] if err := os.MkdirAll(filepath.Dir(p), 0o755); err != nil { return st, err } - h, err := os.Create(p + ".onggi-partial") - if err != nil { - return st, err + var h *os.File + for { + var err error + h, err = os.CreateTemp(filepath.Dir(p), ".onggi-partial-*") + if err != nil { + return st, err + } + if !reserved[h.Name()] { + break + } + h.Close() + os.Remove(h.Name()) } handles[i], finals[i] = h, p if err := h.Truncate(f.Size); err != nil { From db82b4c8f2dcec61c32eae531c6006fcf96cfbeb Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 13:45:33 +0900 Subject: [PATCH 21/23] docs: record review regressions and compatible preparation validation --- cmd/onggi/prepare_test.go | 57 ++++-- docs/compatible-prepare.md | 8 + docs/data/compatible-prepare-20261030.json | 164 ++++++++++++++++++ docs/ko/compatible-prepare.md | 6 + .../plans/2026-10-30-compatible-prepare.md | 35 +++- pkg/store/pull_boundary_test.go | 74 +++++--- 6 files changed, 307 insertions(+), 37 deletions(-) create mode 100644 docs/data/compatible-prepare-20261030.json diff --git a/cmd/onggi/prepare_test.go b/cmd/onggi/prepare_test.go index 1ea372f..de43765 100644 --- a/cmd/onggi/prepare_test.go +++ b/cmd/onggi/prepare_test.go @@ -31,22 +31,57 @@ type inspectPrepareBackend struct { inspect func() error } -func (b inspectPrepareBackend) Get(ctx context.Context,k backend.Key,off,n int64)(io.ReadCloser,error) { - if k.Kind==backend.Pack {if err:=b.inspect();err!=nil {return nil,err}} - return b.Backend.Get(ctx,k,off,n) +func (b inspectPrepareBackend) Get(ctx context.Context, k backend.Key, off, n int64) (io.ReadCloser, error) { + if k.Kind == backend.Pack { + if err := b.inspect(); err != nil { + return nil, err + } + } + return b.Backend.Get(ctx, k, off, n) } func TestPrepareTreePrivateDuringBackendRead(t *testing.T) { - f:=newPrepareFixture(t);ctx:=context.Background();b,err:=bfs.Open(f.storage,backend.DurabilityNone);if err!=nil {t.Fatal(err)} + f := newPrepareFixture(t) + ctx := context.Background() + b, err := bfs.Open(f.storage, backend.DurabilityNone) + if err != nil { + t.Fatal(err) + } var inspected atomic.Bool - wrapped:=inspectPrepareBackend{b,func()error { - inspected.Store(true);paths,err:=filepath.Glob(filepath.Join(f.root,".output.onggi-*"));if err!=nil||len(paths)!=1{return fmt.Errorf("missing staging root: %v",paths)} - info,err:=os.Stat(paths[0]);if err!=nil{return err};if info.Mode().Perm()&0077!=0{return fmt.Errorf("restricted files exposed through staging mode %o",info.Mode().Perm())};return nil + wrapped := inspectPrepareBackend{b, func() error { + inspected.Store(true) + paths, err := filepath.Glob(filepath.Join(f.root, ".output.onggi-*")) + if err != nil || len(paths) != 1 { + return fmt.Errorf("missing staging root: %v", paths) + } + info, err := os.Stat(paths[0]) + if err != nil { + return err + } + if info.Mode().Perm()&0077 != 0 { + return fmt.Errorf("restricted files exposed through staging mode %o", info.Mode().Perm()) + } + return nil }} - s,err:=store.Open(ctx,wrapped,chunker.Default,0);if err!=nil{t.Fatal(err)};d,err:=store.Resolve(ctx,b,"model");if err!=nil{t.Fatal(err)} - dest:=filepath.Join(f.root,"output");if _,err=prepareFiles(ctx,s,d,dest,store.PullOptions{});err!=nil{t.Fatal(err)} - if !inspected.Load(){t.Fatal("backend read not inspected")} - got,err:=os.ReadFile(filepath.Join(dest,"graph.bin"));if err!=nil||!bytes.Equal(got,f.data){t.Fatal("output changed")} + s, err := store.Open(ctx, wrapped, chunker.Default, 0) + if err != nil { + t.Fatal(err) + } + d, err := store.Resolve(ctx, b, "model") + if err != nil { + t.Fatal(err) + } + dest := filepath.Join(f.root, "output") + if _, err = prepareFiles(ctx, s, d, dest, store.PullOptions{}); err != nil { + t.Fatal(err) + } + if !inspected.Load() { + t.Fatal("backend read not inspected") + } + got, err := os.ReadFile(filepath.Join(dest, "graph.bin")) + if err != nil || !bytes.Equal(got, f.data) { + t.Fatal("output changed") + } } func newPrepareFixture(t *testing.T) prepareFixture { diff --git a/docs/compatible-prepare.md b/docs/compatible-prepare.md index d3cf568..f7d4eda 100644 --- a/docs/compatible-prepare.md +++ b/docs/compatible-prepare.md @@ -74,6 +74,10 @@ All readable candidates are reported; missing/corrupt manifests fail closed. For multiple matches, the lexically lowest manifest digest wins, independently of argument order. Refs resolve once under a GC lease; subsequent ref movement does not change the selected artifact. For reproducible jobs, supply digests. +This reuses the existing GC lease protocol (default TTL 24 hours), not a new +reader/writer lock. Strong exclusion of a sweep already in progress is not +established by this increment; retain immutable refs and coordinate GC during +critical preparation jobs. Stdout is a JSON report: `selection` contains the chosen manifest, compatible digests and rejection reasons; `ready` is true only after verified publication; @@ -102,3 +106,7 @@ RNGD and ATOM resident-update paths remain separate runtime integrations; this command does not implement live request draining, variant switching or device mutation. Cluster-wide discovery, CRDs/compile farm, placement-driven prefetch and native prewarming remain later P3/P4 work. + +[CPU validation and source hashes](data/compatible-prepare-20261030.json) record +the complete race suite, source-byte checks and three reproduced review fixes. +Final publication-head Go and live S3 CI links are recorded in the PR. diff --git a/docs/data/compatible-prepare-20261030.json b/docs/data/compatible-prepare-20261030.json new file mode 100644 index 0000000..3d55829 --- /dev/null +++ b/docs/data/compatible-prepare-20261030.json @@ -0,0 +1,164 @@ +{ + "schema": 1, + "scope": "Linux CPU file compatibility/preparation; synthetic fixture identities; no NPU or serving latency claim. Live S3 tested separately by final CI.", + "go": "go1.27.3 linux/amd64", + "GOMAXPROCS": 4, + "suite": { + "results": [ + { + "name": "race", + "exit": 0 + }, + { + "name": "vet", + "exit": 0 + }, + { + "name": "build", + "exit": 0 + } + ], + "all_passed": true, + "source_sha256": { + "cmd/onggi/csi.go": "9688f4fff880eda15c1a6d1ab994c3517027768a71b5e7df4086f31027157981", + "cmd/onggi/gc.go": "1ab034dc630233352ed80eca966989f9551f883e343d71241598a7dbe72592ad", + "cmd/onggi/main.go": "6103bb09c48e0f7a85b3d32e7b0f42ebe7901d78a74400ed96d62a33887c6bc6", + "cmd/onggi/main_test.go": "96323fa1efd223ab0f4ea0efbdc6a354c0ae1f3465408d3e9b4519b38b519c5c", + "cmd/onggi/memprof.go": "2e05bf5d01e3a358c9137498cd271fb30fe2d3102be65c95861fa17ea8d64dbf", + "cmd/onggi/peer.go": "8a9b9c7619d28a937baf1e7360bee6531d6dc2c08aeada4e9c591bd705c7c7ea", + "cmd/onggi/prepare.go": "2898c805c0f988e73136bf85750312f795224ff96f8ff8b941bb920fd1af64d7", + "cmd/onggi/prepare_test.go": "c9478d1eff5bed15687935c3652286c3f7f157a8fbf93bbf8de7e5899941a7a1", + "cmd/onggi/store.go": "e7a6b79535bc6ff0fa6da8ce3f80c197ac40c601ff98c84db8aa38e0191e0002", + "cmd/onggi/store_test.go": "fd3631a8b84acee849359774a600aabf180eeeb04030f8b7a8640d2df70339cf", + "go.mod": "f06368208efee087dddf223039cff81effec3f7f775adf68ef6f5519a980e6fb", + "go.sum": "eb8a42395d593bf8c28a4a93f81cddb67f42750faece7f36efe48fb7a36c6466", + "pkg/backend/backend.go": "b7cbb4be1fe432f9b12754bd50b4f1081e2dc2a23ba0080ff9580bc0872ad752", + "pkg/backend/backendtest/suite.go": "6f40cf54976be76aa7324394bd25dfbb8ddc4e0103113ba965c8d02281cc7bbd", + "pkg/backend/fs/fs.go": "a8c65dbb52417937ae92ce740bdb9b64ab9bb5a529970c2d717224d5b2ec7ee6", + "pkg/backend/fs/fs_test.go": "432f86961d43023ae4b493fd542b204b2f5c359d3c48ae55968bc133196c25c5", + "pkg/backend/s3/s3.go": "cd95a91dda3e12cb091ced6556c5c07dc7e00980edb195e511744fe9015c8c0f", + "pkg/backend/s3/s3_test.go": "8350a6d257a37fcf8905f0148548dd52d497071179e9f3b2b8f170ee5762a71a", + "pkg/chunker/chunker_test.go": "8c1e9e618e36ce0ac2e3f0ac0a2f1103d6c5733805acedd627a31d2261161340", + "pkg/chunker/fastcdc.go": "f4a71a924c115d0049a6c8f916e888f481d2296ff332d985dd6ac67f3a9e9d80", + "pkg/chunker/gear.go": "8c3a97f488e1b90bd8dc67a7a6e59de75c4ba479027d6cd4878b71fbd019da01", + "pkg/codec/codec.go": "b16f5c3f6cbd4d51822d129cbd244926aeda0650250bd83909f12d4f43fcd796", + "pkg/codec/codec_test.go": "d824f42cb113e6a48efed9b6842142571ca0e130ae333d84d6b82c87174ff32c", + "pkg/csi/acquire_failure_test.go": "790d2cb4cfaff75d384e5a80f3a4b718f30743041f639c59d4d1aa1d808410aa", + "pkg/csi/evict.go": "3d8719ab9e056e54b145d7b999197a09d05370f0ae7829a666f7204df31c5734", + "pkg/csi/evict_test.go": "bfd3539fcc117e2a1b104cfaab4cc0dafe06fdce86f0e47c49bb7005fc33b108", + "pkg/csi/materializer.go": "93c5d2835a321b8e02094a85775c371bafcd2e29b74dfcd8d78aad464f958f6e", + "pkg/csi/materializer_test.go": "84bd356a6c4422aaf64fae056f397bf86b9e2eac04023374b1075f19704f9409", + "pkg/csi/mount.go": "6a7df2e876a03577b49ec27d71b8592a73b7fd57087d7ad7f96723b7a54a7c17", + "pkg/csi/mount_integration_linux_test.go": "aef9cbaa5ef239ff822019a01f67b8286ba5e37ee0b6a953686d654e7dd3d297", + "pkg/csi/mount_linux.go": "48625654cd47a587f8ab731017f713264dade79954e4af8f5d7a41283619e50e", + "pkg/csi/mount_other.go": "073f9e964c326fa8be8d1403baebd728143669e686a2a0fc7be64144be6a9940", + "pkg/csi/mount_test.go": "629c2afdc46f1612b13888c3365333e3d1d157c5d69760c06ce37d8d1d892875", + "pkg/csi/pull_limit_test.go": "1af7f315462014b76adbc6db885029a4c99cbb1cd77a42645bd20feaced945df", + "pkg/csi/rebase_test.go": "3c3d9853f0f01cfa5b7c3c1f09e89053653a5b650f6590b384ba8221ce8422b6", + "pkg/csi/server.go": "9e6f096ee542c8d3d341673d39457d8f997ae525d38a9337f5acbea9a0737339", + "pkg/csi/server_test.go": "e46076f7cec0f80a9c2aff00349eb928f4ea21bf0242770289be22332c23f78d", + "pkg/dedup/report.go": "676a145bc4504b6e1c8b24ae244c447b0f3c2f61202d71e5889398a2414620db", + "pkg/dedup/report_test.go": "5b8f85886a14395a5173c5009c99b50ccf6d809a76e74437dd10ef61ccfb4c31", + "pkg/digest/digest.go": "6aa79c7bde9758ff165449d8718195b68041230256b0fb58776be76718037244", + "pkg/layout/layout.go": "84ad06189434722b8922f44b4372478500e89788aec30b4ffdc5d770ba0a05a9", + "pkg/layout/layout_test.go": "37eb17a2843e6591a4eca3b5024e8762e7c95812a77b5259da68409a2a808584", + "pkg/peer/discovery.go": "b2705b4b89c7acafc79647f72847cf3cfb73bf29cf31e44193f71ad5e2cabb62", + "pkg/peer/discovery_test.go": "8355f5254f07443800613818e200eb94d2a684e0195f35b3c1e3887aab600120", + "pkg/peer/peer.go": "2e75fbe429d43330ae47059918757cb12e216282db734e577599346ac1312690", + "pkg/peer/peer_test.go": "d167eef334ffa944b76125c7a2f9fd01b2331c7a7d3d15a31ee8f53c13e6556a", + "pkg/store/cache.go": "e47630e0becd8c91c61fe3cc3fbb78945a4b961014b30b9258bc514465b6875f", + "pkg/store/cache_test.go": "fc3da3957e3cc2c567a061b0a23b1d43505389e6a2fe4922e4fa5eec3a81c60e", + "pkg/store/codec_test.go": "99e00dbea1ba3a7c13b619b7b9b48854f7a8bab47bb40190182049629bb4d9c2", + "pkg/store/diff.go": "f17475422367a7dc844f72720c1dc8ed59192415ea41e17db3b1fcd69893552e", + "pkg/store/diff_test.go": "5d8c4a6cfbc973c378a847a3e10ccc8dc514ca46bba24365e64d183391427634", + "pkg/store/format.go": "6947db55457b8ca3e7dc98387408ca5b62f5af6c8f2e2b8503c3f161697bba7a", + "pkg/store/frame.go": "6044e4a404ed606eb6bd1c2e084b5acf98de8c0c941ada3c09be2246b3bed208", + "pkg/store/frame_test.go": "6f9a3eb6cd1d7cfb15b12e1bd4374cc9c34ed2eef2510e5373ca30a1378aedd7", + "pkg/store/gc.go": "23063c0552dfa3239c32a10c9506295d02d6ac8f56450b8f2fe8553f6c1c90bc", + "pkg/store/gc_test.go": "9e20e39db66fdba4c72bbca9653c83a8a693f004a06ad5fe754e4854809d8449", + "pkg/store/index.go": "dd418a1b5144347581ae8c9d63c931144c45694f60ec4ba638be5d8ca1fa1018", + "pkg/store/index_test.go": "464a52367346cc2148da72ccb2a99728043f037ec235e3aefc66944ddb3c9d19", + "pkg/store/locator.go": "5ca263586c372204059399e2cf8e7fcd90b482541b049c7322ae5c892e6a7469", + "pkg/store/locator_test.go": "73ed5207df2849e4c3ed25dd74684bb956a8096a3193d33c51b899f664d9c031", + "pkg/store/peers.go": "7b9f809c7fb2e17378233ec35080ed24d77fc0322ff696b7b9e35dfb2e593aa4", + "pkg/store/profile.go": "12698355a176296c46789e2ef8829ed34ab0db5060f9eb3860665c3b4cfb7f46", + "pkg/store/profile_test.go": "df7bcf41132153bb270d5a6481146d9192807d9032e8d78d292f0f070b89df63", + "pkg/store/pull.go": "95e783fa51f41201e2e816ce1793447fbe09dbc794215245a1cba5e678bbc026", + "pkg/store/pull_boundary_test.go": "23485635cb323d15494c7b79eeca8a6c84fbc7445cfb4a894920369f0eb94e0d", + "pkg/store/push.go": "6f045559d425c187d08b14f4e09771e666b5201c82f9ccb8804b9ba206f0981b", + "pkg/store/rebase.go": "673cc5f52f2ae2afae860a37464517380eb59b7cb452f31f1eb6032d5eccc4ac", + "pkg/store/rebase_test.go": "92f92cd4f84b8895550c9bb5a8cdb76a83c4644596621091c681d8f45a4560f4", + "pkg/store/source.go": "a61ba254991f28fc6c41cbb0b066091a326ba4ed3260f52a4b3f3b687cfb15a4", + "pkg/store/store.go": "d4936274c20ccb12abdd8ce801c0969e6db8d05b19f11ba16c8560acf83309e0", + "pkg/store/store_test.go": "89c7df2588448cfdb44b46c7feb050c82c9db17a8f799c9087fdbcdf5d31047c", + "pkg/store/sub_test.go": "c97d375544514bc4c3f4efb6ea22cec8c38d7f4dda9fdaf3f00399e49f4cba7d" + } + }, + "race_summary": { + "passed_tests_and_subtests": 151, + "skipped_tests": 10, + "failed_events": [] + }, + "regressions": { + "reverse_manifest_partial_suffix": "RED: a differs after pull; GREEN in final focused/race suite", + "private_staging_permissions": "RED: staging mode755 exposes restricted files; GREEN mode0700 throughout backend reads", + "locator_count": "RED: invalid count4294967295 returned after error; GREEN returns0 before allocation; no maximal allocation executed" + }, + "original_logs": [ + { + "path": "baseline.log", + "bytes": 1747, + "sha256": "be5ec9dd113dd4e8553947438655fee5c53cfbc02917e56da8b1f910130ea200" + }, + { + "path": "profile-red.log", + "bytes": 912, + "sha256": "11f1fed6357dd1e69e6f608792b4961150a61ad84be31ae13205fbe6780d3d8f" + }, + { + "path": "profile-green.log", + "bytes": 4299, + "sha256": "814835cbb49819955c8364a40aa08703225eddb987f70cc18aa6801f21c78a3e" + }, + { + "path": "prepare-red.log", + "bytes": 264, + "sha256": "eb89c62fa05ad15333a4b0002b5ffaff5bc1da5d0e8a2b52067b8a5e04b4fdca" + }, + { + "path": "focused-green.log", + "bytes": 6272, + "sha256": "5f41801b65752c14901e83955fdbe35b8b848e73bc8b57a2daee81de5586b44f" + }, + { + "path": "review-red.log", + "bytes": 727, + "sha256": "adce042067d9a406e3bb4c3133c29e484055e70717b2a95fb6799772c469afe3" + }, + { + "path": "race.log", + "bytes": 161570, + "sha256": "f510a583ea732ea17142e8792b66df0998b9fc817083a8b8466f7046e3b919fa" + }, + { + "path": "vet.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "build.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "suite-result.json", + "bytes": 6835, + "sha256": "d8840fca6b28cea14519f79ec42d97363592221c2f53a6084cad09c3b80de6b9" + } + ], + "cleanup": { + "owned_suite_runner_present": false, + "no_npu_allocation_or_sdk_changes": true, + "scope": "Persistent source/logs/cache retained in an isolated work directory; no owned running suite or benchmark job." + } +} diff --git a/docs/ko/compatible-prepare.md b/docs/ko/compatible-prepare.md index d8c6139..d42ed37 100644 --- a/docs/ko/compatible-prepare.md +++ b/docs/ko/compatible-prepare.md @@ -33,6 +33,9 @@ onggi prepare --store "$STORE" --request request.json \ 여러 후보가 일치하면 매니페스트 해시의 사전순으로 고릅니다. 후보 ref는 GC lease 안에서 한 번만 해석하며, 이후 ref가 바뀌어도 선택한 해시를 복원합니다. 없는 결과물이나 손상된 매니페스트를 조용히 건너뛰지는 않습니다. 재현 가능한 작업에는 해시를 넘기세요. +기존 GC lease 프로토콜(기본 TTL 24시간)을 재사용하며 새 읽기/쓰기 잠금은 아닙니다. +이미 시작된 GC 삭제와의 강한 상호 배제는 이번 구현에서 보장하지 않으므로 중요한 +준비 작업에는 불변 ref를 유지하고 GC 실행 시점을 조율하세요. 표준 출력은 JSON이며 `selection`에 선택·제외 이유, `ready`에 준비 결과가 담깁니다. 종료 코드 0은 성공, 1은 일치 후보 없음/운영 오류, 2는 잘못된 입력입니다. @@ -52,3 +55,6 @@ CSI가 관리하는 루트와 준비 디렉터리를 공유하지 마세요. 엔진을 시작합니다. `ready:true`는 **검증된 파일 준비 완료**이며 NPU 서빙 준비와 다릅니다. 엔진의 SDK·그래프 검증/적재·readiness는 이어서 수행해야 합니다. 클러스터 후보 탐색, CRD·컴파일 팜, 배치·확장 신호 연동과 NPU 예열은 후속 작업입니다. + +[CPU 검증·소스 해시](../data/compatible-prepare-20261030.json)에 전체 race 검사와 +리뷰 문제 세 건의 재현·수정 기록이 있습니다. 최종 커밋의 Go·실제 S3 CI는 PR에 기록합니다. diff --git a/docs/superpowers/plans/2026-10-30-compatible-prepare.md b/docs/superpowers/plans/2026-10-30-compatible-prepare.md index e39b5f4..174b2e3 100644 --- a/docs/superpowers/plans/2026-10-30-compatible-prepare.md +++ b/docs/superpowers/plans/2026-10-30-compatible-prepare.md @@ -43,8 +43,8 @@ Interface: prepare CLI per spec, always JSON report; request shares Profile v1. - [x] Implement prepare via existing Pull/Cache/Peers, sibling temp+mkdir lock, store GC lease and atomic rename; never use shared CSI Materializer.Init. - [x] GREEN focused tests, full race/vet/build; bilingual docs and examples. -- [ ] One independent branch review, fix important findings with RED->GREEN. -- [ ] Commit/push draft PR, verify exact-head CI, record final gate in PR. +- [x] One independent branch review, fix important findings with RED->GREEN. +- [x] Commit/push draft PR #71; final publication-head CI gate recorded in PR. ## Ledger @@ -74,3 +74,34 @@ Interface: prepare CLI per spec, always JSON report; request shares Profile v1. rather than silently trusting them; process-crash temp/lock recovery remains explicit and documented. This costs manual recovery/new destination on a crash, and avoids treating an unverified existing directory as ready. +- Final review at1f1ca21 found three Important issues, no Critical/Minor. + All reproduced together RED atee6e457: partial-suffix files overwritten in + reverse-order manifests; temporary tree mode0755; locator count4294967295 + returned despite error. Fixed c7e3910: private tree0700 until verification, + unique0600 staging filenames excluding all final/ancestor paths, duplicate + final-path refusal, and locator count0 on error before allocation. GREEN + focused regressions and full race/vet/build;151 test/subtest pass events, + 10 environment-dependent skips, no failed test/package. Maximal allocation + was never executed. Byte hashes for72 Go/source-dependency files independently + match local tested files. Evidence: docs/data/compatible-prepare-20261030.json. +- Final: Ruling on reviewer-declined publisher truth/omitted vendor dimensions, + ABI, native readiness and latency: metadata exact agreement only; publisher + records complete build identities/options and runtime validates artifacts. + No new native claim; the cost of inaccurate declarations is load rejection + or incorrect vendor compatibility, not something this selector can certify. +- Final: Ruling on hostile parent replacement/noncooperating writers: lock + coordinates cooperating preparers only; deployment uses owned directories. + Adversarial filesystem isolation requires a separate hardened filesystem API. +- Final: Ruling on crash durability/stale-lock recovery/existing adoption: + retain explicit documented operator recovery and refuse existing targets; + no crash-durable or automatic recovery claim. Cost: manual retry preparation. +- Final: Ruling on strong concurrent GC exclusion: reuse existing TTL/snapshot + lease protocol, not a reader/writer lock. Document24h default TTL and retain + immutable refs/coordinate critical GC; a future protocol change is separate. +- Final: Ruling on S3/Kubernetes/hardware review limits: both real S3 servers + passed CI41003744490 before fixes; final exact-head CI must pass again and + is recorded in the PR. Kubernetes example is syntax-checked, not deployed; + no NPU hardware operation, native warming or new performance claim. +- Owned CPU suite runner has exited; no NPU allocated. Keep isolated source/ + logs/cache for inspection. Final publication keeps the branch/worktree and + records CI in PR metadata rather than creating another CI-only commit. diff --git a/pkg/store/pull_boundary_test.go b/pkg/store/pull_boundary_test.go index ea98f17..6f7ff01 100644 --- a/pkg/store/pull_boundary_test.go +++ b/pkg/store/pull_boundary_test.go @@ -1,35 +1,61 @@ package store import ( - "bytes" - "context" - "encoding/binary" - "encoding/json" - "path/filepath" - "testing" + "bytes" + "context" + "encoding/binary" + "encoding/json" + "path/filepath" + "testing" - "github.com/ai-computing/onggi/pkg/backend" - "github.com/ai-computing/onggi/pkg/digest" + "github.com/ai-computing/onggi/pkg/backend" + "github.com/ai-computing/onggi/pkg/digest" ) func TestPullPreservesPartialSuffixFilesInReverseManifestOrder(t *testing.T) { - s:=openStore(t,t.TempDir());src:=t.TempDir();ctx:=context.Background();p:=testProfile() - write(t,filepath.Join(src,"a"),[]byte("first file"));write(t,filepath.Join(src,"a.onggi-partial"),[]byte("different second file")) - d,_,err:=s.Push(ctx,src,PushOptions{Profile:&p});if err!=nil {t.Fatal(err)} - m,err:=s.ReadManifest(ctx,d);if err!=nil {t.Fatal(err)} - if len(m.Files)!=2 {t.Fatal("wrong fixture")};m.Files[0],m.Files[1]=m.Files[1],m.Files[0];m.Locator=nil - data,_:=json.Marshal(m);d=digest.Of(data) - if err=s.B.Put(ctx,backend.Key{Kind:backend.Manifest,Name:d.Hex()},bytes.NewReader(data),int64(len(data)));err!=nil{t.Fatal(err)} - out:=t.TempDir();if _,err=s.Pull(ctx,d,out,PullOptions{});err!=nil{t.Fatal(err)} - sameTree(t,src,out) + s := openStore(t, t.TempDir()) + src := t.TempDir() + ctx := context.Background() + p := testProfile() + write(t, filepath.Join(src, "a"), []byte("first file")) + write(t, filepath.Join(src, "a.onggi-partial"), []byte("different second file")) + d, _, err := s.Push(ctx, src, PushOptions{Profile: &p}) + if err != nil { + t.Fatal(err) + } + m, err := s.ReadManifest(ctx, d) + if err != nil { + t.Fatal(err) + } + if len(m.Files) != 2 { + t.Fatal("wrong fixture") + } + m.Files[0], m.Files[1] = m.Files[1], m.Files[0] + m.Locator = nil + data, _ := json.Marshal(m) + d = digest.Of(data) + if err = s.B.Put(ctx, backend.Key{Kind: backend.Manifest, Name: d.Hex()}, bytes.NewReader(data), int64(len(data))); err != nil { + t.Fatal(err) + } + out := t.TempDir() + if _, err = s.Pull(ctx, d, out, PullOptions{}); err != nil { + t.Fatal(err) + } + sameTree(t, src, out) } func TestLocatorCountRefusesAllocationAfterInvalidCount(t *testing.T) { - data:=make([]byte,4);binary.LittleEndian.PutUint32(data,^uint32(0)) - for _,min:=range []int{4,32,41} { - r:=reader{p:data};if n:=r.count(min);n!=0||r.err==nil {t.Fatalf("unsafe allocation count=%d, min=%d, err=%v",n,min,r.err)} - } - // A bounded malformed locator exercises the decoder without a dangerous allocation. - malformed:=append([]byte("ONGGILC1"),100,0,0,0) - if _,_,err:=readLocator(malformed,&Manifest{});err==nil {t.Fatal("truncated locator accepted")} + data := make([]byte, 4) + binary.LittleEndian.PutUint32(data, ^uint32(0)) + for _, min := range []int{4, 32, 41} { + r := reader{p: data} + if n := r.count(min); n != 0 || r.err == nil { + t.Fatalf("unsafe allocation count=%d, min=%d, err=%v", n, min, r.err) + } + } + // A bounded malformed locator exercises the decoder without a dangerous allocation. + malformed := append([]byte("ONGGILC1"), 100, 0, 0, 0) + if _, _, err := readLocator(malformed, &Manifest{}); err == nil { + t.Fatal("truncated locator accepted") + } } From 466ef918db08a8722326b6f36f5f39597e8a63de Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 13:54:59 +0900 Subject: [PATCH 22/23] docs: plan combined Onggi to native serving validation --- .../plans/2026-10-30-serving-integration.md | 30 +++++++++++ .../2026-10-30-serving-integration-design.md | 53 +++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 docs/superpowers/plans/2026-10-30-serving-integration.md create mode 100644 docs/superpowers/specs/2026-10-30-serving-integration-design.md diff --git a/docs/superpowers/plans/2026-10-30-serving-integration.md b/docs/superpowers/plans/2026-10-30-serving-integration.md new file mode 100644 index 0000000..31b35a1 --- /dev/null +++ b/docs/superpowers/plans/2026-10-30-serving-integration.md @@ -0,0 +1,30 @@ +# Integrated artifact preparation and native serving plan + +> Inline coordination with independent runtime integration and exclusive +> hardware-validation owners; one read-only review of integration changes. + +Spec: ../specs/2026-10-30-serving-integration-design.md +Base: Onggi05c97605b07882f9ceaaeb90b94878f8923f81cf. + +- [x] Merge exact reviewed69/70/71 heads on a fresh isolated integration branch. +- [ ] Combined Linux race/vet/build, exact source hashes and live S3 CI. +- [ ] Integrate reviewed ATOM/RNGD runtime ancestry, CPU suite and native-ready + standalone connector/prewarm behavior (runtime owner; RED->GREEN). +- [ ] Freeze both sources/profile/run configuration and read-only preflight. +- [ ] Native smoke, real HTTP request/negative cases and repeat-token proof. +- [ ] UID cleanup/independent absence; sanitized evidence and bilingual docs. +- [ ] Final integrated exact-head CI and publish reviewable branch/PR state. + +## Ledger + +- Onggi heads69=fcf2fb8,70=358c755,71=db82b4c merged with no conflicts; + combined source dafcfe16e8aaaed069f7471f2b6896f0b47a4176. Initial fetch did + not populate remote refs in the single-branch clone; merged verified local + commit IDs instead, preserving all original heads and worktrees. +- Ruling: graph/config delivery only, original checkpoint external read-only; + a full16GB checkpoint transfer would answer a different question and is not + claimed. Run records separate file readiness, native readiness and service. +- Read-only preflight found no vLLM in the shared SDK environment. Ruling: + factor genuine standalone whole-request transfer/prewarm support with real + tests; do not inject test stubs or install packages into the shared SDK. + rm_core already has a genuine builtin transport fallback. diff --git a/docs/superpowers/specs/2026-10-30-serving-integration-design.md b/docs/superpowers/specs/2026-10-30-serving-integration-design.md new file mode 100644 index 0000000..1bbf249 --- /dev/null +++ b/docs/superpowers/specs/2026-10-30-serving-integration-design.md @@ -0,0 +1,53 @@ +# Onggi to native prepared serving integration + +The user approved continuing the integration/verification sequence. Combine the +reviewed Onggi69/70/71 changes without changing their feature scope, and combine +the reviewed ATOM resident path with RNGD SDK2026.4/host staging. Keep previous +provider sessions/checkouts and all original evidence read-only. + +First executable target: an allocated RNGD Pod whose init prepares an explicitly +compatible graph/config bundle and whose real HTTP prepared worker consumes +only those delivered graphs/config. Checkpoint files remain mounted read-only +from the previously verified base; this is not full-checkpoint delivery. +No new compile, SDK/driver install or vLLM test stub is acceptable. Reuse the +real standalone whole-request transport with optional native prewarming before +serving readiness. Existing vLLM plugin users retain their contract. + +Alternatives considered: deploy all controllers immediately (unimplemented +contracts), download/rebuild a whole checkpoint (does not isolate this graph +delivery question), or a bounded init-to-native-worker run. Choose the last; +the implementer owns routine configuration choices under continued execution. + +## Run contract + +- Freeze source commits and verify binary/source hashes. Use hub.orca.run_remote + only for remote work, through established rebellion/dell_0 routes. +- Unique owned run directory/namespace; one plugin-assigned RNGD, CPU request4/ + limit12, memory128Gi, active deadline7200s. Hardware owner alone allocates, + launches and cleans with UID preconditions. Do not touch foreign workloads. +- SDK2026.4/Torch2.10, group2/B4/S256, intra-op4, existing compatible immutable + graphs and checkpoint. No group8 or old-SDK causal comparison. +- Bundle contains two cached native graphs, configuration and provenance. + Profile records exact model/options/runtime/SDK/compiler/firmware/topology. + Include a mismatched candidate to prove actual selection, not only raw pull. +- Native producer replays real prompts, exports true layer KV/first tokens and + independent fresh continuation, then exits before a fresh HTTP worker starts. + No synthetic zero KV may be described as prompt prefill. +- Worker is genuinely standalone when vLLM is absent; shared SDK remains intact. + Opt-in warmup executes every configured variant and discards warmup KV before + readiness. Configuration defaults remain unchanged. +- Smoke batch4x8 tokens, then2 repeat batches if valid (12 requests/96 tokens + total). Compare every token, including all native-produced tokens after the + supplied first token. Check readiness, immutable checkpoint ID admission and + no native compile/new weight upload on repeated prepared requests. +- Measure file preparation, process/native preparation, warmup and request + intervals separately. All attempts/raw failures retained. No speedup or + statistical claim from this integration run. +- Cleanup all owned Pod/namespace/processes and independently verify absence. + Retain private run logs and publish sanitized hashes/results only, no vendor + binary/IR, machine paths, secrets or prior provider session changes. + +After RNGD proof, publish the integrated branches, exact-head CPU/S3 CI and +document the remaining ATOM/native-controller/GC-crash-recovery limits. Main +integration must be based on concrete green combined checks; no blind merging +of unresolved upstream draft branches or shared deployment changes. From 8f0b4bc103cc1608a7288bd14c59f67a292d3d74 Mon Sep 17 00:00:00 2001 From: gspark-etri Date: Fri, 30 Oct 2026 14:30:15 +0900 Subject: [PATCH 23/23] docs: publish verified native preparation to HTTP serving evidence --- README.ko.md | 13 +- README.md | 12 +- docs/data/native-serving-20261030.json | 12506 ++++++++++++++++ .../serving-integration-cpu-20261030.json | 119 + docs/ko/native-serving-2026-10-30.md | 66 + docs/ko/resident-delta.md | 12 +- docs/native-serving-2026-10-30.md | 141 + docs/resident-delta.md | 15 +- .../plans/2026-10-30-serving-integration.md | 58 +- 9 files changed, 12925 insertions(+), 17 deletions(-) create mode 100644 docs/data/native-serving-20261030.json create mode 100644 docs/data/serving-integration-cpu-20261030.json create mode 100644 docs/ko/native-serving-2026-10-30.md create mode 100644 docs/native-serving-2026-10-30.md diff --git a/README.ko.md b/README.ko.md index 5c0d630..3783de7 100644 --- a/README.ko.md +++ b/README.ko.md @@ -31,7 +31,14 @@ Onggi(옹기)는 서로 다른 바이트를 한 번만 저장하고, 복원한 P3의 첫 단계로 [호환 프로필 선택·파일 사전 준비](docs/ko/compatible-prepare.md)를 지원합니다. `push --profile FILE`로 게시하고 `prepare --request FILE --dir DIR ...`로 호환 결과물을 골라 노드 캐시를 통해 검증된 파일을 완성한 뒤 게시합니다. -파일 준비 단계이며 NPU 예열과 배치·확장 신호 연동은 후속 작업입니다. +파일 준비 단계이며, 런타임은 별도로 NPU 예열을 완료한 뒤 readiness를 표시할 수 있습니다. +배치·확장 신호에 따른 자동 연동은 후속 작업입니다. + +[실제 RNGD 서빙 검증](docs/ko/native-serving-2026-10-30.md)은 SDK 2026.4에서 +init container의 파일 준비부터 예열·HTTP 요청 12건까지 연결합니다. 반환 토큰 96개가 +새 전체 로딩의 기준 결과와 일치하고 반복 배치에서 상주 가중치·그래프를 재컴파일 없이 +유지했습니다. B4/S256 한 프로필과 외부 체크포인트를 사용하는 그래프·설정 전달 검증이며, +새 속도 향상 수치를 주장하지 않습니다. | | | |---|---| @@ -49,7 +56,9 @@ Onggi는 미리 컴파일한 변형과 가중치를 기존 청크와 함께 일 빌드마다 원본 체크포인트 식별자, 컴파일러·SDK, 장치, 가중치 배열 방식, 지원 배치·시퀀스 길이를 기록해야 합니다. 배치나 길이가 바뀌어도 호환되는 사전 컴파일 그래프가 필요합니다. RNGD 외부 가중치와 ATOM 장치 입력 가중치는 런타임 지원이 -다르며, 가중치를 내장한 ATOM 그래프에는 해당 컴파일 결과물이 필요합니다. 자동 호환성 선택·예열·배치 연동은 후속 작업입니다. +다르며, 가중치를 내장한 ATOM 그래프에는 해당 컴파일 결과물이 필요합니다. +[prepare CLI](docs/ko/compatible-prepare.md)는 지정한 후보에서 프로필이 일치하는 결과물을 선택합니다. +후보 자동 탐색·NPU 예열 제어·배치 연동은 후속 작업입니다. [연계 설계](docs/ko/integration.md)를 참고하세요. [상주 델타 갱신 기록](docs/ko/resident-delta.md)은 실제 Onggi 범위 조회와 RNGD 행 단위 갱신을 연결합니다. diff --git a/README.md b/README.md index 0ebd8a6..3e95a8c 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,14 @@ The Kubernetes Ref API, compile controller and fetches triggered by ai-rm/llm-d The first P3 integration is [exact-profile artifact selection and preparation](docs/compatible-prepare.md): publish with `push --profile FILE`, then `prepare --request FILE --dir DIR ...` chooses a compatible build and atomically prepares verified files through the node cache. -This is file readiness; native NPU prewarming and placement/autoscaler integration remain planned. +This establishes file readiness. The runtime can separately prewarm before readiness; +automatic placement/autoscaler integration remains planned. + +The [native RNGD serving proof](docs/native-serving-2026-10-30.md) connects a real +init-container preparation to startup warmup and 12 HTTP requests on SDK 2026.4. +All 96 returned tokens match fresh references; repeated batches retain resident +weights and graphs without recompilation. This covers one B4/S256 profile and +graph/config delivery with an external checkpoint, with no new speedup claim. | | | |---|---| @@ -53,7 +60,8 @@ delta does not itself update NPU memory or establish that two compiled graphs ca Record the source checkpoint identity, compiler/SDK, device, weight layout and supported batch/sequence shapes with each build. Changing batch or sequence length still requires a compatible precompiled graph. RNGD external weights and ATOM device-input weights have different runtime capabilities; ATOM graphs with embedded weights -require their corresponding compiled artifacts. Automated compatibility selection, prewarm and placement hooks +require their corresponding compiled artifacts. The [prepare CLI](docs/compatible-prepare.md) now selects +exact-profile matches from supplied candidates. Discovery, native prewarm orchestration and placement hooks remain integration work; see [integration](docs/integration.md). The [resident-delta integration record](docs/resident-delta.md) connects actual diff --git a/docs/data/native-serving-20261030.json b/docs/data/native-serving-20261030.json new file mode 100644 index 0000000..78b590c --- /dev/null +++ b/docs/data/native-serving-20261030.json @@ -0,0 +1,12506 @@ +{ + "schema": "onggi.native-serving-evidence.v1", + "date": "2026-10-30", + "scope": "Instrumented integration correctness; graph/config delivery with external checkpoint; no speedup or production-rollout claim.", + "frozen_sources": { + "onggi": "466ef918db08a8722326b6f36f5f39597e8a63de", + "runtime": "fafd820fead20ed51dcb7f60ebb5e7dc7d90b2f1", + "onggi_binary_sha256": "6f906b54bdec214957e2b46fa4ff7d737934c7d433f3f465d86bab12d9d972e0" + }, + "independent_local_verification": { + "snapshot_files": 205, + "runtime_git_files": 409, + "onggi_git_files": 125, + "all_small_file_hashes_match": true, + "all_runtime_src_ast_matches_frozen": true, + "prior_public_full_model_sha256": "0fbf9f360644e20eef911f00c3a3a110b32c7213194249bd99273778e175ff83", + "large_payloads_downloaded": false + }, + "private_snapshot": { + "manifest_sha256": "14a0eebb5f0f8bc850b0705128f43b48ee39564a8ffd7e73e47266356a43f94c", + "archive_bytes": 394278, + "archive_sha256": "70edc475319a3aac8b41f0cc482dacf234b6d474592707993d98fd964800e078", + "note": "Private original small-evidence archive; local paths and node details omitted from this public selection. Native KV, graph and model payloads not downloaded." + }, + "fixed_conditions": { + "model": "Llama-3.1-8B", + "model_revision": "0e9e39f249a16976918f6564b8830bc894c89659", + "B": 4, + "S": 256, + "group": 2, + "fusion": 8, + "mesh": 2, + "intra_op": 4, + "cpu_request": 4, + "cpu_limit": 12, + "memory_request_Gi": 64, + "memory_limit_Gi": 128, + "active_deadline_s": 7200, + "rngd_requested": 1, + "host_workers": 2, + "warmup": true, + "transport": "shared-memory BF16 numeric wire" + }, + "request_profile": { + "schema": "onggi.profile.v1", + "model_source": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8", + "options": "sha256:9ca7d81bdd7eef59a0e17632a42d5642914b61c7fd30d4f4eb4df666a38a9382", + "device": "rngd", + "runtime": "rngd-pd@fafd820fead20ed51dcb7f60ebb5e7dc7d90b2f1", + "sdk": "2026.4.0", + "compiler": "furiosa-tcc@2026.4.0;record-sha256:c723fabcf2277a40560aa74b09d453ca32a11780b643a63533330029c6486549", + "firmware": "furiosa-rngd-fw@2026.4.0+93d67f3", + "format": "runnable-v1", + "layout": "rngd-pd-bf16-q-scaled-transpose-k-hd-s-v-s-hd-lm-ng32-v128256", + "topology": "fusion8-mesh2-group2", + "tp": 1, + "batch": 4, + "sequence": 256 + }, + "external_checkpoint_files": [ + { + "bytes": 855, + "name": "config.json", + "sha256": "29e4c210b0d6ac178b16b2a255a568bdb23b581e50ca1ef6a6d071dd85704e6e" + }, + { + "bytes": 4976698672, + "name": "model-00001-of-00004.safetensors", + "sha256": "2b1879f356aed350030bb40eb45ad362c89d9891096f79a3ab323d3ba5607668" + }, + { + "bytes": 4999802720, + "name": "model-00002-of-00004.safetensors", + "sha256": "09d433f650646834a83c580877bd60c6d1f88f7755305c12576b5c7058f9af15" + }, + { + "bytes": 4915916176, + "name": "model-00003-of-00004.safetensors", + "sha256": "fc1cdddd6bfa91128d6e94ee73d0ce62bfcdb7af29e978ddcab30c66ae9ea7fa" + }, + { + "bytes": 1168138808, + "name": "model-00004-of-00004.safetensors", + "sha256": "92ecfe1a2414458b4821ac8c13cf8cb70aed66b5eea8dc5ad9eeb4ff309d6d7b" + }, + { + "bytes": 23950, + "name": "model.safetensors.index.json", + "sha256": "146776fce3f6db1103aa6f249e65ee5544c5923ce6f971b092eee79aa6e5d37b" + } + ], + "delivered_files": [ + { + "path": "build-options-proposed.json", + "bytes": 924, + "sha256": "9ca7d81bdd7eef59a0e17632a42d5642914b61c7fd30d4f4eb4df666a38a9382" + }, + { + "path": "cache/graphs/2026.4.0/2.10.0+cpu/33a051dfeb83c1a051b7599b.runnable", + "bytes": 224097, + "sha256": "405001f45f4676a134738a2d340dd453f17e9ccc60ba026e05ab285b39261c70" + }, + { + "path": "cache/graphs/2026.4.0/2.10.0+cpu/42100dcbf68bbc6aa86e92b0.runnable", + "bytes": 760632, + "sha256": "5e8aaff08c16606163a52e9d517dc2e1fc0b58aabb03740559af38ca4bba7bb1" + }, + { + "path": "checkpoint-manifest.json", + "bytes": 848, + "sha256": "2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + { + "path": "prepared.json", + "bytes": 320, + "sha256": "2bebc98251b22594253a7070b99ae43314335c6fd26be63c9a84d75e66e40f55" + }, + { + "path": "provenance.json", + "bytes": 1127, + "sha256": "4224df6479bcc7451215d9ec7b419ad174d82c9470fc8d6ae8b396f099d53d64" + } + ], + "runtime_source_hashes": [ + { + "path": ".github/workflows/ci.yml", + "bytes": 787, + "sha256": "0814a0cf9fc358c3cb1df611a5429caacdedce4dec28072bda7f487e2dff79dd" + }, + { + "path": ".gitignore", + "bytes": 692, + "sha256": "2ad30a046164062793761a4a17fb2525687e93994677f06e0b0aa71daf5ac6c8" + }, + { + "path": "README.ko.md", + "bytes": 32248, + "sha256": "04cb365a15544f1bb9ffe4f82a14cf6897eeea244ba8f3475f796f67b799fdbc" + }, + { + "path": "README.md", + "bytes": 30850, + "sha256": "2d4cb57a8b5d2186b7eeb95b880d1eafae670a1e6618b8963d9211da98f410a0" + }, + { + "path": "ROADMAP.md", + "bytes": 3875, + "sha256": "09283d85903fbae78b6d10f3d9439748ab43fd03afa12f7e1bbb363b19b53371" + }, + { + "path": "ai-rm.yaml", + "bytes": 1603, + "sha256": "e5c5c09d6acda3dd09e4ad7f85c7821465cd88f38136c44c00513edfb43221e6" + }, + { + "path": "attic/bench/pd_crossover.py", + "bytes": 7633, + "sha256": "961665cb1b164ba4ba26821fe29b9dbfc7d9b757ebc4640ace92a816d8ce9ee3" + }, + { + "path": "attic/bench/pd_crossover_plot.py", + "bytes": 2808, + "sha256": "5969645c0558b53bc952a066dbc6cd07e18994a988b04efa37084aeb606b4e6d" + }, + { + "path": "attic/bench/pd_engine_batch.py", + "bytes": 19460, + "sha256": "658751b87f89cd14ff26c1afffafa945ec82d778d42361a6cfe444fd73915cf4" + }, + { + "path": "attic/bench/pd_hetero.py", + "bytes": 16032, + "sha256": "7c2157958e8a3d04430a7d094df1218752a09e1fb7af5c7637ef89d06ff10881" + }, + { + "path": "attic/bench/pd_sweep_engine.py", + "bytes": 14788, + "sha256": "d6c79391fd2142beba6687ab0410f905fca01fe462f451a3fa7f460f9ffe9b28" + }, + { + "path": "attic/bench/pd_sweep_matrix.py", + "bytes": 19162, + "sha256": "9b51efa65e0edf650688ae8f52dee6fc52b21032b68453e389c7217ebb47c52d" + }, + { + "path": "attic/bench/pd_vs_dup.py", + "bytes": 5499, + "sha256": "7060dac2a36cc7ff1df71707980fa2cfd859ba18e3990630e523d021f6b5106a" + }, + { + "path": "attic/bench/pd_vs_dup_real.py", + "bytes": 7145, + "sha256": "b5f8bf17c7c1f2111193eeef83f46c01abf6a559087ac561f7da40839d7212cc" + }, + { + "path": "attic/bench/pd_vs_dup_real2.py", + "bytes": 8448, + "sha256": "1fb1c28fee58a253e742f2f7afdbe09131b429ff1827b4e8bc205f1abdb2309a" + }, + { + "path": "attic/connector/llama_pd_llmd.py", + "bytes": 4296, + "sha256": "70fa5478838300e1d314033faec2a483c4ff8fbf99d4d0835031faa1f5829640" + }, + { + "path": "attic/gateway/__init__.py", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "attic/gateway/demo_e2e.py", + "bytes": 6258, + "sha256": "30eda0e4b01feed2ebbc2a9a0e48119b7deab360786e1d8ccc62e1f2dd2d0d04" + }, + { + "path": "attic/gateway/epp.py", + "bytes": 5003, + "sha256": "8febf6dfe98d0e4de01a9b3ecefe0bbea6056d547a76a910c2bfa16007353f0d" + }, + { + "path": "attic/gateway/kv_events.py", + "bytes": 4594, + "sha256": "d1f43d959fc622dde3f39c72d08623ba439c28dc58e8328c824a10b6e1447454" + }, + { + "path": "attic/gateway/registry.py", + "bytes": 3102, + "sha256": "52f908547728da5bb7d68b8394df04bb0f259862969750b595da1fe473c2aa8f" + }, + { + "path": "attic/gateway/server.py", + "bytes": 6802, + "sha256": "558f9bf61f3f8e6dddd3ec9a1a2f53297e7860f75bcb0384d8d6d2c70ef31c90" + }, + { + "path": "attic/runtime/dsl_gen.py", + "bytes": 2949, + "sha256": "13507369f78314a6fe6a02fd6ab2c49d638e2385bd6a592ed22ec25e7cbdc5e1" + }, + { + "path": "attic/runtime/engine_wired_generic.py", + "bytes": 9694, + "sha256": "b7c050fb59baccceefc3f41c3fc617fb259cb258d3020979ed431c5c64a6c377" + }, + { + "path": "attic/runtime/generic_runtime_adaptive.py", + "bytes": 8783, + "sha256": "e0acd8f57613098c932c6e29e260360ff767b0a88f0ef473dc275a6d0e4477ae" + }, + { + "path": "attic/runtime/generic_runtime_allnpu.py", + "bytes": 10701, + "sha256": "20534b8331e3f40f9761cb57b19787fc647ba34489051bed687d8169f6b56736" + }, + { + "path": "attic/runtime/generic_runtime_fast.py", + "bytes": 6382, + "sha256": "1c246658f81faf03f5e5f3302350a64c76a0cef7a45eeafed310cb6c9e88b0c7" + }, + { + "path": "attic/runtime/generic_runtime_fused.py", + "bytes": 10171, + "sha256": "8894fc8895a10f16390319d3758428e65578e234fbd8a1da7bff001e4010a405" + }, + { + "path": "attic/runtime/generic_runtime_mesh.py", + "bytes": 2702, + "sha256": "c03dd14daeb759ec481a882309cadad789ae224bdabefb0b97a9b63f4e8d054b" + }, + { + "path": "attic/runtime/generic_runtime_npu.py", + "bytes": 7911, + "sha256": "ba17dc4dec813164ef67a4e706e628ed47e67092ef9a8ce5347bd635142f4f7f" + }, + { + "path": "attic/runtime/generic_runtime_opt.py", + "bytes": 6324, + "sha256": "2725fd32ffeb2a0e5dff28a63bab2ac494cffa12bf76eab8261d88f1d3091a6e" + }, + { + "path": "attic/runtime/llama_pd_2chip.py", + "bytes": 6979, + "sha256": "caa77b46975b8894a3e6e41f7d710d44cd3ca64b947bf8cd18831b50591f1922" + }, + { + "path": "attic/runtime/llama_prefill_chunk_chained.py", + "bytes": 7351, + "sha256": "6f44f4ccac5551574f2e7e297396495776a4e1500776b90e083e7e123a2a56af" + }, + { + "path": "attic/serving/batching.py", + "bytes": 3959, + "sha256": "b06de0548ee92c739fd9f045a71c014521d9a37ca9738845d7b23ad0165d40bf" + }, + { + "path": "attic/serving/bucket.py", + "bytes": 2043, + "sha256": "2421ac852c68665139e1d336f21903ff485162599e42509673210119589b0477" + }, + { + "path": "attic/serving/serving_app.py", + "bytes": 10328, + "sha256": "02352211f5e3ad7bb95b27b0b8479bb4e4a588899101fff45a4deab55a8b8bbc" + }, + { + "path": "bench/_bootstrap.py", + "bytes": 417, + "sha256": "b19130fbc6eead341b8ef5a3ff528174ac6403fc6c765d0d8af1fbb94f0ac99b" + }, + { + "path": "bench/batch_tactic_B8.jsonl", + "bytes": 129, + "sha256": "a0118ec7b5fc3cea400ab9271f3e8d0bf2af29014254edd2b2b74751481b7c8f" + }, + { + "path": "bench/batch_tactic_probe.py", + "bytes": 5330, + "sha256": "a20351949783563b517bcbd3e54e8544f6d4fff8cbb17b44c4cf4e6a25f79d1e" + }, + { + "path": "bench/bucket_slo.jsonl", + "bytes": 2724, + "sha256": "14125882d4deda4ef03b94da09d1839c84f46b681099a29d2e2c0a5b225b33b1" + }, + { + "path": "bench/cluster_env.py", + "bytes": 1723, + "sha256": "7010d5d544e1d30db5498b1cfe3c680867703ac54c8a7f9b46ddc55043559edf" + }, + { + "path": "bench/decode_sdk_ab.py", + "bytes": 5233, + "sha256": "2bb0c65a00bbc3da2db837448f399746d95017900c4703da633d247ebf45bb08" + }, + { + "path": "bench/dsl_probe.py", + "bytes": 5062, + "sha256": "631ae28f91c5cdedc928c89611655e76f3364821d590bafbe2a2f1590dc121eb" + }, + { + "path": "bench/fair_cont_balanced.jsonl", + "bytes": 1282, + "sha256": "2b4483d8e379a0ceac5ef2e1e3967ea44929a79bca81cf8bb4b6a9a24ba39bfe" + }, + { + "path": "bench/fair_cont_longgen.jsonl", + "bytes": 1293, + "sha256": "860d1560e7ae4a240a24341b21d3c021ee78edb471205b65b14797f59c3adc68" + }, + { + "path": "bench/fair_trace.jsonl", + "bytes": 781, + "sha256": "5cb773973f9e2dc9084f1e459a5f789d9c01afb611fc1c241a3bf6d9fc51ac32" + }, + { + "path": "bench/fair_trace_v2.jsonl", + "bytes": 781, + "sha256": "0de33203115a512593341ba32d8ad3c0c99ea1e23910a3e35d4083f63b3b6d53" + }, + { + "path": "bench/fair_trace_v3.jsonl", + "bytes": 777, + "sha256": "c147ce4680610b976687462974fcdf1d7972465104379a3bb6a006e3cfe12a58" + }, + { + "path": "bench/fair_trace_v4.jsonl", + "bytes": 907, + "sha256": "78edd09396b05be4523f2c66d31f3467fd550f2d53d8b0b1dcea1ff846e06004" + }, + { + "path": "bench/fin_shape.jsonl", + "bytes": 1637, + "sha256": "716578a3fdd95b501742985bdb92f6dda209bbf7e1cb62b6a9a848580ff36c61" + }, + { + "path": "bench/fin_shape_D16.jsonl", + "bytes": 556, + "sha256": "aa93151a032be320ccc7b949b831af7d0603859f1b190151c40c7512df38ce13" + }, + { + "path": "bench/fin_shape_D4.jsonl", + "bytes": 530, + "sha256": "7259affc45476fe73c4221a135c500ca3087206aaa3658a349f4fd867216fcc8" + }, + { + "path": "bench/fin_shape_D8.jsonl", + "bytes": 551, + "sha256": "2a1c54622c7d38843fc5d2dcc4d2ece15890c463ebf11144e98e9493d51f8da4" + }, + { + "path": "bench/fin_solo.jsonl", + "bytes": 1614, + "sha256": "88ce7f9e51198882ec2ef747b72cef03aa4b84dd433d63799632209942202586" + }, + { + "path": "bench/fin_solo_D16.jsonl", + "bytes": 547, + "sha256": "c681fa4cd2b4eb8537a63c8e463ed8c7c829b8ec4b22f54287909fe8e53fe9bf" + }, + { + "path": "bench/fin_solo_D4.jsonl", + "bytes": 524, + "sha256": "587ba35f076ebfc1cbbc11a59e6e75f1e67faf3579f3bfb06f3ac7630171c723" + }, + { + "path": "bench/fin_solo_D8.jsonl", + "bytes": 543, + "sha256": "9a99d71c32aa50b1445141f3768051ef430e6b48c2f0a521cb3676dae60b0a84" + }, + { + "path": "bench/fin_sweep_S512.jsonl", + "bytes": 4456, + "sha256": "f7a04104c7d1bd617a7a90fe24a67ba1ba6e86e69ff1e09484b9187650ae624d" + }, + { + "path": "bench/greedy_compare.py", + "bytes": 1773, + "sha256": "9debfadcf740b8c08634eeeac426713fd7b6b61930b68c168c88d9828c8354aa" + }, + { + "path": "bench/greedy_furiosa_llm.jsonl", + "bytes": 16241, + "sha256": "bd138e3bd925fd60d3818872bb4e63e8530217feb813acf0d11395ff862f1b39" + }, + { + "path": "bench/greedy_furiosa_llm_together.jsonl", + "bytes": 16243, + "sha256": "4446d82b87ff183c7a9e381c40025da8355c6b07aeea3541004bdb908b69ae64" + }, + { + "path": "bench/greedy_rngd_pd_base_S1024.jsonl", + "bytes": 14404, + "sha256": "aefddb3e20b962f1443d9bf655b625393c43e3ea615dc62fd30d50becbbab9b9" + }, + { + "path": "bench/greedy_rngd_pd_base_S2048.jsonl", + "bytes": 21173, + "sha256": "d21ccd37eb30ad93feb9d34054c320551d64100546c71af6988d12ea17406336" + }, + { + "path": "bench/greedy_rngd_pd_block_S1024.jsonl", + "bytes": 16030, + "sha256": "5a8c63e840bf7f12d5e85e171b54ac29c6f792d9e407ca4395c54a9835e57a80" + }, + { + "path": "bench/greedy_rngd_pd_nodelay_S1024.jsonl", + "bytes": 16030, + "sha256": "ec51fa9eb272b7cf4cc8d836ca30945cc6c8b5b95272afe2aea5281723cd1989" + }, + { + "path": "bench/greedy_rngd_pd_t4def_S1024.jsonl", + "bytes": 16038, + "sha256": "2e01037dac48cfe5a691f20545ad4d0401a172cc14b9a57c8152bf31631445a8" + }, + { + "path": "bench/greedy_rngd_pd_t8_S1024.jsonl", + "bytes": 16026, + "sha256": "9ac3cfe3da2d473ab2f63074262c37932b9c2a74257efbd59a4419d29bd4e130" + }, + { + "path": "bench/greedy_rngd_pd_tiers_S1024.jsonl", + "bytes": 16035, + "sha256": "9fca44ae5cefac169d744ab726d2f6e4221e3b6b0b2af07af8da2b652f270596" + }, + { + "path": "bench/greedy_rngd_pd_together_S1024.jsonl", + "bytes": 16030, + "sha256": "7c84c0a8efe1dd16ce2ecf7e99d26f6e5c340b3db5663dc323549f69268b2fa8" + }, + { + "path": "bench/harness_furiosa_llm.jsonl", + "bytes": 9270, + "sha256": "ed08f85dc6b0b203b1417adb7a63fe7ac51ee4feb08ae06c7701cdc6d20407f9" + }, + { + "path": "bench/harness_report.py", + "bytes": 1986, + "sha256": "b368e3e03289a2ea884d541bc1da26da1e569c5e8efd325c89a7972bde3323b5" + }, + { + "path": "bench/harness_rngd_pd_block_S1024.jsonl", + "bytes": 3852, + "sha256": "bbd00eab10237e1f63c0a572e00872e4183a6263551e740373524f532b6e1b47" + }, + { + "path": "bench/harness_rngd_pd_nodelay_S1024.jsonl", + "bytes": 3856, + "sha256": "c08b6af2f21fd8d4f96ad0a1def6821e4c7862452fa15960dab604384e940340" + }, + { + "path": "bench/harness_rngd_pd_phase1.jsonl", + "bytes": 11951, + "sha256": "4ad8f25d6a6891a93244df3955c4cda911bfc10f10c47ea7d7e6eef5d0cbdd2a" + }, + { + "path": "bench/harness_rngd_pd_t8_S1024.jsonl", + "bytes": 3854, + "sha256": "f8e82f7249e3a549c466f8845e32db74514930692ab06ceb491ac32efdc7543c" + }, + { + "path": "bench/kpi.py", + "bytes": 10780, + "sha256": "c8a881ef6ea258661d3a1c46dba3843702390f7c77d0257c4acd592a7bcf1ffd" + }, + { + "path": "bench/kpi_batch_B816.jsonl", + "bytes": 1667, + "sha256": "a259514debed78955e2c545cb1964b2dd1af7f91af9fa54a35fae4dba53f0b4d" + }, + { + "path": "bench/kpi_batch_g2.jsonl", + "bytes": 1669, + "sha256": "b0337f594fe0996f7b8d2082b466313fa410bdfea8d322a84ee91997b178b894" + }, + { + "path": "bench/kpi_figs.py", + "bytes": 30707, + "sha256": "e45ee99855c023c83bc20ec7c6e2c576721c44d615c8f9932326f4113b42ed39" + }, + { + "path": "bench/kpi_memory.jsonl", + "bytes": 245, + "sha256": "e8f55f717db2e481e6afac5c72fd86671b333239927e252a724094d2daf3ebc0" + }, + { + "path": "bench/kpi_memory.py", + "bytes": 4072, + "sha256": "a05624ce48c43e63f85337391c7eafcb2a40ab9337597ce7a5fb94fb4ad9e9fe" + }, + { + "path": "bench/kpi_memory_S512.jsonl", + "bytes": 245, + "sha256": "2d3715fb078f4315b05c528f1bedc238151fc08fc557cfa9e11d6e05859d7e7d" + }, + { + "path": "bench/kpi_ratio_1p1d.jsonl", + "bytes": 2207, + "sha256": "2437bc58f772c90a6d4ef1620366b70b4ba1bc2948be89ad9a35951335f9d8d2" + }, + { + "path": "bench/kpi_ratio_1p1d_D16.jsonl", + "bytes": 1109, + "sha256": "a3d066e063cd2f6cfe449c11227df9b7876cf12602e7df3a0e53c257b7109a13" + }, + { + "path": "bench/kpi_ratio_1p1d_D8.jsonl", + "bytes": 1098, + "sha256": "feda00b8803f0676b7884d53a162a3dc41fd50328b2f117c09bcf27e102501f3" + }, + { + "path": "bench/kpi_ratio_2p1d.jsonl", + "bytes": 1663, + "sha256": "ae82da433dc6acd5e15160ea07cea27d87788b6dfc0e5af0ef698d1f9068a1f6" + }, + { + "path": "bench/kpi_ratio_2p1d_D8.jsonl", + "bytes": 551, + "sha256": "9b326579c3fc80aff90e8a1fefdf57198c19bf98cff2d71bd6e321aaa8c52f3c" + }, + { + "path": "bench/kpi_shape.jsonl", + "bytes": 4927, + "sha256": "2c8f79233688ecfecdf92b2f3d89d394bea384009363f696091f24e9f0a96376" + }, + { + "path": "bench/kpi_shape_D16.jsonl", + "bytes": 1676, + "sha256": "72305e5478c86ec81c7b38904e570becc0e8aedb43104ac7e17509c916498eaf" + }, + { + "path": "bench/kpi_shape_D4.jsonl", + "bytes": 1596, + "sha256": "31e313c4b538a0c75a6d610264c198949c2ad503f3060520821a3366ac16f0a4" + }, + { + "path": "bench/kpi_shape_D8.jsonl", + "bytes": 1655, + "sha256": "185a4bb2894fb452bdb6bc944e85df262497a616907469906ffc611826131569" + }, + { + "path": "bench/kpi_slo.py", + "bytes": 12514, + "sha256": "8f8e8bfb54b0e49dbb506ebcc8a967b6d0b86555b8787a2303b6edd466332d3b" + }, + { + "path": "bench/kpi_slo_S256.jsonl", + "bytes": 1064, + "sha256": "72056b79bed1b069037e8d637a1d06e057cd547dd4ba9860b72e8a3121867aab" + }, + { + "path": "bench/kpi_slo_S512.jsonl", + "bytes": 6431, + "sha256": "ba1d56f247bf5d2226685ddbd68b801f3f1861d8061962588dcf8d69c9e81204" + }, + { + "path": "bench/kpi_solo.jsonl", + "bytes": 1595, + "sha256": "3ea782c61636207ae82d2d5057e783ec8714c0ef8a8a0d14627777861dbcfd5d" + }, + { + "path": "bench/kpi_solo_D16.jsonl", + "bytes": 541, + "sha256": "08ce01904833904f6b062b1c76636c06685f293dd4f8a3501ed25e7dc5d235aa" + }, + { + "path": "bench/kpi_solo_D4.jsonl", + "bytes": 517, + "sha256": "ffe34fb043898e6c8a08c57d2f1f6e099dae02de6e5b744972ee1f669de27607" + }, + { + "path": "bench/kpi_solo_D8.jsonl", + "bytes": 537, + "sha256": "05abef59e2cab1975464fefcde26bbd37b13450d0bc6e52bab1a648a2f34df76" + }, + { + "path": "bench/kpi_sweepA.jsonl", + "bytes": 17434, + "sha256": "c576937abc5ea6fd9403add1118758a040ffc7a026f215672d5bca20b4ab82b7" + }, + { + "path": "bench/kpi_sweepA_kpi.jsonl", + "bytes": 20007, + "sha256": "237b6913a41761c3c8d8baa763eccd0dd43e75dcaaac8969c0d0db1f5d3c45b6" + }, + { + "path": "bench/kpi_sweepB_S512.jsonl", + "bytes": 22289, + "sha256": "5063e1ab7d3364e2a4d26b7a0204d97fea793e501161a25d9ede7e27acb87bb4" + }, + { + "path": "bench/kpi_sweepB_kpi.jsonl", + "bytes": 19369, + "sha256": "2387cded5eb42acdd88adfb4a1afdf5cb2f1fa69a446ecdcb6b6ebfb34e1545f" + }, + { + "path": "bench/kv_append_probe.py", + "bytes": 3047, + "sha256": "44ccaadfa9c75a499801c79c953bb77ed3babded749a0bf049c7ab1064f82102" + }, + { + "path": "bench/kv_tcp_bench.py", + "bytes": 5011, + "sha256": "9e4dd0a7c7ea387f3679785f98ef030b1796e6a794a9f0204eefd695945b2b70" + }, + { + "path": "bench/kv_ucx_bench.py", + "bytes": 7658, + "sha256": "d134a2fd077de2360a896f50497978c771304b0cca6253b69483a72a45c3e8d5" + }, + { + "path": "bench/l1_atom_cont.jsonl", + "bytes": 2762, + "sha256": "4d6d59ef72f9019514de0c401573b1798bceaf8ff175fcfdfda0fd499413f220" + }, + { + "path": "bench/l3_batch.jsonl", + "bytes": 3342, + "sha256": "1fcf5b92b964474dc49e4ad409c385bca12b2d88c063d222c33950deccea869f" + }, + { + "path": "bench/lmhead_hint_2026_2.jsonl", + "bytes": 2383, + "sha256": "0e640b81aa4b21e8f521de5a009a6f322e2e1518f54ee3c9aa8c1a8d09a7626d" + }, + { + "path": "bench/lmhead_hint_2026_3.jsonl", + "bytes": 2416, + "sha256": "7bbcd7879605625d91a411c7a0bfcbc83ffd520f4df88be4810f810aaef7bfc3" + }, + { + "path": "bench/lmhead_hint_sweep.py", + "bytes": 3970, + "sha256": "3fa08d3fa95ad6f5e73e0f8372c4a598c268f2b8077d0219e3cd5034acfc0c0e" + }, + { + "path": "bench/lmhead_test.py", + "bytes": 1250, + "sha256": "c3c0b8b39c3e2a993745c32c9ab7306c3c2bab242ccce4c9d2be58416b256c35" + }, + { + "path": "bench/load_continuous.jsonl", + "bytes": 7028, + "sha256": "a0d53a4366181187d1603acfff5332b445c47469a1e35fe9313490d1af4a79d0" + }, + { + "path": "bench/load_gen.py", + "bytes": 8754, + "sha256": "ec8f2ce16e9acb00e09bc853733e1b1aa1cc9b2f67bcc984f8e87dbccc854813" + }, + { + "path": "bench/load_static.jsonl", + "bytes": 7024, + "sha256": "92e8c972cbf1cc7612bd2619610e775512e28410b7b1fc1a0a8465eb631c085d" + }, + { + "path": "bench/narrow_kv_trace.jsonl", + "bytes": 910, + "sha256": "e672bc5d678cf4f7968abbac0b675792a942e6805355dfbe66bd6151b565fdbe" + }, + { + "path": "bench/narrow_kv_v2.jsonl", + "bytes": 460, + "sha256": "d659be6e629797786ed1d13c021ec1795659ec8363c70f154f597f22fba9742c" + }, + { + "path": "bench/nixl_atom_owner.py", + "bytes": 3402, + "sha256": "93d3af006f888307e969ba5e00f8ba008e6773ecfe0944e954b80134b79a4ff3" + }, + { + "path": "bench/nixl_check_20261019.json", + "bytes": 4908, + "sha256": "f16afb19226c1a657b0b8468020452a09e760266de67d587d8644a9bd7e96989" + }, + { + "path": "bench/nixl_decode_tokens.py", + "bytes": 2400, + "sha256": "f16720f072d256666c61e88f2e5d6c31c65064933e0b80ea259e107ccb60b454" + }, + { + "path": "bench/nixl_kv_check.py", + "bytes": 13253, + "sha256": "959082f59e98042da09830d836146436c20c3a668de58c058d62d43db53b6cb2" + }, + { + "path": "bench/pd_cont_balanced.jsonl", + "bytes": 1281, + "sha256": "fad5edb3810de0e6509951adc8e3a70b20f2c6771aa902ae95a1c7915314232a" + }, + { + "path": "bench/pd_cont_longgen.jsonl", + "bytes": 1292, + "sha256": "ebb170df5f8fd08040dec06c7461507dba99ba253b16825910c8000ce21a1501" + }, + { + "path": "bench/pd_hetero_llama_diag.py", + "bytes": 5365, + "sha256": "284381a45b9e9512603fa374685596f36bd3aad792a974d2eadd8d36061d3a77" + }, + { + "path": "bench/pd_hetero_llama_kvdiag.py", + "bytes": 4788, + "sha256": "b25dbf8923fc3cfa6c3a0cc251a373590ea7873d598c15f96d6b28cd35b42fa6" + }, + { + "path": "bench/pd_hetero_llama_perf.py", + "bytes": 3782, + "sha256": "7916450d4ec3ecadf2d62e5947d6d88663cb325c4f20d943681c83ae9f5bb95b" + }, + { + "path": "bench/pd_reverse.py", + "bytes": 7769, + "sha256": "dfcfc8da9e9ad56a3398b0f36c97e53031fcbb04aa141bb9778823eff672050f" + }, + { + "path": "bench/pd_vs_solo_balanced.jsonl", + "bytes": 2562, + "sha256": "6430739db001112ff6ad9b8c5579e3d3db46e7ea847262732298cab2cdc9ff34" + }, + { + "path": "bench/pd_vs_solo_balanced_v2.jsonl", + "bytes": 1281, + "sha256": "5ecfd21673f48425dfc81872e6ecedeb7258dbb31f9b1b5c26eed5cd82695f28" + }, + { + "path": "bench/pd_vs_solo_decodeheavy.jsonl", + "bytes": 1294, + "sha256": "737a208b05cccb21078b8aa482d71eb98991ed16aa5860bdcc8b8d7de8cbb5ba" + }, + { + "path": "bench/pd_vs_solo_longgen.jsonl", + "bytes": 2576, + "sha256": "b2416839642dec9ed6648216f04c8640f133b9a045f44813da62ac7edda2af6f" + }, + { + "path": "bench/pd_vs_solo_mid.jsonl", + "bytes": 1296, + "sha256": "d2f4666f1c2ec35e2080e860680a3c6f75a73d4338e1c3867d94ee5425b54a5e" + }, + { + "path": "bench/plot_metrics.py", + "bytes": 7824, + "sha256": "fc7deac5ee290460cac1ad33bab500fefe47fbd1fc351ba21c2652c4c2d59e25" + }, + { + "path": "bench/plot_sweep.py", + "bytes": 10637, + "sha256": "0c36329b37c7280e276eb93e20ee7c2eeaf5bad320932b2047c3d83c22db97d2" + }, + { + "path": "bench/plots/fig_chat.png", + "bytes": 40145, + "sha256": "a17b62bcf21a85338f1200d3a26b1e002f473f98b9d69e18365ee7c849890aec" + }, + { + "path": "bench/plots/fig_context.png", + "bytes": 87493, + "sha256": "f52c44a64e1e71556790346d82fc21ab9a1999bb69cc91b94ab97059e59f3c3f" + }, + { + "path": "bench/plots/fig_load.png", + "bytes": 48788, + "sha256": "e6f1c964d52057694bf9fc131085ac35089108dd7a596b2a979268b3f24e2ae2" + }, + { + "path": "bench/plots/fig_ratio_theory.png", + "bytes": 89321, + "sha256": "1041edbec3eef583d471f670007c3e239e314bdd21a15643d6f05d34c0cd39cf" + }, + { + "path": "bench/plots/fig_tpot_util.png", + "bytes": 134618, + "sha256": "797ee4894456c0bbbb56dc36f2c17e213ea329494a3f7d13d3381a17b86b04b0" + }, + { + "path": "bench/plots/pd_crossover.png", + "bytes": 116076, + "sha256": "02b7f35396394e31642f51d21ceac9176e095b99a4d88523b2a1e5a588fb4395" + }, + { + "path": "bench/plots/pd_vs_dup.png", + "bytes": 142424, + "sha256": "cbcf4c957418bf6abd0fb66a315c968afc7c3bc14ea69645bf9000d3fe92fd20" + }, + { + "path": "bench/plots/serving_sweep.png", + "bytes": 200878, + "sha256": "6598dcffa64b193629f8b022929fe683458c2aac375b1359963b6c518f6d07ba" + }, + { + "path": "bench/plots_metrics/fig_handoff.png", + "bytes": 43277, + "sha256": "93d97b87108941617c51dc92a4d0bd43bce436ced5bbc587cf7917d8367e372e" + }, + { + "path": "bench/plots_metrics/fig_tokens.png", + "bytes": 109119, + "sha256": "1f047ef57e19c6d1e4671a1a70d10a0c6445255421d34f8afbbc5738f976b68f" + }, + { + "path": "bench/plots_metrics/fig_tpot.png", + "bytes": 116741, + "sha256": "8740126a82b546302aca573e48cd64fa7c8fba6ac76492b66a511d07fbb123ea" + }, + { + "path": "bench/plots_metrics/fig_ttft.png", + "bytes": 117774, + "sha256": "1a1e71adf0472a9dacacfffe9e9ca8333301f5d8ae1dacc867124852ffbb8535" + }, + { + "path": "bench/plots_metrics/fig_util.png", + "bytes": 151830, + "sha256": "bd874528fc67f5c77452364175400db835d7c171e7323e1c0bfdeacebca265cb" + }, + { + "path": "bench/ppl_text.txt", + "bytes": 8618, + "sha256": "e8fe5a7a8a74fbc91174f146a13e46699f5ddf9efa278b0276d1d1103de652d2" + }, + { + "path": "bench/prebake.py", + "bytes": 4766, + "sha256": "afa3ab56bcfd83a58e49ba80fd1b63b1a443d9f2448eb5ed55a53e24b8d9ccd5" + }, + { + "path": "bench/precompile32.py", + "bytes": 1182, + "sha256": "3bd79eec83a1619d153534635a3bd6c1d8dcd11120ffab3f2a3083a07cf6c170" + }, + { + "path": "bench/profile_solo.py", + "bytes": 6550, + "sha256": "3dff920ecaa7394af8f121447d2eaa2a9c41a7ea9e5ee044f0a8dd2d5ca9b7da" + }, + { + "path": "bench/profile_solo_S1024.json", + "bytes": 1135, + "sha256": "cf9a2b0fe324af7742404948a7d7944c2fcd640119bfbfbc01a26afc2d03ecea" + }, + { + "path": "bench/profile_solo_S1024_hint_default.json", + "bytes": 883, + "sha256": "2e32f85174de6a797c0b3fdfbf903b4f82cd5ccd81ed3d2c5fc5075b96140f20" + }, + { + "path": "bench/profile_solo_S2048_B16.json", + "bytes": 930, + "sha256": "98eb3b218081df8556e701bdd092615f234e022608a8934c4ca1050a84f40e37" + }, + { + "path": "bench/profile_solo_S512_B16.json", + "bytes": 930, + "sha256": "d6f5afb634ee808fb2ea3cc5e786b25ae0ae92cc40f4a7296017edbd93058b6f" + }, + { + "path": "bench/profile_solo_S512_B4.json", + "bytes": 928, + "sha256": "97147f5df09e8ad2d1e1f69ef18d8f081dd5a88bf9d1c697a2658ea50aa5a519" + }, + { + "path": "bench/rbln_bake.py", + "bytes": 2366, + "sha256": "e039cedc4d764b76ee19c05f7327a30f2f45d9cb2bb10a0297ed1603f6188616" + }, + { + "path": "bench/re_batch_S256.jsonl", + "bytes": 3335, + "sha256": "65b3405106e36a5794f95403c28441e7b43d98a956a2f09773f09a8aea7bc893" + }, + { + "path": "bench/re_shape.jsonl", + "bytes": 3293, + "sha256": "f313d7af3695e97fc295a5a2eee60bec9ca13b241ffc9712fa9c1e4d43752a6d" + }, + { + "path": "bench/re_shape_D16.jsonl", + "bytes": 1120, + "sha256": "cc6905726c519ba817e0a08455e3133d4f4bbe5a521dd2f70cfdfaaf89c373b9" + }, + { + "path": "bench/re_shape_D4.jsonl", + "bytes": 1068, + "sha256": "fb04376d5004e376240ea9a1f6b8199e4dfa991baa2cef6dba70462c8d62c34c" + }, + { + "path": "bench/re_shape_D8.jsonl", + "bytes": 1105, + "sha256": "e25a4f0e8e82b525d3d7b912e0111987ea3604513bbbdd440fd6f1984584fd10" + }, + { + "path": "bench/re_slo_S512.jsonl", + "bytes": 6855, + "sha256": "563456a387d07c621f74b32c7031607794614b6f2153c80116663ac66bc8407d" + }, + { + "path": "bench/re_solo.jsonl", + "bytes": 1602, + "sha256": "b9b81764bf9216a8112d71b53aa30fe0a8aacec1f618ade010bef07075653b23" + }, + { + "path": "bench/re_solo_D16.jsonl", + "bytes": 545, + "sha256": "803a4284b858949f7c64bbf7d680cdbe320d0f93fa85c66358e8aa03bf5a6c5d" + }, + { + "path": "bench/re_solo_D4.jsonl", + "bytes": 520, + "sha256": "56aa8af428fd478eb0e2ee8553cf4eeaebd63ae4fdcf40da1378e3108761a46e" + }, + { + "path": "bench/re_solo_D8.jsonl", + "bytes": 537, + "sha256": "7a69902cd78be4a0babb111dc23f481b0e750e92822fbb66961525de9a1b6259" + }, + { + "path": "bench/re_sweep_S512.jsonl", + "bytes": 22285, + "sha256": "f30826ff6ecfd9dee5deb1e92f048383c2b30dce6309dc7ea79d94f7247e2dec" + }, + { + "path": "bench/revert_check.jsonl", + "bytes": 459, + "sha256": "fe4daaee45516a2b94c4f883a05765c163dd5a80c9e4bba5cf916bee45ac866b" + }, + { + "path": "bench/rms_variant_ab.py", + "bytes": 5481, + "sha256": "5e7a5cfe986cd4a51dde7a9b5a62eda3eff56842582c836f241c854b483d8911" + }, + { + "path": "bench/rpt_shape.jsonl", + "bytes": 3293, + "sha256": "eeb7cbe7ff7646434d83ed96e783a7f82d99395cb74f4f35f0839c21900bafaa" + }, + { + "path": "bench/rpt_shape_D16.jsonl", + "bytes": 1119, + "sha256": "0d7f9de8f55ad0e38673a57a0bed48e562741a823f67082a81fa6cb6afe23f68" + }, + { + "path": "bench/rpt_shape_D4.jsonl", + "bytes": 1067, + "sha256": "bc6c0dfd44b53a53cfa61ff9d697623b029fcf7fa9a3413147e14a21331690f3" + }, + { + "path": "bench/rpt_shape_D8.jsonl", + "bytes": 1107, + "sha256": "0c12167f8752e593bdb0ad5bcc29ef1519c4b98ac48864d7210f52d42af96eb8" + }, + { + "path": "bench/rpt_slo.jsonl", + "bytes": 6851, + "sha256": "50c6d832b1cd2c7f0d8be1b6ba3777995e242c632fe69ac2fafed3916b41f19d" + }, + { + "path": "bench/rpt_solo.jsonl", + "bytes": 1599, + "sha256": "12de6af06f649d909165f567075c65ac0a03c78d3adf5a5ac97156e8d786f422" + }, + { + "path": "bench/rpt_solo_D16.jsonl", + "bytes": 544, + "sha256": "b6dc17d159ae12a28ed2bbd01bf96e3d8297d25d05cc5e70e83db7cade4dd524" + }, + { + "path": "bench/rpt_solo_D4.jsonl", + "bytes": 518, + "sha256": "db298200c264314685962aee406599a9b6beedfffc9b7f5ef0b9cd3fd9bbeec9" + }, + { + "path": "bench/rpt_solo_D8.jsonl", + "bytes": 537, + "sha256": "f7537e5ab23eb1dc46f1306124d03c76afd584ac7de9225fbcb36271a59b2067" + }, + { + "path": "bench/rpt_sweep_S512.jsonl", + "bytes": 22269, + "sha256": "7d00cbc06849d657711a215c32c4ad8ac33f4a0f450f21daece0c062260fe9d4" + }, + { + "path": "bench/serve_sweep_job.sh", + "bytes": 3604, + "sha256": "7d24fa433d910d73e57f1e143eb0289d9adf9e6d16c316f88692c8217a0cbe9d" + }, + { + "path": "bench/serving_bench.py", + "bytes": 6764, + "sha256": "fb469c7509d98b5010ddc356287289ff92411c38706e17b016833f067ab94e81" + }, + { + "path": "bench/swap_atom_probe.py", + "bytes": 6005, + "sha256": "c3c5b193f0dc2b35f56f2b9e00434ea83634097d9e662f0856b0eabfb68bc279" + }, + { + "path": "bench/sweep256_full.jsonl", + "bytes": 3473, + "sha256": "a15c9b0e2d6c3852e80bf441a308c9d3020799774ee1b7d734365eeaf4acc868" + }, + { + "path": "bench/sweep256_v2.jsonl", + "bytes": 6021, + "sha256": "a1148b8aba720872462aeeb646face2b8db4f9b3d880c7bd8fdba39825d4fc49" + }, + { + "path": "bench/sweep512.jsonl", + "bytes": 2446, + "sha256": "b4f4ce39dc9e93c9f773a0603c7e6191e0a38dbdad85fece3ced7f634f6da017" + }, + { + "path": "bench/sweep_hetero.jsonl", + "bytes": 8939, + "sha256": "2ffbc7e2be30b3cc219019cbafc1e3db0c8fd68dfb02728ab5abe3adbc5a98b6" + }, + { + "path": "bench/sweep_llmd.jsonl", + "bytes": 17429, + "sha256": "aa578906d2abb4553319315d19cf91c00659c5ba15bbeeb607aa4fbca86437e8" + }, + { + "path": "bench/sweep_llmd.py", + "bytes": 21183, + "sha256": "c865607693bacbf6ad089d305706afafc0250fb9646c789b82f2fe414040f78d" + }, + { + "path": "bench/sweep_llmd_S512.jsonl", + "bytes": 21848, + "sha256": "0564d37fd938bf3746a40aba86d4354cae66b06f1b8ad2a86dcd794c14cbd2ad" + }, + { + "path": "bench/sweep_report.py", + "bytes": 2898, + "sha256": "33697d4e69131f91325a870d72af98da0a2b1d990fd00b332c2591c640cf0f8d" + }, + { + "path": "bench/sweep_vendor.jsonl", + "bytes": 2910, + "sha256": "1ccc0d1c81e6e65d5f1803917abcf0feacf79a8ef682e5bf99c09e1954052a4b" + }, + { + "path": "bench/sweep_vendor_cached.jsonl", + "bytes": 2909, + "sha256": "26e06162c029926b8b6365f67758f05143f4b2973dc42987b029dd28deb6f74f" + }, + { + "path": "bench/sweep_vendor_full.jsonl", + "bytes": 5126, + "sha256": "0f0bb3f27afd5823e90cd61dbde6f2d6aab1b277a87078d0adb1f5b873b60c18" + }, + { + "path": "bench/sweep_wide512.jsonl", + "bytes": 9888, + "sha256": "02e454a40b95d169821ff36afb642e618e5b6e1848184ee9d5ddd816ffa663de" + }, + { + "path": "bench/tactic_probe.py", + "bytes": 4477, + "sha256": "88c6e9ac73dfd76f75975b52f9031729cc1f2a5e24e982a0e0a5e8cbc12c8b42" + }, + { + "path": "bench/tcl_port_probe.py", + "bytes": 4099, + "sha256": "9ca3b37ab5eb6f29b2596ac499fbbe86a04fad57b4869e7b5c6d9152131ca805" + }, + { + "path": "bench/teacher_forced.py", + "bytes": 7817, + "sha256": "0434c9ac6de8a834a81ea073c446a71f70e294c947401888d2e4c2a12a2c2200" + }, + { + "path": "bench/teacher_forced_hint_default_S1024.json", + "bytes": 1175, + "sha256": "42227d5be5d6be8880428312feb2c7e7ad5a38dcff5b35d2fe28038e9412c177" + }, + { + "path": "bench/teacher_forced_tiers_S1024.json", + "bytes": 1139, + "sha256": "27d78dc44c1cbc5376a7997d843dd43dbfea4f01e090966ba885503134bfcd47" + }, + { + "path": "bench/tier_numerics.py", + "bytes": 4358, + "sha256": "7056e3494ebd9c17cb2f19abd42517a4e74027b9fdc1e6ec9128efa2187da8a1" + }, + { + "path": "bench/token_gate.py", + "bytes": 2111, + "sha256": "6267b4bfb3346a185f936ab6ef55d684c4a5d1fd7a024e4e10071185e15c7e7a" + }, + { + "path": "bench/vendor_dup.py", + "bytes": 4854, + "sha256": "fe45d6065873e257c264d1f0bbbc45f780b10104a193595dc70f1f68b6b58a26" + }, + { + "path": "bench/vendor_sweep.py", + "bytes": 13720, + "sha256": "b8606deccea1f1a9ebf58690ea9ca31a4807024bbc56beb4eb8c97f3add2cd94" + }, + { + "path": "cluster.example.env", + "bytes": 797, + "sha256": "bb28775a538da39762c726419c3632ac03a86a4c545c83d66aafa31575f285c7" + }, + { + "path": "deploy/Dockerfile.gateway", + "bytes": 452, + "sha256": "1b4e491934e9ae91a982abf6a1ea687029f1019f8d21481500bd7b6c654dcc15" + }, + { + "path": "deploy/Dockerfile.worker", + "bytes": 1762, + "sha256": "23d1e6988d25a423f8bbe416bfc58e9616ab9673d70397da35bf52e87443c998" + }, + { + "path": "deploy/README.md", + "bytes": 3965, + "sha256": "66bc015eba5500333a03568bb064637cec3a4655d3920a640b6b430cd056e986" + }, + { + "path": "deploy/add_vendor_tools.sh", + "bytes": 1334, + "sha256": "4be70c8a333c37315414685a875928c94951d86201005037441617b282b3d702" + }, + { + "path": "deploy/build_images.sh", + "bytes": 3139, + "sha256": "254f6b644fdfb186a5adb2bf8aaa7993d4647ba25e99a6580a2e5e249b668022" + }, + { + "path": "deploy/docker-compose.yaml", + "bytes": 1751, + "sha256": "90a3dd09112abd7cdaff5a8b5249e9e48845ce4d6db18058f3a530a83f80402a" + }, + { + "path": "deploy/fix_image_deps.sh", + "bytes": 2051, + "sha256": "0bf0439883e9819f744831caea186ca54b716a975b09799dea14f5e802548eaa" + }, + { + "path": "deploy/helm/rngd-pd/Chart.yaml", + "bytes": 199, + "sha256": "8d153e80c5409b14b9fbd73a72512ee151d9447e2778acea14c0f2c19ddbf7d1" + }, + { + "path": "deploy/helm/rngd-pd/files/tcpkv.py", + "bytes": 17052, + "sha256": "b8137487ea843017270f1a1f6c3ab04a13b5bca820e809c84ecf70f6569f82aa" + }, + { + "path": "deploy/helm/rngd-pd/templates/_helpers.tpl", + "bytes": 1824, + "sha256": "3d7434d5727a713a8ffbdba938605c1da0de3af4f4e7c10fd22bce61c80473c0" + }, + { + "path": "deploy/helm/rngd-pd/templates/gateway.yaml", + "bytes": 2611, + "sha256": "0e3a82b10caeeb0eaf2993f31a0fe3b9d5e4086319804b1002a59fb84a973ae5" + }, + { + "path": "deploy/helm/rngd-pd/templates/kv-relay.yaml", + "bytes": 2238, + "sha256": "e400a5c68a77d7e0b7b4edbc9349ec1a66c73377851f8644dda6baf629e4f8d8" + }, + { + "path": "deploy/helm/rngd-pd/templates/workers.yaml", + "bytes": 3026, + "sha256": "9fc7e570db234b3bf6c4b64b49b61e9a7bb3548b007d6562b556d727a8cc46f9" + }, + { + "path": "deploy/helm/rngd-pd/values.yaml", + "bytes": 3805, + "sha256": "814dcb62af7f23e7a2fdfb3ccc2d4b7a1a50b3a083a817bf3e1ea641ee48a7b6" + }, + { + "path": "deploy/k8s/gateway.yaml", + "bytes": 1312, + "sha256": "0a053d45cac63e38e970566ee9d174a9a04ca7eb4cab177f354c1b46aa6a466b" + }, + { + "path": "deploy/k8s/gen_sweep.py", + "bytes": 16453, + "sha256": "78ed5cb8e94c46a0eb45fa217cc228361265356f05bead189126b0b81452c448" + }, + { + "path": "deploy/k8s/pd-hetero.yaml", + "bytes": 13023, + "sha256": "f01f97cfe0f0049014f4fe8a3d0df20e0d08074607fbca3dd3521752a050dd95" + }, + { + "path": "deploy/k8s/render.py", + "bytes": 1854, + "sha256": "c1aab8569422be1177c2c2b47eb18816ac35a623a4a555814364748becaefa3a" + }, + { + "path": "deploy/k8s/serve-sweep-job.yaml", + "bytes": 5603, + "sha256": "54956d66b7fd47f4fa2f310253e485d06fbfec9b1d9eaae6a4a7c09dacc29e7c" + }, + { + "path": "deploy/k8s/swap-atom-job.yaml", + "bytes": 3857, + "sha256": "034adff5d91589e04c390a6355590dcf562749da7409d97a8f1eecad02f208e5" + }, + { + "path": "deploy/k8s/swap-rngd-job.yaml", + "bytes": 4702, + "sha256": "be4ffb5fe193ebafd36a48ad70fd973571c05c475923674b8a65cdfac09645e3" + }, + { + "path": "deploy/k8s/sweep-matrix-s512.yaml", + "bytes": 32176, + "sha256": "3ca005d739bf297faa35a5a3ffe2de6d578e0ccc00934c25c8cae07cc4f9be67" + }, + { + "path": "deploy/k8s/sweep-matrix.yaml", + "bytes": 32889, + "sha256": "abb52aeee2b0f1d90616f3efacf1777902ab885c33bd9616a79bfebb181510a4" + }, + { + "path": "deploy/k8s/workers.yaml", + "bytes": 2710, + "sha256": "d8f440106f15cff7fba914e02b521f1da4f79df3d1f987bff8124ecce7b3c7f0" + }, + { + "path": "docs/delta-load.md", + "bytes": 14418, + "sha256": "3d5d633fc1d6a87dae7d9cbd40ec8b2a336a0f3e5be2182601bc381ca8a27c9f" + }, + { + "path": "docs/delta-swap.md", + "bytes": 18027, + "sha256": "5e41be9129b6cf4012ed4cffe2a965917f4d637b2f0df29f072220879e7d3083" + }, + { + "path": "docs/furiosa-request.md", + "bytes": 7753, + "sha256": "520014b16d246efb9c78db4051c9154b13ec1bb2be1fd23a10371198d2909965" + }, + { + "path": "docs/llmd-integration-plan.md", + "bytes": 18015, + "sha256": "939f12599df4b3ee26ad2c0d6bf15380c0ecb006d0eb21b4a4c040705243c208" + }, + { + "path": "docs/llmd-usage-and-compat.md", + "bytes": 10378, + "sha256": "0f8138dccc296a19be66236b71fa871c2099cbfdfaa67896737b884cbf4493df" + }, + { + "path": "docs/prepared-serving.md", + "bytes": 12149, + "sha256": "221ba9cd455f51b0c7a6af55e85379ba86c14c88f590d7ee5e139e2d18c90507" + }, + { + "path": "docs/superpowers/plans/2026-10-23-resident-update.md", + "bytes": 5833, + "sha256": "71d01cbb07227ad309f5e53f64cbd2ab6b9f4caa6d337213982983fbdfc7b958" + }, + { + "path": "docs/superpowers/plans/2026-10-23-rngd-resident-optimization.md", + "bytes": 8036, + "sha256": "95ea562266426b0a322c622c4f5558c3464b43ff4d9318f130b0361242969ed0" + }, + { + "path": "docs/superpowers/plans/2026-10-23-serving-delta.md", + "bytes": 5989, + "sha256": "0ae8a104ce77a3dd3f219b56bd4f0873cc6e9856d507b3a44dca28a35d113cb1" + }, + { + "path": "docs/superpowers/plans/2026-10-30-cold-load.md", + "bytes": 5214, + "sha256": "ecee83a7275bc606f91e3d8ec9acfd765a7674f99c1f4b20ef50f4c95b2252b1" + }, + { + "path": "docs/superpowers/plans/2026-10-30-runtime-integration.md", + "bytes": 7739, + "sha256": "958cc154fe280fe1cc56f17aa02149255127d683e98eeafd6dd212096e529bba" + }, + { + "path": "docs/superpowers/plans/2026-10-30-sdk264-cache.md", + "bytes": 4725, + "sha256": "0424f1b801601276d4c10f74b56f039e0618a13bd6966fc2c786d67e153900e8" + }, + { + "path": "docs/superpowers/plans/2026-10-30-standalone-prewarm.md", + "bytes": 6561, + "sha256": "3f14fb7541611ab1237e08928882dc6d4c471ae18557741e2011fbbef60922b5" + }, + { + "path": "docs/superpowers/specs/2026-10-23-resident-update-design.md", + "bytes": 2300, + "sha256": "a90259cd709929f26000c48f1893804b6ffcb63224db8badbb6d6375e521389b" + }, + { + "path": "docs/superpowers/specs/2026-10-23-rngd-resident-optimization-design.md", + "bytes": 4038, + "sha256": "ad9c4da6401a0c742cf3f5d25d99acc42224c6e8f5de28068a7fdb17abe72a5c" + }, + { + "path": "docs/superpowers/specs/2026-10-23-serving-delta-design.md", + "bytes": 2596, + "sha256": "389a997d750846e918da0e6ef7d773f58f5dd747389937ea7c0adb4124418bbd" + }, + { + "path": "docs/superpowers/specs/2026-10-30-cold-load-design.md", + "bytes": 2470, + "sha256": "9557710f2945262d5e8859ccd0459aac7ed17d15a07d9b145b2f529f2ede395b" + }, + { + "path": "docs/superpowers/specs/2026-10-30-sdk264-cache-design.md", + "bytes": 1699, + "sha256": "2896895c50688c17d510b868735d8c1b44b645011524217827d1a28878f66425" + }, + { + "path": "docs/superpowers/specs/2026-10-30-standalone-prewarm-design.md", + "bytes": 2026, + "sha256": "6f896c2c4b32c1d0ccc739d876fd6c8e25e63bc06b89c2b46b4751073b024deb" + }, + { + "path": "experiments/2026-10-22-delta-swap.md", + "bytes": 13196, + "sha256": "53ef6def0ea80d74fed863c0e79fa20c0e385ae94d56d998d753451a299228b1" + }, + { + "path": "experiments/2026-10-23-npu-delta-load.md", + "bytes": 8575, + "sha256": "f72f33084a74b026f7e6dd6b0d2afe8aeeb9536361da5b2ff8ffb9cee3f900f3" + }, + { + "path": "experiments/2026-10-23-resident-constant-update.md", + "bytes": 14078, + "sha256": "9b1b8eb73af70153885e94b8bcc95d4af53133358111ac24382ffd142c937c02" + }, + { + "path": "experiments/2026-10-23-rngd-row-update.md", + "bytes": 11725, + "sha256": "dc2707ee33088c05c88cdefa1e3dcc9c4270ca4817093c47ec6c252e0349ea7d" + }, + { + "path": "experiments/2026-10-30-rngd-host-staging.md", + "bytes": 6945, + "sha256": "a7ef92f8fbc0b85654ad219ece71ea2ee9bc177e120059b3ba8380da9169ae80" + }, + { + "path": "experiments/2026-10-30-rngd-sdk264.md", + "bytes": 10985, + "sha256": "f75319d96d21e2a1f42379fb1a54385f0e8b683e256f83ad2a95de420a08df9d" + }, + { + "path": "experiments/data/delta-swap-20261022/atom-warm.json", + "bytes": 6168, + "sha256": "8dddd32c1d6012d282f99681575acd527169d4147a5c594e86d2120e670eecda" + }, + { + "path": "experiments/data/delta-swap-20261022/atom.json", + "bytes": 10941, + "sha256": "2f93f9c108eafb709ccd772a061241f088f8f20c23a2715d26e1ed48512eb4b9" + }, + { + "path": "experiments/data/delta-swap-20261022/projection-ranges.json", + "bytes": 248, + "sha256": "97638e905a77cadac590a132575d9310e51febb6c8af05775250a0b9c89e3675" + }, + { + "path": "experiments/data/delta-swap-20261022/rea.json", + "bytes": 817, + "sha256": "693d01f73c6d986db3b86213c34e7d67faa680db065fddd68dc84ff948a24c3c" + }, + { + "path": "experiments/data/delta-swap-20261022/rngd-refined.json", + "bytes": 8419, + "sha256": "fe2f91234885f169eafdfc39da4c61e2c12074f8b038f57e0fb914095297049c" + }, + { + "path": "experiments/data/delta-swap-20261022/rngd.json", + "bytes": 37909, + "sha256": "f30fa07b6bc552632217b65f82231034d14da9d8d6c25a8192ea5723dba7394b" + }, + { + "path": "experiments/data/npu-delta-20261023/atom.json", + "bytes": 5868, + "sha256": "c108ff81417030ef173f43cd5f5f81ec956f84deaca4e04775be3a873384c0d6" + }, + { + "path": "experiments/data/npu-delta-20261023/onggi-forward.json", + "bytes": 1905, + "sha256": "65a3fae8472beb0166800f4512f05f09ffcefa0d4e80a85fa8ce755126454adc" + }, + { + "path": "experiments/data/npu-delta-20261023/onggi-reverse.json", + "bytes": 1905, + "sha256": "e7b171278ada1410516fe23888fcab7960b8d97beba1d71104218202f85f3704" + }, + { + "path": "experiments/data/npu-delta-20261023/provenance.json", + "bytes": 1274, + "sha256": "4ea233993c67665e7febcc92a50cab815ea8c1043536140c59d03ebbb23ab5cf" + }, + { + "path": "experiments/data/npu-delta-20261023/rngd.json", + "bytes": 8776, + "sha256": "59cdd52a24ee0bbd281a80a634cbf9040d767aa99209f25124c51c450d4767e2" + }, + { + "path": "experiments/data/resident-update-20261023/device-input-control.json", + "bytes": 4967, + "sha256": "4b10b0f6b7178d59e28af38c6d1f0e9360bc287a3c2742e9d83e5d52ffbe02b1" + }, + { + "path": "experiments/data/resident-update-20261023/llama8b.json", + "bytes": 20125, + "sha256": "dad47c66c32913d6ecda31d0ffb96e957828a6f2742aba712ff6499a475b6d3b" + }, + { + "path": "experiments/data/resident-update-20261023/provenance.json", + "bytes": 8688, + "sha256": "0024f55d80e52d85b9d196f3724a5cc1c3e294b0c5a4c531f2181f2eb20986c4" + }, + { + "path": "experiments/data/resident-update-20261023/rea-emission-gate.json", + "bytes": 4164, + "sha256": "08c4ff9f098e2963adf7ee1d5ae1c9bc1b883401ea451c54b72b8630668a5d7b" + }, + { + "path": "experiments/data/resident-update-20261023/rea-weight-free-flag.json", + "bytes": 6119, + "sha256": "648ac02db20928bbe5d6cba29c8cce87d2d0441a4e5a39f0977ed528528c033c" + }, + { + "path": "experiments/data/resident-update-20261023/rea.json", + "bytes": 23766, + "sha256": "b2540562d68575e19ec424219109cd3a68dd23cbcaa90d92f734bd9b06d3e20e" + }, + { + "path": "experiments/data/resident-update-20261023/toy.json", + "bytes": 4609, + "sha256": "83d098a8fdb274e05b83c9fbd52c2e48d2421259cd30bf171b41b8c6364c82af" + }, + { + "path": "experiments/data/rngd-host-staging-20261030/diagnostic.json", + "bytes": 201199, + "sha256": "dac0944a53ae4505169b43a3efefc14fbc7f45477310d6c5b45736598abeb490" + }, + { + "path": "experiments/data/rngd-host-staging-20261030/full-model.json", + "bytes": 328975, + "sha256": "a830e867091456b8da7ba180dc45fb93168fac6d2f645f3643cdfd1f1697a817" + }, + { + "path": "experiments/data/rngd-host-staging-20261030/provenance.json", + "bytes": 197390, + "sha256": "72828c87655078ca80f472ba86ee4aeb45b1c87c6db1b45ef6b830ec3cb6852b" + }, + { + "path": "experiments/data/rngd-row-update-20261023/llama8b.json", + "bytes": 97645, + "sha256": "ab462a31d1ba173846a7da5f77d25741b17ef3a9af9e4a159b64a47c306a7523" + }, + { + "path": "experiments/data/rngd-row-update-20261023/micro.json", + "bytes": 12279, + "sha256": "945460122f68f2ce9a1c000aba546e16d535216b36cb94f7688a75d613533218" + }, + { + "path": "experiments/data/rngd-row-update-20261023/provenance.json", + "bytes": 40862, + "sha256": "e63d237b32d5010803f466ea48ade1af4b5d025c9347c8b12377f7e96d822110" + }, + { + "path": "experiments/data/rngd-row-update-20261023/sdk.json", + "bytes": 3928, + "sha256": "18e63f82d0934ede28ff3a5f238c234f325f79c4fec60981296e31acdd79a032" + }, + { + "path": "experiments/data/sdk264-resident-20261030/full-model.json", + "bytes": 233976, + "sha256": "c2c88a4ff525aeb7bc9a6f2df082bcb14850aa885055781c75becc4bd90a5cea" + }, + { + "path": "experiments/data/sdk264-resident-20261030/micro.json", + "bytes": 70926, + "sha256": "ca80614b895b76732926076e8a00301e5b53bf4969df93abe45936055c6ac5d0" + }, + { + "path": "experiments/data/sdk264-resident-20261030/provenance.json", + "bytes": 32591, + "sha256": "e4a0d051bcd788fb501b9dd2948b7055594eee50fa7989c3fb2b5afa4353b927" + }, + { + "path": "experiments/verify_npu_delta.py", + "bytes": 7527, + "sha256": "ef21aa6528fe2b306adb0ac06282697da494d309c1b43fb95695166d6a5418b1" + }, + { + "path": "experiments/verify_refined_delta.py", + "bytes": 2619, + "sha256": "dd9d54eaa488d39777ed8ebeeafb9600daec06bea65ad146de31852f4a98cece" + }, + { + "path": "experiments/verify_runnable_cache.py", + "bytes": 2593, + "sha256": "33b318d2a57d40aad085c9377de291a0b027800be76dd456d10361e312bbac98" + }, + { + "path": "pyproject.toml", + "bytes": 781, + "sha256": "4c4268c9a8296b84b2392d2301f8151be32af838662a5a80fb10e58a06e0738a" + }, + { + "path": "src/rngd_pd/__init__.py", + "bytes": 467, + "sha256": "c75dc2ea438ba2f931728325e28fdfe882e8b71dd6b4ec68c2ad01d2613319e4" + }, + { + "path": "src/rngd_pd/_tv_patch.py", + "bytes": 967, + "sha256": "50cfd85acc9e9ed678efd3b76ac05ce66d0d709d0dbf238a42b0cb65a12dfdf7" + }, + { + "path": "src/rngd_pd/airm.py", + "bytes": 22677, + "sha256": "f842d208627e3d7a77cba36da43fa37effd9040d136131f79f319cfb6033b03d" + }, + { + "path": "src/rngd_pd/connector/__init__.py", + "bytes": 54, + "sha256": "4594e03bd4d3e5626f277440ecc5bfe8c878b224b31d57dd68a683854f52f7c4" + }, + { + "path": "src/rngd_pd/connector/base.py", + "bytes": 4372, + "sha256": "c08fe8a1a08710e24801fc2b0998bc1e155dadf894957658b99255e9cd9f3fcd" + }, + { + "path": "src/rngd_pd/connector/rngd_kv.py", + "bytes": 5668, + "sha256": "1611ff82ef3971df42685aa7e6d8b415a3b5a0a3a91cd352cf49b5b4fb789757" + }, + { + "path": "src/rngd_pd/connector/tcpkv.py", + "bytes": 17052, + "sha256": "b8137487ea843017270f1a1f6c3ab04a13b5bca820e809c84ecf70f6569f82aa" + }, + { + "path": "src/rngd_pd/connector/transport.py", + "bytes": 21243, + "sha256": "40cdf6bf635916ec0460d0f44b8a6a77e987c80d09595fe3a6c52f8746d7490f" + }, + { + "path": "src/rngd_pd/connector/ucxkv.py", + "bytes": 16599, + "sha256": "d8b1c72fcbe62d14a79a3623a61d3790e58121f03ff07c25be1c8a279c221f69" + }, + { + "path": "src/rngd_pd/connector/worker.py", + "bytes": 8880, + "sha256": "877d504057693a5fa02cd679f44a499812adfcd70d247b86bc4cce453c5cf2f2" + }, + { + "path": "src/rngd_pd/devices.py", + "bytes": 4560, + "sha256": "4bb8873dc27eaa15dad903b334b1337303d7df49691c96b547eab1db965ab4af" + }, + { + "path": "src/rngd_pd/engines/__init__.py", + "bytes": 69, + "sha256": "e3ba109f5a41f8d38ed636803dce1e72ca96a842721498b48a6458e1de887854" + }, + { + "path": "src/rngd_pd/engines/artifact_cache.py", + "bytes": 6455, + "sha256": "f7946062a6770e8ad0c5e362bcb8554a8831e8e87fbd8e38af00dbf20b40ebb9" + }, + { + "path": "src/rngd_pd/engines/decode_batch.py", + "bytes": 23534, + "sha256": "ed04766be268b0ba1a03f6b08d5b12f74252c99022447cd3034113bdaab53070" + }, + { + "path": "src/rngd_pd/engines/decode_resident.py", + "bytes": 22560, + "sha256": "7d84159439edcb2e2c7c8b3c5468db936185dcba38532bc312de1dc679251f4a" + }, + { + "path": "src/rngd_pd/engines/fsdk.py", + "bytes": 5529, + "sha256": "742feb682c98e1f98df04137c4f8ceb65332ea1ec659e97deba8cb2bc3c012af" + }, + { + "path": "src/rngd_pd/engines/model.py", + "bytes": 8725, + "sha256": "e9f89d5bde73015d6f630a14cf498a34cab9c753367d7afe2d0ec93e81fdc547" + }, + { + "path": "src/rngd_pd/engines/model_wired.py", + "bytes": 7781, + "sha256": "843062ae87928cb70ee7d5c046c22c0e222b01c3148d649f442685dbd35384a9" + }, + { + "path": "src/rngd_pd/engines/prefill_chunk.py", + "bytes": 9298, + "sha256": "1f3eaf7a31da7225c0d18e3b656c9d056437ea99be4b33d891376c749c7c1e9e" + }, + { + "path": "src/rngd_pd/engines/prefill_full.py", + "bytes": 20495, + "sha256": "3786daf83209a917a42b58a07a2714ef1ffd5ddc3b3f577421eda057674a2ae4" + }, + { + "path": "src/rngd_pd/engines/tiers.py", + "bytes": 2920, + "sha256": "b9ff8a4df0aef7ac452092b78a52705e248cc7be0efc22a02de3037dd4afddaa" + }, + { + "path": "src/rngd_pd/kernels/__init__.py", + "bytes": 74, + "sha256": "7c8e099136e584d383257fb4a2b34b9eef6a42ba846117b4a52f312c0510bb46" + }, + { + "path": "src/rngd_pd/kernels/decode_batch.py", + "bytes": 12978, + "sha256": "3dd12946056f787dd4545bf52cfbd8fc4d8bfe68e6bd37beb24f2636c1300b2f" + }, + { + "path": "src/rngd_pd/kernels/decode_resident.py", + "bytes": 8394, + "sha256": "49361e31a26e6926ef0c45f86edeb5ecc75f5328d3fa92930981755488c10042" + }, + { + "path": "src/rngd_pd/kernels/dsl_b1.py", + "bytes": 7323, + "sha256": "34555fd3f80f7fa6eff5ef508280000ef37de690e03fa95271b7d76c55fee695" + }, + { + "path": "src/rngd_pd/kernels/dsl_batch.py", + "bytes": 7271, + "sha256": "9234cf3a0a738d3f8b0e1c44efed1cbbd3954325e5714a85e3c2b9bf1ce995ca" + }, + { + "path": "src/rngd_pd/kernels/prefill_chunk.py", + "bytes": 13942, + "sha256": "51cd5cd927efaa3cdaccb5a1e7971dc3b8944f02d0ef7c9c01d000f76a5cdd24" + }, + { + "path": "src/rngd_pd/kernels/prefill_full.py", + "bytes": 9458, + "sha256": "4fb91421d5501e6f103fd6f8cf9bd26f481a275ecfd60516f8e9b4d9bf569807" + }, + { + "path": "src/rngd_pd/kernels/prefill_full_chained.py", + "bytes": 6206, + "sha256": "89ad6cd2a1b080e5a2ffbdf27d80a49aabbf5b2351a0c7bcbce34684202fe30f" + }, + { + "path": "src/rngd_pd/kv_nixl.py", + "bytes": 18033, + "sha256": "35595fb0bc3adeb37422ab26bcfb58267980162cec9ccbc6950fb3c415c81fd9" + }, + { + "path": "src/rngd_pd/native_v4/__init__.py", + "bytes": 77, + "sha256": "2497c0ecf20d5f4778fa5663eececfe943ea7d0e0fd6a7a2930e469f8d70e735" + }, + { + "path": "src/rngd_pd/native_v4/affinity.py", + "bytes": 771, + "sha256": "3633a50efd2191d2fd0fa18f3fd377b1a287701d5ce338d1b5a1b916404516c1" + }, + { + "path": "src/rngd_pd/native_v4/atom.py", + "bytes": 4111, + "sha256": "35e5dfaf4b82f3a73de6e981af1456c676e17d0e92d8c2a23d1f3ce06d5b9e89" + }, + { + "path": "src/rngd_pd/native_v4/atom_external.py", + "bytes": 4931, + "sha256": "e2934e203b66da23a05e2fa002b71fd3ed0e889887071187383b12668eef2ece" + }, + { + "path": "src/rngd_pd/native_v4/atom_resident.py", + "bytes": 8282, + "sha256": "0c9d113138d363f1b24123919ab6a415a7996f6812a28fd1cbbb00d395445c3e" + }, + { + "path": "src/rngd_pd/native_v4/build_resident.py", + "bytes": 6330, + "sha256": "dd8ccbcee7c218be1ff893ad0fab226fe69cd4e5d28eda2b329fe1b7c04aacd8" + }, + { + "path": "src/rngd_pd/native_v4/continuous.py", + "bytes": 2234, + "sha256": "83a26110872d2ed6e289628cb7a8efe0f9007951b415fab6c656790fd257c269" + }, + { + "path": "src/rngd_pd/native_v4/coordinator.py", + "bytes": 6060, + "sha256": "fc40faa221c96262413dd76319ed5df972b709d19a6c243cb8e5827bd9c189cc" + }, + { + "path": "src/rngd_pd/native_v4/dlfloat.py", + "bytes": 1320, + "sha256": "9636a1ed210411f7c21448404fa840e31c9ff4b16576a19e8cbb29459563eb09" + }, + { + "path": "src/rngd_pd/native_v4/dlfloat_native.c", + "bytes": 578, + "sha256": "1b6cbd04e69df7816e43e8391d1810d82e57defddba28ccb22d30c12724644f5" + }, + { + "path": "src/rngd_pd/native_v4/host_memory.py", + "bytes": 1114, + "sha256": "c3f80a538f0c9137be6f68bbfdde3cbeb3bca725b379d1c5aef0945192b27f1a" + }, + { + "path": "src/rngd_pd/native_v4/kpi.py", + "bytes": 7797, + "sha256": "131df1e618b1bb2c4ec1fa1bc3569cc55eb3bbf16bffc958d24335cdc29acb14" + }, + { + "path": "src/rngd_pd/native_v4/kv.py", + "bytes": 8411, + "sha256": "078796e4204931b62926e77973972037e5ea8c7c6436ca0ea0e80824ecafa5d4" + }, + { + "path": "src/rngd_pd/native_v4/native_conversion.py", + "bytes": 684, + "sha256": "58307b5af2fa6c1d88ec3993ae1ae6505aab806081e030dd5df0c02e97f762a0" + }, + { + "path": "src/rngd_pd/native_v4/native_worker.py", + "bytes": 4091, + "sha256": "419653fce8ef05fecdd41a1d0d209149d18cb3c29afb811f929d957db3759d27" + }, + { + "path": "src/rngd_pd/native_v4/packed_kv.py", + "bytes": 1470, + "sha256": "6fdfbdf754c24e4488b87322ec13acdafe7078385ae2f8d2cdf7e836f286010a" + }, + { + "path": "src/rngd_pd/native_v4/power.py", + "bytes": 2774, + "sha256": "7011b2b8111adf660d01ec02cc367f0581451c480dc7e3a8dac2d7e9b0031604" + }, + { + "path": "src/rngd_pd/native_v4/replica_lease.py", + "bytes": 1193, + "sha256": "80d0910fc66f82e39ebe93ec84845f0bb86cba0e49e4c959d41230f0c06405a1" + }, + { + "path": "src/rngd_pd/native_v4/rngd_payload.py", + "bytes": 5200, + "sha256": "ef1e57c5897eff8d63f4f70aec23951911294f567f10f0fbdff2fb989f89ff9f" + }, + { + "path": "src/rngd_pd/native_v4/run.py", + "bytes": 19124, + "sha256": "8552b2fc1011e6a6cb89d9122b93bec4e9c38315abf40ba419a53b255fe252c2" + }, + { + "path": "src/rngd_pd/native_v4/scheduling.py", + "bytes": 1385, + "sha256": "408f9fc7dc634c6cbd8c90919c8a99704f1702718d10934ed077db7d8fdf5e57" + }, + { + "path": "src/rngd_pd/native_v4/serve.py", + "bytes": 11532, + "sha256": "096f5fbc792e1a44a553dc7c0d4219f7541b24e3dbd46fccc79b1e0b8cea2b4e" + }, + { + "path": "src/rngd_pd/native_v4/service_engine.py", + "bytes": 6681, + "sha256": "ab187ed529be1def3d413a5bfa761ae16c9f05f7b745418ab8929c6da402ad4d" + }, + { + "path": "src/rngd_pd/native_v4/wire.py", + "bytes": 3714, + "sha256": "1d7a7cd3b68814397a3b6e0051811f8a5f1fd6ea1e8f2c8b02f88c7c57173f78" + }, + { + "path": "src/rngd_pd/paths.py", + "bytes": 923, + "sha256": "11c1261fc8e5bd18ce5aca57968ae173d781175485d06d4beabe3f0bf5a3306f" + }, + { + "path": "src/rngd_pd/serving/__init__.py", + "bytes": 60, + "sha256": "ab24adf0d3c570b33871cd8ed89e8d836f35ee3894dcb7a2bb1a7f954e631e71" + }, + { + "path": "src/rngd_pd/serving/cluster.py", + "bytes": 111068, + "sha256": "a517625d65f56b6e8068dd4aee6fd4eee5e1c85cdbfc52104fdf3a0de98d6f64" + }, + { + "path": "src/rngd_pd/serving/prepared.py", + "bytes": 7571, + "sha256": "9520e66132ab9411d04c83b1ed76e1b45f08ec97e2365805636ecd0613854b14" + }, + { + "path": "src/rngd_pd/serving/proxy.py", + "bytes": 2999, + "sha256": "073b63f66927ebc0f764f96c75b66ec2b9ea62e07dafc6b2a1fd6e6501ef3857" + }, + { + "path": "src/rngd_pd/swap/__init__.py", + "bytes": 704, + "sha256": "f2a74d6cd155c265a81369a73ce750b0991979ab43ab08c7c353bbd143814597" + }, + { + "path": "src/rngd_pd/swap/atom.py", + "bytes": 11473, + "sha256": "19b2f4256f0f04f68729628a975ed2c46039321b8524a7a459dfb913259d2c23" + }, + { + "path": "src/rngd_pd/swap/atom_bundles.py", + "bytes": 10087, + "sha256": "7e5216625f33470dfbddcbd41cb8b154488a7573a5661ca757037cb30c70aabb" + }, + { + "path": "src/rngd_pd/swap/atom_constants.py", + "bytes": 13357, + "sha256": "b43fc9257fe6defba63a2642dbf7ab4f3435c3b32dc3da21e55c2684329647cc" + }, + { + "path": "src/rngd_pd/swap/atom_inputs.py", + "bytes": 19878, + "sha256": "1bcd895bffaaf4f0c57ca3b13ef34dd997793d9492cc36267886de80c1698995" + }, + { + "path": "src/rngd_pd/swap/bench_atom.py", + "bytes": 8716, + "sha256": "326b9ee18839db53be70b19c0bbae4dab2f454d7e31fcc4805777033dc92ad0f" + }, + { + "path": "src/rngd_pd/swap/bench_atom_bundles.py", + "bytes": 5665, + "sha256": "05091e57e43fe6121babef2e53ebf23f7838741da7e2b27db220c762ff3d316c" + }, + { + "path": "src/rngd_pd/swap/bench_rngd.py", + "bytes": 12089, + "sha256": "a18035bc56bbbeb4bc8e00cdc167005dda5697ddade499e65497f0905096c0a6" + }, + { + "path": "src/rngd_pd/swap/delta.py", + "bytes": 12918, + "sha256": "0d2d59294353080158698e136897f3349542e44118c9e201e30584b3acda575f" + }, + { + "path": "src/rngd_pd/swap/load.py", + "bytes": 2650, + "sha256": "a7ea2bee8d3c93fd08beda48b757dcaafcc585d3ad0b39901a2f74ece9f3c7c1" + }, + { + "path": "src/rngd_pd/swap/rngd.py", + "bytes": 28330, + "sha256": "c04984c53e109097bef2bd840e730d0b1a56f966c4f9847b8f5fc2385fb5ac9f" + }, + { + "path": "src/rngd_pd/swap/variants.py", + "bytes": 3833, + "sha256": "a1e772221226b042b97ea1b046e067a72709f94886db5610a5b2a9732ce6e744" + }, + { + "path": "src/rngd_pd/vendors/__init__.py", + "bytes": 65, + "sha256": "c6820db86ce65d0935153410d800d51e4ea4835b81377a377bd79aec9f9207e9" + }, + { + "path": "src/rngd_pd/vendors/rbln_decode.py", + "bytes": 15873, + "sha256": "447cf791ab3c2c89032b2836837ebe5b6c7f8e7f3f32b172d12ad20c6cbc0405" + }, + { + "path": "src/rngd_pd/vendors/rbln_decode_batch.py", + "bytes": 9399, + "sha256": "eee03b4e1f48a0b7dffe315fd5dd693f77d59d1de132d1fcad9412914bbb3656" + }, + { + "path": "src/rngd_pd/vendors/rbln_prefill.py", + "bytes": 10154, + "sha256": "fece715c246a1833762c7d0ae68fd4f45d7790d88c0dd7ecb9240598c350ddfd" + }, + { + "path": "tests/_bootstrap.py", + "bytes": 417, + "sha256": "b19130fbc6eead341b8ef5a3ff528174ac6403fc6c765d0d8af1fbb94f0ac99b" + }, + { + "path": "tests/connector_support.py", + "bytes": 1395, + "sha256": "9d9f60d42f980116137681d5a478361d504d8545e25a5e1aadc1992077f8ce39" + }, + { + "path": "tests/native_v4/fixtures/ack.bin", + "bytes": 52, + "sha256": "f6fc598b2d0a1fb321e988d6df76d00e8022869600510065a257593faa993ae6" + }, + { + "path": "tests/native_v4/fixtures/handshake.bin", + "bytes": 576, + "sha256": "911385485420d6c0d374049ea77fdeaf7b896b11307db8908fd0836ae805a9f2" + }, + { + "path": "tests/native_v4/fixtures/kv.bin", + "bytes": 116, + "sha256": "0e4ae37d3380e34879017d8350937a205ea6b3d1767425cc09fd1ed82d1d2531" + }, + { + "path": "tests/native_v4/fixtures/ready.bin", + "bytes": 52, + "sha256": "f608e7b46aad9c9b390a223e9a5be7607068fb8984aed3de4b80b518a484c96b" + }, + { + "path": "tests/native_v4/test_continuous.py", + "bytes": 1335, + "sha256": "33fae4fac1f0c2b18c78bc37fefdb8bbb1980ed734a7e3d5f682e0209ebfc949" + }, + { + "path": "tests/native_v4/test_coordinator.py", + "bytes": 1637, + "sha256": "8a7de9accffed628ce1f7a6a648fac9e003ed9ae6538ed592521a1445914a7b6" + }, + { + "path": "tests/native_v4/test_dlfloat.py", + "bytes": 1068, + "sha256": "00316650a2e65172848a0ca6b14416748c7c7dc33ce2a8619b3b3a57acea3592" + }, + { + "path": "tests/native_v4/test_kpi.py", + "bytes": 4037, + "sha256": "5601572a0a35cf97e55f47390f945a5b2134a2791cf008eb01af14e093220ee5" + }, + { + "path": "tests/native_v4/test_native_conversion.py", + "bytes": 1239, + "sha256": "bbfe657eb9faf5794c25d7977fce28c93046ae23b957f544be88310120db73c6" + }, + { + "path": "tests/native_v4/test_packed_kv.py", + "bytes": 1726, + "sha256": "56dc7c95b2418a00ae197585cf1167f72bb24f78d8ca4db4299e17673fc9e3d6" + }, + { + "path": "tests/native_v4/test_scheduling.py", + "bytes": 826, + "sha256": "388dd67769c0c7579f17b6f4d7920dac00161e5816ccb3acd6ec30534ae03980" + }, + { + "path": "tests/native_v4/test_serve.py", + "bytes": 4215, + "sha256": "4cd4a620b85634d1266f3a47916b92489ec9ed4773019681fade7834d59fd663" + }, + { + "path": "tests/native_v4/test_transfer.py", + "bytes": 6181, + "sha256": "a07210611cae8dca1b71aa6a5751832283a07a007e7870284739a69d7aeac03c" + }, + { + "path": "tests/native_v4/test_wire_boundary.py", + "bytes": 649, + "sha256": "81590d501b9fe4209cdf099ba987505c4e694085caa844c5caf2d7b294daffb9" + }, + { + "path": "tests/probe_artifact_cache.py", + "bytes": 4021, + "sha256": "c28a4adec9c4ff205559085f0ca1f33410059c6cea7c474348e984000d561ea2" + }, + { + "path": "tests/probe_resident_kv.py", + "bytes": 2796, + "sha256": "3bbe6822eb4f29b8037c799e7246aaf13058f3d106051401e6b2f21dcc0c11cb" + }, + { + "path": "tests/run_selftests.sh", + "bytes": 1904, + "sha256": "ec11c19331f4b618d1fe34f98d0703bb7c2921ce742909a87f2173fc8bf2254e" + }, + { + "path": "tests/swap/__init__.py", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "tests/swap/test_atom.py", + "bytes": 3583, + "sha256": "0a0a736c2f06cf67f951b261510164a9d41ea7b640cf805c87753f7e3cb5b5f1" + }, + { + "path": "tests/swap/test_atom_bundles.py", + "bytes": 5536, + "sha256": "e41ec43d97e562cc90cec66ff3fdd9d2be03008869abe45568209833b96c926c" + }, + { + "path": "tests/swap/test_atom_constants.py", + "bytes": 12760, + "sha256": "4d299af7275b1ffdcffc23fb36997dedc1e6ced831525b3349dfa5567fcb5e9c" + }, + { + "path": "tests/swap/test_atom_delta.py", + "bytes": 6210, + "sha256": "9618003ef33a9f2e87cb33e5394529f2f4d7ed1322c7c4339bbd2a23e1068d87" + }, + { + "path": "tests/swap/test_delta.py", + "bytes": 6617, + "sha256": "b00ef147bc4719b87edb5a61857a39f0a06a7483c07fc97e40d0b05ae0cf51ed" + }, + { + "path": "tests/swap/test_graph_specs.py", + "bytes": 1840, + "sha256": "54585f2d883c519e9e3e53b3d69a65354e612654a3181ecd8195b3aabebdb392" + }, + { + "path": "tests/swap/test_kv_ownership.py", + "bytes": 2794, + "sha256": "4bd3d970e4baac7fcffbd5dbc031beaf70b8cd4b1a489aafc99cba1e7b4295b0" + }, + { + "path": "tests/swap/test_rngd_delta.py", + "bytes": 14922, + "sha256": "2270dfa3b6c11bec95bc86962ac862608cc95d81c11394bc1e295b43d6c9506d" + }, + { + "path": "tests/swap/test_rngd_host_loading.py", + "bytes": 3676, + "sha256": "51f490bea7407853c93db29e9bfec28b08ff9d3c62ca47a78e7db534df56dd06" + }, + { + "path": "tests/swap/test_variants.py", + "bytes": 1818, + "sha256": "4c8a41ace2f786ae7f5bce7ba4ed52f1217c749caa95231700adf4d98a23d1ff" + }, + { + "path": "tests/swap/test_verify_npu_delta.py", + "bytes": 3091, + "sha256": "2bf0e601752ab02c655abe00153d93797e941338cfbf1d94163e717b242fb247" + }, + { + "path": "tests/test_admission.py", + "bytes": 2701, + "sha256": "638f3f3ef4753f76e0e716abfb041de298b50cde2c59755bac633e3000adb900" + }, + { + "path": "tests/test_airm.py", + "bytes": 12217, + "sha256": "50d504660d9564fb50c46f74f9c44c8eb337c4a08d88f08cef5da0f28642463e" + }, + { + "path": "tests/test_artifact_cache.py", + "bytes": 6821, + "sha256": "1ad99c9feac7d2d6ee45e1e7e938c777837055a7ab31a23082e6888a410fec16" + }, + { + "path": "tests/test_connector_metadata.py", + "bytes": 5461, + "sha256": "49eb6ad717464e374c1c57b9d88d3692d143ffb0dbbc6f57b47b367dff780c91" + }, + { + "path": "tests/test_connector_tcp.py", + "bytes": 3550, + "sha256": "c24149617aebc68944dd9a56084fdaca1c3b73cf52483db2da57d0ce93e13ca6" + }, + { + "path": "tests/test_continuous_backlog.py", + "bytes": 5243, + "sha256": "e0b59c05fe2771cc0f051be9b3ef77462fbf8ace687fa5aadd3b4e5c8f35761f" + }, + { + "path": "tests/test_decode_tiers.py", + "bytes": 3811, + "sha256": "1656c1f34d8ef624c79f791234c0ed6699945929eea330bd3c238fb34a0fe871" + }, + { + "path": "tests/test_devices.py", + "bytes": 3754, + "sha256": "ea3ed40e455bd3e4e4c43880427e426cd4fb76707b11fe2811d6b1f23eb2acef" + }, + { + "path": "tests/test_http_body_limits.py", + "bytes": 3819, + "sha256": "509ee549ac2e760a4cd520a1e065723581f4d1e5390ad3a3956c4ff5dd4fc0e1" + }, + { + "path": "tests/test_kv_nixl.py", + "bytes": 10686, + "sha256": "2aea1e2b8314f934ccbafbb15653b4fd1da21d99f8285f49b1ddff60118ad2ba" + }, + { + "path": "tests/test_kv_tcp.py", + "bytes": 7293, + "sha256": "1eac20b5abf25dc8f689d25c8fca0fe2046de0a583b0f74afff6a7d8b62fac39" + }, + { + "path": "tests/test_kv_ucx.py", + "bytes": 25998, + "sha256": "36e0637a99d84d33f2183476801c98ec4d4dc9fc00e300dbd32ad5d38ef53eee" + }, + { + "path": "tests/test_prepared_serving.py", + "bytes": 14027, + "sha256": "f5d4a8ef4fc5468760a3608f45aafafb6d93e5ede05a2241b351ea18b7703bba" + }, + { + "path": "tests/test_prepared_warmup.py", + "bytes": 7341, + "sha256": "ea6022dd7959cf2fa9cab8d1f5494dde2470bbd585c70c42627b2db424284874" + }, + { + "path": "tests/test_serving_limits.py", + "bytes": 15063, + "sha256": "c5b48b372d8526dd1568c06e7172fee58fa7bea0e2bed083d13eb917e9334cba" + }, + { + "path": "tests/test_solo_openai.py", + "bytes": 4299, + "sha256": "17fdfb85fe9a8e6f3b7a53385726884490c7ded5ce38334a1a1d972efc3863d5" + }, + { + "path": "tests/test_standalone_connector.py", + "bytes": 2714, + "sha256": "1bf288fb458cfe0d20f6141c11ccbe8d85b04a7d361abacaa9a567841c25ab4a" + }, + { + "path": "tests/test_transport_safety.py", + "bytes": 10181, + "sha256": "ecbcfe0105a0b3c19ceaab18a73edace477e885a3d98d3a415090d120c5dab76" + } + ], + "onggi_source_hashes": [ + { + "name": ".gitattributes", + "bytes": 39, + "sha256": "61ed2c4effbbe5060e2a745e9e8416080aa5cc7bc0e3eda2cd1bc7feefc994ff" + }, + { + "name": ".github/workflows/ci.yml", + "bytes": 4718, + "sha256": "62e4cb38bfb3bb7026f7a41065be417f889c121c3bdb8b228230eb72ea93d8b7" + }, + { + "name": ".gitignore", + "bytes": 74, + "sha256": "e85688463ce032dae3a8ecbfc69ff4708b265bfb704ae2f1ea3ceac366a0076c" + }, + { + "name": "CONTRIBUTING.md", + "bytes": 1358, + "sha256": "b5a4e1768ee434235af25d0d5fa8923891379a66a684f992499bd7620c919ff9" + }, + { + "name": "LICENSE", + "bytes": 11358, + "sha256": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30" + }, + { + "name": "README.ko.md", + "bytes": 13174, + "sha256": "ad7bf2d5cd265baf683d15d0302a2c9d9c5a984f13403572b0cb015bea1ef4d0" + }, + { + "name": "README.md", + "bytes": 11697, + "sha256": "4b9e64f0b8e0225c41ed5558206a71a5af9924e451df4c644e98977fc1ee98a0" + }, + { + "name": "ai-rm.yaml", + "bytes": 850, + "sha256": "c2f5aecfa5e97b709f80bf4b554c98fe34a6f196cdf4b05a48244b663084c712" + }, + { + "name": "bench/baselines.sh", + "bytes": 2993, + "sha256": "e7a168579ab86fe86a03f66d06bbbb0e3c4c1ec4ffc640f7442f704362f743bb" + }, + { + "name": "bench/diff.py", + "bytes": 1961, + "sha256": "0a2bce13618c54bb39813df0e4d71ca21264ed1da38978e9ec121028c22bed28" + }, + { + "name": "cmd/onggi/csi.go", + "bytes": 7188, + "sha256": "9688f4fff880eda15c1a6d1ab994c3517027768a71b5e7df4086f31027157981" + }, + { + "name": "cmd/onggi/gc.go", + "bytes": 4098, + "sha256": "1ab034dc630233352ed80eca966989f9551f883e343d71241598a7dbe72592ad" + }, + { + "name": "cmd/onggi/main.go", + "bytes": 7634, + "sha256": "6103bb09c48e0f7a85b3d32e7b0f42ebe7901d78a74400ed96d62a33887c6bc6" + }, + { + "name": "cmd/onggi/main_test.go", + "bytes": 1173, + "sha256": "96323fa1efd223ab0f4ea0efbdc6a354c0ae1f3465408d3e9b4519b38b519c5c" + }, + { + "name": "cmd/onggi/memprof.go", + "bytes": 1536, + "sha256": "2e05bf5d01e3a358c9137498cd271fb30fe2d3102be65c95861fa17ea8d64dbf" + }, + { + "name": "cmd/onggi/peer.go", + "bytes": 1743, + "sha256": "8a9b9c7619d28a937baf1e7360bee6531d6dc2c08aeada4e9c591bd705c7c7ea" + }, + { + "name": "cmd/onggi/prepare.go", + "bytes": 4812, + "sha256": "2898c805c0f988e73136bf85750312f795224ff96f8ff8b941bb920fd1af64d7" + }, + { + "name": "cmd/onggi/prepare_test.go", + "bytes": 9919, + "sha256": "c9478d1eff5bed15687935c3652286c3f7f157a8fbf93bbf8de7e5899941a7a1" + }, + { + "name": "cmd/onggi/store.go", + "bytes": 15475, + "sha256": "e7a6b79535bc6ff0fa6da8ce3f80c197ac40c601ff98c84db8aa38e0191e0002" + }, + { + "name": "cmd/onggi/store_test.go", + "bytes": 1399, + "sha256": "fd3631a8b84acee849359774a600aabf180eeeb04030f8b7a8640d2df70339cf" + }, + { + "name": "deploy/csi/README.md", + "bytes": 9199, + "sha256": "0b41c51ecce58523f3fedc85740a757c939ab53f2625973f111bb97506a5ce2f" + }, + { + "name": "deploy/csi/csidriver.yaml", + "bytes": 344, + "sha256": "228075088a05fe655a92a715f18a0943801a97eaf4bcac61a59e7b212af92a90" + }, + { + "name": "deploy/csi/example-pod.yaml", + "bytes": 685, + "sha256": "15874051b10a1b12b760a9ccf3d4a375e8fab7f4c3234ddd45d7883103894487" + }, + { + "name": "deploy/csi/node-plugin.yaml", + "bytes": 3909, + "sha256": "94ff93efe9a5f1d4c09edd16ed0152ebf365cce67d34368cae1e3817f5d06fcd" + }, + { + "name": "deploy/k8s/README.md", + "bytes": 1840, + "sha256": "02b0c64d6adb4f73067b93b5a6db08c52c5f0473645887a810d1c255ba144f78" + }, + { + "name": "deploy/k8s/prepare-initcontainer.yaml", + "bytes": 1584, + "sha256": "5b29e83085b8eeec08abe93456a9a04c9b05b3cc46032d67b90503191b0754d4" + }, + { + "name": "deploy/k8s/pull-initcontainer.yaml", + "bytes": 1482, + "sha256": "aa22f39887acbbf13cb292174a9aef91706bac59eb0bfa34b03308d8d1ef8f1a" + }, + { + "name": "docs/adr/0001-content-defined-chunking.md", + "bytes": 1038, + "sha256": "2db32f04639251a9eb416f8ab3331e12cdb8c2d5b0a33e2c9b144157cc37a29a" + }, + { + "name": "docs/adr/0002-durable-tier-is-an-existing-object-store.md", + "bytes": 885, + "sha256": "cc954f1893c202f4bfe8820a2d325c8fe17e6e05cd67477f84f8b23e2d2b9268" + }, + { + "name": "docs/adr/0003-hrw-placement-for-the-cache-tier.md", + "bytes": 780, + "sha256": "8f2cc1ba8ef774f52e5516ed10dbc306b7d3add044ba0ed13f355988b4b35880" + }, + { + "name": "docs/adr/0004-delivery-through-csi.md", + "bytes": 1152, + "sha256": "691ad91f8a1cae5a38ad352d115d53a9b2cb434419aaf54ed02a0336beac4efd" + }, + { + "name": "docs/adr/0005-gc-by-mark-and-sweep.md", + "bytes": 672, + "sha256": "4f372c777f8cb69954a91087d53f489eb05fc1af49c0cdd69ee7216095247a0f" + }, + { + "name": "docs/adr/0006-go-core-python-adapters.md", + "bytes": 629, + "sha256": "dafab9d058eab95bddd7aeb8793940c6cc1d572397a8fec3f77818c78b350e43" + }, + { + "name": "docs/adr/0007-refs-in-the-kubernetes-api.md", + "bytes": 586, + "sha256": "b8f1a269bcb17d924dfe84b8252e7f2161432cf8e5eac8cddb4a130039908c5f" + }, + { + "name": "docs/adr/0008-pluggable-storage-backends.md", + "bytes": 3599, + "sha256": "b90d017c85b29c37de5eda5890aead0efdd859e4b81c85b5d7d212979257378d" + }, + { + "name": "docs/adr/0009-clean-room-and-vendor-formats.md", + "bytes": 2878, + "sha256": "c3b89b7737d17d8f785b12d193c606ec27f255123fc4a489b7afd15829fa3879" + }, + { + "name": "docs/adr/README.md", + "bytes": 1406, + "sha256": "23d937fb4e4b76e8967534bc6eec67d67d550c95565d374cea448c908c462228" + }, + { + "name": "docs/artifact-formats.md", + "bytes": 9411, + "sha256": "e972d7bae000fa1f9714b61016015871d3d83461c27ee7268f773aa877146a4b" + }, + { + "name": "docs/assets/architecture.svg", + "bytes": 12473, + "sha256": "799e17c87cdae5876be850dc9d434a6ff4e05f8de03eafbc2fe0a8cfee253448" + }, + { + "name": "docs/compatible-prepare.md", + "bytes": 5742, + "sha256": "e97a2d8a0da46bf726c4ba484ea1210f7fd586f6d5d59a6c67814355a1567b5b" + }, + { + "name": "docs/data/compatible-prepare-20261030.json", + "bytes": 9859, + "sha256": "14276354e6b7f042e0973993d8b8e5242552053015d52b73c631a127f1d97efd" + }, + { + "name": "docs/data/diff-plan-20261030.json", + "bytes": 27526, + "sha256": "9e4c640c21e7963020fa09d81b52046eeaf21b98b32a4279d29e84e475efc07a" + }, + { + "name": "docs/data/resident-delta-20261023.json", + "bytes": 6571, + "sha256": "09ccc60863c896643621f6c6d8b6ba81e07d60a2599efc7374b074f2caa15798" + }, + { + "name": "docs/data/sdk264-preflight-20261030.json", + "bytes": 1759, + "sha256": "b66c391738eb011daaa5a39b3c6d7eb02348de7e69f8c6a84c2b394038b61fc3" + }, + { + "name": "docs/design.md", + "bytes": 19391, + "sha256": "5fcc3ffe5cd0d5c1f220571ec6f7130194d92e20e10ea7178dc3f41136721f44" + }, + { + "name": "docs/diff-plan-2026-10-30.md", + "bytes": 4266, + "sha256": "5f2ab09d68ea46133448557ce10954574e9dd451e4cfc6fa9464df205eb4270c" + }, + { + "name": "docs/evaluation.md", + "bytes": 10045, + "sha256": "83bc6a35c61cd109d7fe46e40e3940a7a1fc59a1002eedf568ee914a2d0c0c32" + }, + { + "name": "docs/integration.md", + "bytes": 5564, + "sha256": "acf460e45fc5869fe791447c7ade245ebbcb0a02e7891dc3ffd3bf0874156933" + }, + { + "name": "docs/ko/artifact-formats.md", + "bytes": 10351, + "sha256": "4823cda15ae39a54ed056dcc43c8b280b64fdac7b7cb3d1b1161e4e2f7b27d46" + }, + { + "name": "docs/ko/compatible-prepare.md", + "bytes": 4775, + "sha256": "04c244105ead7cfc8117e6c923c23a38da297ae0e0c35256163b802372dc0d6a" + }, + { + "name": "docs/ko/design.md", + "bytes": 20173, + "sha256": "d0e61a6be5c3964e77a21d83ba92a3c5bf077b813a4ddf407857567d381706a3" + }, + { + "name": "docs/ko/integration.md", + "bytes": 5948, + "sha256": "20db41916feb4936beaf49fdcc4856fada4075b0125f9a0c89c3c2a28a41b2fb" + }, + { + "name": "docs/ko/related-work.md", + "bytes": 7006, + "sha256": "d3cb3d818d829e277838a0ad7136f616a4e70567bc8f227390f2705bef0d9d86" + }, + { + "name": "docs/ko/resident-delta.md", + "bytes": 7410, + "sha256": "05036f3da9a9d39e4bca3727cac1ec74689bd7ff97aca1154671b122d7b5b2a9" + }, + { + "name": "docs/related-work.md", + "bytes": 6519, + "sha256": "40d79ff655173d5c691e2ee2534665c0c5fc87ad2fe1eb214348096287c03428" + }, + { + "name": "docs/resident-delta.md", + "bytes": 7976, + "sha256": "0c6d909bee332fb2340abcac57e492cf1ad84d08060ca97055f0d542140c2f20" + }, + { + "name": "docs/superpowers/plans/2026-10-30-compatible-prepare.md", + "bytes": 7061, + "sha256": "67af09bf062636edfd12f33c3057121f63c5be96685e8ecc91793ad2ca3d9f50" + }, + { + "name": "docs/superpowers/plans/2026-10-30-diff-plan.md", + "bytes": 3160, + "sha256": "2d635bdd63ab7c3aa6405dd15f221f4496887375cef3a77dcc7d998e49af8d92" + }, + { + "name": "docs/superpowers/plans/2026-10-30-serving-integration.md", + "bytes": 1761, + "sha256": "792642990e4903c5759e89fe61853cd1df082eefbd1c36c5f86cb4c7b0c10794" + }, + { + "name": "docs/superpowers/specs/2026-10-30-compatible-prepare-design.md", + "bytes": 4000, + "sha256": "b7d9e66e126f48e700b10a69bb67f139f19067433ecee53bb6be8422caf910b0" + }, + { + "name": "docs/superpowers/specs/2026-10-30-diff-plan-design.md", + "bytes": 1246, + "sha256": "505d3930280ec62ac56b909a017ae9c6a8ad00fdd877f583f26a73ee7be06798" + }, + { + "name": "docs/superpowers/specs/2026-10-30-serving-integration-design.md", + "bytes": 3438, + "sha256": "efbb1227e1d347f3e90ff6bb1d28e0002ea702292ca0de091059c41f2c8c04b7" + }, + { + "name": "docs/validation-2026-10-23.md", + "bytes": 4408, + "sha256": "5394129a3e2fda2fa7274d5afb526c40f3230252dea5cae8c53edf818abe1355" + }, + { + "name": "go.mod", + "bytes": 1103, + "sha256": "f06368208efee087dddf223039cff81effec3f7f775adf68ef6f5519a980e6fb" + }, + { + "name": "go.sum", + "bytes": 6227, + "sha256": "eb8a42395d593bf8c28a4a93f81cddb67f42750faece7f36efe48fb7a36c6466" + }, + { + "name": "pkg/backend/backend.go", + "bytes": 3099, + "sha256": "b7cbb4be1fe432f9b12754bd50b4f1081e2dc2a23ba0080ff9580bc0872ad752" + }, + { + "name": "pkg/backend/backendtest/suite.go", + "bytes": 7581, + "sha256": "6f40cf54976be76aa7324394bd25dfbb8ddc4e0103113ba965c8d02281cc7bbd" + }, + { + "name": "pkg/backend/fs/fs.go", + "bytes": 7456, + "sha256": "a8c65dbb52417937ae92ce740bdb9b64ab9bb5a529970c2d717224d5b2ec7ee6" + }, + { + "name": "pkg/backend/fs/fs_test.go", + "bytes": 815, + "sha256": "432f86961d43023ae4b493fd542b204b2f5c359d3c48ae55968bc133196c25c5" + }, + { + "name": "pkg/backend/s3/s3.go", + "bytes": 9054, + "sha256": "cd95a91dda3e12cb091ced6556c5c07dc7e00980edb195e511744fe9015c8c0f" + }, + { + "name": "pkg/backend/s3/s3_test.go", + "bytes": 1826, + "sha256": "8350a6d257a37fcf8905f0148548dd52d497071179e9f3b2b8f170ee5762a71a" + }, + { + "name": "pkg/chunker/chunker_test.go", + "bytes": 3979, + "sha256": "8c1e9e618e36ce0ac2e3f0ac0a2f1103d6c5733805acedd627a31d2261161340" + }, + { + "name": "pkg/chunker/fastcdc.go", + "bytes": 3969, + "sha256": "f4a71a924c115d0049a6c8f916e888f481d2296ff332d985dd6ac67f3a9e9d80" + }, + { + "name": "pkg/chunker/gear.go", + "bytes": 535, + "sha256": "8c3a97f488e1b90bd8dc67a7a6e59de75c4ba479027d6cd4878b71fbd019da01" + }, + { + "name": "pkg/codec/codec.go", + "bytes": 7836, + "sha256": "b16f5c3f6cbd4d51822d129cbd244926aeda0650250bd83909f12d4f43fcd796" + }, + { + "name": "pkg/codec/codec_test.go", + "bytes": 2589, + "sha256": "d824f42cb113e6a48efed9b6842142571ca0e130ae333d84d6b82c87174ff32c" + }, + { + "name": "pkg/csi/acquire_failure_test.go", + "bytes": 2312, + "sha256": "790d2cb4cfaff75d384e5a80f3a4b718f30743041f639c59d4d1aa1d808410aa" + }, + { + "name": "pkg/csi/evict.go", + "bytes": 3248, + "sha256": "3d8719ab9e056e54b145d7b999197a09d05370f0ae7829a666f7204df31c5734" + }, + { + "name": "pkg/csi/evict_test.go", + "bytes": 2891, + "sha256": "bfd3539fcc117e2a1b104cfaab4cc0dafe06fdce86f0e47c49bb7005fc33b108" + }, + { + "name": "pkg/csi/materializer.go", + "bytes": 14648, + "sha256": "93c5d2835a321b8e02094a85775c371bafcd2e29b74dfcd8d78aad464f958f6e" + }, + { + "name": "pkg/csi/materializer_test.go", + "bytes": 9551, + "sha256": "84bd356a6c4422aaf64fae056f397bf86b9e2eac04023374b1075f19704f9409" + }, + { + "name": "pkg/csi/mount.go", + "bytes": 1843, + "sha256": "6a7df2e876a03577b49ec27d71b8592a73b7fd57087d7ad7f96723b7a54a7c17" + }, + { + "name": "pkg/csi/mount_integration_linux_test.go", + "bytes": 4958, + "sha256": "aef9cbaa5ef239ff822019a01f67b8286ba5e37ee0b6a953686d654e7dd3d297" + }, + { + "name": "pkg/csi/mount_linux.go", + "bytes": 2063, + "sha256": "48625654cd47a587f8ab731017f713264dade79954e4af8f5d7a41283619e50e" + }, + { + "name": "pkg/csi/mount_other.go", + "bytes": 533, + "sha256": "073f9e964c326fa8be8d1403baebd728143669e686a2a0fc7be64144be6a9940" + }, + { + "name": "pkg/csi/mount_test.go", + "bytes": 645, + "sha256": "629c2afdc46f1612b13888c3365333e3d1d157c5d69760c06ce37d8d1d892875" + }, + { + "name": "pkg/csi/pull_limit_test.go", + "bytes": 1298, + "sha256": "1af7f315462014b76adbc6db885029a4c99cbb1cd77a42645bd20feaced945df" + }, + { + "name": "pkg/csi/rebase_test.go", + "bytes": 3410, + "sha256": "3c3d9853f0f01cfa5b7c3c1f09e89053653a5b650f6590b384ba8221ce8422b6" + }, + { + "name": "pkg/csi/server.go", + "bytes": 8525, + "sha256": "9e6f096ee542c8d3d341673d39457d8f997ae525d38a9337f5acbea9a0737339" + }, + { + "name": "pkg/csi/server_test.go", + "bytes": 6694, + "sha256": "e46076f7cec0f80a9c2aff00349eb928f4ea21bf0242770289be22332c23f78d" + }, + { + "name": "pkg/dedup/report.go", + "bytes": 8720, + "sha256": "676a145bc4504b6e1c8b24ae244c447b0f3c2f61202d71e5889398a2414620db" + }, + { + "name": "pkg/dedup/report_test.go", + "bytes": 3721, + "sha256": "5b8f85886a14395a5173c5009c99b50ccf6d809a76e74437dd10ef61ccfb4c31" + }, + { + "name": "pkg/digest/digest.go", + "bytes": 1237, + "sha256": "6aa79c7bde9758ff165449d8718195b68041230256b0fb58776be76718037244" + }, + { + "name": "pkg/layout/layout.go", + "bytes": 2040, + "sha256": "84ad06189434722b8922f44b4372478500e89788aec30b4ffdc5d770ba0a05a9" + }, + { + "name": "pkg/layout/layout_test.go", + "bytes": 1328, + "sha256": "37eb17a2843e6591a4eca3b5024e8762e7c95812a77b5259da68409a2a808584" + }, + { + "name": "pkg/peer/discovery.go", + "bytes": 2006, + "sha256": "b2705b4b89c7acafc79647f72847cf3cfb73bf29cf31e44193f71ad5e2cabb62" + }, + { + "name": "pkg/peer/discovery_test.go", + "bytes": 1769, + "sha256": "8355f5254f07443800613818e200eb94d2a684e0195f35b3c1e3887aab600120" + }, + { + "name": "pkg/peer/peer.go", + "bytes": 6344, + "sha256": "2e75fbe429d43330ae47059918757cb12e216282db734e577599346ac1312690" + }, + { + "name": "pkg/peer/peer_test.go", + "bytes": 5944, + "sha256": "d167eef334ffa944b76125c7a2f9fd01b2331c7a7d3d15a31ee8f53c13e6556a" + }, + { + "name": "pkg/store/cache.go", + "bytes": 4708, + "sha256": "e47630e0becd8c91c61fe3cc3fbb78945a4b961014b30b9258bc514465b6875f" + }, + { + "name": "pkg/store/cache_test.go", + "bytes": 6741, + "sha256": "fc3da3957e3cc2c567a061b0a23b1d43505389e6a2fe4922e4fa5eec3a81c60e" + }, + { + "name": "pkg/store/codec_test.go", + "bytes": 4680, + "sha256": "99e00dbea1ba3a7c13b619b7b9b48854f7a8bab47bb40190182049629bb4d9c2" + }, + { + "name": "pkg/store/diff.go", + "bytes": 7488, + "sha256": "6321209270813aaa2c8275a8f0db287946538e24f94a32c968fe6362022edc83" + }, + { + "name": "pkg/store/diff_test.go", + "bytes": 6214, + "sha256": "8717174450560f4ba359e77d09d2d7e4e7a3ec532391c38322d8272fa0230d24" + }, + { + "name": "pkg/store/format.go", + "bytes": 9036, + "sha256": "6947db55457b8ca3e7dc98387408ca5b62f5af6c8f2e2b8503c3f161697bba7a" + }, + { + "name": "pkg/store/frame.go", + "bytes": 4913, + "sha256": "6044e4a404ed606eb6bd1c2e084b5acf98de8c0c941ada3c09be2246b3bed208" + }, + { + "name": "pkg/store/frame_test.go", + "bytes": 6712, + "sha256": "6f9a3eb6cd1d7cfb15b12e1bd4374cc9c34ed2eef2510e5373ca30a1378aedd7" + }, + { + "name": "pkg/store/gc.go", + "bytes": 18613, + "sha256": "23063c0552dfa3239c32a10c9506295d02d6ac8f56450b8f2fe8553f6c1c90bc" + }, + { + "name": "pkg/store/gc_test.go", + "bytes": 10890, + "sha256": "2fba10c24dcb6be2613c2544ae1fc0f062d2b99cb30dd9d5e35a2c350fcc6880" + }, + { + "name": "pkg/store/index.go", + "bytes": 5082, + "sha256": "dd418a1b5144347581ae8c9d63c931144c45694f60ec4ba638be5d8ca1fa1018" + }, + { + "name": "pkg/store/index_test.go", + "bytes": 3619, + "sha256": "464a52367346cc2148da72ccb2a99728043f037ec235e3aefc66944ddb3c9d19" + }, + { + "name": "pkg/store/locator.go", + "bytes": 7996, + "sha256": "5ca263586c372204059399e2cf8e7fcd90b482541b049c7322ae5c892e6a7469" + }, + { + "name": "pkg/store/locator_test.go", + "bytes": 3941, + "sha256": "73ed5207df2849e4c3ed25dd74684bb956a8096a3193d33c51b899f664d9c031" + }, + { + "name": "pkg/store/peers.go", + "bytes": 3606, + "sha256": "7b9f809c7fb2e17378233ec35080ed24d77fc0322ff696b7b9e35dfb2e593aa4" + }, + { + "name": "pkg/store/profile.go", + "bytes": 4750, + "sha256": "12698355a176296c46789e2ef8829ed34ab0db5060f9eb3860665c3b4cfb7f46" + }, + { + "name": "pkg/store/profile_test.go", + "bytes": 5195, + "sha256": "df7bcf41132153bb270d5a6481146d9192807d9032e8d78d292f0f070b89df63" + }, + { + "name": "pkg/store/pull.go", + "bytes": 17186, + "sha256": "95e783fa51f41201e2e816ce1793447fbe09dbc794215245a1cba5e678bbc026" + }, + { + "name": "pkg/store/pull_boundary_test.go", + "bytes": 1715, + "sha256": "23485635cb323d15494c7b79eeca8a6c84fbc7445cfb4a894920369f0eb94e0d" + }, + { + "name": "pkg/store/push.go", + "bytes": 14569, + "sha256": "6f045559d425c187d08b14f4e09771e666b5201c82f9ccb8804b9ba206f0981b" + }, + { + "name": "pkg/store/rebase.go", + "bytes": 8107, + "sha256": "673cc5f52f2ae2afae860a37464517380eb59b7cb452f31f1eb6032d5eccc4ac" + }, + { + "name": "pkg/store/rebase_test.go", + "bytes": 6225, + "sha256": "92f92cd4f84b8895550c9bb5a8cdb76a83c4644596621091c681d8f45a4560f4" + }, + { + "name": "pkg/store/source.go", + "bytes": 4150, + "sha256": "a61ba254991f28fc6c41cbb0b066091a326ba4ed3260f52a4b3f3b687cfb15a4" + }, + { + "name": "pkg/store/store.go", + "bytes": 8988, + "sha256": "d4936274c20ccb12abdd8ce801c0969e6db8d05b19f11ba16c8560acf83309e0" + }, + { + "name": "pkg/store/store_test.go", + "bytes": 5079, + "sha256": "89c7df2588448cfdb44b46c7feb050c82c9db17a8f799c9087fdbcdf5d31047c" + }, + { + "name": "pkg/store/sub_test.go", + "bytes": 9176, + "sha256": "c97d375544514bc4c3f4efb6ea22cec8c38d7f4dda9fdaf3f00399e49f4cba7d" + } + ], + "summary": { + "status": "completed", + "validity": "valid", + "runtime_commit": "fafd820fead20ed51dcb7f60ebb5e7dc7d90b2f1", + "onggi_commit": "466ef918db08a8722326b6f36f5f39597e8a63de", + "selected_manifest": "sha256:b36a7d2daf074ca19e66541a4b41b8fa07a4381d0b32f9b28bdb75919cb75f7f", + "rejected_manifest": "sha256:7550bda3dc50229375514a0444b3d93efbcce1dcaddbc03d17c0408c78123572", + "graph_bytes": 984729, + "external_checkpoint_bytes": 16060581181, + "requests": 12, + "tokens": 96, + "provided_first_tokens": 12, + "native_suffix_tokens": 84, + "all_reference_tokens_equal": true, + "producer_native_calls": 391, + "worker_native_calls": 374, + "warmup_native_calls": 17, + "worker_batch_counters": [ + 17, + 136, + 255, + 374 + ], + "shared_projection_buffers": 112, + "lm_buffers": 1, + "buffer_and_compiled_identities_retained": true, + "upload_calls": 1, + "graph_load_calls": 1, + "compile_calls": 0, + "health_samples": 138, + "negative_http_statuses": [ + 409, + 400 + ], + "negative_check_evidence": "executed successful harness asserts counter equality and KV-file-list equality after each negative; individual per-negative snapshots not persisted", + "timing_scope": "instrumented integration diagnostics; native_prepare_and_warmup_s combined, standalone warmup elapsed unmeasured; no speedup claim", + "attempt1": { + "validity": "invalid-harness", + "failed_requests": 4, + "reason": "prefix8 wire arrays instead of required fullS256; retained separately" + }, + "remote_only_kv_payloads": { + "files": 512, + "local_payload_verification": false, + "hash_provenance": "remote-only-kv-manifest.json, actual producer export/roundtrip and request-side SHA checks" + }, + "cleanup_verified": true + }, + "attempts": [ + { + "name": "01-prefix-kv", + "validity": "invalid-harness", + "http": { + "status": "failed", + "utc": 1793337023.0658145, + "runtime_commit": "fafd820fead20ed51dcb7f60ebb5e7dc7d90b2f1", + "harness_sha256": "8509281bfd8659fd6996f80bec2ce7a5c40f6e83a789a6c2a82fa32bb050ae21", + "http": [ + { + "status": 409, + "response": { + "error": { + "message": "prefill checkpoint does not match resident decode weights", + "type": "admission_error" + } + }, + "response_bytes": 110, + "elapsed_s": 0.0019814460538327694, + "request": { + "req_id": "negative-no-kv", + "first": 198, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "name": "checkpoint-mismatch" + }, + { + "status": 400, + "response": { + "error": { + "message": "prompt 250 + max_tokens 8 does not fit S=256", + "type": "invalid_request_error" + } + }, + "response_bytes": 103, + "elapsed_s": 0.0014946600422263145, + "request": { + "req_id": "negative-no-kv", + "first": 198, + "pos": 250, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "name": "context-invalid" + }, + { + "status": 400, + "response": { + "error": { + "message": "could not broadcast input array from shape (8,128,8) into shape (8,128,256)", + "type": "invalid_request_error" + } + }, + "response_bytes": 134, + "elapsed_s": 0.01916353194974363, + "request": { + "req_id": "actual-batch0-lane0", + "first": 198, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "lane": 0, + "iteration": 0 + }, + { + "status": 400, + "response": { + "error": { + "message": "could not broadcast input array from shape (8,128,8) into shape (8,128,256)", + "type": "invalid_request_error" + } + }, + "response_bytes": 134, + "elapsed_s": 0.018986433977261186, + "request": { + "req_id": "actual-batch0-lane1", + "first": 29, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "lane": 1, + "iteration": 0 + }, + { + "status": 400, + "response": { + "error": { + "message": "could not broadcast input array from shape (8,128,8) into shape (8,128,256)", + "type": "invalid_request_error" + } + }, + "response_bytes": 134, + "elapsed_s": 0.018985823029652238, + "request": { + "req_id": "actual-batch0-lane2", + "first": 9831, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "lane": 2, + "iteration": 0 + }, + { + "status": 400, + "response": { + "error": { + "message": "could not broadcast input array from shape (8,128,8) into shape (8,128,256)", + "type": "invalid_request_error" + } + }, + "response_bytes": 134, + "elapsed_s": 0.01936370017938316, + "request": { + "req_id": "actual-batch0-lane3", + "first": 198, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "lane": 3, + "iteration": 0 + } + ], + "health": [ + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001622658921405673, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0016151790041476488, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019046280067414045, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017396281473338604, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0163513810839504, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020643859170377254, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0023773040156811476, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018585079815238714, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002077807206660509, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018170180264860392, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001954457024112344, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020390658173710108, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017602478619664907, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001263211015611887, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019735069945454597, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002104266081005335, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0023642037995159626, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001958716893568635, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019582570530474186, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.00205768714658916, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.00182049791328609, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018056579865515232, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0028965710662305355, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019635071512311697, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001951396930962801, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0021276359912008047, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020949961617588997, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002146676182746887, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0021775858476758003, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0022574651520699263, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001806318061426282, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0021828957833349705, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.005419224034994841, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020583560690283775, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0016302699223160744, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001454831101000309, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002094116061925888, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017276178114116192, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0021847551688551903, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020829159766435623, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002075276104733348, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018897170666605234, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020245760679244995, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0023461640812456608, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002114356029778719, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002226916141808033, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019204269628971815, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020131170749664307, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002035947050899267, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020921460818499327, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001902787946164608, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0022092051804065704, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020376869942992926, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002218645066022873, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001973286969587207, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017540680710226297, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002124495804309845, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020032969769090414, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017306378576904535, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020978560205549, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0021482561714947224, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0021085659973323345, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0022022458724677563, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019507179968059063, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019428969826549292, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0021632660645991564, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.00184835703112185, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001986837014555931, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0015149600803852081, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020113869104534388, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020337661262601614, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002040756167843938, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018654069863259792, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019069770351052284, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018919080030173063, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002205295953899622, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0022682149428874254, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019570570439100266, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001997896935790777, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018772678449749947, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002104136161506176, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0022474550642073154, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020505760330706835, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002221066039055586, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017962879501283169, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020933160558342934, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002121725119650364, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020044872071594, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.00208647595718503, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018676971085369587, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001717318082228303, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018577780574560165, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001818198012188077, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018044980242848396, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020965859293937683, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002078235847875476, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001968816854059696, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.00185078801587224, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019310980569571257, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018798778764903545, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002016155980527401, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018511279486119747, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002119285985827446, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0037476548459380865, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017418388742953539, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.00204369705170393, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002016376005485654, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002119356067851186, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019445170182734728, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018707269337028265, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0021503660827875137, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017559481784701347, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019857760053128004, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017738381866365671, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018060579895973206, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017471490427851677, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017599379643797874, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002140994882211089, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002048507099971175, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0016934280283749104, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.004754157969728112, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0024049740750342607, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002054356038570404, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002006976865231991, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.00170617806725204, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0016776090487837791, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0022313150111585855, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017047489527612925, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002060096012428403, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0021730849985033274, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002193356165662408, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002779260976240039, + "request": null + }, + { + "status": 200, + "response": { + "ready": true, + "detail": "prepared rngd ['B4-S256-g2'] checkpoint=sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "response_bytes": 140, + "elapsed_s": 0.0020852060988545418, + "request": null + } + ], + "batches": [], + "prepared_mount_readonly": true, + "producer_exit": 0, + "producer_process_s": 17.91434528096579, + "producer_fully_exited_before_worker": true, + "worker_pid": 2582, + "worker_process_to_http_ready_s": 15.926648933906108, + "startup_native_calls": 17, + "worker_exit": -15, + "worker_stopped": true + }, + "init_prepare": { + "status": "completed", + "utc": 1793336998.495327, + "exit_code": 0, + "elapsed_s": 0.023866649949923158, + "report": { + "selection": { + "manifest": "sha256:b36a7d2daf074ca19e66541a4b41b8fa07a4381d0b32f9b28bdb75919cb75f7f", + "profile": { + "schema": "onggi.profile.v1", + "model_source": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8", + "options": "sha256:9ca7d81bdd7eef59a0e17632a42d5642914b61c7fd30d4f4eb4df666a38a9382", + "device": "rngd", + "runtime": "rngd-pd@fafd820fead20ed51dcb7f60ebb5e7dc7d90b2f1", + "sdk": "2026.4.0", + "compiler": "furiosa-tcc@2026.4.0;record-sha256:c723fabcf2277a40560aa74b09d453ca32a11780b643a63533330029c6486549", + "firmware": "furiosa-rngd-fw@2026.4.0+93d67f3", + "format": "runnable-v1", + "layout": "rngd-pd-bf16-q-scaled-transpose-k-hd-s-v-s-hd-lm-ng32-v128256", + "topology": "fusion8-mesh2-group2", + "tp": 1, + "batch": 4, + "sequence": 256 + }, + "compatible": [ + "sha256:b36a7d2daf074ca19e66541a4b41b8fa07a4381d0b32f9b28bdb75919cb75f7f" + ], + "rejected": [ + { + "manifest": "sha256:7550bda3dc50229375514a0444b3d93efbcce1dcaddbc03d17c0408c78123572", + "reasons": [ + "firmware differs" + ] + } + ] + }, + "ready": true, + "directory": "/prepared/ready", + "stats": { + "files": 6, + "bytes": 987948, + "read_bytes": 220086, + "cache_bytes": 0, + "peer_bytes": 0, + "peer_chunks": 0, + "cached": 220086, + "reused": 0, + "base_best": 0, + "local_bytes": 0, + "ranges": 1, + "duration_ns": 13137072 + } + }, + "files": [ + { + "path": "build-options-proposed.json", + "bytes": 924, + "sha256": "9ca7d81bdd7eef59a0e17632a42d5642914b61c7fd30d4f4eb4df666a38a9382" + }, + { + "path": "cache/graphs/2026.4.0/2.10.0+cpu/33a051dfeb83c1a051b7599b.runnable", + "bytes": 224097, + "sha256": "405001f45f4676a134738a2d340dd453f17e9ccc60ba026e05ab285b39261c70" + }, + { + "path": "cache/graphs/2026.4.0/2.10.0+cpu/42100dcbf68bbc6aa86e92b0.runnable", + "bytes": 760632, + "sha256": "5e8aaff08c16606163a52e9d517dc2e1fc0b58aabb03740559af38ca4bba7bb1" + }, + { + "path": "checkpoint-manifest.json", + "bytes": 848, + "sha256": "2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + { + "path": "prepared.json", + "bytes": 320, + "sha256": "2bebc98251b22594253a7070b99ae43314335c6fd26be63c9a84d75e66e40f55" + }, + { + "path": "provenance.json", + "bytes": 1127, + "sha256": "4224df6479bcc7451215d9ec7b419ad174d82c9470fc8d6ae8b396f099d53d64" + } + ], + "validity": "valid" + }, + "harness": [ + { + "path": "common.py", + "bytes": 1397, + "sha256": "0cdec57f20e6c97864a7cff7ccef7ac4a6b5b5c71567f5d5544f15ae88974dc7" + }, + { + "path": "prepare_init.py", + "bytes": 1550, + "sha256": "24e25682e72dc571e327f3dfebc535d4564d68d707cecb51d89cd36a3c2ca607" + }, + { + "path": "produce_kv.py", + "bytes": 3206, + "sha256": "feb71080ab3f3e8c110e957baf375e4cea759382a00b1032ddd41b37eb507d73" + }, + { + "path": "publish.py", + "bytes": 4051, + "sha256": "cb8b42ee0429626a65b4f1cae26172d67f4a279d638062d56a29395677f2b3bd" + }, + { + "path": "run_http.py", + "bytes": 5910, + "sha256": "8509281bfd8659fd6996f80bec2ce7a5c40f6e83a789a6c2a82fa32bb050ae21" + }, + { + "path": "worker_observer.py", + "bytes": 3552, + "sha256": "c8ddea2dcb80a0f5304179243d6581866f17d5ea28d5748b5c7e40e2b8cf6063" + } + ], + "failure_reason": "Exported eight prompt KV columns instead of full S256 wire shape; four requests rejected before native continuation. Preserved, not averaged with retry." + }, + { + "name": "02-full-kv", + "validity": "valid", + "http": { + "status": "completed", + "utc": 1793337422.1875675, + "runtime_commit": "fafd820fead20ed51dcb7f60ebb5e7dc7d90b2f1", + "harness_sha256": "8509281bfd8659fd6996f80bec2ce7a5c40f6e83a789a6c2a82fa32bb050ae21", + "http": [ + { + "status": 409, + "response": { + "error": { + "message": "prefill checkpoint does not match resident decode weights", + "type": "admission_error" + } + }, + "response_bytes": 110, + "elapsed_s": 0.0016312298830598593, + "request": { + "req_id": "negative-no-kv", + "first": 198, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "name": "checkpoint-mismatch" + }, + { + "status": 400, + "response": { + "error": { + "message": "prompt 250 + max_tokens 8 does not fit S=256", + "type": "invalid_request_error" + } + }, + "response_bytes": 103, + "elapsed_s": 0.0010803930927067995, + "request": { + "req_id": "negative-no-kv", + "first": 198, + "pos": 250, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "name": "context-invalid" + }, + { + "status": 200, + "response": { + "tokens": [ + 198, + 791, + 1176, + 1403, + 5238, + 315, + 279, + 33894 + ], + "load_ms": 33.5, + "lead_ms": -1.0, + "tpot_ms": 15.7, + "decode_ms": 205.3, + "batch": 4, + "batch_width": 4, + "variant": "B4-S256-g2", + "swap_ms": 0.012, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8", + "sched": "prepared" + }, + "response_bytes": 314, + "elapsed_s": 0.3905989909544587, + "request": { + "req_id": "actual-batch0-lane0", + "first": 198, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "lane": 0, + "iteration": 0 + }, + { + "status": 200, + "response": { + "tokens": [ + 29, + 946, + 946, + 946, + 946, + 946, + 946, + 946 + ], + "load_ms": 32.6, + "lead_ms": -1.0, + "tpot_ms": 15.7, + "decode_ms": 205.3, + "batch": 4, + "batch_width": 4, + "variant": "B4-S256-g2", + "swap_ms": 0.012, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8", + "sched": "prepared" + }, + "response_bytes": 308, + "elapsed_s": 0.3906784909777343, + "request": { + "req_id": "actual-batch0-lane1", + "first": 29, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "lane": 1, + "iteration": 0 + }, + { + "status": 200, + "response": { + "tokens": [ + 9831, + 19954, + 13094, + 66965, + 29726, + 13094, + 33390, + 33353 + ], + "load_ms": 33.3, + "lead_ms": -1.0, + "tpot_ms": 15.7, + "decode_ms": 205.3, + "batch": 4, + "batch_width": 4, + "variant": "B4-S256-g2", + "swap_ms": 0.012, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8", + "sched": "prepared" + }, + "response_bytes": 324, + "elapsed_s": 0.39082704903557897, + "request": { + "req_id": "actual-batch0-lane2", + "first": 9831, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "lane": 2, + "iteration": 0 + }, + { + "status": 200, + "response": { + "tokens": [ + 198, + 220, + 482, + 220, + 16, + 13, + 15, + 13 + ], + "load_ms": 49.4, + "lead_ms": -1.0, + "tpot_ms": 15.7, + "decode_ms": 205.3, + "batch": 4, + "batch_width": 4, + "variant": "B4-S256-g2", + "swap_ms": 0.012, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8", + "sched": "prepared" + }, + "response_bytes": 305, + "elapsed_s": 0.3908501889090985, + "request": { + "req_id": "actual-batch0-lane3", + "first": 198, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "lane": 3, + "iteration": 0 + }, + { + "status": 200, + "response": { + "tokens": [ + 198, + 791, + 1176, + 1403, + 5238, + 315, + 279, + 33894 + ], + "load_ms": 33.1, + "lead_ms": -1.0, + "tpot_ms": 15.8, + "decode_ms": 176.5, + "batch": 4, + "batch_width": 4, + "variant": "B4-S256-g2", + "swap_ms": 0.012, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8", + "sched": "prepared" + }, + "response_bytes": 314, + "elapsed_s": 0.3487406859640032, + "request": { + "req_id": "actual-batch1-lane0", + "first": 198, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "lane": 0, + "iteration": 1 + }, + { + "status": 200, + "response": { + "tokens": [ + 29, + 946, + 946, + 946, + 946, + 946, + 946, + 946 + ], + "load_ms": 31.6, + "lead_ms": -1.0, + "tpot_ms": 15.8, + "decode_ms": 176.5, + "batch": 4, + "batch_width": 4, + "variant": "B4-S256-g2", + "swap_ms": 0.012, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8", + "sched": "prepared" + }, + "response_bytes": 308, + "elapsed_s": 0.3491834830492735, + "request": { + "req_id": "actual-batch1-lane1", + "first": 29, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "lane": 1, + "iteration": 1 + }, + { + "status": 200, + "response": { + "tokens": [ + 9831, + 19954, + 13094, + 66965, + 29726, + 13094, + 33390, + 33353 + ], + "load_ms": 32.9, + "lead_ms": -1.0, + "tpot_ms": 15.8, + "decode_ms": 176.5, + "batch": 4, + "batch_width": 4, + "variant": "B4-S256-g2", + "swap_ms": 0.012, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8", + "sched": "prepared" + }, + "response_bytes": 324, + "elapsed_s": 0.3487219768576324, + "request": { + "req_id": "actual-batch1-lane2", + "first": 9831, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "lane": 2, + "iteration": 1 + }, + { + "status": 200, + "response": { + "tokens": [ + 198, + 220, + 482, + 220, + 16, + 13, + 15, + 13 + ], + "load_ms": 44.3, + "lead_ms": -1.0, + "tpot_ms": 15.8, + "decode_ms": 176.5, + "batch": 4, + "batch_width": 4, + "variant": "B4-S256-g2", + "swap_ms": 0.012, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8", + "sched": "prepared" + }, + "response_bytes": 305, + "elapsed_s": 0.34942364203743637, + "request": { + "req_id": "actual-batch1-lane3", + "first": 198, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "lane": 3, + "iteration": 1 + }, + { + "status": 200, + "response": { + "tokens": [ + 198, + 791, + 1176, + 1403, + 5238, + 315, + 279, + 33894 + ], + "load_ms": 33.4, + "lead_ms": -1.0, + "tpot_ms": 15.7, + "decode_ms": 169.0, + "batch": 4, + "batch_width": 4, + "variant": "B4-S256-g2", + "swap_ms": 0.012, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8", + "sched": "prepared" + }, + "response_bytes": 314, + "elapsed_s": 0.3426166670396924, + "request": { + "req_id": "actual-batch2-lane0", + "first": 198, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "lane": 0, + "iteration": 2 + }, + { + "status": 200, + "response": { + "tokens": [ + 29, + 946, + 946, + 946, + 946, + 946, + 946, + 946 + ], + "load_ms": 50.0, + "lead_ms": -1.0, + "tpot_ms": 15.7, + "decode_ms": 169.0, + "batch": 4, + "batch_width": 4, + "variant": "B4-S256-g2", + "swap_ms": 0.012, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8", + "sched": "prepared" + }, + "response_bytes": 308, + "elapsed_s": 0.34241389692761004, + "request": { + "req_id": "actual-batch2-lane1", + "first": 29, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "lane": 1, + "iteration": 2 + }, + { + "status": 200, + "response": { + "tokens": [ + 9831, + 19954, + 13094, + 66965, + 29726, + 13094, + 33390, + 33353 + ], + "load_ms": 32.9, + "lead_ms": -1.0, + "tpot_ms": 15.7, + "decode_ms": 169.0, + "batch": 4, + "batch_width": 4, + "variant": "B4-S256-g2", + "swap_ms": 0.012, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8", + "sched": "prepared" + }, + "response_bytes": 324, + "elapsed_s": 0.3423041191417724, + "request": { + "req_id": "actual-batch2-lane2", + "first": 9831, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "lane": 2, + "iteration": 2 + }, + { + "status": 200, + "response": { + "tokens": [ + 198, + 220, + 482, + 220, + 16, + 13, + 15, + 13 + ], + "load_ms": 28.5, + "lead_ms": -1.0, + "tpot_ms": 15.7, + "decode_ms": 169.0, + "batch": 4, + "batch_width": 4, + "variant": "B4-S256-g2", + "swap_ms": 0.012, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8", + "sched": "prepared" + }, + "response_bytes": 305, + "elapsed_s": 0.3421237200964242, + "request": { + "req_id": "actual-batch2-lane3", + "first": 198, + "pos": 8, + "max_new": 8, + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "lane": 3, + "iteration": 2 + } + ], + "health": [ + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0021745760459452868, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002048326889052987, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017862289678305387, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018976768478751183, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.036248540971428156, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0022382261231541634, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001732459058985114, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018440880812704563, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0021599051542580128, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020983859430998564, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019180970266461372, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018746978603303432, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020004569087177515, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002029626164585352, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.00205472600646317, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0022583750542253256, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019348871428519487, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002107475884258747, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020853260066360235, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0021044560708105564, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001852568006142974, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0031850889790803194, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0021618460305035114, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002114606089890003, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017017091158777475, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.00202789600007236, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.002186546102166176, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019702468998730183, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020571271888911724, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0022432547993957996, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.00216389587149024, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019870870746672153, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.007156512932851911, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001829878194257617, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001548049971461296, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018729278817772865, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017557281535118818, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001710098935291171, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017493381164968014, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017993380315601826, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017102081328630447, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017932879272848368, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0015418000984936953, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0016644489951431751, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0016840789467096329, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001639639027416706, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001719198189675808, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018488878849893808, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0016885388176888227, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0015423099976032972, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001632079016417265, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018403979483991861, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017031591851264238, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0015621599741280079, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001757598016411066, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0020098071545362473, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017834079917520285, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001587660051882267, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0014331210404634476, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0009916331619024277, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.00176306813955307, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017415490001440048, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017766878008842468, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0013498510234057903, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0015454799868166447, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017710879910737276, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017562189605087042, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017187679186463356, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017299391329288483, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001736269099637866, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017777481116354465, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001937577035278082, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001794368028640747, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017462889663875103, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0016224191058427095, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0015002698637545109, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0013261719141155481, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001570658991113305, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0016839590389281511, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0012398019898682833, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017396688926964998, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017822680529206991, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001496671000495553, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0013975210022181273, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001507040811702609, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001645518932491541, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017344278749078512, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017051792237907648, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0016627288423478603, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001302492106333375, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0014928809832781553, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0014274800196290016, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0014156810939311981, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017057990189641714, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001699418993666768, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0016570689622312784, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017163190059363842, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001711738994345069, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017318080645054579, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0015740590170025826, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001383091090247035, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0016246098093688488, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0015787789598107338, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001672669081017375, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0016976979095488787, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001606999896466732, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001956047024577856, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0015559699386358261, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0015332000330090523, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0015317799989134073, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0011165731120854616, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017620779108256102, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017764379736036062, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001831177854910493, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018320479430258274, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017458880320191383, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001842927886173129, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018309580627828836, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018582178745418787, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0014456401113420725, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.00188230792991817, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019104478415101767, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018902779556810856, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018992479890584946, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.00192508683539927, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0022882348857820034, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017916280776262283, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0013578108046203852, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.001589559018611908, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0016902592033147812, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017653880640864372, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0017046479042619467, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0015718599315732718, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0016580689698457718, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0018477179110050201, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0019611280877143145, + "request": null + }, + { + "status": 503, + "response": { + "ready": false, + "detail": "starting" + }, + "response_bytes": 38, + "elapsed_s": 0.0034762572031468153, + "request": null + }, + { + "status": 200, + "response": { + "ready": true, + "detail": "prepared rngd ['B4-S256-g2'] checkpoint=sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + "response_bytes": 140, + "elapsed_s": 0.0016229089815169573, + "request": null + } + ], + "batches": [ + { + "iteration": 0, + "requests": 4, + "tokens": 32, + "provided_first_tokens": 4, + "native_suffix_tokens": 28, + "counters_before": { + "native_calls": 17, + "upload_calls": 1, + "graph_load_calls": 1, + "compile_calls": 0 + }, + "counters_after": { + "native_calls": 136, + "upload_calls": 1, + "graph_load_calls": 1, + "compile_calls": 0 + }, + "exact_fresh_all_tokens": true, + "exact_native_suffix": true + }, + { + "iteration": 1, + "requests": 4, + "tokens": 32, + "provided_first_tokens": 4, + "native_suffix_tokens": 28, + "counters_before": { + "native_calls": 136, + "upload_calls": 1, + "graph_load_calls": 1, + "compile_calls": 0 + }, + "counters_after": { + "native_calls": 255, + "upload_calls": 1, + "graph_load_calls": 1, + "compile_calls": 0 + }, + "exact_fresh_all_tokens": true, + "exact_native_suffix": true + }, + { + "iteration": 2, + "requests": 4, + "tokens": 32, + "provided_first_tokens": 4, + "native_suffix_tokens": 28, + "counters_before": { + "native_calls": 255, + "upload_calls": 1, + "graph_load_calls": 1, + "compile_calls": 0 + }, + "counters_after": { + "native_calls": 374, + "upload_calls": 1, + "graph_load_calls": 1, + "compile_calls": 0 + }, + "exact_fresh_all_tokens": true, + "exact_native_suffix": true + } + ], + "prepared_mount_readonly": true, + "producer_exit": 0, + "producer_process_s": 18.03565972088836, + "producer_fully_exited_before_worker": true, + "worker_pid": 2582, + "worker_process_to_http_ready_s": 16.424149255966768, + "startup_native_calls": 17, + "validity": "valid", + "requests": 12, + "tokens": 96, + "provided_first_tokens": 12, + "native_suffix_tokens": 84, + "final_counters": { + "native_calls": 374, + "upload_calls": 1, + "graph_load_calls": 1, + "compile_calls": 0 + }, + "worker_exit": -15, + "worker_stopped": true + }, + "init_prepare": { + "status": "completed", + "utc": 1793337401.3677423, + "exit_code": 0, + "elapsed_s": 0.022055475041270256, + "report": { + "selection": { + "manifest": "sha256:b36a7d2daf074ca19e66541a4b41b8fa07a4381d0b32f9b28bdb75919cb75f7f", + "profile": { + "schema": "onggi.profile.v1", + "model_source": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8", + "options": "sha256:9ca7d81bdd7eef59a0e17632a42d5642914b61c7fd30d4f4eb4df666a38a9382", + "device": "rngd", + "runtime": "rngd-pd@fafd820fead20ed51dcb7f60ebb5e7dc7d90b2f1", + "sdk": "2026.4.0", + "compiler": "furiosa-tcc@2026.4.0;record-sha256:c723fabcf2277a40560aa74b09d453ca32a11780b643a63533330029c6486549", + "firmware": "furiosa-rngd-fw@2026.4.0+93d67f3", + "format": "runnable-v1", + "layout": "rngd-pd-bf16-q-scaled-transpose-k-hd-s-v-s-hd-lm-ng32-v128256", + "topology": "fusion8-mesh2-group2", + "tp": 1, + "batch": 4, + "sequence": 256 + }, + "compatible": [ + "sha256:b36a7d2daf074ca19e66541a4b41b8fa07a4381d0b32f9b28bdb75919cb75f7f" + ], + "rejected": [ + { + "manifest": "sha256:7550bda3dc50229375514a0444b3d93efbcce1dcaddbc03d17c0408c78123572", + "reasons": [ + "firmware differs" + ] + } + ] + }, + "ready": true, + "directory": "/prepared/ready", + "stats": { + "files": 6, + "bytes": 987948, + "read_bytes": 220086, + "cache_bytes": 0, + "peer_bytes": 0, + "peer_chunks": 0, + "cached": 220086, + "reused": 0, + "base_best": 0, + "local_bytes": 0, + "ranges": 1, + "duration_ns": 11888592 + } + }, + "files": [ + { + "path": "build-options-proposed.json", + "bytes": 924, + "sha256": "9ca7d81bdd7eef59a0e17632a42d5642914b61c7fd30d4f4eb4df666a38a9382" + }, + { + "path": "cache/graphs/2026.4.0/2.10.0+cpu/33a051dfeb83c1a051b7599b.runnable", + "bytes": 224097, + "sha256": "405001f45f4676a134738a2d340dd453f17e9ccc60ba026e05ab285b39261c70" + }, + { + "path": "cache/graphs/2026.4.0/2.10.0+cpu/42100dcbf68bbc6aa86e92b0.runnable", + "bytes": 760632, + "sha256": "5e8aaff08c16606163a52e9d517dc2e1fc0b58aabb03740559af38ca4bba7bb1" + }, + { + "path": "checkpoint-manifest.json", + "bytes": 848, + "sha256": "2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8" + }, + { + "path": "prepared.json", + "bytes": 320, + "sha256": "2bebc98251b22594253a7070b99ae43314335c6fd26be63c9a84d75e66e40f55" + }, + { + "path": "provenance.json", + "bytes": 1127, + "sha256": "4224df6479bcc7451215d9ec7b419ad174d82c9470fc8d6ae8b396f099d53d64" + } + ], + "validity": "valid" + }, + "producer": { + "status": "completed", + "utc": 1793337422.2163255, + "runtime_commit": "fafd820fead20ed51dcb7f60ebb5e7dc7d90b2f1", + "harness_sha256": "4d5eab5c5ed6d2f87d3e8b5c5cfd85d9274791ae6b71401722b4245763e9206f", + "native_calls": 391, + "blobs": [ + { + "lane": 0, + "layer": 0, + "side": "k", + "name": "lane0-layer0-k.bin", + "bytes": 524416, + "sha256": "99aee47eb6df8db5dc722f5eebb15c8cb8a1eddaedcbbf40a18f78a427a6c283", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 0, + "side": "v", + "name": "lane0-layer0-v.bin", + "bytes": 524416, + "sha256": "7a06eb0c198b60863145b162720591c5b81e82f240a5f1dd48d06893f4acd4fc", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 1, + "side": "k", + "name": "lane0-layer1-k.bin", + "bytes": 524416, + "sha256": "42e629d9b409591b684411b4d361aa9ef26608d33d84093d2f12172112fef608", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 1, + "side": "v", + "name": "lane0-layer1-v.bin", + "bytes": 524416, + "sha256": "edf054c9fa79f24e99139642aa4f4bc1c92d14006eae1d023e6632e64e581b73", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 2, + "side": "k", + "name": "lane0-layer2-k.bin", + "bytes": 524416, + "sha256": "dbd826708bdefcb74d21c58a7c6c916226fc9488814f1209cf7c2e0ef98da76b", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 2, + "side": "v", + "name": "lane0-layer2-v.bin", + "bytes": 524416, + "sha256": "33fc9197cb8d857016947070e08a05bf71143e505a1af930cc968701c3b1dc5f", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 3, + "side": "k", + "name": "lane0-layer3-k.bin", + "bytes": 524416, + "sha256": "e8e8f514884bb964d61a61169625a25aefb451d0f67572cd7d40b55df8022710", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 3, + "side": "v", + "name": "lane0-layer3-v.bin", + "bytes": 524416, + "sha256": "4c5298c239f375f76e9d5b4e63531ee70c4a1ed45ee33c00de8a92b371b82eb0", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 4, + "side": "k", + "name": "lane0-layer4-k.bin", + "bytes": 524416, + "sha256": "e9f822c65c4bd7c21c618bd4ddf3649c6bac8ede0815ac4396e636743fa8fcbf", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 4, + "side": "v", + "name": "lane0-layer4-v.bin", + "bytes": 524416, + "sha256": "b16b584ad34486afebb4cc272f8c56b4ed71522d60df226d7d967e75a9941c18", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 5, + "side": "k", + "name": "lane0-layer5-k.bin", + "bytes": 524416, + "sha256": "7041d471700d2d6e0a04b0dd7bec217ba5fa2736369e31f333aefccc60913aa1", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 5, + "side": "v", + "name": "lane0-layer5-v.bin", + "bytes": 524416, + "sha256": "ac6f0baf61599a2988f8d6a3b772e22684d09c805ebb2b472db2a98e8de6f2df", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 6, + "side": "k", + "name": "lane0-layer6-k.bin", + "bytes": 524416, + "sha256": "6dfc0244761090d0ea5d6430605283839414fe2f4101508d38bc09d2d82d04a0", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 6, + "side": "v", + "name": "lane0-layer6-v.bin", + "bytes": 524416, + "sha256": "baa360b543108285b450f169cdb87af8d9c6093e8cc70557e5fee93127fc193b", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 7, + "side": "k", + "name": "lane0-layer7-k.bin", + "bytes": 524416, + "sha256": "38fdc786672c8eff42c7850696bdbdb957f868fb2c247a4179663d1e93120531", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 7, + "side": "v", + "name": "lane0-layer7-v.bin", + "bytes": 524416, + "sha256": "1fd7d6ab8db28cc1b7ec8157489b6ba4ccb458a7ecf2140c09895ffe59bb5dfb", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 8, + "side": "k", + "name": "lane0-layer8-k.bin", + "bytes": 524416, + "sha256": "eba0cde7d4f434a2d6a17eedeecbcd43b4a3e6c15f1bc8d067b5546e664ddfc5", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 8, + "side": "v", + "name": "lane0-layer8-v.bin", + "bytes": 524416, + "sha256": "a08886dffd90ec9f59b4e5fb59e47b6455a3903f7b0a49ae77555a5436844fb5", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 9, + "side": "k", + "name": "lane0-layer9-k.bin", + "bytes": 524416, + "sha256": "ecd48564e44c0fd46ba53270beee00d9b812358360e1bcaca6695e62caab489e", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 9, + "side": "v", + "name": "lane0-layer9-v.bin", + "bytes": 524416, + "sha256": "9380c0792a6402a0ecd30a49ad0ecb347c0c49d224f07ecb6e8ed20c60dfde96", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 10, + "side": "k", + "name": "lane0-layer10-k.bin", + "bytes": 524416, + "sha256": "aa6da136de6f9dde142eee564226c767ebf20a548c9d0e94c7300f871e782019", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 10, + "side": "v", + "name": "lane0-layer10-v.bin", + "bytes": 524416, + "sha256": "5a68e50e6e6d817bba9d1e89ab4909c6e48f61b393fd021002e82abd78aa55f2", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 11, + "side": "k", + "name": "lane0-layer11-k.bin", + "bytes": 524416, + "sha256": "d7b2510c450bc3d334c050ab1ad5c60d37860ddc18952eb65999d2cc679d4620", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 11, + "side": "v", + "name": "lane0-layer11-v.bin", + "bytes": 524416, + "sha256": "93a52a14ee703cc8df27f6c8905ba5d40984a644334cdc573a3af99546cb753d", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 12, + "side": "k", + "name": "lane0-layer12-k.bin", + "bytes": 524416, + "sha256": "db8f5b29b6356b7c38de8b21c9ed5b74c41591c7aded4e092872bb71c9eadf8c", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 12, + "side": "v", + "name": "lane0-layer12-v.bin", + "bytes": 524416, + "sha256": "5e4d8ebc08317824dca9740d8d6f05b483950f6ac16afd6a9706707ed30bd578", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 13, + "side": "k", + "name": "lane0-layer13-k.bin", + "bytes": 524416, + "sha256": "da92f0ffca81d6664ed67310f4ac8a6ab40c835215e243d7b6e82100d4181597", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 13, + "side": "v", + "name": "lane0-layer13-v.bin", + "bytes": 524416, + "sha256": "6ccaa63968d7d17779bd875d5398e64d7810d8871e649ee1c0c51b4dd67e8bf4", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 14, + "side": "k", + "name": "lane0-layer14-k.bin", + "bytes": 524416, + "sha256": "97b8baf36f272ed6ed935d6940513e8d25482506395a4f10cb9ecbb37e5a589e", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 14, + "side": "v", + "name": "lane0-layer14-v.bin", + "bytes": 524416, + "sha256": "ac47cdfafdd659b70756701bd24fd94933843a2b8a35b4e84b487ffda0cb8979", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 15, + "side": "k", + "name": "lane0-layer15-k.bin", + "bytes": 524416, + "sha256": "06bcd91a38c14c700fa50d1794eda239a72bf6eddf09f4099826211e549cfd55", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 15, + "side": "v", + "name": "lane0-layer15-v.bin", + "bytes": 524416, + "sha256": "33a9ad4d96eb6ec8fd8492312e5b5e7bc3173cfc1d37f74b5862d8989a46a151", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 16, + "side": "k", + "name": "lane0-layer16-k.bin", + "bytes": 524416, + "sha256": "89cb459d3afb274c41db00ae219274035e19fceb8eb8a8dca15cb8183a4afd3d", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 16, + "side": "v", + "name": "lane0-layer16-v.bin", + "bytes": 524416, + "sha256": "a84bdcdb57dc4d2851f968adcf6cfbb4cc0e45e113bd78c9dbeb72a16888b141", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 17, + "side": "k", + "name": "lane0-layer17-k.bin", + "bytes": 524416, + "sha256": "cc1130e5e3dc33de3961be3af53277f1655e8fbcdf54b7bae5c83de616d5b818", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 17, + "side": "v", + "name": "lane0-layer17-v.bin", + "bytes": 524416, + "sha256": "9b977cf49faa02f3933ff399315430b453bdc9b384d1d965e976ba63a7db8413", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 18, + "side": "k", + "name": "lane0-layer18-k.bin", + "bytes": 524416, + "sha256": "f6a7c1276681e97d406c441698b2b2ff6d96f2ac14ae827d98dc058a9e1b96d3", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 18, + "side": "v", + "name": "lane0-layer18-v.bin", + "bytes": 524416, + "sha256": "cec45c63cd73d61f2d481d302fae4b77be182b83bbe29875577eb9f199166edb", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 19, + "side": "k", + "name": "lane0-layer19-k.bin", + "bytes": 524416, + "sha256": "ce558f00a287b7e40a999a87a30ac4a1cbf9a2ec514a4c40dcf6f0fdb7af123c", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 19, + "side": "v", + "name": "lane0-layer19-v.bin", + "bytes": 524416, + "sha256": "0aabf310dd0ecc67b671b524074b11a024ea4e12555ea12ad5c7fa5f6ff968df", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 20, + "side": "k", + "name": "lane0-layer20-k.bin", + "bytes": 524416, + "sha256": "11e34bf68142b3a155e37526accd62a9c0074cbca21039422c5ff01361c24016", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 20, + "side": "v", + "name": "lane0-layer20-v.bin", + "bytes": 524416, + "sha256": "c3dd47e7c5f59094ca5b60e892c88b9cf3a826a76a5f80c2d9b592eed91e3e44", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 21, + "side": "k", + "name": "lane0-layer21-k.bin", + "bytes": 524416, + "sha256": "3dbb2691f47dfdaea11a53b5184f95253e2e432baf79cedca313272b15324073", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 21, + "side": "v", + "name": "lane0-layer21-v.bin", + "bytes": 524416, + "sha256": "a11ca9d929e0dc026715704e0a15bd9ed0da1bae3ab108c833f40fd141ea8062", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 22, + "side": "k", + "name": "lane0-layer22-k.bin", + "bytes": 524416, + "sha256": "5725b848e3bc68c3bd0804ee627c4011afc1fb2300abf96d37f568417197e387", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 22, + "side": "v", + "name": "lane0-layer22-v.bin", + "bytes": 524416, + "sha256": "e3f60680629284d279362e96edd30e01a40bb3484b16acbb02ca14310b2431d9", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 23, + "side": "k", + "name": "lane0-layer23-k.bin", + "bytes": 524416, + "sha256": "b61dc5a5be8a4c523dd216a5728bd4c194041799639901a600352411ec678374", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 23, + "side": "v", + "name": "lane0-layer23-v.bin", + "bytes": 524416, + "sha256": "04da0d5468fb6c5bf7097363d14cd13be2d6f1249b25b8ad45703f6eaebfa25f", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 24, + "side": "k", + "name": "lane0-layer24-k.bin", + "bytes": 524416, + "sha256": "e4db6bb15468d1cf356884d175942237b80166dcb7bf0e8bee0852194742f144", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 24, + "side": "v", + "name": "lane0-layer24-v.bin", + "bytes": 524416, + "sha256": "51834def2a0d44ffba39df5f67e80853655e0e0fdd9d6ccf7a4ade73d448ec81", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 25, + "side": "k", + "name": "lane0-layer25-k.bin", + "bytes": 524416, + "sha256": "5a67b741421ed5a5c47a0f6f8430b023d10101bd2de88d4fa6105bd2326dc929", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 25, + "side": "v", + "name": "lane0-layer25-v.bin", + "bytes": 524416, + "sha256": "fd508839d52c349701cd793721dddca65d052fca5e181d3d329d1a1c21cf844d", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 26, + "side": "k", + "name": "lane0-layer26-k.bin", + "bytes": 524416, + "sha256": "db0f9d9704dbd2ae115848d7abdfb32ee44d7e63c36c6ac657a3a95cfcddbd0d", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 26, + "side": "v", + "name": "lane0-layer26-v.bin", + "bytes": 524416, + "sha256": "b8088d40edbb8a8969fc6f8e3c1ca8463e41118986240528c08dea0306cb989b", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 27, + "side": "k", + "name": "lane0-layer27-k.bin", + "bytes": 524416, + "sha256": "2a8ca8867d60ed94206abf2d7dd04d8a15036cb3d92645f32a12f2cf2b3bc2b3", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 27, + "side": "v", + "name": "lane0-layer27-v.bin", + "bytes": 524416, + "sha256": "ada84141a86d5b0912cb70c10d2e4d60ff76a06eefb9ae3ae852456a3c16ce5a", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 28, + "side": "k", + "name": "lane0-layer28-k.bin", + "bytes": 524416, + "sha256": "3b85251a53ca870cf07ea593f9c26a4ccdeaa5af25f1d7bfb5ebb95f153f48aa", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 28, + "side": "v", + "name": "lane0-layer28-v.bin", + "bytes": 524416, + "sha256": "c28e422a657d5e2f58bdf5faa01310bc143b881f486d6c64cb436a87dc37ea61", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 29, + "side": "k", + "name": "lane0-layer29-k.bin", + "bytes": 524416, + "sha256": "d594ed09b7fd91a7860cc4ab55e42f31f129efb00c72e1fc9a0adf4ebc431e4e", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 29, + "side": "v", + "name": "lane0-layer29-v.bin", + "bytes": 524416, + "sha256": "a7963892d841815311c36f7e2a21e48beec8638c48fc78df2ae97e2f2c0bb968", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 30, + "side": "k", + "name": "lane0-layer30-k.bin", + "bytes": 524416, + "sha256": "67e8122aff68c83793c32a0801062026242e40eaaa4857689d991395a919f857", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 30, + "side": "v", + "name": "lane0-layer30-v.bin", + "bytes": 524416, + "sha256": "f23a3bbe09548e734c345227abae641127783ff7f76c45add50b799900c3e61b", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 31, + "side": "k", + "name": "lane0-layer31-k.bin", + "bytes": 524416, + "sha256": "9cfc6ffa51b6233f77a683b5d801f6df65352d2966022e4519d93da8bc622b2a", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 0, + "layer": 31, + "side": "v", + "name": "lane0-layer31-v.bin", + "bytes": 524416, + "sha256": "87b1023cca73c65c6ccdfa52bdee7b25ecc5dce8d300cc9c53f0a828913619f3", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 0, + "side": "k", + "name": "lane1-layer0-k.bin", + "bytes": 524416, + "sha256": "f54c9bed562137216dac6a8cf28e8a2377eb993be0058b3cc1365db121ff926d", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 0, + "side": "v", + "name": "lane1-layer0-v.bin", + "bytes": 524416, + "sha256": "da6731939a460b6618b64183b5e73f04f5cffb0575b89b6c9a180aa962143dac", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 1, + "side": "k", + "name": "lane1-layer1-k.bin", + "bytes": 524416, + "sha256": "df3eefd972204d685e3171f024de9273ba0c2b8d2d8ac376c2937c65cf4b3191", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 1, + "side": "v", + "name": "lane1-layer1-v.bin", + "bytes": 524416, + "sha256": "2b0339a1ac9086b574c9c0e30e8ac421079bb3d4c413a86fe7e7dc2d37fa2ea8", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 2, + "side": "k", + "name": "lane1-layer2-k.bin", + "bytes": 524416, + "sha256": "e7e092891fe6d99beebd25fb9b0ac36245527b4b20d77ca2f58c03ee7f6da702", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 2, + "side": "v", + "name": "lane1-layer2-v.bin", + "bytes": 524416, + "sha256": "0581b29015b6ed059971d5c7dc1fe5d7a4b4486b30cd1ba1ea4da06653cdc19a", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 3, + "side": "k", + "name": "lane1-layer3-k.bin", + "bytes": 524416, + "sha256": "2afb570511cd1b02456e4a4ed6ba37021d659a0bd6b404b0da3bb70769c92478", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 3, + "side": "v", + "name": "lane1-layer3-v.bin", + "bytes": 524416, + "sha256": "5ca4b2119c0ac6410f99aa3e60ba7bf6875e47054476720375dcd129df5459af", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 4, + "side": "k", + "name": "lane1-layer4-k.bin", + "bytes": 524416, + "sha256": "11e8dda895b55635b7db4df4d2caa047537dd8c68fc507d391d2ecd0ff831a74", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 4, + "side": "v", + "name": "lane1-layer4-v.bin", + "bytes": 524416, + "sha256": "e8f12ef89e9e02fb25d1f736d1c81f891af1134d82aa1c758137c1c4476ec7ed", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 5, + "side": "k", + "name": "lane1-layer5-k.bin", + "bytes": 524416, + "sha256": "d1b02a0828abba35ddf142f0a1ab9e336ed0cf381eb3a9aeb7633d1c0d8ff6d3", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 5, + "side": "v", + "name": "lane1-layer5-v.bin", + "bytes": 524416, + "sha256": "ec4c1de069fe3e4c2fa2757337062f3d30c153490a147347e24d46f624e57cdf", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 6, + "side": "k", + "name": "lane1-layer6-k.bin", + "bytes": 524416, + "sha256": "1912d006fcc19b2778e13aa1d477e1ebeb5e8186b301343ce9c6bd5ce654a900", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 6, + "side": "v", + "name": "lane1-layer6-v.bin", + "bytes": 524416, + "sha256": "bbb84861bdf125d6403fb81eb77ebcd70afcd882aaa18640b7764bd5180d8a49", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 7, + "side": "k", + "name": "lane1-layer7-k.bin", + "bytes": 524416, + "sha256": "677a65c523f5ee788af6813ca64e316c62ebc6d6dff12ad18799f7b7f46e2b11", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 7, + "side": "v", + "name": "lane1-layer7-v.bin", + "bytes": 524416, + "sha256": "1828c116314024a3868842809e02cbd7a83fcb3c8371c63b3c0af1692e33dbe5", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 8, + "side": "k", + "name": "lane1-layer8-k.bin", + "bytes": 524416, + "sha256": "b7a5eb8acdff50edae77ccd09db100c2fb468a07ecef2783a8a5afff59709f26", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 8, + "side": "v", + "name": "lane1-layer8-v.bin", + "bytes": 524416, + "sha256": "f7e214e2919401fd80a0e967734eb140c70f56fc6c9146eb1b741b29026f5811", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 9, + "side": "k", + "name": "lane1-layer9-k.bin", + "bytes": 524416, + "sha256": "b1e31e71b24710051946fc2b0981b6457e1e0d2c701d43d72d94bfaf793c4dda", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 9, + "side": "v", + "name": "lane1-layer9-v.bin", + "bytes": 524416, + "sha256": "a8c244ce336d5ab72aa5ebe8c4ab4e11b16bcdb098a054f7de87228c0cd9d70b", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 10, + "side": "k", + "name": "lane1-layer10-k.bin", + "bytes": 524416, + "sha256": "c89752df3df684d82543e1e23e01bae192d6727078d89d2231c3393f9a1f1aaf", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 10, + "side": "v", + "name": "lane1-layer10-v.bin", + "bytes": 524416, + "sha256": "4e4798f89538a4a6ec1d56d375d7f83ec1020a22c1c9525905b95f6c4c2a2c26", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 11, + "side": "k", + "name": "lane1-layer11-k.bin", + "bytes": 524416, + "sha256": "ad2f1ee3e3177cd1e79384e5bbd64e871a18bb0a5a1873c13ba3e5699b7e45ae", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 11, + "side": "v", + "name": "lane1-layer11-v.bin", + "bytes": 524416, + "sha256": "6bfbf02fccef9f8c80cef0bff78a2be69c4b1d797104a9eed07d4c7c01737a0f", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 12, + "side": "k", + "name": "lane1-layer12-k.bin", + "bytes": 524416, + "sha256": "2b4ed60d05a19bb1799e22c1d9f623817ff55e6f948816a64ffce4542ccf3a24", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 12, + "side": "v", + "name": "lane1-layer12-v.bin", + "bytes": 524416, + "sha256": "f6f3a5d50e5d0c7d4f9df58e2391080d4bc819627d6882256d31bed9125083bc", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 13, + "side": "k", + "name": "lane1-layer13-k.bin", + "bytes": 524416, + "sha256": "c28ac4d0920111807c198077eec7d80d78a6b25c28150b6cb686741c8c8e6625", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 13, + "side": "v", + "name": "lane1-layer13-v.bin", + "bytes": 524416, + "sha256": "cf6518fc78773b63282524006f1e7ec95d04a90b8c065ea5f80801241b7b73f1", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 14, + "side": "k", + "name": "lane1-layer14-k.bin", + "bytes": 524416, + "sha256": "d129c8ae12a3bfd5dc0443c6a27c68703bc1741d83ff041f647de0e5df354284", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 14, + "side": "v", + "name": "lane1-layer14-v.bin", + "bytes": 524416, + "sha256": "eaf2138cee679d7aaae317037a32930745542ef7cc98ad7fa97fa06f716461ad", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 15, + "side": "k", + "name": "lane1-layer15-k.bin", + "bytes": 524416, + "sha256": "a2ca8a35e9b0c9e81aef55860757047d60038066f7d37cfb0ed0d83bf15fa39d", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 15, + "side": "v", + "name": "lane1-layer15-v.bin", + "bytes": 524416, + "sha256": "a88115a9ada82223502c44aa8cdd14c35e5df55e074d0b7a46b9501eb4d0a6b6", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 16, + "side": "k", + "name": "lane1-layer16-k.bin", + "bytes": 524416, + "sha256": "9f19050bd0b13465496214ac8cdd7c88fffe8be5e52010b2a7f27cf0e5bd5289", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 16, + "side": "v", + "name": "lane1-layer16-v.bin", + "bytes": 524416, + "sha256": "9a29d0e0f7bf5b46c3ae1196603eee9c8748853ae868e73fef6de31ee90ed53c", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 17, + "side": "k", + "name": "lane1-layer17-k.bin", + "bytes": 524416, + "sha256": "9f47e8e65bc8cfb42ae3bf2bb0890be3b0ee21b219bcb0f5391543f0c0268eb0", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 17, + "side": "v", + "name": "lane1-layer17-v.bin", + "bytes": 524416, + "sha256": "1540234ff8b29645df4fb2e055445bf61979a6c483717d732d489f62480ea67e", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 18, + "side": "k", + "name": "lane1-layer18-k.bin", + "bytes": 524416, + "sha256": "d243821a17d384c200fe19e6cf8aa4d5640926066464f917e12b5404147725e7", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 18, + "side": "v", + "name": "lane1-layer18-v.bin", + "bytes": 524416, + "sha256": "fe68c52059bc977f9422a0c61854b7efb1868a5cc6acbfe4a6015bbafd7c73b5", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 19, + "side": "k", + "name": "lane1-layer19-k.bin", + "bytes": 524416, + "sha256": "23692ae1de28a3cc3c77d43307805abf3c39b97cc05faa784bed977b7d09a72e", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 19, + "side": "v", + "name": "lane1-layer19-v.bin", + "bytes": 524416, + "sha256": "1bb514fa0c20894203686725d0b9ea8c9889315bbbfdb5be03745d1512d05e4c", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 20, + "side": "k", + "name": "lane1-layer20-k.bin", + "bytes": 524416, + "sha256": "61aad78503e44f55df3868713edc0f37e9400d23ac616975a817aa24db8fe571", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 20, + "side": "v", + "name": "lane1-layer20-v.bin", + "bytes": 524416, + "sha256": "cfb2d22796eb1c79337daab427fa19fc585c7c262324df0235cd56afaa1df4ef", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 21, + "side": "k", + "name": "lane1-layer21-k.bin", + "bytes": 524416, + "sha256": "4ba349adb38e4b73ca3badcccb70c090f3e5f964572b277a128b5b50af1b41fc", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 21, + "side": "v", + "name": "lane1-layer21-v.bin", + "bytes": 524416, + "sha256": "9c48761ec893acf4d242334e76fb775c5e49dfc9db788e97e6faaad6ff0305e8", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 22, + "side": "k", + "name": "lane1-layer22-k.bin", + "bytes": 524416, + "sha256": "eafae30c25819d59e5a77f8e54bc7ee32cdbce97c0b6626fb512c4f9e7452960", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 22, + "side": "v", + "name": "lane1-layer22-v.bin", + "bytes": 524416, + "sha256": "6c72d8fc661ff20782c2a53c3ab9f7fa28834a7d3a8444261105f96250734d4b", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 23, + "side": "k", + "name": "lane1-layer23-k.bin", + "bytes": 524416, + "sha256": "afddbc1747e99e7210f314df0c0fc478dc3d7ccb013017040e844e28db7724af", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 23, + "side": "v", + "name": "lane1-layer23-v.bin", + "bytes": 524416, + "sha256": "f478523d9dfab8d3b503bcaff9b2ae6e985b760b3b44e9f5108e77ac5428d3b9", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 24, + "side": "k", + "name": "lane1-layer24-k.bin", + "bytes": 524416, + "sha256": "807bc717c1ca48b239dad6278009b354e5e84df8628a7c8305cc30fafd5b5d78", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 24, + "side": "v", + "name": "lane1-layer24-v.bin", + "bytes": 524416, + "sha256": "cb979ac5529f8e6bd5cb4675a7b6f23d77351d05daebad474b76b3e2dd73314f", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 25, + "side": "k", + "name": "lane1-layer25-k.bin", + "bytes": 524416, + "sha256": "e9d8f9a271038f9a88049b8ff2d9f5de2d906b1b7e8969d6eba30dc8e0f6919a", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 25, + "side": "v", + "name": "lane1-layer25-v.bin", + "bytes": 524416, + "sha256": "da66a91b55e97455ae200b7a37e591683cc557d7159e77d182c88f48b9d9af1a", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 26, + "side": "k", + "name": "lane1-layer26-k.bin", + "bytes": 524416, + "sha256": "6164e84869c4d0beab38b52d951b92ac3c4a979d179f68f0acb2994cbc3dcf4d", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 26, + "side": "v", + "name": "lane1-layer26-v.bin", + "bytes": 524416, + "sha256": "266423d4f0b381ee6ebe05a6d7fd0a838ffdbed81b0edca23b3422f1acb30f27", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 27, + "side": "k", + "name": "lane1-layer27-k.bin", + "bytes": 524416, + "sha256": "82ef989355ba8d688d8636d6d6af2cc5ffd01a3b4755d32ee9d35420f1363a40", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 27, + "side": "v", + "name": "lane1-layer27-v.bin", + "bytes": 524416, + "sha256": "01b71c9dfec3c4a4b8d0b9eeb53ff890d5f30b8c1d8b70358f40cbe266baf286", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 28, + "side": "k", + "name": "lane1-layer28-k.bin", + "bytes": 524416, + "sha256": "2f13eb2e21657fb24fc50c571e7f77e1ef7cd8759f4ed64623fcd49116f659e0", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 28, + "side": "v", + "name": "lane1-layer28-v.bin", + "bytes": 524416, + "sha256": "186ea30f00106d54099d6a225c76d733c6358b70f72a8078637f89af315b62f3", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 29, + "side": "k", + "name": "lane1-layer29-k.bin", + "bytes": 524416, + "sha256": "9e779e857f632317d1992fd1dd57a082b78b1c8684408ee113cf7a65ace2868f", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 29, + "side": "v", + "name": "lane1-layer29-v.bin", + "bytes": 524416, + "sha256": "0306547c9e7f45c6a7c8940b1465b87efb3bf84cc49106e4a2210403b9e0a34a", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 30, + "side": "k", + "name": "lane1-layer30-k.bin", + "bytes": 524416, + "sha256": "f346618fba12b4f3b8f7ce7a2415aa0a4c408c42e588142c79c585612be00c5f", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 30, + "side": "v", + "name": "lane1-layer30-v.bin", + "bytes": 524416, + "sha256": "252b5d9755a74c4f98618612ee865015dd4f81e3514008c6757af26ffba6b70d", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 31, + "side": "k", + "name": "lane1-layer31-k.bin", + "bytes": 524416, + "sha256": "d697d2a4c7952a033ad568de3ec89ed18b7de1b41a800ae5a712b097a93c2916", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 1, + "layer": 31, + "side": "v", + "name": "lane1-layer31-v.bin", + "bytes": 524416, + "sha256": "9c5e25bfcb8593f3fb14a0eb1b665a40bfe7fe4bf6097f902cd766f5a3930694", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 0, + "side": "k", + "name": "lane2-layer0-k.bin", + "bytes": 524416, + "sha256": "fe9d0b59590a6cd8833e75417af1c58d8cefaa819f18d8820b01bc7480885efb", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 0, + "side": "v", + "name": "lane2-layer0-v.bin", + "bytes": 524416, + "sha256": "b8b2846271232972d6464bc853b879db61441e535dfab42d2b7ecc62df470ecc", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 1, + "side": "k", + "name": "lane2-layer1-k.bin", + "bytes": 524416, + "sha256": "4ce241306317c093983730972062a23d4179ab6c4537af6ece7fed84ab8c4d21", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 1, + "side": "v", + "name": "lane2-layer1-v.bin", + "bytes": 524416, + "sha256": "88cb7a5992e3c60a288dac9117a1f8dddb1f9517afb8fd349d45b0668d2c36ec", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 2, + "side": "k", + "name": "lane2-layer2-k.bin", + "bytes": 524416, + "sha256": "fc873af7878b39bb69460c151aa0e8ad537534a68bd2503e0d407398fa4f1a95", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 2, + "side": "v", + "name": "lane2-layer2-v.bin", + "bytes": 524416, + "sha256": "fc9f51824ec6d1d1c9ed4025ab47561daa345ae4ba1df3422742104cd5e660db", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 3, + "side": "k", + "name": "lane2-layer3-k.bin", + "bytes": 524416, + "sha256": "8a636d07f18bdf8cf8053f613b23e6f0e900198eb8b005aed8ce6e795010e509", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 3, + "side": "v", + "name": "lane2-layer3-v.bin", + "bytes": 524416, + "sha256": "b3e20c0e370d44f792de2f44c3ae34f4620971fa07b736f4964ee84e81025f30", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 4, + "side": "k", + "name": "lane2-layer4-k.bin", + "bytes": 524416, + "sha256": "7d95365c3d6ce0e77766122c09e6882911bd27a1d89df4184f13f7e2d4e70ef0", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 4, + "side": "v", + "name": "lane2-layer4-v.bin", + "bytes": 524416, + "sha256": "2cc98b23542d384ccd63551b1968c091f25a49e09fe327796d59a56a4fb77553", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 5, + "side": "k", + "name": "lane2-layer5-k.bin", + "bytes": 524416, + "sha256": "47472fbc67615322fa78814a76b51929f3d6c5299d7976911bafdb1fe560d4cf", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 5, + "side": "v", + "name": "lane2-layer5-v.bin", + "bytes": 524416, + "sha256": "e0ae9db020845e0b89a6738ffb944cf61523e52fd2736e39df593b7fe1d6447c", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 6, + "side": "k", + "name": "lane2-layer6-k.bin", + "bytes": 524416, + "sha256": "94481dc2b1a795bf66020a3a23b36db8fe06650ff51b2b415144f32bdb948a85", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 6, + "side": "v", + "name": "lane2-layer6-v.bin", + "bytes": 524416, + "sha256": "d2de10c1b70af4c512355229171645da40626a9c2306005f7178e553600e7bbe", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 7, + "side": "k", + "name": "lane2-layer7-k.bin", + "bytes": 524416, + "sha256": "71fe8c3538534483cb33e12872a94cf585fa3bd611e8aff0250bdf295d69976c", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 7, + "side": "v", + "name": "lane2-layer7-v.bin", + "bytes": 524416, + "sha256": "969c1080f8e05f5d912f6a55d7537773892645158ae3d9df7da4da37775e46f9", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 8, + "side": "k", + "name": "lane2-layer8-k.bin", + "bytes": 524416, + "sha256": "e6553a05d029f11ab7f3a97d2f1064ab95e0c9d4a5d3149032e241cd0fae39f8", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 8, + "side": "v", + "name": "lane2-layer8-v.bin", + "bytes": 524416, + "sha256": "46f06377f6668fd57b67ff4116dbc3280ecbfa3a6ab887d21c711cf153205ee9", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 9, + "side": "k", + "name": "lane2-layer9-k.bin", + "bytes": 524416, + "sha256": "db03b57b6f2c738837ec93ff1538a41800f24d2295848c566df6b2923421b3f9", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 9, + "side": "v", + "name": "lane2-layer9-v.bin", + "bytes": 524416, + "sha256": "559114ae5f5a925b8093d3a796d00b190bf80fdac1757e63a1df097a13497ff6", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 10, + "side": "k", + "name": "lane2-layer10-k.bin", + "bytes": 524416, + "sha256": "f800dc865859e5dd9b5dfd021162a11677f3d80db9f07389dfe38aa2f4a2365c", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 10, + "side": "v", + "name": "lane2-layer10-v.bin", + "bytes": 524416, + "sha256": "1b70e489a6fc153b2b355c5cc2839c9c60c444d54d9abb87beacc34ddfc2d44e", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 11, + "side": "k", + "name": "lane2-layer11-k.bin", + "bytes": 524416, + "sha256": "f42853d914ffbbe2715d9ebcc76b94cdbeadd652d07121896476f4932e4008e6", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 11, + "side": "v", + "name": "lane2-layer11-v.bin", + "bytes": 524416, + "sha256": "0feb1193054e166b2a114ee01d6fca8ec2d80ae8b24705d44d5a38290c0a42b6", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 12, + "side": "k", + "name": "lane2-layer12-k.bin", + "bytes": 524416, + "sha256": "7c12b69779837106e722213d21f1aa65c9b4a5136b9786ac155f4d5bd6bb1864", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 12, + "side": "v", + "name": "lane2-layer12-v.bin", + "bytes": 524416, + "sha256": "66b4bb3dbc02ac787a24f843f571ae7d98feaaa88ff5d27c230c13ba08bce515", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 13, + "side": "k", + "name": "lane2-layer13-k.bin", + "bytes": 524416, + "sha256": "b37a3c5a2faebfbe75e1411dd99274604cfd217c9fb58293f8429edd8473ae23", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 13, + "side": "v", + "name": "lane2-layer13-v.bin", + "bytes": 524416, + "sha256": "cfe98b55d64c838d5dea2998e42273d739878c2dcf2874b8687e7b995b319627", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 14, + "side": "k", + "name": "lane2-layer14-k.bin", + "bytes": 524416, + "sha256": "2379934c36c5ae20472a2775a0bc7afb612ba211f2d95b57db73267b586193d4", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 14, + "side": "v", + "name": "lane2-layer14-v.bin", + "bytes": 524416, + "sha256": "ba1fcb2a5bb47078de8b8955114c894ac1895b6e12aa844ff578bae20e19ede6", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 15, + "side": "k", + "name": "lane2-layer15-k.bin", + "bytes": 524416, + "sha256": "d95b276b277e0e3926820934bdb0ea975a12eda8dee687bf0f0f24e3eed0bfa7", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 15, + "side": "v", + "name": "lane2-layer15-v.bin", + "bytes": 524416, + "sha256": "ecfbfb1e11582953f12f6ea0be41edf318c016f90c3bf1729c360faee2ebe8ed", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 16, + "side": "k", + "name": "lane2-layer16-k.bin", + "bytes": 524416, + "sha256": "9a1163791f36e3210c830f124fd81304ceb4f55aa360bc307e5b0d2d7fcee1f1", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 16, + "side": "v", + "name": "lane2-layer16-v.bin", + "bytes": 524416, + "sha256": "b852cf38c2a85ac14f2e069c7362f391890a4ad12deb0ca9814c92a106ba1d11", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 17, + "side": "k", + "name": "lane2-layer17-k.bin", + "bytes": 524416, + "sha256": "13300b72a8cd23ddad93b0b5b2ad572b64d9ce72549ee952ddf70cbb26a6a734", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 17, + "side": "v", + "name": "lane2-layer17-v.bin", + "bytes": 524416, + "sha256": "c645e31f903caa5178646ab68c344dafa9fa7f327f5478b1619b34687fa3bc35", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 18, + "side": "k", + "name": "lane2-layer18-k.bin", + "bytes": 524416, + "sha256": "b4c388c338485adc0e593bbfbdfd5e1de416d5e97923ff429495968e5f7262b0", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 18, + "side": "v", + "name": "lane2-layer18-v.bin", + "bytes": 524416, + "sha256": "071120ebf740d6ce3696aa3e005c7ed456ccf6ecb46fdc7e49dc28226823070c", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 19, + "side": "k", + "name": "lane2-layer19-k.bin", + "bytes": 524416, + "sha256": "4bb52a9a8f11d653a9c3fe4be7339e5c4bae60a93a6e9fac161e25fbe6674200", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 19, + "side": "v", + "name": "lane2-layer19-v.bin", + "bytes": 524416, + "sha256": "27ace50f61f7607fb149df09c7f137d07eb72a6df8362aed5dbd904f9cdb3143", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 20, + "side": "k", + "name": "lane2-layer20-k.bin", + "bytes": 524416, + "sha256": "7434ee1d8036e8191f412843e1e5ea2efba7d924d94474c7fad321575a61692e", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 20, + "side": "v", + "name": "lane2-layer20-v.bin", + "bytes": 524416, + "sha256": "90cfb51297e0aaf9f7bdb87a6b35206551adf2fe9ee43ef02de5eb554c765f85", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 21, + "side": "k", + "name": "lane2-layer21-k.bin", + "bytes": 524416, + "sha256": "d4bcedceeb3b27616391822637490dfba4b7bda4b5c0118717b1b9751315dca1", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 21, + "side": "v", + "name": "lane2-layer21-v.bin", + "bytes": 524416, + "sha256": "83bfe41e71c2d14dd58959384abcbe739eb97aaa05dff2cd87802ddb4b4d1dc7", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 22, + "side": "k", + "name": "lane2-layer22-k.bin", + "bytes": 524416, + "sha256": "106aee7c02674118c5794b31004e1f3fb77f1588213e69b3c9d919f181397d0d", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 22, + "side": "v", + "name": "lane2-layer22-v.bin", + "bytes": 524416, + "sha256": "452ff1bc5f84d77c349015c59b5e985f7fff36ce9ace3445e2c04f249f1c17c0", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 23, + "side": "k", + "name": "lane2-layer23-k.bin", + "bytes": 524416, + "sha256": "12de1877571fe0734cac6b3e68307e2b0d622dbb69b6ca45290d00ca026c44af", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 23, + "side": "v", + "name": "lane2-layer23-v.bin", + "bytes": 524416, + "sha256": "fd1722653827280c1fc6990c3471824f90593ecd76ef7e82d032965ba6b649f7", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 24, + "side": "k", + "name": "lane2-layer24-k.bin", + "bytes": 524416, + "sha256": "e385ec97bc2b9a8004c8a9dd4305a9863b21ac5651612c0391d0b7a7bd499555", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 24, + "side": "v", + "name": "lane2-layer24-v.bin", + "bytes": 524416, + "sha256": "1361093bbb8001b464896a1e7b7496df4b937ec24f588f2806fc8d2440f326a5", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 25, + "side": "k", + "name": "lane2-layer25-k.bin", + "bytes": 524416, + "sha256": "1ee4a618fe17efd88d93f1d1a432bfb739bfbc2d4f1b60abb28e8626a1e12d39", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 25, + "side": "v", + "name": "lane2-layer25-v.bin", + "bytes": 524416, + "sha256": "e49e34cfc2105d231d5a006e7b20fa63c1de542ef51fcf06f4e4e92bcdf334b1", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 26, + "side": "k", + "name": "lane2-layer26-k.bin", + "bytes": 524416, + "sha256": "d59b1a73883ccded718271dae59e3e1b4c937115f206295add1619ce2515237c", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 26, + "side": "v", + "name": "lane2-layer26-v.bin", + "bytes": 524416, + "sha256": "97888ec7b97b11f3d54b5c0b8681376be72f96922a2cd2cea31f00655f9e6885", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 27, + "side": "k", + "name": "lane2-layer27-k.bin", + "bytes": 524416, + "sha256": "95b8b2a90b466d3dbae03fb94af659eda31aff24e18873da36eb14a50c204443", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 27, + "side": "v", + "name": "lane2-layer27-v.bin", + "bytes": 524416, + "sha256": "cb254623e64d38639c7309bd0538e1cec5ce6043e551848cee81b8bc2c36fb59", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 28, + "side": "k", + "name": "lane2-layer28-k.bin", + "bytes": 524416, + "sha256": "ceae82f4057f5c090cc557041b1fb50d6adcf0957015c3f4482987bb52c9390f", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 28, + "side": "v", + "name": "lane2-layer28-v.bin", + "bytes": 524416, + "sha256": "d84361577ea0fa9e9a8c9be3a986d96365796ef456bde98c329ae4d11e64bc8a", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 29, + "side": "k", + "name": "lane2-layer29-k.bin", + "bytes": 524416, + "sha256": "d7d39d100e9b59c85a91c65bc1838f15a0fce88bba8fa31ddb5537a7f7c5ae5a", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 29, + "side": "v", + "name": "lane2-layer29-v.bin", + "bytes": 524416, + "sha256": "d926494bcbc80b4fc64ad2ef425540e82936a4f27170caed387456a35c3465be", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 30, + "side": "k", + "name": "lane2-layer30-k.bin", + "bytes": 524416, + "sha256": "f9e256132961c8f65cf6048400ab37e8c78b569d373b87d856526c6b7a6a5f62", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 30, + "side": "v", + "name": "lane2-layer30-v.bin", + "bytes": 524416, + "sha256": "a12468d91ea8df6ddccb2609e8d18bd5101a69bb0dbe52846ef50ee2bd767fe7", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 31, + "side": "k", + "name": "lane2-layer31-k.bin", + "bytes": 524416, + "sha256": "0550aa73bc9d01e205ed8b54f54a1d0e395dd9f24d83bf1e6c8c06f5bb2b706e", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 2, + "layer": 31, + "side": "v", + "name": "lane2-layer31-v.bin", + "bytes": 524416, + "sha256": "8242c50a261f313d54cbc84c5747f8db5bb1a093e4759d50c23a8a83ba7a3b41", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 0, + "side": "k", + "name": "lane3-layer0-k.bin", + "bytes": 524416, + "sha256": "4d3f58193fd43c52d22be7fb4929a419da345145b95141a89194151b753067b7", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 0, + "side": "v", + "name": "lane3-layer0-v.bin", + "bytes": 524416, + "sha256": "27fb55a2217d84b0e8cfafc4a98bc275c98dbd2c467e16fcf39a7b061ea6be1f", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 1, + "side": "k", + "name": "lane3-layer1-k.bin", + "bytes": 524416, + "sha256": "f07d1fb0378e808cc9bb4b0379e483cc5f8d0b327d391cb2487f4284e0fe8e9a", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 1, + "side": "v", + "name": "lane3-layer1-v.bin", + "bytes": 524416, + "sha256": "6788ad1b05e6fa245581328d4e7285b878b7626cb435585fce1b56304fe79ef1", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 2, + "side": "k", + "name": "lane3-layer2-k.bin", + "bytes": 524416, + "sha256": "56e674d7cbba7aca39928385c8c3c00ddf3282d57418189bb76501f533e0ec83", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 2, + "side": "v", + "name": "lane3-layer2-v.bin", + "bytes": 524416, + "sha256": "4acf38c3e2e2c43ad119fa71c5fc70d014b96721b95fcfded8e2898366dde2d1", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 3, + "side": "k", + "name": "lane3-layer3-k.bin", + "bytes": 524416, + "sha256": "6d016d0145ac5c4db165dec9f3fd99c0ef619f3555f3b5d9597d12577cd04fea", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 3, + "side": "v", + "name": "lane3-layer3-v.bin", + "bytes": 524416, + "sha256": "fcfa7c235f6833d1ba0dd8d96b461c9787c5e26c96e9f64c8d285727cc8573e1", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 4, + "side": "k", + "name": "lane3-layer4-k.bin", + "bytes": 524416, + "sha256": "f046664fcb177b257861f3e6462e0987e5d098d54c9337999c0e5a61f191b084", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 4, + "side": "v", + "name": "lane3-layer4-v.bin", + "bytes": 524416, + "sha256": "9eae634bad4ff4231ca6fb06981e5fdbea82c2e1a087cd531aebb1133dfe591f", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 5, + "side": "k", + "name": "lane3-layer5-k.bin", + "bytes": 524416, + "sha256": "b5ed1d0785c7b86a761348f746cb8da29eafe10c0382cdee41ca6f981149f223", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 5, + "side": "v", + "name": "lane3-layer5-v.bin", + "bytes": 524416, + "sha256": "04ee4a2e1d7550138c267391a13d33d524c8eddb013b4ea251ff51d1a40096c4", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 6, + "side": "k", + "name": "lane3-layer6-k.bin", + "bytes": 524416, + "sha256": "ca88b13ceda1a69d7a505c83d430831d8284546f9ef095cffa5eeb407ff94aea", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 6, + "side": "v", + "name": "lane3-layer6-v.bin", + "bytes": 524416, + "sha256": "2ed0421bc8087a594bb65e4c335a4d240f9cc3e4f406aea1fd1ae2e57a317409", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 7, + "side": "k", + "name": "lane3-layer7-k.bin", + "bytes": 524416, + "sha256": "fc7c68436e204208f88b78bef97e432fbb6ee837ffc24242e498c3d92261bcc6", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 7, + "side": "v", + "name": "lane3-layer7-v.bin", + "bytes": 524416, + "sha256": "a8bcd764a9de18eb9a0ebf0e7b029a701c99430e45307b0cd2fceb462628eedf", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 8, + "side": "k", + "name": "lane3-layer8-k.bin", + "bytes": 524416, + "sha256": "82db89391232232a7136fbd3eac006e6340cdb1fc6b44dbb8b8c4fc0ec9dead5", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 8, + "side": "v", + "name": "lane3-layer8-v.bin", + "bytes": 524416, + "sha256": "9ce4aa1ccdc1ae2f066a8a0bcf66067a5fafc497e7e17e83b190c8f2385f3b9d", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 9, + "side": "k", + "name": "lane3-layer9-k.bin", + "bytes": 524416, + "sha256": "448a71a22234cba2279bd3738bdfc8a7459ab75138a958d547eef201b364c3a9", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 9, + "side": "v", + "name": "lane3-layer9-v.bin", + "bytes": 524416, + "sha256": "9bc5fe9c2b238bbdd378c54805e8b717b591be2d3ce3072faa976c438048d8c8", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 10, + "side": "k", + "name": "lane3-layer10-k.bin", + "bytes": 524416, + "sha256": "9faa772a0aea8e838964eda97a5a5d253380d6648b3e9f7819ff6b3f10981b9a", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 10, + "side": "v", + "name": "lane3-layer10-v.bin", + "bytes": 524416, + "sha256": "26245923f94aa817f9fb0660faac8996f2287d344a2f53c799e71b4b057ee8d1", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 11, + "side": "k", + "name": "lane3-layer11-k.bin", + "bytes": 524416, + "sha256": "b0d1763d96fd000181c436c69bbb6eaecee43b26817219ec4ec461427cb57429", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 11, + "side": "v", + "name": "lane3-layer11-v.bin", + "bytes": 524416, + "sha256": "545dffc78d8a121e18856b631ac2d9d04af2e0d7ee7634b458223b7af2da5ed6", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 12, + "side": "k", + "name": "lane3-layer12-k.bin", + "bytes": 524416, + "sha256": "41527a344aedc669a14bc01bed0926daa1869cbfff9232431c94a5d6f2983835", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 12, + "side": "v", + "name": "lane3-layer12-v.bin", + "bytes": 524416, + "sha256": "9a20e8c14c9893b19e0b29a6cff8c0b570f7f7aa2cf67afe1088bc857460d7fb", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 13, + "side": "k", + "name": "lane3-layer13-k.bin", + "bytes": 524416, + "sha256": "f9cf347331fbade48e22fb17a3750d81cc12dd82588c906f8242e122b9006fc2", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 13, + "side": "v", + "name": "lane3-layer13-v.bin", + "bytes": 524416, + "sha256": "969b13ab8d93f8fed64f19e3d8d2fa862374b54d7a829959f1d5027c481ea21d", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 14, + "side": "k", + "name": "lane3-layer14-k.bin", + "bytes": 524416, + "sha256": "b29d29aa474afe75a76e2bb65380ce4df793e2145fe6e10761fdb90f87b2f199", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 14, + "side": "v", + "name": "lane3-layer14-v.bin", + "bytes": 524416, + "sha256": "63159888983363fbcde4d28940751f65e6a8ba6aa54abc2b19caa0156eabb3fa", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 15, + "side": "k", + "name": "lane3-layer15-k.bin", + "bytes": 524416, + "sha256": "aff029dc80bbf1247e2543fcdb8bdad1488a93beae9dd101eb896c07adfbc6f4", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 15, + "side": "v", + "name": "lane3-layer15-v.bin", + "bytes": 524416, + "sha256": "8aa272e62083102e65d6383fc85340d419acfce32488b320cb8ffbf6c031139e", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 16, + "side": "k", + "name": "lane3-layer16-k.bin", + "bytes": 524416, + "sha256": "e016bf2af84b65a2303a16578e70fea556b6d581d8169d624bfaec21d298a163", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 16, + "side": "v", + "name": "lane3-layer16-v.bin", + "bytes": 524416, + "sha256": "ad57534b40a2f239cb995a0e1040cf84a6efb39be1961c42c48a38e8a561bf68", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 17, + "side": "k", + "name": "lane3-layer17-k.bin", + "bytes": 524416, + "sha256": "8cb5d0ba79052c1fb8584b4abc27420ec88ff37138ec55b7d480a4b32d39a637", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 17, + "side": "v", + "name": "lane3-layer17-v.bin", + "bytes": 524416, + "sha256": "0b53fc153193653030965ee3817b48c38be2e4a18f964ad42cfcbfe66f81daeb", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 18, + "side": "k", + "name": "lane3-layer18-k.bin", + "bytes": 524416, + "sha256": "aa3879a9a9357ef392f989d437be9f7f450c60fc6a0e02e6eddd5cd3531af1a2", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 18, + "side": "v", + "name": "lane3-layer18-v.bin", + "bytes": 524416, + "sha256": "b7c9fbd6df375a2e89d7d00d5788f1dd1a46871b5961a83158c8b90b0b5b0ab2", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 19, + "side": "k", + "name": "lane3-layer19-k.bin", + "bytes": 524416, + "sha256": "f903da09082c245d32e2855099de513a246a49b2741cce765ff765623022c782", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 19, + "side": "v", + "name": "lane3-layer19-v.bin", + "bytes": 524416, + "sha256": "6caa56948aeb2b6d7ae120597d48994d223af7d6ab1cac85689ada85ab9623dc", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 20, + "side": "k", + "name": "lane3-layer20-k.bin", + "bytes": 524416, + "sha256": "dd41223353092a75506eccc837621a9d18f4a6425c5ebf8e33bcc2479ced9fed", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 20, + "side": "v", + "name": "lane3-layer20-v.bin", + "bytes": 524416, + "sha256": "84f4da13382aa19edfc04b8b3eb3d7a492204f6676556647c79768385e7836c0", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 21, + "side": "k", + "name": "lane3-layer21-k.bin", + "bytes": 524416, + "sha256": "1de08835dd6773952fa79bbe9525b9ccd9e066226c3f4e14e48786570b44ff3d", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 21, + "side": "v", + "name": "lane3-layer21-v.bin", + "bytes": 524416, + "sha256": "affbc8b438197c0ad7291b444b86a1ea43bb3483703c33f244cc2c8654e28e99", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 22, + "side": "k", + "name": "lane3-layer22-k.bin", + "bytes": 524416, + "sha256": "5f5046b68120b95db987bcf66428615e62e6c667104a328cf57d7a94617b6864", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 22, + "side": "v", + "name": "lane3-layer22-v.bin", + "bytes": 524416, + "sha256": "a48a0bea4a98d859e91aca52f1cb6ed06529e6dde39803b3d082f305aaa8b145", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 23, + "side": "k", + "name": "lane3-layer23-k.bin", + "bytes": 524416, + "sha256": "405751ff2f257a2413423d5c838712ddc7941825806de180fd8772b13a8eeb8d", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 23, + "side": "v", + "name": "lane3-layer23-v.bin", + "bytes": 524416, + "sha256": "81c80eb955a44874220b5efc0f9ba838b30789b88c4b676cb3e0b07b3f1631bb", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 24, + "side": "k", + "name": "lane3-layer24-k.bin", + "bytes": 524416, + "sha256": "d188cbe9cac6baff58a7b61fbafb61828cd49f48a8cc7188739b64809d6799f2", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 24, + "side": "v", + "name": "lane3-layer24-v.bin", + "bytes": 524416, + "sha256": "1627cd5e27ea2293c09444ee92290fd32a731dd592340b6a755088933ddea2f5", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 25, + "side": "k", + "name": "lane3-layer25-k.bin", + "bytes": 524416, + "sha256": "b5c853cd22bcd202e72fb078b8dba45db6286564fd12cc23d3c499de31dbe6c2", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 25, + "side": "v", + "name": "lane3-layer25-v.bin", + "bytes": 524416, + "sha256": "ce7921050db1a84e6d5a62728cbea7c50eaabffd4ff3a860c5422ff2f63f71ef", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 26, + "side": "k", + "name": "lane3-layer26-k.bin", + "bytes": 524416, + "sha256": "7e2227daf1574f0fae4a6d0396bd1bbe75a12f5b91d4a8c879809952c6395a28", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 26, + "side": "v", + "name": "lane3-layer26-v.bin", + "bytes": 524416, + "sha256": "30135a8f3bd82b34d5483afb02b9175844a624388998043db3545c30cce1db7e", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 27, + "side": "k", + "name": "lane3-layer27-k.bin", + "bytes": 524416, + "sha256": "71a81d700776406ed717d95e083ad82514f50db237c01e30cc3b253d8b4ea612", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 27, + "side": "v", + "name": "lane3-layer27-v.bin", + "bytes": 524416, + "sha256": "093c8f659ff455fbbc3a3c5141b7f5fd5abec3316bc6f2c89894ff3b5fee3aa3", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 28, + "side": "k", + "name": "lane3-layer28-k.bin", + "bytes": 524416, + "sha256": "71189e84d88c6d7b19e2722a6867b6858f36d43ac0a3cb8cdc96286ce3475bb6", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 28, + "side": "v", + "name": "lane3-layer28-v.bin", + "bytes": 524416, + "sha256": "1d7cf1175c19482d3d0c3cb787da499f1e10b75402c883af0ae2a153ae069158", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 29, + "side": "k", + "name": "lane3-layer29-k.bin", + "bytes": 524416, + "sha256": "6f9edc4e0e45e4f2c1fc6e8df4b62dea03f13a2b1c1225f71a895bc3fe088544", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 29, + "side": "v", + "name": "lane3-layer29-v.bin", + "bytes": 524416, + "sha256": "6f19a59d01f38d02533c287e1baf6a8a00bbfe3c6ccca8175871a72d3f0a87c8", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 30, + "side": "k", + "name": "lane3-layer30-k.bin", + "bytes": 524416, + "sha256": "a43a19b70e7315d9f1e27c1dfc11e4e63a24464c79000595ab0367cb45fb09c1", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 30, + "side": "v", + "name": "lane3-layer30-v.bin", + "bytes": 524416, + "sha256": "f023632fc77334e8c9530156249ee00fdc7a492ef93f4f7719292365ca7e0b1f", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 31, + "side": "k", + "name": "lane3-layer31-k.bin", + "bytes": 524416, + "sha256": "1d6cc8d7298cd413046498d4dd8f5aec877a5aefdcf082fe96adbae5bbdc65b7", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + }, + { + "lane": 3, + "layer": 31, + "side": "v", + "name": "lane3-layer31-v.bin", + "bytes": 524416, + "sha256": "ec9e88bfca1e347d4026958d41efbb43ab7850083cdec234d5d38f26e70266df", + "source": "full actual native prompt replay KV including native tail", + "prompt_columns": 8, + "wire_context": 256, + "wire_roundtrip_bitwise_exact": true, + "prefix_bitwise_exact": true, + "tail_bitwise_exact": true, + "native_tail_nonzero_count": 0 + } + ], + "assigned_physical": 1, + "torch_chip": 1, + "visible_physical": [ + 0, + 1, + 3 + ], + "load_and_prepare_s": 13.669452019035816, + "prompts": [ + [ + 102089, + 76471, + 61385, + 32447, + 37008, + 5012, + 9121, + 2081 + ], + [ + 21114, + 97611, + 77964, + 109539, + 60484, + 72835, + 116492, + 87566 + ], + [ + 75909, + 65280, + 67234, + 112215, + 33353, + 97920, + 80538, + 428 + ], + [ + 47358, + 102902, + 66562, + 4126, + 91810, + 87585, + 101604, + 21161 + ] + ], + "expected_tokens": [ + [ + 198, + 791, + 1176, + 1403, + 5238, + 315, + 279, + 33894 + ], + [ + 29, + 946, + 946, + 946, + 946, + 946, + 946, + 946 + ], + [ + 9831, + 19954, + 13094, + 66965, + 29726, + 13094, + 33390, + 33353 + ], + [ + 198, + 220, + 482, + 220, + 16, + 13, + 15, + 13 + ] + ], + "expected_ttft_s": 0.15509920893236995, + "prior_reference_sha256": "782bc03d5412e5ef6efd61322c946b5ff92e2d7c418509f153970a3251f5eabb", + "public_reference": { + "source_sha256": "0fbf9f360644e20eef911f00c3a3a110b32c7213194249bd99273778e175ff83", + "source_git_commit": "52507e49e57fb9ddf2b8936d76672dc609cdc48c", + "tokens": [ + [ + 198, + 791, + 1176, + 1403, + 5238, + 315, + 279, + 33894 + ], + [ + 29, + 946, + 946, + 946, + 946, + 946, + 946, + 946 + ], + [ + 9831, + 19954, + 13094, + 66965, + 29726, + 13094, + 33390, + 33353 + ], + [ + 198, + 220, + 482, + 220, + 16, + 13, + 15, + 13 + ] + ] + }, + "exact_public_prior_reference": true, + "independent_fresh_reference": true, + "first_tokens": [ + 198, + 29, + 9831, + 198 + ], + "pos": 8, + "max_new": 8, + "wire": "numeric npy v1 uint16 bf16 bits", + "checkpoint_id": "sha256:2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8", + "kv_shapes": { + "K": [ + 32, + 4, + 8, + 128, + 256 + ], + "V": [ + 32, + 4, + 8, + 256, + 128 + ] + }, + "validity": "valid" + }, + "worker_observer": { + "status": "native_prepared_and_warmed", + "runtime_commit": "fafd820fead20ed51dcb7f60ebb5e7dc7d90b2f1", + "harness_sha256": "c8ddea2dcb80a0f5304179243d6581866f17d5ea28d5748b5c7e40e2b8cf6063", + "integration_timing_instrumented": true, + "upload_calls": 1, + "graph_load_calls": 1, + "compile_calls": 0, + "native_calls": 374, + "batches": [ + { + "utc": 1793337457.1577141, + "native_calls": 136, + "identity": { + "shared": { + "0:wq": { + "object_id": 132049538827424, + "data_ptr": 50935627776 + }, + "0:wk": { + "object_id": 132049538637456, + "data_ptr": 50918850560 + }, + "0:wv": { + "object_id": 132049538563376, + "data_ptr": 50902073344 + }, + "0:wo": { + "object_id": 132049538591344, + "data_ptr": 50834964480 + }, + "0:wg": { + "object_id": 132049538325440, + "data_ptr": 50600083456 + }, + "0:wu": { + "object_id": 132049538835904, + "data_ptr": 50365202432 + }, + "0:wd": { + "object_id": 132049538638816, + "data_ptr": 50130321408 + }, + "1:wq": { + "object_id": 132049538557936, + "data_ptr": 50063212544 + }, + "1:wk": { + "object_id": 132049538234096, + "data_ptr": 50046435328 + }, + "1:wv": { + "object_id": 132049537433360, + "data_ptr": 50029658112 + }, + "1:wo": { + "object_id": 132049537432960, + "data_ptr": 49962549248 + }, + "1:wg": { + "object_id": 132049538328880, + "data_ptr": 49727668224 + }, + "1:wu": { + "object_id": 132049537354464, + "data_ptr": 49492787200 + }, + "1:wd": { + "object_id": 132049538825520, + "data_ptr": 49257906176 + }, + "2:wq": { + "object_id": 132049538893200, + "data_ptr": 49190797312 + }, + "2:wk": { + "object_id": 132049537433280, + "data_ptr": 49174020096 + }, + "2:wv": { + "object_id": 132049538723376, + "data_ptr": 49157242880 + }, + "2:wo": { + "object_id": 132049537351904, + "data_ptr": 49090134016 + }, + "2:wg": { + "object_id": 132049538673024, + "data_ptr": 48855252992 + }, + "2:wu": { + "object_id": 132049538558896, + "data_ptr": 48620371968 + }, + "2:wd": { + "object_id": 132049538906560, + "data_ptr": 48385490944 + }, + "3:wq": { + "object_id": 132049537354064, + "data_ptr": 48318382080 + }, + "3:wk": { + "object_id": 132049538815920, + "data_ptr": 48301604864 + }, + "3:wv": { + "object_id": 132049537355424, + "data_ptr": 48284827648 + }, + "3:wo": { + "object_id": 132049538761168, + "data_ptr": 48217718784 + }, + "3:wg": { + "object_id": 132049537353824, + "data_ptr": 47982837760 + }, + "3:wu": { + "object_id": 132049538762208, + "data_ptr": 47747956736 + }, + "3:wd": { + "object_id": 132049537353424, + "data_ptr": 47513075712 + }, + "4:wq": { + "object_id": 132049568867216, + "data_ptr": 47445966848 + }, + "4:wk": { + "object_id": 132049537356304, + "data_ptr": 47429189632 + }, + "4:wv": { + "object_id": 132049538562576, + "data_ptr": 47412412416 + }, + "4:wo": { + "object_id": 132049537352944, + "data_ptr": 47345303552 + }, + "4:wg": { + "object_id": 132049538234736, + "data_ptr": 47110422528 + }, + "4:wu": { + "object_id": 132049538664624, + "data_ptr": 46875541504 + }, + "4:wd": { + "object_id": 132049537355184, + "data_ptr": 46640660480 + }, + "5:wq": { + "object_id": 132049537355904, + "data_ptr": 46573551616 + }, + "5:wk": { + "object_id": 132049537357024, + "data_ptr": 46556774400 + }, + "5:wv": { + "object_id": 132049537356464, + "data_ptr": 46539997184 + }, + "5:wo": { + "object_id": 132049538503824, + "data_ptr": 46472888320 + }, + "5:wg": { + "object_id": 132049538777008, + "data_ptr": 46238007296 + }, + "5:wu": { + "object_id": 132049537354144, + "data_ptr": 46003126272 + }, + "5:wd": { + "object_id": 132049537355984, + "data_ptr": 45768245248 + }, + "6:wq": { + "object_id": 132049537355344, + "data_ptr": 45701136384 + }, + "6:wk": { + "object_id": 132049537353984, + "data_ptr": 45684359168 + }, + "6:wv": { + "object_id": 132049537356144, + "data_ptr": 45667581952 + }, + "6:wo": { + "object_id": 132049538665584, + "data_ptr": 45600473088 + }, + "6:wg": { + "object_id": 132049537354864, + "data_ptr": 45365592064 + }, + "6:wu": { + "object_id": 132049538503104, + "data_ptr": 45130711040 + }, + "6:wd": { + "object_id": 132049538824880, + "data_ptr": 44895830016 + }, + "7:wq": { + "object_id": 132049538676784, + "data_ptr": 44828721152 + }, + "7:wk": { + "object_id": 132049538898240, + "data_ptr": 44811943936 + }, + "7:wv": { + "object_id": 132049538663664, + "data_ptr": 44795166720 + }, + "7:wo": { + "object_id": 132049537357504, + "data_ptr": 44728057856 + }, + "7:wg": { + "object_id": 132049537354784, + "data_ptr": 44493176832 + }, + "7:wu": { + "object_id": 132049538500144, + "data_ptr": 44258295808 + }, + "7:wd": { + "object_id": 132049537354624, + "data_ptr": 44023414784 + }, + "8:wq": { + "object_id": 132049537358304, + "data_ptr": 43956305920 + }, + "8:wk": { + "object_id": 132049537356544, + "data_ptr": 43939528704 + }, + "8:wv": { + "object_id": 132049537357424, + "data_ptr": 43922751488 + }, + "8:wo": { + "object_id": 132049569101792, + "data_ptr": 43855642624 + }, + "8:wg": { + "object_id": 132049537353504, + "data_ptr": 43620761600 + }, + "8:wu": { + "object_id": 132049537357904, + "data_ptr": 43385880576 + }, + "8:wd": { + "object_id": 132049537359024, + "data_ptr": 43150999552 + }, + "9:wq": { + "object_id": 132049537356224, + "data_ptr": 43083890688 + }, + "9:wk": { + "object_id": 132049538320240, + "data_ptr": 43067113472 + }, + "9:wv": { + "object_id": 132049537359904, + "data_ptr": 43050336256 + }, + "9:wo": { + "object_id": 132049537360384, + "data_ptr": 42983227392 + }, + "9:wg": { + "object_id": 132049538504304, + "data_ptr": 42748346368 + }, + "9:wu": { + "object_id": 132049550586032, + "data_ptr": 42513465344 + }, + "9:wd": { + "object_id": 132049538505264, + "data_ptr": 42278584320 + }, + "10:wq": { + "object_id": 132049537355504, + "data_ptr": 42211475456 + }, + "10:wk": { + "object_id": 132049538834224, + "data_ptr": 42194698240 + }, + "10:wv": { + "object_id": 132049537360784, + "data_ptr": 42177921024 + }, + "10:wo": { + "object_id": 132049537357824, + "data_ptr": 42110812160 + }, + "10:wg": { + "object_id": 132049538892480, + "data_ptr": 41875931136 + }, + "10:wu": { + "object_id": 132049537357184, + "data_ptr": 41641050112 + }, + "10:wd": { + "object_id": 132049537360864, + "data_ptr": 41406169088 + }, + "11:wq": { + "object_id": 132049537358144, + "data_ptr": 41339060224 + }, + "11:wk": { + "object_id": 132049537360304, + "data_ptr": 41322283008 + }, + "11:wv": { + "object_id": 132049596858048, + "data_ptr": 41305505792 + }, + "11:wo": { + "object_id": 132049537359104, + "data_ptr": 41238396928 + }, + "11:wg": { + "object_id": 132049538635136, + "data_ptr": 41003515904 + }, + "11:wu": { + "object_id": 132049537359264, + "data_ptr": 40768634880 + }, + "11:wd": { + "object_id": 132049537361984, + "data_ptr": 40533753856 + }, + "12:wq": { + "object_id": 132049538866432, + "data_ptr": 40466644992 + }, + "12:wk": { + "object_id": 132049537361104, + "data_ptr": 40449867776 + }, + "12:wv": { + "object_id": 132049537360544, + "data_ptr": 40433090560 + }, + "12:wo": { + "object_id": 132049537361824, + "data_ptr": 40365981696 + }, + "12:wg": { + "object_id": 132049537358784, + "data_ptr": 40131100672 + }, + "12:wu": { + "object_id": 132049537355584, + "data_ptr": 39896219648 + }, + "12:wd": { + "object_id": 132049537361664, + "data_ptr": 39661338624 + }, + "13:wq": { + "object_id": 132049537358384, + "data_ptr": 39594229760 + }, + "13:wk": { + "object_id": 132049537361584, + "data_ptr": 39577452544 + }, + "13:wv": { + "object_id": 132049537353104, + "data_ptr": 39560675328 + }, + "13:wo": { + "object_id": 132049537362864, + "data_ptr": 39493566464 + }, + "13:wg": { + "object_id": 132049537362224, + "data_ptr": 39258685440 + }, + "13:wu": { + "object_id": 132049538820080, + "data_ptr": 39023804416 + }, + "13:wd": { + "object_id": 132049537361504, + "data_ptr": 38788923392 + }, + "14:wq": { + "object_id": 132049538674864, + "data_ptr": 38721814528 + }, + "14:wk": { + "object_id": 132049537361264, + "data_ptr": 38705037312 + }, + "14:wv": { + "object_id": 132049538324560, + "data_ptr": 38688260096 + }, + "14:wo": { + "object_id": 132049538871152, + "data_ptr": 38621151232 + }, + "14:wg": { + "object_id": 132049537362144, + "data_ptr": 38386270208 + }, + "14:wu": { + "object_id": 132049538672624, + "data_ptr": 38151389184 + }, + "14:wd": { + "object_id": 132049537360624, + "data_ptr": 37916508160 + }, + "15:wq": { + "object_id": 132049537363504, + "data_ptr": 37849399296 + }, + "15:wk": { + "object_id": 132049537357104, + "data_ptr": 37832622080 + }, + "15:wv": { + "object_id": 132049537364944, + "data_ptr": 37815844864 + }, + "15:wo": { + "object_id": 132049537364064, + "data_ptr": 37748736000 + }, + "15:wg": { + "object_id": 132049538674064, + "data_ptr": 37513854976 + }, + "15:wu": { + "object_id": 132049537363104, + "data_ptr": 37278973952 + }, + "15:wd": { + "object_id": 132049537365744, + "data_ptr": 37044092928 + } + }, + "lm": { + "object_id": 132049537433440, + "data_ptr": 35993419776 + }, + "compiled": { + "B4-S256-g2": [ + 132049537812272, + 132049537814048 + ] + } + }, + "all_allocations_and_compiled_objects_retained": true + }, + { + "utc": 1793337457.563353, + "native_calls": 255, + "identity": { + "shared": { + "0:wq": { + "object_id": 132049538827424, + "data_ptr": 50935627776 + }, + "0:wk": { + "object_id": 132049538637456, + "data_ptr": 50918850560 + }, + "0:wv": { + "object_id": 132049538563376, + "data_ptr": 50902073344 + }, + "0:wo": { + "object_id": 132049538591344, + "data_ptr": 50834964480 + }, + "0:wg": { + "object_id": 132049538325440, + "data_ptr": 50600083456 + }, + "0:wu": { + "object_id": 132049538835904, + "data_ptr": 50365202432 + }, + "0:wd": { + "object_id": 132049538638816, + "data_ptr": 50130321408 + }, + "1:wq": { + "object_id": 132049538557936, + "data_ptr": 50063212544 + }, + "1:wk": { + "object_id": 132049538234096, + "data_ptr": 50046435328 + }, + "1:wv": { + "object_id": 132049537433360, + "data_ptr": 50029658112 + }, + "1:wo": { + "object_id": 132049537432960, + "data_ptr": 49962549248 + }, + "1:wg": { + "object_id": 132049538328880, + "data_ptr": 49727668224 + }, + "1:wu": { + "object_id": 132049537354464, + "data_ptr": 49492787200 + }, + "1:wd": { + "object_id": 132049538825520, + "data_ptr": 49257906176 + }, + "2:wq": { + "object_id": 132049538893200, + "data_ptr": 49190797312 + }, + "2:wk": { + "object_id": 132049537433280, + "data_ptr": 49174020096 + }, + "2:wv": { + "object_id": 132049538723376, + "data_ptr": 49157242880 + }, + "2:wo": { + "object_id": 132049537351904, + "data_ptr": 49090134016 + }, + "2:wg": { + "object_id": 132049538673024, + "data_ptr": 48855252992 + }, + "2:wu": { + "object_id": 132049538558896, + "data_ptr": 48620371968 + }, + "2:wd": { + "object_id": 132049538906560, + "data_ptr": 48385490944 + }, + "3:wq": { + "object_id": 132049537354064, + "data_ptr": 48318382080 + }, + "3:wk": { + "object_id": 132049538815920, + "data_ptr": 48301604864 + }, + "3:wv": { + "object_id": 132049537355424, + "data_ptr": 48284827648 + }, + "3:wo": { + "object_id": 132049538761168, + "data_ptr": 48217718784 + }, + "3:wg": { + "object_id": 132049537353824, + "data_ptr": 47982837760 + }, + "3:wu": { + "object_id": 132049538762208, + "data_ptr": 47747956736 + }, + "3:wd": { + "object_id": 132049537353424, + "data_ptr": 47513075712 + }, + "4:wq": { + "object_id": 132049568867216, + "data_ptr": 47445966848 + }, + "4:wk": { + "object_id": 132049537356304, + "data_ptr": 47429189632 + }, + "4:wv": { + "object_id": 132049538562576, + "data_ptr": 47412412416 + }, + "4:wo": { + "object_id": 132049537352944, + "data_ptr": 47345303552 + }, + "4:wg": { + "object_id": 132049538234736, + "data_ptr": 47110422528 + }, + "4:wu": { + "object_id": 132049538664624, + "data_ptr": 46875541504 + }, + "4:wd": { + "object_id": 132049537355184, + "data_ptr": 46640660480 + }, + "5:wq": { + "object_id": 132049537355904, + "data_ptr": 46573551616 + }, + "5:wk": { + "object_id": 132049537357024, + "data_ptr": 46556774400 + }, + "5:wv": { + "object_id": 132049537356464, + "data_ptr": 46539997184 + }, + "5:wo": { + "object_id": 132049538503824, + "data_ptr": 46472888320 + }, + "5:wg": { + "object_id": 132049538777008, + "data_ptr": 46238007296 + }, + "5:wu": { + "object_id": 132049537354144, + "data_ptr": 46003126272 + }, + "5:wd": { + "object_id": 132049537355984, + "data_ptr": 45768245248 + }, + "6:wq": { + "object_id": 132049537355344, + "data_ptr": 45701136384 + }, + "6:wk": { + "object_id": 132049537353984, + "data_ptr": 45684359168 + }, + "6:wv": { + "object_id": 132049537356144, + "data_ptr": 45667581952 + }, + "6:wo": { + "object_id": 132049538665584, + "data_ptr": 45600473088 + }, + "6:wg": { + "object_id": 132049537354864, + "data_ptr": 45365592064 + }, + "6:wu": { + "object_id": 132049538503104, + "data_ptr": 45130711040 + }, + "6:wd": { + "object_id": 132049538824880, + "data_ptr": 44895830016 + }, + "7:wq": { + "object_id": 132049538676784, + "data_ptr": 44828721152 + }, + "7:wk": { + "object_id": 132049538898240, + "data_ptr": 44811943936 + }, + "7:wv": { + "object_id": 132049538663664, + "data_ptr": 44795166720 + }, + "7:wo": { + "object_id": 132049537357504, + "data_ptr": 44728057856 + }, + "7:wg": { + "object_id": 132049537354784, + "data_ptr": 44493176832 + }, + "7:wu": { + "object_id": 132049538500144, + "data_ptr": 44258295808 + }, + "7:wd": { + "object_id": 132049537354624, + "data_ptr": 44023414784 + }, + "8:wq": { + "object_id": 132049537358304, + "data_ptr": 43956305920 + }, + "8:wk": { + "object_id": 132049537356544, + "data_ptr": 43939528704 + }, + "8:wv": { + "object_id": 132049537357424, + "data_ptr": 43922751488 + }, + "8:wo": { + "object_id": 132049569101792, + "data_ptr": 43855642624 + }, + "8:wg": { + "object_id": 132049537353504, + "data_ptr": 43620761600 + }, + "8:wu": { + "object_id": 132049537357904, + "data_ptr": 43385880576 + }, + "8:wd": { + "object_id": 132049537359024, + "data_ptr": 43150999552 + }, + "9:wq": { + "object_id": 132049537356224, + "data_ptr": 43083890688 + }, + "9:wk": { + "object_id": 132049538320240, + "data_ptr": 43067113472 + }, + "9:wv": { + "object_id": 132049537359904, + "data_ptr": 43050336256 + }, + "9:wo": { + "object_id": 132049537360384, + "data_ptr": 42983227392 + }, + "9:wg": { + "object_id": 132049538504304, + "data_ptr": 42748346368 + }, + "9:wu": { + "object_id": 132049550586032, + "data_ptr": 42513465344 + }, + "9:wd": { + "object_id": 132049538505264, + "data_ptr": 42278584320 + }, + "10:wq": { + "object_id": 132049537355504, + "data_ptr": 42211475456 + }, + "10:wk": { + "object_id": 132049538834224, + "data_ptr": 42194698240 + }, + "10:wv": { + "object_id": 132049537360784, + "data_ptr": 42177921024 + }, + "10:wo": { + "object_id": 132049537357824, + "data_ptr": 42110812160 + }, + "10:wg": { + "object_id": 132049538892480, + "data_ptr": 41875931136 + }, + "10:wu": { + "object_id": 132049537357184, + "data_ptr": 41641050112 + }, + "10:wd": { + "object_id": 132049537360864, + "data_ptr": 41406169088 + }, + "11:wq": { + "object_id": 132049537358144, + "data_ptr": 41339060224 + }, + "11:wk": { + "object_id": 132049537360304, + "data_ptr": 41322283008 + }, + "11:wv": { + "object_id": 132049596858048, + "data_ptr": 41305505792 + }, + "11:wo": { + "object_id": 132049537359104, + "data_ptr": 41238396928 + }, + "11:wg": { + "object_id": 132049538635136, + "data_ptr": 41003515904 + }, + "11:wu": { + "object_id": 132049537359264, + "data_ptr": 40768634880 + }, + "11:wd": { + "object_id": 132049537361984, + "data_ptr": 40533753856 + }, + "12:wq": { + "object_id": 132049538866432, + "data_ptr": 40466644992 + }, + "12:wk": { + "object_id": 132049537361104, + "data_ptr": 40449867776 + }, + "12:wv": { + "object_id": 132049537360544, + "data_ptr": 40433090560 + }, + "12:wo": { + "object_id": 132049537361824, + "data_ptr": 40365981696 + }, + "12:wg": { + "object_id": 132049537358784, + "data_ptr": 40131100672 + }, + "12:wu": { + "object_id": 132049537355584, + "data_ptr": 39896219648 + }, + "12:wd": { + "object_id": 132049537361664, + "data_ptr": 39661338624 + }, + "13:wq": { + "object_id": 132049537358384, + "data_ptr": 39594229760 + }, + "13:wk": { + "object_id": 132049537361584, + "data_ptr": 39577452544 + }, + "13:wv": { + "object_id": 132049537353104, + "data_ptr": 39560675328 + }, + "13:wo": { + "object_id": 132049537362864, + "data_ptr": 39493566464 + }, + "13:wg": { + "object_id": 132049537362224, + "data_ptr": 39258685440 + }, + "13:wu": { + "object_id": 132049538820080, + "data_ptr": 39023804416 + }, + "13:wd": { + "object_id": 132049537361504, + "data_ptr": 38788923392 + }, + "14:wq": { + "object_id": 132049538674864, + "data_ptr": 38721814528 + }, + "14:wk": { + "object_id": 132049537361264, + "data_ptr": 38705037312 + }, + "14:wv": { + "object_id": 132049538324560, + "data_ptr": 38688260096 + }, + "14:wo": { + "object_id": 132049538871152, + "data_ptr": 38621151232 + }, + "14:wg": { + "object_id": 132049537362144, + "data_ptr": 38386270208 + }, + "14:wu": { + "object_id": 132049538672624, + "data_ptr": 38151389184 + }, + "14:wd": { + "object_id": 132049537360624, + "data_ptr": 37916508160 + }, + "15:wq": { + "object_id": 132049537363504, + "data_ptr": 37849399296 + }, + "15:wk": { + "object_id": 132049537357104, + "data_ptr": 37832622080 + }, + "15:wv": { + "object_id": 132049537364944, + "data_ptr": 37815844864 + }, + "15:wo": { + "object_id": 132049537364064, + "data_ptr": 37748736000 + }, + "15:wg": { + "object_id": 132049538674064, + "data_ptr": 37513854976 + }, + "15:wu": { + "object_id": 132049537363104, + "data_ptr": 37278973952 + }, + "15:wd": { + "object_id": 132049537365744, + "data_ptr": 37044092928 + } + }, + "lm": { + "object_id": 132049537433440, + "data_ptr": 35993419776 + }, + "compiled": { + "B4-S256-g2": [ + 132049537812272, + 132049537814048 + ] + } + }, + "all_allocations_and_compiled_objects_retained": true + }, + { + "utc": 1793337457.971558, + "native_calls": 374, + "identity": { + "shared": { + "0:wq": { + "object_id": 132049538827424, + "data_ptr": 50935627776 + }, + "0:wk": { + "object_id": 132049538637456, + "data_ptr": 50918850560 + }, + "0:wv": { + "object_id": 132049538563376, + "data_ptr": 50902073344 + }, + "0:wo": { + "object_id": 132049538591344, + "data_ptr": 50834964480 + }, + "0:wg": { + "object_id": 132049538325440, + "data_ptr": 50600083456 + }, + "0:wu": { + "object_id": 132049538835904, + "data_ptr": 50365202432 + }, + "0:wd": { + "object_id": 132049538638816, + "data_ptr": 50130321408 + }, + "1:wq": { + "object_id": 132049538557936, + "data_ptr": 50063212544 + }, + "1:wk": { + "object_id": 132049538234096, + "data_ptr": 50046435328 + }, + "1:wv": { + "object_id": 132049537433360, + "data_ptr": 50029658112 + }, + "1:wo": { + "object_id": 132049537432960, + "data_ptr": 49962549248 + }, + "1:wg": { + "object_id": 132049538328880, + "data_ptr": 49727668224 + }, + "1:wu": { + "object_id": 132049537354464, + "data_ptr": 49492787200 + }, + "1:wd": { + "object_id": 132049538825520, + "data_ptr": 49257906176 + }, + "2:wq": { + "object_id": 132049538893200, + "data_ptr": 49190797312 + }, + "2:wk": { + "object_id": 132049537433280, + "data_ptr": 49174020096 + }, + "2:wv": { + "object_id": 132049538723376, + "data_ptr": 49157242880 + }, + "2:wo": { + "object_id": 132049537351904, + "data_ptr": 49090134016 + }, + "2:wg": { + "object_id": 132049538673024, + "data_ptr": 48855252992 + }, + "2:wu": { + "object_id": 132049538558896, + "data_ptr": 48620371968 + }, + "2:wd": { + "object_id": 132049538906560, + "data_ptr": 48385490944 + }, + "3:wq": { + "object_id": 132049537354064, + "data_ptr": 48318382080 + }, + "3:wk": { + "object_id": 132049538815920, + "data_ptr": 48301604864 + }, + "3:wv": { + "object_id": 132049537355424, + "data_ptr": 48284827648 + }, + "3:wo": { + "object_id": 132049538761168, + "data_ptr": 48217718784 + }, + "3:wg": { + "object_id": 132049537353824, + "data_ptr": 47982837760 + }, + "3:wu": { + "object_id": 132049538762208, + "data_ptr": 47747956736 + }, + "3:wd": { + "object_id": 132049537353424, + "data_ptr": 47513075712 + }, + "4:wq": { + "object_id": 132049568867216, + "data_ptr": 47445966848 + }, + "4:wk": { + "object_id": 132049537356304, + "data_ptr": 47429189632 + }, + "4:wv": { + "object_id": 132049538562576, + "data_ptr": 47412412416 + }, + "4:wo": { + "object_id": 132049537352944, + "data_ptr": 47345303552 + }, + "4:wg": { + "object_id": 132049538234736, + "data_ptr": 47110422528 + }, + "4:wu": { + "object_id": 132049538664624, + "data_ptr": 46875541504 + }, + "4:wd": { + "object_id": 132049537355184, + "data_ptr": 46640660480 + }, + "5:wq": { + "object_id": 132049537355904, + "data_ptr": 46573551616 + }, + "5:wk": { + "object_id": 132049537357024, + "data_ptr": 46556774400 + }, + "5:wv": { + "object_id": 132049537356464, + "data_ptr": 46539997184 + }, + "5:wo": { + "object_id": 132049538503824, + "data_ptr": 46472888320 + }, + "5:wg": { + "object_id": 132049538777008, + "data_ptr": 46238007296 + }, + "5:wu": { + "object_id": 132049537354144, + "data_ptr": 46003126272 + }, + "5:wd": { + "object_id": 132049537355984, + "data_ptr": 45768245248 + }, + "6:wq": { + "object_id": 132049537355344, + "data_ptr": 45701136384 + }, + "6:wk": { + "object_id": 132049537353984, + "data_ptr": 45684359168 + }, + "6:wv": { + "object_id": 132049537356144, + "data_ptr": 45667581952 + }, + "6:wo": { + "object_id": 132049538665584, + "data_ptr": 45600473088 + }, + "6:wg": { + "object_id": 132049537354864, + "data_ptr": 45365592064 + }, + "6:wu": { + "object_id": 132049538503104, + "data_ptr": 45130711040 + }, + "6:wd": { + "object_id": 132049538824880, + "data_ptr": 44895830016 + }, + "7:wq": { + "object_id": 132049538676784, + "data_ptr": 44828721152 + }, + "7:wk": { + "object_id": 132049538898240, + "data_ptr": 44811943936 + }, + "7:wv": { + "object_id": 132049538663664, + "data_ptr": 44795166720 + }, + "7:wo": { + "object_id": 132049537357504, + "data_ptr": 44728057856 + }, + "7:wg": { + "object_id": 132049537354784, + "data_ptr": 44493176832 + }, + "7:wu": { + "object_id": 132049538500144, + "data_ptr": 44258295808 + }, + "7:wd": { + "object_id": 132049537354624, + "data_ptr": 44023414784 + }, + "8:wq": { + "object_id": 132049537358304, + "data_ptr": 43956305920 + }, + "8:wk": { + "object_id": 132049537356544, + "data_ptr": 43939528704 + }, + "8:wv": { + "object_id": 132049537357424, + "data_ptr": 43922751488 + }, + "8:wo": { + "object_id": 132049569101792, + "data_ptr": 43855642624 + }, + "8:wg": { + "object_id": 132049537353504, + "data_ptr": 43620761600 + }, + "8:wu": { + "object_id": 132049537357904, + "data_ptr": 43385880576 + }, + "8:wd": { + "object_id": 132049537359024, + "data_ptr": 43150999552 + }, + "9:wq": { + "object_id": 132049537356224, + "data_ptr": 43083890688 + }, + "9:wk": { + "object_id": 132049538320240, + "data_ptr": 43067113472 + }, + "9:wv": { + "object_id": 132049537359904, + "data_ptr": 43050336256 + }, + "9:wo": { + "object_id": 132049537360384, + "data_ptr": 42983227392 + }, + "9:wg": { + "object_id": 132049538504304, + "data_ptr": 42748346368 + }, + "9:wu": { + "object_id": 132049550586032, + "data_ptr": 42513465344 + }, + "9:wd": { + "object_id": 132049538505264, + "data_ptr": 42278584320 + }, + "10:wq": { + "object_id": 132049537355504, + "data_ptr": 42211475456 + }, + "10:wk": { + "object_id": 132049538834224, + "data_ptr": 42194698240 + }, + "10:wv": { + "object_id": 132049537360784, + "data_ptr": 42177921024 + }, + "10:wo": { + "object_id": 132049537357824, + "data_ptr": 42110812160 + }, + "10:wg": { + "object_id": 132049538892480, + "data_ptr": 41875931136 + }, + "10:wu": { + "object_id": 132049537357184, + "data_ptr": 41641050112 + }, + "10:wd": { + "object_id": 132049537360864, + "data_ptr": 41406169088 + }, + "11:wq": { + "object_id": 132049537358144, + "data_ptr": 41339060224 + }, + "11:wk": { + "object_id": 132049537360304, + "data_ptr": 41322283008 + }, + "11:wv": { + "object_id": 132049596858048, + "data_ptr": 41305505792 + }, + "11:wo": { + "object_id": 132049537359104, + "data_ptr": 41238396928 + }, + "11:wg": { + "object_id": 132049538635136, + "data_ptr": 41003515904 + }, + "11:wu": { + "object_id": 132049537359264, + "data_ptr": 40768634880 + }, + "11:wd": { + "object_id": 132049537361984, + "data_ptr": 40533753856 + }, + "12:wq": { + "object_id": 132049538866432, + "data_ptr": 40466644992 + }, + "12:wk": { + "object_id": 132049537361104, + "data_ptr": 40449867776 + }, + "12:wv": { + "object_id": 132049537360544, + "data_ptr": 40433090560 + }, + "12:wo": { + "object_id": 132049537361824, + "data_ptr": 40365981696 + }, + "12:wg": { + "object_id": 132049537358784, + "data_ptr": 40131100672 + }, + "12:wu": { + "object_id": 132049537355584, + "data_ptr": 39896219648 + }, + "12:wd": { + "object_id": 132049537361664, + "data_ptr": 39661338624 + }, + "13:wq": { + "object_id": 132049537358384, + "data_ptr": 39594229760 + }, + "13:wk": { + "object_id": 132049537361584, + "data_ptr": 39577452544 + }, + "13:wv": { + "object_id": 132049537353104, + "data_ptr": 39560675328 + }, + "13:wo": { + "object_id": 132049537362864, + "data_ptr": 39493566464 + }, + "13:wg": { + "object_id": 132049537362224, + "data_ptr": 39258685440 + }, + "13:wu": { + "object_id": 132049538820080, + "data_ptr": 39023804416 + }, + "13:wd": { + "object_id": 132049537361504, + "data_ptr": 38788923392 + }, + "14:wq": { + "object_id": 132049538674864, + "data_ptr": 38721814528 + }, + "14:wk": { + "object_id": 132049537361264, + "data_ptr": 38705037312 + }, + "14:wv": { + "object_id": 132049538324560, + "data_ptr": 38688260096 + }, + "14:wo": { + "object_id": 132049538871152, + "data_ptr": 38621151232 + }, + "14:wg": { + "object_id": 132049537362144, + "data_ptr": 38386270208 + }, + "14:wu": { + "object_id": 132049538672624, + "data_ptr": 38151389184 + }, + "14:wd": { + "object_id": 132049537360624, + "data_ptr": 37916508160 + }, + "15:wq": { + "object_id": 132049537363504, + "data_ptr": 37849399296 + }, + "15:wk": { + "object_id": 132049537357104, + "data_ptr": 37832622080 + }, + "15:wv": { + "object_id": 132049537364944, + "data_ptr": 37815844864 + }, + "15:wo": { + "object_id": 132049537364064, + "data_ptr": 37748736000 + }, + "15:wg": { + "object_id": 132049538674064, + "data_ptr": 37513854976 + }, + "15:wu": { + "object_id": 132049537363104, + "data_ptr": 37278973952 + }, + "15:wd": { + "object_id": 132049537365744, + "data_ptr": 37044092928 + } + }, + "lm": { + "object_id": 132049537433440, + "data_ptr": 35993419776 + }, + "compiled": { + "B4-S256-g2": [ + 132049537812272, + 132049537814048 + ] + } + }, + "all_allocations_and_compiled_objects_retained": true + } + ], + "assigned_physical": 1, + "torch_chip": 1, + "visible_physical": [ + 0, + 1, + 3 + ], + "initial_upload_method_s": 13.626459855120629, + "native_prepare_and_warmup_s": 13.988236183999106, + "startup_identity": { + "shared": { + "0:wq": { + "object_id": 132049538827424, + "data_ptr": 50935627776 + }, + "0:wk": { + "object_id": 132049538637456, + "data_ptr": 50918850560 + }, + "0:wv": { + "object_id": 132049538563376, + "data_ptr": 50902073344 + }, + "0:wo": { + "object_id": 132049538591344, + "data_ptr": 50834964480 + }, + "0:wg": { + "object_id": 132049538325440, + "data_ptr": 50600083456 + }, + "0:wu": { + "object_id": 132049538835904, + "data_ptr": 50365202432 + }, + "0:wd": { + "object_id": 132049538638816, + "data_ptr": 50130321408 + }, + "1:wq": { + "object_id": 132049538557936, + "data_ptr": 50063212544 + }, + "1:wk": { + "object_id": 132049538234096, + "data_ptr": 50046435328 + }, + "1:wv": { + "object_id": 132049537433360, + "data_ptr": 50029658112 + }, + "1:wo": { + "object_id": 132049537432960, + "data_ptr": 49962549248 + }, + "1:wg": { + "object_id": 132049538328880, + "data_ptr": 49727668224 + }, + "1:wu": { + "object_id": 132049537354464, + "data_ptr": 49492787200 + }, + "1:wd": { + "object_id": 132049538825520, + "data_ptr": 49257906176 + }, + "2:wq": { + "object_id": 132049538893200, + "data_ptr": 49190797312 + }, + "2:wk": { + "object_id": 132049537433280, + "data_ptr": 49174020096 + }, + "2:wv": { + "object_id": 132049538723376, + "data_ptr": 49157242880 + }, + "2:wo": { + "object_id": 132049537351904, + "data_ptr": 49090134016 + }, + "2:wg": { + "object_id": 132049538673024, + "data_ptr": 48855252992 + }, + "2:wu": { + "object_id": 132049538558896, + "data_ptr": 48620371968 + }, + "2:wd": { + "object_id": 132049538906560, + "data_ptr": 48385490944 + }, + "3:wq": { + "object_id": 132049537354064, + "data_ptr": 48318382080 + }, + "3:wk": { + "object_id": 132049538815920, + "data_ptr": 48301604864 + }, + "3:wv": { + "object_id": 132049537355424, + "data_ptr": 48284827648 + }, + "3:wo": { + "object_id": 132049538761168, + "data_ptr": 48217718784 + }, + "3:wg": { + "object_id": 132049537353824, + "data_ptr": 47982837760 + }, + "3:wu": { + "object_id": 132049538762208, + "data_ptr": 47747956736 + }, + "3:wd": { + "object_id": 132049537353424, + "data_ptr": 47513075712 + }, + "4:wq": { + "object_id": 132049568867216, + "data_ptr": 47445966848 + }, + "4:wk": { + "object_id": 132049537356304, + "data_ptr": 47429189632 + }, + "4:wv": { + "object_id": 132049538562576, + "data_ptr": 47412412416 + }, + "4:wo": { + "object_id": 132049537352944, + "data_ptr": 47345303552 + }, + "4:wg": { + "object_id": 132049538234736, + "data_ptr": 47110422528 + }, + "4:wu": { + "object_id": 132049538664624, + "data_ptr": 46875541504 + }, + "4:wd": { + "object_id": 132049537355184, + "data_ptr": 46640660480 + }, + "5:wq": { + "object_id": 132049537355904, + "data_ptr": 46573551616 + }, + "5:wk": { + "object_id": 132049537357024, + "data_ptr": 46556774400 + }, + "5:wv": { + "object_id": 132049537356464, + "data_ptr": 46539997184 + }, + "5:wo": { + "object_id": 132049538503824, + "data_ptr": 46472888320 + }, + "5:wg": { + "object_id": 132049538777008, + "data_ptr": 46238007296 + }, + "5:wu": { + "object_id": 132049537354144, + "data_ptr": 46003126272 + }, + "5:wd": { + "object_id": 132049537355984, + "data_ptr": 45768245248 + }, + "6:wq": { + "object_id": 132049537355344, + "data_ptr": 45701136384 + }, + "6:wk": { + "object_id": 132049537353984, + "data_ptr": 45684359168 + }, + "6:wv": { + "object_id": 132049537356144, + "data_ptr": 45667581952 + }, + "6:wo": { + "object_id": 132049538665584, + "data_ptr": 45600473088 + }, + "6:wg": { + "object_id": 132049537354864, + "data_ptr": 45365592064 + }, + "6:wu": { + "object_id": 132049538503104, + "data_ptr": 45130711040 + }, + "6:wd": { + "object_id": 132049538824880, + "data_ptr": 44895830016 + }, + "7:wq": { + "object_id": 132049538676784, + "data_ptr": 44828721152 + }, + "7:wk": { + "object_id": 132049538898240, + "data_ptr": 44811943936 + }, + "7:wv": { + "object_id": 132049538663664, + "data_ptr": 44795166720 + }, + "7:wo": { + "object_id": 132049537357504, + "data_ptr": 44728057856 + }, + "7:wg": { + "object_id": 132049537354784, + "data_ptr": 44493176832 + }, + "7:wu": { + "object_id": 132049538500144, + "data_ptr": 44258295808 + }, + "7:wd": { + "object_id": 132049537354624, + "data_ptr": 44023414784 + }, + "8:wq": { + "object_id": 132049537358304, + "data_ptr": 43956305920 + }, + "8:wk": { + "object_id": 132049537356544, + "data_ptr": 43939528704 + }, + "8:wv": { + "object_id": 132049537357424, + "data_ptr": 43922751488 + }, + "8:wo": { + "object_id": 132049569101792, + "data_ptr": 43855642624 + }, + "8:wg": { + "object_id": 132049537353504, + "data_ptr": 43620761600 + }, + "8:wu": { + "object_id": 132049537357904, + "data_ptr": 43385880576 + }, + "8:wd": { + "object_id": 132049537359024, + "data_ptr": 43150999552 + }, + "9:wq": { + "object_id": 132049537356224, + "data_ptr": 43083890688 + }, + "9:wk": { + "object_id": 132049538320240, + "data_ptr": 43067113472 + }, + "9:wv": { + "object_id": 132049537359904, + "data_ptr": 43050336256 + }, + "9:wo": { + "object_id": 132049537360384, + "data_ptr": 42983227392 + }, + "9:wg": { + "object_id": 132049538504304, + "data_ptr": 42748346368 + }, + "9:wu": { + "object_id": 132049550586032, + "data_ptr": 42513465344 + }, + "9:wd": { + "object_id": 132049538505264, + "data_ptr": 42278584320 + }, + "10:wq": { + "object_id": 132049537355504, + "data_ptr": 42211475456 + }, + "10:wk": { + "object_id": 132049538834224, + "data_ptr": 42194698240 + }, + "10:wv": { + "object_id": 132049537360784, + "data_ptr": 42177921024 + }, + "10:wo": { + "object_id": 132049537357824, + "data_ptr": 42110812160 + }, + "10:wg": { + "object_id": 132049538892480, + "data_ptr": 41875931136 + }, + "10:wu": { + "object_id": 132049537357184, + "data_ptr": 41641050112 + }, + "10:wd": { + "object_id": 132049537360864, + "data_ptr": 41406169088 + }, + "11:wq": { + "object_id": 132049537358144, + "data_ptr": 41339060224 + }, + "11:wk": { + "object_id": 132049537360304, + "data_ptr": 41322283008 + }, + "11:wv": { + "object_id": 132049596858048, + "data_ptr": 41305505792 + }, + "11:wo": { + "object_id": 132049537359104, + "data_ptr": 41238396928 + }, + "11:wg": { + "object_id": 132049538635136, + "data_ptr": 41003515904 + }, + "11:wu": { + "object_id": 132049537359264, + "data_ptr": 40768634880 + }, + "11:wd": { + "object_id": 132049537361984, + "data_ptr": 40533753856 + }, + "12:wq": { + "object_id": 132049538866432, + "data_ptr": 40466644992 + }, + "12:wk": { + "object_id": 132049537361104, + "data_ptr": 40449867776 + }, + "12:wv": { + "object_id": 132049537360544, + "data_ptr": 40433090560 + }, + "12:wo": { + "object_id": 132049537361824, + "data_ptr": 40365981696 + }, + "12:wg": { + "object_id": 132049537358784, + "data_ptr": 40131100672 + }, + "12:wu": { + "object_id": 132049537355584, + "data_ptr": 39896219648 + }, + "12:wd": { + "object_id": 132049537361664, + "data_ptr": 39661338624 + }, + "13:wq": { + "object_id": 132049537358384, + "data_ptr": 39594229760 + }, + "13:wk": { + "object_id": 132049537361584, + "data_ptr": 39577452544 + }, + "13:wv": { + "object_id": 132049537353104, + "data_ptr": 39560675328 + }, + "13:wo": { + "object_id": 132049537362864, + "data_ptr": 39493566464 + }, + "13:wg": { + "object_id": 132049537362224, + "data_ptr": 39258685440 + }, + "13:wu": { + "object_id": 132049538820080, + "data_ptr": 39023804416 + }, + "13:wd": { + "object_id": 132049537361504, + "data_ptr": 38788923392 + }, + "14:wq": { + "object_id": 132049538674864, + "data_ptr": 38721814528 + }, + "14:wk": { + "object_id": 132049537361264, + "data_ptr": 38705037312 + }, + "14:wv": { + "object_id": 132049538324560, + "data_ptr": 38688260096 + }, + "14:wo": { + "object_id": 132049538871152, + "data_ptr": 38621151232 + }, + "14:wg": { + "object_id": 132049537362144, + "data_ptr": 38386270208 + }, + "14:wu": { + "object_id": 132049538672624, + "data_ptr": 38151389184 + }, + "14:wd": { + "object_id": 132049537360624, + "data_ptr": 37916508160 + }, + "15:wq": { + "object_id": 132049537363504, + "data_ptr": 37849399296 + }, + "15:wk": { + "object_id": 132049537357104, + "data_ptr": 37832622080 + }, + "15:wv": { + "object_id": 132049537364944, + "data_ptr": 37815844864 + }, + "15:wo": { + "object_id": 132049537364064, + "data_ptr": 37748736000 + }, + "15:wg": { + "object_id": 132049538674064, + "data_ptr": 37513854976 + }, + "15:wu": { + "object_id": 132049537363104, + "data_ptr": 37278973952 + }, + "15:wd": { + "object_id": 132049537365744, + "data_ptr": 37044092928 + } + }, + "lm": { + "object_id": 132049537433440, + "data_ptr": 35993419776 + }, + "compiled": { + "B4-S256-g2": [ + 132049537812272, + 132049537814048 + ] + } + } + }, + "harness": [ + { + "path": "common.py", + "bytes": 1449, + "sha256": "803bf2620cce78a1baccd8321abc88e92ce9a6f4b135dd89784737457687fd1e" + }, + { + "path": "prepare_init.py", + "bytes": 1550, + "sha256": "24e25682e72dc571e327f3dfebc535d4564d68d707cecb51d89cd36a3c2ca607" + }, + { + "path": "produce_kv.py", + "bytes": 3843, + "sha256": "4d5eab5c5ed6d2f87d3e8b5c5cfd85d9274791ae6b71401722b4245763e9206f" + }, + { + "path": "publish.py", + "bytes": 4051, + "sha256": "cb8b42ee0429626a65b4f1cae26172d67f4a279d638062d56a29395677f2b3bd" + }, + { + "path": "run_http.py", + "bytes": 5910, + "sha256": "8509281bfd8659fd6996f80bec2ce7a5c40f6e83a789a6c2a82fa32bb050ae21" + }, + { + "path": "worker_observer.py", + "bytes": 3552, + "sha256": "c8ddea2dcb80a0f5304179243d6581866f17d5ea28d5748b5c7e40e2b8cf6063" + } + ] + } + ], + "environment": { + "utc": 1793337588.1657445, + "assigned_physical": "npu1", + "device": { + "arch": "RNGD", + "dev_name": "npu1", + "firmware": "2026.4.0, 93d67f3", + "pci_bdf": "0000:04:00.0", + "power_limit": "300 W", + "core_clock": "2000 MHz", + "governor": "Performance" + }, + "loaded_driver_srcversion": "27271FE892F0ACFA80265E0", + "installed_driver_srcversion": "27271FE892F0ACFA80265E0", + "host_load": [ + 6.2236328125, + 5.31689453125, + 4.705078125 + ], + "versions": { + "furiosa-tcc": { + "version": "2026.4.0", + "metadata": [ + { + "path": "furiosa_tcc-2026.4.0.dist-info/METADATA", + "bytes": 237, + "sha256": "6cc3db6e51b9d84bc0894dd4490b944abeb2333c8f873b05a7c1c6a5332ec3ac" + }, + { + "path": "furiosa_tcc-2026.4.0.dist-info/RECORD", + "bytes": 501, + "sha256": "c723fabcf2277a40560aa74b09d453ca32a11780b643a63533330029c6486549" + }, + { + "path": "furiosa_tcc-2026.4.0.dist-info/WHEEL", + "bytes": 104, + "sha256": "4265d2eae1f14d77e2cb81bd031ea060941ad7fa6d654b5bcfc8d9b0c778c960" + } + ] + }, + "furiosa-torch": { + "version": "2026.4.0", + "metadata": [ + { + "path": "furiosa_torch-2026.4.0.dist-info/METADATA", + "bytes": 962, + "sha256": "bd6e4f3992e0d92c177b3e8cca401c4a52529f7f63d7f7be0fcc7890a9de875e" + }, + { + "path": "furiosa_torch-2026.4.0.dist-info/RECORD", + "bytes": 8367, + "sha256": "84355a3b8204210eec01d5140c8c7824d2f32a066f57c8965ce64ff2a9513a25" + }, + { + "path": "furiosa_torch-2026.4.0.dist-info/WHEEL", + "bytes": 109, + "sha256": "05489786aa5da8a37938412c4121b27a79084ec8a5349d6f476669bfe26e72f6" + } + ] + }, + "torch": { + "version": "2.10.0+cpu", + "metadata": [ + { + "path": "torch-2.10.0+cpu.dist-info/METADATA", + "bytes": 29321, + "sha256": "d6031f9f56089c835e78a75875c1be87a34bcfdf5a79ef9f069084ed9244a5d4" + }, + { + "path": "torch-2.10.0+cpu.dist-info/RECORD", + "bytes": 1253351, + "sha256": "c5eef5420c4dde0b289043d3d1bfbf23bce4b535ea62184685689d59e4d4441c" + }, + { + "path": "torch-2.10.0+cpu.dist-info/WHEEL", + "bytes": 113, + "sha256": "cb317d8b1a745d560b867a2f65276e77dbeca533dd55ee76073c08ed3bf78d33" + } + ] + } + } + }, + "cleanup": { + "utc": 1793337609.0180717, + "namespace_absent": true, + "all_three_owned_pod_uids_absent": true, + "all_namespace_pods_absent": true, + "independent_api_verification": true + }, + "measurement_limits": { + "warmup_s": null, + "native_prepare_and_warmup_s": "Combined constructor/graph loading/warmup; instrumented, not standalone warmup latency.", + "negative_counter_kv_evidence": "Executed successful assertions; individual per-negative counter/KV snapshots were not persisted.", + "cache_history": "First attempt populated Onggi cache; both native graph cache inputs were precompiled. Retry is not a cold-cache benchmark.", + "kv_payload_verification": "Remote native export + BF16 roundtrip + consumption hashes; 512 KV files remain remote-only across both attempts. No local byte-level payload verification claimed." + } +} diff --git a/docs/data/serving-integration-cpu-20261030.json b/docs/data/serving-integration-cpu-20261030.json new file mode 100644 index 0000000..dbf1f00 --- /dev/null +++ b/docs/data/serving-integration-cpu-20261030.json @@ -0,0 +1,119 @@ +{ + "source_commit": "466ef918db08a8722326b6f36f5f39597e8a63de", + "dirty": "", + "results": [ + { + "name": "format", + "exit": 0 + }, + { + "name": "race", + "exit": 0 + }, + { + "name": "vet", + "exit": 0 + }, + { + "name": "build", + "exit": 0 + } + ], + "all_passed": true, + "binary_sha256": "6f906b54bdec214957e2b46fa4ff7d737934c7d433f3f465d86bab12d9d972e0", + "binary_bytes": 27245207, + "source_sha256": { + "cmd/onggi/csi.go": "9688f4fff880eda15c1a6d1ab994c3517027768a71b5e7df4086f31027157981", + "cmd/onggi/gc.go": "1ab034dc630233352ed80eca966989f9551f883e343d71241598a7dbe72592ad", + "cmd/onggi/main.go": "6103bb09c48e0f7a85b3d32e7b0f42ebe7901d78a74400ed96d62a33887c6bc6", + "cmd/onggi/main_test.go": "96323fa1efd223ab0f4ea0efbdc6a354c0ae1f3465408d3e9b4519b38b519c5c", + "cmd/onggi/memprof.go": "2e05bf5d01e3a358c9137498cd271fb30fe2d3102be65c95861fa17ea8d64dbf", + "cmd/onggi/peer.go": "8a9b9c7619d28a937baf1e7360bee6531d6dc2c08aeada4e9c591bd705c7c7ea", + "cmd/onggi/prepare.go": "2898c805c0f988e73136bf85750312f795224ff96f8ff8b941bb920fd1af64d7", + "cmd/onggi/prepare_test.go": "c9478d1eff5bed15687935c3652286c3f7f157a8fbf93bbf8de7e5899941a7a1", + "cmd/onggi/store.go": "e7a6b79535bc6ff0fa6da8ce3f80c197ac40c601ff98c84db8aa38e0191e0002", + "cmd/onggi/store_test.go": "fd3631a8b84acee849359774a600aabf180eeeb04030f8b7a8640d2df70339cf", + "go.mod": "f06368208efee087dddf223039cff81effec3f7f775adf68ef6f5519a980e6fb", + "go.sum": "eb8a42395d593bf8c28a4a93f81cddb67f42750faece7f36efe48fb7a36c6466", + "pkg/backend/backend.go": "b7cbb4be1fe432f9b12754bd50b4f1081e2dc2a23ba0080ff9580bc0872ad752", + "pkg/backend/backendtest/suite.go": "6f40cf54976be76aa7324394bd25dfbb8ddc4e0103113ba965c8d02281cc7bbd", + "pkg/backend/fs/fs.go": "a8c65dbb52417937ae92ce740bdb9b64ab9bb5a529970c2d717224d5b2ec7ee6", + "pkg/backend/fs/fs_test.go": "432f86961d43023ae4b493fd542b204b2f5c359d3c48ae55968bc133196c25c5", + "pkg/backend/s3/s3.go": "cd95a91dda3e12cb091ced6556c5c07dc7e00980edb195e511744fe9015c8c0f", + "pkg/backend/s3/s3_test.go": "8350a6d257a37fcf8905f0148548dd52d497071179e9f3b2b8f170ee5762a71a", + "pkg/chunker/chunker_test.go": "8c1e9e618e36ce0ac2e3f0ac0a2f1103d6c5733805acedd627a31d2261161340", + "pkg/chunker/fastcdc.go": "f4a71a924c115d0049a6c8f916e888f481d2296ff332d985dd6ac67f3a9e9d80", + "pkg/chunker/gear.go": "8c3a97f488e1b90bd8dc67a7a6e59de75c4ba479027d6cd4878b71fbd019da01", + "pkg/codec/codec.go": "b16f5c3f6cbd4d51822d129cbd244926aeda0650250bd83909f12d4f43fcd796", + "pkg/codec/codec_test.go": "d824f42cb113e6a48efed9b6842142571ca0e130ae333d84d6b82c87174ff32c", + "pkg/csi/acquire_failure_test.go": "790d2cb4cfaff75d384e5a80f3a4b718f30743041f639c59d4d1aa1d808410aa", + "pkg/csi/evict.go": "3d8719ab9e056e54b145d7b999197a09d05370f0ae7829a666f7204df31c5734", + "pkg/csi/evict_test.go": "bfd3539fcc117e2a1b104cfaab4cc0dafe06fdce86f0e47c49bb7005fc33b108", + "pkg/csi/materializer.go": "93c5d2835a321b8e02094a85775c371bafcd2e29b74dfcd8d78aad464f958f6e", + "pkg/csi/materializer_test.go": "84bd356a6c4422aaf64fae056f397bf86b9e2eac04023374b1075f19704f9409", + "pkg/csi/mount.go": "6a7df2e876a03577b49ec27d71b8592a73b7fd57087d7ad7f96723b7a54a7c17", + "pkg/csi/mount_integration_linux_test.go": "aef9cbaa5ef239ff822019a01f67b8286ba5e37ee0b6a953686d654e7dd3d297", + "pkg/csi/mount_linux.go": "48625654cd47a587f8ab731017f713264dade79954e4af8f5d7a41283619e50e", + "pkg/csi/mount_other.go": "073f9e964c326fa8be8d1403baebd728143669e686a2a0fc7be64144be6a9940", + "pkg/csi/mount_test.go": "629c2afdc46f1612b13888c3365333e3d1d157c5d69760c06ce37d8d1d892875", + "pkg/csi/pull_limit_test.go": "1af7f315462014b76adbc6db885029a4c99cbb1cd77a42645bd20feaced945df", + "pkg/csi/rebase_test.go": "3c3d9853f0f01cfa5b7c3c1f09e89053653a5b650f6590b384ba8221ce8422b6", + "pkg/csi/server.go": "9e6f096ee542c8d3d341673d39457d8f997ae525d38a9337f5acbea9a0737339", + "pkg/csi/server_test.go": "e46076f7cec0f80a9c2aff00349eb928f4ea21bf0242770289be22332c23f78d", + "pkg/dedup/report.go": "676a145bc4504b6e1c8b24ae244c447b0f3c2f61202d71e5889398a2414620db", + "pkg/dedup/report_test.go": "5b8f85886a14395a5173c5009c99b50ccf6d809a76e74437dd10ef61ccfb4c31", + "pkg/digest/digest.go": "6aa79c7bde9758ff165449d8718195b68041230256b0fb58776be76718037244", + "pkg/layout/layout.go": "84ad06189434722b8922f44b4372478500e89788aec30b4ffdc5d770ba0a05a9", + "pkg/layout/layout_test.go": "37eb17a2843e6591a4eca3b5024e8762e7c95812a77b5259da68409a2a808584", + "pkg/peer/discovery.go": "b2705b4b89c7acafc79647f72847cf3cfb73bf29cf31e44193f71ad5e2cabb62", + "pkg/peer/discovery_test.go": "8355f5254f07443800613818e200eb94d2a684e0195f35b3c1e3887aab600120", + "pkg/peer/peer.go": "2e75fbe429d43330ae47059918757cb12e216282db734e577599346ac1312690", + "pkg/peer/peer_test.go": "d167eef334ffa944b76125c7a2f9fd01b2331c7a7d3d15a31ee8f53c13e6556a", + "pkg/store/cache.go": "e47630e0becd8c91c61fe3cc3fbb78945a4b961014b30b9258bc514465b6875f", + "pkg/store/cache_test.go": "fc3da3957e3cc2c567a061b0a23b1d43505389e6a2fe4922e4fa5eec3a81c60e", + "pkg/store/codec_test.go": "99e00dbea1ba3a7c13b619b7b9b48854f7a8bab47bb40190182049629bb4d9c2", + "pkg/store/diff.go": "6321209270813aaa2c8275a8f0db287946538e24f94a32c968fe6362022edc83", + "pkg/store/diff_test.go": "8717174450560f4ba359e77d09d2d7e4e7a3ec532391c38322d8272fa0230d24", + "pkg/store/format.go": "6947db55457b8ca3e7dc98387408ca5b62f5af6c8f2e2b8503c3f161697bba7a", + "pkg/store/frame.go": "6044e4a404ed606eb6bd1c2e084b5acf98de8c0c941ada3c09be2246b3bed208", + "pkg/store/frame_test.go": "6f9a3eb6cd1d7cfb15b12e1bd4374cc9c34ed2eef2510e5373ca30a1378aedd7", + "pkg/store/gc.go": "23063c0552dfa3239c32a10c9506295d02d6ac8f56450b8f2fe8553f6c1c90bc", + "pkg/store/gc_test.go": "2fba10c24dcb6be2613c2544ae1fc0f062d2b99cb30dd9d5e35a2c350fcc6880", + "pkg/store/index.go": "dd418a1b5144347581ae8c9d63c931144c45694f60ec4ba638be5d8ca1fa1018", + "pkg/store/index_test.go": "464a52367346cc2148da72ccb2a99728043f037ec235e3aefc66944ddb3c9d19", + "pkg/store/locator.go": "5ca263586c372204059399e2cf8e7fcd90b482541b049c7322ae5c892e6a7469", + "pkg/store/locator_test.go": "73ed5207df2849e4c3ed25dd74684bb956a8096a3193d33c51b899f664d9c031", + "pkg/store/peers.go": "7b9f809c7fb2e17378233ec35080ed24d77fc0322ff696b7b9e35dfb2e593aa4", + "pkg/store/profile.go": "12698355a176296c46789e2ef8829ed34ab0db5060f9eb3860665c3b4cfb7f46", + "pkg/store/profile_test.go": "df7bcf41132153bb270d5a6481146d9192807d9032e8d78d292f0f070b89df63", + "pkg/store/pull.go": "95e783fa51f41201e2e816ce1793447fbe09dbc794215245a1cba5e678bbc026", + "pkg/store/pull_boundary_test.go": "23485635cb323d15494c7b79eeca8a6c84fbc7445cfb4a894920369f0eb94e0d", + "pkg/store/push.go": "6f045559d425c187d08b14f4e09771e666b5201c82f9ccb8804b9ba206f0981b", + "pkg/store/rebase.go": "673cc5f52f2ae2afae860a37464517380eb59b7cb452f31f1eb6032d5eccc4ac", + "pkg/store/rebase_test.go": "92f92cd4f84b8895550c9bb5a8cdb76a83c4644596621091c681d8f45a4560f4", + "pkg/store/source.go": "a61ba254991f28fc6c41cbb0b066091a326ba4ed3260f52a4b3f3b687cfb15a4", + "pkg/store/store.go": "d4936274c20ccb12abdd8ce801c0969e6db8d05b19f11ba16c8560acf83309e0", + "pkg/store/store_test.go": "89c7df2588448cfdb44b46c7feb050c82c9db17a8f799c9087fdbcdf5d31047c", + "pkg/store/sub_test.go": "c97d375544514bc4c3f4efb6ea22cec8c38d7f4dda9fdaf3f00399e49f4cba7d" + }, + "test_passes": 154, + "test_skips": 10, + "binary_build": { + "go": "go1.27.3", + "revision": "466ef918db08a8722326b6f36f5f39597e8a63de", + "modified": false, + "trimpath": true, + "cgo_enabled": true + }, + "scope": "Combined CPU storage/profile/delta code only; no NPU or end-to-end latency claim.", + "ci": { + "run": "https://github.com/ai-computing/onggi/actions/runs/41005576721", + "head": "466ef918db08a8722326b6f36f5f39597e8a63de", + "jobs": [ + "go", + "s3 (seaweedfs)", + "s3 (versitygw)" + ], + "all_passed": true + } +} diff --git a/docs/ko/native-serving-2026-10-30.md b/docs/ko/native-serving-2026-10-30.md new file mode 100644 index 0000000..a3a97a5 --- /dev/null +++ b/docs/ko/native-serving-2026-10-30.md @@ -0,0 +1,66 @@ +# Onggi 준비에서 실제 RNGD HTTP 서빙까지 + +2026-10-30 · [English](../native-serving-2026-10-30.md) + +근거: [공개용 native 실행 기록](../data/native-serving-20261030.json), +[통합 CPU·빌드 기록](../data/serving-integration-cpu-20261030.json). + +통합 경로를 실제 할당된 RNGD에서 검증했습니다. init container가 호환 그래프·설정 묶음을 +선택·복원하고, 새 프로세스의 실제 클러스터 워커가 전달된 그래프로 예열한 뒤 HTTP +디코드 요청을 처리합니다. 새 컨트롤러나 운영 배포 전체를 검증한 것은 아닙니다. + +- 실행 소스: Onggi `466ef918db08a8722326b6f36f5f39597e8a63de`, + 런타임 `fafd820fead20ed51dcb7f60ebb5e7dc7d90b2f1`. +- Llama-3.1-8B, SDK2026.4·Torch2.10, B4/S256/group2, fusion8/mesh2, + intra-op4, RNGD 한 장, CPU 요청4/상한12, 메모리128Gi, 기한7200초. +- 그래프 두 개는 합계984729바이트이며 설정·출처 기록과 함께 전달합니다. + 16060581181바이트 체크포인트는 기존 읽기 전용 경로를 사용합니다. + 전체 체크포인트를 Onggi로 전달했다는 주장은 하지 않습니다. +- 원본 체크포인트6개 파일·그래프2개 해시와 실제 이미지에서의 바이너리 실행을 확인했습니다. + 펌웨어가 다른 후보는 제외하고, 선택한 매니페스트와 복원 파일 해시가 정확히 일치합니다. + +검증용 native producer가 실제 프롬프트 네 개를 실행해 KV와 기준 토큰을 만든 뒤 +종료합니다. 기준32개 토큰은 이전의 독립된 공개·비공개 fresh-base 결과와도 같습니다. +이후 새 HTTP 워커가 `warmup:true`로 실제 연산을 수행하고 health가503에서200으로 바뀝니다. +vLLM 테스트 대체 모듈을 넣거나 공용 SDK를 수정하지 않았습니다. + +**실제4개 요청씩3배치, 총12개 요청의96개 토큰이 모두 일치했습니다.** +이 중12개 첫 토큰은 producer가 제공하며, 이후84개는 NPU 디코더가 생성한 토큰으로 +별도 검증했습니다. 워커의 native 모듈 호출은 예열17회에서 최종374회 +(`17 + 3 × 7 × 17`)이며, 가중치 적재1회·그래프 로딩1회·컴파일0회를 유지합니다. +113개 공유 projection/LM 버퍼와 컴파일 객체 식별자도 매 배치 뒤 동일합니다. +임시 KV나 중간 버퍼의 주소까지 고정된다는 의미는 아닙니다. + +잘못된 체크포인트는409, 문맥 길이 초과는400으로 거부하며 native 호출 수와 KV 소비는 +늘지 않습니다. 관측 훅은 원래 메서드를 호출하면서 장치·식별자·횟수를 기록할 뿐, +연산·전송·KV·토큰을 대체하지 않습니다. 시간은 계측된 통합 진단이며 속도 향상 실험이 아닙니다. +각 거부 요청 뒤 호출 수·KV 파일 목록이 같다는 하네스 검사를 통과했습니다. 각 요청의 +전후 스냅샷은 별도로 저장하지 않았으며, HTTP 응답과 실행된 검사의 결과를 보존했습니다. + +성공 실행의 생성자·그래프 로딩·예열 합계는 13.988초, 워커 프로세스 시작부터 HTTP +readiness까지는 16.424초입니다. **예열만의 시간은 측정하지 않았습니다.** 재시도의 +파일 준비 0.022초 역시 기존 로컬 저장소·캐시 조건의 진단값이므로 cold 전체 로딩과 +비교하거나 속도 향상 수치로 해석하면 안 됩니다. + +첫 시도에서는 하네스가 KV를 프롬프트 길이8로 잘라 보내 네 요청이 native 후속 생성 전에 +400으로 실패했습니다. 이 실패는 별도로 보존했습니다. 두 번째 시도는 실제 전체S256 +KV의 prefix·tail을 모두 그대로 보내고 비트 단위 왕복 검사를 추가했습니다. 소스·프로필· +체크포인트·자원 조건은 유지했습니다. 준비된 캐시가 재사용될 수 있어 cold 성능 비교로 +해석하면 안 됩니다. 오래된 prefix 전송 주석도 실행 소스 동결 뒤 고쳤으며 Python AST는 +같습니다. 재현은 위의 고정 커밋을 사용합니다. + +불변 스냅샷의 작은 증거 파일 205개 해시와, 런타임 409개·Onggi 125개 파일의 Git 원본 +해시를 별도로 대조했습니다. 공개 JSON은 개인 경로를 제거한 선택 기록입니다. 스냅샷 +매니페스트 SHA256은 `14a0eebb5f0f8bc850b0705128f43b48ee39564a8ffd7e73e47266356a43f94c`입니다. +체크포인트·그래프·두 시도의 KV 파일 512개는 내려받지 않았으며, 해당 해시는 원격에서 +검증한 기록입니다. 로컬 바이트 검증 범위는 내보낸 작은 증거 파일입니다. +최종 컨테이너들은 종료 코드 0이었고, HTTP 자식 프로세스는 모든 검사 뒤 종료했습니다. +UID를 확인해 삭제한 뒤 namespace와 소유 Pod 세 개가 모두 없음을 독립 API로 확인했습니다. + +실행 명령·프로필·범위는 [영문 전체 기록](../native-serving-2026-10-30.md), KV와 요청 형상은 +[런타임 문서](https://github.com/ai-computing/rngd-pd/blob/fafd820fead20ed51dcb7f60ebb5e7dc7d90b2f1/docs/prepared-serving.md)를 +참고하세요. 실제 운영에서는 검증용 producer 대신 실제 prefill 서비스가 KV를 제공합니다. + +다중 B/S의 실장비 선택, 실제 prefill·gateway 연결, ATOM HTTP 시작 경로, 설치된 vLLM, +UCX 복구, 후보 자동 탐색·배치·확장 제어와 운영 롤아웃은 별도 검증이 필요합니다. +GC lease와 강제 종료 후 잠금 복구의 기존 한계도 유지됩니다. diff --git a/docs/ko/resident-delta.md b/docs/ko/resident-delta.md index a4142e0..93d9145 100644 --- a/docs/ko/resident-delta.md +++ b/docs/ko/resident-delta.md @@ -13,8 +13,10 @@ POSIX/S3 저장·복원, 해시 검증, 변경 범위 diff, 기존 파일 재사 lease로 보호하는 GC, 읽기 전용 CSI volume이 동작하며 검증 기록이 있습니다. main에는 복원 동시성 제한과 실패 시 lease 소유권 보존 수정도 반영돼 있습니다. -P3의 Kubernetes artifact/ref API, 컴파일 팜·호환성 planner와 P4의 배치·자동 확장에 따른 -prefetch·prewarm은 아직 계획 단계입니다. 프로세스가 비정상 종료하며 보수적으로 남긴 lease의 +P3의 첫 단계인 [prepare CLI](compatible-prepare.md)는 명시한 후보에서 프로필이 일치하는 +결과물을 골라 파일을 준비합니다. Kubernetes artifact/ref API·후보 탐색·컴파일 팜과 +P4의 배치·자동 확장에 따른 prefetch·prewarm은 아직 계획 단계입니다. +프로세스가 비정상 종료하며 보수적으로 남긴 lease의 자동 정리도 남은 과제입니다. [연계 단계](../integration.md#order)와 [CSI 안전성 검증](../validation-2026-10-23.md)을 참고하세요. @@ -73,7 +75,11 @@ SDK 2026.4는 DMA·스트림 오버헤드 개선을 포함하므로 다음 검 비연속 입력 view를 정확히 복원하는 native 검증이 통과했습니다. Llama-3.1-8B의 B4/S256/**group2**에서 projection·LM 행 갱신 후 새 전체 로딩과 토큰이 일치하고, 버퍼·컴파일 모듈 유지와 native 복사 중단 후 복구도 확인했습니다. group8은 현재 컴파일러의 memory explosion 오류로 검증되지 않은 설정입니다. -최초 전체 로딩은 약 19~21초이며, 부분 갱신 검증이 최초 적재나 이전 SDK 대비 속도 향상을 뜻하지는 않습니다. +당시 로더 이식 검증의 최초 전체 로딩은 약 19~21초였으며, 부분 갱신 검증이 최초 적재나 이전 SDK 대비 +속도 향상을 뜻하지는 않습니다. 후속 선택 옵션인 CPU 변환 병렬화에서는 같은 SDK2026.4·B4/S256/group2의 +생성자 중앙값 18.68초 → 13.09초를 확인했습니다. CPU·RAM을 더 사용하고 준비된 그래프·따뜻한 파일 캐시를 +사용한 별도 실험이며, NPU DMA 자체의 개선은 아닙니다. +[별도 CPU 준비 실험과 모든 측정값](https://github.com/ai-computing/rngd-pd/blob/52507e49e57fb9ddf2b8936d76672dc609cdc48c/experiments/2026-10-30-rngd-host-staging.md). [2026.4 재현 조건과 전체 측정 결과](https://github.com/ai-computing/rngd-pd/blob/0bc244db0239bddfdda005454809aee0812877d8/experiments/2026-10-30-rngd-sdk264.md). 이 캐시는 Furiosa-LLM의 FXB 로더와 별개이며, 앞의 preflight는 이식 전 기준 로더에 대한 기록입니다. diff --git a/docs/native-serving-2026-10-30.md b/docs/native-serving-2026-10-30.md new file mode 100644 index 0000000..895a66c --- /dev/null +++ b/docs/native-serving-2026-10-30.md @@ -0,0 +1,141 @@ +# Onggi preparation to native RNGD HTTP serving + +2026-10-30 · [한국어](ko/native-serving-2026-10-30.md) + +Evidence: [sanitized native run records](data/native-serving-20261030.json), +[combined CPU/build record](data/serving-integration-cpu-20261030.json). + +The integrated path now has a real allocated-card proof: an init container +selects and materializes a compatible graph/config bundle, then a fresh native +prepared worker warms its graph and serves HTTP decode requests from those +delivered files. This validates an explicit-candidate startup path, not a new +controller, live gateway/prefill service or production rollout. + +## Frozen inputs + +- Onggi `466ef918db08a8722326b6f36f5f39597e8a63de`, combining the reviewed + resident docs, target-plan Diff optimization and exact-profile preparation. + Binary SHA256 `6f906b54bdec214957e2b46fa4ff7d737934c7d433f3f465d86bab12d9d972e0`. +- Runtime `fafd820fead20ed51dcb7f60ebb5e7dc7d90b2f1`: shared standalone KV + transfer, optional `warmup:true`, SDK2026.4 cache and optional two-worker + host staging. No vLLM test modules or shared SDK package installation. +- Llama-3.1-8B, B4/S256/group2, SDK2026.4.0, Torch2.10.0+cpu, + fusion8/mesh2, intra-op4, one plugin-assigned RNGD, CPU request4/limit12, + memory128Gi, deadline7200s. The observed assignment was physical npu1, + visible `[0,1,3]` -> runtime ordinal1. +- Two previously compiled native graphs total984729 bytes. The bundle also + carries config/provenance; the16060581181-byte checkpoint stays external and + read-only. All six checkpoint files and both graphs were freshly rehashed + against previously accepted hashes. No full-checkpoint delivery is claimed. +- Profiles bind the exact source/options/runtime/SDK/compiler/firmware/layout/ + topology and B/S. The matching manifest is + `sha256:b36a7d2daf074ca19e66541a4b41b8fa07a4381d0b32f9b28bdb75919cb75f7f`. + A second candidate with mismatching firmware is rejected with a field reason. + This is agreement between publisher declarations, not vendor certification. + +## Real execution and validity + +1. A CPU-only publisher verifies binary execution in the target image, hashes + original inputs, publishes the bundle/profiles and checks no-match behavior. +2. The serving Pod's actual init runs `onggi prepare`. Every delivered file hash + equals the published bundle; the main container consumes the delivered + graph/config volume read-only. Missing/incompatible candidates are not used. +3. A validation-only native producer replays the original four eight-token + prompts, exports the actual full-width K/V arrays, and creates fresh token + references. All32 reference tokens also equal prior independent public and + private fresh-base results. The producer exits before the HTTP worker starts. +4. The genuine cluster worker starts in a fresh process with `warmup:true`. + Its health endpoint changes503 ->200 after a real graph step. Producer and + worker use shared-memory BF16 wire data; full native prefix and tail bytes + are roundtrip-checked before consumption. +5. Three actual batches of four HTTP requests each return eight tokens per + request. **All12 requests /96 tokens match the fresh references.** Twelve + first tokens are supplied by the producer; the84 subsequent tokens are + produced by the native decoder and checked separately. + +The consumer makes17 native module calls for startup warmup, then374 total: +`17 + 3 * 7 * 17`. Projection/LM upload remains1 and graph loading1; compilation +is forbidden and stays0. All113 shared projection/LM buffer identities and +compiled module identities are unchanged after each batch. This does not assert +that temporary KV/intermediate buffers have stable addresses. + +Checkpoint mismatch returns409 and excess context returns400, with no native +call-count change or KV consumption. The observer only wraps original methods +and checks native output devices/identities; it does not replace computation, +transport, KV or tokens. Timings are instrumented integration diagnostics, +not a controlled cold-start or performance comparison. Cache history and both +attempts must be retained; repeated preparation may use an already warm cache. + +The successful harness asserted counter and KV-file-list equality after each +negative request. Individual before/after snapshots for those two negatives +were not persisted; the raw HTTP responses and executed-assertion result are +retained. This distinction is explicit in the evidence. + +For reproduction diagnostics, the successful run recorded 13.988 s for combined +native construction/graph loading/warmup and 16.424 s from worker-process start +to HTTP readiness. **Standalone warmup elapsed time was not measured.** Init +preparation took 0.022 s on the retry's existing local store/cache; these values +must not be compared with an uncached full checkpoint load or used as a speedup. + +## Retained failed attempt + +The first attempt passed init, native reference generation, warmup and negative +admission checks, but its harness sliced K/V down to eight prompt positions. +The actual wire contract requires full S256 arrays, so its four smoke requests +returned400 before native continuation. That run is invalid as a serving proof +and is preserved separately. Only the harness export changed for the second +attempt: full actual native arrays, including untouched tail, with bitwise +roundtrip assertions. Frozen source, profile, checkpoint and budgets stayed +fixed. The corrected96-token run does not hide or average away the first failure. + +The runtime's stale prefix-transfer comment was corrected after freezing the +executed source; its parsed Python AST is identical. Reproduce native results +from the frozen runtime commit above. Publication-only docs/comments do not +relabel the tested binary or source revision. + +## Evidence and cleanup + +The private immutable snapshot contains 205 small evidence files; root verification +rehashed every file and compared all 409 runtime and 125 Onggi tracked-file hashes +with canonical frozen Git blobs. It also independently compared the prior public +fresh-base token arrays, each HTTP token/suffix, graph/buffer identities and the +two canonical artifact manifests. The snapshot manifest SHA256 is +`14a0eebb5f0f8bc850b0705128f43b48ee39564a8ffd7e73e47266356a43f94c`. +The 394278-byte private archive SHA256 is +`70edc475319a3aac8b41f0cc482dacf234b6d474592707993d98fd964800e078`. +The public JSON is a selected, path-sanitized copy, not that archive's bytes. + +Checkpoint, graph and 512 KV payload files across both attempts were not downloaded +or published. Their hashes and native export/roundtrip checks come from the owned +remote run; local byte verification applies to the exported small evidence only. +Both final containers exited 0. The HTTP child received SIGTERM after all checks +completed. UID-guarded deletion and an independent API check established that +the namespace and all three owned Pod UIDs were absent. Other workloads were +untouched; no background validation process remains. + +## Reproduction boundary and next work + +Publish a compatible graph/config bundle whose `prepared.json` points to an +immutable external checkpoint and uses delivered relative cache paths: + +```sh +onggi prepare --store "$STORE" --request request.json --cache /cache \ + --dir /prepared/ready candidate-with-wrong-firmware compatible-build +python -m rngd_pd.serving.cluster --role decode --backend rngd --chip -1 \ + --S 256 --sched static --batch-wait 100 \ + --prepared-config /prepared/ready/prepared.json +``` + +The config opts into `host_workers:2` and `warmup:true`. Follow +[runtime KV replay instructions](https://github.com/ai-computing/rngd-pd/blob/fafd820fead20ed51dcb7f60ebb5e7dc7d90b2f1/docs/prepared-serving.md) +for the actual first token, full wire-width arrays and checkpoint ID; no fake +KV is needed. The validation producer is not required by a normal deployment +with a genuine live prefill producer. + +This proof uses one B/S profile and one checkpoint. Multiple native B/S choices, +live prefill/gateway handoff, ATOM HTTP startup, installed-vLLM execution, UCX +recovery, controller discovery/placement/autoscaling and production rollout +remain separate gates. Existing GC lease and crash-lock recovery limitations +remain documented in [compatible preparation](compatible-prepare.md). +The earlier [host-staging speed experiment](https://github.com/ai-computing/rngd-pd/blob/52507e49e57fb9ddf2b8936d76672dc609cdc48c/experiments/2026-10-30-rngd-host-staging.md) +has its own conditions and samples; this integration run claims no speedup. diff --git a/docs/resident-delta.md b/docs/resident-delta.md index ff1608f..fccb6d5 100644 --- a/docs/resident-delta.md +++ b/docs/resident-delta.md @@ -16,8 +16,10 @@ base reuse, node cache/peer transfer, lease-protected GC and read-only CSI materialization have code and validation. The current main also bounds concurrent materialization and preserves lease ownership across failures. -P3's Kubernetes artifact/ref APIs, compile farm and compatibility planner are -still planned. P4's placement/autoscaling-driven prefetch and prewarm are also +Initial P3 support is available in the [prepare CLI](compatible-prepare.md): +exact-profile selection from explicit candidates, followed by verified file +preparation. Kubernetes artifact/ref APIs, discovery and compile farm are still +planned. P4's placement/autoscaling-driven prefetch and prewarm are also planned. Reconciliation of leases conservatively left by crashed processes remains a limitation. See the [integration phases](integration.md#order) and [CSI safety evidence](validation-2026-10-23.md). @@ -120,8 +122,13 @@ resident runs now pass: both projection-row and LM-row updates preserve allocations/modules, match fresh tokens, and restore base output after an interrupted native copy. Group8 currently fails native compilation with a memory-explosion error, so it is not a validated 2026.4 configuration. -Initial full-model loading remains about 19–21 seconds; partial replacement -does not establish faster cold loading or a speedup over the old SDK. +Those loader-migration runs measured initial full-model loading at about +19–21 seconds; partial replacement does not establish faster cold loading or +a speedup over the old SDK. A separate optional CPU-staging change later +measured constructor medians 18.68 -> 13.09 seconds at the same SDK2026.4 +B4/S256/group2 configuration, at additional CPU/RAM cost and with prepared +graphs/uncontrolled warm filesystem state. It does not speed up DMA itself. +[Separate host-staging protocol and all samples](https://github.com/ai-computing/rngd-pd/blob/52507e49e57fb9ddf2b8936d76672dc609cdc48c/experiments/2026-10-30-rngd-host-staging.md). [2026.4 protocol and all measured runs](https://github.com/ai-computing/rngd-pd/blob/0bc244db0239bddfdda005454809aee0812877d8/experiments/2026-10-30-rngd-sdk264.md). The earlier preflight record above describes the baseline loader. diff --git a/docs/superpowers/plans/2026-10-30-serving-integration.md b/docs/superpowers/plans/2026-10-30-serving-integration.md index 31b35a1..5047aeb 100644 --- a/docs/superpowers/plans/2026-10-30-serving-integration.md +++ b/docs/superpowers/plans/2026-10-30-serving-integration.md @@ -7,13 +7,14 @@ Spec: ../specs/2026-10-30-serving-integration-design.md Base: Onggi05c97605b07882f9ceaaeb90b94878f8923f81cf. - [x] Merge exact reviewed69/70/71 heads on a fresh isolated integration branch. -- [ ] Combined Linux race/vet/build, exact source hashes and live S3 CI. -- [ ] Integrate reviewed ATOM/RNGD runtime ancestry, CPU suite and native-ready +- [x] Combined Linux race/vet/build, exact source hashes and live S3 CI. +- [x] Integrate reviewed ATOM/RNGD runtime ancestry, CPU suite and native-ready standalone connector/prewarm behavior (runtime owner; RED->GREEN). -- [ ] Freeze both sources/profile/run configuration and read-only preflight. -- [ ] Native smoke, real HTTP request/negative cases and repeat-token proof. -- [ ] UID cleanup/independent absence; sanitized evidence and bilingual docs. -- [ ] Final integrated exact-head CI and publish reviewable branch/PR state. +- [x] Freeze both sources/profile/run configuration and read-only preflight. +- [x] Native smoke, real HTTP request/negative cases and repeat-token proof. +- [x] UID cleanup/independent absence; sanitized evidence and bilingual docs. +- Final publication gate: push reviewable branch/PR state and require exact-head + CI before completion; record final CI URLs/results in both PR bodies. ## Ledger @@ -28,3 +29,48 @@ Base: Onggi05c97605b07882f9ceaaeb90b94878f8923f81cf. factor genuine standalone whole-request transfer/prewarm support with real tests; do not inject test stubs or install packages into the shared SDK. rm_core already has a genuine builtin transport fallback. +- Combined Onggi466ef918: clean Go1.27.3 trimpath binarySHA256 + 6f906b54bdec214957e2b46fa4ff7d737934c7d433f3f465d86bab12d9d972e0, + 27245207 bytes;154 test/subtest pass events,10 environment-dependent skips; + format/race/vet/build passed. CI41005576721 all3 Go/S3 jobs passed. Root + independently compared executed source hashes with canonical Git bytes. +- Integration review: all69/70/71 ancestry preserved; production exactly71 + except reviewed Diff implementation70. NoCritical/Important integration + finding. Documentation wording reconciles implemented explicit-candidate + CLI selection versus planned discovery/controllers/native orchestration. +- Runtime finalfafd820fead20ed51dcb7f60ebb5e7dc7d90b2f1 merges reviewed + ATOM28 into RNGD32; genuine standalone shared connector and optional startup + warmup added. Fresh review's cancellation/cleanup issue regraded Important: + preserve original exception+cleanupcause, mark RNGD failed before fence, + retain buffers if fence fails, retry close after recovery.3 RED->GREEN; + full local390passed8skip4subtests, final LinuxCI41006516072 + 396passed2skip4subtests18.91s. Root15warmup regressions also passed. +- Frozen model-source profile digest2b6e92c792503258f3d9f13633a0d94a69387b31964cd54f17f857d52965c6c8 + derives canonical6file BASE-only manifest, independently matched old public + and private accepted records. Graphs total984729B; external checkpoint + 16060581181B. Exact SDK/compiler/firmware/options remain publisher declarations; + the native proof establishes only this observed compatibility. +- Native replay contract separates12 provided first tokens from84 produced + suffix tokens (96 total) over12 HTTP requests; independent old fresh-base + reference comparison required in addition to current native producer. +- Review-declined native allocation/KV/HTTP/cleanup gates remain mandatory; + old unchanged code was not recertified beyond this configuration. Installed + vLLM runtime, UCX recovery, arbitrary shapes, performance/SLO and production + rollout are not established. Existing GC/crash-lock limitations remain. +- Completed native gate: frozen466ef918/fafd820, real init selected matching + bundle and rejected firmware mismatch; all delivered file hashes match. + First prefix-only KV harness failed four requests before native continuation; + preserved separately. Corrected full native S256 KV roundtrip, same frozen + conditions, new owned Pod:12HTTP/96tokens match fresh producer and independent + prior public references,12provided+84native suffix tokens. Native17 before + readiness then136/255/374;113shared/LM buffers and compiled IDs unchanged, + upload1/graphload1/compile0. Negative409/400 executed counter/KV assertions; + no individual negative snapshots persisted. Standalone warmup latency unmeasured. +- Completed cleanup/evidence gate: all owned UIDs/namespace absent by independent + API; no background native worker. Root rehashed205 exported small files, + canonical Git409runtime/125Onggi file hashes, HTTP/reference arrays, profiles, + manifests and buffer identities. Large native payloads stay remote-only. + Public docs/data/native-serving-20261030.json retains both attempts and limits. +- Publication is documentation plus one runtime comment correction; all runtime + src ASTs match frozenfafd820. Exact final-head CI links belong in the PR bodies, + avoiding a CI-result-only commit loop. No main merge or production rollout.