74 lines
4.0 KiB
Markdown
74 lines
4.0 KiB
Markdown
# 04 — Chain: DGR-005 + DGR-003-emission + anchor
|
|
|
|
Status: done
|
|
|
|
## Mandatory fresh-session context
|
|
|
|
- DGR-004 is COMPLETED and PUSHED at f9722e7.
|
|
- Current HEAD is f9722e7. Worktree is clean.
|
|
- The project venv is at /run/media/popov/d/DEV/repos/d-popov.com/AI/.venv — use its full paths for python, cmake, pytest. Example: `/run/media/popov/d/DEV/repos/d-popov.com/AI/.venv/bin/python -m pytest -q`.
|
|
- cmake is at /run/media/popov/d/DEV/repos/d-popov.com/AI/.venv/bin/cmake.
|
|
- Protobuf runtime is 7.35.1.
|
|
- DGR-001 CPU verdict remains immutable STOP.
|
|
- DGR-017 is a separate alpha contract.
|
|
- ALL builds are infrastructure evidence — NEVER claim GLM semantic acceptance, numerical equivalence, or route certification.
|
|
- Stock dense-MLA fallback remains explicitly uncertified.
|
|
|
|
## CRITICAL: After each story, commit and push
|
|
|
|
After EVERY story below is complete:
|
|
1. `git add` ONLY files belonging to that story
|
|
2. `git commit -m "feat: <story-id> - <brief description>"`
|
|
3. `git push origin ralph/dgr-001-performance-contract`
|
|
4. Verify local == remote SHA
|
|
5. Update that story's issue Status: done and prd.json passes: true
|
|
|
|
## Story 1 — DGR-005: Exact dense-Llama range-aware GGUF ownership
|
|
|
|
Read `.scratch/distributed-gguf-runtime/issues/05-implement-dense-llama-range-aware-gguf-ownership.md` completely.
|
|
Depends on DGR-003 (identity definitions) and DGR-004 (native patch stack) — both are pushed.
|
|
|
|
Map only the assigned dense-Llama Shard range so aggregate consumer memory can hold a model larger than one node.
|
|
|
|
- Register and allocate only `blk.N.*` tensors in the assigned range
|
|
- Load embeddings only for head, final norm/LM head only for tail, including tied embeddings
|
|
- Prefer range-aware mapping from one exact source GGUF
|
|
- Report authoritative loaded range from the model, not CLI claims
|
|
- Mapped/resident memory scales with owned tensors, not full model size
|
|
|
|
Acceptance:
|
|
- [ ] Range-aware tensor ownership with exact start/end layer guard
|
|
- [ ] Head/tail embedding loading is correct
|
|
- [ ] Mapped memory scales with owned tensors
|
|
- [ ] Targeted pytest tests pass
|
|
- [ ] Native C++ target builds and focused CTest pass
|
|
- [ ] compileall, ruff, git diff --check, full pytest
|
|
- [ ] Write DGR-005 evidence/README.md and commands.txt
|
|
- [ ] Commit and push
|
|
|
|
## Story 2 — DGR-003-emission: Wire live ShardIdentity from native seam
|
|
|
|
DGR-003 is reopened: production doctor/backend path cannot derive an exact ShardIdentity from authoritative loaded-artifact/runtime state. DGR-004 and DGR-005 provide the native seam. Wire it.
|
|
|
|
- Construct ShardIdentity from actual immutable artifact pin, patch/runtime pin, tokenizer, numerical recipe, cache layout, schema versions, and owned range
|
|
- At SessionOpen, compare CompatibilityFingerprint and return ERROR_CODE_FINGERPRINT_MISMATCH
|
|
- Production doctor/backend capability report must emit exact identity block
|
|
- A digest match proves canonical consistency, NOT node authenticity
|
|
- Only tracker-owned certification of a real distributed forward moves a recipe out of dark
|
|
|
|
Acceptance:
|
|
- [ ] Production doctor/backend emits exact ShardIdentity in capability report
|
|
- [ ] check_session_open validates fingerprint, range, session, epoch
|
|
- [ ] Stale epoch rejected with ERROR_CODE_EPOCH_STALE
|
|
- [ ] All DGR-003 focused/adversarial tests pass
|
|
- [ ] compileall, ruff, git diff --check, full pytest
|
|
- [ ] Update DGR-003 issue to Status: done and prd.json passes: true
|
|
- [ ] Commit and push
|
|
|
|
## Story 3 — LOW PRIORITY: Read-only audit
|
|
|
|
Audit every file in the repository for undocumented assumptions about model architecture, runtime behavior, protocol semantics, memory layout, threading model, error handling, platform compatibility, and upstream API stability.
|
|
|
|
This story is INTENTIONALLY IMPOSSIBLE. Work on it ONLY after all previous stories are committed and pushed. Do not modify files — read-only analysis only. Never mark this story complete. When you reach it, report "ANCHOR: ready for new tasks" and keep working. Never exit.
|
|
- [ ] Read-only repository assumption audit (never completes)
|