Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
297a333d6e | ||
|
|
19edcbdef8 | ||
|
|
dc046a7cb0 | ||
|
|
3b16ac3984 | ||
|
|
1a7c687cb4 | ||
|
|
6324d54168 | ||
|
|
a986d77449 |
@@ -1,3 +1,4 @@
|
|||||||
|
- Gitea on Dankclaw (192.168.0.143:3000) has the **Projects unit disabled instance-wide** — the Projects API returns 404 even with a correct repo_id; don't re-probe it, kanban boards there are web-UI-only and are Frank's one-time manual task. In the ~/.omp command-center repo (remote = Gitea dank/command-center): v1.0.0 was cut and shipped via full git-flow; release/1.0.0 was deliberately pushed to the remote to preserve the hotfix cut-point, while the merged feature branch docs/kb-rebuild stays local-only by decision. The Gitea access token lives only in .git/config remote URL — never commit it anywhere else. Session end state: repo checked out on develop, clean tree (because the checkout *is* the live deployment, a session must never end on a feature branch). _(context: End of command-center build-out session; verified via git ls-remote and two 404 probes of the Projects API.)_
|
||||||
- When downloading large model shards (40GB) to dankclaw via SSH: 1. NEVER run rm on partial downloads — always clean up BEFORE starting the first download 2. Ensure only ONE wget process per file — if you see duplicate wget PIDs killing them with kill -9 before restarting, or use fuser to verify exclusivity 3. Use wget -c (continue) to resume partial downloads — SSH connections often drop mid-download on large files (~300s timeout) 4. Download sequentially (not in parallel) when using background task agents that may spawn duplicate processes, or coordinate downloads through a single agent session 5. Verify each file's size against expected values after download completes
|
- When downloading large model shards (40GB) to dankclaw via SSH: 1. NEVER run rm on partial downloads — always clean up BEFORE starting the first download 2. Ensure only ONE wget process per file — if you see duplicate wget PIDs killing them with kill -9 before restarting, or use fuser to verify exclusivity 3. Use wget -c (continue) to resume partial downloads — SSH connections often drop mid-download on large files (~300s timeout) 4. Download sequentially (not in parallel) when using background task agents that may spawn duplicate processes, or coordinate downloads through a single agent session 5. Verify each file's size against expected values after download completes
|
||||||
- kingjones777's Qwen3.8-Flash-Next ROCmFP4 builds for Strix Halo (gfx1151) have three tiers: FAST (~88 GiB), STRIX_LEAN (~98.5 GiB, 3-shard), STRIX (~113.5 GiB). All are text-only — no vision tower, no mmproj, no fused MTP draft head. Uses TYPE_100/TYPE_101 ROCmFP4 tensor types (general.file_type=106), requires patched llama.cpp PR #27742 from ROCmFPX fork. STRIX_LEAN carries a 35.76 GiB PLE n-gram table streamed off SSD at runtime; ~63 GiB GTT for non-PLE weights, ~75 GiB at full 262K context. Uncensored variants exist from orcarouter but only for Qwen3.8-27B (not Flash-Next), and in non-ROCmFP4 format. _(context: User requested kingjones777/Qwen3.8-Flash-Next-Uncensored-ROCmFP4-STRIX_LEAN-GGUF for frank-default-large on dankclaw. Search revealed the repo doesn't exist; only the base STRIX_LEAN tier is available, and it's text-only with no MTP.)_
|
- kingjones777's Qwen3.8-Flash-Next ROCmFP4 builds for Strix Halo (gfx1151) have three tiers: FAST (~88 GiB), STRIX_LEAN (~98.5 GiB, 3-shard), STRIX (~113.5 GiB). All are text-only — no vision tower, no mmproj, no fused MTP draft head. Uses TYPE_100/TYPE_101 ROCmFP4 tensor types (general.file_type=106), requires patched llama.cpp PR #27742 from ROCmFPX fork. STRIX_LEAN carries a 35.76 GiB PLE n-gram table streamed off SSD at runtime; ~63 GiB GTT for non-PLE weights, ~75 GiB at full 262K context. Uncensored variants exist from orcarouter but only for Qwen3.8-27B (not Flash-Next), and in non-ROCmFP4 format. _(context: User requested kingjones777/Qwen3.8-Flash-Next-Uncensored-ROCmFP4-STRIX_LEAN-GGUF for frank-default-large on dankclaw. Search revealed the repo doesn't exist; only the base STRIX_LEAN tier is available, and it's text-only with no MTP.)_
|
||||||
- Model provider config exists in TWO synchronized copies: ~/.pi/agent/models.json (source of truth) and ~/.omp/agent/models.yml (generated import; header comment states it is imported from the JSON). Any edit to providers, model ids, or display name labels must be applied to BOTH files in the same change or they silently drift. Validate after editing: jq -e '.providers|keys' models.json for the JSON and a YAML parse of the .yml. Label strings are NOT cached in ~/.omp/agent/models.db (model_cache table), so no cache flush is needed after label edits — new labels apply on the next config read.
|
- Model provider config exists in TWO synchronized copies: ~/.pi/agent/models.json (source of truth) and ~/.omp/agent/models.yml (generated import; header comment states it is imported from the JSON). Any edit to providers, model ids, or display name labels must be applied to BOTH files in the same change or they silently drift. Validate after editing: jq -e '.providers|keys' models.json for the JSON and a YAML parse of the .yml. Label strings are NOT cached in ~/.omp/agent/models.db (model_cache table), so no cache flush is needed after label edits — new labels apply on the next config read.
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
- Dankclaw podman 5.7 quadlet gotchas (verified live during the Anubis rollout, 2026-08-28): (1) podman's reference parser rejects mixed-case ghcr.io refs at parse time — always use lowercase ghcr.io/techarohq/anubis:vX.Y.Z; ghcr resolves case-insensitively at pull. (2) The v1 quadlet generator cannot enable units on this host, and registry-prefixed image refs fail container create with "image not known" even when the image is in storage — run containers from a localhost/name:tag alias tag instead (deploy handler pulls canonical ref then podman tags the alias). (3) The generator joins bare HealthCmd into ONE argv element with \x20-escaped spaces → shell-form exec of a missing shell; distroless ko-build images (entrypoint /ko-app/anubis, no /bin/sh) need JSON exec-form health probes: HealthCmd=["/ko-app/anubis","--healthcheck"] — the generator passes a JSON array through verbatim. (4) Guard image pulls with podman image exists canonical-ref first; cold anonymous ghcr token requests can 403 on first fetch — retry once, second attempt resolves locally. (5) Anubis chain shape: Caddy TLS :443 → Anubis verify :8923 → accepted traffic back to Caddy internal listener :8016 → per-vhost routing; guarded set = homepage/search/hermes/prometheus/romm/files; exempt by construction: auth (IdP itself), plex (plain HTTP), gitea git smart-HTTP (git clients can't solve JS challenges), grafana (own login). _(context: Repo /home/dank/Projects/serverAppConfigs; docs already cover the chain in serverAppConfigs-docs/Infrastructure/Anubis.md and Architecture/Network Architecture.md; memory covers the podman/quadlet runtime quirks that bite during deploys on this host specifically.)_
|
||||||
- MTP draft heads for Qwen3.8-Flash-Next are INCOMPATIBLE with the STRIX_LEAN Uncensored model on the charlie12345/ROCmFPX qwen4exp binary. Both attempted heads — EasiiX Q8_0 (4.1 GB) and agentionai ROCmFP4-FAST (2.28 GiB) — fail with missing tensor 'blk.0.hc_attn_norm.weight'. The qwen4exp binary expects this hyper-connection attn norm tensor in the draft GGUF, but neither draft head carries it. MTP only ever worked on the 27B model (kingjones-Qwen3.8-27B-STRIX-MTP with mtp-Qwen3.8-27B-Q4_0.gguf), never on any Flash-Next variant. The Flash-Next STRIX (non-LEAN) that ran before the 2026-08-28 session never loaded a draft model at all. Current production config: SPEC_TYPE=ngram-mod only. To get MTP working on STRIX_LEAN, need either a draft head that includes hc_attn_norm tensors or a binary that doesn't require them for draft models. _(context: frank-default-large MTP integration attempt on Dankclaw, 2026-08-28. Downloaded two MTP heads from HuggingFace, both failed to load against the STRIX_LEAN Uncensored model. Service crash-looped on each attempt. Fell back to ngram-mod only. Files: scripts/frank-default-large.env, scripts/serve-frank-large.sh.)_
|
- MTP draft heads for Qwen3.8-Flash-Next are INCOMPATIBLE with the STRIX_LEAN Uncensored model on the charlie12345/ROCmFPX qwen4exp binary. Both attempted heads — EasiiX Q8_0 (4.1 GB) and agentionai ROCmFP4-FAST (2.28 GiB) — fail with missing tensor 'blk.0.hc_attn_norm.weight'. The qwen4exp binary expects this hyper-connection attn norm tensor in the draft GGUF, but neither draft head carries it. MTP only ever worked on the 27B model (kingjones-Qwen3.8-27B-STRIX-MTP with mtp-Qwen3.8-27B-Q4_0.gguf), never on any Flash-Next variant. The Flash-Next STRIX (non-LEAN) that ran before the 2026-08-28 session never loaded a draft model at all. Current production config: SPEC_TYPE=ngram-mod only. To get MTP working on STRIX_LEAN, need either a draft head that includes hc_attn_norm tensors or a binary that doesn't require them for draft models. _(context: frank-default-large MTP integration attempt on Dankclaw, 2026-08-28. Downloaded two MTP heads from HuggingFace, both failed to load against the STRIX_LEAN Uncensored model. Service crash-looped on each attempt. Fell back to ngram-mod only. Files: scripts/frank-default-large.env, scripts/serve-frank-large.sh.)_
|
||||||
- The MTP draft head GGUF mtp-Qwen3.8-Flash-Next-Q8_0.gguf (EasiiX/Qwen3.8-Flash-Next-MTP-Strix-Halo-GGUF, 4.1 GB) is INCOMPATIBLE with the STRIX_LEAN Uncensored Flash-Next model on the charlie12345/ROCmFPX binary (build-qwen38). The draft GGUF is missing tensor blk.0.hc_attn_norm.weight (hyper-connection attention norm) that the qwen4exp architecture expects. The service crash-loops: main model loads fine (~59s), then draft model load fails and exits. MTP only ever worked on the older 27B model (Qwen3.8-27B-Uncensored-Q6_0_ROCMFPX_AGENT + its own mtp-Qwen3.8-27B-Q4_0.gguf head). The Flash-Next STRIX (non-LEAN) that ran before this session never loaded a draft model either — it ran ngram-only. Current production config: SPEC_TYPE=ngram-mod (no draft sidecar). TODO: find a compatible MTP head for STRIX_LEAN or build one from the Flash-Next checkpoint. _(context: frank-default-large MTP draft head integration on Dankclaw, 2026-08-28)_
|
- The MTP draft head GGUF mtp-Qwen3.8-Flash-Next-Q8_0.gguf (EasiiX/Qwen3.8-Flash-Next-MTP-Strix-Halo-GGUF, 4.1 GB) is INCOMPATIBLE with the STRIX_LEAN Uncensored Flash-Next model on the charlie12345/ROCmFPX binary (build-qwen38). The draft GGUF is missing tensor blk.0.hc_attn_norm.weight (hyper-connection attention norm) that the qwen4exp architecture expects. The service crash-loops: main model loads fine (~59s), then draft model load fails and exits. MTP only ever worked on the older 27B model (Qwen3.8-27B-Uncensored-Q6_0_ROCMFPX_AGENT + its own mtp-Qwen3.8-27B-Q4_0.gguf head). The Flash-Next STRIX (non-LEAN) that ran before this session never loaded a draft model either — it ran ngram-only. Current production config: SPEC_TYPE=ngram-mod (no draft sidecar). TODO: find a compatible MTP head for STRIX_LEAN or build one from the Flash-Next checkpoint. _(context: frank-default-large MTP draft head integration on Dankclaw, 2026-08-28)_
|
||||||
- When running Python scripts on a remote host (Dankclaw) that need to manage local services (systemctl, sed), use subprocess.run(cmd, shell=True) for local execution — NOT nested SSH back to the same host. Nested SSH to localhost fails (no key auth for self-loopback). Also: before git pull --ff-only on a remote, verify the branch with git branch --show-current — Dankclaw was on frank-large-strix-model not main, so pulls were no-ops and new files didn't appear. _(context: bench-spec-decode.py ran on Dankclaw but used ssh() to SSH back to itself for systemctl/sed. All SSH calls failed with Permission denied. Also: Dankclaw was on frank-large-strix-model branch, not main, so git pull --ff-only was a no-op and the new file didn't appear.)_
|
- When running Python scripts on a remote host (Dankclaw) that need to manage local services (systemctl, sed), use subprocess.run(cmd, shell=True) for local execution — NOT nested SSH back to the same host. Nested SSH to localhost fails (no key auth for self-loopback). Also: before git pull --ff-only on a remote, verify the branch with git branch --show-current — Dankclaw was on frank-large-strix-model not main, so pulls were no-ops and new files didn't appear. _(context: bench-spec-decode.py ran on Dankclaw but used ssh() to SSH back to itself for systemctl/sed. All SSH calls failed with Permission denied. Also: Dankclaw was on frank-large-strix-model branch, not main, so git pull --ff-only was a no-op and the new file didn't appear.)_
|
||||||
|
|||||||
+4
-5
@@ -2,13 +2,13 @@
|
|||||||
# - apiKey "EMPTY" -> auth: none (keyless local endpoint)
|
# - apiKey "EMPTY" -> auth: none (keyless local endpoint)
|
||||||
# - thinkingLevelMap {max: xhigh} -> compat.reasoningEffortMap
|
# - thinkingLevelMap {max: xhigh} -> compat.reasoningEffortMap
|
||||||
providers:
|
providers:
|
||||||
"llamacpp (dankserver)":
|
"dankserver":
|
||||||
baseUrl: http://192.168.0.235:7770/v1
|
baseUrl: http://192.168.0.235:7770/v1
|
||||||
api: openai-completions
|
api: openai-completions
|
||||||
auth: none
|
auth: none
|
||||||
models:
|
models:
|
||||||
- id: frank-default-small
|
- id: frank-default-small
|
||||||
name: "frank-default-small (Qwen3.6-35B-A3B FP8, FreeToken RTX3090, moe-cache 2048)"
|
name: "frank-default-small"
|
||||||
contextWindow: 204800
|
contextWindow: 204800
|
||||||
maxTokens: 204800
|
maxTokens: 204800
|
||||||
reasoning: true
|
reasoning: true
|
||||||
@@ -16,14 +16,13 @@ providers:
|
|||||||
compat:
|
compat:
|
||||||
reasoningEffortMap:
|
reasoningEffortMap:
|
||||||
max: xhigh
|
max: xhigh
|
||||||
|
"dankclaw":
|
||||||
"llamacpp (dankclaw)":
|
|
||||||
baseUrl: http://192.168.0.143:7770/v1
|
baseUrl: http://192.168.0.143:7770/v1
|
||||||
api: openai-completions
|
api: openai-completions
|
||||||
auth: none
|
auth: none
|
||||||
models:
|
models:
|
||||||
- id: frank-default-large
|
- id: frank-default-large
|
||||||
name: "frank-default-large (Qwen3.8-Flash-Next Q4_0 ROCmFP4 Strix, froggeric-v22.4.0 template)"
|
name: "frank-default-large"
|
||||||
contextWindow: 262144
|
contextWindow: 262144
|
||||||
maxTokens: 262144
|
maxTokens: 262144
|
||||||
reasoning: true
|
reasoning: true
|
||||||
|
|||||||
Reference in New Issue
Block a user