story: DGR-030 Add accelerator build presets and native CI matrix
This commit is contained in:
@@ -976,3 +976,329 @@ reconciled DGR-069 #53 blocked
|
||||
reconciled DGR-070 #54 blocked
|
||||
reconciled DGR-071 #55 blocked
|
||||
synced=55 next=DGR-030 dry_run=False
|
||||
reconciled DGR-017 #1 completed
|
||||
reconciled DGR-018 #2 completed
|
||||
reconciled DGR-019 #3 completed
|
||||
reconciled DGR-020 #4 completed
|
||||
reconciled DGR-021 #5 completed
|
||||
reconciled DGR-022 #6 completed
|
||||
reconciled DGR-023 #7 completed
|
||||
reconciled DGR-024 #8 completed
|
||||
reconciled DGR-025 #9 completed
|
||||
reconciled DGR-026 #10 completed
|
||||
reconciled DGR-027 #11 completed
|
||||
reconciled DGR-028 #12 completed
|
||||
reconciled DGR-029 #13 completed
|
||||
reconciled DGR-030 #14 in-progress
|
||||
reconciled DGR-031 #15 ready
|
||||
reconciled DGR-032 #16 blocked
|
||||
reconciled DGR-033 #17 blocked
|
||||
reconciled DGR-034 #18 blocked
|
||||
reconciled DGR-035 #19 blocked
|
||||
reconciled DGR-036 #20 blocked
|
||||
reconciled DGR-037 #21 blocked
|
||||
reconciled DGR-038 #22 blocked
|
||||
reconciled DGR-039 #23 blocked
|
||||
reconciled DGR-040 #24 blocked
|
||||
reconciled DGR-041 #25 blocked
|
||||
reconciled DGR-042 #26 blocked
|
||||
reconciled DGR-043 #27 blocked
|
||||
reconciled DGR-044 #28 ready
|
||||
reconciled DGR-045 #29 blocked
|
||||
reconciled DGR-046 #30 blocked
|
||||
reconciled DGR-047 #31 blocked
|
||||
reconciled DGR-048 #32 blocked
|
||||
reconciled DGR-049 #33 blocked
|
||||
reconciled DGR-050 #34 blocked
|
||||
reconciled DGR-051 #35 blocked
|
||||
reconciled DGR-052 #36 blocked
|
||||
reconciled DGR-053 #37 blocked
|
||||
reconciled DGR-054 #38 blocked
|
||||
reconciled DGR-055 #39 blocked
|
||||
reconciled DGR-056 #40 blocked
|
||||
reconciled DGR-057 #41 blocked
|
||||
reconciled DGR-058 #42 blocked
|
||||
reconciled DGR-059 #43 blocked
|
||||
reconciled DGR-060 #44 blocked
|
||||
reconciled DGR-061 #45 blocked
|
||||
reconciled DGR-062 #46 blocked
|
||||
reconciled DGR-063 #47 blocked
|
||||
reconciled DGR-064 #48 blocked
|
||||
reconciled DGR-065 #49 blocked
|
||||
reconciled DGR-066 #50 blocked
|
||||
reconciled DGR-067 #51 blocked
|
||||
reconciled DGR-068 #52 blocked
|
||||
reconciled DGR-069 #53 blocked
|
||||
reconciled DGR-070 #54 blocked
|
||||
reconciled DGR-071 #55 blocked
|
||||
synced=55 next=DGR-030 dry_run=False
|
||||
|
||||
📦 Upgrading ralph-tui configuration...
|
||||
Installing bundled skills for detected agents...
|
||||
Installing skills for Claude Code...
|
||||
✓ Skills installed for Claude Code (claude-code)
|
||||
Installing skills for OpenCode...
|
||||
✓ Skills installed for OpenCode (opencode)
|
||||
· Skipping Factory Droid (not installed)
|
||||
· Skipping Gemini CLI (not installed)
|
||||
Installing skills for Codex CLI...
|
||||
✓ Skills installed for Codex CLI (codex)
|
||||
· Skipping Kiro CLI (not installed)
|
||||
Installing skills for Cursor Agent...
|
||||
✓ Skills installed for Cursor Agent (cursor)
|
||||
· Skipping GitHub Copilot (not installed)
|
||||
Installing skills for Kimi CLI...
|
||||
✗ Failed for Kimi CLI
|
||||
· Skipping Pi Coding Agent (not installed)
|
||||
✓ Installed 3 template(s) to /home/popov/.config/ralph-tui/templates
|
||||
✓ Updated config version
|
||||
|
||||
✅ Upgraded to config version 2.1
|
||||
|
||||
⚠️ Warnings:
|
||||
• Failed to install skills for Kimi CLI:
|
||||
[33m[1mDEPRECATED:[0m[33m 'add-skill' has been renamed to 'skills'[0m
|
||||
|
||||
Please use: [1mnpx skills add <package>[0m
|
||||
|
||||
Example: npx skills add vercel-labs/agent-skills
|
||||
|
||||
[33mForwarding to 'npx skills add'...[0m
|
||||
|
||||
|
||||
[90m│[39m
|
||||
[34m●[39m [46m[30m[1m claude-code_2-1-216_agent [22m[39m[49m Agent detected — installing non-interactively
|
||||
[?25l[90m│[39m
|
||||
[32m◇[39m Source: https://github.com/subsy/ralph-tui.git
|
||||
[?25h[?25l[90m│[39m
|
||||
[35m◒[39m Cloning repository…[1G[J[35m◐[39m Cloning repository…[1G[J[35m◓[39m Cloning repository…[1G[J[35m◑[39m Cloning repository…[1G[J[35m◒[39m Cloning repository…[1G[J[35m◐[39m Cloning repository…[1G[J[35m◓[39m Cloning repository…[1G[J[35m◑[39m Cloning repository…[1G[J[35m◒[39m Cloning repository….[1G[J[35m◐[39m Cloning repository….[1G[J[35m◓[39m Cloning repository….[1G[J[35m◑[39m Cloning repository….[1G[J[35m◒[39m Cloning repository….[1G[J[35m◐[39m Cloning repository….[1G[J[35m◓[39m Cloning repository….[1G[J[35m◑[39m Cloning repository….[1G[J[35m◒[39m Cloning repository…..[1G[J[35m◐[39m Cloning repository…..[1G[J[35m◓[39m Cloning repository…..[1G[J[35m◑[39m Cloning repository…..[1G[J[35m◒[39m Cloning repository…..[1G[J[35m◐[39m Cloning repository…..[1G[J[32m◇[39m Repository cloned
|
||||
[?25h[?25l[90m│[39m
|
||||
[1G[J[32m◇[39m Found [32m4[39m skills
|
||||
[?25h[90m│[39m
|
||||
[34m●[39m Installing all 4 skills
|
||||
[90m│[39m
|
||||
[31m■[39m Invalid agents: kimi-cli
|
||||
[90m│[39m
|
||||
[34m●[39m Valid agents: aider-desk, amp, antigravity, antigravity-cli, astrbot, autohand-code, augment, bob, claude-code, openclaw, cline, codearts-agent, codebuddy, codemaker, codestudio, codex, command-code, continue, cortex, crush, cursor, deepagents, devin, dexto, droid, eve, firebender, forgecode, gemini-cli, github-copilot, goose, grok, hermes-agent, inference-sh, jazz, junie, iflow-cli, kilo, kimchi, kimi-code-cli, kiro-cli, kode, lingma, loaf, mcpjam, mistral-vibe, moxby, mux, opencode, openhands, ona, pi, qoder, qoder-cn, qwen-code, replit, reasonix, rovodev, roo, tabnine-cli, terramind, tinycloud, trae, trae-cn, warp, windsurf, zed, zcode, zencoder, zenflow, neovate, pochi, promptscript, adal, universal
|
||||
|
||||
|
||||
Initializing Ralph TUI...
|
||||
Env filter: no vars matched exclusion patterns (*_API_KEY, *_SECRET_KEY, *_SECRET)
|
||||
|
||||
|
||||
⚠️ Recovered stale session
|
||||
Cleared 5 stuck in-progress task(s)
|
||||
Session status set to "interrupted" (resumable)
|
||||
|
||||
Resuming previous session...
|
||||
[0m[31mFailed to resume session[0m
|
||||
reconciled DGR-017 #1 completed
|
||||
reconciled DGR-018 #2 completed
|
||||
reconciled DGR-019 #3 completed
|
||||
reconciled DGR-020 #4 completed
|
||||
reconciled DGR-021 #5 completed
|
||||
reconciled DGR-022 #6 completed
|
||||
reconciled DGR-023 #7 completed
|
||||
reconciled DGR-024 #8 completed
|
||||
reconciled DGR-025 #9 completed
|
||||
reconciled DGR-026 #10 completed
|
||||
reconciled DGR-027 #11 completed
|
||||
reconciled DGR-028 #12 completed
|
||||
reconciled DGR-029 #13 completed
|
||||
reconciled DGR-030 #14 ready
|
||||
reconciled DGR-031 #15 ready
|
||||
reconciled DGR-032 #16 blocked
|
||||
reconciled DGR-033 #17 blocked
|
||||
reconciled DGR-034 #18 blocked
|
||||
reconciled DGR-035 #19 blocked
|
||||
reconciled DGR-036 #20 blocked
|
||||
reconciled DGR-037 #21 blocked
|
||||
reconciled DGR-038 #22 blocked
|
||||
reconciled DGR-039 #23 blocked
|
||||
reconciled DGR-040 #24 blocked
|
||||
reconciled DGR-041 #25 blocked
|
||||
reconciled DGR-042 #26 blocked
|
||||
reconciled DGR-043 #27 blocked
|
||||
reconciled DGR-044 #28 ready
|
||||
reconciled DGR-045 #29 blocked
|
||||
reconciled DGR-046 #30 blocked
|
||||
reconciled DGR-047 #31 blocked
|
||||
reconciled DGR-048 #32 blocked
|
||||
reconciled DGR-049 #33 blocked
|
||||
reconciled DGR-050 #34 blocked
|
||||
reconciled DGR-051 #35 blocked
|
||||
reconciled DGR-052 #36 blocked
|
||||
reconciled DGR-053 #37 blocked
|
||||
reconciled DGR-054 #38 blocked
|
||||
reconciled DGR-055 #39 blocked
|
||||
reconciled DGR-056 #40 blocked
|
||||
reconciled DGR-057 #41 blocked
|
||||
reconciled DGR-058 #42 blocked
|
||||
reconciled DGR-059 #43 blocked
|
||||
reconciled DGR-060 #44 blocked
|
||||
reconciled DGR-061 #45 blocked
|
||||
reconciled DGR-062 #46 blocked
|
||||
reconciled DGR-063 #47 blocked
|
||||
reconciled DGR-064 #48 blocked
|
||||
reconciled DGR-065 #49 blocked
|
||||
reconciled DGR-066 #50 blocked
|
||||
reconciled DGR-067 #51 blocked
|
||||
reconciled DGR-068 #52 blocked
|
||||
reconciled DGR-069 #53 blocked
|
||||
reconciled DGR-070 #54 blocked
|
||||
reconciled DGR-071 #55 blocked
|
||||
synced=55 next=none dry_run=False
|
||||
reconciled DGR-017 #1 completed
|
||||
reconciled DGR-018 #2 completed
|
||||
reconciled DGR-019 #3 completed
|
||||
reconciled DGR-020 #4 completed
|
||||
reconciled DGR-021 #5 completed
|
||||
reconciled DGR-022 #6 completed
|
||||
reconciled DGR-023 #7 completed
|
||||
reconciled DGR-024 #8 completed
|
||||
reconciled DGR-025 #9 completed
|
||||
reconciled DGR-026 #10 completed
|
||||
reconciled DGR-027 #11 completed
|
||||
reconciled DGR-028 #12 completed
|
||||
reconciled DGR-029 #13 completed
|
||||
reconciled DGR-030 #14 in-progress
|
||||
reconciled DGR-031 #15 ready
|
||||
reconciled DGR-032 #16 blocked
|
||||
reconciled DGR-033 #17 blocked
|
||||
reconciled DGR-034 #18 blocked
|
||||
reconciled DGR-035 #19 blocked
|
||||
reconciled DGR-036 #20 blocked
|
||||
reconciled DGR-037 #21 blocked
|
||||
reconciled DGR-038 #22 blocked
|
||||
reconciled DGR-039 #23 blocked
|
||||
reconciled DGR-040 #24 blocked
|
||||
reconciled DGR-041 #25 blocked
|
||||
reconciled DGR-042 #26 blocked
|
||||
reconciled DGR-043 #27 blocked
|
||||
reconciled DGR-044 #28 ready
|
||||
reconciled DGR-045 #29 blocked
|
||||
reconciled DGR-046 #30 blocked
|
||||
reconciled DGR-047 #31 blocked
|
||||
reconciled DGR-048 #32 blocked
|
||||
reconciled DGR-049 #33 blocked
|
||||
reconciled DGR-050 #34 blocked
|
||||
reconciled DGR-051 #35 blocked
|
||||
reconciled DGR-052 #36 blocked
|
||||
reconciled DGR-053 #37 blocked
|
||||
reconciled DGR-054 #38 blocked
|
||||
reconciled DGR-055 #39 blocked
|
||||
reconciled DGR-056 #40 blocked
|
||||
reconciled DGR-057 #41 blocked
|
||||
reconciled DGR-058 #42 blocked
|
||||
reconciled DGR-059 #43 blocked
|
||||
reconciled DGR-060 #44 blocked
|
||||
reconciled DGR-061 #45 blocked
|
||||
reconciled DGR-062 #46 blocked
|
||||
reconciled DGR-063 #47 blocked
|
||||
reconciled DGR-064 #48 blocked
|
||||
reconciled DGR-065 #49 blocked
|
||||
reconciled DGR-066 #50 blocked
|
||||
reconciled DGR-067 #51 blocked
|
||||
reconciled DGR-068 #52 blocked
|
||||
reconciled DGR-069 #53 blocked
|
||||
reconciled DGR-070 #54 blocked
|
||||
reconciled DGR-071 #55 blocked
|
||||
synced=55 next=DGR-030 dry_run=False
|
||||
Initializing Ralph TUI...
|
||||
Env filter: no vars matched exclusion patterns (*_API_KEY, *_SECRET_KEY, *_SECRET)
|
||||
|
||||
Session: b92af6fa-2fb6-4e92-9bf2-d571be5c8561
|
||||
Agent: claude
|
||||
Tracker: json
|
||||
PRD: .scratch/distributed-gguf-runtime/prd.json
|
||||
Max iterations: unlimited
|
||||
|
||||
[10:34:45] [INFO] [session] Session b92af6fa-2fb6-4e92-9bf2-d571be5c8561 created. Agent: claude, Tracker: json
|
||||
[10:34:45] [INFO] [engine] Ralph started. Total tasks: 42
|
||||
[10:34:45] [INFO] [progress] Iteration 1/∞: Working on DGR-030 - Add accelerator build presets and native CI matrix
|
||||
[10:34:51] [INFO] [agent] I'll start by reading the context files for this task.
|
||||
[10:34:52] [INFO] [agent] [94m[Bash][0m $ echo "--- RALPH-CONTEXT ---" && cat .scratch/distributed-gguf-runtime/RALPH-CONTEXT.md 2>/dev/null |...
|
||||
[10:34:53] [INFO] [agent] [94m[Bash][0m $ echo "--- ISSUE ---" && cat .scratch/distributed-gguf-runtime/issues/030-add-accelerator-build-prese...
|
||||
[10:34:54] [INFO] [agent] [94m[Bash][0m $ echo "--- PROGRESS ---" && cat .ralph-tui/progress.md 2>/dev/null | tail -300
|
||||
[10:34:58] [INFO] [agent] [94m[Bash][0m $ echo "--- DGR-029 evidence ---" && cat .scratch/distributed-gguf-runtime/evidence/DGR-029/README.md ...
|
||||
[10:34:59] [INFO] [agent] [94m[Bash][0m $ echo "--- find native/cmake dirs ---" && find . -iname "*CMakeLists*" -not -path "*/node_modules/*" ...
|
||||
[10:35:14] [INFO] [agent] [94m[Read][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/packages/node/native/llama/UPSTREAM_LOCK.json[0m
|
||||
[10:35:14] [INFO] [agent] [94m[Read][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/scripts/llama_cpp_dependency.py[0m
|
||||
[10:35:21] [INFO] [agent] [94m[Read][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/packages/node/native/CMakeLists.txt[0m
|
||||
[10:35:23] [INFO] [agent] [94m[Bash][0m $ find /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime -maxdept...
|
||||
[10:35:30] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime find . -ma...
|
||||
[10:35:30] [INFO] [agent] [94m[Read][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/tests/test_llama_cpp_dependency.py[0m
|
||||
[10:35:44] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime grep -rn "...
|
||||
[10:35:44] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime grep -rln ...
|
||||
[10:35:48] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime grep -n "r...
|
||||
[10:35:49] [INFO] [agent] [94m[Read][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/packages/tracker/meshnet_tracker/capability.py[0m
|
||||
[10:36:21] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime grep -n -B...
|
||||
[10:36:21] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime grep -n -B...
|
||||
[10:37:10] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime ls build/l...
|
||||
[10:37:25] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime ls .venv/b...
|
||||
[10:37:29] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime timeout 8 ...
|
||||
[10:37:36] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime .venv/bin/...
|
||||
[10:37:41] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime timeout 90...
|
||||
[10:37:47] [INFO] [agent] Good, cmake is available now in `.venv/bin`. Now let's check for GPU SDK availability more thoroughly and check the c++ compiler.
|
||||
[10:37:48] [INFO] [agent] [94m[Bash][0m $ c++ --version 2>&1 | head -2 echo "---" which nvidia-smi rocminfo 2>&1 echo "--- CUDA_HOME / ROCM re...
|
||||
[10:37:55] [INFO] [agent] [94m[Bash][0m $ which glslc glslangValidator 2>&1 echo "---" find / -maxdepth 6 -iname "vulkan.h" 2>/dev/null | grep...
|
||||
[10:39:23] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime python3 -c...
|
||||
[10:39:27] [INFO] [agent] No separate shared-gates block; they're embedded per-story. Let's check the DGR-025 evidence README for the "isolated out-of-tree" and recipe-identity conventions, briefly, then start implementing.
|
||||
[10:39:28] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime cat packag...
|
||||
[10:39:31] [INFO] [agent] Now let's implement. First, update `UPSTREAM_LOCK.json` to add the accelerator presets.
|
||||
[10:39:35] [INFO] [agent] [94m[Edit][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/packages/node/native/llama/UPSTREAM_LOCK.json[0m edit: " "smoke_binary": "bin/llama-gguf-hash",
|
||||
[10:39:35] [INFO] [agent] "sm..." → " "smoke_binary": "bin/llama-gguf-hash",
|
||||
[10:39:35] [INFO] [agent] "sm..."
|
||||
[10:39:39] [INFO] [agent] Now let's update `scripts/llama_cpp_dependency.py` with the accelerator lane primitives.
|
||||
[10:39:47] [INFO] [agent] [94m[Edit][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/scripts/llama_cpp_dependency.py[0m edit: " if lock["expected_source"] != {"git_tree": loc..." → " if lock["expected_source"] != {"git_tree": loc..."
|
||||
[10:39:51] [INFO] [agent] Now let's add the accelerator lane functions after `ctest_lane`:
|
||||
[10:40:07] [INFO] [agent] [94m[Edit][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/scripts/llama_cpp_dependency.py[0m edit: "def ctest_lane(build_dir: pathlib.Path) -> None:
|
||||
[10:40:07] [INFO] [agent] ..." → "def ctest_lane(build_dir: pathlib.Path) -> None:
|
||||
[10:40:07] [INFO] [agent] ..."
|
||||
[10:40:10] [INFO] [agent] Now add the CLI subcommands:
|
||||
[10:40:13] [INFO] [agent] [94m[Edit][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/scripts/llama_cpp_dependency.py[0m edit: " ctest_parser = subcommands.add_parser("ctest")..." → " ctest_parser = subcommands.add_parser("ctest")..."
|
||||
[10:40:22] [INFO] [agent] [94m[Edit][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/scripts/llama_cpp_dependency.py[0m edit: " elif args.command == "ctest":
|
||||
[10:40:22] [INFO] [agent] ..." → " elif args.command == "ctest":
|
||||
[10:40:22] [INFO] [agent] ..."
|
||||
[10:40:29] [INFO] [agent] I need to check that this doesn't break the existing test whose fixture lock has `"build": {}`. Let me guard against that.
|
||||
[10:40:30] [INFO] [agent] [94m[Read][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/scripts/llama_cpp_dependency.py[0m
|
||||
[10:40:36] [INFO] [agent] [94m[Edit][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/scripts/llama_cpp_dependency.py[0m edit: " presets = lock.get("accelerator_presets", {})
|
||||
[10:40:36] [INFO] [agent] ..." → " presets = lock.get("accelerator_presets", {})
|
||||
[10:40:36] [INFO] [agent] ..."
|
||||
[10:40:40] [INFO] [agent] Now let's write the CI matrix script.
|
||||
[10:40:53] [INFO] [agent] [94m[Write][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/scripts/native_accelerator_matrix.py[0m "#!/usr/bin/env python3
|
||||
[10:40:53] [INFO] [agent] """DGR-030: native CI/build matrix over the CPU default plus accelerator lanes.
|
||||
[10:40:53] [INFO] [agent] Runs the exact deterministic CPU lane DGR-029 locked (unchanged), then probes
|
||||
[10:40:53] [INFO] [agent] each accelerator p... (4553 chars)"
|
||||
[10:40:59] [INFO] [agent] Now let's verify the Python compiles and existing tests still pass.
|
||||
[10:41:00] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime python3 -m...
|
||||
[10:41:03] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime export PAT...
|
||||
[10:41:10] [INFO] [agent] Existing tests pass. Now let's quickly test the CLI additions and the SDK-probe logic live.
|
||||
[10:41:11] [INFO] [agent] [94m[Bash][0m $ do echo "--- $lane ---" python3 scripts/llama_cpp_dependency.py accelerator-status --name "$lane...
|
||||
[10:41:14] [INFO] [agent] Now let's run the full matrix live end-to-end to verify the CPU lane still builds correctly and accelerator lanes report skipped, then verify the reverse-cleanup contract.
|
||||
[10:41:16] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime export PAT...
|
||||
[10:43:19] [INFO] [agent] It's compiling in the background (matches DGR-029's ~2m16s wall-clock for the CPU lane). I'll wait for it.
|
||||
[10:43:20] [INFO] [agent] [94m[Bash][0m $ sleep 90 && cat /tmp/claude-1000/-run-media-popov-d-DEV-repos-d-popov-com-AI--claude-worktrees-distr...
|
||||
[10:43:20] [INFO] [agent] [91m[Error: <tool_use_error>Blocked: sleep 90 followed by: cat /tmp/claude-1000/-run-media-popov-d-DEV-repos-d-popov-com-AI--claude-worktrees-distributed-gguf-runtime/972c183b-ce77-43c0-9fb1-d513602df13b/tasks/b1g4st9uy.output tail -100. To wait for a condition, use Monitor with an until-loop (e.g. `until <check>; do sleep 2; done`). To wait for a command you started, use run_in_background: true. Do not chain shorter sleeps to work around this block.</tool_use_error>][0m
|
||||
[10:43:25] [INFO] [agent] The build moved to background automatically; I'll get notified when it finishes. Meanwhile, let's write tests for the new accelerator functionality.
|
||||
[10:43:26] [INFO] [agent] [94m[Read][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/tests/test_llama_cpp_dependency.py[0m
|
||||
[10:44:52] [INFO] [agent] [94m[Bash][0m $ tail -50 /tmp/claude-1000/-run-media-popov-d-DEV-repos-d-popov-com-AI--claude-worktrees-distributed-...
|
||||
[10:44:57] [INFO] [agent] The live matrix run succeeded: CPU lane built and CTest-passed exactly as before, and all four accelerator lanes correctly reported `skipped` with an explicit reason (no false success). Let's confirm the source checkout was properly reversed to pristine and the build dirs exist as expected.
|
||||
[10:44:58] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime git -C bui...
|
||||
[10:45:06] [INFO] [agent] Good — the checkout is pristine (matches the locked pin/tree), and only the CPU `build` dir was created (accelerator lanes never created their build dirs since they were skipped, as designed). Now let's write the unit tests.
|
||||
[10:45:26] [INFO] [agent] [94m[Edit][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/tests/test_llama_cpp_dependency.py[0m edit: " dependency._load_lock = lambda: _lock_with_reg..." → " dependency._load_lock = lambda: _lock_with_reg..."
|
||||
[10:45:30] [INFO] [agent] Now let's create the matrix orchestration test file.
|
||||
[10:45:51] [INFO] [agent] [94m[Write][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/tests/test_native_accelerator_matrix.py[0m """"Offline behavior tests for DGR-030's native CI/build matrix orchestration.
|
||||
[10:45:51] [INFO] [agent] These tests never fetch or compile llama.cpp: `llama_cpp_dependency`'s fetch/
|
||||
[10:45:51] [INFO] [agent] apply/reverse/build/smoke/ctest_lane/accele... (7187 chars)"
|
||||
[10:46:02] [INFO] [agent] [94m[Edit][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/tests/test_native_accelerator_matrix.py[0m edit: " assert report["failed_lanes"] == []
|
||||
[10:46:02] [INFO] [agent] assert..." → " assert report["failed_lanes"] == []
|
||||
[10:46:02] [INFO] [agent] assert..."
|
||||
[10:46:17] [INFO] [agent] [94m[Bash][0m $ grep -n "workspace / \"build\"" tests/test_native_accelerator_matrix.py
|
||||
[10:46:21] [INFO] [agent] [94m[Edit][0m [95m/run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime/tests/test_native_accelerator_matrix.py[0m edit: " assert smoke_calls == [("smoke", (workspace / ..." → " assert smoke_calls == [("smoke", (workspace.re..."
|
||||
[10:46:28] [INFO] [agent] Now let's run the full test suite.
|
||||
[10:46:29] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime export PAT...
|
||||
[10:46:42] [INFO] [agent] All 19 tests pass. Now let's run the broader shared quality gates.
|
||||
[10:46:43] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime export PAT...
|
||||
[10:46:55] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime export PAT...
|
||||
[10:47:00] [INFO] [agent] [94m[Bash][0m $ cd /run/media/popov/d/DEV/repos/d-popov.com/AI/.claude/worktrees/distributed-gguf-runtime git stash ...
|
||||
|
||||
Reference in New Issue
Block a user