Findings: per-agent skills API, memory stack, MOUSE-1 policy, the old office scaffold, the dashboard endpoint
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
---
|
||||
type: runbook
|
||||
id: runbook.paperclip-harness.paperclip-harness-functional-smoke-test-end-to-end
|
||||
title: Paperclip-harness functional smoke test (end-to-end)
|
||||
status: active
|
||||
source_of_truth: false
|
||||
freshness: current
|
||||
last_reviewed: 2026-11-10
|
||||
tags:
|
||||
- pack/paperclip-harness
|
||||
- agent-memory/runbook
|
||||
- paperclip-harness
|
||||
- runbook
|
||||
- testing
|
||||
- tuios
|
||||
- troubleshooting
|
||||
---
|
||||
|
||||
# Paperclip-harness functional smoke test (end-to-end)
|
||||
|
||||
Trigger: after changes to paperclip-harness, run the agreed end-to-end functional test list before shipping.
|
||||
|
||||
Procedure:
|
||||
1. Create a task in New task>new with a blocker and a verify command; confirm it appears in Board>board.
|
||||
2. Assign it in Board>board, then watch it in Agents>agents — roster, then runs, then its log.
|
||||
3. Let it finish; read the diff in Work>work, and the verdict in Work>review.
|
||||
4. Merge with `bin/merge`; confirm the verify command passes on `main`.
|
||||
5. Open the blocker's dependent task and confirm it can now proceed.
|
||||
6. Press `R` in Repair>repair and confirm the eight workspaces come back.
|
||||
7. Set an agent's model in Agents>agents and confirm it applies to the *next* run only.
|
||||
|
||||
Prereqs: a running paperclip-harness TUIOS session (session name `paperclip-harness`), tools check all green on Repair>repair, ocr and other tools on PATH.
|
||||
|
||||
Troubleshooting (learned this turn): a tool pane may launch with a smaller PATH than the user's shell, so tools appear "command not found" (ocr); and some tools exit immediately when they have nothing to do — a "press enter to close" trailer keeps the pane open. `tuios list-windows -s paperclip-harness` enumerates pane names when capture-pane fails.
|
||||
|
||||
## Detailed procedure from completed turn
|
||||
|
||||
Both bugs fixed, and here are direct answers.
|
||||
|
||||
## Fixed
|
||||
|
||||
**Repair>repair** — the icon sample row is gone.
|
||||
|
||||
**ocr closed instantly.** Two causes, both real: a tool pane is started with a smaller PATH than your shell, so `ocr` was "command not found", and even when it ran, a review with nothing to look at exits in a second. Tool panes now get `~/.local/bin`, `~/.nix-profile/bin`, the system profile and your per-user profile on PATH, and the ocr entry ends with a "press enter to close" line. It now runs and stays:
|
||||
|
||||
```
|
||||
[ocr] 1 file(s) changed, reviewing 1 in /tmp/pc-sandbox-2026-11-10
|
||||
[ocr] ▶ code_search search_text=harness …
|
||||
```
|
||||
|
||||
The chooser also gained `g` and `G`, which is what led me to open a second shell pane while testing.
|
||||
|
||||
## Where settings are
|
||||
|
||||
**`Agents>agents`, fourth tab, settings.** Role, job title, model, monthly budget, heartbeat. `enter` edits a field in place, `esc` cancels, `p`/`P`/`w` pause, resume, wake. Each save is one PATCH merged into that agent's existing config, so changing the model does not wipe its folder or instructions — I verified that by reading the record back.
|
||||
|
||||
**Spend** is shown, not set, in `Project>costs`, `Board>board` and `Work>work`. The budget lives on the agent, so it is edited per agent on that settings tab. There is no company-level spend control on any screen yet.
|
||||
|
||||
## Your questions, answered plainly
|
||||
|
||||
**Skills.** Not in the interface. Paperclip has `GET /api/agents/{id}/skills` and `POST …/skills/sync` with `add`, `remove`, `replace` — so a read-only skills row is cheap, a full editor is a later step. Your rule (sub-agents get only what their job needs) maps exactly onto `replace`.
|
||||
|
||||
**Where to add work.** `New task>new`. And my answer on Tuxedo is **no** for tasks: a second place that writes tasks is a second owner for the same fact, which is the fault that sank the last attempt. If you want notes, put them in the project's own `.harness/NOTES.md` and let Tuxedo read it per project — notes are not tasks, and nothing else should claim they are.
|
||||
|
||||
**`office --host` from another machine.** Not implemented, and it should not be faked. Sessions are created by you: `tuios new --host nixos-desktop "new test project"`, then `bin/office <folder>` inside it on the machine that owns the folder. Driving `.27` from `.13` needs ssh plus a remote `bin/board` — a deliberate step, not an accident.
|
||||
|
||||
**Switching projects.** Not built. Proposal: a small local registry of adopted projects (id, folder, host, session) filled by `bin/office`, and a `Project>projects` tab that lists them and switches by rewriting the current folder's `.harness/harness.toml`. A project on another machine shows as `on .27` rather than pretending it can be opened from here.
|
||||
|
||||
**Artifacts** are Paperclip work products attached to a task — an uploaded file, a pull request, a preview URL, a commit, a branch. Nothing shows them yet; their home is a `Work>artifacts` tab.
|
||||
|
||||
**"Workspaces" in Paperclip** do not exist. Paperclip has companies → projects → tasks → agents → runs. What Paperclip calls a workspace is a project's code folder, the git worktree a task runs in. Our *workspace* is TUIOS's word for a page.
|
||||
|
||||
**Charts.** Use Go, not TML: the panels are already Go and the data is in memory. `tuios.dev/plot` gives a spend-by-day chart in `Project>costs` for a few dozen lines.
|
||||
|
||||
**Mouse-1/Switch** are still not installed on this machine.
|
||||
|
||||
## Functional tests — the list I propose
|
||||
|
||||
1. Create a task in `New task>new` with a blocker and a verify command; see it in `Board>board`.
|
||||
2. Assign it in `Board>board`, then watch it in `Agents>agents` — roster, then runs, then its log.
|
||||
3. Let it finish; read the diff in `Work>work`, the verdict in `Work>review`.
|
||||
4. Merge with `bin/merge`, confirm the verify command passes on `main`.
|
||||
5. Open the blocker's dependent task and confirm it can now proceed.
|
||||
6. `R` from `Repair>repair` and confirm the eight workspaces come back.
|
||||
7. Set an agent's model in `Agents>agents` and confirm it applies to the *next* run only.
|
||||
|
||||
Committed as `7b12b45`. Say go and I run that list end to end and report each result.
|
||||
|
||||
## Evidence
|
||||
|
||||
- Confidence: 85%
|
||||
- Reason: Repeatable test checklist and the PATH/instant-exit troubleshooting are durable and reusable.; enriched with final-answer detail because persistence should be reusable
|
||||
|
||||
## Related
|
||||
|
||||
- [[packs/paperclip-harness/00-system/pi-agent/memory-manifest|Memory Manifest]]
|
||||
|
||||
## Related learned memories <!-- same-turn-2026-11-10 07:35:38 -->
|
||||
|
||||
- context: [[packs/paperclip-harness/20-context/paperclip-harness|paperclip-harness]]
|
||||
- runbook: [[packs/paperclip-harness/70-runbooks/paperclip-harness-functional-smoke-test-end-to-end|Paperclip-harness functional smoke test (end-to-end)]]
|
||||
- decision: [[packs/paperclip-harness/50-decisions/task-entry-dedup-and-per-project-notes-skills-via-replace-no|Task entry/dedup and per-project notes; skills via replace; no fake remote office]]
|
||||
- action: [[packs/paperclip-harness/40-actions/2026-11-10-wrote-docs-ui-layout-md-and-three-live-layout-mockups|paperclip-harness commit 7b12b45: fixed repair icon row + ocr pane closing; answered settings/skills/projects questions]]
|
||||
- session: [[packs/paperclip-harness/80-sessions/rich-discovery-tmp-2026-11-10-07-35-38|Rich discovery: tmp 2026-11-10 07:35:38]]
|
||||
- context: [[packs/paperclip-harness/20-context/tmp|tmp]]
|
||||
- runbook: [[packs/paperclip-harness/70-runbooks/tmp-deployment-operations|tmp deployment operations]]
|
||||
- observation: [[packs/paperclip-harness/60-observations/tmp-repository-structure-and-configuration-patterns|tmp repository structure and configuration patterns]]
|
||||
@@ -0,0 +1,103 @@
|
||||
---
|
||||
type: runbook
|
||||
id: runbook.paperclip-harness.tmp-deployment-operations
|
||||
title: tmp deployment operations
|
||||
status: active
|
||||
source_of_truth: false
|
||||
freshness: current
|
||||
last_reviewed: 2026-11-10
|
||||
tags:
|
||||
- pack/paperclip-harness
|
||||
- agent-memory/runbook
|
||||
- autolearn
|
||||
- rich-discovery
|
||||
- deployment-runbook
|
||||
---
|
||||
|
||||
# tmp deployment operations
|
||||
|
||||
## Deployment/runbook details discovered (2026-11-10 07:35:38)
|
||||
|
||||
Both bugs fixed, and here are direct answers.
|
||||
|
||||
## Fixed
|
||||
|
||||
**Repair>repair** — the icon sample row is gone.
|
||||
|
||||
**ocr closed instantly.** Two causes, both real: a tool pane is started with a smaller PATH than your shell, so `ocr` was "command not found", and even when it ran, a review with nothing to look at exits in a second. Tool panes now get `~/.local/bin`, `~/.nix-profile/bin`, the system profile and your per-user profile on PATH, and the ocr entry ends with a "press enter to close" line. It now runs and stays:
|
||||
|
||||
```
|
||||
[ocr] 1 file(s) changed, reviewing 1 in /tmp/pc-sandbox-2026-11-10
|
||||
[ocr] ▶ code_search search_text=harness …
|
||||
```
|
||||
|
||||
The chooser also gained `g` and `G`, which is what led me to open a second shell pane while testing.
|
||||
|
||||
## Where settings are
|
||||
|
||||
**`Agents>agents`, fourth tab, settings.** Role, job title, model, monthly budget, heartbeat. `enter` edits a field in place, `esc` cancels, `p`/`P`/`w` pause, resume, wake. Each save is one PATCH merged into that agent's existing config, so changing the model does not wipe its folder or instructions — I verified that by reading the record back.
|
||||
|
||||
**Spend** is shown, not set, in `Project>costs`, `Board>board` and `Work>work`. The budget lives on the agent, so it is edited per agent on that settings tab. There is no company-level spend control on any screen yet.
|
||||
|
||||
## Your questions, answered plainly
|
||||
|
||||
**Skills.** Not in the interface. Paperclip has `GET /api/agents/{id}/skills` and `POST …/skills/sync` with `add`, `remove`, `replace` — so a read-only skills row is cheap, a full editor is a later step. Your rule (sub-agents get only what their job needs) maps exactly onto `replace`.
|
||||
|
||||
**Where to add work.** `New task>new`. And my answer on Tuxedo is **no** for tasks: a second place that writes tasks is a second owner for the same fact, which is the fault that sank the last attempt. If you want notes, put them in the project's own `.harness/NOTES.md` and let Tuxedo read it per project — notes are not tasks, and nothing else should claim they are.
|
||||
|
||||
**`office --host` from another machine.** Not implemented, and it should not be faked. Sessions are created by you: `tuios new --host nixos-desktop "new test project"`, then `bin/office <folder>` inside it on the machine that owns the folder. Driving `.27` from `.13` needs ssh plus a remote `bin/board` — a deliberate step, not an accident.
|
||||
|
||||
**Switching projects.** Not built. Proposal: a small local registry of adopted projects (id, folder, host, session) filled by `bin/office`, and a `Project>projects` tab that lists them and switches by rewriting the current folder's `.harness/harness.toml`. A project on another machine shows as `on .27` rather than pretending it can be opened from here.
|
||||
|
||||
**Artifacts** are Paperclip work products attached to a task — an uploaded file, a pull request, a preview URL, a commit, a branch. Nothing shows them yet; their home is a `Work>artifacts` tab.
|
||||
|
||||
**"Workspaces" in Paperclip** do not exist. Paperclip has companies → projects → tasks → agents → runs. What Paperclip calls a workspace is a project's code folder, the git worktree a task runs in. Our *workspace* is TUIOS's word for a page.
|
||||
|
||||
**Charts.** Use Go, not TML: the panels are already Go and the data is in memory. `tuios.dev/plot` gives a spend-by-day chart in `Project>costs` for a few dozen lines.
|
||||
|
||||
**Mouse-1/Switch** are still not installed on this machine.
|
||||
|
||||
## Functional tests — the list I propose
|
||||
|
||||
1. Create a task in `New task>new` with a blocker and a verify command; see it in `Board>board`.
|
||||
2. Assign it in `Board>board`, then watch it in `Agents>agents` — roster, then runs, then its log.
|
||||
3. Let it finish; read the diff in `Work>work`, the verdict in `Work>review`.
|
||||
4. Merge with `bin/merge`, confirm the verify command passes on `main`.
|
||||
5. Open the blocker's dependent task and confirm it can now proceed.
|
||||
6. `R` from `Repair>repair` and confirm the eight workspaces come back.
|
||||
7. Set an agent's model in `Agents>agents` and confirm it applies to the *next* run only.
|
||||
|
||||
Committed as `7b12b45`. Say go and I run that list end to end and report each result.
|
||||
|
||||
## Source paths observed
|
||||
|
||||
- `paseo/projects/new_test_projects`
|
||||
- `tuios.dev/docs/libraries/plot`
|
||||
- `home/sam/paseo/projects/paperclip-harness/bin/harness`
|
||||
- `run/current-system/sw/bin/git`
|
||||
- `home/sam/.nix-profile/bin/go`
|
||||
- `home/sam/.local/bin/ocr`
|
||||
- `etc/profiles/per-user/sam/bin/tuios`
|
||||
- `run/current-system/sw/bin/lazygit`
|
||||
- `etc/profiles/per-user/sam/bin/hunk`
|
||||
- `tmp/pc-sandbox-2026-11-10/.gitignore`
|
||||
|
||||
## Evidence
|
||||
|
||||
- Confidence: 83%
|
||||
- Reason: Extracted repeatable deploy/configuration procedure from rich discovery
|
||||
|
||||
## Related
|
||||
|
||||
- [[packs/paperclip-harness/00-system/pi-agent/memory-manifest|Memory Manifest]]
|
||||
|
||||
## Related learned memories <!-- same-turn-2026-11-10 07:35:38 -->
|
||||
|
||||
- context: [[packs/paperclip-harness/20-context/paperclip-harness|paperclip-harness]]
|
||||
- runbook: [[packs/paperclip-harness/70-runbooks/paperclip-harness-functional-smoke-test-end-to-end|Paperclip-harness functional smoke test (end-to-end)]]
|
||||
- decision: [[packs/paperclip-harness/50-decisions/task-entry-dedup-and-per-project-notes-skills-via-replace-no|Task entry/dedup and per-project notes; skills via replace; no fake remote office]]
|
||||
- action: [[packs/paperclip-harness/40-actions/2026-11-10-wrote-docs-ui-layout-md-and-three-live-layout-mockups|paperclip-harness commit 7b12b45: fixed repair icon row + ocr pane closing; answered settings/skills/projects questions]]
|
||||
- session: [[packs/paperclip-harness/80-sessions/rich-discovery-tmp-2026-11-10-07-35-38|Rich discovery: tmp 2026-11-10 07:35:38]]
|
||||
- context: [[packs/paperclip-harness/20-context/tmp|tmp]]
|
||||
- runbook: [[packs/paperclip-harness/70-runbooks/tmp-deployment-operations|tmp deployment operations]]
|
||||
- observation: [[packs/paperclip-harness/60-observations/tmp-repository-structure-and-configuration-patterns|tmp repository structure and configuration patterns]]
|
||||
Reference in New Issue
Block a user