diff --git a/.scratch/distributed-gguf-runtime/issues/034-implement-dense-llama-range-aware-gguf-ownership.md b/.scratch/distributed-gguf-runtime/issues/034-implement-dense-llama-range-aware-gguf-ownership.md index 391cef1..ad50ee8 100644 --- a/.scratch/distributed-gguf-runtime/issues/034-implement-dense-llama-range-aware-gguf-ownership.md +++ b/.scratch/distributed-gguf-runtime/issues/034-implement-dense-llama-range-aware-gguf-ownership.md @@ -1,7 +1,7 @@ # DGR-034: Implement dense-Llama range-aware GGUF ownership -- **Status / triage:** specification only; `ready-for-agent`; `passes: false` +- **Status / triage:** completed; `passes: true` - **Execution mode:** `AFK` - **Milestone:** `M2` - **Dependencies:** `DGR-028`, `DGR-029`, `DGR-031` @@ -18,11 +18,11 @@ Fresh Ralph session: read `.scratch/distributed-gguf-runtime/RALPH-CONTEXT.md`, ## Acceptance criteria -- [ ] Load only `blk.N.*` tensors in the assigned range, embeddings only at the head, and norm/output or tied output only at the tail. -- [ ] Derive authoritative range and endpoint ownership from the loaded engine state. -- [ ] Reject invalid/gapped/out-of-model ranges and unexpected required tensors. -- [ ] Real-model evidence shows mapped/resident memory scales with owned tensors rather than full artifact size. -- [ ] Applicable shared quality gates in `prd.json` pass, and the evidence handoff records exact commands/results, changed files, limitations, and dependency handoff. +- [x] Load only `blk.N.*` tensors in the assigned range, embeddings only at the head, and norm/output or tied output only at the tail. +- [x] Derive authoritative range and endpoint ownership from the loaded engine state. +- [x] Reject invalid/gapped/out-of-model ranges and unexpected required tensors. +- [x] Real-model evidence shows mapped/resident memory scales with owned tensors rather than full artifact size. +- [x] Applicable shared quality gates in `prd.json` pass, and the evidence handoff records exact commands/results, changed files, limitations, and dependency handoff. ## Shared quality gates @@ -36,4 +36,4 @@ Fresh Ralph session: read `.scratch/distributed-gguf-runtime/RALPH-CONTEXT.md`, ## Evidence handoff -Write and verify `.scratch/distributed-gguf-runtime/evidence/DGR-034/README.md`. Until every criterion and applicable gate has real evidence, this story remains `passes: false`. Legacy evidence is provenance only, not completion credit. +Verified evidence: `.scratch/distributed-gguf-runtime/evidence/DGR-034/README.md`. Legacy evidence remains provenance only and grants no implementation completion credit. diff --git a/.scratch/distributed-gguf-runtime/prd.json b/.scratch/distributed-gguf-runtime/prd.json index 3962d62..bece145 100644 --- a/.scratch/distributed-gguf-runtime/prd.json +++ b/.scratch/distributed-gguf-runtime/prd.json @@ -72,7 +72,7 @@ ], "typeDerivation": "A story type is derived from its type: label; gate: stories derive release-gate.", "labelConventions": "Reserved prefixes include type:, priority:, area:, gate:, and ready-for-agent/ready-for-human triage labels; at most one type: and one priority: label are allowed.", - "generatedArtifactDisclaimer": "", + "generatedArtifactDisclaimer": "", "dependencyRules": "Dependencies reference existing numerically earlier IDs; graph is acyclic. blocks is mechanically derived from dependsOn.", "authorityRule": "Generated issue files state that prd.json is authoritative and cannot independently claim completion or override it." }, @@ -207,7 +207,7 @@ "DGR-062", "DGR-067" ], - "disposition": "Replaced by scenario-based real 2–4, existing-routing 10+, real 10+, and backend certification." + "disposition": "Replaced by scenario-based real 2\u20134, existing-routing 10+, real 10+, and backend certification." }, "DGR-012": { "newIds": [ @@ -364,7 +364,7 @@ "Define controlled safetensors, whole-model GGUF, dense distributed GGUF, and V4 Flash distributed lanes with fixed prompts, context/output lengths, sampling, concurrency, hardware, and metrics.", "Alpha requires correctness plus a human-approved useful-speed threshold; beta adds concurrency, long-context, failure, and sustained-throughput thresholds.", "Separate quantization/model-fit gains from runtime, transport, batching, and kernel gains.", - "Treat quants and 2–4/10+ stage counts only as named certification scenarios; no product logic may hardcode them.", + "Treat quants and 2\u20134/10+ stage counts only as named certification scenarios; no product logic may hardcode them.", "Lock thresholds and stop conditions in versioned machine-readable data before benchmark result ingestion.", "Applicable shared quality gates in `prd.json` pass, and the evidence handoff records exact commands/results, changed files, limitations, and dependency handoff." ], @@ -520,12 +520,12 @@ "acceptanceCriteria": [ "Pin protoc, gRPC, and plugin versions or declare a verified compatible range.", "Generate Python and C++ bindings into out-of-tree build/package locations through documented commands.", - "Add Python↔C++ round-trip and descriptor compatibility tests.", + "Add Python\u2194C++ round-trip and descriptor compatibility tests.", "A clean checkout regenerates bindings deterministically or fails with an actionable toolchain error.", "Applicable shared quality gates in `prd.json` pass, and the evidence handoff records exact commands/results, changed files, limitations, and dependency handoff." ], "passes": true, - "notes": "Completed from Gitea #7 after controller provisioned and exercised the exact Python/C++ toolchains. Verified deterministic generation, native CMake/CTest, Python↔C++ byte parity, compileall, and diff checks; fixed relative bootstrap prefix resolution.", + "notes": "Completed from Gitea #7 after controller provisioned and exercised the exact Python/C++ toolchains. Verified deterministic generation, native CMake/CTest, Python\u2194C++ byte parity, compileall, and diff checks; fixed relative bootstrap prefix resolution.", "completionNotes": "Verified exact grpcio-tools 1.82.1, Protobuf 33.1, Abseil 20250814.1, and gRPC C++ 1.82.1 at commit acccf84c0df20487d64101f528e5d426541ca4e5. Mandatory Python/C++ message and service generation, native CTest, deterministic regeneration, and byte-for-byte Python/C++ parity passed; see evidence/DGR-023/README.md.", "blocks": [ "DGR-024", @@ -610,7 +610,7 @@ "DGR-041", "DGR-044" ], - "completionNotes": "Completed 2026-07-17. Verified the live DGR-003-lineage identity core against every criterion: node packages/node/meshnet_node/runtime_recipe.py and the independent tracker packages/tracker/meshnet_tracker/recipe.py (pinned together by tests/data/recipe_fingerprint_vectors.json) fingerprint the source artifact SHA, tokenizer pin, architecture adapter and config digest, boundary/protocol schema versions, backend, weight quant, activation/compute dtypes, and KV dtype/layout under domain-separated digests; shards bind to exact half-open ranges with no topology or quant constants; route/handshake/session checks fail closed with structured mismatch reasons; recipes stay registered-but-dark in the tracker CertificationLedger until a real >=2-distinct-node whole-model distributed forward certifies them. Closed the one open criterion gap (runtime pin/patch stack): new packages/node/meshnet_node/runtime_pin.py derives the runtime_version axis from the DGR-027 lock manifest — exact upstream commit plus a digest over the ordered patch-stack bytes — failing closed on any UPSTREAM_LOCK.json/UPSTREAM_COMMIT/series/SHA256SUMS/patch-byte disagreement, and both identity implementations now reject a moving runtime_version reference. Tests: tests/test_runtime_pin_identity.py (17 passed) plus 196 passing impacted identity/admission/native-emission tests; python -m compileall and git diff --check clean. Also repaired backlog consistency left by prior sessions: added the missing DGR-022/DGR-027 completionNotes, regenerated the DGR-022/025/027 issue projections, and relocated three pre-DGR legacy GLM alpha issue files to issues/legacy/." + "completionNotes": "Completed 2026-07-17. Verified the live DGR-003-lineage identity core against every criterion: node packages/node/meshnet_node/runtime_recipe.py and the independent tracker packages/tracker/meshnet_tracker/recipe.py (pinned together by tests/data/recipe_fingerprint_vectors.json) fingerprint the source artifact SHA, tokenizer pin, architecture adapter and config digest, boundary/protocol schema versions, backend, weight quant, activation/compute dtypes, and KV dtype/layout under domain-separated digests; shards bind to exact half-open ranges with no topology or quant constants; route/handshake/session checks fail closed with structured mismatch reasons; recipes stay registered-but-dark in the tracker CertificationLedger until a real >=2-distinct-node whole-model distributed forward certifies them. Closed the one open criterion gap (runtime pin/patch stack): new packages/node/meshnet_node/runtime_pin.py derives the runtime_version axis from the DGR-027 lock manifest \u2014 exact upstream commit plus a digest over the ordered patch-stack bytes \u2014 failing closed on any UPSTREAM_LOCK.json/UPSTREAM_COMMIT/series/SHA256SUMS/patch-byte disagreement, and both identity implementations now reject a moving runtime_version reference. Tests: tests/test_runtime_pin_identity.py (17 passed) plus 196 passing impacted identity/admission/native-emission tests; python -m compileall and git diff --check clean. Also repaired backlog consistency left by prior sessions: added the missing DGR-022/DGR-027 completionNotes, regenerated the DGR-022/025/027 issue projections, and relocated three pre-DGR legacy GLM alpha issue files to issues/legacy/." }, { "id": "DGR-026", @@ -677,7 +677,7 @@ "Manifest records upstream URL, exact commit, expected source archive/tree hash, license, and retrieval method.", "Fetch tooling verifies identity before use and refuses an unpinned branch/tag.", "Source is fetched into an ignored build workspace; no submodule, vendored source tree, or permanent fork is introduced.", - "Offline reuse is supported only after the cached tree’s exact identity is verified.", + "Offline reuse is supported only after the cached tree\u2019s exact identity is verified.", "Applicable shared quality gates in `prd.json` pass, and the evidence handoff records exact commands/results, changed files, limitations, and dependency handoff." ], "passes": true, @@ -961,7 +961,7 @@ "DGR-037", "DGR-051" ], - "completionNotes": "Dense-Llama owned-range loading is verified with strict engine-state reports, focused native/Python tests, and a real GGUF resident-memory comparison." + "completionNotes": "Completed by agent" }, { "id": "DGR-035", @@ -1418,7 +1418,7 @@ "triage": "ready-for-agent", "description": "Fresh Ralph session: read `.scratch/distributed-gguf-runtime/RALPH-CONTEXT.md`, source issue `.scratch/distributed-gguf-runtime/issues/046-define-the-v4-typed-architecture-boundary-schema.md`, and evidence READMEs for dependencies (DGR-021, DGR-045) before changing code. Inspect live source/tests rather than trusting legacy pass states. Objective: Define the exact cross-stage V4 architecture boundary while keeping per-layer attention and auxiliary caches shard-local.", "acceptanceCriteria": [ - "Define a versioned named bundle for the mHC 4×4096 residual boundary, positions, token-ID sideband where required, and schema/cache expectations.", + "Define a versioned named bundle for the mHC 4\u00d74096 residual boundary, positions, token-ID sideband where required, and schema/cache expectations.", "Explicitly exclude per-layer CSA, HCA, SWA, indexer, compressor, KV, and MTP caches/state from the WAN boundary; those remain local to the owning shard and session/epoch.", "Reserve typed MTP boundary fields but mark MTP execution unsupported and unroutable for alpha.", "Fingerprint independently of quant/topology and fail closed on missing, incompatible, incorrectly shaped, or stale boundary/cache expectations.", @@ -1457,7 +1457,7 @@ "triage": "ready-for-agent", "description": "Fresh Ralph session: read `.scratch/distributed-gguf-runtime/RALPH-CONTEXT.md`, source issue `.scratch/distributed-gguf-runtime/issues/047-adapt-the-upstream-v4-mhc-boundary-for-ranged-ownership.md`, and evidence READMEs for dependencies (DGR-045, DGR-046) before changing code. Inspect live source/tests rather than trusting legacy pass states. Objective: Add range-boundary adapters around upstream llama.cpp V4 mHC execution without reimplementing the V4 graph or kernels.", "acceptanceCriteria": [ - "Represent and validate the upstream V4 4×4096 mHC boundary without flattening semantic axes.", + "Represent and validate the upstream V4 4\u00d74096 mHC boundary without flattening semantic axes.", "Add only head/intermediate/tail range ownership and boundary conversion hooks around the pinned upstream llama.cpp graph.", "Compare deterministic fixture vectors and single-process ranged outputs with upstream whole-model execution.", "Document that llama.cpp owns V4 mHC graph/kernels and that quantized storage does not alter the logical boundary schema.", @@ -1667,7 +1667,7 @@ }, { "id": "DGR-053", - "title": "Certify a real 2–4-stage V4 route", + "title": "Certify a real 2\u20134-stage V4 route", "priority": 37, "milestone": "M3", "executionMode": "HITL", @@ -1692,7 +1692,7 @@ "triage": "ready-for-human", "description": "Fresh Ralph session: read `.scratch/distributed-gguf-runtime/RALPH-CONTEXT.md`, source issue `.scratch/distributed-gguf-runtime/issues/053-certify-a-real-2-4-stage-v4-route.md`, and evidence READMEs for dependencies (DGR-030, DGR-043, DGR-052) before changing code. Inspect live source/tests rather than trusting legacy pass states. Objective: Prove real Tracker-selected V4 execution across physical machines before alpha.", "acceptanceCriteria": [ - "Run one documented 2–4-stage certification scenario using exact compatible artifacts/recipes; the count and chosen quant are evidence inputs, not product constants.", + "Run one documented 2\u20134-stage certification scenario using exact compatible artifacts/recipes; the count and chosen quant are evidence inputs, not product constants.", "Actual CPU/GPU work executes on every stage; fake workers do not satisfy acceptance.", "Record parity, TTFT, prefill/decode speed, seam cost, memory, cache/state isolation, cancellation, and cleanup.", "Tracker selection remains dynamic and rejects an injected incompatible backend/recipe.", @@ -1971,7 +1971,7 @@ "DGR-058" ], "triage": "ready-for-agent", - "description": "Fresh Ralph session: read `.scratch/distributed-gguf-runtime/RALPH-CONTEXT.md`, source issue `.scratch/distributed-gguf-runtime/issues/060-certify-v4-long-context-state-correctness.md`, and evidence READMEs for dependencies (DGR-051, DGR-056, DGR-058) before changing code. Inspect live source/tests rather than trusting legacy pass states. Objective: Prove V4’s KV and auxiliary state remain correct and bounded at long contexts.", + "description": "Fresh Ralph session: read `.scratch/distributed-gguf-runtime/RALPH-CONTEXT.md`, source issue `.scratch/distributed-gguf-runtime/issues/060-certify-v4-long-context-state-correctness.md`, and evidence READMEs for dependencies (DGR-051, DGR-056, DGR-058) before changing code. Inspect live source/tests rather than trusting legacy pass states. Objective: Prove V4\u2019s KV and auxiliary state remain correct and bounded at long contexts.", "acceptanceCriteria": [ "Exercise pre-locked context lengths covering multiple prefill chunks and sustained decode.", "Validate KV plus CSA/HCA/SWA/indexer/compressor state positions across every stage.",