Outline collection pushed; Obsidian note links the map and the collection; Headroom paths recorded

This commit is contained in:
Sam
2026-11-12 08:45:30 +11:00
parent e883b11016
commit d2cf643eca
4 changed files with 115 additions and 0 deletions

View File

@@ -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 <!-- same-turn-2026-11-11 10:13:10 -->
- 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]]

View File

@@ -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 <!-- same-turn-2026-11-11 10:13:10 -->
- 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]]

View File

@@ -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 <!-- same-turn-2026-11-11 10:13:10 -->
- 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]]

View File

@@ -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.