From 1749f9b4ad423d13d68bc1eb1307bec135d07d67 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Tue, 14 Jul 2026 14:33:09 +0300 Subject: [PATCH] chore: triage maintenance review and close completed stories --- .scratch/distributed-gguf-runtime/PRD.md | 96 ++++++++++++ .../evidence/DGR-018/BLOCKED.md | 53 +++++++ .../evidence/DGR-018/preflight.json | 140 ++++++++++++++++++ .../evidence/MAINTENANCE-HANDOFF.md | 62 ++++++++ ...y-whole-model-glm-5-2-runtime-semantics.md | 11 +- ...nd-certify-glm-5-2-range-dsa-indexshare.md | 7 +- ...pass-real-distributed-glm-5-2-max-alpha.md | 7 +- .../distributed-gguf-runtime/milestones.md | 2 +- .scratch/distributed-gguf-runtime/prd.json | 20 +-- ...ensors-versus-gguf-performance-contract.md | 0 ...adopt-the-versioned-grpc-shard-protocol.md | 0 ...ct-artifact-and-runtime-recipe-identity.md | 0 ...producible-pinned-llama-cpp-patch-stack.md | 2 +- ...-dense-llama-range-aware-gguf-ownership.md | 2 +- ...hitecture-defined-boundary-input-output.md | 0 ...k-glm-5-2-max-target-and-alpha-contract.md | 0 .../issues/distributed-gguf-runtime/README.md | 26 ++++ 17 files changed, 412 insertions(+), 16 deletions(-) create mode 100644 .scratch/distributed-gguf-runtime/evidence/DGR-018/BLOCKED.md create mode 100644 .scratch/distributed-gguf-runtime/evidence/DGR-018/preflight.json create mode 100644 .scratch/distributed-gguf-runtime/evidence/MAINTENANCE-HANDOFF.md rename {.scratch/distributed-gguf-runtime/issues => docs/issues/distributed-gguf-runtime}/01-lock-the-safetensors-versus-gguf-performance-contract.md (100%) rename {.scratch/distributed-gguf-runtime/issues => docs/issues/distributed-gguf-runtime}/02-adopt-the-versioned-grpc-shard-protocol.md (100%) rename {.scratch/distributed-gguf-runtime/issues => docs/issues/distributed-gguf-runtime}/03-define-exact-artifact-and-runtime-recipe-identity.md (100%) rename {.scratch/distributed-gguf-runtime/issues => docs/issues/distributed-gguf-runtime}/04-create-the-reproducible-pinned-llama-cpp-patch-stack.md (99%) rename {.scratch/distributed-gguf-runtime/issues => docs/issues/distributed-gguf-runtime}/05-implement-dense-llama-range-aware-gguf-ownership.md (99%) rename {.scratch/distributed-gguf-runtime/issues => docs/issues/distributed-gguf-runtime}/06-implement-architecture-defined-boundary-input-output.md (100%) rename {.scratch/distributed-gguf-runtime/issues => docs/issues/distributed-gguf-runtime}/17-lock-glm-5-2-max-target-and-alpha-contract.md (100%) create mode 100644 docs/issues/distributed-gguf-runtime/README.md diff --git a/.scratch/distributed-gguf-runtime/PRD.md b/.scratch/distributed-gguf-runtime/PRD.md index af394d0..b6d5a4c 100644 --- a/.scratch/distributed-gguf-runtime/PRD.md +++ b/.scratch/distributed-gguf-runtime/PRD.md @@ -44,6 +44,102 @@ Real-model/hardware stories must: Before a story is marked complete, run the full deterministic `pytest -q` suite or record the exact pre-existing unrelated failure with a clean-tree reproduction. +## Dependency Graph and Status + +Status as of 2026-07-14 (MAINT-003). Authoritative per-story status is +`passes` in [prd.json](prd.json); closed issues live in +`docs/issues/distributed-gguf-runtime/`, open and blocked issues in +[issues/](issues/). + +```mermaid +graph TD + classDef done fill:#c8e6c9,stroke:#2e7d32; + classDef blocked fill:#ffcdd2,stroke:#c62828; + + DGR001[DGR-001 perf contract]:::done + DGR002[DGR-002 gRPC Shard protocol]:::done + DGR003[DGR-003 artifact/recipe identity]:::done + DGR004[DGR-004 pinned llama.cpp patch stack]:::done + DGR005[DGR-005 dense-Llama range ownership]:::done + DGR006[DGR-006 boundary input/output]:::done + DGR017[DGR-017 GLM-5.2 target/alpha contract]:::done + DGR018[DGR-018 whole-model GLM oracle]:::blocked + DGR019[DGR-019 GLM range/DSA/IndexShare]:::blocked + DGR020[DGR-020 distributed GLM alpha]:::blocked + DGR007[DGR-007 Hot KV State] + DGR008[DGR-008 C++ gRPC worker] + DGR009[DGR-009 Meshnet integration] + DGR010[DGR-010 local two-process acceptance] + DGR011[DGR-011 two-machine route] + DGR012[DGR-012 continuous batching] + DGR013[DGR-013 failure/cancel/restart] + DGR014[DGR-014 release gate] + DGR015[DGR-015 Qwen3 adapter] + DGR016[DGR-016 upstream package] + + DGR002 --> DGR003 + DGR017 --> DGR003 + DGR001 --> DGR004 + DGR017 --> DGR004 + DGR003 --> DGR005 + DGR004 --> DGR005 + DGR002 --> DGR006 + DGR005 --> DGR006 + DGR001 --> DGR017 + DGR002 --> DGR017 + DGR003 --> DGR018 + DGR004 --> DGR018 + DGR017 --> DGR018 + DGR005 --> DGR019 + DGR006 --> DGR019 + DGR018 --> DGR019 + DGR006 --> DGR007 + DGR019 --> DGR007 + DGR002 --> DGR008 + DGR003 --> DGR008 + DGR004 --> DGR008 + DGR006 --> DGR008 + DGR007 --> DGR008 + DGR003 --> DGR009 + DGR008 --> DGR009 + DGR009 --> DGR010 + DGR010 --> DGR011 + DGR007 --> DGR012 + DGR009 --> DGR012 + DGR010 --> DGR012 + DGR008 --> DGR013 + DGR009 --> DGR013 + DGR001 --> DGR014 + DGR011 --> DGR014 + DGR012 --> DGR014 + DGR013 --> DGR014 + DGR014 --> DGR015 + DGR010 --> DGR016 + DGR007 --> DGR020 + DGR008 --> DGR020 + DGR009 --> DGR020 + DGR011 --> DGR020 + DGR013 --> DGR020 + DGR017 --> DGR020 + DGR018 --> DGR020 + DGR019 --> DGR020 +``` + +- **Done (`passes: true`):** DGR-001, DGR-002, DGR-003, DGR-004, DGR-005, + DGR-006, DGR-017. +- **Blocked on hardware:** DGR-018 requires a 256-GiB-class host with at least + 224 GiB runtime-accessible memory and 250 GB free storage outside `/home`; + no such host is currently available (development host: 124.9 GiB MemTotal). + Exact preflight output: [evidence/DGR-018/BLOCKED.md](evidence/DGR-018/BLOCKED.md). + DGR-019 (needs the DGR-018 oracle) and DGR-020 (needs DGR-018/DGR-019 plus + multiple physical consumer nodes) are blocked transitively. +- **Consequence of the graph as written:** DGR-007 depends on DGR-019, so every + remaining story (DGR-007 through DGR-016) is transitively blocked on the + 256-GiB host. Unblocking the generic dense pipeline without that host would + require an explicit re-planning decision to relax the DGR-007 → DGR-019 + dependency; that decision is out of scope for maintenance and has not been + made. + ## User Stories ### DGR-001: Lock the safetensors-versus-GGUF performance contract diff --git a/.scratch/distributed-gguf-runtime/evidence/DGR-018/BLOCKED.md b/.scratch/distributed-gguf-runtime/evidence/DGR-018/BLOCKED.md new file mode 100644 index 0000000..b2d66d7 --- /dev/null +++ b/.scratch/distributed-gguf-runtime/evidence/DGR-018/BLOCKED.md @@ -0,0 +1,53 @@ +# DGR-018 — BLOCKED: no 256-GiB-class oracle host + +Recorded: 2026-07-14 (MAINT-003). Preflight scripts preserved at commit +`a0f28b5` ("chore: preserve DGR-018 preflight scripts (postponed)"). + +## Blocker + +DGR-018 requires a 256-GiB-class host with at least **224 GiB +runtime-accessible memory** (the DGR-017 experimental hard-fit floor for the +whole-model `UD-IQ1_S` oracle) and **250 GB free storage** on one filesystem +outside `/home` (216.715 GB artifact plus resume/temp headroom). The available +development host fails both gates, so the whole-model oracle cannot be +established. Per the issue's finish contract, no smaller model may be +substituted. + +DGR-019 (needs the DGR-018 oracle for parity certification) and DGR-020 +(needs DGR-018 and DGR-019, plus enough physical consumer nodes that no single +node admits the whole recipe) are blocked transitively. + +## Exact preflight output + +Command (offline; resolves everything from the pinned target manifest and +never contacts the network): + +``` +$ python scripts/glm_whole_model_preflight.py +target: UD-IQ1_S 216.715 GB, 6 shards @ abc55e725277 +[FAIL] storage: need >= 250 GB free on one filesystem outside ['/home']; observed no eligible filesystem +[FAIL] memory: need >= 224 GiB runtime-accessible memory (DGR-017 experimental hard-fit floor); observed 124.9 GiB MemTotal +destination: NONE — no filesystem outside ['/home'] has 250 GB free + - /run/media/popov/DATA (ext4): 74.2 GB free + - / (ext4): 51.1 GB free + - /run/media/popov/Windows (fuseblk): 26.0 GB free + - /run/media/popov/d (fuseblk): 5.1 GB free +verdict: fail +$ echo $? +1 +``` + +Host: Linux 7.0.14-101.fc43.x86_64 x86_64, `MemTotal: 130997376 kB` +(124.9 GiB). The full machine-readable report (including the ordered +download/verify plan against revision `abc55e72527792c6e77069c99b4cb7de16fa9f23`, +manifest SHA-256 `0b6aed04479d204902bb64c0203f1a46cab26a47b378ecccf85237b63f6c1962`) +is in [preflight.json](preflight.json). + +## How to resume + +1. On a qualifying host, run `python scripts/glm_whole_model_preflight.py` + (optionally `--dest DIR`); it must exit 0 with `verdict: pass`. +2. Download shards in the preflight's ordered plan; verify each with + `python scripts/verify_glm_shards.py` before the next transfer starts. +3. Proceed with the DGR-018 issue + (`.scratch/distributed-gguf-runtime/issues/18-certify-whole-model-glm-5-2-runtime-semantics.md`). diff --git a/.scratch/distributed-gguf-runtime/evidence/DGR-018/preflight.json b/.scratch/distributed-gguf-runtime/evidence/DGR-018/preflight.json new file mode 100644 index 0000000..b4e052e --- /dev/null +++ b/.scratch/distributed-gguf-runtime/evidence/DGR-018/preflight.json @@ -0,0 +1,140 @@ +{ + "generated_by": "scripts/glm_whole_model_preflight.py", + "target": { + "gguf_repo_id": "unsloth/GLM-5.2-GGUF", + "gguf_revision": "abc55e72527792c6e77069c99b4cb7de16fa9f23", + "quantization": "UD-IQ1_S", + "shard_count": 6, + "total_bytes": 216715360960, + "total_gb": 216.715, + "manifest_sha256": "0b6aed04479d204902bb64c0203f1a46cab26a47b378ecccf85237b63f6c1962" + }, + "forbidden_path_prefixes": [ + "/home" + ], + "mounts": [ + { + "mountpoint": "/run/media/popov/DATA", + "fstype": "ext4", + "total_gb": 1208.8, + "free_gb": 74.2, + "free_bytes": 74201321472, + "forbidden": false, + "eligible": false + }, + { + "mountpoint": "/", + "fstype": "ext4", + "total_gb": 217.7, + "free_gb": 51.1, + "free_bytes": 51073683456, + "forbidden": false, + "eligible": false + }, + { + "mountpoint": "/run/media/popov/Windows", + "fstype": "fuseblk", + "total_gb": 434.9, + "free_gb": 26.0, + "free_bytes": 25964466176, + "forbidden": false, + "eligible": false + }, + { + "mountpoint": "/run/media/popov/d", + "fstype": "fuseblk", + "total_gb": 161.1, + "free_gb": 5.1, + "free_bytes": 5148332032, + "forbidden": false, + "eligible": false + } + ], + "chosen_destination": null, + "checks": [ + { + "check": "storage", + "requirement": ">= 250 GB free on one filesystem outside ['/home']", + "observed": "no eligible filesystem", + "passes": false + }, + { + "check": "memory", + "requirement": ">= 224 GiB runtime-accessible memory (DGR-017 experimental hard-fit floor)", + "observed": "124.9 GiB MemTotal", + "passes": false, + "waived": false + } + ], + "download_authorized": false, + "storage_only": false, + "download_plan": [ + { + "step": 1, + "shard_index": 1, + "path": "UD-IQ1_S/GLM-5.2-UD-IQ1_S-00001-of-00006.gguf", + "size_bytes": 9423744, + "size_gb": 0.009, + "sha256": "46b6148389219ae45167cb8124fbb18ef7d432daf619b4faf9e06ea80d3f4777", + "url": "https://huggingface.co/unsloth/GLM-5.2-GGUF/resolve/abc55e72527792c6e77069c99b4cb7de16fa9f23/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00001-of-00006.gguf", + "download_command": "curl -L -C - --fail -o \"$GLM_DEST/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00001-of-00006.gguf\" \"https://huggingface.co/unsloth/GLM-5.2-GGUF/resolve/abc55e72527792c6e77069c99b4cb7de16fa9f23/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00001-of-00006.gguf\"", + "verify_command": "python scripts/verify_glm_shards.py --model-dir \"$GLM_DEST\" --shard 1" + }, + { + "step": 2, + "shard_index": 6, + "path": "UD-IQ1_S/GLM-5.2-UD-IQ1_S-00006-of-00006.gguf", + "size_bytes": 19171063136, + "size_gb": 19.171, + "sha256": "3b767f55df64e0432d52fcf1a14eb47a1ef3bbc91339e2ae220f38602237d7d7", + "url": "https://huggingface.co/unsloth/GLM-5.2-GGUF/resolve/abc55e72527792c6e77069c99b4cb7de16fa9f23/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00006-of-00006.gguf", + "download_command": "curl -L -C - --fail -o \"$GLM_DEST/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00006-of-00006.gguf\" \"https://huggingface.co/unsloth/GLM-5.2-GGUF/resolve/abc55e72527792c6e77069c99b4cb7de16fa9f23/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00006-of-00006.gguf\"", + "verify_command": "python scripts/verify_glm_shards.py --model-dir \"$GLM_DEST\" --shard 6" + }, + { + "step": 3, + "shard_index": 2, + "path": "UD-IQ1_S/GLM-5.2-UD-IQ1_S-00002-of-00006.gguf", + "size_bytes": 49208128256, + "size_gb": 49.208, + "sha256": "f2180207285e04fcaa5b8c53ba6e77ad5cc58666b6e7c6b04a5eded3fe8bef09", + "url": "https://huggingface.co/unsloth/GLM-5.2-GGUF/resolve/abc55e72527792c6e77069c99b4cb7de16fa9f23/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00002-of-00006.gguf", + "download_command": "curl -L -C - --fail -o \"$GLM_DEST/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00002-of-00006.gguf\" \"https://huggingface.co/unsloth/GLM-5.2-GGUF/resolve/abc55e72527792c6e77069c99b4cb7de16fa9f23/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00002-of-00006.gguf\"", + "verify_command": "python scripts/verify_glm_shards.py --model-dir \"$GLM_DEST\" --shard 2" + }, + { + "step": 4, + "shard_index": 3, + "path": "UD-IQ1_S/GLM-5.2-UD-IQ1_S-00003-of-00006.gguf", + "size_bytes": 49684417024, + "size_gb": 49.684, + "sha256": "b1c0c5a302cc8d5d9ea0bcd4467c01db72c26839f820f7e882079582ea0a8d2b", + "url": "https://huggingface.co/unsloth/GLM-5.2-GGUF/resolve/abc55e72527792c6e77069c99b4cb7de16fa9f23/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00003-of-00006.gguf", + "download_command": "curl -L -C - --fail -o \"$GLM_DEST/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00003-of-00006.gguf\" \"https://huggingface.co/unsloth/GLM-5.2-GGUF/resolve/abc55e72527792c6e77069c99b4cb7de16fa9f23/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00003-of-00006.gguf\"", + "verify_command": "python scripts/verify_glm_shards.py --model-dir \"$GLM_DEST\" --shard 3" + }, + { + "step": 5, + "shard_index": 4, + "path": "UD-IQ1_S/GLM-5.2-UD-IQ1_S-00004-of-00006.gguf", + "size_bytes": 49396052864, + "size_gb": 49.396, + "sha256": "a6a42da6975e29f89866dcde2956e9e50e6ea26635fb5063b74f3973f4f863b6", + "url": "https://huggingface.co/unsloth/GLM-5.2-GGUF/resolve/abc55e72527792c6e77069c99b4cb7de16fa9f23/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00004-of-00006.gguf", + "download_command": "curl -L -C - --fail -o \"$GLM_DEST/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00004-of-00006.gguf\" \"https://huggingface.co/unsloth/GLM-5.2-GGUF/resolve/abc55e72527792c6e77069c99b4cb7de16fa9f23/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00004-of-00006.gguf\"", + "verify_command": "python scripts/verify_glm_shards.py --model-dir \"$GLM_DEST\" --shard 4" + }, + { + "step": 6, + "shard_index": 5, + "path": "UD-IQ1_S/GLM-5.2-UD-IQ1_S-00005-of-00006.gguf", + "size_bytes": 49246275936, + "size_gb": 49.246, + "sha256": "a4a9851a50db533f21ef824e5d8038f04e6782e7d602d18e5fdd6643f68ccccb", + "url": "https://huggingface.co/unsloth/GLM-5.2-GGUF/resolve/abc55e72527792c6e77069c99b4cb7de16fa9f23/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00005-of-00006.gguf", + "download_command": "curl -L -C - --fail -o \"$GLM_DEST/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00005-of-00006.gguf\" \"https://huggingface.co/unsloth/GLM-5.2-GGUF/resolve/abc55e72527792c6e77069c99b4cb7de16fa9f23/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00005-of-00006.gguf\"", + "verify_command": "python scripts/verify_glm_shards.py --model-dir \"$GLM_DEST\" --shard 5" + } + ], + "verdict": "fail" +} diff --git a/.scratch/distributed-gguf-runtime/evidence/MAINTENANCE-HANDOFF.md b/.scratch/distributed-gguf-runtime/evidence/MAINTENANCE-HANDOFF.md new file mode 100644 index 0000000..c032cc2 --- /dev/null +++ b/.scratch/distributed-gguf-runtime/evidence/MAINTENANCE-HANDOFF.md @@ -0,0 +1,62 @@ +# Maintenance review handoff — distributed GGUF runtime + +Date: 2026-07-14 +Scope: close the maintenance review, preserve the hard blockers, and hand off the remaining implementation work to the next model. + +## What is complete + +- Completed stories are now recorded in `docs/issues/distributed-gguf-runtime/`. +- The PRD and milestone docs were updated to reflect the closed set and the blocked set. +- The DGR-018 preflight scripts were preserved at commit `a0f28b5`. +- The current feature line has delivered DGR-001 through DGR-006 and DGR-017. + +## Hard / unsolved issues for later + +### 1) DGR-018 requires hardware we do not have + +DGR-018 is blocked because the whole-model GLM-5.2 UD-IQ1_S oracle requires: + +- a **256-GiB-class host**, +- at least **224 GiB runtime-accessible memory**, +- at least **250 GB free storage on one filesystem outside `/home`**. + +The current development host reports only **124.9 GiB MemTotal** and has no eligible filesystem with 250 GB free. +The authoritative blocker evidence is in `evidence/DGR-018/BLOCKED.md` and `evidence/DGR-018/preflight.json`. + +### 2) DGR-019 and DGR-020 are transitively blocked + +- **DGR-019** needs the DGR-018 oracle for parity certification. +- **DGR-020** needs DGR-018 and DGR-019, plus enough physical consumer nodes that no single node can admit the whole recipe. + +No smaller model may be substituted for these stories. + +### 3) The remainder of the graph stays blocked unless replanned + +The current graph makes **DGR-007 depend on DGR-019**, which means: + +- DGR-007 through DGR-016 are also blocked transitively. +- Unblocking the dense pipeline without the 256-GiB host would require an explicit replanning decision to relax the DGR-007 → DGR-019 dependency. +- That replanning decision has **not** been made. + +### 4) Maintenance-only tasks should stay separate from feature implementation + +The review uncovered that the codebase now has a clean closed-story split, but further work should avoid mixing: + +- maintenance cleanup, +- blocked-hardware preparation, +- and actual distributed GLM implementation. + +The next model should treat the maintenance pass as closed and only pick up real implementation work that is not hardware-blocked. + +## Recommended next move + +Use the next model to continue on the **non-blocked implementation queue** only. +Priority candidates are whatever is still actionable without the GLM oracle host; if a story depends on DGR-018, keep it deferred. + +## Reference files + +- `docs/issues/distributed-gguf-runtime/README.md` +- `.scratch/distributed-gguf-runtime/PRD.md` +- `.scratch/distributed-gguf-runtime/milestones.md` +- `.scratch/distributed-gguf-runtime/evidence/DGR-018/BLOCKED.md` +- `.scratch/distributed-gguf-runtime/evidence/DGR-018/preflight.json` diff --git a/.scratch/distributed-gguf-runtime/issues/18-certify-whole-model-glm-5-2-runtime-semantics.md b/.scratch/distributed-gguf-runtime/issues/18-certify-whole-model-glm-5-2-runtime-semantics.md index db0a90c..c8ffcfb 100644 --- a/.scratch/distributed-gguf-runtime/issues/18-certify-whole-model-glm-5-2-runtime-semantics.md +++ b/.scratch/distributed-gguf-runtime/issues/18-certify-whole-model-glm-5-2-runtime-semantics.md @@ -1,6 +1,15 @@ # 18 — Certify whole-model GLM-5.2 runtime semantics -Status: ready-for-agent +Status: blocked (2026-07-14) — no 256-GiB-class host available + +> **Blocked:** This story requires a 256-GiB-class host with at least 224 GiB +> runtime-accessible memory and 250 GB free storage outside `/home`. The +> development host has 124.9 GiB MemTotal and no eligible filesystem (largest: +> 74.2 GB free). Exact preflight output is preserved in +> [evidence/DGR-018/BLOCKED.md](../evidence/DGR-018/BLOCKED.md); preflight +> scripts were preserved at commit a0f28b5 (`scripts/glm_whole_model_preflight.py`, +> `scripts/verify_glm_shards.py`). Resume by re-running the preflight on a +> qualifying host — do not substitute a smaller model. ## Mandatory fresh-session context diff --git a/.scratch/distributed-gguf-runtime/issues/19-implement-and-certify-glm-5-2-range-dsa-indexshare.md b/.scratch/distributed-gguf-runtime/issues/19-implement-and-certify-glm-5-2-range-dsa-indexshare.md index b2847ce..8014323 100644 --- a/.scratch/distributed-gguf-runtime/issues/19-implement-and-certify-glm-5-2-range-dsa-indexshare.md +++ b/.scratch/distributed-gguf-runtime/issues/19-implement-and-certify-glm-5-2-range-dsa-indexshare.md @@ -1,6 +1,11 @@ # 19 — Implement and certify GLM-5.2 range, DSA, and IndexShare semantics -Status: ready-for-agent +Status: blocked (2026-07-14) — waiting on DGR-018 + +> **Blocked:** Depends on DGR-018's whole-model IQ1_S oracle, which is blocked +> on a 256-GiB-class host (≥ 224 GiB runtime-accessible memory). See +> [evidence/DGR-018/BLOCKED.md](../evidence/DGR-018/BLOCKED.md). Locked +> fixture/target parity cannot be certified without that oracle. ## Mandatory fresh-session context diff --git a/.scratch/distributed-gguf-runtime/issues/20-pass-real-distributed-glm-5-2-max-alpha.md b/.scratch/distributed-gguf-runtime/issues/20-pass-real-distributed-glm-5-2-max-alpha.md index c152102..4a6f238 100644 --- a/.scratch/distributed-gguf-runtime/issues/20-pass-real-distributed-glm-5-2-max-alpha.md +++ b/.scratch/distributed-gguf-runtime/issues/20-pass-real-distributed-glm-5-2-max-alpha.md @@ -1,6 +1,11 @@ # 20 — Pass real distributed GLM-5.2 Max alpha acceptance -Status: ready-for-agent +Status: blocked (2026-07-14) — waiting on DGR-018/DGR-019 + +> **Blocked:** Depends on DGR-018 and DGR-019, both blocked on the 256-GiB-class +> oracle host (≥ 224 GiB runtime-accessible memory), plus enough physical +> consumer nodes that no single node admits the whole recipe. See +> [evidence/DGR-018/BLOCKED.md](../evidence/DGR-018/BLOCKED.md). ## Mandatory fresh-session context diff --git a/.scratch/distributed-gguf-runtime/milestones.md b/.scratch/distributed-gguf-runtime/milestones.md index edd0fbd..ab146b9 100644 --- a/.scratch/distributed-gguf-runtime/milestones.md +++ b/.scratch/distributed-gguf-runtime/milestones.md @@ -12,7 +12,7 @@ The exact alpha target and immutable acceptance gates are defined in [GLM-5.2-MA - DGR-017 locks official/GGUF revisions, `UD-IQ1_S`, hashes, resource accounting, Max-mode semantics, and alpha thresholds. - DGR-003 builds exact recipe identity on DGR-002 and DGR-017. - DGR-004 creates the reproducible pinned llama.cpp boundary after stock GLM behavior is measured. -- DGR-018 certifies one whole-model `UD-IQ1_S` oracle with real MoE, DSA, IndexShare, KV, and `reasoning_effort=max` semantics. +- DGR-018 certifies one whole-model `UD-IQ1_S` oracle with real MoE, DSA, IndexShare, KV, and `reasoning_effort=max` semantics. **Blocked (2026-07-14):** requires a 256-GiB-class host (≥ 224 GiB runtime-accessible memory); see [evidence/DGR-018/BLOCKED.md](evidence/DGR-018/BLOCKED.md). DGR-019 and DGR-020 are blocked transitively. ## Gate B — minimal native execution seam diff --git a/.scratch/distributed-gguf-runtime/prd.json b/.scratch/distributed-gguf-runtime/prd.json index b822fb1..3bd99ac 100644 --- a/.scratch/distributed-gguf-runtime/prd.json +++ b/.scratch/distributed-gguf-runtime/prd.json @@ -28,7 +28,7 @@ ], "priority": 1, "passes": true, - "notes": "Source issue: .scratch/distributed-gguf-runtime/issues/01-lock-the-safetensors-versus-gguf-performance-contract.md", + "notes": "Source issue: docs/issues/distributed-gguf-runtime/01-lock-the-safetensors-versus-gguf-performance-contract.md (moved on close, MAINT-003)", "dependsOn": [] }, { @@ -55,7 +55,7 @@ ], "priority": 2, "passes": true, - "notes": "Source issue: .scratch/distributed-gguf-runtime/issues/02-adopt-the-versioned-grpc-shard-protocol.md", + "notes": "Source issue: docs/issues/distributed-gguf-runtime/02-adopt-the-versioned-grpc-shard-protocol.md (moved on close, MAINT-003)", "dependsOn": [] }, { @@ -81,7 +81,7 @@ ], "priority": 4, "passes": true, - "notes": "DGR-003-emission: native loaded-artifact adapter derives exact identity from immutable GGUF/runtime inputs, doctor emits it only for that adapter, and SessionOpen fails closed before acceptance. Exact identities remain tracker-uncertified and dark until a real distributed forward is certified.", + "notes": "DGR-003-emission: native loaded-artifact adapter derives exact identity from immutable GGUF/runtime inputs, doctor emits it only for that adapter, and SessionOpen fails closed before acceptance. Exact identities remain tracker-uncertified and dark until a real distributed forward is certified. (moved on close, MAINT-003)", "dependsOn": [ "DGR-002", "DGR-017" @@ -113,7 +113,7 @@ ], "priority": 5, "passes": true, - "notes": "Source issue: .scratch/distributed-gguf-runtime/issues/04-create-the-reproducible-pinned-llama-cpp-patch-stack.md", + "notes": "Source issue: docs/issues/distributed-gguf-runtime/04-create-the-reproducible-pinned-llama-cpp-patch-stack.md (moved on close, MAINT-003)", "dependsOn": [ "DGR-001", "DGR-017" @@ -144,7 +144,7 @@ ], "priority": 6, "passes": true, - "notes": "Source issue: .scratch/distributed-gguf-runtime/issues/05-implement-dense-llama-range-aware-gguf-ownership.md", + "notes": "Source issue: docs/issues/distributed-gguf-runtime/05-implement-dense-llama-range-aware-gguf-ownership.md (moved on close, MAINT-003)", "dependsOn": [ "DGR-003", "DGR-004" @@ -178,7 +178,7 @@ ], "priority": 7, "passes": true, - "notes": "Source issue: .scratch/distributed-gguf-runtime/issues/06-implement-architecture-defined-boundary-input-output.md", + "notes": "Source issue: docs/issues/distributed-gguf-runtime/06-implement-architecture-defined-boundary-input-output.md (moved on close, MAINT-003)", "dependsOn": [ "DGR-002", "DGR-005" @@ -538,7 +538,7 @@ ], "priority": 3, "passes": true, - "notes": "Source issue: .scratch/distributed-gguf-runtime/issues/17-lock-glm-5-2-max-target-and-alpha-contract.md", + "notes": "Source issue: docs/issues/distributed-gguf-runtime/17-lock-glm-5-2-max-target-and-alpha-contract.md (moved on close, MAINT-003)", "dependsOn": [ "DGR-001", "DGR-002" @@ -570,7 +570,7 @@ ], "priority": 8, "passes": false, - "notes": "Source issue: .scratch/distributed-gguf-runtime/issues/18-certify-whole-model-glm-5-2-runtime-semantics.md", + "notes": "Source issue: .scratch/distributed-gguf-runtime/issues/18-certify-whole-model-glm-5-2-runtime-semantics.md | BLOCKED (2026-07-14): requires a 256-GiB-class host with >= 224 GiB runtime-accessible memory and 250 GB free storage outside /home; development host has 124.9 GiB MemTotal and no eligible filesystem. Exact preflight output: evidence/DGR-018/BLOCKED.md. Preflight scripts preserved at commit a0f28b5.", "dependsOn": [ "DGR-003", "DGR-004", @@ -603,7 +603,7 @@ ], "priority": 9, "passes": false, - "notes": "Source issue: .scratch/distributed-gguf-runtime/issues/19-implement-and-certify-glm-5-2-range-dsa-indexshare.md", + "notes": "Source issue: .scratch/distributed-gguf-runtime/issues/19-implement-and-certify-glm-5-2-range-dsa-indexshare.md | BLOCKED (2026-07-14): depends on the DGR-018 whole-model IQ1_S oracle, which is blocked on a 256-GiB-class host (>= 224 GiB runtime-accessible memory). See evidence/DGR-018/BLOCKED.md.", "dependsOn": [ "DGR-005", "DGR-006", @@ -639,7 +639,7 @@ ], "priority": 16, "passes": false, - "notes": "Source issue: .scratch/distributed-gguf-runtime/issues/20-pass-real-distributed-glm-5-2-max-alpha.md", + "notes": "Source issue: .scratch/distributed-gguf-runtime/issues/20-pass-real-distributed-glm-5-2-max-alpha.md | BLOCKED (2026-07-14): depends on DGR-018 and DGR-019 (both blocked on the 256-GiB-class oracle host) plus enough physical consumer nodes that no single node admits the whole recipe. See evidence/DGR-018/BLOCKED.md.", "dependsOn": [ "DGR-007", "DGR-008", diff --git a/.scratch/distributed-gguf-runtime/issues/01-lock-the-safetensors-versus-gguf-performance-contract.md b/docs/issues/distributed-gguf-runtime/01-lock-the-safetensors-versus-gguf-performance-contract.md similarity index 100% rename from .scratch/distributed-gguf-runtime/issues/01-lock-the-safetensors-versus-gguf-performance-contract.md rename to docs/issues/distributed-gguf-runtime/01-lock-the-safetensors-versus-gguf-performance-contract.md diff --git a/.scratch/distributed-gguf-runtime/issues/02-adopt-the-versioned-grpc-shard-protocol.md b/docs/issues/distributed-gguf-runtime/02-adopt-the-versioned-grpc-shard-protocol.md similarity index 100% rename from .scratch/distributed-gguf-runtime/issues/02-adopt-the-versioned-grpc-shard-protocol.md rename to docs/issues/distributed-gguf-runtime/02-adopt-the-versioned-grpc-shard-protocol.md diff --git a/.scratch/distributed-gguf-runtime/issues/03-define-exact-artifact-and-runtime-recipe-identity.md b/docs/issues/distributed-gguf-runtime/03-define-exact-artifact-and-runtime-recipe-identity.md similarity index 100% rename from .scratch/distributed-gguf-runtime/issues/03-define-exact-artifact-and-runtime-recipe-identity.md rename to docs/issues/distributed-gguf-runtime/03-define-exact-artifact-and-runtime-recipe-identity.md diff --git a/.scratch/distributed-gguf-runtime/issues/04-create-the-reproducible-pinned-llama-cpp-patch-stack.md b/docs/issues/distributed-gguf-runtime/04-create-the-reproducible-pinned-llama-cpp-patch-stack.md similarity index 99% rename from .scratch/distributed-gguf-runtime/issues/04-create-the-reproducible-pinned-llama-cpp-patch-stack.md rename to docs/issues/distributed-gguf-runtime/04-create-the-reproducible-pinned-llama-cpp-patch-stack.md index 04b4192..3ec03d2 100644 --- a/.scratch/distributed-gguf-runtime/issues/04-create-the-reproducible-pinned-llama-cpp-patch-stack.md +++ b/docs/issues/distributed-gguf-runtime/04-create-the-reproducible-pinned-llama-cpp-patch-stack.md @@ -1,6 +1,6 @@ # 04 — Chain: DGR-005 + DGR-003-emission + anchor -Status: in-progress +Status: done ## Mandatory fresh-session context diff --git a/.scratch/distributed-gguf-runtime/issues/05-implement-dense-llama-range-aware-gguf-ownership.md b/docs/issues/distributed-gguf-runtime/05-implement-dense-llama-range-aware-gguf-ownership.md similarity index 99% rename from .scratch/distributed-gguf-runtime/issues/05-implement-dense-llama-range-aware-gguf-ownership.md rename to docs/issues/distributed-gguf-runtime/05-implement-dense-llama-range-aware-gguf-ownership.md index 7b0c3e3..10a4e7d 100644 --- a/.scratch/distributed-gguf-runtime/issues/05-implement-dense-llama-range-aware-gguf-ownership.md +++ b/docs/issues/distributed-gguf-runtime/05-implement-dense-llama-range-aware-gguf-ownership.md @@ -1,6 +1,6 @@ # 05 — Implement dense-Llama range-aware GGUF ownership -Status: ready-for-agent +Status: done ## Mandatory fresh-session context diff --git a/.scratch/distributed-gguf-runtime/issues/06-implement-architecture-defined-boundary-input-output.md b/docs/issues/distributed-gguf-runtime/06-implement-architecture-defined-boundary-input-output.md similarity index 100% rename from .scratch/distributed-gguf-runtime/issues/06-implement-architecture-defined-boundary-input-output.md rename to docs/issues/distributed-gguf-runtime/06-implement-architecture-defined-boundary-input-output.md diff --git a/.scratch/distributed-gguf-runtime/issues/17-lock-glm-5-2-max-target-and-alpha-contract.md b/docs/issues/distributed-gguf-runtime/17-lock-glm-5-2-max-target-and-alpha-contract.md similarity index 100% rename from .scratch/distributed-gguf-runtime/issues/17-lock-glm-5-2-max-target-and-alpha-contract.md rename to docs/issues/distributed-gguf-runtime/17-lock-glm-5-2-max-target-and-alpha-contract.md diff --git a/docs/issues/distributed-gguf-runtime/README.md b/docs/issues/distributed-gguf-runtime/README.md new file mode 100644 index 0000000..0a31da3 --- /dev/null +++ b/docs/issues/distributed-gguf-runtime/README.md @@ -0,0 +1,26 @@ +# Distributed GGUF runtime — closed issues + +Completed stories from the `distributed-gguf-runtime` feature +(`.scratch/distributed-gguf-runtime/`), moved here on 2026-07-14 (MAINT-003). +Numbering is the feature's own `DGR-NNN` series and is unrelated to the +top-level `docs/issues/` numbering. + +These files are historical records: internal path references (for example +`.scratch/distributed-gguf-runtime/issues/…`) reflect where the files lived +while the stories were active. Authoritative completion status is +`passes: true` in `.scratch/distributed-gguf-runtime/prd.json`, backed by the +signed evidence in `.scratch/distributed-gguf-runtime/evidence/DGR-*/`. + +| Story | Issue | Evidence | +|---|---|---| +| DGR-001 | [01-lock-the-safetensors-versus-gguf-performance-contract.md](01-lock-the-safetensors-versus-gguf-performance-contract.md) | `evidence/DGR-001/` | +| DGR-002 | [02-adopt-the-versioned-grpc-shard-protocol.md](02-adopt-the-versioned-grpc-shard-protocol.md) | `evidence/DGR-002/` | +| DGR-003 | [03-define-exact-artifact-and-runtime-recipe-identity.md](03-define-exact-artifact-and-runtime-recipe-identity.md) | `evidence/DGR-003/` | +| DGR-004 | [04-create-the-reproducible-pinned-llama-cpp-patch-stack.md](04-create-the-reproducible-pinned-llama-cpp-patch-stack.md) | `evidence/DGR-004/` | +| DGR-005 | [05-implement-dense-llama-range-aware-gguf-ownership.md](05-implement-dense-llama-range-aware-gguf-ownership.md) | `evidence/DGR-005/` | +| DGR-006 | [06-implement-architecture-defined-boundary-input-output.md](06-implement-architecture-defined-boundary-input-output.md) | `evidence/DGR-006/` | +| DGR-017 | [17-lock-glm-5-2-max-target-and-alpha-contract.md](17-lock-glm-5-2-max-target-and-alpha-contract.md) | `evidence/DGR-017/` | + +Open and blocked stories remain in `.scratch/distributed-gguf-runtime/issues/`. +DGR-018, DGR-019, and DGR-020 are blocked on a 256-GiB-class host — see +`.scratch/distributed-gguf-runtime/evidence/DGR-018/BLOCKED.md`.