diff --git a/docs/architecture/async_ownership_538.md b/docs/architecture/async_ownership_538.md index cdb1e53a..6e778862 100644 --- a/docs/architecture/async_ownership_538.md +++ b/docs/architecture/async_ownership_538.md @@ -1,13 +1,13 @@ - + # 非同步 edge 與 buffer ownership 盤點(#538 D1) -本稿是 [#538](https://github.com/raylei50653/saccade/issues/538) 的 **D1**:依 #535 的 profiles,盤點主要的非同步 edge,逐條記下誰持有資料、何時算完成、何時可以重用或釋放、容量與溢出、失敗怎麼傳、取消與重啟時怎麼收尾,以及支撐這些說法的證據等級。**本稿不修改行為,也不選定政策**;新發現的缺口只列出並路由(§5)。Owner 對發布、路由與 #340 trace 的裁決見 §9(決策來源是 #538 的 comment)。閱讀入口是 [architecture README](README.md)。 +本稿的 §1~§9 是 [#538](https://github.com/raylei50653/saccade/issues/538) 的 **D1**:依 #535 的 profiles,盤點主要的非同步 edge,逐條記下誰持有資料、何時算完成、何時可以重用或釋放、容量與溢出、失敗怎麼傳、取消與重啟時怎麼收尾,以及支撐這些說法的證據等級。D1 只盤點與路由,不修改行為;Owner 對發布、路由與 #340 trace 的裁決見 §9(決策來源是 #538 的 comment)。[§10](#d3-f02) 另記 D3-F02 的候選修復與驗證。閱讀入口是 [architecture README](README.md)。 -**Source baseline**:`main@3375e7d4`(#629 merge,2026-10-25)。除 §5 標 `reproduced` 的兩項與 §1 註明的 DALI 建構觀察外,本稿新增的判讀都是 `source-inspected`;引用的既有證據保留原文件的等級與座標,本稿沒有重跑。 +**D1 source baseline(§1~§9)**:`main@3375e7d4`(#629 merge,2026-10-25)。除 §5 標 `reproduced` 的兩項與 §1 註明的 DALI 建構觀察外,D1 新增的判讀都是 `source-inspected`;引用的既有證據保留原文件的等級與座標,D1 沒有重跑。§10 的修復與驗證另列自己的基線。 **本稿不擁有的內容**(只引用):CAP/REQ 與支持裁決歸 [#535 ledger](capability_requirements_535.md);節點/邊 ID 歸 [跨 profile 總覽](system_overview_536.md)(本稿的 `AE-*` 掛在它的 `SN-*`/`SE-*` 上,見 [§6](system_overview_536.md#6-給-537538539-的共同邊界));失敗狀態與 run 轉換語義歸 [#537](failure_degradation_537.md);shipping 的排程、graph 與 parity 歸 #465([resolved config §14](../reference/native_runtime_resolved_config.md#14-native-double-buffercuda-graphpr-10u5)),本稿只引用、不重驗、不推廣成全 repo 的保證;VRAM 快照契約歸 [degradation §6](../modules/resource/architecture_degradation.md#6-vram-level-跨程序快照契約537-b0-f07);功能保留或退役歸 #539。 @@ -131,7 +131,7 @@ | ID | 發現 | 等級 | 影響的 D3 驗收項 | 路由(§9 已裁決者註明) | |:--|:--|:--|:--|:--| | D1-F01 | `mot17.py --processes`:子程序以非零碼結束時 parent 只印 `❌`,接著用剩下的輸出算 metrics 並 `exit(0)` | reproduced | error 不得偽裝成正常完成 | **已裁決**:#537 擁有修復契約,#538 只保留追溯連結;修復見 [failure_degradation_537.md](failure_degradation_537.md) §25 | -| D1-F02 | `WorkbenchPool.put_frame` 溢出時清空整個 queue(最多丟 4 幀),`drops` 只加 1;`AsyncDispatcher` 則是丟 1 個新幀、加 1。兩邊的計數單位不同,`drops` 不是遺失的幀數 | source-inspected | overflow、丟幀與計數語義一致 | **已裁決**:#538 獨立 D3 切片;保留 drain-all,計數改為實際丟棄的幀數(§9) | +| D1-F02 | `WorkbenchPool.put_frame` 溢出時清空整個 queue(最多丟 4 幀),`drops` 只加 1;`AsyncDispatcher` 則是丟 1 個新幀、加 1。兩邊的計數單位不同,`drops` 不是遺失的幀數 | source-inspected(D1);修復前重現與候選驗證見 §10 | overflow、丟幀與計數語義一致 | **已裁決**:#538 獨立 D3 切片;保留 drain-all,計數改為實際丟棄的幀數(§9);候選修復見 [§10](#d3-f02) | | D1-F03 | relink 背景寫入(`pipeline_relink`)的 executor 沒有 `shutdown()`;main 先出錯時,未取的 future 不會被等待,背景 thread 可能仍在改 relinker/bank | source-inspected | cancel/drain | #539(選用分支是否保留)後再決定是否修 | | D1-F04 | `main.py` 的 producer 以 `asyncio.create_task(media.watchdog_loop())` 啟動 watchdog(8stream 沒有啟動 watchdog),沒有保留引用、不在 `supervise` 內、producer 結束時不取消;它的例外不會被收集。重連路徑的 `time.sleep(1)` 與 `connect()`(最多等 3 s 第一幀)在 event loop 上阻塞,同時卡住所有 stream 與 dispatcher worker | source-inspected | cancel/drain;error 不得被吞 | **已裁決**:留在 #538(event loop 阻塞與 task ownership) | | D1-F05 | MediaMTX 的 latest-wins 與 smart sampling 丟幀沒有計數,`AsyncDispatcher` 的 `dropped_queue_full` 看不到 ingest 層的丟幀 | source-inspected | overflow 與計數語義 | 未個別裁決;F02 的計數原則是否涵蓋 ingest 層,待 F02 切片確認 | @@ -182,7 +182,7 @@ - [x] 主要 async edge 有 ownership/completion/release 規則,或具名的未知與後續 owner:§2~§3 已逐條列出;未知集中在 AE-E8(C++ eval pool)與 AE-O2/AE-E1b(DALI,documentation-supported),路由見 §5。Owner 已裁決 D1 inventory completed(§9)。 - [x] WorkbenchPool 的有限狀態契約先於修復固定(D2-WB-0 → WB-1,已合併)。 - [x] 至少一個故障注入重現了具體違約(D2);本稿另外重現 D1-F01、D1-F06,其餘標 source-inspected。 -- [~] overflow、丟幀與計數語義一致:**不一致**(D1-F02、D1-F05)。F02 的方向已裁決,修復尚未實作。 +- [~] overflow、丟幀與計數語義一致:F02 的候選修復與待完成門檻見 [§10](#d3-f02);D1-F05 的 ingest 丟幀仍未處理。 - [~] error/cancel/timeout 不偽裝成正常完成:D1-F01、D1-F06 違反;D1-F03、D1-F04、D1-F07 待處理。 - [x] host-only、GPU-validated、documentation-supported 與未驗證的證據分開記錄(§1、§3)。 - [x] #465 的 native schedule、capture freeze 與 trace/measurement 邊界沒有改動;本稿只引用。G 的 contract/test/limit 映射尚未交付。 @@ -210,3 +210,95 @@ 全量的壓縮率與耗時以首次封存的實測為準。 - **GE-07**:source/文件支持、GPU-unverified,不能取代 GPU 端到端測試(stream completion、PyTorch consumer、實際 pipeline 組態)。online qualification 維持未通過。 - **執行順序**:D1 審核並合併 → #537 F01/F06、#538 F02 與 watchdog 分別處理 → 獨立執行 #340 封存。 + + + +## 10. D3-F02:WorkbenchPool 溢出計數與停止競態 + +**範圍與狀態**:依 §9 的 F02 裁決接續 `22c01fcd5a3ab5ff01c7f248f768c4be3eae9769` WIP;基線是 `main@aa69c3c1caf502ecc5aeeda92f90d8db6871a6c3`。這是候選實作,尚未合併。只修 `WorkbenchPool` 的 host queue admission、計數與對應停止競態;不修改 CUDA 排程、模型、tracker 參數、AsyncDispatcher 的丟幀策略或線上支持範圍。D1 表格保留原盤點座標。 + +### 10.1 計數與 identity + +| 欄位 | 定義與範圍 | +|:--|:--| +| `drops` | 實際從滿 queue 清掉的幀數,從最近一次 `reset_stats()` 起累積 | +| `overflow_events` | `put_frame()` 第一次 enqueue 遇到滿 queue 的次數;即使 consumer 搶先取走全部幀而清掉 0 幀,仍是一個事件 | +| `workbench_drops`/`workbench_overflow_events` | 相同事件的 telemetry;由 telemetry 物件累積,pool 的 `reset_stats()` 不重設它 | +| `streams[stream_id]` | pool 物件生命期的 `submitted`、`dequeued`、`dropped`、`overflow_events`、`discarded_on_stop`、`last_dequeued_seq`、`gaps`、`gap_frames` 及當下 `queued`;stop/start 與 `reset_stats()` 不清掉它們 | +| `discarded_on_stop` | stop 清掉的 queued 幀,與 overflow drop 分開,重試 stop 不重複計數 | + +每條 stream 在接受 frame 時配置從 1 開始、單調遞增的 `seq`。worker 取出 frame 時記 `last_dequeued_seq`;跳過的 identity 數量計入 `gap_frames`,每段缺口計入 `gaps`。這裡的 `dequeued` 表示交給處理,不表示成功處理或 callback 已交付;處理失敗與 late callback 仍走既有契約。現有 callback 的 stream ID/timestamp 介面不變。 + +所有 producer/worker 安靜後,每條 stream 滿足: + +```text +submitted = dequeued + dropped + discarded_on_stop + queued +``` + +仍在執行中的 `get_stats()` 是逐 stream 的觀測,不是整個 pool 與 telemetry 的原子快照。比較總數時須保持相同統計區間:全域 `drops` 可 reset,per-stream 與 telemetry 則累積。尾端被丟棄的幀在下一個 frame 被 worker 取出之前,尚不形成已觀察的 gap。 + +### 10.2 並行 admission 與有界停止 + +- 保留 latest-wins/drain-all、每 stream queue 容量 4。per-stream lock 涵蓋第二次 RUNNING 檢查、identity 配置及完整 drain-and-enqueue;worker 仍可以取走舊幀。計數以實際 `get_nowait()` 取出的數量為準。 +- producer 在 lock 外已看過 RUNNING,取得 lock 後仍須再查一次;停止開始後才取得 lock 的 producer 會被拒絕,不增加 `submitted`。已通過第二次檢查的 admission 必須完成,再由 worker 或 stop 收帳。 +- `stop(timeout)` 的 worker joins 與等待 stream lock 共用 deadline。lock 逾時時維持 STOPPING、保留 batcher、增加 `stop_timeouts` 並拋 `WorkbenchPoolStopTimeout`;之後可以重試。每條 stream 一清完就更新全域與該 stream 的 `discarded_on_stop`,後面的 stream 逾時不會遺失前面的計數。batcher shutdown 仍另有既有上限([#537 §13](failure_degradation_537.md#13-538-d2-wb-1workbenchpool-有界停止worker-failure-與資源釋放))。 +- lock 會改變競爭下的交錯順序,因此可能改變實際交付哪些幀;保留的是上述有界 queue/latest-wins 契約,沒有宣稱修復前後的丟幀樣本、輸出、吞吐或精度等價。不同 stream 各有自己的 lock。 + +**審查發現與處置**:對原 WIP `22c01fcd` 重現一項停止回歸:producer 持有 stream lock 時,`stop(timeout=0.1)` 等到 1 秒後才返回,且回報正常停止。原因是 worker joins 之後的 lock acquisition 沒有上限。候選改為上述 deadline 內取得 lock,並補停止後拒絕、保留 batcher、重試及部分 drain 的測試。 + +### 10.3 證據與尚未完成項 + +契約測試:[test_workbench_pool_overflow_contract_538.py](../../tests/unit/test_workbench_pool_overflow_contract_538.py)。CPU 情境沿用 D2 的獨立子程序 harness 與外部 timeout;GPU 情境沿用 D2-GPU 的真實 CUDA Workbench/batcher,只替換 TRT inference。 + +- 修復前重現:送 6 幀,worker 收到 `[0.0, 5.0]`,實際丟 4 幀卻報 `drops=1`。重播使用的 dispatcher git blob 與基線 `aa69c3c1` 相同。 +- 已提交 head `a06f56abaefb6e5ea4ef86abad2ea282afffa6af`、本次新 build:四份相關契約測試 **43 passed/0 skipped**(30 個 CPU、13 個 GPU),RTX 5070 Ti Laptop。這是上述局部測試後,以新 native extension 做的完整相關回歸。 +- CPU 範圍:兩 stream/16 producer threads 的 6,400 次提交、overflow 與 telemetry 對帳、stop discard 分離、重啟 identity gap、admission/stop 競態及部分清理後的重試。 +- CUDA 範圍:既有 D2-GPU 契約與新增 F02 案例。新案例固定第一幀正在 inference,再排入 5 幀:`drops=4`、`overflow_events=1`、callback timestamps `[0.0, 5.0]`,並核對真實 CUDA 前處理交給 batcher 的兩份 input 值。 +- 6 個隔離 mutation 都被行為斷言攔住:把 drops 算成事件、telemetry 算成事件、取消 stop lock timeout、遺失部分 stop 計數、重啟重設 identity、移除 admission 的第二次狀態檢查。 +- 第一次失敗分類:新增的 stop 回歸測試在原 WIP 上失敗(`returned`,應為 `timeout`);修復後通過。沙箱內 NVML/CUDA 被作業系統阻擋;已在沙箱外核對裝置並執行上述 GPU 測試,沒有把 skip 當通過。 +- 完整 pre-push 首次執行於 combined head `756dde4ebe580f2f551ed3ea04162b54e818f1a4`:6,241 passed、195 skipped、105 deselected、5 xfailed、1 failed。唯一失敗是既有 `test_h2_import_witness.py::test_the_recorder_records_dependencies_rather_than_filtering_them`:驗證 checkout 的 `.venv` 是指向 repo 外的 symlink,`ImportRecorder.note_file()` 依既有契約先 `resolve()` 再判斷是否位於 repo 內,所以沒有記錄該依賴。該 recorder 與測試相對基線完全未改;同一測試在原工作區通過。改以同一 head 的 `.worktrees/550-f02-validation`、repo 內的實體 `.venv` 目錄(同磁碟 hard links,禁止 sync 與 bytecode 寫入)驗證後,整份 import-witness suite **34 passed**。此項分類為已定位的驗證環境問題,沒有改寫或跳過測試。 +- 修正環境後,**同一 combined head** 的完整 `scripts/pre_push.sh` exit 0:**6,242 passed、195 skipped、105 deselected、5 xfailed、0 failed**。格式、mypy(605 files)、文件與其餘適用檢查也通過;這是本機結果,沒有遠端 CI 結果。以下收尾只增加文件中的驗證紀錄,不改實作、測試或 identity 檔案內容。 + +本機原始輸出與 mutation runner 在 `/tmp/saccade-550-f02-evidence/`;來源與摘要檔 SHA-256: + +重播指令(在候選 worktree;GPU 測試需要可存取裝置的 host): + +```bash +PYTHONPATH=build/runtime_identity:src .venv/bin/python -m pytest -q \ + tests/unit/test_workbench_pool_overflow_contract_538.py \ + tests/unit/test_workbench_pool_lifecycle_contract_538.py \ + tests/unit/test_workbench_pool_lifecycle_observed_538.py \ + tests/unit/test_workbench_pool_gpu_contract_538.py +.venv/bin/python /tmp/saccade-550-f02-evidence/run_mutations.py +``` + +| 檔案 | SHA-256 | +|:--|:--| +| `src/saccade/perception/dispatcher.py` | `c0b9a68eac09ef67b7a8e9df3380fc98cebdb909b6779459c6ae138a1af53afe` | +| `tests/unit/test_workbench_pool_overflow_contract_538.py` | `e29c073237f4bbcd7937011132f30e7e1e386e57fdadc774e421a78a020849a4` | +| `run_mutations.py` | `21a7ec01f720484a72070bdfa99bb5997169392108beb8c064d3fa9986dfb5d4` | +| `mutations.json` | `2a0d106a6ff8db957a7ddad5b895aad240c0ae9aef1a03de96d13d786d68c25c` | +| `final-contracts.log` | `3a69d4032550ea4bcc409ca9c2eb915b2a31a68ba407000de9e2de3823343b96` | +| `final-contracts.xml` | `4c3b1f1daec87805add348a84c2c4fca3868b42d1c537d727838acc888e03e94` | +| `pre-push.log`(首次失敗) | `f37f3683d01bcd4388c9d77ca14f8e0978501028b8ba54d4e8400536d4e05483` | +| `pre-push-local-venv.log`(環境修正後通過) | `e28174382d9597fd174efa575ff7f5cc599987c3e580ab6f2b7bdbab17d1422e` | +| `attested-strict.log` | `6f66d4d2da35c315d08ac546f9d406dc828bf9378a7619db41ebb586d58e750d` | + +**Runtime identity 候選**:在 clean `a06f56ab` 上獨立 build `saccade_tracking_ext`/`saccade_scan_plugin`,依 runbook 重跑 MOT17-09 identity probe: + +```bash +PYTHONPATH=src .venv/bin/python scripts/tools/build_runtime_identity.py \ + --run-probe --build-dir build/runtime_identity \ + --emit /tmp/saccade-550-f02-evidence/runtime_identity.candidate.json \ + --require-complete +``` + +候選 `publication_complete=true`;只有 implementation 改變(`11263f7c… → 0cb15155…`,唯一變動 member 是 `dispatcher.py`),其餘四軸相同。probe 是 fresh run,digest 仍為 `2dabed0b…`;`equivalence=unproven`。候選檔 SHA-256:`f36316235124b7edde843e262b46248299b99077f25aa47c50e1784d51bdb5b2`;capture log:`b52b5757db0b1d98785ad4ed2939e31fc2e4e27fd87c3d8bbd2d7cc396f8cd1e`。候選只寫入 scratch,publication 應以 canonical+archive 的獨立 review surface 與實作原子落地。 + +本機 publication 分支已準備 canonical+archive 的獨立兩檔 commit,archive 與 `main@aa69c3c1` 的原 canonical 逐位元組相同(SHA-256 `d740889a2fe15e58bd868a9af5b8e9ae23b033c76cca1caa068562e65407d85b`)。另以 `h2_behavioral_identity.py --identity-mode` 重跑驗證 probe、`h2_runtime_inputs.py --build-dir build/runtime_identity` 重算完整 manifest,再執行 `check_runtime_identity_staleness.py --mode attested --strict --probe-from --runtime-inputs-from `,exit 0;這不是只驗 portable axes 的結果。 + +完整 pre-push 的環境保護參數為 `UV_NO_SYNC=1`、`PYTHONDONTWRITEBYTECODE=1`;`UV_CACHE_DIR` 指向 `/tmp/saccade-550-uv-cache`。`PYTHONPATH` 依序指定本次新 build、原工作區其他 native extensions,以及驗證 checkout 的 `src`。這些參數不跳過任何檢查。 + +**尚未完成**:獨立 publication review、最終 head review、PR/required CI 與 atomic co-land。現有本機驗證不能替代這些門檻。WorkbenchPool online qualification、D1-F05 ingest 丟幀、watchdog(F04)、多 worker NMS capture 與其餘 D1/D2 殘留仍 OPEN;沒有清除 #340 trace。 + +回退需要同時回退實作並依 [runtime identity runbook](../reference/runbooks/runtime_identity_republication.md) 重發座標;不能只把 canonical publication 換回舊檔。 diff --git a/docs/reference/runtime_identity.generated.json b/docs/reference/runtime_identity.generated.json index 93fd48e9..bb2411a1 100644 --- a/docs/reference/runtime_identity.generated.json +++ b/docs/reference/runtime_identity.generated.json @@ -1 +1 @@ -{"axes":{"decision_surface":{"digest":"9b7faeb0f76a43483a924ac4028361bb155373027e9fe44e4cffbd5f1a2b0369","parameter_count":413,"preset":"configs/presets/mamba_whole_graph_m.yaml","resolved_bridge_policy_config_v1":"c7a6dbb35168cba75249b7f2c67d8455b6f634732493e455a4bb920aab6d7782"},"environment":{"digest":"0afea37b29c742e2c361ae748435ac09f0c63edb7b930da2b5a6e1cbdde62465","recipe":[{"blob":"908545c16f68158d864cf874d296077604b9f8a6","path":"CMakeLists.txt"},{"blob":"94081f964ebba44ee5e1203f1c215512a7999a83","path":"pyproject.toml"},{"blob":"c389fd976674aa1173e64143bd27dcd3f1977c9f","path":"uv.lock"}],"toolchain":{"available":true,"cuda_compiled":"13.0","cudnn":91900,"device_capability":[12,0],"driver_device_count":1,"tensorrt":"10.16.1.11","torch":"2.11.0+cu130"}},"identity_semantics":{"digest":"7a5a4ee69f78b0851e0fc2d86dfa72ecbcd31f9dd1602b0531048eb25b9f5169","file_count":27,"files":[{"blob":"4de9ea2af092f94f57f6f65dfdd1cf64c664f6d9","path":".github/workflows/runtime_identity.yml"},{"blob":"f0cb5e802e7a3d4957426829138c864c09764b3f","path":"docs/modules/semantic/research/headline_bridge_behavioral_identity_capture_declaration_20260725.policy.yaml"},{"blob":"9243fd1051f71a17d414f0f0c81a434000b12e01","path":"docs/research/contracts/h2_execution_result_v1.json"},{"blob":"e1e92bcca189f48f934952e6356c5b48ebba8f0f","path":"docs/research/contracts/h2_execution_result_v2.json"},{"blob":"4cea9efadebdacab6b360aed0acd1073e75d9ea8","path":"docs/research/contracts/h2_execution_verification_v1.json"},{"blob":"8d85d41697b47f1c2feabdae5cdf0d60a26a8bb0","path":"docs/research/contracts/h2_execution_verification_v2.json"},{"blob":"251466c8cf4e73540bd1a7f8dca4235530d6778f","path":"docs/research/contracts/h2_import_witness_v1.json"},{"blob":"89414d37d9fc826bf0fed5719de26ac3a36d8f1d","path":"docs/research/contracts/h2_phase_a_authoring_profile_v1.json"},{"blob":"fcb0b1ca5249c519fc0c9030fe87f571b947037a","path":"docs/research/contracts/h2_phase_a_authoring_profile_v1.schema.json"},{"blob":"b73d80a3bfce26acea4dd68929c835f637a61f63","path":"docs/research/contracts/h2_phase_a_run_spec_authoring_decision_v1.json"},{"blob":"18f72d7d5a2b89cd54eb4c0971002eaf4e17dc71","path":"docs/research/contracts/h2_phase_a_run_spec_v1.json"},{"blob":"493fd2c990ad2fcf2693917eaa26d315e9234cb5","path":"docs/research/contracts/h2_runtime_binding_v1.json"},{"blob":"934c7ebf75b7e9f48f100a3c39e0c0a4b6f2471d","path":"docs/research/contracts/h2_successor_authorization_consumed_v1.json"},{"blob":"0b0eb644fa4f9ac722d99d02f74ed95bb4d4e984","path":"docs/research/contracts/h2_successor_authorization_request_v1.json"},{"blob":"591e85394609766b99f8afb0e104d262482daf2d","path":"docs/research/contracts/h2_successor_exactly_once_authorization_v1.json"},{"blob":"98666f7b7df2d6a78dc7bceba5c59fcd5149fe9a","path":"docs/research/contracts/h2_successor_measurement_envelope_verification_v1.json"},{"blob":"2bb92ebe6840112fff32d7a5c61e0aa6a7c70d8f","path":"docs/research/contracts/h2_successor_measurement_rehearsal_witness_v1.json"},{"blob":"1964678c569ca22c307e4e59db5f364afb848baf","path":"scripts/pre_push.sh"},{"blob":"ddaece2e0f4904cd841141938781af9e68782651","path":"scripts/tools/build_runtime_identity.py"},{"blob":"80b3f148e07259255c30c34c50075ea3cfc36a99","path":"scripts/tools/check_runtime_identity_staleness.py"},{"blob":"ddd4658595a18059a473e953a9f577f435a26cbb","path":"scripts/tools/h2_behavioral_identity.py"},{"blob":"7ee48536c89532672b3ae75ca1443e4f3ed3c6f6","path":"scripts/tools/h2_path_partition.py"},{"blob":"a97f9aeef2fbdc917ea6bc9de242e0c59a63ab68","path":"scripts/tools/h2_run_spec.py"},{"blob":"a106ddc9db2cbcaa16ed3121e1e8136560aa31a8","path":"scripts/tools/h2_runtime_inputs.py"},{"blob":"634e7b0f2d3858171dc3b390f2f2d17906953a8e","path":"scripts/tools/h2_successor_authorization.py"},{"blob":"7a9adf3f410f4fd376d0e81ed375882e20e52e05","path":"scripts/tools/h2_terminal_partition.py"},{"blob":"d8caa1ec73f90a1cbe2336ae900669f0c35e11a2","path":"scripts/tools/run_h2_layer_p.py"}]},"implementation":{"digest":"11263f7cae3f8bced7974efb68d9bd8af8dd4b805a52ee88aacf07595f0ff51a","file_count":319,"files":[{"blob":"a973c3b92711f895bff23f79872b277640b73b81","path":"configs/presets/mamba_whole_graph_m.yaml"},{"blob":"616617cce98036d78e7dc5663315c8b80a305c03","path":"configs/shipping/mamba_head_realization.attestation.json"},{"blob":"ce29938cd12ae96d7003803b465faefcb4756d4b","path":"configs/shipping/mamba_whole_graph.resolved.json"},{"blob":"b1a389a5a841883ea4c7243701bb1f9b7eb299ef","path":"include/media/buffer_pool.hpp"},{"blob":"acf9889e0dc15b254d947bb08fbf2c007d01f7f0","path":"include/media/gst_client.hpp"},{"blob":"f31c440208388ec077d72827865ac1f431bfdb1c","path":"include/perception/base_detector.hpp"},{"blob":"9cff4307d69a57e1795006d818cba1ede378d63e","path":"include/perception/batched_mamba_detector.hpp"},{"blob":"7258100abda8907c0b94cc055be4b120d91e4928","path":"include/perception/feature_extractor.hpp"},{"blob":"2a11d3e5cea285f107ab5d3fb9606fb17d91cebc","path":"include/perception/mamba_gated_detector.hpp"},{"blob":"93ca52c9c03fb9aa11160ae8c04a2e1564b30778","path":"include/perception/preprocessor.hpp"},{"blob":"2b5531082a76c2ab9bad33abecfb03d1f69cf009","path":"include/perception/trt_engine.hpp"},{"blob":"f1f4a912460d56ad3df97500751c63344eabb7ad","path":"include/saccade/common.hpp"},{"blob":"be22227f3bb8455afc14d0e85752aa9f17dbf704","path":"include/saccade/env_flag.hpp"},{"blob":"64699ffe4f04e38be3dc952baa6841ada9aef4db","path":"include/tracking/auction.hpp"},{"blob":"1936fd22087e787fd73f4eff39d4d77a5a882d2a","path":"include/tracking/box_ops.hpp"},{"blob":"9baee844184f9e111915c81992d3e3b2f0d784cb","path":"include/tracking/cheb_gr_kreciprocal.hpp"},{"blob":"dff8ab2de30f35fd0aa60d3da60bfd738ebfe664","path":"include/tracking/cheb_gr_online.hpp"},{"blob":"139fef6018534549e9b81e6dc3c7b75346bc690c","path":"include/tracking/copy_pad.cuh"},{"blob":"ee1f6c2c8ae9476f7faf8cc98bb0e63e14938f73","path":"include/tracking/crop_pool.hpp"},{"blob":"677d6b2e2c3d85282d0b6ad39c9d37a814370910","path":"include/tracking/crop_ring_store.hpp"},{"blob":"0f8c3f352e1094532ca366a665b9e882a5d0434c","path":"include/tracking/dynamic_reid_controller.hpp"},{"blob":"8506664c6cf3a0c58b4dcc6eac216278a580682a","path":"include/tracking/eval_pool.hpp"},{"blob":"aa0d9685b742e07817d65b8d60288a69dc4bfbad","path":"include/tracking/fpn_reid_launchers.cuh"},{"blob":"a6a5fe641c684ec9cfed30b3d9f642dddc930927","path":"include/tracking/frame_buffer.hpp"},{"blob":"79ea49e16a4a83428c749dfc13369435efc8db10","path":"include/tracking/gmc.hpp"},{"blob":"6a46b8d216efdb789742927934e28946cb586416","path":"include/tracking/gmc_cpu.hpp"},{"blob":"aebcbda9edb9de3551e9eed709e661cecd958e72","path":"include/tracking/hungarian.hpp"},{"blob":"de5eb743e62642dcc9eb8935a8322dc88ed9650a","path":"include/tracking/kalman_gpu.cuh"},{"blob":"d53295d9c033da3982c85d9e30daaa2311f9efc8","path":"include/tracking/legacy_env.hpp"},{"blob":"8f51a9a9fe55b08bf1590cbe279541354c3eece3","path":"include/tracking/mamba_scan.cuh"},{"blob":"21806834afd7cd16ecf98b34504600ea5b36ebfe","path":"include/tracking/mamba_scan_plugin.hpp"},{"blob":"6aa2b1fd0cd19ab1c2e2c213ccb97664231b313b","path":"include/tracking/multi_signal_birth_pool.hpp"},{"blob":"7a8447ea76864036885ef167f4936057cffae14f","path":"include/tracking/perception_params.hpp"},{"blob":"11b857059e970dae61f68bd40ee005d4c5b34cce","path":"include/tracking/perception_reid_adapter.hpp"},{"blob":"f4dfa81393759e026e79ce8762b6a75f7601d079","path":"include/tracking/pipeline.hpp"},{"blob":"ad40cdfc9e3547cd962b45457515a2bd6e1b1f69","path":"include/tracking/private_workload_stats.hpp"},{"blob":"b540a2801d6591fb9e2a9b287b044a16239afe55","path":"include/tracking/quality_filter.cuh"},{"blob":"efdb5e25d7ecdd8efbd7bada021b228eccbb8842","path":"include/tracking/reid_backend.hpp"},{"blob":"86b6c6d8837d52d0e1660f63ca9213cf0b6fd3b6","path":"include/tracking/reid_crop_store.hpp"},{"blob":"cb1c17db13beb29ffce42cb08220c8d6748180f6","path":"include/tracking/reid_queue.hpp"},{"blob":"3e226c8a22dcf2124bf1ed089cdeb4253433cf87","path":"include/tracking/relink_gate.hpp"},{"blob":"bfcce4dea6724f3bd3072ab6356c2aaa82dba9c3","path":"include/tracking/seq_runner.hpp"},{"blob":"a1feb5dec6c5b248f3648dca497f97639d981951","path":"include/tracking/sinkhorn.hpp"},{"blob":"d9afe2b26034952f6daefd0e0bccffe297ab0fd6","path":"include/tracking/temporal_birth_pool.hpp"},{"blob":"36780224b03915d1dcad95ba19fb1715e0a35f7c","path":"include/tracking/tracker_gpu.hpp"},{"blob":"acb1602a8885afefd29f46d8c7977a200cba6ab9","path":"include/tracking/tracker_params.hpp"},{"blob":"96579079a19a2a1903738f22f229b4dc257fb869","path":"include/tracking/workbench.hpp"},{"blob":"0e7a7497e5aae4a310a3a2219ce2af2765e25d91","path":"include/utils/nvtx_range.hpp"},{"blob":"79a5ed803c7f4ae330dda46fbd86aaac614ba86e","path":"main.py"},{"blob":"eebae2fb515552b90deb0ce865afaedeb820f46c","path":"scripts/eval/config/__init__.py"},{"blob":"18184502e91e5104a7e231d8600149b9102c7498","path":"scripts/eval/config/_helpers.py"},{"blob":"b5d34a4555e4ab57ab1e337fa38d0c752a5c2a69","path":"scripts/eval/config/core.py"},{"blob":"c9605ca54c0616cd89b6f98f76f1dc75350d78ab","path":"scripts/eval/config/detection.py"},{"blob":"20e144ce28b334796fba1e04fb571ada8ab6d288","path":"scripts/eval/config/gen_golden_snapshot.py"},{"blob":"579c0c6340aa2e21264d055c603185a0db7ecc2f","path":"scripts/eval/config/geometry.py"},{"blob":"31fc7226cf16a422d25b87a7605121d144729505","path":"scripts/eval/config/lifecycle.py"},{"blob":"78b676bb5b5a0b878979091cc20c14d66b20512e","path":"scripts/eval/config/motion.py"},{"blob":"b7106e4129fa3a4d587a30e16d35bae2e70f1dd0","path":"scripts/eval/config/pipeline.py"},{"blob":"7672cb023d73faa7472e41e5d142376cbb4c7538","path":"scripts/eval/config/reid.py"},{"blob":"5598109e5cf103d6e2c45b568119cd94a30b7c5b","path":"scripts/eval/config/semantic.py"},{"blob":"6147443d1d1041d488ba4ec322e438787701a0ca","path":"scripts/eval/config/trigger.py"},{"blob":"7228c2fa5e3fd285f1e4a050e900bc4d870f15f4","path":"scripts/eval/mot17.py"},{"blob":"8a4cda0fe390eaa6cc8d5667dd97766bf81a005d","path":"scripts/eval/mot17_args.py"},{"blob":"823cd901d89d08fdb794ca8b914ae5a3e93e9e80","path":"scripts/ops/run_8stream_perception.py"},{"blob":"94275ac5c496dff5237eadea6b12853b1912d09f","path":"scripts/tools/resolved_bridge_policy_config.py"},{"blob":"87b68dab895b7df1487bdfb3b4d2b986cb953a0f","path":"shipping/CMakeLists.txt"},{"blob":"fd8c619b1b36a8b6d2e46765c622bd7de7100a2d","path":"shipping/cmake/check_link_surface.cmake"},{"blob":"bcd66a653aee00ee5a2b617d713bb9f806a87035","path":"shipping/cmake/check_n03_pin.cmake"},{"blob":"dfe3782a2b96e232fb73d97d0ce6733ab30ba6a5","path":"shipping/cmake/check_no_measurement_surface.cmake"},{"blob":"4d384e843ad18652b543ea31b4ecfe583dd0787f","path":"shipping/cmake/install_model_root.cmake"},{"blob":"ab239c38d05519efe2270149584e258fb58f53e9","path":"shipping/cmake/install_third_party.cmake"},{"blob":"167ee42ce7ec6fc26529419bc0f486d8acb5321d","path":"shipping/cmake/n03_operator_pin.cpp.in"},{"blob":"db07a3ddc833d8469c2157ad0144d415e8dc9000","path":"shipping/cmake/n03_pin.cmake"},{"blob":"ab5bdb5a4e83d93374f0bed2ee0f2508b86343a9","path":"shipping/entrypoint_pin.json"},{"blob":"7d73cb40f32a9cd4fdc410fd5d30b367cf419a03","path":"shipping/include/saccade_shipping/detector_host.hpp"},{"blob":"b146bb464f7f025b45ab1be15b73f4cc10f03bb4","path":"shipping/include/saccade_shipping/detector_plan.hpp"},{"blob":"2161ec87bd355e8fb5f6ebdb164fce25bfa20a0e","path":"shipping/include/saccade_shipping/detector_s2.hpp"},{"blob":"157a5060abb8f778a8190691c8ec26cf3686a46e","path":"shipping/include/saccade_shipping/double_buffer_runtime.hpp"},{"blob":"1494d62743fabed431bb43ee91fff860bd8ba57d","path":"shipping/include/saccade_shipping/head_admission.hpp"},{"blob":"3cbb988d15bc0323edfab19abc00b08bc8cabb62","path":"shipping/include/saccade_shipping/host_cfg_fields.inc"},{"blob":"17c77099dd70c8eb978e5f260b02e7b7d7a3a066","path":"shipping/include/saccade_shipping/ingest_host.hpp"},{"blob":"d5f1a7b287a83334ff6bd9c7149e5adc42011a66","path":"shipping/include/saccade_shipping/ingest_plan.hpp"},{"blob":"2b65cf13f303b329a0a766a49d0ec03989c5387d","path":"shipping/include/saccade_shipping/model_bundle.hpp"},{"blob":"9c0f6ea3edf7265e422c9b7a94e53887e515bedf","path":"shipping/include/saccade_shipping/model_compatibility.hpp"},{"blob":"159a577244fb24c5ad4411c13d1a1d006a9fd107","path":"shipping/include/saccade_shipping/mot_output.hpp"},{"blob":"955a6f4cadc632000af792991a9e869fda65ffb5","path":"shipping/include/saccade_shipping/n03_admission.hpp"},{"blob":"75f463a33b608f8cd1454428b50d1c436c37c201","path":"shipping/include/saccade_shipping/native_build.hpp"},{"blob":"7f46ae73ca648edd3f57ef9dc14c26e058cc78ae","path":"shipping/include/saccade_shipping/native_config.hpp"},{"blob":"2bed1c98a7a09ae78b79733c77b825024a5eb566","path":"shipping/include/saccade_shipping/native_runtime_build.hpp"},{"blob":"4cce7d227b643825295025c1a28b31c3ec292345","path":"shipping/include/saccade_shipping/operator_loader.hpp"},{"blob":"aedca6506619f81887e580ec4cbd6232099e42bc","path":"shipping/include/saccade_shipping/post_detector_host.hpp"},{"blob":"27c92962f0786fda4ca1018adfc20ab288a5a4ea","path":"shipping/include/saccade_shipping/post_detector_plan.hpp"},{"blob":"e3f6b30d30c3ed9adc9b1ff11d644a4a9ea21748","path":"shipping/include/saccade_shipping/preflight.hpp"},{"blob":"5c637f185c3831029ab3665ce9c59d0f8f906108","path":"shipping/include/saccade_shipping/resolved_config.hpp"},{"blob":"b32f7d83c77d8e3a22d1300ea66f8d220f1e554f","path":"shipping/include/saccade_shipping/run_completion.hpp"},{"blob":"15262e8f73dd389ab59723e54e918d701c98a62d","path":"shipping/include/saccade_shipping/schedule_plan.hpp"},{"blob":"b8c0c53eccc33c5461a0ad04b3bcbcc3c996d8c5","path":"shipping/include/saccade_shipping/sequence_output.hpp"},{"blob":"bad56ffa7148ff70594bcf659db80777031b57c8","path":"shipping/include/saccade_shipping/serial_runtime.hpp"},{"blob":"d38c0b20b7e548f205664bed34cb549b94fb22b1","path":"shipping/include/saccade_shipping/sha256.hpp"},{"blob":"d0291cbeb696dac528227184522e1fcf557e7d9c","path":"shipping/include/saccade_shipping/strict_json.hpp"},{"blob":"87bb38d65889c1a16d1c35fc1f6414ca13ee54bd","path":"shipping/include/saccade_shipping/verified_model_bytes.hpp"},{"blob":"c4ee3f6f71ed10a3dc42b9aa20cc8345390d2618","path":"shipping/launcher/saccade_track.sh"},{"blob":"c37a776477f6d6c82b95ef3f0c39677480bd3755","path":"shipping/license_audit.json"},{"blob":"e1b3c69c179dfaff5744ea4bf853e6b0d90c9ef9","path":"shipping/licenses/libgomp/COPYING.RUNTIME"},{"blob":"94a9ed024d3859793618152ea559a168bbcbb5e2","path":"shipping/licenses/libgomp/COPYING3"},{"blob":"3b3006510641f79fe826d03cc28e5f1dc3aa79ac","path":"shipping/measurement_surface.json"},{"blob":"964214efea371aaa886fafb2efcaaf9d44089e57","path":"shipping/n03_operator_pin.json"},{"blob":"c1f8b3a045cbf90f60daa796d8b5342fdea84136","path":"shipping/package/install.sh"},{"blob":"16ac32c923207bb0c74882466b339210dea5c8b8","path":"shipping/src/detector_host.cpp"},{"blob":"586d4a1b5b93966aabbbb945b3758fb61c16c323","path":"shipping/src/detector_plan.cpp"},{"blob":"bb2339029adf2e38a21fb1333d4be13e2c6defef","path":"shipping/src/detector_s2.cu"},{"blob":"95daeb28bebd1da27fb0816a608b2eb55e389335","path":"shipping/src/double_buffer_runtime.cpp"},{"blob":"a91b47f2fe02703be11a4dec094e11363dddc2e2","path":"shipping/src/head_admission.cpp"},{"blob":"46e6caabac3526e2703c234ffc4f6b577390da3b","path":"shipping/src/ingest_host.cpp"},{"blob":"0ef70fc656670e29f521a3a4cb572100f47f679d","path":"shipping/src/ingest_normalize.cu"},{"blob":"f319967dbf5acbb40214540c64bc4ed6bb9f1f55","path":"shipping/src/ingest_plan.cpp"},{"blob":"d0fd1355a8d49cb61cd25a118b6b1b667e25ebf7","path":"shipping/src/loader_audit.c"},{"blob":"ac7ad795a1e6172e0c05ab42e682465fa4d28e47","path":"shipping/src/model_bundle.cpp"},{"blob":"c0068bc90f346d4071484167c57b5736b53884d2","path":"shipping/src/model_compatibility.cpp"},{"blob":"958b70d4b75ddffef60b8787245e810452d256a2","path":"shipping/src/mot_output.cpp"},{"blob":"0423ebd00b5cd12a0210f51ae8f7ad8e1d517beb","path":"shipping/src/n03_admission.cpp"},{"blob":"2794aab8c000b9b73b7a3b06cfaea64b65649107","path":"shipping/src/native_build.cpp"},{"blob":"c5ccdc30f46aec386208e58c72ca0a7737e31b14","path":"shipping/src/native_config.cpp"},{"blob":"86e17b63a6db26bf671f4fbdf69341be1d2826ce","path":"shipping/src/native_runtime_build.cpp"},{"blob":"5c733708ab23d1f7fc7f986fce95768c249c4d3d","path":"shipping/src/operator_loader.cpp"},{"blob":"da964788d7ef1d31ffbbaf7096b7c46f05a65655","path":"shipping/src/post_detector_host.cpp"},{"blob":"63f0bdbcf16005851235c7d6ba022b64ce14b7c0","path":"shipping/src/post_detector_plan.cpp"},{"blob":"fddf40601d58ccbd7e0d111d9c7b37bd53d37ae6","path":"shipping/src/preflight.cpp"},{"blob":"2d45408a4961b8873962bc3deb8bf1d73bc117a9","path":"shipping/src/resolved_config.cpp"},{"blob":"1663379dd814cecd02d21830b315a92b6c2c15cd","path":"shipping/src/run_completion.cpp"},{"blob":"0b4b58f46aea349017f4def546993f1ff433efb0","path":"shipping/src/schedule_plan.cpp"},{"blob":"e6b37b02faac164f0320c85ac565ca84a2d620d0","path":"shipping/src/sequence_output.cpp"},{"blob":"322f3a3ceab1340cbd53bf98edbcd1b3d6ecd0bd","path":"shipping/src/serial_runtime.cpp"},{"blob":"4875e9d74539baabd597ab7d4f92003902cdf36d","path":"shipping/src/sha256.cpp"},{"blob":"69967715e1e3e6b14355f150d56fd4802583e040","path":"shipping/src/strict_json.cpp"},{"blob":"ef98379f0b78d06e7c10ce2eb431267da22d3b21","path":"shipping/src/verified_model_bytes.cpp"},{"blob":"7ced2f1791af4db518e9da686fbbf0915f786103","path":"shipping/third_party_set.json"},{"blob":"e6ed879752e6653491001db12eee84a5efa77b73","path":"shipping/tools/saccade_detector_probe.cpp"},{"blob":"39c3c9f15e79ca24c0ea8b1a9b7467cf3e54741e","path":"shipping/tools/saccade_ingest_probe.cpp"},{"blob":"160c19cf2da4bca7950363186a58818ceebd3e31","path":"shipping/tools/saccade_n03_admission.cpp"},{"blob":"2ba6e5a62a499560fcc655e699fb455a98b6d0d8","path":"shipping/tools/saccade_replay.cpp"},{"blob":"a1503f8d0b0720790fb72dfabe3baf2422a5dac2","path":"shipping/tools/saccade_track.cpp"},{"blob":"0860adc89d217e28bb86aac8209613b947d90712","path":"shipping/tools/saccade_track_measurement.cpp"},{"blob":"2f92c10ceea09469922cf573f436d1b78bffff9a","path":"shipping/tools/track_driver.hpp"},{"blob":"e68665141c04b83512629961cf5a4279eddd5226","path":"shipping/trusted_model_bundles.json"},{"blob":"4cb9f4c509d135e46d40c980de43a47508fee954","path":"src/main.cpp"},{"blob":"7d809002806364433b0b8085aa7126f2fac2ee69","path":"src/media/buffer_pool.cpp"},{"blob":"3dd7ab06be3866932f0a20b20366a23de92e4c60","path":"src/media/gst_client.cpp"},{"blob":"c984ed0ca370bfae3ddb5dbf68c0d36d5a483436","path":"src/media/gst_client_python.cpp"},{"blob":"19f230f82f4839c40797fc3ed6834be1af1685e9","path":"src/perception/batched_mamba_detector.cpp"},{"blob":"a936e56b7aab10f769ce3bd901f927779c341e06","path":"src/perception/feature_extractor.cpp"},{"blob":"50b1cbcd3daf3dd903eb979d17a154078aca5e41","path":"src/perception/letterbox_kernel.cu"},{"blob":"1fdf7f3e0593f5d8f81e44695232d5e65ee87940","path":"src/perception/mamba_gated_detector.cpp"},{"blob":"5932974e97dc79f3f9110593bdf623b6061ab82f","path":"src/perception/nv12_kernel.cu"},{"blob":"b955e25187d744ce85f011043fdebf12ef1fc4f0","path":"src/perception/perception_python.cpp"},{"blob":"7297c0ce8778f2e4d11235a87f226969bbc20ac3","path":"src/perception/preprocessor.cpp"},{"blob":"715dda7f8796711e6b12738a2225f55836b40361","path":"src/perception/preprocessor_cpu.cpp"},{"blob":"b2267c21e7863f51f2a7781a66517fedd3ac58fd","path":"src/perception/preprocessor_gpu.cu"},{"blob":"13c42dbdca45dc60c9728b009e4b9601196eddfd","path":"src/perception/rgb_to_nv12_kernel.cu"},{"blob":"c3c301f6fc89aae645fc1eb522c56a0811e8d878","path":"src/perception/trt_engine.cpp"},{"blob":"b7c2660b0ebc692d20d9dfae9861b453d6ace41f","path":"src/saccade/__init__.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/api/__init__.py"},{"blob":"bc282b6266b65b8c8d2a902b3ee04123dc2decdd","path":"src/saccade/api/server.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/cognition/__init__.py"},{"blob":"56d9caf43d07e442bd7fcb4b3567bfb44cc6ced7","path":"src/saccade/cognition/orchestrator.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/media/__init__.py"},{"blob":"a6584d83abee4eaf0a59adbb178d2989504b4815","path":"src/saccade/media/dali_pipeline.py"},{"blob":"0ec47d9ab3bcd12732dad06f0e9b2431549da126","path":"src/saccade/media/ffmpeg_utils.py"},{"blob":"a467bd1b77d0a58e3f8e0ca0c3a8d93a18e65969","path":"src/saccade/media/mediamtx_client.py"},{"blob":"46473fb63c8b0c7fdb1022d0bb8b8d8cbd5c6e19","path":"src/saccade/media/rtsp.py"},{"blob":"61c23068f45cde4d9a4e2244b30d8dafb18c76f3","path":"src/saccade/media/rtsp_dali_pipeline.py"},{"blob":"b1e62e9e2aa48221749b6979aeeb306f5f67e1ca","path":"src/saccade/paths.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/perception/__init__.py"},{"blob":"e32c30eecc18453bd5ac495a12716a522332f35f","path":"src/saccade/perception/box_ops.py"},{"blob":"54a205a87d561417f6e45364699ab26860569977","path":"src/saccade/perception/calibrator.py"},{"blob":"28a713e377001a61c45562acc944597141157936","path":"src/saccade/perception/cropper.py"},{"blob":"c837e5d78c38c4473b75ebd768a2052fa52735c3","path":"src/saccade/perception/detector_trt.py"},{"blob":"6cd72ec052acfd8c929842f5ee6a2178dd4db041","path":"src/saccade/perception/dispatcher.py"},{"blob":"19f486eecf128bf8285f1b7b25e8894c4fcbc68b","path":"src/saccade/perception/drift_handler.py"},{"blob":"46eba185ea01d963570c952e7fabab51b862d47e","path":"src/saccade/perception/embedding_dispatcher.py"},{"blob":"d0e491d639e8d866bed9c6c27b8a1ad8f61c7bcc","path":"src/saccade/perception/entropy.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/perception/eval/__init__.py"},{"blob":"73084098ba036d9b190fccae429a36293429cbbc","path":"src/saccade/perception/eval/_cuda/r1_bridge_replay.cu"},{"blob":"42b1d67fc2b5148fd8ea8a070b73788c65915b15","path":"src/saccade/perception/eval/_decimal_hash_tools.py"},{"blob":"c23172f7aff0254e4f0f163fb2e6e355cbaec5f4","path":"src/saccade/perception/eval/_torch_graphs.LICENSE"},{"blob":"f1851d56a5bc364dae0edef54d4776a52ed1d23a","path":"src/saccade/perception/eval/_torch_graphs.py"},{"blob":"a3c88af5c2a92c5ae6e09ff7713a3fdbe6084909","path":"src/saccade/perception/eval/assoc_basis.py"},{"blob":"53ee226db12b93d0c25f6addaed1a468d0d9f69f","path":"src/saccade/perception/eval/assoc_stats_env.py"},{"blob":"6ab3b329844d365bb5b24a666b7931da9159e127","path":"src/saccade/perception/eval/cheb_gr_merge.py"},{"blob":"ef20314fac725682eccb6d4ad2e2ff8e79e5e429","path":"src/saccade/perception/eval/cheb_gr_online.py"},{"blob":"b1d82e9c44110e362cd8d41a319c0c26f73247c0","path":"src/saccade/perception/eval/clean_fifo_bank.py"},{"blob":"f411fed46e999afa4f357418a6992e46b42c7f94","path":"src/saccade/perception/eval/concurrent_detector.py"},{"blob":"a42896292f830644036378c78387e5ba980e5acc","path":"src/saccade/perception/eval/concurrent_evaluator.py"},{"blob":"2fe72adaa2ba3500f26a14f01159ac0e8e3075fb","path":"src/saccade/perception/eval/config.py"},{"blob":"6fec2225bbf1d9c76d868c884e04bc5a77223fe0","path":"src/saccade/perception/eval/consumer_a_bridge_fidelity.py"},{"blob":"ad8af1a5c5026957fe641e4af35eb496d978174d","path":"src/saccade/perception/eval/cpp_runner.py"},{"blob":"d3c591481260ed67811cc5bc35c7ade3b4778e9d","path":"src/saccade/perception/eval/cuda_capture.py"},{"blob":"8ffe02359dbd4cd1dca53941311c7c3e69a8beb7","path":"src/saccade/perception/eval/d_online_stage2.py"},{"blob":"86373b7e8973fb90043b506a2e55495d925755fa","path":"src/saccade/perception/eval/d_online_stage2_q4.py"},{"blob":"2f28d31eb82c17fc5b26751ff3baf8d23daf6991","path":"src/saccade/perception/eval/d_online_stage2_q45_atlas.py"},{"blob":"99c586824ccd5ff5bb58e11f4c47c856e84731f0","path":"src/saccade/perception/eval/decimal_hash.py"},{"blob":"fd7a9cc081346a8b42995f0f313bc8d84ae2256d","path":"src/saccade/perception/eval/detection.py"},{"blob":"d941d7676bed5a5ba51cf260e47d33bf8e2c3d0c","path":"src/saccade/perception/eval/detection_filters.py"},{"blob":"fdfd11a27852cd15790842c029302ec2544164d3","path":"src/saccade/perception/eval/evaluator.py"},{"blob":"47b542a1cce7af3853bb53620f31eb220182b52a","path":"src/saccade/perception/eval/external_fp_model.py"},{"blob":"f35748488b0635d9b57935fba1034512536c2f38","path":"src/saccade/perception/eval/external_fp_rows.py"},{"blob":"99b9982228a1aba9cc56b668f528bb0964a44729","path":"src/saccade/perception/eval/frame_ledger.py"},{"blob":"354843565983f8909417bf0041691d9b4972aaf7","path":"src/saccade/perception/eval/gmc.py"},{"blob":"056a835fd4a5651137b1d3bca6b4c6ec9ed027c4","path":"src/saccade/perception/eval/helpers.py"},{"blob":"e69358966e65e9000e2e99d9495f2b8e6090024a","path":"src/saccade/perception/eval/lifecycle.py"},{"blob":"c2405b343f7882ae6cf9613baefde74f86cf479a","path":"src/saccade/perception/eval/metrics.py"},{"blob":"13baca13eafdf3eb966b06a36066c82ba755238b","path":"src/saccade/perception/eval/motion_model.py"},{"blob":"9750eeb5b93b758bc9431263ac3f3ed46dbb2d1a","path":"src/saccade/perception/eval/motr_evaluator.py"},{"blob":"2c357c8d06977b484963132e46563412f06536bb","path":"src/saccade/perception/eval/motr_model.py"},{"blob":"27eb842ceb481444826d45391a71f6090b58adaf","path":"src/saccade/perception/eval/multi_birth.py"},{"blob":"2fe8d500a35602cb4ce6de4e57498908bb7b5747","path":"src/saccade/perception/eval/multi_stream.py"},{"blob":"42624727154dbb791b556c481fe0a016d2b9a3d6","path":"src/saccade/perception/eval/occ_audit.py"},{"blob":"6395b8502a638dc266754e79a7a15385e82e56b0","path":"src/saccade/perception/eval/occ_audit_seq_conditioning.py"},{"blob":"e28bb3543f644e5e87a66973200cb28dc35e4f71","path":"src/saccade/perception/eval/output_bank.py"},{"blob":"f05716d9091e5b80df3d22000f2e99177c55048e","path":"src/saccade/perception/eval/patch_concurrent.py"},{"blob":"eb4c7a8c7381092926e68c0657cb94a8522dd38d","path":"src/saccade/perception/eval/pipeline.py"},{"blob":"153334e9ed77c2c15e7374c31da7a0a91f940316","path":"src/saccade/perception/eval/pool.py"},{"blob":"1ae1b4bce16eaebfbc66102cb8160fd0d33d18b4","path":"src/saccade/perception/eval/portable_or_tail.py"},{"blob":"70944d9bbd11866bc5149caa0f7d7dbb35b1ca53","path":"src/saccade/perception/eval/post_merge.py"},{"blob":"6a93d1b257241ac255d69c999baa93310a18d7cb","path":"src/saccade/perception/eval/preprocess.py"},{"blob":"7e61ff44262265717b6706c37dc4db4f184df243","path":"src/saccade/perception/eval/quality.py"},{"blob":"465eec147aac9234407bfdcbbec8100f9c6a769e","path":"src/saccade/perception/eval/relink.py"},{"blob":"54dfe270cf14183576c80b226b50d16ce18e8fb7","path":"src/saccade/perception/eval/reporting.py"},{"blob":"fa9d71052185855a7d9ef89f43344989456ef762","path":"src/saccade/perception/eval/runner.py"},{"blob":"0f2fd9fb53fa5aa3fafa3de9e4ba61aec10dd9d0","path":"src/saccade/perception/eval/safe_region_assetization_r1.py"},{"blob":"fc59033b995e68ce4ecfcaecc980dcb4d26629e3","path":"src/saccade/perception/eval/safe_region_assetization_r11.py"},{"blob":"00c8787f42c89aeb1358955279da0d3c82f6eb16","path":"src/saccade/perception/eval/scene_adapt.py"},{"blob":"7bb1554fb72f213610ff1373b419191fb042f681","path":"src/saccade/perception/eval/sequence_launcher.py"},{"blob":"1aa36ce8b0c0b35afb1ca031fe760eeeac9b0b30","path":"src/saccade/perception/eval/sequence_selection.py"},{"blob":"f61648ed4db7828e569dce5d6daa0d0159233d1b","path":"src/saccade/perception/eval/signal_tables.py"},{"blob":"7122d6ec6a221286219ccd8168a9bbd8feadbcee","path":"src/saccade/perception/eval/stages.py"},{"blob":"1df1531f8580af790bb1ad425e652c0e2b7a0086","path":"src/saccade/perception/eval/streaming.py"},{"blob":"a5fb3f54b0c98fbf53cfb6c24116a31f12cc43d1","path":"src/saccade/perception/eval/streaming_handover.py"},{"blob":"03fc7c4f66c5e42bed9de2fcdbcc4c564cb11cfd","path":"src/saccade/perception/eval/tracking.py"},{"blob":"2c5a9c68fe172feefbf789c72bb2c3168a4632a1","path":"src/saccade/perception/eval/types.py"},{"blob":"406ce830ca114ebae059abd680b5bb7926dd353d","path":"src/saccade/perception/eval/utils.py"},{"blob":"b2c905f80a7db413e00cd109c0f2e264af752c23","path":"src/saccade/perception/feature_bank.py"},{"blob":"066d6446c1ec02131c6ac06af02e45bcad2038c5","path":"src/saccade/perception/feature_extractor.py"},{"blob":"4b36cede90da7caa6a7235fbfaabde5b14f4337f","path":"src/saccade/perception/multistream_mamba_server.py"},{"blob":"fa26d7446f46b3d15ca931dcee2a5ad1650b64db","path":"src/saccade/perception/online_telemetry.py"},{"blob":"a1fea072a0f0931e7058b71b8987b10e6f643c08","path":"src/saccade/perception/online_tracker_adapter.py"},{"blob":"917d6d8ce53256ccf82826ee6019365d22e74405","path":"src/saccade/perception/reid/__init__.py"},{"blob":"88e59fae5b8e65b9fccac1e765d3a79d5f9b844e","path":"src/saccade/perception/reid/cheb_gr.py"},{"blob":"cca038dd338735fd60444370af0e5c84083ad06b","path":"src/saccade/perception/roi_selector.py"},{"blob":"87ac48f84c468b42a5b189246f55ba4c838c0eaa","path":"src/saccade/perception/temporal_yolo/__init__.py"},{"blob":"595cbcac84aba0e1ec5ecaa47db18d20c2ab5907","path":"src/saccade/perception/temporal_yolo/box_utils.py"},{"blob":"736633d955751b3534f81de7012cd18d04d3f639","path":"src/saccade/perception/temporal_yolo/data_pipeline.py"},{"blob":"adc443478cb434c5be524b63b5cca9d2dc2dc53d","path":"src/saccade/perception/temporal_yolo/dataset.py"},{"blob":"1225f2e246208612787dac62262eb1d6710de6ab","path":"src/saccade/perception/temporal_yolo/dataset_joint.py"},{"blob":"243ce87da9761959c3fc8a3115f1fb7294ffe99d","path":"src/saccade/perception/temporal_yolo/evaluator.py"},{"blob":"b436c303c6c189a45c3bb9f96e88695c043cdb3e","path":"src/saccade/perception/temporal_yolo/loss.py"},{"blob":"a38f66f077764663532cd58ef3c6db288ac882dc","path":"src/saccade/perception/temporal_yolo/mamba_gated_detector.py"},{"blob":"ddd4524c9b106c79a82f578495db42e9aec0a651","path":"src/saccade/perception/temporal_yolo/mamba_head.py"},{"blob":"86823dc06dd39249d29fae0cee360e3154a8a5de","path":"src/saccade/perception/temporal_yolo/model.py"},{"blob":"52ef79413716ddf259177800954a5df6341c716f","path":"src/saccade/perception/temporal_yolo/ngla_assigner.py"},{"blob":"b10421a3d69a437af6ab29f691ec08c41c88a3aa","path":"src/saccade/perception/temporal_yolo/reid_conv_head.py"},{"blob":"f1e9e7b82a02e23a8a68be7085daf48256dfc741","path":"src/saccade/perception/temporal_yolo/reid_head.py"},{"blob":"9c77952230461c96f7056e4a69721a9a283ee781","path":"src/saccade/perception/temporal_yolo/roi_embedder.py"},{"blob":"c38ba1436d496e610c4cac9b01c58c64d49c3fb2","path":"src/saccade/perception/temporal_yolo/teacher_head_detector.py"},{"blob":"a526e982c92cb8ea45f1704b5eaa1823d6a07081","path":"src/saccade/perception/temporal_yolo/temporal_fusion.py"},{"blob":"b2f633b699b741c1274188e8eecac303ad308726","path":"src/saccade/perception/temporal_yolo/train_config.py"},{"blob":"fa7ad4a534eea61d30131006694e8b13a676a6d3","path":"src/saccade/perception/temporal_yolo/training_utils.py"},{"blob":"965146dffd03830e4745e1fb4d8e1f9451b63a7c","path":"src/saccade/perception/temporal_yolo/yolo_conditioned.py"},{"blob":"f5eb48ec6b9406408391c1e993637eaea08dc88f","path":"src/saccade/perception/temporal_yolo/yolo_gated_detector.py"},{"blob":"63e54ad4e0d521636aacb1d57b40fc195de013c6","path":"src/saccade/perception/temporal_yolo/yolo_joint.py"},{"blob":"8c15ab2105bb4e9b7add35a00841dac057243631","path":"src/saccade/perception/text_encoder.py"},{"blob":"af4dcac88096ed2ff31ca02fc58ef235dba20d1e","path":"src/saccade/perception/tracking/__init__.py"},{"blob":"a4eba99ac6e87c59248039f761b24237fcd7d136","path":"src/saccade/perception/tracking/dynamic_reid.py"},{"blob":"8d2bbde434b57a5eac865286ffa769511f85fc49","path":"src/saccade/perception/tracking/fpn_reid.py"},{"blob":"51583421cde091288ecdbf2ad49fa530486c8796","path":"src/saccade/perception/tracking/fpn_reid_cuda.py"},{"blob":"1db62e03fb18e8b48f449fedb287e4f68eaa0f66","path":"src/saccade/perception/tracking/reorder.py"},{"blob":"74250709a91e25f0162a8c1cde7ee32d8b06ebe2","path":"src/saccade/perception/tracking/tracker_gpu.py"},{"blob":"300b4860656823e644363f691e52ec181f5198be","path":"src/saccade/perception/workbench.py"},{"blob":"6d531773b0bd6059d7a0a505d1807e659e6ad4ad","path":"src/saccade/perception/zero_copy.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/pipeline/__init__.py"},{"blob":"468400a353831fd922386bc6fa2999e27fc94617","path":"src/saccade/pipeline/health.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/resource/__init__.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/resource/frame_selector.py"},{"blob":"21c35a9f3307e263ed73d5bcdbbdce87e4936e44","path":"src/saccade/resource/resource_manager.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/storage/__init__.py"},{"blob":"0237ce4d7de6b575ac25012693ca906506997d26","path":"src/saccade/storage/chroma_store.py"},{"blob":"3a68c95ff137e00d92feb7f1592215162458b6fb","path":"src/saccade/storage/redis_cache.py"},{"blob":"98623924f5898b5481cec2f24ca15c2f9d832a91","path":"src/tracking/CMakeLists.txt"},{"blob":"9031e1c2fef20cc0d2f6a9187c466ac5f66f68bb","path":"src/tracking/cheb_gr_kreciprocal.cpp"},{"blob":"23858b740a58a047dc89df56f458fab4a8b6e7d1","path":"src/tracking/cheb_gr_online.cpp"},{"blob":"f2a66e7c8d6d295497de0e54143fa36383f8f859","path":"src/tracking/cheb_gr_online_python.cpp"},{"blob":"32ecf325e53c726d6cd03d4f837a22bdeeab9efa","path":"src/tracking/copy_pad.cu"},{"blob":"c4401d30c2716c7885896a40c72fa98ca9bc189e","path":"src/tracking/crop_pool.cpp"},{"blob":"bdb078b113116a07471e750e334a4445609566b5","path":"src/tracking/crop_ring_store.cpp"},{"blob":"55842d780f9974a0643bc964e9c08af6a3207d3d","path":"src/tracking/dynamic_reid_controller.cpp"},{"blob":"20e53b17d5782fd7e78c50035501c137be0554ce","path":"src/tracking/eval_pool.cpp"},{"blob":"3e15c1c2d16e0700e16284b495aee2ec8c2ec862","path":"src/tracking/eval_python.cpp"},{"blob":"df349e026d715175023f3f956badf3fa6a726a88","path":"src/tracking/fpn_reid_binding.cpp"},{"blob":"9ad815f6b5053202a87b3af31f3bf54b0ba9c75f","path":"src/tracking/fpn_reid_cuda.cu"},{"blob":"f574aa28b2ad08718f90f846e6db2539baec0c45","path":"src/tracking/frame_buffer.cpp"},{"blob":"cddf5768adb5ccf60110baab80b651072ea5b2e3","path":"src/tracking/gmc.cpp"},{"blob":"e6da03d554cb38fe0d53ce0f6e49d59281549dc5","path":"src/tracking/gmc_cpu.cpp"},{"blob":"9ff6dc1b90b10a266cec9b9d51f114607d7399a5","path":"src/tracking/gmc_kernel.cu"},{"blob":"a52af391ddea2ebc1ed45860d27b6e723b5de2c0","path":"src/tracking/legacy_env.cpp"},{"blob":"47673abaed43d5ca4611f5dd5197280a0aa38135","path":"src/tracking/mamba_scan.cu"},{"blob":"cd2d4e06b64b7c1e356098c06c7b98bbde2ca452","path":"src/tracking/mamba_scan_plugin.cpp"},{"blob":"6b19e9a359fd04f344b92e7d2c596fea4fcbb505","path":"src/tracking/mamba_scan_torchop.cpp"},{"blob":"762d9859825e8ef855cc3ca0d27862483e07af6f","path":"src/tracking/multi_signal_birth_pool.cu"},{"blob":"f1b67945ec9c2b92ce859589c0f52ec554da964f","path":"src/tracking/pipeline.cpp"},{"blob":"cb7cfcd537d35f4b546f4a6f38e21e093a8e5f20","path":"src/tracking/private_workload_stats.cu"},{"blob":"07381c76eece226a68d557d51a8ed41b54756602","path":"src/tracking/quality_filter.cu"},{"blob":"e3683966dd6eaecf702ec5d87a2ab85d5478b8ef","path":"src/tracking/reid_queue.cpp"},{"blob":"33f468b025e4eb67131aa93027c4de6c19e34413","path":"src/tracking/relink_gate.cu"},{"blob":"f720c3e185934a805fccd3330214f598450df06f","path":"src/tracking/seq_runner.cpp"},{"blob":"b766afef10deb1c51db823382f5e8fa3d5d72a84","path":"src/tracking/temporal_birth_pool.cu"},{"blob":"8792876da168b1041a3623341b18be40a7328366","path":"src/tracking/tracker_gpu.cu"},{"blob":"9650840e18faca136d08a14709a3cfea24d86092","path":"src/tracking/tracker_gpu_python.cpp"},{"blob":"112604dbc35922a2ee4eb1320a67235a1ceefdb6","path":"src/tracking/tracker_params.cpp"},{"blob":"515aca9f82df52e5f642d800e8455a6a19b10f87","path":"src/tracking/workbench.cpp"}]},"runtime_inputs":{"digest":"0b839df0b89141959a4ae4762c727d446a2292016832ab468ce48334fff1a3d5","identity_fixture":{"digest":"a5e12d77b362ee9d64580336cb21f79808383a8a50f384eb0c60880b658f086e","file_count":1053,"sequence":"MOT17-09-SDP"},"measurement_fixture":{"digest":"6a3e44f03d2fcebbef7dd75a0f9b614dae93cc5a338e0dc3ce1aeab76b75833c","file_count":10653,"sequences":[{"file_count":1203,"sequence":"MOT17-02-SDP"},{"file_count":2103,"sequence":"MOT17-04-SDP"},{"file_count":1677,"sequence":"MOT17-05-SDP"},{"file_count":1053,"sequence":"MOT17-09-SDP"},{"file_count":1311,"sequence":"MOT17-10-SDP"},{"file_count":1803,"sequence":"MOT17-11-SDP"},{"file_count":1503,"sequence":"MOT17-13-SDP"}]},"runtime_assets":{"digest":"50e032e3b4d1e7b25bb7b78c13b4a219fa23ab0a071d947608b34c3d83bc9277","file_count":5},"third_party_runtime":{"digest":"f458583b30a32cc63c00dfed3403154a4c7226d8fbf8a3dff52ada3e0c14f55a","file_count":45}}},"coordinate":{"decision_surface":"9b7faeb0f76a43483a924ac4028361bb155373027e9fe44e4cffbd5f1a2b0369","environment":"0afea37b29c742e2c361ae748435ac09f0c63edb7b930da2b5a6e1cbdde62465","identity_semantics":"7a5a4ee69f78b0851e0fc2d86dfa72ecbcd31f9dd1602b0531048eb25b9f5169","implementation":"11263f7cae3f8bced7974efb68d9bd8af8dd4b805a52ee88aacf07595f0ff51a","runtime_inputs":"0b839df0b89141959a4ae4762c727d446a2292016832ab468ce48334fff1a3d5"},"equivalence":{"note":"Probe equality is not measurement-domain equivalence. A future accepted proof requires a versioned verifier and full declared scope.","proof":null,"state":"unproven"},"probe":{"build_witness":{"artifacts":[{"coordinate":"libsaccade_scan_plugin.so","length":122864,"path":"/home/ray/developer/ai/saccade-worktrees/537-runtime-monitor/build/runtime_identity/libsaccade_scan_plugin.so","role":"tensorrt_scan_plugin","sha256":"d7182ddaf213a0363ff24e9ca98171582667b6e6663a213f4b643c3a0ccdaae7"},{"coordinate":"saccade_tracking_ext.cpython-312-x86_64-linux-gnu.so","length":4140600,"path":"/home/ray/developer/ai/saccade-worktrees/537-runtime-monitor/build/runtime_identity/saccade_tracking_ext.cpython-312-x86_64-linux-gnu.so","role":"tracking_extension","sha256":"66cc7a2fa8d5ba9e889bcec6bb080a8f303244431f3a92b1e67672934749c2e0"}],"build_dir":"/home/ray/developer/ai/saccade-worktrees/537-runtime-monitor/build/runtime_identity","digest":"5b261e81db3493a828e52b56b56387e5feba2df8e2c434777ba6463d4fbaecf0","schema":"h2_build_witness_v1"},"determinism_pinned":true,"digest":"2dabed0bc05e3bc75ec2115b3213f5c0b1aed3e837c22dd2325109339e4719b5","kind":"identity_probe","mode":"identity","preset":"configs/presets/mamba_whole_graph_m.yaml","recorder_sha256":"9f454c2d005d8d6eff03109e18be82ae12896ec50fad3546f7a3937e286657c3","repeats":1,"resolved_fingerprint":"c7a6dbb35168cba75249b7f2c67d8455b6f634732493e455a4bb920aab6d7782","schema":"h2_behavior_probe_result_v1","sequence":"MOT17-09-SDP","state":"computed","sufficiency":"fixture_change_detector_only"},"publication_complete":true,"schema":"h2_runtime_coordinate_probe_v1","witness":{"head":"58a8fc765ac9ba017bc8529861e41da1c2451b3b","note":"HEAD/tree are navigation witness. The coordinate digests working-tree content; the Layer-P certificate additionally requires a selected base.","tree":"eaf38bcf8a44d9d5f59f3b195b812dff31d7cc8a","worktree_dirty":false}} +{"axes":{"decision_surface":{"digest":"9b7faeb0f76a43483a924ac4028361bb155373027e9fe44e4cffbd5f1a2b0369","parameter_count":413,"preset":"configs/presets/mamba_whole_graph_m.yaml","resolved_bridge_policy_config_v1":"c7a6dbb35168cba75249b7f2c67d8455b6f634732493e455a4bb920aab6d7782"},"environment":{"digest":"0afea37b29c742e2c361ae748435ac09f0c63edb7b930da2b5a6e1cbdde62465","recipe":[{"blob":"908545c16f68158d864cf874d296077604b9f8a6","path":"CMakeLists.txt"},{"blob":"94081f964ebba44ee5e1203f1c215512a7999a83","path":"pyproject.toml"},{"blob":"c389fd976674aa1173e64143bd27dcd3f1977c9f","path":"uv.lock"}],"toolchain":{"available":true,"cuda_compiled":"13.0","cudnn":91900,"device_capability":[12,0],"driver_device_count":1,"tensorrt":"10.16.1.11","torch":"2.11.0+cu130"}},"identity_semantics":{"digest":"7a5a4ee69f78b0851e0fc2d86dfa72ecbcd31f9dd1602b0531048eb25b9f5169","file_count":27,"files":[{"blob":"4de9ea2af092f94f57f6f65dfdd1cf64c664f6d9","path":".github/workflows/runtime_identity.yml"},{"blob":"f0cb5e802e7a3d4957426829138c864c09764b3f","path":"docs/modules/semantic/research/headline_bridge_behavioral_identity_capture_declaration_20260725.policy.yaml"},{"blob":"9243fd1051f71a17d414f0f0c81a434000b12e01","path":"docs/research/contracts/h2_execution_result_v1.json"},{"blob":"e1e92bcca189f48f934952e6356c5b48ebba8f0f","path":"docs/research/contracts/h2_execution_result_v2.json"},{"blob":"4cea9efadebdacab6b360aed0acd1073e75d9ea8","path":"docs/research/contracts/h2_execution_verification_v1.json"},{"blob":"8d85d41697b47f1c2feabdae5cdf0d60a26a8bb0","path":"docs/research/contracts/h2_execution_verification_v2.json"},{"blob":"251466c8cf4e73540bd1a7f8dca4235530d6778f","path":"docs/research/contracts/h2_import_witness_v1.json"},{"blob":"89414d37d9fc826bf0fed5719de26ac3a36d8f1d","path":"docs/research/contracts/h2_phase_a_authoring_profile_v1.json"},{"blob":"fcb0b1ca5249c519fc0c9030fe87f571b947037a","path":"docs/research/contracts/h2_phase_a_authoring_profile_v1.schema.json"},{"blob":"b73d80a3bfce26acea4dd68929c835f637a61f63","path":"docs/research/contracts/h2_phase_a_run_spec_authoring_decision_v1.json"},{"blob":"18f72d7d5a2b89cd54eb4c0971002eaf4e17dc71","path":"docs/research/contracts/h2_phase_a_run_spec_v1.json"},{"blob":"493fd2c990ad2fcf2693917eaa26d315e9234cb5","path":"docs/research/contracts/h2_runtime_binding_v1.json"},{"blob":"934c7ebf75b7e9f48f100a3c39e0c0a4b6f2471d","path":"docs/research/contracts/h2_successor_authorization_consumed_v1.json"},{"blob":"0b0eb644fa4f9ac722d99d02f74ed95bb4d4e984","path":"docs/research/contracts/h2_successor_authorization_request_v1.json"},{"blob":"591e85394609766b99f8afb0e104d262482daf2d","path":"docs/research/contracts/h2_successor_exactly_once_authorization_v1.json"},{"blob":"98666f7b7df2d6a78dc7bceba5c59fcd5149fe9a","path":"docs/research/contracts/h2_successor_measurement_envelope_verification_v1.json"},{"blob":"2bb92ebe6840112fff32d7a5c61e0aa6a7c70d8f","path":"docs/research/contracts/h2_successor_measurement_rehearsal_witness_v1.json"},{"blob":"1964678c569ca22c307e4e59db5f364afb848baf","path":"scripts/pre_push.sh"},{"blob":"ddaece2e0f4904cd841141938781af9e68782651","path":"scripts/tools/build_runtime_identity.py"},{"blob":"80b3f148e07259255c30c34c50075ea3cfc36a99","path":"scripts/tools/check_runtime_identity_staleness.py"},{"blob":"ddd4658595a18059a473e953a9f577f435a26cbb","path":"scripts/tools/h2_behavioral_identity.py"},{"blob":"7ee48536c89532672b3ae75ca1443e4f3ed3c6f6","path":"scripts/tools/h2_path_partition.py"},{"blob":"a97f9aeef2fbdc917ea6bc9de242e0c59a63ab68","path":"scripts/tools/h2_run_spec.py"},{"blob":"a106ddc9db2cbcaa16ed3121e1e8136560aa31a8","path":"scripts/tools/h2_runtime_inputs.py"},{"blob":"634e7b0f2d3858171dc3b390f2f2d17906953a8e","path":"scripts/tools/h2_successor_authorization.py"},{"blob":"7a9adf3f410f4fd376d0e81ed375882e20e52e05","path":"scripts/tools/h2_terminal_partition.py"},{"blob":"d8caa1ec73f90a1cbe2336ae900669f0c35e11a2","path":"scripts/tools/run_h2_layer_p.py"}]},"implementation":{"digest":"0cb15155f4b5d71289be550a29a677c113ec38d869620493d8a21c101aea8d8c","file_count":319,"files":[{"blob":"a973c3b92711f895bff23f79872b277640b73b81","path":"configs/presets/mamba_whole_graph_m.yaml"},{"blob":"616617cce98036d78e7dc5663315c8b80a305c03","path":"configs/shipping/mamba_head_realization.attestation.json"},{"blob":"ce29938cd12ae96d7003803b465faefcb4756d4b","path":"configs/shipping/mamba_whole_graph.resolved.json"},{"blob":"b1a389a5a841883ea4c7243701bb1f9b7eb299ef","path":"include/media/buffer_pool.hpp"},{"blob":"acf9889e0dc15b254d947bb08fbf2c007d01f7f0","path":"include/media/gst_client.hpp"},{"blob":"f31c440208388ec077d72827865ac1f431bfdb1c","path":"include/perception/base_detector.hpp"},{"blob":"9cff4307d69a57e1795006d818cba1ede378d63e","path":"include/perception/batched_mamba_detector.hpp"},{"blob":"7258100abda8907c0b94cc055be4b120d91e4928","path":"include/perception/feature_extractor.hpp"},{"blob":"2a11d3e5cea285f107ab5d3fb9606fb17d91cebc","path":"include/perception/mamba_gated_detector.hpp"},{"blob":"93ca52c9c03fb9aa11160ae8c04a2e1564b30778","path":"include/perception/preprocessor.hpp"},{"blob":"2b5531082a76c2ab9bad33abecfb03d1f69cf009","path":"include/perception/trt_engine.hpp"},{"blob":"f1f4a912460d56ad3df97500751c63344eabb7ad","path":"include/saccade/common.hpp"},{"blob":"be22227f3bb8455afc14d0e85752aa9f17dbf704","path":"include/saccade/env_flag.hpp"},{"blob":"64699ffe4f04e38be3dc952baa6841ada9aef4db","path":"include/tracking/auction.hpp"},{"blob":"1936fd22087e787fd73f4eff39d4d77a5a882d2a","path":"include/tracking/box_ops.hpp"},{"blob":"9baee844184f9e111915c81992d3e3b2f0d784cb","path":"include/tracking/cheb_gr_kreciprocal.hpp"},{"blob":"dff8ab2de30f35fd0aa60d3da60bfd738ebfe664","path":"include/tracking/cheb_gr_online.hpp"},{"blob":"139fef6018534549e9b81e6dc3c7b75346bc690c","path":"include/tracking/copy_pad.cuh"},{"blob":"ee1f6c2c8ae9476f7faf8cc98bb0e63e14938f73","path":"include/tracking/crop_pool.hpp"},{"blob":"677d6b2e2c3d85282d0b6ad39c9d37a814370910","path":"include/tracking/crop_ring_store.hpp"},{"blob":"0f8c3f352e1094532ca366a665b9e882a5d0434c","path":"include/tracking/dynamic_reid_controller.hpp"},{"blob":"8506664c6cf3a0c58b4dcc6eac216278a580682a","path":"include/tracking/eval_pool.hpp"},{"blob":"aa0d9685b742e07817d65b8d60288a69dc4bfbad","path":"include/tracking/fpn_reid_launchers.cuh"},{"blob":"a6a5fe641c684ec9cfed30b3d9f642dddc930927","path":"include/tracking/frame_buffer.hpp"},{"blob":"79ea49e16a4a83428c749dfc13369435efc8db10","path":"include/tracking/gmc.hpp"},{"blob":"6a46b8d216efdb789742927934e28946cb586416","path":"include/tracking/gmc_cpu.hpp"},{"blob":"aebcbda9edb9de3551e9eed709e661cecd958e72","path":"include/tracking/hungarian.hpp"},{"blob":"de5eb743e62642dcc9eb8935a8322dc88ed9650a","path":"include/tracking/kalman_gpu.cuh"},{"blob":"d53295d9c033da3982c85d9e30daaa2311f9efc8","path":"include/tracking/legacy_env.hpp"},{"blob":"8f51a9a9fe55b08bf1590cbe279541354c3eece3","path":"include/tracking/mamba_scan.cuh"},{"blob":"21806834afd7cd16ecf98b34504600ea5b36ebfe","path":"include/tracking/mamba_scan_plugin.hpp"},{"blob":"6aa2b1fd0cd19ab1c2e2c213ccb97664231b313b","path":"include/tracking/multi_signal_birth_pool.hpp"},{"blob":"7a8447ea76864036885ef167f4936057cffae14f","path":"include/tracking/perception_params.hpp"},{"blob":"11b857059e970dae61f68bd40ee005d4c5b34cce","path":"include/tracking/perception_reid_adapter.hpp"},{"blob":"f4dfa81393759e026e79ce8762b6a75f7601d079","path":"include/tracking/pipeline.hpp"},{"blob":"ad40cdfc9e3547cd962b45457515a2bd6e1b1f69","path":"include/tracking/private_workload_stats.hpp"},{"blob":"b540a2801d6591fb9e2a9b287b044a16239afe55","path":"include/tracking/quality_filter.cuh"},{"blob":"efdb5e25d7ecdd8efbd7bada021b228eccbb8842","path":"include/tracking/reid_backend.hpp"},{"blob":"86b6c6d8837d52d0e1660f63ca9213cf0b6fd3b6","path":"include/tracking/reid_crop_store.hpp"},{"blob":"cb1c17db13beb29ffce42cb08220c8d6748180f6","path":"include/tracking/reid_queue.hpp"},{"blob":"3e226c8a22dcf2124bf1ed089cdeb4253433cf87","path":"include/tracking/relink_gate.hpp"},{"blob":"bfcce4dea6724f3bd3072ab6356c2aaa82dba9c3","path":"include/tracking/seq_runner.hpp"},{"blob":"a1feb5dec6c5b248f3648dca497f97639d981951","path":"include/tracking/sinkhorn.hpp"},{"blob":"d9afe2b26034952f6daefd0e0bccffe297ab0fd6","path":"include/tracking/temporal_birth_pool.hpp"},{"blob":"36780224b03915d1dcad95ba19fb1715e0a35f7c","path":"include/tracking/tracker_gpu.hpp"},{"blob":"acb1602a8885afefd29f46d8c7977a200cba6ab9","path":"include/tracking/tracker_params.hpp"},{"blob":"96579079a19a2a1903738f22f229b4dc257fb869","path":"include/tracking/workbench.hpp"},{"blob":"0e7a7497e5aae4a310a3a2219ce2af2765e25d91","path":"include/utils/nvtx_range.hpp"},{"blob":"79a5ed803c7f4ae330dda46fbd86aaac614ba86e","path":"main.py"},{"blob":"eebae2fb515552b90deb0ce865afaedeb820f46c","path":"scripts/eval/config/__init__.py"},{"blob":"18184502e91e5104a7e231d8600149b9102c7498","path":"scripts/eval/config/_helpers.py"},{"blob":"b5d34a4555e4ab57ab1e337fa38d0c752a5c2a69","path":"scripts/eval/config/core.py"},{"blob":"c9605ca54c0616cd89b6f98f76f1dc75350d78ab","path":"scripts/eval/config/detection.py"},{"blob":"20e144ce28b334796fba1e04fb571ada8ab6d288","path":"scripts/eval/config/gen_golden_snapshot.py"},{"blob":"579c0c6340aa2e21264d055c603185a0db7ecc2f","path":"scripts/eval/config/geometry.py"},{"blob":"31fc7226cf16a422d25b87a7605121d144729505","path":"scripts/eval/config/lifecycle.py"},{"blob":"78b676bb5b5a0b878979091cc20c14d66b20512e","path":"scripts/eval/config/motion.py"},{"blob":"b7106e4129fa3a4d587a30e16d35bae2e70f1dd0","path":"scripts/eval/config/pipeline.py"},{"blob":"7672cb023d73faa7472e41e5d142376cbb4c7538","path":"scripts/eval/config/reid.py"},{"blob":"5598109e5cf103d6e2c45b568119cd94a30b7c5b","path":"scripts/eval/config/semantic.py"},{"blob":"6147443d1d1041d488ba4ec322e438787701a0ca","path":"scripts/eval/config/trigger.py"},{"blob":"7228c2fa5e3fd285f1e4a050e900bc4d870f15f4","path":"scripts/eval/mot17.py"},{"blob":"8a4cda0fe390eaa6cc8d5667dd97766bf81a005d","path":"scripts/eval/mot17_args.py"},{"blob":"823cd901d89d08fdb794ca8b914ae5a3e93e9e80","path":"scripts/ops/run_8stream_perception.py"},{"blob":"94275ac5c496dff5237eadea6b12853b1912d09f","path":"scripts/tools/resolved_bridge_policy_config.py"},{"blob":"87b68dab895b7df1487bdfb3b4d2b986cb953a0f","path":"shipping/CMakeLists.txt"},{"blob":"fd8c619b1b36a8b6d2e46765c622bd7de7100a2d","path":"shipping/cmake/check_link_surface.cmake"},{"blob":"bcd66a653aee00ee5a2b617d713bb9f806a87035","path":"shipping/cmake/check_n03_pin.cmake"},{"blob":"dfe3782a2b96e232fb73d97d0ce6733ab30ba6a5","path":"shipping/cmake/check_no_measurement_surface.cmake"},{"blob":"4d384e843ad18652b543ea31b4ecfe583dd0787f","path":"shipping/cmake/install_model_root.cmake"},{"blob":"ab239c38d05519efe2270149584e258fb58f53e9","path":"shipping/cmake/install_third_party.cmake"},{"blob":"167ee42ce7ec6fc26529419bc0f486d8acb5321d","path":"shipping/cmake/n03_operator_pin.cpp.in"},{"blob":"db07a3ddc833d8469c2157ad0144d415e8dc9000","path":"shipping/cmake/n03_pin.cmake"},{"blob":"ab5bdb5a4e83d93374f0bed2ee0f2508b86343a9","path":"shipping/entrypoint_pin.json"},{"blob":"7d73cb40f32a9cd4fdc410fd5d30b367cf419a03","path":"shipping/include/saccade_shipping/detector_host.hpp"},{"blob":"b146bb464f7f025b45ab1be15b73f4cc10f03bb4","path":"shipping/include/saccade_shipping/detector_plan.hpp"},{"blob":"2161ec87bd355e8fb5f6ebdb164fce25bfa20a0e","path":"shipping/include/saccade_shipping/detector_s2.hpp"},{"blob":"157a5060abb8f778a8190691c8ec26cf3686a46e","path":"shipping/include/saccade_shipping/double_buffer_runtime.hpp"},{"blob":"1494d62743fabed431bb43ee91fff860bd8ba57d","path":"shipping/include/saccade_shipping/head_admission.hpp"},{"blob":"3cbb988d15bc0323edfab19abc00b08bc8cabb62","path":"shipping/include/saccade_shipping/host_cfg_fields.inc"},{"blob":"17c77099dd70c8eb978e5f260b02e7b7d7a3a066","path":"shipping/include/saccade_shipping/ingest_host.hpp"},{"blob":"d5f1a7b287a83334ff6bd9c7149e5adc42011a66","path":"shipping/include/saccade_shipping/ingest_plan.hpp"},{"blob":"2b65cf13f303b329a0a766a49d0ec03989c5387d","path":"shipping/include/saccade_shipping/model_bundle.hpp"},{"blob":"9c0f6ea3edf7265e422c9b7a94e53887e515bedf","path":"shipping/include/saccade_shipping/model_compatibility.hpp"},{"blob":"159a577244fb24c5ad4411c13d1a1d006a9fd107","path":"shipping/include/saccade_shipping/mot_output.hpp"},{"blob":"955a6f4cadc632000af792991a9e869fda65ffb5","path":"shipping/include/saccade_shipping/n03_admission.hpp"},{"blob":"75f463a33b608f8cd1454428b50d1c436c37c201","path":"shipping/include/saccade_shipping/native_build.hpp"},{"blob":"7f46ae73ca648edd3f57ef9dc14c26e058cc78ae","path":"shipping/include/saccade_shipping/native_config.hpp"},{"blob":"2bed1c98a7a09ae78b79733c77b825024a5eb566","path":"shipping/include/saccade_shipping/native_runtime_build.hpp"},{"blob":"4cce7d227b643825295025c1a28b31c3ec292345","path":"shipping/include/saccade_shipping/operator_loader.hpp"},{"blob":"aedca6506619f81887e580ec4cbd6232099e42bc","path":"shipping/include/saccade_shipping/post_detector_host.hpp"},{"blob":"27c92962f0786fda4ca1018adfc20ab288a5a4ea","path":"shipping/include/saccade_shipping/post_detector_plan.hpp"},{"blob":"e3f6b30d30c3ed9adc9b1ff11d644a4a9ea21748","path":"shipping/include/saccade_shipping/preflight.hpp"},{"blob":"5c637f185c3831029ab3665ce9c59d0f8f906108","path":"shipping/include/saccade_shipping/resolved_config.hpp"},{"blob":"b32f7d83c77d8e3a22d1300ea66f8d220f1e554f","path":"shipping/include/saccade_shipping/run_completion.hpp"},{"blob":"15262e8f73dd389ab59723e54e918d701c98a62d","path":"shipping/include/saccade_shipping/schedule_plan.hpp"},{"blob":"b8c0c53eccc33c5461a0ad04b3bcbcc3c996d8c5","path":"shipping/include/saccade_shipping/sequence_output.hpp"},{"blob":"bad56ffa7148ff70594bcf659db80777031b57c8","path":"shipping/include/saccade_shipping/serial_runtime.hpp"},{"blob":"d38c0b20b7e548f205664bed34cb549b94fb22b1","path":"shipping/include/saccade_shipping/sha256.hpp"},{"blob":"d0291cbeb696dac528227184522e1fcf557e7d9c","path":"shipping/include/saccade_shipping/strict_json.hpp"},{"blob":"87bb38d65889c1a16d1c35fc1f6414ca13ee54bd","path":"shipping/include/saccade_shipping/verified_model_bytes.hpp"},{"blob":"c4ee3f6f71ed10a3dc42b9aa20cc8345390d2618","path":"shipping/launcher/saccade_track.sh"},{"blob":"c37a776477f6d6c82b95ef3f0c39677480bd3755","path":"shipping/license_audit.json"},{"blob":"e1b3c69c179dfaff5744ea4bf853e6b0d90c9ef9","path":"shipping/licenses/libgomp/COPYING.RUNTIME"},{"blob":"94a9ed024d3859793618152ea559a168bbcbb5e2","path":"shipping/licenses/libgomp/COPYING3"},{"blob":"3b3006510641f79fe826d03cc28e5f1dc3aa79ac","path":"shipping/measurement_surface.json"},{"blob":"964214efea371aaa886fafb2efcaaf9d44089e57","path":"shipping/n03_operator_pin.json"},{"blob":"c1f8b3a045cbf90f60daa796d8b5342fdea84136","path":"shipping/package/install.sh"},{"blob":"16ac32c923207bb0c74882466b339210dea5c8b8","path":"shipping/src/detector_host.cpp"},{"blob":"586d4a1b5b93966aabbbb945b3758fb61c16c323","path":"shipping/src/detector_plan.cpp"},{"blob":"bb2339029adf2e38a21fb1333d4be13e2c6defef","path":"shipping/src/detector_s2.cu"},{"blob":"95daeb28bebd1da27fb0816a608b2eb55e389335","path":"shipping/src/double_buffer_runtime.cpp"},{"blob":"a91b47f2fe02703be11a4dec094e11363dddc2e2","path":"shipping/src/head_admission.cpp"},{"blob":"46e6caabac3526e2703c234ffc4f6b577390da3b","path":"shipping/src/ingest_host.cpp"},{"blob":"0ef70fc656670e29f521a3a4cb572100f47f679d","path":"shipping/src/ingest_normalize.cu"},{"blob":"f319967dbf5acbb40214540c64bc4ed6bb9f1f55","path":"shipping/src/ingest_plan.cpp"},{"blob":"d0fd1355a8d49cb61cd25a118b6b1b667e25ebf7","path":"shipping/src/loader_audit.c"},{"blob":"ac7ad795a1e6172e0c05ab42e682465fa4d28e47","path":"shipping/src/model_bundle.cpp"},{"blob":"c0068bc90f346d4071484167c57b5736b53884d2","path":"shipping/src/model_compatibility.cpp"},{"blob":"958b70d4b75ddffef60b8787245e810452d256a2","path":"shipping/src/mot_output.cpp"},{"blob":"0423ebd00b5cd12a0210f51ae8f7ad8e1d517beb","path":"shipping/src/n03_admission.cpp"},{"blob":"2794aab8c000b9b73b7a3b06cfaea64b65649107","path":"shipping/src/native_build.cpp"},{"blob":"c5ccdc30f46aec386208e58c72ca0a7737e31b14","path":"shipping/src/native_config.cpp"},{"blob":"86e17b63a6db26bf671f4fbdf69341be1d2826ce","path":"shipping/src/native_runtime_build.cpp"},{"blob":"5c733708ab23d1f7fc7f986fce95768c249c4d3d","path":"shipping/src/operator_loader.cpp"},{"blob":"da964788d7ef1d31ffbbaf7096b7c46f05a65655","path":"shipping/src/post_detector_host.cpp"},{"blob":"63f0bdbcf16005851235c7d6ba022b64ce14b7c0","path":"shipping/src/post_detector_plan.cpp"},{"blob":"fddf40601d58ccbd7e0d111d9c7b37bd53d37ae6","path":"shipping/src/preflight.cpp"},{"blob":"2d45408a4961b8873962bc3deb8bf1d73bc117a9","path":"shipping/src/resolved_config.cpp"},{"blob":"1663379dd814cecd02d21830b315a92b6c2c15cd","path":"shipping/src/run_completion.cpp"},{"blob":"0b4b58f46aea349017f4def546993f1ff433efb0","path":"shipping/src/schedule_plan.cpp"},{"blob":"e6b37b02faac164f0320c85ac565ca84a2d620d0","path":"shipping/src/sequence_output.cpp"},{"blob":"322f3a3ceab1340cbd53bf98edbcd1b3d6ecd0bd","path":"shipping/src/serial_runtime.cpp"},{"blob":"4875e9d74539baabd597ab7d4f92003902cdf36d","path":"shipping/src/sha256.cpp"},{"blob":"69967715e1e3e6b14355f150d56fd4802583e040","path":"shipping/src/strict_json.cpp"},{"blob":"ef98379f0b78d06e7c10ce2eb431267da22d3b21","path":"shipping/src/verified_model_bytes.cpp"},{"blob":"7ced2f1791af4db518e9da686fbbf0915f786103","path":"shipping/third_party_set.json"},{"blob":"e6ed879752e6653491001db12eee84a5efa77b73","path":"shipping/tools/saccade_detector_probe.cpp"},{"blob":"39c3c9f15e79ca24c0ea8b1a9b7467cf3e54741e","path":"shipping/tools/saccade_ingest_probe.cpp"},{"blob":"160c19cf2da4bca7950363186a58818ceebd3e31","path":"shipping/tools/saccade_n03_admission.cpp"},{"blob":"2ba6e5a62a499560fcc655e699fb455a98b6d0d8","path":"shipping/tools/saccade_replay.cpp"},{"blob":"a1503f8d0b0720790fb72dfabe3baf2422a5dac2","path":"shipping/tools/saccade_track.cpp"},{"blob":"0860adc89d217e28bb86aac8209613b947d90712","path":"shipping/tools/saccade_track_measurement.cpp"},{"blob":"2f92c10ceea09469922cf573f436d1b78bffff9a","path":"shipping/tools/track_driver.hpp"},{"blob":"e68665141c04b83512629961cf5a4279eddd5226","path":"shipping/trusted_model_bundles.json"},{"blob":"4cb9f4c509d135e46d40c980de43a47508fee954","path":"src/main.cpp"},{"blob":"7d809002806364433b0b8085aa7126f2fac2ee69","path":"src/media/buffer_pool.cpp"},{"blob":"3dd7ab06be3866932f0a20b20366a23de92e4c60","path":"src/media/gst_client.cpp"},{"blob":"c984ed0ca370bfae3ddb5dbf68c0d36d5a483436","path":"src/media/gst_client_python.cpp"},{"blob":"19f230f82f4839c40797fc3ed6834be1af1685e9","path":"src/perception/batched_mamba_detector.cpp"},{"blob":"a936e56b7aab10f769ce3bd901f927779c341e06","path":"src/perception/feature_extractor.cpp"},{"blob":"50b1cbcd3daf3dd903eb979d17a154078aca5e41","path":"src/perception/letterbox_kernel.cu"},{"blob":"1fdf7f3e0593f5d8f81e44695232d5e65ee87940","path":"src/perception/mamba_gated_detector.cpp"},{"blob":"5932974e97dc79f3f9110593bdf623b6061ab82f","path":"src/perception/nv12_kernel.cu"},{"blob":"b955e25187d744ce85f011043fdebf12ef1fc4f0","path":"src/perception/perception_python.cpp"},{"blob":"7297c0ce8778f2e4d11235a87f226969bbc20ac3","path":"src/perception/preprocessor.cpp"},{"blob":"715dda7f8796711e6b12738a2225f55836b40361","path":"src/perception/preprocessor_cpu.cpp"},{"blob":"b2267c21e7863f51f2a7781a66517fedd3ac58fd","path":"src/perception/preprocessor_gpu.cu"},{"blob":"13c42dbdca45dc60c9728b009e4b9601196eddfd","path":"src/perception/rgb_to_nv12_kernel.cu"},{"blob":"c3c301f6fc89aae645fc1eb522c56a0811e8d878","path":"src/perception/trt_engine.cpp"},{"blob":"b7c2660b0ebc692d20d9dfae9861b453d6ace41f","path":"src/saccade/__init__.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/api/__init__.py"},{"blob":"bc282b6266b65b8c8d2a902b3ee04123dc2decdd","path":"src/saccade/api/server.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/cognition/__init__.py"},{"blob":"56d9caf43d07e442bd7fcb4b3567bfb44cc6ced7","path":"src/saccade/cognition/orchestrator.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/media/__init__.py"},{"blob":"a6584d83abee4eaf0a59adbb178d2989504b4815","path":"src/saccade/media/dali_pipeline.py"},{"blob":"0ec47d9ab3bcd12732dad06f0e9b2431549da126","path":"src/saccade/media/ffmpeg_utils.py"},{"blob":"a467bd1b77d0a58e3f8e0ca0c3a8d93a18e65969","path":"src/saccade/media/mediamtx_client.py"},{"blob":"46473fb63c8b0c7fdb1022d0bb8b8d8cbd5c6e19","path":"src/saccade/media/rtsp.py"},{"blob":"61c23068f45cde4d9a4e2244b30d8dafb18c76f3","path":"src/saccade/media/rtsp_dali_pipeline.py"},{"blob":"b1e62e9e2aa48221749b6979aeeb306f5f67e1ca","path":"src/saccade/paths.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/perception/__init__.py"},{"blob":"e32c30eecc18453bd5ac495a12716a522332f35f","path":"src/saccade/perception/box_ops.py"},{"blob":"54a205a87d561417f6e45364699ab26860569977","path":"src/saccade/perception/calibrator.py"},{"blob":"28a713e377001a61c45562acc944597141157936","path":"src/saccade/perception/cropper.py"},{"blob":"c837e5d78c38c4473b75ebd768a2052fa52735c3","path":"src/saccade/perception/detector_trt.py"},{"blob":"21316d1628a4e4b1036780adec0a91aaa351f9e0","path":"src/saccade/perception/dispatcher.py"},{"blob":"19f486eecf128bf8285f1b7b25e8894c4fcbc68b","path":"src/saccade/perception/drift_handler.py"},{"blob":"46eba185ea01d963570c952e7fabab51b862d47e","path":"src/saccade/perception/embedding_dispatcher.py"},{"blob":"d0e491d639e8d866bed9c6c27b8a1ad8f61c7bcc","path":"src/saccade/perception/entropy.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/perception/eval/__init__.py"},{"blob":"73084098ba036d9b190fccae429a36293429cbbc","path":"src/saccade/perception/eval/_cuda/r1_bridge_replay.cu"},{"blob":"42b1d67fc2b5148fd8ea8a070b73788c65915b15","path":"src/saccade/perception/eval/_decimal_hash_tools.py"},{"blob":"c23172f7aff0254e4f0f163fb2e6e355cbaec5f4","path":"src/saccade/perception/eval/_torch_graphs.LICENSE"},{"blob":"f1851d56a5bc364dae0edef54d4776a52ed1d23a","path":"src/saccade/perception/eval/_torch_graphs.py"},{"blob":"a3c88af5c2a92c5ae6e09ff7713a3fdbe6084909","path":"src/saccade/perception/eval/assoc_basis.py"},{"blob":"53ee226db12b93d0c25f6addaed1a468d0d9f69f","path":"src/saccade/perception/eval/assoc_stats_env.py"},{"blob":"6ab3b329844d365bb5b24a666b7931da9159e127","path":"src/saccade/perception/eval/cheb_gr_merge.py"},{"blob":"ef20314fac725682eccb6d4ad2e2ff8e79e5e429","path":"src/saccade/perception/eval/cheb_gr_online.py"},{"blob":"b1d82e9c44110e362cd8d41a319c0c26f73247c0","path":"src/saccade/perception/eval/clean_fifo_bank.py"},{"blob":"f411fed46e999afa4f357418a6992e46b42c7f94","path":"src/saccade/perception/eval/concurrent_detector.py"},{"blob":"a42896292f830644036378c78387e5ba980e5acc","path":"src/saccade/perception/eval/concurrent_evaluator.py"},{"blob":"2fe72adaa2ba3500f26a14f01159ac0e8e3075fb","path":"src/saccade/perception/eval/config.py"},{"blob":"6fec2225bbf1d9c76d868c884e04bc5a77223fe0","path":"src/saccade/perception/eval/consumer_a_bridge_fidelity.py"},{"blob":"ad8af1a5c5026957fe641e4af35eb496d978174d","path":"src/saccade/perception/eval/cpp_runner.py"},{"blob":"d3c591481260ed67811cc5bc35c7ade3b4778e9d","path":"src/saccade/perception/eval/cuda_capture.py"},{"blob":"8ffe02359dbd4cd1dca53941311c7c3e69a8beb7","path":"src/saccade/perception/eval/d_online_stage2.py"},{"blob":"86373b7e8973fb90043b506a2e55495d925755fa","path":"src/saccade/perception/eval/d_online_stage2_q4.py"},{"blob":"2f28d31eb82c17fc5b26751ff3baf8d23daf6991","path":"src/saccade/perception/eval/d_online_stage2_q45_atlas.py"},{"blob":"99c586824ccd5ff5bb58e11f4c47c856e84731f0","path":"src/saccade/perception/eval/decimal_hash.py"},{"blob":"fd7a9cc081346a8b42995f0f313bc8d84ae2256d","path":"src/saccade/perception/eval/detection.py"},{"blob":"d941d7676bed5a5ba51cf260e47d33bf8e2c3d0c","path":"src/saccade/perception/eval/detection_filters.py"},{"blob":"fdfd11a27852cd15790842c029302ec2544164d3","path":"src/saccade/perception/eval/evaluator.py"},{"blob":"47b542a1cce7af3853bb53620f31eb220182b52a","path":"src/saccade/perception/eval/external_fp_model.py"},{"blob":"f35748488b0635d9b57935fba1034512536c2f38","path":"src/saccade/perception/eval/external_fp_rows.py"},{"blob":"99b9982228a1aba9cc56b668f528bb0964a44729","path":"src/saccade/perception/eval/frame_ledger.py"},{"blob":"354843565983f8909417bf0041691d9b4972aaf7","path":"src/saccade/perception/eval/gmc.py"},{"blob":"056a835fd4a5651137b1d3bca6b4c6ec9ed027c4","path":"src/saccade/perception/eval/helpers.py"},{"blob":"e69358966e65e9000e2e99d9495f2b8e6090024a","path":"src/saccade/perception/eval/lifecycle.py"},{"blob":"c2405b343f7882ae6cf9613baefde74f86cf479a","path":"src/saccade/perception/eval/metrics.py"},{"blob":"13baca13eafdf3eb966b06a36066c82ba755238b","path":"src/saccade/perception/eval/motion_model.py"},{"blob":"9750eeb5b93b758bc9431263ac3f3ed46dbb2d1a","path":"src/saccade/perception/eval/motr_evaluator.py"},{"blob":"2c357c8d06977b484963132e46563412f06536bb","path":"src/saccade/perception/eval/motr_model.py"},{"blob":"27eb842ceb481444826d45391a71f6090b58adaf","path":"src/saccade/perception/eval/multi_birth.py"},{"blob":"2fe8d500a35602cb4ce6de4e57498908bb7b5747","path":"src/saccade/perception/eval/multi_stream.py"},{"blob":"42624727154dbb791b556c481fe0a016d2b9a3d6","path":"src/saccade/perception/eval/occ_audit.py"},{"blob":"6395b8502a638dc266754e79a7a15385e82e56b0","path":"src/saccade/perception/eval/occ_audit_seq_conditioning.py"},{"blob":"e28bb3543f644e5e87a66973200cb28dc35e4f71","path":"src/saccade/perception/eval/output_bank.py"},{"blob":"f05716d9091e5b80df3d22000f2e99177c55048e","path":"src/saccade/perception/eval/patch_concurrent.py"},{"blob":"eb4c7a8c7381092926e68c0657cb94a8522dd38d","path":"src/saccade/perception/eval/pipeline.py"},{"blob":"153334e9ed77c2c15e7374c31da7a0a91f940316","path":"src/saccade/perception/eval/pool.py"},{"blob":"1ae1b4bce16eaebfbc66102cb8160fd0d33d18b4","path":"src/saccade/perception/eval/portable_or_tail.py"},{"blob":"70944d9bbd11866bc5149caa0f7d7dbb35b1ca53","path":"src/saccade/perception/eval/post_merge.py"},{"blob":"6a93d1b257241ac255d69c999baa93310a18d7cb","path":"src/saccade/perception/eval/preprocess.py"},{"blob":"7e61ff44262265717b6706c37dc4db4f184df243","path":"src/saccade/perception/eval/quality.py"},{"blob":"465eec147aac9234407bfdcbbec8100f9c6a769e","path":"src/saccade/perception/eval/relink.py"},{"blob":"54dfe270cf14183576c80b226b50d16ce18e8fb7","path":"src/saccade/perception/eval/reporting.py"},{"blob":"fa9d71052185855a7d9ef89f43344989456ef762","path":"src/saccade/perception/eval/runner.py"},{"blob":"0f2fd9fb53fa5aa3fafa3de9e4ba61aec10dd9d0","path":"src/saccade/perception/eval/safe_region_assetization_r1.py"},{"blob":"fc59033b995e68ce4ecfcaecc980dcb4d26629e3","path":"src/saccade/perception/eval/safe_region_assetization_r11.py"},{"blob":"00c8787f42c89aeb1358955279da0d3c82f6eb16","path":"src/saccade/perception/eval/scene_adapt.py"},{"blob":"7bb1554fb72f213610ff1373b419191fb042f681","path":"src/saccade/perception/eval/sequence_launcher.py"},{"blob":"1aa36ce8b0c0b35afb1ca031fe760eeeac9b0b30","path":"src/saccade/perception/eval/sequence_selection.py"},{"blob":"f61648ed4db7828e569dce5d6daa0d0159233d1b","path":"src/saccade/perception/eval/signal_tables.py"},{"blob":"7122d6ec6a221286219ccd8168a9bbd8feadbcee","path":"src/saccade/perception/eval/stages.py"},{"blob":"1df1531f8580af790bb1ad425e652c0e2b7a0086","path":"src/saccade/perception/eval/streaming.py"},{"blob":"a5fb3f54b0c98fbf53cfb6c24116a31f12cc43d1","path":"src/saccade/perception/eval/streaming_handover.py"},{"blob":"03fc7c4f66c5e42bed9de2fcdbcc4c564cb11cfd","path":"src/saccade/perception/eval/tracking.py"},{"blob":"2c5a9c68fe172feefbf789c72bb2c3168a4632a1","path":"src/saccade/perception/eval/types.py"},{"blob":"406ce830ca114ebae059abd680b5bb7926dd353d","path":"src/saccade/perception/eval/utils.py"},{"blob":"b2c905f80a7db413e00cd109c0f2e264af752c23","path":"src/saccade/perception/feature_bank.py"},{"blob":"066d6446c1ec02131c6ac06af02e45bcad2038c5","path":"src/saccade/perception/feature_extractor.py"},{"blob":"4b36cede90da7caa6a7235fbfaabde5b14f4337f","path":"src/saccade/perception/multistream_mamba_server.py"},{"blob":"fa26d7446f46b3d15ca931dcee2a5ad1650b64db","path":"src/saccade/perception/online_telemetry.py"},{"blob":"a1fea072a0f0931e7058b71b8987b10e6f643c08","path":"src/saccade/perception/online_tracker_adapter.py"},{"blob":"917d6d8ce53256ccf82826ee6019365d22e74405","path":"src/saccade/perception/reid/__init__.py"},{"blob":"88e59fae5b8e65b9fccac1e765d3a79d5f9b844e","path":"src/saccade/perception/reid/cheb_gr.py"},{"blob":"cca038dd338735fd60444370af0e5c84083ad06b","path":"src/saccade/perception/roi_selector.py"},{"blob":"87ac48f84c468b42a5b189246f55ba4c838c0eaa","path":"src/saccade/perception/temporal_yolo/__init__.py"},{"blob":"595cbcac84aba0e1ec5ecaa47db18d20c2ab5907","path":"src/saccade/perception/temporal_yolo/box_utils.py"},{"blob":"736633d955751b3534f81de7012cd18d04d3f639","path":"src/saccade/perception/temporal_yolo/data_pipeline.py"},{"blob":"adc443478cb434c5be524b63b5cca9d2dc2dc53d","path":"src/saccade/perception/temporal_yolo/dataset.py"},{"blob":"1225f2e246208612787dac62262eb1d6710de6ab","path":"src/saccade/perception/temporal_yolo/dataset_joint.py"},{"blob":"243ce87da9761959c3fc8a3115f1fb7294ffe99d","path":"src/saccade/perception/temporal_yolo/evaluator.py"},{"blob":"b436c303c6c189a45c3bb9f96e88695c043cdb3e","path":"src/saccade/perception/temporal_yolo/loss.py"},{"blob":"a38f66f077764663532cd58ef3c6db288ac882dc","path":"src/saccade/perception/temporal_yolo/mamba_gated_detector.py"},{"blob":"ddd4524c9b106c79a82f578495db42e9aec0a651","path":"src/saccade/perception/temporal_yolo/mamba_head.py"},{"blob":"86823dc06dd39249d29fae0cee360e3154a8a5de","path":"src/saccade/perception/temporal_yolo/model.py"},{"blob":"52ef79413716ddf259177800954a5df6341c716f","path":"src/saccade/perception/temporal_yolo/ngla_assigner.py"},{"blob":"b10421a3d69a437af6ab29f691ec08c41c88a3aa","path":"src/saccade/perception/temporal_yolo/reid_conv_head.py"},{"blob":"f1e9e7b82a02e23a8a68be7085daf48256dfc741","path":"src/saccade/perception/temporal_yolo/reid_head.py"},{"blob":"9c77952230461c96f7056e4a69721a9a283ee781","path":"src/saccade/perception/temporal_yolo/roi_embedder.py"},{"blob":"c38ba1436d496e610c4cac9b01c58c64d49c3fb2","path":"src/saccade/perception/temporal_yolo/teacher_head_detector.py"},{"blob":"a526e982c92cb8ea45f1704b5eaa1823d6a07081","path":"src/saccade/perception/temporal_yolo/temporal_fusion.py"},{"blob":"b2f633b699b741c1274188e8eecac303ad308726","path":"src/saccade/perception/temporal_yolo/train_config.py"},{"blob":"fa7ad4a534eea61d30131006694e8b13a676a6d3","path":"src/saccade/perception/temporal_yolo/training_utils.py"},{"blob":"965146dffd03830e4745e1fb4d8e1f9451b63a7c","path":"src/saccade/perception/temporal_yolo/yolo_conditioned.py"},{"blob":"f5eb48ec6b9406408391c1e993637eaea08dc88f","path":"src/saccade/perception/temporal_yolo/yolo_gated_detector.py"},{"blob":"63e54ad4e0d521636aacb1d57b40fc195de013c6","path":"src/saccade/perception/temporal_yolo/yolo_joint.py"},{"blob":"8c15ab2105bb4e9b7add35a00841dac057243631","path":"src/saccade/perception/text_encoder.py"},{"blob":"af4dcac88096ed2ff31ca02fc58ef235dba20d1e","path":"src/saccade/perception/tracking/__init__.py"},{"blob":"a4eba99ac6e87c59248039f761b24237fcd7d136","path":"src/saccade/perception/tracking/dynamic_reid.py"},{"blob":"8d2bbde434b57a5eac865286ffa769511f85fc49","path":"src/saccade/perception/tracking/fpn_reid.py"},{"blob":"51583421cde091288ecdbf2ad49fa530486c8796","path":"src/saccade/perception/tracking/fpn_reid_cuda.py"},{"blob":"1db62e03fb18e8b48f449fedb287e4f68eaa0f66","path":"src/saccade/perception/tracking/reorder.py"},{"blob":"74250709a91e25f0162a8c1cde7ee32d8b06ebe2","path":"src/saccade/perception/tracking/tracker_gpu.py"},{"blob":"300b4860656823e644363f691e52ec181f5198be","path":"src/saccade/perception/workbench.py"},{"blob":"6d531773b0bd6059d7a0a505d1807e659e6ad4ad","path":"src/saccade/perception/zero_copy.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/pipeline/__init__.py"},{"blob":"468400a353831fd922386bc6fa2999e27fc94617","path":"src/saccade/pipeline/health.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/resource/__init__.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/resource/frame_selector.py"},{"blob":"21c35a9f3307e263ed73d5bcdbbdce87e4936e44","path":"src/saccade/resource/resource_manager.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/storage/__init__.py"},{"blob":"0237ce4d7de6b575ac25012693ca906506997d26","path":"src/saccade/storage/chroma_store.py"},{"blob":"3a68c95ff137e00d92feb7f1592215162458b6fb","path":"src/saccade/storage/redis_cache.py"},{"blob":"98623924f5898b5481cec2f24ca15c2f9d832a91","path":"src/tracking/CMakeLists.txt"},{"blob":"9031e1c2fef20cc0d2f6a9187c466ac5f66f68bb","path":"src/tracking/cheb_gr_kreciprocal.cpp"},{"blob":"23858b740a58a047dc89df56f458fab4a8b6e7d1","path":"src/tracking/cheb_gr_online.cpp"},{"blob":"f2a66e7c8d6d295497de0e54143fa36383f8f859","path":"src/tracking/cheb_gr_online_python.cpp"},{"blob":"32ecf325e53c726d6cd03d4f837a22bdeeab9efa","path":"src/tracking/copy_pad.cu"},{"blob":"c4401d30c2716c7885896a40c72fa98ca9bc189e","path":"src/tracking/crop_pool.cpp"},{"blob":"bdb078b113116a07471e750e334a4445609566b5","path":"src/tracking/crop_ring_store.cpp"},{"blob":"55842d780f9974a0643bc964e9c08af6a3207d3d","path":"src/tracking/dynamic_reid_controller.cpp"},{"blob":"20e53b17d5782fd7e78c50035501c137be0554ce","path":"src/tracking/eval_pool.cpp"},{"blob":"3e15c1c2d16e0700e16284b495aee2ec8c2ec862","path":"src/tracking/eval_python.cpp"},{"blob":"df349e026d715175023f3f956badf3fa6a726a88","path":"src/tracking/fpn_reid_binding.cpp"},{"blob":"9ad815f6b5053202a87b3af31f3bf54b0ba9c75f","path":"src/tracking/fpn_reid_cuda.cu"},{"blob":"f574aa28b2ad08718f90f846e6db2539baec0c45","path":"src/tracking/frame_buffer.cpp"},{"blob":"cddf5768adb5ccf60110baab80b651072ea5b2e3","path":"src/tracking/gmc.cpp"},{"blob":"e6da03d554cb38fe0d53ce0f6e49d59281549dc5","path":"src/tracking/gmc_cpu.cpp"},{"blob":"9ff6dc1b90b10a266cec9b9d51f114607d7399a5","path":"src/tracking/gmc_kernel.cu"},{"blob":"a52af391ddea2ebc1ed45860d27b6e723b5de2c0","path":"src/tracking/legacy_env.cpp"},{"blob":"47673abaed43d5ca4611f5dd5197280a0aa38135","path":"src/tracking/mamba_scan.cu"},{"blob":"cd2d4e06b64b7c1e356098c06c7b98bbde2ca452","path":"src/tracking/mamba_scan_plugin.cpp"},{"blob":"6b19e9a359fd04f344b92e7d2c596fea4fcbb505","path":"src/tracking/mamba_scan_torchop.cpp"},{"blob":"762d9859825e8ef855cc3ca0d27862483e07af6f","path":"src/tracking/multi_signal_birth_pool.cu"},{"blob":"f1b67945ec9c2b92ce859589c0f52ec554da964f","path":"src/tracking/pipeline.cpp"},{"blob":"cb7cfcd537d35f4b546f4a6f38e21e093a8e5f20","path":"src/tracking/private_workload_stats.cu"},{"blob":"07381c76eece226a68d557d51a8ed41b54756602","path":"src/tracking/quality_filter.cu"},{"blob":"e3683966dd6eaecf702ec5d87a2ab85d5478b8ef","path":"src/tracking/reid_queue.cpp"},{"blob":"33f468b025e4eb67131aa93027c4de6c19e34413","path":"src/tracking/relink_gate.cu"},{"blob":"f720c3e185934a805fccd3330214f598450df06f","path":"src/tracking/seq_runner.cpp"},{"blob":"b766afef10deb1c51db823382f5e8fa3d5d72a84","path":"src/tracking/temporal_birth_pool.cu"},{"blob":"8792876da168b1041a3623341b18be40a7328366","path":"src/tracking/tracker_gpu.cu"},{"blob":"9650840e18faca136d08a14709a3cfea24d86092","path":"src/tracking/tracker_gpu_python.cpp"},{"blob":"112604dbc35922a2ee4eb1320a67235a1ceefdb6","path":"src/tracking/tracker_params.cpp"},{"blob":"515aca9f82df52e5f642d800e8455a6a19b10f87","path":"src/tracking/workbench.cpp"}]},"runtime_inputs":{"digest":"0b839df0b89141959a4ae4762c727d446a2292016832ab468ce48334fff1a3d5","identity_fixture":{"digest":"a5e12d77b362ee9d64580336cb21f79808383a8a50f384eb0c60880b658f086e","file_count":1053,"sequence":"MOT17-09-SDP"},"measurement_fixture":{"digest":"6a3e44f03d2fcebbef7dd75a0f9b614dae93cc5a338e0dc3ce1aeab76b75833c","file_count":10653,"sequences":[{"file_count":1203,"sequence":"MOT17-02-SDP"},{"file_count":2103,"sequence":"MOT17-04-SDP"},{"file_count":1677,"sequence":"MOT17-05-SDP"},{"file_count":1053,"sequence":"MOT17-09-SDP"},{"file_count":1311,"sequence":"MOT17-10-SDP"},{"file_count":1803,"sequence":"MOT17-11-SDP"},{"file_count":1503,"sequence":"MOT17-13-SDP"}]},"runtime_assets":{"digest":"50e032e3b4d1e7b25bb7b78c13b4a219fa23ab0a071d947608b34c3d83bc9277","file_count":5},"third_party_runtime":{"digest":"f458583b30a32cc63c00dfed3403154a4c7226d8fbf8a3dff52ada3e0c14f55a","file_count":45}}},"coordinate":{"decision_surface":"9b7faeb0f76a43483a924ac4028361bb155373027e9fe44e4cffbd5f1a2b0369","environment":"0afea37b29c742e2c361ae748435ac09f0c63edb7b930da2b5a6e1cbdde62465","identity_semantics":"7a5a4ee69f78b0851e0fc2d86dfa72ecbcd31f9dd1602b0531048eb25b9f5169","implementation":"0cb15155f4b5d71289be550a29a677c113ec38d869620493d8a21c101aea8d8c","runtime_inputs":"0b839df0b89141959a4ae4762c727d446a2292016832ab468ce48334fff1a3d5"},"equivalence":{"note":"Probe equality is not measurement-domain equivalence. A future accepted proof requires a versioned verifier and full declared scope.","proof":null,"state":"unproven"},"probe":{"build_witness":{"artifacts":[{"coordinate":"libsaccade_scan_plugin.so","length":122864,"path":"/tmp/saccade-550-f02/build/runtime_identity/libsaccade_scan_plugin.so","role":"tensorrt_scan_plugin","sha256":"344e802533763aa307afb8d6ea82ca33411a50b775b36bb8407752137c7db6ff"},{"coordinate":"saccade_tracking_ext.cpython-312-x86_64-linux-gnu.so","length":4136504,"path":"/tmp/saccade-550-f02/build/runtime_identity/saccade_tracking_ext.cpython-312-x86_64-linux-gnu.so","role":"tracking_extension","sha256":"b7eadfceaca96c9d2499e083e6b4e0dd0c6b62c3a02fccdb1b1d18af2811d7d8"}],"build_dir":"/tmp/saccade-550-f02/build/runtime_identity","digest":"f925320718089b68d5c716cf472212ced70244d97f4d932a4416797cdb7da643","schema":"h2_build_witness_v1"},"determinism_pinned":true,"digest":"2dabed0bc05e3bc75ec2115b3213f5c0b1aed3e837c22dd2325109339e4719b5","kind":"identity_probe","mode":"identity","preset":"configs/presets/mamba_whole_graph_m.yaml","recorder_sha256":"9f454c2d005d8d6eff03109e18be82ae12896ec50fad3546f7a3937e286657c3","repeats":1,"resolved_fingerprint":"c7a6dbb35168cba75249b7f2c67d8455b6f634732493e455a4bb920aab6d7782","schema":"h2_behavior_probe_result_v1","sequence":"MOT17-09-SDP","state":"computed","sufficiency":"fixture_change_detector_only"},"publication_complete":true,"schema":"h2_runtime_coordinate_probe_v1","witness":{"head":"a06f56abaefb6e5ea4ef86abad2ea282afffa6af","note":"HEAD/tree are navigation witness. The coordinate digests working-tree content; the Layer-P certificate additionally requires a selected base.","tree":"d909c1b4054744aca3dfaa7e508e9d0371eae2f3","worktree_dirty":false}} diff --git a/docs/reference/runtime_identity/archive/runtime_identity.2026-10-26.11263f7cae3f8bce.json b/docs/reference/runtime_identity/archive/runtime_identity.2026-10-26.11263f7cae3f8bce.json new file mode 100644 index 00000000..93fd48e9 --- /dev/null +++ b/docs/reference/runtime_identity/archive/runtime_identity.2026-10-26.11263f7cae3f8bce.json @@ -0,0 +1 @@ +{"axes":{"decision_surface":{"digest":"9b7faeb0f76a43483a924ac4028361bb155373027e9fe44e4cffbd5f1a2b0369","parameter_count":413,"preset":"configs/presets/mamba_whole_graph_m.yaml","resolved_bridge_policy_config_v1":"c7a6dbb35168cba75249b7f2c67d8455b6f634732493e455a4bb920aab6d7782"},"environment":{"digest":"0afea37b29c742e2c361ae748435ac09f0c63edb7b930da2b5a6e1cbdde62465","recipe":[{"blob":"908545c16f68158d864cf874d296077604b9f8a6","path":"CMakeLists.txt"},{"blob":"94081f964ebba44ee5e1203f1c215512a7999a83","path":"pyproject.toml"},{"blob":"c389fd976674aa1173e64143bd27dcd3f1977c9f","path":"uv.lock"}],"toolchain":{"available":true,"cuda_compiled":"13.0","cudnn":91900,"device_capability":[12,0],"driver_device_count":1,"tensorrt":"10.16.1.11","torch":"2.11.0+cu130"}},"identity_semantics":{"digest":"7a5a4ee69f78b0851e0fc2d86dfa72ecbcd31f9dd1602b0531048eb25b9f5169","file_count":27,"files":[{"blob":"4de9ea2af092f94f57f6f65dfdd1cf64c664f6d9","path":".github/workflows/runtime_identity.yml"},{"blob":"f0cb5e802e7a3d4957426829138c864c09764b3f","path":"docs/modules/semantic/research/headline_bridge_behavioral_identity_capture_declaration_20260725.policy.yaml"},{"blob":"9243fd1051f71a17d414f0f0c81a434000b12e01","path":"docs/research/contracts/h2_execution_result_v1.json"},{"blob":"e1e92bcca189f48f934952e6356c5b48ebba8f0f","path":"docs/research/contracts/h2_execution_result_v2.json"},{"blob":"4cea9efadebdacab6b360aed0acd1073e75d9ea8","path":"docs/research/contracts/h2_execution_verification_v1.json"},{"blob":"8d85d41697b47f1c2feabdae5cdf0d60a26a8bb0","path":"docs/research/contracts/h2_execution_verification_v2.json"},{"blob":"251466c8cf4e73540bd1a7f8dca4235530d6778f","path":"docs/research/contracts/h2_import_witness_v1.json"},{"blob":"89414d37d9fc826bf0fed5719de26ac3a36d8f1d","path":"docs/research/contracts/h2_phase_a_authoring_profile_v1.json"},{"blob":"fcb0b1ca5249c519fc0c9030fe87f571b947037a","path":"docs/research/contracts/h2_phase_a_authoring_profile_v1.schema.json"},{"blob":"b73d80a3bfce26acea4dd68929c835f637a61f63","path":"docs/research/contracts/h2_phase_a_run_spec_authoring_decision_v1.json"},{"blob":"18f72d7d5a2b89cd54eb4c0971002eaf4e17dc71","path":"docs/research/contracts/h2_phase_a_run_spec_v1.json"},{"blob":"493fd2c990ad2fcf2693917eaa26d315e9234cb5","path":"docs/research/contracts/h2_runtime_binding_v1.json"},{"blob":"934c7ebf75b7e9f48f100a3c39e0c0a4b6f2471d","path":"docs/research/contracts/h2_successor_authorization_consumed_v1.json"},{"blob":"0b0eb644fa4f9ac722d99d02f74ed95bb4d4e984","path":"docs/research/contracts/h2_successor_authorization_request_v1.json"},{"blob":"591e85394609766b99f8afb0e104d262482daf2d","path":"docs/research/contracts/h2_successor_exactly_once_authorization_v1.json"},{"blob":"98666f7b7df2d6a78dc7bceba5c59fcd5149fe9a","path":"docs/research/contracts/h2_successor_measurement_envelope_verification_v1.json"},{"blob":"2bb92ebe6840112fff32d7a5c61e0aa6a7c70d8f","path":"docs/research/contracts/h2_successor_measurement_rehearsal_witness_v1.json"},{"blob":"1964678c569ca22c307e4e59db5f364afb848baf","path":"scripts/pre_push.sh"},{"blob":"ddaece2e0f4904cd841141938781af9e68782651","path":"scripts/tools/build_runtime_identity.py"},{"blob":"80b3f148e07259255c30c34c50075ea3cfc36a99","path":"scripts/tools/check_runtime_identity_staleness.py"},{"blob":"ddd4658595a18059a473e953a9f577f435a26cbb","path":"scripts/tools/h2_behavioral_identity.py"},{"blob":"7ee48536c89532672b3ae75ca1443e4f3ed3c6f6","path":"scripts/tools/h2_path_partition.py"},{"blob":"a97f9aeef2fbdc917ea6bc9de242e0c59a63ab68","path":"scripts/tools/h2_run_spec.py"},{"blob":"a106ddc9db2cbcaa16ed3121e1e8136560aa31a8","path":"scripts/tools/h2_runtime_inputs.py"},{"blob":"634e7b0f2d3858171dc3b390f2f2d17906953a8e","path":"scripts/tools/h2_successor_authorization.py"},{"blob":"7a9adf3f410f4fd376d0e81ed375882e20e52e05","path":"scripts/tools/h2_terminal_partition.py"},{"blob":"d8caa1ec73f90a1cbe2336ae900669f0c35e11a2","path":"scripts/tools/run_h2_layer_p.py"}]},"implementation":{"digest":"11263f7cae3f8bced7974efb68d9bd8af8dd4b805a52ee88aacf07595f0ff51a","file_count":319,"files":[{"blob":"a973c3b92711f895bff23f79872b277640b73b81","path":"configs/presets/mamba_whole_graph_m.yaml"},{"blob":"616617cce98036d78e7dc5663315c8b80a305c03","path":"configs/shipping/mamba_head_realization.attestation.json"},{"blob":"ce29938cd12ae96d7003803b465faefcb4756d4b","path":"configs/shipping/mamba_whole_graph.resolved.json"},{"blob":"b1a389a5a841883ea4c7243701bb1f9b7eb299ef","path":"include/media/buffer_pool.hpp"},{"blob":"acf9889e0dc15b254d947bb08fbf2c007d01f7f0","path":"include/media/gst_client.hpp"},{"blob":"f31c440208388ec077d72827865ac1f431bfdb1c","path":"include/perception/base_detector.hpp"},{"blob":"9cff4307d69a57e1795006d818cba1ede378d63e","path":"include/perception/batched_mamba_detector.hpp"},{"blob":"7258100abda8907c0b94cc055be4b120d91e4928","path":"include/perception/feature_extractor.hpp"},{"blob":"2a11d3e5cea285f107ab5d3fb9606fb17d91cebc","path":"include/perception/mamba_gated_detector.hpp"},{"blob":"93ca52c9c03fb9aa11160ae8c04a2e1564b30778","path":"include/perception/preprocessor.hpp"},{"blob":"2b5531082a76c2ab9bad33abecfb03d1f69cf009","path":"include/perception/trt_engine.hpp"},{"blob":"f1f4a912460d56ad3df97500751c63344eabb7ad","path":"include/saccade/common.hpp"},{"blob":"be22227f3bb8455afc14d0e85752aa9f17dbf704","path":"include/saccade/env_flag.hpp"},{"blob":"64699ffe4f04e38be3dc952baa6841ada9aef4db","path":"include/tracking/auction.hpp"},{"blob":"1936fd22087e787fd73f4eff39d4d77a5a882d2a","path":"include/tracking/box_ops.hpp"},{"blob":"9baee844184f9e111915c81992d3e3b2f0d784cb","path":"include/tracking/cheb_gr_kreciprocal.hpp"},{"blob":"dff8ab2de30f35fd0aa60d3da60bfd738ebfe664","path":"include/tracking/cheb_gr_online.hpp"},{"blob":"139fef6018534549e9b81e6dc3c7b75346bc690c","path":"include/tracking/copy_pad.cuh"},{"blob":"ee1f6c2c8ae9476f7faf8cc98bb0e63e14938f73","path":"include/tracking/crop_pool.hpp"},{"blob":"677d6b2e2c3d85282d0b6ad39c9d37a814370910","path":"include/tracking/crop_ring_store.hpp"},{"blob":"0f8c3f352e1094532ca366a665b9e882a5d0434c","path":"include/tracking/dynamic_reid_controller.hpp"},{"blob":"8506664c6cf3a0c58b4dcc6eac216278a580682a","path":"include/tracking/eval_pool.hpp"},{"blob":"aa0d9685b742e07817d65b8d60288a69dc4bfbad","path":"include/tracking/fpn_reid_launchers.cuh"},{"blob":"a6a5fe641c684ec9cfed30b3d9f642dddc930927","path":"include/tracking/frame_buffer.hpp"},{"blob":"79ea49e16a4a83428c749dfc13369435efc8db10","path":"include/tracking/gmc.hpp"},{"blob":"6a46b8d216efdb789742927934e28946cb586416","path":"include/tracking/gmc_cpu.hpp"},{"blob":"aebcbda9edb9de3551e9eed709e661cecd958e72","path":"include/tracking/hungarian.hpp"},{"blob":"de5eb743e62642dcc9eb8935a8322dc88ed9650a","path":"include/tracking/kalman_gpu.cuh"},{"blob":"d53295d9c033da3982c85d9e30daaa2311f9efc8","path":"include/tracking/legacy_env.hpp"},{"blob":"8f51a9a9fe55b08bf1590cbe279541354c3eece3","path":"include/tracking/mamba_scan.cuh"},{"blob":"21806834afd7cd16ecf98b34504600ea5b36ebfe","path":"include/tracking/mamba_scan_plugin.hpp"},{"blob":"6aa2b1fd0cd19ab1c2e2c213ccb97664231b313b","path":"include/tracking/multi_signal_birth_pool.hpp"},{"blob":"7a8447ea76864036885ef167f4936057cffae14f","path":"include/tracking/perception_params.hpp"},{"blob":"11b857059e970dae61f68bd40ee005d4c5b34cce","path":"include/tracking/perception_reid_adapter.hpp"},{"blob":"f4dfa81393759e026e79ce8762b6a75f7601d079","path":"include/tracking/pipeline.hpp"},{"blob":"ad40cdfc9e3547cd962b45457515a2bd6e1b1f69","path":"include/tracking/private_workload_stats.hpp"},{"blob":"b540a2801d6591fb9e2a9b287b044a16239afe55","path":"include/tracking/quality_filter.cuh"},{"blob":"efdb5e25d7ecdd8efbd7bada021b228eccbb8842","path":"include/tracking/reid_backend.hpp"},{"blob":"86b6c6d8837d52d0e1660f63ca9213cf0b6fd3b6","path":"include/tracking/reid_crop_store.hpp"},{"blob":"cb1c17db13beb29ffce42cb08220c8d6748180f6","path":"include/tracking/reid_queue.hpp"},{"blob":"3e226c8a22dcf2124bf1ed089cdeb4253433cf87","path":"include/tracking/relink_gate.hpp"},{"blob":"bfcce4dea6724f3bd3072ab6356c2aaa82dba9c3","path":"include/tracking/seq_runner.hpp"},{"blob":"a1feb5dec6c5b248f3648dca497f97639d981951","path":"include/tracking/sinkhorn.hpp"},{"blob":"d9afe2b26034952f6daefd0e0bccffe297ab0fd6","path":"include/tracking/temporal_birth_pool.hpp"},{"blob":"36780224b03915d1dcad95ba19fb1715e0a35f7c","path":"include/tracking/tracker_gpu.hpp"},{"blob":"acb1602a8885afefd29f46d8c7977a200cba6ab9","path":"include/tracking/tracker_params.hpp"},{"blob":"96579079a19a2a1903738f22f229b4dc257fb869","path":"include/tracking/workbench.hpp"},{"blob":"0e7a7497e5aae4a310a3a2219ce2af2765e25d91","path":"include/utils/nvtx_range.hpp"},{"blob":"79a5ed803c7f4ae330dda46fbd86aaac614ba86e","path":"main.py"},{"blob":"eebae2fb515552b90deb0ce865afaedeb820f46c","path":"scripts/eval/config/__init__.py"},{"blob":"18184502e91e5104a7e231d8600149b9102c7498","path":"scripts/eval/config/_helpers.py"},{"blob":"b5d34a4555e4ab57ab1e337fa38d0c752a5c2a69","path":"scripts/eval/config/core.py"},{"blob":"c9605ca54c0616cd89b6f98f76f1dc75350d78ab","path":"scripts/eval/config/detection.py"},{"blob":"20e144ce28b334796fba1e04fb571ada8ab6d288","path":"scripts/eval/config/gen_golden_snapshot.py"},{"blob":"579c0c6340aa2e21264d055c603185a0db7ecc2f","path":"scripts/eval/config/geometry.py"},{"blob":"31fc7226cf16a422d25b87a7605121d144729505","path":"scripts/eval/config/lifecycle.py"},{"blob":"78b676bb5b5a0b878979091cc20c14d66b20512e","path":"scripts/eval/config/motion.py"},{"blob":"b7106e4129fa3a4d587a30e16d35bae2e70f1dd0","path":"scripts/eval/config/pipeline.py"},{"blob":"7672cb023d73faa7472e41e5d142376cbb4c7538","path":"scripts/eval/config/reid.py"},{"blob":"5598109e5cf103d6e2c45b568119cd94a30b7c5b","path":"scripts/eval/config/semantic.py"},{"blob":"6147443d1d1041d488ba4ec322e438787701a0ca","path":"scripts/eval/config/trigger.py"},{"blob":"7228c2fa5e3fd285f1e4a050e900bc4d870f15f4","path":"scripts/eval/mot17.py"},{"blob":"8a4cda0fe390eaa6cc8d5667dd97766bf81a005d","path":"scripts/eval/mot17_args.py"},{"blob":"823cd901d89d08fdb794ca8b914ae5a3e93e9e80","path":"scripts/ops/run_8stream_perception.py"},{"blob":"94275ac5c496dff5237eadea6b12853b1912d09f","path":"scripts/tools/resolved_bridge_policy_config.py"},{"blob":"87b68dab895b7df1487bdfb3b4d2b986cb953a0f","path":"shipping/CMakeLists.txt"},{"blob":"fd8c619b1b36a8b6d2e46765c622bd7de7100a2d","path":"shipping/cmake/check_link_surface.cmake"},{"blob":"bcd66a653aee00ee5a2b617d713bb9f806a87035","path":"shipping/cmake/check_n03_pin.cmake"},{"blob":"dfe3782a2b96e232fb73d97d0ce6733ab30ba6a5","path":"shipping/cmake/check_no_measurement_surface.cmake"},{"blob":"4d384e843ad18652b543ea31b4ecfe583dd0787f","path":"shipping/cmake/install_model_root.cmake"},{"blob":"ab239c38d05519efe2270149584e258fb58f53e9","path":"shipping/cmake/install_third_party.cmake"},{"blob":"167ee42ce7ec6fc26529419bc0f486d8acb5321d","path":"shipping/cmake/n03_operator_pin.cpp.in"},{"blob":"db07a3ddc833d8469c2157ad0144d415e8dc9000","path":"shipping/cmake/n03_pin.cmake"},{"blob":"ab5bdb5a4e83d93374f0bed2ee0f2508b86343a9","path":"shipping/entrypoint_pin.json"},{"blob":"7d73cb40f32a9cd4fdc410fd5d30b367cf419a03","path":"shipping/include/saccade_shipping/detector_host.hpp"},{"blob":"b146bb464f7f025b45ab1be15b73f4cc10f03bb4","path":"shipping/include/saccade_shipping/detector_plan.hpp"},{"blob":"2161ec87bd355e8fb5f6ebdb164fce25bfa20a0e","path":"shipping/include/saccade_shipping/detector_s2.hpp"},{"blob":"157a5060abb8f778a8190691c8ec26cf3686a46e","path":"shipping/include/saccade_shipping/double_buffer_runtime.hpp"},{"blob":"1494d62743fabed431bb43ee91fff860bd8ba57d","path":"shipping/include/saccade_shipping/head_admission.hpp"},{"blob":"3cbb988d15bc0323edfab19abc00b08bc8cabb62","path":"shipping/include/saccade_shipping/host_cfg_fields.inc"},{"blob":"17c77099dd70c8eb978e5f260b02e7b7d7a3a066","path":"shipping/include/saccade_shipping/ingest_host.hpp"},{"blob":"d5f1a7b287a83334ff6bd9c7149e5adc42011a66","path":"shipping/include/saccade_shipping/ingest_plan.hpp"},{"blob":"2b65cf13f303b329a0a766a49d0ec03989c5387d","path":"shipping/include/saccade_shipping/model_bundle.hpp"},{"blob":"9c0f6ea3edf7265e422c9b7a94e53887e515bedf","path":"shipping/include/saccade_shipping/model_compatibility.hpp"},{"blob":"159a577244fb24c5ad4411c13d1a1d006a9fd107","path":"shipping/include/saccade_shipping/mot_output.hpp"},{"blob":"955a6f4cadc632000af792991a9e869fda65ffb5","path":"shipping/include/saccade_shipping/n03_admission.hpp"},{"blob":"75f463a33b608f8cd1454428b50d1c436c37c201","path":"shipping/include/saccade_shipping/native_build.hpp"},{"blob":"7f46ae73ca648edd3f57ef9dc14c26e058cc78ae","path":"shipping/include/saccade_shipping/native_config.hpp"},{"blob":"2bed1c98a7a09ae78b79733c77b825024a5eb566","path":"shipping/include/saccade_shipping/native_runtime_build.hpp"},{"blob":"4cce7d227b643825295025c1a28b31c3ec292345","path":"shipping/include/saccade_shipping/operator_loader.hpp"},{"blob":"aedca6506619f81887e580ec4cbd6232099e42bc","path":"shipping/include/saccade_shipping/post_detector_host.hpp"},{"blob":"27c92962f0786fda4ca1018adfc20ab288a5a4ea","path":"shipping/include/saccade_shipping/post_detector_plan.hpp"},{"blob":"e3f6b30d30c3ed9adc9b1ff11d644a4a9ea21748","path":"shipping/include/saccade_shipping/preflight.hpp"},{"blob":"5c637f185c3831029ab3665ce9c59d0f8f906108","path":"shipping/include/saccade_shipping/resolved_config.hpp"},{"blob":"b32f7d83c77d8e3a22d1300ea66f8d220f1e554f","path":"shipping/include/saccade_shipping/run_completion.hpp"},{"blob":"15262e8f73dd389ab59723e54e918d701c98a62d","path":"shipping/include/saccade_shipping/schedule_plan.hpp"},{"blob":"b8c0c53eccc33c5461a0ad04b3bcbcc3c996d8c5","path":"shipping/include/saccade_shipping/sequence_output.hpp"},{"blob":"bad56ffa7148ff70594bcf659db80777031b57c8","path":"shipping/include/saccade_shipping/serial_runtime.hpp"},{"blob":"d38c0b20b7e548f205664bed34cb549b94fb22b1","path":"shipping/include/saccade_shipping/sha256.hpp"},{"blob":"d0291cbeb696dac528227184522e1fcf557e7d9c","path":"shipping/include/saccade_shipping/strict_json.hpp"},{"blob":"87bb38d65889c1a16d1c35fc1f6414ca13ee54bd","path":"shipping/include/saccade_shipping/verified_model_bytes.hpp"},{"blob":"c4ee3f6f71ed10a3dc42b9aa20cc8345390d2618","path":"shipping/launcher/saccade_track.sh"},{"blob":"c37a776477f6d6c82b95ef3f0c39677480bd3755","path":"shipping/license_audit.json"},{"blob":"e1b3c69c179dfaff5744ea4bf853e6b0d90c9ef9","path":"shipping/licenses/libgomp/COPYING.RUNTIME"},{"blob":"94a9ed024d3859793618152ea559a168bbcbb5e2","path":"shipping/licenses/libgomp/COPYING3"},{"blob":"3b3006510641f79fe826d03cc28e5f1dc3aa79ac","path":"shipping/measurement_surface.json"},{"blob":"964214efea371aaa886fafb2efcaaf9d44089e57","path":"shipping/n03_operator_pin.json"},{"blob":"c1f8b3a045cbf90f60daa796d8b5342fdea84136","path":"shipping/package/install.sh"},{"blob":"16ac32c923207bb0c74882466b339210dea5c8b8","path":"shipping/src/detector_host.cpp"},{"blob":"586d4a1b5b93966aabbbb945b3758fb61c16c323","path":"shipping/src/detector_plan.cpp"},{"blob":"bb2339029adf2e38a21fb1333d4be13e2c6defef","path":"shipping/src/detector_s2.cu"},{"blob":"95daeb28bebd1da27fb0816a608b2eb55e389335","path":"shipping/src/double_buffer_runtime.cpp"},{"blob":"a91b47f2fe02703be11a4dec094e11363dddc2e2","path":"shipping/src/head_admission.cpp"},{"blob":"46e6caabac3526e2703c234ffc4f6b577390da3b","path":"shipping/src/ingest_host.cpp"},{"blob":"0ef70fc656670e29f521a3a4cb572100f47f679d","path":"shipping/src/ingest_normalize.cu"},{"blob":"f319967dbf5acbb40214540c64bc4ed6bb9f1f55","path":"shipping/src/ingest_plan.cpp"},{"blob":"d0fd1355a8d49cb61cd25a118b6b1b667e25ebf7","path":"shipping/src/loader_audit.c"},{"blob":"ac7ad795a1e6172e0c05ab42e682465fa4d28e47","path":"shipping/src/model_bundle.cpp"},{"blob":"c0068bc90f346d4071484167c57b5736b53884d2","path":"shipping/src/model_compatibility.cpp"},{"blob":"958b70d4b75ddffef60b8787245e810452d256a2","path":"shipping/src/mot_output.cpp"},{"blob":"0423ebd00b5cd12a0210f51ae8f7ad8e1d517beb","path":"shipping/src/n03_admission.cpp"},{"blob":"2794aab8c000b9b73b7a3b06cfaea64b65649107","path":"shipping/src/native_build.cpp"},{"blob":"c5ccdc30f46aec386208e58c72ca0a7737e31b14","path":"shipping/src/native_config.cpp"},{"blob":"86e17b63a6db26bf671f4fbdf69341be1d2826ce","path":"shipping/src/native_runtime_build.cpp"},{"blob":"5c733708ab23d1f7fc7f986fce95768c249c4d3d","path":"shipping/src/operator_loader.cpp"},{"blob":"da964788d7ef1d31ffbbaf7096b7c46f05a65655","path":"shipping/src/post_detector_host.cpp"},{"blob":"63f0bdbcf16005851235c7d6ba022b64ce14b7c0","path":"shipping/src/post_detector_plan.cpp"},{"blob":"fddf40601d58ccbd7e0d111d9c7b37bd53d37ae6","path":"shipping/src/preflight.cpp"},{"blob":"2d45408a4961b8873962bc3deb8bf1d73bc117a9","path":"shipping/src/resolved_config.cpp"},{"blob":"1663379dd814cecd02d21830b315a92b6c2c15cd","path":"shipping/src/run_completion.cpp"},{"blob":"0b4b58f46aea349017f4def546993f1ff433efb0","path":"shipping/src/schedule_plan.cpp"},{"blob":"e6b37b02faac164f0320c85ac565ca84a2d620d0","path":"shipping/src/sequence_output.cpp"},{"blob":"322f3a3ceab1340cbd53bf98edbcd1b3d6ecd0bd","path":"shipping/src/serial_runtime.cpp"},{"blob":"4875e9d74539baabd597ab7d4f92003902cdf36d","path":"shipping/src/sha256.cpp"},{"blob":"69967715e1e3e6b14355f150d56fd4802583e040","path":"shipping/src/strict_json.cpp"},{"blob":"ef98379f0b78d06e7c10ce2eb431267da22d3b21","path":"shipping/src/verified_model_bytes.cpp"},{"blob":"7ced2f1791af4db518e9da686fbbf0915f786103","path":"shipping/third_party_set.json"},{"blob":"e6ed879752e6653491001db12eee84a5efa77b73","path":"shipping/tools/saccade_detector_probe.cpp"},{"blob":"39c3c9f15e79ca24c0ea8b1a9b7467cf3e54741e","path":"shipping/tools/saccade_ingest_probe.cpp"},{"blob":"160c19cf2da4bca7950363186a58818ceebd3e31","path":"shipping/tools/saccade_n03_admission.cpp"},{"blob":"2ba6e5a62a499560fcc655e699fb455a98b6d0d8","path":"shipping/tools/saccade_replay.cpp"},{"blob":"a1503f8d0b0720790fb72dfabe3baf2422a5dac2","path":"shipping/tools/saccade_track.cpp"},{"blob":"0860adc89d217e28bb86aac8209613b947d90712","path":"shipping/tools/saccade_track_measurement.cpp"},{"blob":"2f92c10ceea09469922cf573f436d1b78bffff9a","path":"shipping/tools/track_driver.hpp"},{"blob":"e68665141c04b83512629961cf5a4279eddd5226","path":"shipping/trusted_model_bundles.json"},{"blob":"4cb9f4c509d135e46d40c980de43a47508fee954","path":"src/main.cpp"},{"blob":"7d809002806364433b0b8085aa7126f2fac2ee69","path":"src/media/buffer_pool.cpp"},{"blob":"3dd7ab06be3866932f0a20b20366a23de92e4c60","path":"src/media/gst_client.cpp"},{"blob":"c984ed0ca370bfae3ddb5dbf68c0d36d5a483436","path":"src/media/gst_client_python.cpp"},{"blob":"19f230f82f4839c40797fc3ed6834be1af1685e9","path":"src/perception/batched_mamba_detector.cpp"},{"blob":"a936e56b7aab10f769ce3bd901f927779c341e06","path":"src/perception/feature_extractor.cpp"},{"blob":"50b1cbcd3daf3dd903eb979d17a154078aca5e41","path":"src/perception/letterbox_kernel.cu"},{"blob":"1fdf7f3e0593f5d8f81e44695232d5e65ee87940","path":"src/perception/mamba_gated_detector.cpp"},{"blob":"5932974e97dc79f3f9110593bdf623b6061ab82f","path":"src/perception/nv12_kernel.cu"},{"blob":"b955e25187d744ce85f011043fdebf12ef1fc4f0","path":"src/perception/perception_python.cpp"},{"blob":"7297c0ce8778f2e4d11235a87f226969bbc20ac3","path":"src/perception/preprocessor.cpp"},{"blob":"715dda7f8796711e6b12738a2225f55836b40361","path":"src/perception/preprocessor_cpu.cpp"},{"blob":"b2267c21e7863f51f2a7781a66517fedd3ac58fd","path":"src/perception/preprocessor_gpu.cu"},{"blob":"13c42dbdca45dc60c9728b009e4b9601196eddfd","path":"src/perception/rgb_to_nv12_kernel.cu"},{"blob":"c3c301f6fc89aae645fc1eb522c56a0811e8d878","path":"src/perception/trt_engine.cpp"},{"blob":"b7c2660b0ebc692d20d9dfae9861b453d6ace41f","path":"src/saccade/__init__.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/api/__init__.py"},{"blob":"bc282b6266b65b8c8d2a902b3ee04123dc2decdd","path":"src/saccade/api/server.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/cognition/__init__.py"},{"blob":"56d9caf43d07e442bd7fcb4b3567bfb44cc6ced7","path":"src/saccade/cognition/orchestrator.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/media/__init__.py"},{"blob":"a6584d83abee4eaf0a59adbb178d2989504b4815","path":"src/saccade/media/dali_pipeline.py"},{"blob":"0ec47d9ab3bcd12732dad06f0e9b2431549da126","path":"src/saccade/media/ffmpeg_utils.py"},{"blob":"a467bd1b77d0a58e3f8e0ca0c3a8d93a18e65969","path":"src/saccade/media/mediamtx_client.py"},{"blob":"46473fb63c8b0c7fdb1022d0bb8b8d8cbd5c6e19","path":"src/saccade/media/rtsp.py"},{"blob":"61c23068f45cde4d9a4e2244b30d8dafb18c76f3","path":"src/saccade/media/rtsp_dali_pipeline.py"},{"blob":"b1e62e9e2aa48221749b6979aeeb306f5f67e1ca","path":"src/saccade/paths.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/perception/__init__.py"},{"blob":"e32c30eecc18453bd5ac495a12716a522332f35f","path":"src/saccade/perception/box_ops.py"},{"blob":"54a205a87d561417f6e45364699ab26860569977","path":"src/saccade/perception/calibrator.py"},{"blob":"28a713e377001a61c45562acc944597141157936","path":"src/saccade/perception/cropper.py"},{"blob":"c837e5d78c38c4473b75ebd768a2052fa52735c3","path":"src/saccade/perception/detector_trt.py"},{"blob":"6cd72ec052acfd8c929842f5ee6a2178dd4db041","path":"src/saccade/perception/dispatcher.py"},{"blob":"19f486eecf128bf8285f1b7b25e8894c4fcbc68b","path":"src/saccade/perception/drift_handler.py"},{"blob":"46eba185ea01d963570c952e7fabab51b862d47e","path":"src/saccade/perception/embedding_dispatcher.py"},{"blob":"d0e491d639e8d866bed9c6c27b8a1ad8f61c7bcc","path":"src/saccade/perception/entropy.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/perception/eval/__init__.py"},{"blob":"73084098ba036d9b190fccae429a36293429cbbc","path":"src/saccade/perception/eval/_cuda/r1_bridge_replay.cu"},{"blob":"42b1d67fc2b5148fd8ea8a070b73788c65915b15","path":"src/saccade/perception/eval/_decimal_hash_tools.py"},{"blob":"c23172f7aff0254e4f0f163fb2e6e355cbaec5f4","path":"src/saccade/perception/eval/_torch_graphs.LICENSE"},{"blob":"f1851d56a5bc364dae0edef54d4776a52ed1d23a","path":"src/saccade/perception/eval/_torch_graphs.py"},{"blob":"a3c88af5c2a92c5ae6e09ff7713a3fdbe6084909","path":"src/saccade/perception/eval/assoc_basis.py"},{"blob":"53ee226db12b93d0c25f6addaed1a468d0d9f69f","path":"src/saccade/perception/eval/assoc_stats_env.py"},{"blob":"6ab3b329844d365bb5b24a666b7931da9159e127","path":"src/saccade/perception/eval/cheb_gr_merge.py"},{"blob":"ef20314fac725682eccb6d4ad2e2ff8e79e5e429","path":"src/saccade/perception/eval/cheb_gr_online.py"},{"blob":"b1d82e9c44110e362cd8d41a319c0c26f73247c0","path":"src/saccade/perception/eval/clean_fifo_bank.py"},{"blob":"f411fed46e999afa4f357418a6992e46b42c7f94","path":"src/saccade/perception/eval/concurrent_detector.py"},{"blob":"a42896292f830644036378c78387e5ba980e5acc","path":"src/saccade/perception/eval/concurrent_evaluator.py"},{"blob":"2fe72adaa2ba3500f26a14f01159ac0e8e3075fb","path":"src/saccade/perception/eval/config.py"},{"blob":"6fec2225bbf1d9c76d868c884e04bc5a77223fe0","path":"src/saccade/perception/eval/consumer_a_bridge_fidelity.py"},{"blob":"ad8af1a5c5026957fe641e4af35eb496d978174d","path":"src/saccade/perception/eval/cpp_runner.py"},{"blob":"d3c591481260ed67811cc5bc35c7ade3b4778e9d","path":"src/saccade/perception/eval/cuda_capture.py"},{"blob":"8ffe02359dbd4cd1dca53941311c7c3e69a8beb7","path":"src/saccade/perception/eval/d_online_stage2.py"},{"blob":"86373b7e8973fb90043b506a2e55495d925755fa","path":"src/saccade/perception/eval/d_online_stage2_q4.py"},{"blob":"2f28d31eb82c17fc5b26751ff3baf8d23daf6991","path":"src/saccade/perception/eval/d_online_stage2_q45_atlas.py"},{"blob":"99c586824ccd5ff5bb58e11f4c47c856e84731f0","path":"src/saccade/perception/eval/decimal_hash.py"},{"blob":"fd7a9cc081346a8b42995f0f313bc8d84ae2256d","path":"src/saccade/perception/eval/detection.py"},{"blob":"d941d7676bed5a5ba51cf260e47d33bf8e2c3d0c","path":"src/saccade/perception/eval/detection_filters.py"},{"blob":"fdfd11a27852cd15790842c029302ec2544164d3","path":"src/saccade/perception/eval/evaluator.py"},{"blob":"47b542a1cce7af3853bb53620f31eb220182b52a","path":"src/saccade/perception/eval/external_fp_model.py"},{"blob":"f35748488b0635d9b57935fba1034512536c2f38","path":"src/saccade/perception/eval/external_fp_rows.py"},{"blob":"99b9982228a1aba9cc56b668f528bb0964a44729","path":"src/saccade/perception/eval/frame_ledger.py"},{"blob":"354843565983f8909417bf0041691d9b4972aaf7","path":"src/saccade/perception/eval/gmc.py"},{"blob":"056a835fd4a5651137b1d3bca6b4c6ec9ed027c4","path":"src/saccade/perception/eval/helpers.py"},{"blob":"e69358966e65e9000e2e99d9495f2b8e6090024a","path":"src/saccade/perception/eval/lifecycle.py"},{"blob":"c2405b343f7882ae6cf9613baefde74f86cf479a","path":"src/saccade/perception/eval/metrics.py"},{"blob":"13baca13eafdf3eb966b06a36066c82ba755238b","path":"src/saccade/perception/eval/motion_model.py"},{"blob":"9750eeb5b93b758bc9431263ac3f3ed46dbb2d1a","path":"src/saccade/perception/eval/motr_evaluator.py"},{"blob":"2c357c8d06977b484963132e46563412f06536bb","path":"src/saccade/perception/eval/motr_model.py"},{"blob":"27eb842ceb481444826d45391a71f6090b58adaf","path":"src/saccade/perception/eval/multi_birth.py"},{"blob":"2fe8d500a35602cb4ce6de4e57498908bb7b5747","path":"src/saccade/perception/eval/multi_stream.py"},{"blob":"42624727154dbb791b556c481fe0a016d2b9a3d6","path":"src/saccade/perception/eval/occ_audit.py"},{"blob":"6395b8502a638dc266754e79a7a15385e82e56b0","path":"src/saccade/perception/eval/occ_audit_seq_conditioning.py"},{"blob":"e28bb3543f644e5e87a66973200cb28dc35e4f71","path":"src/saccade/perception/eval/output_bank.py"},{"blob":"f05716d9091e5b80df3d22000f2e99177c55048e","path":"src/saccade/perception/eval/patch_concurrent.py"},{"blob":"eb4c7a8c7381092926e68c0657cb94a8522dd38d","path":"src/saccade/perception/eval/pipeline.py"},{"blob":"153334e9ed77c2c15e7374c31da7a0a91f940316","path":"src/saccade/perception/eval/pool.py"},{"blob":"1ae1b4bce16eaebfbc66102cb8160fd0d33d18b4","path":"src/saccade/perception/eval/portable_or_tail.py"},{"blob":"70944d9bbd11866bc5149caa0f7d7dbb35b1ca53","path":"src/saccade/perception/eval/post_merge.py"},{"blob":"6a93d1b257241ac255d69c999baa93310a18d7cb","path":"src/saccade/perception/eval/preprocess.py"},{"blob":"7e61ff44262265717b6706c37dc4db4f184df243","path":"src/saccade/perception/eval/quality.py"},{"blob":"465eec147aac9234407bfdcbbec8100f9c6a769e","path":"src/saccade/perception/eval/relink.py"},{"blob":"54dfe270cf14183576c80b226b50d16ce18e8fb7","path":"src/saccade/perception/eval/reporting.py"},{"blob":"fa9d71052185855a7d9ef89f43344989456ef762","path":"src/saccade/perception/eval/runner.py"},{"blob":"0f2fd9fb53fa5aa3fafa3de9e4ba61aec10dd9d0","path":"src/saccade/perception/eval/safe_region_assetization_r1.py"},{"blob":"fc59033b995e68ce4ecfcaecc980dcb4d26629e3","path":"src/saccade/perception/eval/safe_region_assetization_r11.py"},{"blob":"00c8787f42c89aeb1358955279da0d3c82f6eb16","path":"src/saccade/perception/eval/scene_adapt.py"},{"blob":"7bb1554fb72f213610ff1373b419191fb042f681","path":"src/saccade/perception/eval/sequence_launcher.py"},{"blob":"1aa36ce8b0c0b35afb1ca031fe760eeeac9b0b30","path":"src/saccade/perception/eval/sequence_selection.py"},{"blob":"f61648ed4db7828e569dce5d6daa0d0159233d1b","path":"src/saccade/perception/eval/signal_tables.py"},{"blob":"7122d6ec6a221286219ccd8168a9bbd8feadbcee","path":"src/saccade/perception/eval/stages.py"},{"blob":"1df1531f8580af790bb1ad425e652c0e2b7a0086","path":"src/saccade/perception/eval/streaming.py"},{"blob":"a5fb3f54b0c98fbf53cfb6c24116a31f12cc43d1","path":"src/saccade/perception/eval/streaming_handover.py"},{"blob":"03fc7c4f66c5e42bed9de2fcdbcc4c564cb11cfd","path":"src/saccade/perception/eval/tracking.py"},{"blob":"2c5a9c68fe172feefbf789c72bb2c3168a4632a1","path":"src/saccade/perception/eval/types.py"},{"blob":"406ce830ca114ebae059abd680b5bb7926dd353d","path":"src/saccade/perception/eval/utils.py"},{"blob":"b2c905f80a7db413e00cd109c0f2e264af752c23","path":"src/saccade/perception/feature_bank.py"},{"blob":"066d6446c1ec02131c6ac06af02e45bcad2038c5","path":"src/saccade/perception/feature_extractor.py"},{"blob":"4b36cede90da7caa6a7235fbfaabde5b14f4337f","path":"src/saccade/perception/multistream_mamba_server.py"},{"blob":"fa26d7446f46b3d15ca931dcee2a5ad1650b64db","path":"src/saccade/perception/online_telemetry.py"},{"blob":"a1fea072a0f0931e7058b71b8987b10e6f643c08","path":"src/saccade/perception/online_tracker_adapter.py"},{"blob":"917d6d8ce53256ccf82826ee6019365d22e74405","path":"src/saccade/perception/reid/__init__.py"},{"blob":"88e59fae5b8e65b9fccac1e765d3a79d5f9b844e","path":"src/saccade/perception/reid/cheb_gr.py"},{"blob":"cca038dd338735fd60444370af0e5c84083ad06b","path":"src/saccade/perception/roi_selector.py"},{"blob":"87ac48f84c468b42a5b189246f55ba4c838c0eaa","path":"src/saccade/perception/temporal_yolo/__init__.py"},{"blob":"595cbcac84aba0e1ec5ecaa47db18d20c2ab5907","path":"src/saccade/perception/temporal_yolo/box_utils.py"},{"blob":"736633d955751b3534f81de7012cd18d04d3f639","path":"src/saccade/perception/temporal_yolo/data_pipeline.py"},{"blob":"adc443478cb434c5be524b63b5cca9d2dc2dc53d","path":"src/saccade/perception/temporal_yolo/dataset.py"},{"blob":"1225f2e246208612787dac62262eb1d6710de6ab","path":"src/saccade/perception/temporal_yolo/dataset_joint.py"},{"blob":"243ce87da9761959c3fc8a3115f1fb7294ffe99d","path":"src/saccade/perception/temporal_yolo/evaluator.py"},{"blob":"b436c303c6c189a45c3bb9f96e88695c043cdb3e","path":"src/saccade/perception/temporal_yolo/loss.py"},{"blob":"a38f66f077764663532cd58ef3c6db288ac882dc","path":"src/saccade/perception/temporal_yolo/mamba_gated_detector.py"},{"blob":"ddd4524c9b106c79a82f578495db42e9aec0a651","path":"src/saccade/perception/temporal_yolo/mamba_head.py"},{"blob":"86823dc06dd39249d29fae0cee360e3154a8a5de","path":"src/saccade/perception/temporal_yolo/model.py"},{"blob":"52ef79413716ddf259177800954a5df6341c716f","path":"src/saccade/perception/temporal_yolo/ngla_assigner.py"},{"blob":"b10421a3d69a437af6ab29f691ec08c41c88a3aa","path":"src/saccade/perception/temporal_yolo/reid_conv_head.py"},{"blob":"f1e9e7b82a02e23a8a68be7085daf48256dfc741","path":"src/saccade/perception/temporal_yolo/reid_head.py"},{"blob":"9c77952230461c96f7056e4a69721a9a283ee781","path":"src/saccade/perception/temporal_yolo/roi_embedder.py"},{"blob":"c38ba1436d496e610c4cac9b01c58c64d49c3fb2","path":"src/saccade/perception/temporal_yolo/teacher_head_detector.py"},{"blob":"a526e982c92cb8ea45f1704b5eaa1823d6a07081","path":"src/saccade/perception/temporal_yolo/temporal_fusion.py"},{"blob":"b2f633b699b741c1274188e8eecac303ad308726","path":"src/saccade/perception/temporal_yolo/train_config.py"},{"blob":"fa7ad4a534eea61d30131006694e8b13a676a6d3","path":"src/saccade/perception/temporal_yolo/training_utils.py"},{"blob":"965146dffd03830e4745e1fb4d8e1f9451b63a7c","path":"src/saccade/perception/temporal_yolo/yolo_conditioned.py"},{"blob":"f5eb48ec6b9406408391c1e993637eaea08dc88f","path":"src/saccade/perception/temporal_yolo/yolo_gated_detector.py"},{"blob":"63e54ad4e0d521636aacb1d57b40fc195de013c6","path":"src/saccade/perception/temporal_yolo/yolo_joint.py"},{"blob":"8c15ab2105bb4e9b7add35a00841dac057243631","path":"src/saccade/perception/text_encoder.py"},{"blob":"af4dcac88096ed2ff31ca02fc58ef235dba20d1e","path":"src/saccade/perception/tracking/__init__.py"},{"blob":"a4eba99ac6e87c59248039f761b24237fcd7d136","path":"src/saccade/perception/tracking/dynamic_reid.py"},{"blob":"8d2bbde434b57a5eac865286ffa769511f85fc49","path":"src/saccade/perception/tracking/fpn_reid.py"},{"blob":"51583421cde091288ecdbf2ad49fa530486c8796","path":"src/saccade/perception/tracking/fpn_reid_cuda.py"},{"blob":"1db62e03fb18e8b48f449fedb287e4f68eaa0f66","path":"src/saccade/perception/tracking/reorder.py"},{"blob":"74250709a91e25f0162a8c1cde7ee32d8b06ebe2","path":"src/saccade/perception/tracking/tracker_gpu.py"},{"blob":"300b4860656823e644363f691e52ec181f5198be","path":"src/saccade/perception/workbench.py"},{"blob":"6d531773b0bd6059d7a0a505d1807e659e6ad4ad","path":"src/saccade/perception/zero_copy.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/pipeline/__init__.py"},{"blob":"468400a353831fd922386bc6fa2999e27fc94617","path":"src/saccade/pipeline/health.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/resource/__init__.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/resource/frame_selector.py"},{"blob":"21c35a9f3307e263ed73d5bcdbbdce87e4936e44","path":"src/saccade/resource/resource_manager.py"},{"blob":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391","path":"src/saccade/storage/__init__.py"},{"blob":"0237ce4d7de6b575ac25012693ca906506997d26","path":"src/saccade/storage/chroma_store.py"},{"blob":"3a68c95ff137e00d92feb7f1592215162458b6fb","path":"src/saccade/storage/redis_cache.py"},{"blob":"98623924f5898b5481cec2f24ca15c2f9d832a91","path":"src/tracking/CMakeLists.txt"},{"blob":"9031e1c2fef20cc0d2f6a9187c466ac5f66f68bb","path":"src/tracking/cheb_gr_kreciprocal.cpp"},{"blob":"23858b740a58a047dc89df56f458fab4a8b6e7d1","path":"src/tracking/cheb_gr_online.cpp"},{"blob":"f2a66e7c8d6d295497de0e54143fa36383f8f859","path":"src/tracking/cheb_gr_online_python.cpp"},{"blob":"32ecf325e53c726d6cd03d4f837a22bdeeab9efa","path":"src/tracking/copy_pad.cu"},{"blob":"c4401d30c2716c7885896a40c72fa98ca9bc189e","path":"src/tracking/crop_pool.cpp"},{"blob":"bdb078b113116a07471e750e334a4445609566b5","path":"src/tracking/crop_ring_store.cpp"},{"blob":"55842d780f9974a0643bc964e9c08af6a3207d3d","path":"src/tracking/dynamic_reid_controller.cpp"},{"blob":"20e53b17d5782fd7e78c50035501c137be0554ce","path":"src/tracking/eval_pool.cpp"},{"blob":"3e15c1c2d16e0700e16284b495aee2ec8c2ec862","path":"src/tracking/eval_python.cpp"},{"blob":"df349e026d715175023f3f956badf3fa6a726a88","path":"src/tracking/fpn_reid_binding.cpp"},{"blob":"9ad815f6b5053202a87b3af31f3bf54b0ba9c75f","path":"src/tracking/fpn_reid_cuda.cu"},{"blob":"f574aa28b2ad08718f90f846e6db2539baec0c45","path":"src/tracking/frame_buffer.cpp"},{"blob":"cddf5768adb5ccf60110baab80b651072ea5b2e3","path":"src/tracking/gmc.cpp"},{"blob":"e6da03d554cb38fe0d53ce0f6e49d59281549dc5","path":"src/tracking/gmc_cpu.cpp"},{"blob":"9ff6dc1b90b10a266cec9b9d51f114607d7399a5","path":"src/tracking/gmc_kernel.cu"},{"blob":"a52af391ddea2ebc1ed45860d27b6e723b5de2c0","path":"src/tracking/legacy_env.cpp"},{"blob":"47673abaed43d5ca4611f5dd5197280a0aa38135","path":"src/tracking/mamba_scan.cu"},{"blob":"cd2d4e06b64b7c1e356098c06c7b98bbde2ca452","path":"src/tracking/mamba_scan_plugin.cpp"},{"blob":"6b19e9a359fd04f344b92e7d2c596fea4fcbb505","path":"src/tracking/mamba_scan_torchop.cpp"},{"blob":"762d9859825e8ef855cc3ca0d27862483e07af6f","path":"src/tracking/multi_signal_birth_pool.cu"},{"blob":"f1b67945ec9c2b92ce859589c0f52ec554da964f","path":"src/tracking/pipeline.cpp"},{"blob":"cb7cfcd537d35f4b546f4a6f38e21e093a8e5f20","path":"src/tracking/private_workload_stats.cu"},{"blob":"07381c76eece226a68d557d51a8ed41b54756602","path":"src/tracking/quality_filter.cu"},{"blob":"e3683966dd6eaecf702ec5d87a2ab85d5478b8ef","path":"src/tracking/reid_queue.cpp"},{"blob":"33f468b025e4eb67131aa93027c4de6c19e34413","path":"src/tracking/relink_gate.cu"},{"blob":"f720c3e185934a805fccd3330214f598450df06f","path":"src/tracking/seq_runner.cpp"},{"blob":"b766afef10deb1c51db823382f5e8fa3d5d72a84","path":"src/tracking/temporal_birth_pool.cu"},{"blob":"8792876da168b1041a3623341b18be40a7328366","path":"src/tracking/tracker_gpu.cu"},{"blob":"9650840e18faca136d08a14709a3cfea24d86092","path":"src/tracking/tracker_gpu_python.cpp"},{"blob":"112604dbc35922a2ee4eb1320a67235a1ceefdb6","path":"src/tracking/tracker_params.cpp"},{"blob":"515aca9f82df52e5f642d800e8455a6a19b10f87","path":"src/tracking/workbench.cpp"}]},"runtime_inputs":{"digest":"0b839df0b89141959a4ae4762c727d446a2292016832ab468ce48334fff1a3d5","identity_fixture":{"digest":"a5e12d77b362ee9d64580336cb21f79808383a8a50f384eb0c60880b658f086e","file_count":1053,"sequence":"MOT17-09-SDP"},"measurement_fixture":{"digest":"6a3e44f03d2fcebbef7dd75a0f9b614dae93cc5a338e0dc3ce1aeab76b75833c","file_count":10653,"sequences":[{"file_count":1203,"sequence":"MOT17-02-SDP"},{"file_count":2103,"sequence":"MOT17-04-SDP"},{"file_count":1677,"sequence":"MOT17-05-SDP"},{"file_count":1053,"sequence":"MOT17-09-SDP"},{"file_count":1311,"sequence":"MOT17-10-SDP"},{"file_count":1803,"sequence":"MOT17-11-SDP"},{"file_count":1503,"sequence":"MOT17-13-SDP"}]},"runtime_assets":{"digest":"50e032e3b4d1e7b25bb7b78c13b4a219fa23ab0a071d947608b34c3d83bc9277","file_count":5},"third_party_runtime":{"digest":"f458583b30a32cc63c00dfed3403154a4c7226d8fbf8a3dff52ada3e0c14f55a","file_count":45}}},"coordinate":{"decision_surface":"9b7faeb0f76a43483a924ac4028361bb155373027e9fe44e4cffbd5f1a2b0369","environment":"0afea37b29c742e2c361ae748435ac09f0c63edb7b930da2b5a6e1cbdde62465","identity_semantics":"7a5a4ee69f78b0851e0fc2d86dfa72ecbcd31f9dd1602b0531048eb25b9f5169","implementation":"11263f7cae3f8bced7974efb68d9bd8af8dd4b805a52ee88aacf07595f0ff51a","runtime_inputs":"0b839df0b89141959a4ae4762c727d446a2292016832ab468ce48334fff1a3d5"},"equivalence":{"note":"Probe equality is not measurement-domain equivalence. A future accepted proof requires a versioned verifier and full declared scope.","proof":null,"state":"unproven"},"probe":{"build_witness":{"artifacts":[{"coordinate":"libsaccade_scan_plugin.so","length":122864,"path":"/home/ray/developer/ai/saccade-worktrees/537-runtime-monitor/build/runtime_identity/libsaccade_scan_plugin.so","role":"tensorrt_scan_plugin","sha256":"d7182ddaf213a0363ff24e9ca98171582667b6e6663a213f4b643c3a0ccdaae7"},{"coordinate":"saccade_tracking_ext.cpython-312-x86_64-linux-gnu.so","length":4140600,"path":"/home/ray/developer/ai/saccade-worktrees/537-runtime-monitor/build/runtime_identity/saccade_tracking_ext.cpython-312-x86_64-linux-gnu.so","role":"tracking_extension","sha256":"66cc7a2fa8d5ba9e889bcec6bb080a8f303244431f3a92b1e67672934749c2e0"}],"build_dir":"/home/ray/developer/ai/saccade-worktrees/537-runtime-monitor/build/runtime_identity","digest":"5b261e81db3493a828e52b56b56387e5feba2df8e2c434777ba6463d4fbaecf0","schema":"h2_build_witness_v1"},"determinism_pinned":true,"digest":"2dabed0bc05e3bc75ec2115b3213f5c0b1aed3e837c22dd2325109339e4719b5","kind":"identity_probe","mode":"identity","preset":"configs/presets/mamba_whole_graph_m.yaml","recorder_sha256":"9f454c2d005d8d6eff03109e18be82ae12896ec50fad3546f7a3937e286657c3","repeats":1,"resolved_fingerprint":"c7a6dbb35168cba75249b7f2c67d8455b6f634732493e455a4bb920aab6d7782","schema":"h2_behavior_probe_result_v1","sequence":"MOT17-09-SDP","state":"computed","sufficiency":"fixture_change_detector_only"},"publication_complete":true,"schema":"h2_runtime_coordinate_probe_v1","witness":{"head":"58a8fc765ac9ba017bc8529861e41da1c2451b3b","note":"HEAD/tree are navigation witness. The coordinate digests working-tree content; the Layer-P certificate additionally requires a selected base.","tree":"eaf38bcf8a44d9d5f59f3b195b812dff31d7cc8a","worktree_dirty":false}} diff --git a/src/saccade/perception/dispatcher.py b/src/saccade/perception/dispatcher.py index 6cd72ec0..21316d16 100644 --- a/src/saccade/perception/dispatcher.py +++ b/src/saccade/perception/dispatcher.py @@ -1,4 +1,5 @@ import asyncio +import functools import inspect import queue import re @@ -59,6 +60,27 @@ class _StreamFrame: frame: torch.Tensor | Any # RGB [H,W,3] uint8 or Nv12Frame timestamp: float enqueued_at: float + seq: int = 0 # per-stream frame identity, 1-based (#538 D3-F02) + + +@dataclass +class _StreamCounts: + """Per-stream frame accounting for ``WorkbenchPool`` (#538 D3-F02). + + Counted for the lifetime of the pool (across restarts). Whenever the + pool is quiescent: ``submitted == dequeued + dropped + discarded_on_stop + + queued``. ``gaps``/``gap_frames`` are what the worker observes: frame + identities it never dequeued (dropped, or discarded by a stop). + """ + + submitted: int = 0 + dropped: int = 0 + overflow_events: int = 0 + dequeued: int = 0 + discarded_on_stop: int = 0 + last_dequeued_seq: int = 0 + gaps: int = 0 + gap_frames: int = 0 def _match_keypoints_to_tracks( @@ -124,8 +146,10 @@ def __init__( use_nv12: bool = False, stop_event: Optional[threading.Event] = None, on_failure: Optional[Callable[[str, Exception], None]] = None, + on_dequeue: Optional[Callable[[_StreamFrame], None]] = None, ): super().__init__(daemon=True, name=f"wb-{stream_id}") + self.on_dequeue = on_dequeue self.stop_event = stop_event if stop_event is not None else threading.Event() self.on_failure = on_failure self.stream_id = stream_id @@ -151,6 +175,8 @@ def run(self) -> None: continue if item is None: break # legacy stop signal + if self.on_dequeue is not None: + self.on_dequeue(item) self._process(item) except Exception as e: if self.on_failure is None: @@ -351,8 +377,16 @@ def __init__( self._stats_window: deque[float] = deque(maxlen=stats_window) self._queue_wait_window: deque[float] = deque(maxlen=stats_window) + # #538 D3-F02: drops = frames actually dropped by overflow; one + # overflow (a put that found the queue full) may drop up to 4. self._drop_count = 0 + self._overflow_events = 0 self._lock = threading.Lock() + # Held by put_frame across its state check and the whole + # drain-and-enqueue, and by stop() while it drains: every frame is + # counted exactly once (dropped, dequeued, discarded or queued). + self._stream_locks = [threading.Lock() for _ in range(n_streams)] + self._stream_counts = [_StreamCounts() for _ in range(n_streams)] # #538 D2-WB-1: lifecycle state, the first worker failure, and counters. self._state = PoolState.CREATED @@ -522,6 +556,7 @@ def _cb( use_nv12=self.use_nv12, stop_event=self._stop_event, on_failure=self._on_worker_failure, + on_dequeue=functools.partial(self._on_dequeue, i), ) worker.start() self._workers.append(worker) @@ -540,32 +575,63 @@ def put_frame( ``WorkbenchPoolFailed``, any other state ``WorkbenchPoolNotRunning``. Any other stream id raises ``ValueError``. """ + self._check_running() + idx = self._stream_index(stream_id) + with self._stream_locks[idx]: + # Re-checked under the stream lock: stop() drains under it too, so + # a frame is either refused here or counted by that drain. + self._check_running() + q = self._queues[idx] + counts = self._stream_counts[idx] + counts.submitted += 1 + item = _StreamFrame( + frame=frame, + timestamp=timestamp, + enqueued_at=time.perf_counter(), + seq=counts.submitted, + ) + try: + q.put_nowait(item) + return + except queue.Full: + pass + # Latest-wins: drain every queued frame, then enqueue the new one. + # Only a holder of this lock adds to q, so the put cannot fail. + dropped = 0 + while True: + try: + q.get_nowait() + except queue.Empty: + break + dropped += 1 + q.put_nowait(item) + counts.dropped += dropped + counts.overflow_events += 1 + with self._lock: + self._drop_count += dropped + self._overflow_events += 1 + if self.telemetry is not None: + self.telemetry.increment("workbench_drops", dropped) + self.telemetry.increment("workbench_overflow_events") + + def _check_running(self) -> None: if self._state is PoolState.FAILED: raise self._failed() if self._state is not PoolState.RUNNING: raise WorkbenchPoolNotRunning( f"WorkbenchPool is {self._state.value}; put_frame() needs running" ) - q = self._queues[self._stream_index(stream_id)] - item = _StreamFrame( - frame=frame, - timestamp=timestamp, - enqueued_at=time.perf_counter(), - ) - try: - q.put_nowait(item) - except queue.Full: - # Latest-wins: drain oldest and enqueue new one - with self._lock: - self._drop_count += 1 - if self.telemetry is not None: - self.telemetry.increment("workbench_drops") - try: - while not q.empty(): - q.get_nowait() - except queue.Empty: - pass - q.put_nowait(item) + + def _on_dequeue(self, idx: int, item: _StreamFrame) -> None: + """Runs on the worker: the frame left the queue for processing.""" + with self._stream_locks[idx]: + counts = self._stream_counts[idx] + counts.dequeued += 1 + missing = item.seq - counts.last_dequeued_seq - 1 + if missing > 0: + counts.gaps += 1 + counts.gap_frames += missing + counts.last_dequeued_seq = item.seq def _stream_index(self, stream_id: str) -> int: m = re.fullmatch(r"stream_(0|[1-9][0-9]*)", stream_id) @@ -601,9 +667,10 @@ def _deliver( self.on_result(sid, ts, ids, boxes, classes, kps) def stop(self, timeout: float = 5.0) -> None: - """Stop all workers within ``timeout`` seconds, then shut down the batcher. + """Stop workers and wait for admission within ``timeout``, then shut down. - The worker joins share one deadline. If a worker is still alive at the + Worker joins and stream-lock acquisition share one deadline. If a + worker is still alive or admission holds a stream lock at the deadline, the batcher is kept, the state is STOPPING, and ``WorkbenchPoolStopTimeout`` is raised; call ``stop()`` again to retry. ``batcher.shutdown()`` runs after the deadline with its own bound @@ -631,16 +698,30 @@ def stop(self, timeout: float = 5.0) -> None: "the batcher was not shut down" ) - discarded = 0 - for q in self._queues: - while True: - try: - q.get_nowait() - except queue.Empty: - break - discarded += 1 - with self._lock: - self._discarded_on_stop += discarded + for idx, q in enumerate(self._queues): + stream_lock = self._stream_locks[idx] + if not stream_lock.acquire(timeout=max(deadline - time.monotonic(), 0.0)): + with self._lock: + self._stop_timeouts += 1 + raise WorkbenchPoolStopTimeout( + f"WorkbenchPool stream_{idx} admission still active after " + f"{timeout}s; the batcher was not shut down" + ) + try: + n = 0 + while True: + try: + q.get_nowait() + except queue.Empty: + break + n += 1 + self._stream_counts[idx].discarded_on_stop += n + # A later stream can time out. Publish each completed drain + # now, so retrying stop neither loses nor counts it twice. + with self._lock: + self._discarded_on_stop += n + finally: + stream_lock.release() if self._batcher is not None: # A raise propagates with the batcher kept and the state STOPPING. if self._batcher.shutdown() is False: @@ -659,6 +740,12 @@ def get_stats(self) -> dict[str, Any]: """Return current stats. Does not reset counters.""" with self._lock: drops = self._drop_count + overflow_events = self._overflow_events + streams = {} + for idx, counts in enumerate(self._stream_counts): + with self._stream_locks[idx]: + queued = self._queues[idx].qsize() if idx < len(self._queues) else 0 + streams[f"stream_{idx}"] = {**vars(counts), "queued": queued} stats = list(self._stats_window) wait = list(self._queue_wait_window) @@ -678,7 +765,11 @@ def get_stats(self) -> dict[str, Any]: "resource_monitor_error": "", "active_streams": self.n_streams, "queue_depth": sum(q.qsize() for q in self._queues), + # #538 D3-F02: frames actually dropped by overflow, and how many + # puts found a full queue (one overflow drops up to 4 frames). "drops": drops, + "overflow_events": overflow_events, + "streams": streams, "e2e_ms_mean": round(float(np.mean(stats)), 2) if stats else 0.0, "e2e_ms_p95": round(_percentile(stats, 95), 2) if stats else 0.0, "e2e_ms_p99": round(_percentile(stats, 99), 2) if stats else 0.0, @@ -689,9 +780,10 @@ def get_stats(self) -> dict[str, Any]: } def reset_stats(self) -> None: - """Reset the drop counter.""" + """Reset ``drops`` and ``overflow_events``; per-stream counts are kept.""" with self._lock: self._drop_count = 0 + self._overflow_events = 0 class DispatcherState(Enum): diff --git a/tests/unit/test_workbench_pool_overflow_contract_538.py b/tests/unit/test_workbench_pool_overflow_contract_538.py new file mode 100644 index 00000000..e0fb9785 --- /dev/null +++ b/tests/unit/test_workbench_pool_overflow_contract_538.py @@ -0,0 +1,521 @@ +"""#538 D3-F02: WorkbenchPool overflow counts the frames it actually drops. + +Owner ruling (#538 comment 6393037794, async_ownership_538.md §9): keep +latest-wins / drain-all, but ``drops`` is the number of frames actually +dropped, ``overflow_events`` the number of overflows, ``discarded_on_stop`` +stays separate, and every stream keeps frame identity with an observable +gap. Concurrent producers must not drop a frame without recording it. +Contract: async_ownership_538.md §10. + +Same harness as the D2-WB tests: each scenario runs in a fresh interpreter +under an outside timeout, with CPU fakes. +""" + +# scope: perception +# function: contract +# lifecycle: active + +from __future__ import annotations + +import json + +import pytest + +from tests.unit.test_workbench_pool_lifecycle_observed_538 import _run + +_TELEMETRY = """ +from saccade.perception.online_telemetry import OnlineTelemetry +TEL = OnlineTelemetry() +def make_counted_pool(n=1): + global POOL + POOL = d.WorkbenchPool( + "fake.engine", n_streams=n, on_result=on_result, input_hw=(8, 8), telemetry=TEL + ) + return POOL +def counters(): + s = TEL.summary() + return s.get("workbench_drops", 0), s.get("workbench_overflow_events", 0) +""" + + +def _streams(out: dict[str, str]) -> dict[str, dict[str, int]]: + return json.loads(out["streams"]) + + +def test_one_overflow_drops_and_counts_every_queued_frame() -> None: + """Ruling example: drain 4 frames, enqueue the new one -> drops += 4, + overflow_events += 1 (it used to be drops += 1 for 4 lost frames).""" + out = _run( + _TELEMETRY + + """ +async def main(): + MODE["process"] = "block" + pool = make_counted_pool(1) + await pool.start() + pool.put_frame("stream_0", frame(), 0.0) # taken by the worker + wait_until(lambda: pool.get_stats()["queue_depth"] == 0) + for i in range(1, 5): + pool.put_frame("stream_0", frame(), float(i)) # fills the queue (4) + pool.put_frame("stream_0", frame(), 5.0) # overflow + st = pool.get_stats() + print(f"@queue_depth={st['queue_depth']}") + print(f"@drops={st['drops']}") + print(f"@overflow_events={st['overflow_events']}") + print(f"@telemetry={counters()}") + GATE.set() + wait_until(lambda: len(RESULTS) == 2) + await asyncio.sleep(0.05) + pool.stop() + print(f"@results={RESULTS}") + print("@streams=" + json.dumps(pool.get_stats()["streams"])) +import json +asyncio.run(main()) +""" + ) + assert out is not None + assert out["queue_depth"] == "1" + assert out["drops"] == "4" + assert out["overflow_events"] == "1" + assert out["telemetry"] == "(4, 1)" + assert out["results"] == "[0.0, 5.0]" # frames 1..4 were dropped + s0 = _streams(out)["stream_0"] + assert s0 == { + "submitted": 6, + "dropped": 4, + "overflow_events": 1, + "dequeued": 2, + "discarded_on_stop": 0, + "last_dequeued_seq": 6, + "gaps": 1, + "gap_frames": 4, + "queued": 0, + } + + +def test_repeated_overflows_accumulate_frames_and_events() -> None: + out = _run( + _TELEMETRY + + """ +async def main(): + MODE["process"] = "block" + pool = make_counted_pool(1) + await pool.start() + pool.put_frame("stream_0", frame(), 0.0) + wait_until(lambda: pool.get_stats()["queue_depth"] == 0) + for i in range(1, 10): # 9 more: two overflows + pool.put_frame("stream_0", frame(), float(i)) + st = pool.get_stats() + print(f"@drops={st['drops']}") + print(f"@overflow_events={st['overflow_events']}") + print(f"@queue_depth={st['queue_depth']}") + print(f"@telemetry={counters()}") + pool.reset_stats() + st = pool.get_stats() + print(f"@after_reset={st['drops']},{st['overflow_events']},{st['streams']['stream_0']['dropped']}") + GATE.set() + wait_until(lambda: pool.get_stats()["queue_depth"] == 0) + pool.stop() +asyncio.run(main()) +""" + ) + assert out is not None + # 1..4 fill, 5 drains 4; 6..8 fill to 4, 9 drains 4. + assert out["drops"] == "8" + assert out["overflow_events"] == "2" + assert out["queue_depth"] == "1" + assert out["telemetry"] == "(8, 2)" + # reset_stats() resets the totals; per-stream counts are kept. + assert out["after_reset"] == "0,0,8" + + +def test_discarded_on_stop_is_not_an_overflow_drop() -> None: + out = _run( + _TELEMETRY + + """ +async def main(): + MODE["process"] = "block" + pool = make_counted_pool(1) + await pool.start() + pool.put_frame("stream_0", frame(), 0.0) + wait_until(lambda: pool.get_stats()["queue_depth"] == 0) + for i in range(1, 4): + pool.put_frame("stream_0", frame(), float(i)) # 3 queued, no overflow + try: + pool.stop(timeout=0.5) + except d.WorkbenchPoolStopTimeout: + pass + GATE.set() + wait_until(lambda: not any(w.is_alive() for w in pool._workers)) + pool.stop() + st = pool.get_stats() + print(f"@drops={st['drops']}") + print(f"@overflow_events={st['overflow_events']}") + print(f"@discarded_on_stop={st['discarded_on_stop']}") + print(f"@telemetry={counters()}") + print("@streams=" + json.dumps(st["streams"])) +import json +asyncio.run(main()) +""" + ) + assert out is not None + assert (out["drops"], out["overflow_events"], out["discarded_on_stop"]) == ( + "0", + "0", + "3", + ) + assert out["telemetry"] == "(0, 0)" + s0 = _streams(out)["stream_0"] + assert s0["submitted"] == 4 and s0["dequeued"] == 1 + assert s0["dropped"] == 0 and s0["discarded_on_stop"] == 3 + + +def test_concurrent_producers_never_lose_an_unrecorded_frame() -> None: + """8 producer threads per stream against a slow worker. Before the fix a + racing producer could refill the queue between the drain and the final + put_nowait (queue.Full escaped put_frame), and every overflow counted 1. + + After stop() every frame is accounted for exactly once, per stream: + submitted == dequeued + dropped + discarded_on_stop + queued; the totals + and the telemetry agree with the per-stream counts. + """ + out = _run( + _TELEMETRY + + """ +import json +orig = FakeWorkbench.process_frame +def slow(self, *a, **kw): + time.sleep(0.001) + return orig(self, *a, **kw) +FakeWorkbench.process_frame = slow +ERRORS = [] +async def main(): + pool = make_counted_pool(2) + await pool.start() + def produce(sid, k): + for i in range(400): + try: + pool.put_frame(sid, frame(), float(k * 1000 + i)) + except Exception as e: + ERRORS.append(type(e).__name__) + threads = [ + threading.Thread(target=produce, args=(f"stream_{j % 2}", j)) for j in range(16) + ] + for t in threads: + t.start() + for t in threads: + t.join() + pool.stop() + st = pool.get_stats() + print(f"@errors={sorted(set(ERRORS))}") + print(f"@drops={st['drops']}") + print(f"@overflow_events={st['overflow_events']}") + print(f"@discarded_on_stop={st['discarded_on_stop']}") + print(f"@telemetry={list(counters())}") + print("@streams=" + json.dumps(st["streams"])) + print(f"@thread_errors={THREAD_ERRORS}") +asyncio.run(main()) +""", + timeout=120.0, + ) + assert out is not None + assert out["errors"] == "[]" + assert out["thread_errors"] == "[]" + streams = _streams(out) + for sid, c in streams.items(): + assert c["submitted"] == 8 * 400, sid + assert c["queued"] == 0, sid + assert ( + c["submitted"] == c["dequeued"] + c["dropped"] + c["discarded_on_stop"] + ), (sid, c) + # every frame identity the worker skipped was dropped or discarded + assert c["gap_frames"] <= c["dropped"] + c["discarded_on_stop"], (sid, c) + assert c["last_dequeued_seq"] <= c["submitted"], (sid, c) + total_dropped = sum(c["dropped"] for c in streams.values()) + total_events = sum(c["overflow_events"] for c in streams.values()) + assert total_dropped > 0 and total_events > 0 # the race was exercised + assert int(out["drops"]) == total_dropped + assert int(out["overflow_events"]) == total_events + assert json.loads(out["telemetry"]) == [total_dropped, total_events] + assert int(out["discarded_on_stop"]) == sum( + c["discarded_on_stop"] for c in streams.values() + ) + # one overflow drops at most the queue capacity + assert total_dropped <= 4 * total_events + + +def test_put_after_stop_is_refused_not_counted() -> None: + """A put refused because the pool stopped is not a drop or a discard.""" + out = _run( + _TELEMETRY + + """ +async def main(): + pool = make_counted_pool(1) + await pool.start() + pool.stop() + try: + pool.put_frame("stream_0", frame(), 0.0) + except d.WorkbenchPoolNotRunning: + print("@refused=yes") + st = pool.get_stats() + c = st["streams"]["stream_0"] + print(f"@counts={c['submitted']},{c['dropped']},{c['discarded_on_stop']},{st['drops']}") +asyncio.run(main()) +""" + ) + assert out == {"refused": "yes", "counts": "0,0,0,0"} + + +def test_stop_bounds_a_producer_holding_the_stream_lock_and_can_retry() -> None: + """Admission can be paused even after every worker has ended. + + stop must report a timeout and retain its batcher, rather than wait for + that producer indefinitely. A later admission is refused, and retrying + stop accounts for the frame admitted before stopping exactly once. + """ + out = _run( + _TELEMETRY + + """ +import json +async def main(): + pool = make_counted_pool(1) + await pool.start() + inside = threading.Event() + resume = threading.Event() + q = pool._queues[0] + original_put = q.put_nowait + def paused_put(item): + inside.set() + assert resume.wait(5.0) + original_put(item) + q.put_nowait = paused_put + errors = [] + def produce(ts): + try: + pool.put_frame("stream_0", frame(), ts) + except Exception as e: + errors.append(type(e).__name__) + admitted = threading.Thread(target=produce, args=(0.0,)) + admitted.start() + assert inside.wait(5.0) + # This producer waits for the same stream lock, but must not be admitted + # once the pool enters STOPPING. + checked = threading.Event() + original_check = pool._check_running + def observe_check(): + original_check() + if threading.current_thread().name == "late-producer": + checked.set() + pool._check_running = observe_check + refused = threading.Thread(target=produce, args=(1.0,), name="late-producer") + refused.start() + assert checked.wait(5.0) + release = threading.Timer(1.5, resume.set) + release.start() # bound the diagnostic even if stop's timeout is broken + t0 = time.monotonic() + outcome = "returned" + try: + pool.stop(timeout=0.15) + except d.WorkbenchPoolStopTimeout: + outcome = "timeout" + print(f"@outcome={outcome}") + print(f"@bounded={time.monotonic() - t0 < 0.8}") + print(f"@state={pool.state.value}") + print(f"@batcher_kept={pool._batcher is FakeBatcher.last and not FakeBatcher.last.down}") + resume.set() + release.cancel() + release.join(5.0) + admitted.join(5.0) + refused.join(5.0) + assert not admitted.is_alive() and not refused.is_alive() + pool.stop() + first = pool.get_stats() + pool.stop() + print(f"@idempotent={first == pool.get_stats()}") + print(f"@errors={errors}") + print(f"@discarded={first['discarded_on_stop']}") + print(f"@timeouts={first['stop_timeouts']}") + print(f"@telemetry={counters()}") + print("@streams=" + json.dumps(first["streams"])) +asyncio.run(main()) +""" + ) + assert out is not None + assert out["outcome"] == "timeout" + assert out["bounded"] == "True" + assert out["state"] == "stopping" + assert out["batcher_kept"] == "True" + assert out["idempotent"] == "True" + assert out["errors"] == "['WorkbenchPoolNotRunning']" + assert out["discarded"] == "1" and out["timeouts"] == "1" + assert out["telemetry"] == "(0, 0)" + c = _streams(out)["stream_0"] + assert c["submitted"] == c["discarded_on_stop"] == 1 + assert c["dequeued"] == c["dropped"] == c["queued"] == 0 + + +def test_restart_keeps_frame_identity_and_exposes_stop_discard_gap() -> None: + out = _run( + _TELEMETRY + + """ +import json +async def main(): + MODE["process"] = "block" + pool = make_counted_pool(1) + await pool.start() + pool.put_frame("stream_0", frame(), 0.0) + assert wait_until(lambda: pool.get_stats()["streams"]["stream_0"]["dequeued"] == 1) + for ts in (1.0, 2.0, 3.0): + pool.put_frame("stream_0", frame(), ts) + try: + pool.stop(timeout=0.05) + except d.WorkbenchPoolStopTimeout: + pass + GATE.set() + assert wait_until(lambda: not any(w.is_alive() for w in pool._workers)) + pool.stop() + await pool.start() + pool.put_frame("stream_0", frame(), 4.0) + assert wait_until(lambda: pool.get_stats()["streams"]["stream_0"]["dequeued"] == 2) + pool.stop() + st = pool.get_stats() + print("@streams=" + json.dumps(st["streams"])) + print(f"@discarded={st['discarded_on_stop']}") + print(f"@telemetry={counters()}") +asyncio.run(main()) +""" + ) + assert out is not None + c = _streams(out)["stream_0"] + assert c == { + "submitted": 5, + "dropped": 0, + "overflow_events": 0, + "dequeued": 2, + "discarded_on_stop": 3, + "last_dequeued_seq": 5, + "gaps": 1, + "gap_frames": 3, + "queued": 0, + } + assert out["discarded"] == "3" + assert out["telemetry"] == "(0, 0)" + + +def test_partial_stop_drain_is_counted_before_another_stream_times_out() -> None: + out = _run( + _TELEMETRY + + """ +import json +async def main(): + MODE["process"] = "block" + pool = make_counted_pool(2) + await pool.start() + pool.put_frame("stream_0", frame(), 0.0) + assert wait_until(lambda: pool.get_stats()["streams"]["stream_0"]["dequeued"] == 1) + pool.put_frame("stream_0", frame(), 1.0) + pool.put_frame("stream_0", frame(), 2.0) + inside = threading.Event() + resume = threading.Event() + q = pool._queues[1] + original_put = q.put_nowait + def paused_put(item): + inside.set() + assert resume.wait(5.0) + original_put(item) + q.put_nowait = paused_put + producer = threading.Thread(target=pool.put_frame, args=("stream_1", frame(), 3.0)) + producer.start() + assert inside.wait(5.0) + def release_worker(): + assert wait_until(lambda: pool.state is d.PoolState.STOPPING) + GATE.set() + worker_release = threading.Thread(target=release_worker) + worker_release.start() + release = threading.Timer(1.5, resume.set) + release.start() + outcome = "returned" + try: + pool.stop(timeout=0.2) + except d.WorkbenchPoolStopTimeout: + outcome = "timeout" + print(f"@outcome={outcome}") + print(f"@partial_discarded={pool._discarded_on_stop}") + resume.set() + release.cancel() + release.join(5.0) + producer.join(5.0) + worker_release.join(5.0) + assert not producer.is_alive() and not worker_release.is_alive() + pool.stop() + st = pool.get_stats() + print(f"@discarded={st['discarded_on_stop']}") + print("@streams=" + json.dumps(st["streams"])) +asyncio.run(main()) +""" + ) + assert out is not None + assert out["outcome"] == "timeout" + assert out["partial_discarded"] == "2" + assert out["discarded"] == "3" + streams = _streams(out) + assert streams["stream_0"]["discarded_on_stop"] == 2 + assert streams["stream_1"]["discarded_on_stop"] == 1 + for c in streams.values(): + assert c["submitted"] == c["dequeued"] + c["discarded_on_stop"] + assert c["queued"] == c["dropped"] == 0 + + +@pytest.mark.gpu +def test_cuda_overflow_counts_frames_and_delivers_the_latest_frame() -> None: + """Real CUDA Workbench and batcher; only TRT inference is replaced. + + Hold the first inference while overflowing its stream, then let both + frames finish. This exercises F02 on the actual CUDA processing path; + it does not qualify a model, throughput or online deployment. + """ + from tests.unit.test_workbench_pool_gpu_contract_538 import ( + _need_native, + _run as run_gpu, + ) + + _need_native() + out = run_gpu( + """ +import json +from saccade.perception.online_telemetry import OnlineTelemetry +async def main(): + telemetry = OnlineTelemetry() + pool = make_pool(1, telemetry=telemetry) + PLAN["gate"] = threading.Event() + await pool.start() + pool.put_frame("stream_0", frame(0), 0.0) + await until(IN_INFER.is_set) + for i in range(1, 6): + pool.put_frame("stream_0", frame(i * 10), float(i)) + st = pool.get_stats() + print(f"@pending={st['drops']},{st['overflow_events']},{st['queue_depth']}") + PLAN["gate"].set() + await until(lambda: len(RESULTS) == 2) + pool.stop() + st = pool.get_stats() + print("@streams=" + json.dumps(st["streams"])) + print(f"@timestamps={[r['ts'] for r in RESULTS]}") + print(f"@inputs_ok={len(SEEN) == 2 and abs(SEEN[0]) < 1e-5 and abs(SEEN[1] - 50.0/255.0) < 1e-3}") + print(f"@telemetry={st['workbench_drops']},{st['workbench_overflow_events']}") + print(f"@state={st['state']}") + print(f"@thread_errors={THREAD_ERRORS}") +asyncio.run(main()) +done() +""" + ) + assert out["pending"] == "4,1,1" + assert out["timestamps"] == "[0.0, 5.0]" + assert out["inputs_ok"] == "True" + assert out["telemetry"] == "4,1" + assert out["state"] == "stopped" + assert out["thread_errors"] == "[]" + c = _streams(out)["stream_0"] + assert c["submitted"] == 6 and c["dequeued"] == 2 + assert c["dropped"] == c["gap_frames"] == 4 + assert c["last_dequeued_seq"] == 6 and c["gaps"] == 1 + assert c["queued"] == c["discarded_on_stop"] == 0