Copy of the legacy ~/.pi/agent/docs tree rebuilt as the command-center knowledge base: concept files promoted to path identity, index listings stripped of frontmatter, all wikilinks/relative links resolved, every checkable claim verified against the live fleet (Dankserver = Ryzen 7 7700X + RTX 3090; Strix Halo is Dankclaw), unverifiable claims tagged. kb-lint exits 0.
28 KiB
28 KiB
type, title, description, tags, timestamp
| type | title | description | tags | timestamp | |||
|---|---|---|---|---|---|---|---|
| changelog | Bundle Change Log | Chronological update history for the OKF knowledge bundle. |
|
2026-08-28 |
Bundle Change Log
2026-09-01 — Retry backoff and thinking default
- Retry backoff: configured Pi's automatic agent-level retries in
settings.jsonwith a 10-second base delay, producing 10s, 20s, and 40s delays across three retries. - Thinking default: set
settings.jsondefaultThinkingLeveltomedium.models.jsonhas no supported per-model default-thinking field; Pi applies this global default to the configured models.
2026-08-28 — KB rebuilt to OKF v0.1; live-verified fleet facts
- Creation: the whole
omp-docs/bundle was copied from the legacy~/.pi/agent/docstree and rebuilt as a git-tracked, OKF v0.1-conformant knowledge base inside the newcommand-centerrepo (repo root = live agent dir; the checkout is the deployment). Every checkable claim was re-verified against the live fleet (read-only probes); unverifiable claims are taggedunverifiedin frontmatter. - Update — hardware facts corrected: Dankserver is a Ryzen 7 7700X + RTX 3090 (not Strix Halo); Strix Halo (gfx1151) is Dankclaw. RAM, storage, kernel, and network facts were probed live and corrected across
system/. - Update — conformance pass: concept-in-disguise indexes promoted to
<dirname>.mdconcept files (identity = path, per spec); index.md files stripped of frontmatter (indexes carry none); all wikilinks and relative links resolved or repointed;scripts/kb-lint.sh(OKF conformance + link-integrity linter) exits 0 on the bundle. Vendoredreferences/okf-spec.mdis exempt from link-lint — its example paths are illustrations, not links. - Update — inventory: home-config census (7 orphaned configs, 10 prune-candidates) recorded under
inventory/for the pruning session; zero deletions performed. Legacy~/.pitree left untouched and frozen. - Deferred to operator (decisions, not facts): chezmoi source layout (
research/chezmoi-evaluation.mdrecommends a separate chezmoi repo) and the permanent secrets tool (research/secrets-for-agents.md; interim = pre-commit secret gate + quarantine list; top candidate sops+age). Gitea Projects unit is disabled instance-wide, so the kanban board is a one-time web-UI setup for the operator.
2026-08-23 — Homepage deployed to production; Caddy KB doc
- Homepage is live on Dankclaw.
./scripts/deploy.sh dankclawdeploys the static files to/srv/homepage, installs the status checker (systemd timer, every 3 min, writesstatus.json), writesdeployed.js(the last master deployment datetime), renders the Caddyfile (both basicauth hashes from the host.env), reloads Caddy, and checks health. Verified end-to-end:/admin/(operator) + all shared files serve 200 under the operator credential;/and/admin/401 without/wrong credentials; the LLM is healthy. - Caddyfile auth design (the hard-won fix). Caddy sorts top-level directives, so a
rewriteruns before abasicauth; the rewrite changed/admin/to/admin.htmland the path-based auth matchers then saw the rewritten path, applying the wrong (family) auth block — the operator password 401'd. Fix: serve each page from its ownhandleblock (which preserves file order, so the auth is checked on the original path):handle /admin*(operator only),handle @data(shared data + assets, family OR operator, so the admin page's fetches reuse the operator credential), and a catch-allhandle(family). Also: ahandleinline matcher is a single token (multi-path needs a named matcher); a leading@name <directive>is parsed as a matcher definition (re-defines@name). - Caddy mount fix. The caddy container mounted the repo's
shared/homepage(static source) to/srv/homepage; the generated files (status.json,deployed.js) are written to the host's/srv/homepage. Pointed the mount at the host's/srv/homepageso the generated files serve. A compose change needs a container recreate (not a reload) —podman compose up -d caddy(the deploy skips the compose restart, so this is manual). - Caddy KB doc (operator request: read the docs before guessing at syntax): new
caddy/section in this bundle — caddyfile (caddy/caddyfile.md) +caddy/index.md, cross-linked from the rootindex.md. Grounded in caddyserver.com (fetched 2026-08-23) + a researcher subagent brief. - Tests: 116 green (was 112; +4 for the Caddyfile handle design + the
status.json0644 perms). The localcaddy validatetest is skipped (no local caddy binary); the rendered config is validated on the target via the porkbun image before each deploy.
2026-08-23 — Homepage design settled (grilling complete)
- All 38 open questions (Q6–Q43) answered. The homepage design is now fully settled. Full record:
serverAppConfigs/docs/Infrastructure/Homepage Design Grilling.md(final decisions + the deltas) anddocs/Infrastructure/Homepage.md. - Key deltas from the initial recommendations: the probe method is per service (
tcporhttp); the probe timeout is 5 s; the layout is TUI-style panels (a grid), not a flat list; styling is toggleable (full theme default, a toggle to bare unstyled HTML); do not alter the user's cursor; no client-side auto-refresh (readstatus.jsononce on load); the footer shows the last master deployment datetime (not last-check); the deploy is git-driven (master = deployed state); the build is full TDD. - Per-service docs workstream: each service gets a
/docs/<svc>/page (not/usage/), written as a how-to for a regular user (no maintenance details), password-protected by the same auth as its homepage section, built as each service goes active. The existing reference docs indocs/are NOT linked from the homepage (they may contain secrets). - Build complete (all 6 slices, full TDD, 112 tests green): 1 the checker core (tcp/wip/atomic write/generated_at), 2 the http probe, 3 the real
services.json+ schema, 4 the pages + theme + toggle, 5 the Caddyfile auth split (root vs/admin/), 6 the git-driven deploy. All committed + pushed. The render logic is verified with a Node DOM shim (9 user panels, correct summary, correct footer datetime). - To go live: the operator adds
CADDY_ADMIN_HASH(the operator-only password,caddy hash-password) to the Dankclaw.env, then runs./scripts/deploy.sh dankclaw. Until then the admin hash stays a placeholder. The per-service/docs/pages, the *arr stack, and the optional/how/page remain separate threads. - Correction (media stack): the Dankserver media stack (RomM, Copyparty, Jellyfin, Plex, the *arr) is UP — it runs as bare processes/services, not yet migrated to podman containers. The 2026-08-22 "down / missing
.env" finding was wrong: I was probing for the compose stack, which is not how it runs yet. Do not treat it as an outage and do not probe it as down. Its podman migration is a separate, future effort.
2026-08-22 — vllmScripts merged into serverAppConfigs
- Repo merge: the
vllmScriptsrepo (LLM inference fleet: serve scripts, systemd units, env tunables, deploy runbook, research docs) is merged intoserverAppConfigswith its full git history (two-parent import commit, then reorganization:docs/→docs/LLM/,scripts/merged,old/for retired PP/NPU-era scripts). One repo, one checkout per host (/home/dank/serverAppConfigs), onescripts/deploy.shcovering both workloads per target (podman stack + LLM service relink/restart + both health checks). - Units: frank-default-{small,large,npu}.service now point at
/home/dank/serverAppConfigs/scripts/.... The retired target checkouts (/home/dank/vLLMon Dankserver,/home/dank/vllmScriptson Dankclaw) are to be archived on the hosts during the production deploy. - Secrets: the live sudo password that the old vllmScripts AGENTS.md documented in plaintext is NOT carried into the merged repo (a bats leak-check guards it). It remains in the git history of both repos on the LAN Gitea — rotation recommended.
- KB links:
system/index.md,system/dankserver.md,system/dankclaw.md, and the rootindex.mdupdated — the "sibling knowledge bases" section is now a single sibling (serverAppConfigs, which contains the LLM fleet KB atdocs/LLM/index.md). - Port move:
frank-default-large(dankclaw) moved from:52625to:7770(operator request: the primary inference server sits on the standard llama.cpp port). Both LLM services now listen on:7770, distinguished by host.models.json(llamacpp (dankclaw)) and the OpenWebUI quadlet (OPENAI_API_BASE_URL) re-pointed to:7770.pi/models.mdupdated. - Homepage design (grilling): the
serverAppConfigshomepage (docs/Infrastructure/Homepage.md) is WIP — the Caddy site is live (basicauth 401,:80302) but/srv/homepage/is not deployed. Settled design: a single site on Dankclaw (root = user services,/admin/= admin services behind a second operator-only password, optional/how/tourist page). Status is checked server-side — a systemd-timer checker (every 3 min) probes each backendhost:portand writes a same-originstatus.json; the page reads only that file (the client-side-ping design is blocked by cross-origin + mixed-content + auth). Full decision log + 38 open questions (Q6–Q43) indocs/Infrastructure/Homepage Design Grilling.md. A terminal-TUI-styled HTML progress report was generated for the operator to review and answer the open questions. Full-stack baseline verified: Dankclaw fully up; the Dankserver media stack is down (only Calibre-Web + the LLM are up; no.envon the target).
2026-08-21 — Fleet ops: passwordless sudo, Hermes SSH keys, sibling KB links
- Passwordless sudo: added
/etc/sudoers.d/dank-nopasswd(dank ALL=(ALL) NOPASSWD: ALL) on both Dankserver and Dankclaw. Verifiedsudo -n trueon both. The pre-existing drop-ins (frank-smallon Dankserver;frank-large+frank-lingon Dankclaw) grant per-command NOPASSWD for the frank restart scripts and remain in place. - Hermes SSH keys: the Hermes Agent (podman container
hermes, projectdankclawinserverAppConfigs, gateway drops to container uid 10000 = host uid 109999, HOME/opt/dataon a podman volume) now has a dedicated ed25519 key at/opt/data/.ssh/id_ed25519(hermes-agent@dankclaw) plus an SSH config fordankclaw(192.168.0.143),dankserver(192.168.0.235), anddankware(192.168.0.226). The public key is indank'sauthorized_keyson all three machines. Verified from inside the container as the hermes user: all threessh <host> hostnamecalls succeed. - Sibling KB links:
system/index.md,system/dankserver.md,system/dankclaw.md, and the rootindex.mdnow link the two sibling knowledge bases on dankware:~/Projects/vllmScripts/(inference fleet scripts + runbook, indexdocs/index.md) and~/Projects/serverAppConfigs/(Podman deploy configs for both servers, indexdocs/index.md).
2026-08-19 — pi-web-access: SearXNG endpoint re-pointed to dankclaw
- Config:
~/.pi/web-search.json—searxngBaseUrlmoved from the dead192.168.0.235:8081(dankserver, connection refused) to192.168.0.143:8081(dankclaw; verified live: HTTP 200, 25 JSON results, 0.8 s). Deleted the redundantprovider: "all"(thesearchProvider: "searxng"pin already wins in v0.22). AddedmaxInlineContentChars: 50000. Keptworkflow: "none"andssrf.allowRanges: ["192.168.0.0/24"]. - Docs:
pi/packages/pi-web-access.mdbumped 0.14.0 → 0.22.0 (18-provider chain, config block, active-setup note, GitHub-clone section, yt-dlp present).agentic-web-research/SearXNG endpoint references repointed.235→.143(index, searxng-tuning, vpn-routing). - Note: pi-web-access caches
web-search.jsonin memory per process — the new endpoint takes effect on the next Pi session, not the running one. - Packages:
yt-dlpinstalled on dankware (2026.07.04) — YouTube frame extraction now works;ffmpeg(n9.0.1) was already present.
2026-08-19 — SearXNG + Gluetun bring-up on dankclaw
Field notes from standing up the search stack (gluetun + searxng + valkey) and confirming agentic JSON search. All four are operational; the SearXNG trio runs via podman-compose (not yet boot-persistent quadlet).
- Gluetun manual WireGuard: a specific-server ProtonVPN config (private key + peer + endpoint) uses
VPN_SERVICE_PROVIDER=custom, NOTprotonvpn. Theprotonvpnprovider is account/token-based and rejects a manually-set endpoint withendpoint port is set. Current Gluetun uses the single-peer model:WIREGUARD_PUBLIC_KEY,WIREGUARD_ENDPOINT_IP,WIREGUARD_ENDPOINT_PORT,WIREGUARD_ADDRESSES(not the oldWIREGUARD_PEERS_*names). DNS is Gluetun's ownDNS_*vars, not the WGDNSline. - Gluetun healthcheck: the image has no
curl, and its:8000status server 404s on every path. Usetest: ["CMD","sh","-c","test -e /sys/class/net/tun0"]— tun0 exists only while the tunnel is connected. - SearXNG trusted group: lives in
limiter.toml(notsettings.yml). A direct hit on the published port has noX-Forwarded-Forheader, so the bot-detection cannot resolve a client and returns 429 regardless ofpass_ip. SearXNG must be reached through Caddy (which sets XFF);trusted_proxiesthen needs the podman bridge subnet (dynamic in rootless — pin the network CIDR) so Caddy's source is trusted for XFF extraction. - Rootless podman gotchas: short image names do not resolve (no unqualified-search registries) — qualify with
docker.io/. Binding privileged ports (Caddy 80/443) needs the one-time sysctlnet.ipv4.ip_unprivileged_port_start=80. - Repo:
serverAppConfigs— addedshared/searxng/limiter.toml+ test seam, wired it intodeploy.sh, fixed the Gluetun compose (peer env vars, qualified images, tun0 healthcheck), documented the rootless-port + Caddy/XFF gotchas, and skipped the ComfyUI GPU tests (migration pending). - Boot-persistence (quadlet): converted the trio from podman-compose to quadlet so it survives reboot. searxng sets
Network=gluetun.container(reuses gluetun's netns → exits the tunnel); gluetun + valkey join a pinnedsearxng.network(10.89.2.0/24). Deployed viascripts/deploy-searxng-quadlet.sh. Field gotchas (also inengineering/infra/containers.md): the generator rejectsCapAdd=/Device=(useAddCapability=/AddDevice=) and silently skips the unit; generated units cannot besystemctl enabled —[Install] WantedBy=default.targetis the enablement (is-enabled= "generated"), and linger makes them boot-start. Verified: all threeis-enabled= generated, tunnel up (US-WA), agentic JSON search returns 27 on-topic results. - open-webui moved to dankclaw (quadlet): the old open-webui was a bare container on Dankserver (:3000) pointing at a dead
:9090backend. It now runs on Dankclaw as a boot-persistent quadlet (scripts/deploy-open-webui-quadlet.sh): CPU image:main(Dankclaw is CPU-only), isolated onNetwork=slirp4netns, published:3005(:3000 is Gitea's HTTP port), data at/home/dank/Containers/open-webui/data. Default LLM backend is the local vLLM (host.containers.internal:52625). The Dankserversearxng+open-webuibare containers were retired (data dirs preserved).podman inspect <name>can match an IMAGE, not just a container — a removed container still "exists" to inspect if its image remains; usepodman ps -a --filter name=to check containers. - Model/port mapping corrected (live, 2026-08-19): the fleet endpoints are the REVERSE of the 2026-08-17 note. Live truth (probed
/v1/models):frank-default-largeis on Dankclaw :52625 (vLLM, completion) andfrank-default-smallis on Dankserver :7770 (llama.cpp FastMTP, completion+multimodal). TheserverAppConfigsdocs (Stack, OpenWebUI) were corrected; the siblingvllmScriptsKB still carries the old mapping and should be updated there. - SearXNG 429 root cause (the "diva"): the limiter's JSON cap is
API_MAX = 4requests/IP/hour and that constant is hardcoded in Python (searx/botdetection/ip_limit.py), NOT settable inlimiter.toml. The only bypass ispass_ip(SearXNG'sfilter_requestreturns beforeip_limitruns when the IP is inpass_ip). Second gotcha: rootless podman strips the client IP on published-port hits — a request to the published port reaches the container with a slirp/bridge source (10.88.x/10.89.x), never the real client; only Caddy'sX-Forwarded-Forrestores it. So even a LAN-IP curl 429'd. Fix: expandpass_ipto loopback (127.0.0.1/32,::1) + the host's private podman/slirp ranges (10.88.0.0/16,10.89.0.0/16) + the LAN. Verified: 20 concurrent JSON searches → all 200 (real results), while a spoofed public IP (8.8.8.8) still 429s (limiter still armed). The config file is root-owned (uid of the rootless podman namespace) — update with a one-offsudo cp+systemctl --user restart searxng.service. - ComfyUI GPU (gfx1151) — DONE (Option 1/B): the deferred GPU ComfyUI is now built and running. It was previously a bare CPU venv (
/home/dank/ComfyUI, py3.14,torch 2.13.0+cu130with no NVIDIA → CPU fallback). Now it's a containercomfyui-rocm:gfx1151built fromdankclaw/Containerfile.comfyuion AMD'srocm/vllm:rocm7.12.0_gfx1151_..._py3.12_pytorch_2.9.1base (the only torch build wheretorch.cuda.is_available()=Trueon the Strix Halo APU). Key gotchas: (1) the base image already ships the ROCm torch/torchvision/torchaudio, so the Containerfile must skip the torch family from ComfyUI'srequirements.txt(an unpinnedtorchwould clobber the gfx1151 kernels) — filter withgrep -viE '^(torch|torchvision|torchaudio)([^a-z]|$)'. (2) rootless podman cannot--group-add render(gid 990 is outside the subgid range 100000+); GPU access comes from the/dev/kfd+/dev/dripassthrough checked host-side (the run user is already inrender), so add only thevideogroup. Verified:/system_stats→cuda:0 Radeon 8060S, logs showAMD arch: gfx1151+ active HIP backend. Boot-persistent via a user systemd unit runningpodman compose up -d comfyui(old venv unit saved ascomfyui.service.venv.bak). The 4comfyui_rocm.batstests are un-skipped (the group test now asserts video present + render ABSENT).
2026-08-17 — Fleet redo + vLLM tool calling
- Update:
pi/models.md— providers rewritten for the fleet redo:llamacpp (dankserver)at :7770 andvllm (dankclaw)at :52625; model selection strategy and live defaults brought in line with the new topology and the Quark W8A8 model. - Context: the Frank fleet moved off the pipeline-parallel + NPU topology.
frank-default-large(llama.cpp FastMTP, IQ4_XS) is on Dankserver;frank-default-small(vLLM ROCm, nameistoken Qwen3.6-35B-A3B Quark W8A8 INT8) is on Dankclaw with ngram spec and tool calling. The Avesed INT8 quant's tool-call XML fidelity was poor; the Quark quant follows the Qwen3 XML format cleanly.
2026-08-16
Gitea Boot-Persistence Fix (dankclaw)
- Incident:
unattended-upgradesrebooted dankclaw at 15:01. The legacy podman-compose Gitea stack had no systemd units, so rootless podman did not auto-start the containers. Gitea was down ~1 hour. - Update:
tools/gitea/index.md,architecture.md,management.md,data-persistence.md— rewritten for the quadlet-managed stack: container/unit names, thesystemd-giteanetwork (DNS-enabled), boot persistence (linger +WantedBy=default.target), the app.ini env-override gotcha, UID 100999 ownership, incident log. - Update:
engineering/infra/containers.md— markedpodman generate systemddeprecated (podman 5.7), documented Quadlet with a field-tested gotcha list (default network DNS off,[Service] EnvironmentFile=for${VAR}expansion, unit naming, bind-mount UID mapping).
2026-08-13
Pi Subagents Limits
- Added a "Parallel Execution and Limits" section to
pi/packages/pi-subagents.md. - Documented the effective values:
globalConcurrencyLimit2 (fromextensions/subagent/config.json),parallel.maxTasks8,parallel.concurrency4,maxSubagentSpawnsPerSessionunlimited,maxSubagentDepth2, andturnBudget.maxTurns30. - Noted that no per-model limit exists; all caps are global to a run or a session.
2026-08-11 (continued)
Engineering Research — New Area
- Created the
engineering/research area: SDLC and tooling, agent instruction files, language and framework stacks, infrastructure and cloud, pi plugins, skills ecosystem, and Signal remote control. - Ran a parallel research fleet (scout + 6 researchers) grounded in current 2025/2026 web sources.
Skills Leaderboard — Live Verification
- Queried the skills.sh API (
GET /api/skills/all-time/{page}) for the authoritative top 50 skills by all-time installs. - Replaced the inferred category table in
engineering/skills-ecosystem.mdwith the verified ranked list. - Noted the API’s zero-based pagination and 200-skill page size for future queries.
2026-08-11 (continued)
Agentic Web Research — Grounded Revision
- Ran a parallel research fleet (7 researchers + 2 scouts) for current 2025-2026 evidence on SearXNG tuning, VPN split-routing, agentic search, open models, research orchestration, and MCP.
- Rewrote all 8
agentic-web-research/pages to match verified facts and the local topology: SearXNG at192.168.0.235:8081, llama.cpp inference on7770(dankserver/dankclaw) and8080(local-ornith), main modelopenrouter/deepseek-v4-flash-0731. - SearXNG: corrected to Valkey deployment, real engine defaults (DuckDuckGo/Wikipedia/Google News active, Google inactive, Bing disabled), limiter budgets, current
outgoingdefaults. - VPN: added Gluetun as the recommended pattern, corrected OpenVPN container joins, added
source_ips/network: ipv4. - Open models: clarified Llama 4 claims (10M ctx = Scout only, single-H100 needs INT4, "beats GPT-4o" is Meta-only), added Qwen2.5-VL-7B as best self-hostable vision model.
- Web agents: corrected the Browser Use "87.4%" claim (managed Cloud variant, not open-source; peer-reviewed 44.5% for CUA), added Skyvern.
- MCP: updated transports (stdio + Streamable HTTP, legacy SSE), current reference servers, added SearXNG MCP, tightened security rules.
Exhaustive Bundle Audit
- Link audit: resolved all 154+ wikilinks by frontmatter title — 0 broken wikilinks. Fixed relative-link base errors in
core/index-doc.md,packages/index.md,pi-web-access.md,llama-cpp/setup.md,npx-skills/skill-commands.md,packages/pi-browser-use/index.md. - External URL audit: fixed dead links (SearXNG limiter path, earendil-works/pi blob URLs, AYayOS/qs -> outfoxxed/quickshell, badlogic/pi-mono -> earendil-works/pi).
- Factual fixes:
core/settings.mdstale JSON (defaultProvider/model/thinkingLevel/changelog-version),pi/models.mddankclaw auth,Sleep-Fix-Guide.mdkernel 7.1.3 -> 7.1.4. - Verified (did not change)
MemorySleepMode=deep: it is a valid systemd 256+ option. - ASD-STE100 style pass: removed contractions, banned
may, and prose semicolons across research/tools/pi docs. - Added OKF index frontmatter to
core/index.mdandskills/index.md. - Added a "Pi-peon is installed" note to the npx skills ecosystem table and a port-7770 system note to llama.cpp docs.
Agentic Web Research Section
- Created
agentic-web-research/— seven new concept pages plus index covering self-hosted web agents, SearXNG tuning, VPN routing, agentic search practices, open models, research effectiveness, and model context protocol. - Expanded via parallel research: concrete BM25/Pruning/LLM content filters, credibility heuristics, failure-mode guardrails, MCP server and transport guidance.
- Added the section to
index.mdunder a new## [Agentic Web Research]heading. - Linked
pi/packages/pi-web-access.mdto the new section.
System Instruction File
- Created
AGENTS.md— system behavior contract with a dedicated layer on parallel subagent execution (onesubagentcall withtasks+concurrency).
Bundle Audit
- Verified all 154 wikilinks resolve (zero broken).
- Removed stale empty
Alienware M16a2 Sleep/Wake Issues.mdduplicate into.AGENTTRASH. - ran ASD-STE100 style pass: converted
shouldto imperative ormust, ande.g.tofor exampleacross 10 files. - Removed stale
frank-default-omnimodel references and corrected dankclaw port13305to8080per commit15d4af4. - Resolved: the live config is authoritative. Updated both llama.cpp servers to port
7770and set the default provider toopenrouter(deepseek) persettings.json. Dankserver/dankclaw now 7770; main session default is openrouter.
2026-08-06 (continued)
Link Fixes
- Fixed 15 broken wikilinks — added missing YAML frontmatter to
ghostty/index.md,tmux/index.md,linux-power-management/index.md,gitea/index.md,gitea/architecture.md,gitea/data-persistence.md,gitea/management.md - Fixed title mismatches:
OKF v0.1 Specification→Open Knowledge Format (OKF) v0.1 Specification,Pi Settings→Pi Settings System (settings.json),Alienware M16a2 Sleep/Wake Issues→Alienware M16a2 Linux Sleep/Wake Issues,Architecture Details→Gitea Architecture,Data Persistence→Gitea Data Persistence,Management Guide→Gitea Management - Zero broken links remaining (47 links verified)
2026-08-06
ComfyUI Documentation
tools/comfyui/index.md— ComfyUI setup on dankclaw, architecture, service managementtools/comfyui/troubleshooting.md— Common errors, diagnostics, recovery stepstools/index.md— Added ComfyUI entrysystem/dankclaw.md— Added ComfyUI service, hardware specs, services section
Major Documentation Overhaul
Created — System Documentation
system/index.md— System documentation index with infrastructure diagramsystem/dankware/index.md— System overview for dankware (Alienware m16 R2)system/dankware/hardware.md— Complete hardware specificationssystem/dankware/displays.md— Three-monitor display configurationsystem/dankware/network.md— Network interfaces and topologysystem/dankserver.md— Primary llama.cpp server documentationsystem/dankclaw.md— Secondary llama.cpp server documentation
Created — Pi Configuration
pi/index.md— Pi configuration overview with architecture diagrampi/settings.md— Main settings.json reference (moved from core/)pi/models.md— models.json provider and model definitionspi/packages/index.md— Installed packages indexpi/packages/pi-peon.md— CESP/OpenPeon sound-pack playerpi/packages/pi-web-access.md— Web search, fetching, video understandingpi/packages/pi-subagents.md— Core subagent delegationpi/skills/index.md— Installed agent skills inventory
Created — Tools
tools/cachyos/index.md— CachyOS documentation (kernel, repos, gaming stack)tools/noctalia-shell/index.md— Noctalia Shell with Niri integrationtools/applications/index.md— Default applications reference
Updated
core/settings.md— Updated with current config, subagent overrides, cross-linkstools/niri/index.md— Rewritten with actual system configurationtools/index.md— Added CachyOS, Noctalia, Applications entriesindex.md— Complete rewrite with new sections and cross-links
Moved / Cleaned
tmux.md→tools/tmux/index.md- Orphaned root duplicates →
.AGENTTRASH/(npx-skills.md, okf-maintenance.md, okf-spec.md, vercel-labs-skills.md, vercel-labs-skills-find-skills.md, ornith-llama-cpp-setup.md)
2026-07-18
- Enhancement: Expanded
okf-maintenance.md— added cross-link management, index management, health metrics, troubleshooting, and quick reference card - Creation:
core/log.md— change log for the core documentation directory - Creation:
.okf/config.yaml— bundle tooling configuration - Update:
core/index.md— added log.md entry and cross-references
2026-01-15
- Initialization: Converted docs bundle to OKF v0.1 format
- Migration: Migrated files to
core/,tools/,packages/,references/directories - Applied: OKF frontmatter to all files
2025-08-05 — Gitea documentation
Added ](tools/gitea/index.md) documentation to tools. Covers:
- architecture — Container topology, Caddy reverse proxy, network diagram.
- management — Podman commands, upgrades, troubleshooting.
- data-persistence — Volume mounts, backup strategy, restore procedures.
Updated tools index.