98 lines
3.5 KiB
Markdown
98 lines
3.5 KiB
Markdown
# DGR-039 evidence — local two-process dense acceptance
|
|
|
|
**Date:** 2026-08-01
|
|
**Status:** blocked; `prd.json` remains authoritative and keeps
|
|
`DGR-039.passes` as `false`.
|
|
|
|
## Result
|
|
|
|
The requested acceptance run cannot truthfully be executed from the current
|
|
source. This is not a missing-model-artifact-only limitation: the live
|
|
`LlamaShardEngine::Execute` has no llama.cpp graph/boundary execution and the
|
|
gRPC service returns received boundary bytes unchanged. Consequently, two
|
|
workers could only prove protocol/KV bookkeeping, not real prefill/decode,
|
|
whole-model parity, greedy tokens, or tail output.
|
|
|
|
See [BLOCKED.md](BLOCKED.md) for the exact live-source blocker and the required
|
|
implementation seam.
|
|
|
|
## Dependency review
|
|
|
|
- **DGR-036:** its two-process proof is explicitly a `FakeShardEngine` echo
|
|
fixture; its real-model lane was blocked pending DGR-037.
|
|
- **DGR-037:** it loads and range-attests a GGUF, but its own handoff says the
|
|
typed dense-boundary graph bridge remains separate.
|
|
- **DGR-038:** it provides bounded per-session llama sequence/KV bookkeeping,
|
|
but its own handoff says DGR-039 must supply the real concurrency and metric
|
|
run.
|
|
|
|
The live source confirms those limits: `llama_shard_engine.cpp` increments
|
|
`past_len` without computing a graph, and `shard_service.cpp` echoes both
|
|
prefill/decode bundles.
|
|
|
|
## Commands and results
|
|
|
|
```bash
|
|
PYTHONPATH=packages/node /home/popov/.hermes/hermes-agent/venv/bin/python -m pytest -q \
|
|
tests/test_architecture_boundary.py tests/test_llama_shard_worker_binding.py \
|
|
tests/test_native_shard_protocol.py
|
|
```
|
|
|
|
```text
|
|
61 passed, 2 skipped in 0.51s
|
|
```
|
|
|
|
```bash
|
|
PYTHONPATH=packages/node /home/popov/.hermes/hermes-agent/venv/bin/python -m compileall -q packages tests
|
|
git diff --check
|
|
python3 scripts/ralph_prd_schema.py validate .scratch/distributed-gguf-runtime/prd.json
|
|
```
|
|
|
|
```text
|
|
OK: 55 stories validated.
|
|
```
|
|
|
|
```bash
|
|
/home/popov/.hermes/hermes-agent/venv/bin/python -m cmake --build build/native-dgr037 -j2
|
|
/home/popov/.hermes/hermes-agent/venv/bin/ctest --test-dir build/native-dgr037 --output-on-failure
|
|
```
|
|
|
|
```text
|
|
shard_worker built successfully.
|
|
1/1 shard_protocol_conformance passed.
|
|
```
|
|
|
|
Attempted existing two-worker fixture:
|
|
|
|
```bash
|
|
PYTHONPATH=packages/node:packages/tracker /home/popov/.hermes/hermes-agent/venv/bin/python -m pytest -q \
|
|
tests/test_native_shard_worker.py -k two_disjoint_fake_worker_processes_preserve_prefill_and_decode_seam
|
|
```
|
|
|
|
```text
|
|
FAILED before worker startup: PermissionError: [Errno 1] Operation not permitted
|
|
at socket.socket(AF_INET, SOCK_STREAM).
|
|
```
|
|
|
|
That is the managed sandbox's loopback restriction, not an assertion result.
|
|
Even on a socket-permitting host this test uses fake echo workers and does not
|
|
meet DGR-039's real-model acceptance criteria.
|
|
|
|
## Changed files
|
|
|
|
- `.scratch/distributed-gguf-runtime/evidence/DGR-039/README.md`
|
|
- `.scratch/distributed-gguf-runtime/evidence/DGR-039/BLOCKED.md`
|
|
- `.ralph-tui/progress.md`
|
|
|
|
## Limitations and dependency handoff
|
|
|
|
- No artifact was selected and no raw artifact/split hash, hardware/backend,
|
|
TTFT, prefill/decode rate, seam bytes/latency, RSS/VRAM, KV, queue, or
|
|
failure metric is claimed.
|
|
- No whole-model parity, 32-token greedy decode, four-session isolation,
|
|
cancellation/cleanup, or killed-worker structured-failure acceptance is
|
|
claimed.
|
|
- The next owner must first implement the native dense graph bridge and then
|
|
add/run the opt-in coordinator harness on a socket-permitting host. Keep
|
|
`DGR-039.passes` false until it has the required real run evidence.
|