Showcase README; Outline collection for agents; repository created on Gitea

This commit is contained in:
Sam
2026-11-11 21:12:35 +11:00
parent 28993d029d
commit f07e7b5d98
9 changed files with 608 additions and 112 deletions

View File

@@ -524,3 +524,91 @@ 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 08:20:35)
## Rich discovery update (2026-11-11 08:20:35)
You were right to push back on Headroom, and I had the reason wrong. Here is what the tests actually show.
## Headroom: corrected, with evidence
```
router POST /v1/chat/completions deepseek/deepseek-v4-flash → 200, SSE, "ok" in 1.1 s
headroom POST /v1/chat/completions deepseek/deepseek-v4-flash → 502 {"code":"proxy_error"}
```
`docker logs headroom` shows LiteLLM repeating *"Provider List: https://docs.litellm.ai/docs/providers"*. Headroom runs from `ghcr.io/chopratejas/headroom:latest` and is built on **LiteLLM**, which does not recognise this router's model ids (`deepseek/deepseek-v4-flash`, `auto/best-fast`), so it never makes the call. The same request to the router succeeds, so key, model and request shape are all fine.
So it is **not** blocked by Anthropic and **not** by a key. It is blocked by LiteLLM not knowing your router's models. To use it as a provider, headroom's own model list must define them, for example `openai/deepseek-v4-flash` with `api_base: http://192.168.20.13:20129/v1` and your key. That is a change inside that container, not in our software. My earlier "needs an Anthropic credential" was wrong, and the docs are corrected.
## headroom-ai installed, and tested
Installed for Pi on **`.13`, `.27` and `.51`**, and the library resolves and calls the service:
```
tokensBefore: 2809 tokensAfter: 2809 message length 12800 of 12800
```
No saving there because headroom protects a single long user message — the tool works, the test case was just one it deliberately leaves alone. So `compress_for_agent` can now load; giving it to one agent is `space` in `Agents>agents` → extensions.
## Machines
| | `.13` | `.27` | `.51` |
|---|---|---|---|
| Go | 1.26.5 | 1.26.2 | **added to config, needs a rebuild** |
| headroom-ai for Pi | installed | installed | installed |
| Nerd Fonts | 384 | 98 | 98 |
| Pi | 0.82.1 | 0.82.1 | 0.87.1 |
On `.51` I added `go gopls` to `/etc/nixos/hosts/sam-thinkpad/configuration.nix` (backup at `.bak-go`), and `nix build --dry-run` evaluates cleanly. You rebuild with:
```
sudo nixos-rebuild switch --flake /etc/nixos#sam-thinkpad
```
`.13` and `.27` are behind `.51` on Pi (0.82.1 vs 0.87.1). That is a flake bump, and I would do it with you rather than alone.
## Documentation: first piece done
`docs/architecture.mmd` and `docs/diagrams/architecture.png` — one diagram showing the person, the eight TUIOS panes, the `bin/` commands, Paperclip with its database and Pi agents, and where the work physically happens (worktrees, Pi sessions, skills, git). Linked from the README top. Committed as `28993d0`.
The project-docs skill prescribes five layers, and I need one answer from you before writing into them:
1. **Gitea** — this repo has no remote. Should I create a Gitea repo and push?
2. **Obsidian** — a note in `010 inbox` on `.27` (the skill says never to choose its folder; `obsidian-sorter` proposes and you approve).
3. **Mermaid + Archify** — the diagram is written and rendered; publishing the interactive map to `maps.lab.audasmedia.com.au/paperclip-harness/` is the remaining step.
4. **Vikunja** — a board for human task tracking, or the JSON in `docs/`.
5. **Outline** — the AI-context collection (`00-index`, `01-system-overview`, `02-config-and-env`, `03-code-map`, `04-agent-runbook`).
Say which of 1, 2, 4, 5 you want (3 is half done), and I will write them in that order.
## Source paths observed
- `nix/store/kh6c296264jngs70d8ibqk7zglyvd533-user-units.drv`
- `nix/store/qv508bjxrbsnn6hj8lvrlb38x3j631lx-etc.drv`
- `nix/store/v8rgpfj7ighpjbjmz184djg11m20c7bm-activate.drv`
- `nix/store/jarpr30smi73c6wwjlrigd98dmhj7vnl-nixos-system-sam-thinkpad-26.11.20260926.e158d9e.drv`
- `home/sam/.pi/agent/skills/project-docs--6f4714e4e7/SKILL.md`
- `home/sam/.agents/skills/project-docs`
- `home/sam/.agents/skills/project-docs/SKILL.md`
- `etc/profiles/per-user/sam/bin/mmdc`
- `docs/diagrams/architecture.png`
- `v1/chat/completions`
- `docs.litellm.ai/docs/providers`
- `ghcr.io/chopratejas/headroom`
- `etc/nixos/hosts/sam-thinkpad/configuration.nix`
## Evidence
- Confidence: 84%
- Reason: Update component/repository context with detailed discovered structure and configuration
## Related learned memories <!-- same-turn-2026-11-11 08:20:35 -->
- 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]]

View File

@@ -3533,3 +3533,91 @@ 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 08:20:35)
## Structural/configuration observations (2026-11-11 08:20:35)
You were right to push back on Headroom, and I had the reason wrong. Here is what the tests actually show.
## Headroom: corrected, with evidence
```
router POST /v1/chat/completions deepseek/deepseek-v4-flash → 200, SSE, "ok" in 1.1 s
headroom POST /v1/chat/completions deepseek/deepseek-v4-flash → 502 {"code":"proxy_error"}
```
`docker logs headroom` shows LiteLLM repeating *"Provider List: https://docs.litellm.ai/docs/providers"*. Headroom runs from `ghcr.io/chopratejas/headroom:latest` and is built on **LiteLLM**, which does not recognise this router's model ids (`deepseek/deepseek-v4-flash`, `auto/best-fast`), so it never makes the call. The same request to the router succeeds, so key, model and request shape are all fine.
So it is **not** blocked by Anthropic and **not** by a key. It is blocked by LiteLLM not knowing your router's models. To use it as a provider, headroom's own model list must define them, for example `openai/deepseek-v4-flash` with `api_base: http://192.168.20.13:20129/v1` and your key. That is a change inside that container, not in our software. My earlier "needs an Anthropic credential" was wrong, and the docs are corrected.
## headroom-ai installed, and tested
Installed for Pi on **`.13`, `.27` and `.51`**, and the library resolves and calls the service:
```
tokensBefore: 2809 tokensAfter: 2809 message length 12800 of 12800
```
No saving there because headroom protects a single long user message — the tool works, the test case was just one it deliberately leaves alone. So `compress_for_agent` can now load; giving it to one agent is `space` in `Agents>agents` → extensions.
## Machines
| | `.13` | `.27` | `.51` |
|---|---|---|---|
| Go | 1.26.5 | 1.26.2 | **added to config, needs a rebuild** |
| headroom-ai for Pi | installed | installed | installed |
| Nerd Fonts | 384 | 98 | 98 |
| Pi | 0.82.1 | 0.82.1 | 0.87.1 |
On `.51` I added `go gopls` to `/etc/nixos/hosts/sam-thinkpad/configuration.nix` (backup at `.bak-go`), and `nix build --dry-run` evaluates cleanly. You rebuild with:
```
sudo nixos-rebuild switch --flake /etc/nixos#sam-thinkpad
```
`.13` and `.27` are behind `.51` on Pi (0.82.1 vs 0.87.1). That is a flake bump, and I would do it with you rather than alone.
## Documentation: first piece done
`docs/architecture.mmd` and `docs/diagrams/architecture.png` — one diagram showing the person, the eight TUIOS panes, the `bin/` commands, Paperclip with its database and Pi agents, and where the work physically happens (worktrees, Pi sessions, skills, git). Linked from the README top. Committed as `28993d0`.
The project-docs skill prescribes five layers, and I need one answer from you before writing into them:
1. **Gitea** — this repo has no remote. Should I create a Gitea repo and push?
2. **Obsidian** — a note in `010 inbox` on `.27` (the skill says never to choose its folder; `obsidian-sorter` proposes and you approve).
3. **Mermaid + Archify** — the diagram is written and rendered; publishing the interactive map to `maps.lab.audasmedia.com.au/paperclip-harness/` is the remaining step.
4. **Vikunja** — a board for human task tracking, or the JSON in `docs/`.
5. **Outline** — the AI-context collection (`00-index`, `01-system-overview`, `02-config-and-env`, `03-code-map`, `04-agent-runbook`).
Say which of 1, 2, 4, 5 you want (3 is half done), and I will write them in that order.
## Source paths observed
- `nix/store/kh6c296264jngs70d8ibqk7zglyvd533-user-units.drv`
- `nix/store/qv508bjxrbsnn6hj8lvrlb38x3j631lx-etc.drv`
- `nix/store/v8rgpfj7ighpjbjmz184djg11m20c7bm-activate.drv`
- `nix/store/jarpr30smi73c6wwjlrigd98dmhj7vnl-nixos-system-sam-thinkpad-26.11.20260926.e158d9e.drv`
- `home/sam/.pi/agent/skills/project-docs--6f4714e4e7/SKILL.md`
- `home/sam/.agents/skills/project-docs`
- `home/sam/.agents/skills/project-docs/SKILL.md`
- `etc/profiles/per-user/sam/bin/mmdc`
- `docs/diagrams/architecture.png`
- `v1/chat/completions`
- `docs.litellm.ai/docs/providers`
- `ghcr.io/chopratejas/headroom`
- `etc/nixos/hosts/sam-thinkpad/configuration.nix`
## Evidence
- Confidence: 82%
- Reason: Captured factual repo structure/configuration patterns from rich discovery
## Related learned memories <!-- same-turn-2026-11-11 08:20:35 -->
- 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]]

View File

@@ -0,0 +1,107 @@
---
type: session
id: session.paperclip-harness.rich-discovery-has-2026-11-11-08-20-35
title: Rich discovery: has 2026-11-11 08:20:35
status: active
source_of_truth: false
freshness: current
last_reviewed: 2026-11-11
tags:
- pack/paperclip-harness
- agent-memory/session
- autolearn
- rich-discovery
- repo/has
---
# Rich discovery: has 2026-11-11 08:20:35
Sanitized rich discovery snapshot captured automatically from the completed turn.
## Source paths observed
- `nix/store/kh6c296264jngs70d8ibqk7zglyvd533-user-units.drv`
- `nix/store/qv508bjxrbsnn6hj8lvrlb38x3j631lx-etc.drv`
- `nix/store/v8rgpfj7ighpjbjmz184djg11m20c7bm-activate.drv`
- `nix/store/jarpr30smi73c6wwjlrigd98dmhj7vnl-nixos-system-sam-thinkpad-26.11.20260926.e158d9e.drv`
- `home/sam/.pi/agent/skills/project-docs--6f4714e4e7/SKILL.md`
- `home/sam/.agents/skills/project-docs`
- `home/sam/.agents/skills/project-docs/SKILL.md`
- `etc/profiles/per-user/sam/bin/mmdc`
- `docs/diagrams/architecture.png`
- `v1/chat/completions`
- `docs.litellm.ai/docs/providers`
- `ghcr.io/chopratejas/headroom`
- `etc/nixos/hosts/sam-thinkpad/configuration.nix`
## Final answer snapshot
You were right to push back on Headroom, and I had the reason wrong. Here is what the tests actually show.
## Headroom: corrected, with evidence
```
router POST /v1/chat/completions deepseek/deepseek-v4-flash → 200, SSE, "ok" in 1.1 s
headroom POST /v1/chat/completions deepseek/deepseek-v4-flash → 502 {"code":"proxy_error"}
```
`docker logs headroom` shows LiteLLM repeating *"Provider List: https://docs.litellm.ai/docs/providers"*. Headroom runs from `ghcr.io/chopratejas/headroom:latest` and is built on **LiteLLM**, which does not recognise this router's model ids (`deepseek/deepseek-v4-flash`, `auto/best-fast`), so it never makes the call. The same request to the router succeeds, so key, model and request shape are all fine.
So it is **not** blocked by Anthropic and **not** by a key. It is blocked by LiteLLM not knowing your router's models. To use it as a provider, headroom's own model list must define them, for example `openai/deepseek-v4-flash` with `api_base: http://192.168.20.13:20129/v1` and your key. That is a change inside that container, not in our software. My earlier "needs an Anthropic credential" was wrong, and the docs are corrected.
## headroom-ai installed, and tested
Installed for Pi on **`.13`, `.27` and `.51`**, and the library resolves and calls the service:
```
tokensBefore: 2809 tokensAfter: 2809 message length 12800 of 12800
```
No saving there because headroom protects a single long user message — the tool works, the test case was just one it deliberately leaves alone. So `compress_for_agent` can now load; giving it to one agent is `space` in `Agents>agents` → extensions.
## Machines
| | `.13` | `.27` | `.51` |
|---|---|---|---|
| Go | 1.26.5 | 1.26.2 | **added to config, needs a rebuild** |
| headroom-ai for Pi | installed | installed | installed |
| Nerd Fonts | 384 | 98 | 98 |
| Pi | 0.82.1 | 0.82.1 | 0.87.1 |
On `.51` I added `go gopls` to `/etc/nixos/hosts/sam-thinkpad/configuration.nix` (backup at `.bak-go`), and `nix build --dry-run` evaluates cleanly. You rebuild with:
```
sudo nixos-rebuild switch --flake /etc/nixos#sam-thinkpad
```
`.13` and `.27` are behind `.51` on Pi (0.82.1 vs 0.87.1). That is a flake bump, and I would do it with you rather than alone.
## Documentation: first piece done
`docs/architecture.mmd` and `docs/diagrams/architecture.png` — one diagram showing the person, the eight TUIOS panes, the `bin/` commands, Paperclip with its database and Pi agents, and where the work physically happens (worktrees, Pi sessions, skills, git). Linked from the README top. Committed as `28993d0`.
The project-docs skill prescribes five layers, and I need one answer from you before writing into them:
1. **Gitea** — this repo has no remote. Should I create a Gitea repo and push?
2. **Obsidian** — a note in `010 inbox` on `.27` (the skill says never to choose its folder; `obsidian-sorter` proposes and you approve).
3. **Mermaid + Archify** — the diagram is written and rendered; publishing the interactive map to `maps.lab.audasmedia.com.au/paperclip-harness/` is the remaining step.
4. **Vikunja** — a board for human task tracking, or the JSON in `docs/`.
5. **Outline** — the AI-context collection (`00-index`, `01-system-overview`, `02-config-and-env`, `03-code-map`, `04-agent-runbook`).
Say which of 1, 2, 4, 5 you want (3 is half done), and I will write them in that order.
## Evidence
- Confidence: 86%
- Reason: Preserve full sanitized discovery detail from a rich investigation turn
## Related
- [[packs/paperclip-harness/00-system/pi-agent/memory-manifest|Memory Manifest]]
## Related learned memories <!-- same-turn-2026-11-11 08:20:35 -->
- 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]]