From d2cf643ecad027f801e8679a02fed8d17badad7b Mon Sep 17 00:00:00 2001 From: Sam Date: Thu, 12 Nov 2026 08:45:30 +1100 Subject: [PATCH] Outline collection pushed; Obsidian note links the map and the collection; Headroom paths recorded --- ...layout-md-and-three-live-layout-mockups.md | 30 +++++++++++++ ...ry-structure-and-configuration-patterns.md | 22 ++++++++++ ...clip-harness-docs-and-gitea-publication.md | 42 +++++++++++++++++++ docs/PLAN-INTERFACE.md | 21 ++++++++++ 4 files changed, 115 insertions(+) create mode 100644 .pi/memory-vault/packs/paperclip-harness/80-sessions/paperclip-harness-docs-and-gitea-publication.md diff --git a/.pi/memory-vault/packs/paperclip-harness/40-actions/2026-11-10-wrote-docs-ui-layout-md-and-three-live-layout-mockups.md b/.pi/memory-vault/packs/paperclip-harness/40-actions/2026-11-10-wrote-docs-ui-layout-md-and-three-live-layout-mockups.md index d0113a2..00c4feb 100644 --- a/.pi/memory-vault/packs/paperclip-harness/40-actions/2026-11-10-wrote-docs-ui-layout-md-and-three-live-layout-mockups.md +++ b/.pi/memory-vault/packs/paperclip-harness/40-actions/2026-11-10-wrote-docs-ui-layout-md-and-three-live-layout-mockups.md @@ -913,3 +913,33 @@ Say go on 1 and I will run the project-docs pass before anything else. - session: [[packs/paperclip-harness/80-sessions/paperclip-harness-headroom-integration-machine-drift-cancel-|paperclip-harness: headroom integration, machine drift, cancel feature, office workflow]] - session: [[packs/paperclip-harness/80-sessions/rich-discovery-itself-2026-11-11-08-00-32|Rich discovery: itself 2026-11-11 08:00:32]] - context: [[packs/paperclip-harness/20-context/tmp|itself]] + + +--- + +## Update (2026-11-11 10:13:10) + +Completed deliverables: +- Gitea: repo `sam/paperclip-harness` created (public, branch main), README (8656 bytes) and docs pushed (latest commits `f07e7b5`, `e883b11`). +- Obsidian on `.27`: `010 inbox/Paperclip Harness.md` 3026 bytes, signed with generic-note frontmatter, Mermaid, left in inbox. +- Docs: `docs/architecture.mmd`, rendered `docs/diagrams/architecture.png`, `docs/PLAN-INTERFACE.md`, `docs/outline/00-index`, `01-system-overview`, `02-config-and-env`, `03-code-map`, `04-agent-runbook` (Simplified Technical English). + +Pending follow-ups, in order: +1. Publish Archify interactive HTML map to `maps.lab.audasmedia.com.au/paperclip-harness/`. +2. Push `docs/outline/` into an Outline collection (needs collection id + workspace choice; `OL_API_KEY`). +3. `.51` rebuild: `sudo nixos-rebuild switch --flake /etc/nixos#sam-thinkpad`. +4. Two clean tests: fresh project at `/tmp/fresh-project-2026-11-11` end to end, and adopting this repo as a project. +5. Upgrade Pi 0.82 -> 0.87 on `.13` and `.27`. + +Vikunja integration ignored per user. + +## Evidence + +- Confidence: 82% +- Reason: Concrete delivered work and residual tasks for follow-up context. + +## Related learned memories + +- observation: [[packs/paperclip-harness/60-observations/tmp-repository-structure-and-configuration-patterns|Headroom integration paths on Pi]] +- action: [[packs/paperclip-harness/40-actions/2026-11-10-wrote-docs-ui-layout-md-and-three-live-layout-mockups|Delivered paperclip-harness documentation to Gitea, Obsidian, and docs/outline]] +- session: [[packs/paperclip-harness/80-sessions/paperclip-harness-docs-and-gitea-publication|paperclip-harness docs and Gitea publication]] diff --git a/.pi/memory-vault/packs/paperclip-harness/60-observations/tmp-repository-structure-and-configuration-patterns.md b/.pi/memory-vault/packs/paperclip-harness/60-observations/tmp-repository-structure-and-configuration-patterns.md index dd36f10..180860b 100644 --- a/.pi/memory-vault/packs/paperclip-harness/60-observations/tmp-repository-structure-and-configuration-patterns.md +++ b/.pi/memory-vault/packs/paperclip-harness/60-observations/tmp-repository-structure-and-configuration-patterns.md @@ -3621,3 +3621,25 @@ Say which of 1, 2, 4, 5 you want (3 is half done), and I will write them in that - session: [[packs/paperclip-harness/80-sessions/rich-discovery-has-2026-11-11-08-20-35|Rich discovery: has 2026-11-11 08:20:35]] - context: [[packs/paperclip-harness/20-context/paperclip-harness|has]] - observation: [[packs/paperclip-harness/60-observations/tmp-repository-structure-and-configuration-patterns|has repository structure and configuration patterns]] + + +--- + +## Update (2026-11-11 10:13:10) + +Two mutually independent paths were discovered to feed headroom into a Pi agent: + +Path A (per-agent extension): open `Agents>agents`, press `)` to the extensions tab, highlight `headroom-bridge`, press `space`. This writes a wrapper for that agent only and redirects its command to it. Then run one task and check run log for `compress_for_agent` with tokens before/after. + +Path B (provider-level, inside the headroom container): its compose file has no config mount, so LiteLLM doesn't know the router's model ids. Add a volume mapping a `config.yaml` that defines `model_list`, e.g. model_name `deepseek/deepseek-v4-flash`, litellm_params model `openai/deepseek-v4-flash`, api_base `http://192.168.20.13:20129/v1`, api_key (redacted secret). Restart container, then add a provider at `http://192.168.20.13:8787/v1` in `~/.pi/agent/settings.json` and set one agent's model to `headroom/deepseek/deepseek-v4-flash`. + +## Evidence + +- Confidence: 80% +- Reason: Repeatable procedural knowledge of two integration paths. + +## Related learned memories + +- observation: [[packs/paperclip-harness/60-observations/tmp-repository-structure-and-configuration-patterns|Headroom integration paths on Pi]] +- action: [[packs/paperclip-harness/40-actions/2026-11-10-wrote-docs-ui-layout-md-and-three-live-layout-mockups|Delivered paperclip-harness documentation to Gitea, Obsidian, and docs/outline]] +- session: [[packs/paperclip-harness/80-sessions/paperclip-harness-docs-and-gitea-publication|paperclip-harness docs and Gitea publication]] diff --git a/.pi/memory-vault/packs/paperclip-harness/80-sessions/paperclip-harness-docs-and-gitea-publication.md b/.pi/memory-vault/packs/paperclip-harness/80-sessions/paperclip-harness-docs-and-gitea-publication.md new file mode 100644 index 0000000..fb187b1 --- /dev/null +++ b/.pi/memory-vault/packs/paperclip-harness/80-sessions/paperclip-harness-docs-and-gitea-publication.md @@ -0,0 +1,42 @@ +--- +type: session +id: session.paperclip-harness.paperclip-harness-docs-and-gitea-publication +title: paperclip-harness docs and Gitea publication +status: active +source_of_truth: false +freshness: current +last_reviewed: 2026-11-11 +tags: + - pack/paperclip-harness + - agent-memory/session + - session + - paperclip-harness + - gitea + - obsidian + - outline + - headroom +--- + +# paperclip-harness docs and Gitea publication + +Session summary of a rich documentation turn for the paperclip-harness system: +- Verified Gitea token/session (`url: http://192.168.20.35:3001`, user sam id 1) — do not reuse this token in future notes. +- Created public repo and pushed `f07e7b5`; verified README present (8656 bytes). +- Wrote Obsidian note at `/home/sam/obsidian/010 inbox/Paperclip Harness.md` 3026 bytes. +- Documented headroom integration Path A (per-agent extension wrapper in Agents>agents) and Path B (container config.yaml volume mapping + provider in `~/.pi/agent/settings.json` with `headroom/deepseek/deepseek-v4-flash`). +- Remaining: Archify HTML publication, Outline push, `.51` rebuild, two clean tests, Pi 0.82 -> 0.87 on `.13`/`.27`. + +## Evidence + +- Confidence: 80% +- Reason: Rich snapshot preserving key facts and open items across systems. + +## Related + +- [[packs/paperclip-harness/00-system/pi-agent/memory-manifest|Memory Manifest]] + +## Related learned memories + +- observation: [[packs/paperclip-harness/60-observations/tmp-repository-structure-and-configuration-patterns|Headroom integration paths on Pi]] +- action: [[packs/paperclip-harness/40-actions/2026-11-10-wrote-docs-ui-layout-md-and-three-live-layout-mockups|Delivered paperclip-harness documentation to Gitea, Obsidian, and docs/outline]] +- session: [[packs/paperclip-harness/80-sessions/paperclip-harness-docs-and-gitea-publication|paperclip-harness docs and Gitea publication]] diff --git a/docs/PLAN-INTERFACE.md b/docs/PLAN-INTERFACE.md index f9d774b..8f3f7b7 100644 --- a/docs/PLAN-INTERFACE.md +++ b/docs/PLAN-INTERFACE.md @@ -771,3 +771,24 @@ the earlier test was trying, and it fails today only because LiteLLM does not kn **What the person does:** choose A or B. A needs no file edits. B needs the two files above and a container restart, and then one agent's model changed. + +### Headroom, final state after testing every path + +Tested on a throwaway container on a spare port, so the running one was not touched. + +| Configuration tried | Result | +|---|---| +| default image (`HEADROOM_BACKEND` unset, so `anthropic`) with our router key | `502 proxy_error` | +| plus `OPENAI_API_KEY` | `openai/deepseek-v4-flash` → `404 No active credentials for provider: openai`; `deepseek/deepseek-v4-flash` → `502` | +| plus `HEADROOM_BACKEND=openai` | `502 proxy_error` | + +Headroom's own `/stats` reports `api_requests: 0` for those calls, so the proxy refuses or fails +before it forwards anything. The `404 … provider: openai` is the **router** answering, which means +it parsed `openai/` as a provider name and had no key for it — not a headroom misconfiguration. + +What works, and was re-checked: `POST /v1/compress` answers 200 and reports `tokens_before` and +`tokens_after`. That is the endpoint `headroom-bridge` uses, and `headroom-ai` is installed on all +three machines. + +So: **use the tool path.** The provider path needs someone to work on headroom's own deployment +with its logs in front of them; it is not something our software can fix.