Interface specification: six workspaces, twenty-seven interface items, styling and keys

This commit is contained in:
Sam
2026-11-10 13:04:05 +11:00
parent ae7fc00e5b
commit b44bf73713
10 changed files with 980 additions and 140 deletions

View File

@@ -0,0 +1,46 @@
---
type: observation
id: observation.paperclip-harness.mockup-layouts-a-b-c-measured-widths-and-screenshot-workflow
title: Mockup layouts A/B/C measured widths and screenshot workflow
status: active
source_of_truth: false
freshness: current
last_reviewed: 2026-11-10
tags:
- pack/paperclip-harness
- agent-memory/observation
- tuios
- mockups
- screenshots
- caveats
---
# Mockup layouts A/B/C measured widths and screenshot workflow
Three layout mockups were rendered as text and images:
- /tmp/mockups/A.txt (16 lines, 81 wide), B.txt (20 lines, 82 wide), C.txt (15 lines, 82 wide); images A.png 145K, B.png 171K, C.png 160K (mode 600).
- They also run live as TUIOS workspaces 6/7/8 named mock-A/mock-B/mock-C (each 88x26 alongside shell, tree, reply, log, new).
- C's diff half is unreadable below ~120 columns per the doc, which is why the width-driven fallback exists.
Screenshot/clipboard caveats in this harness: 'tuios screenshot' with a wrong window name fails with 'no window found matching ...', listing available windows (Yazi panes and π windows) and offering 'tuios list-windows -s <session>'; repeated clipboard writes in a display-less session print 'This session has no display, so it has no clipboard' yet still save the file. 'tuios list-workspaces' output format: ` ws <n> '<name>'`; a sizing pass showed all 8 workspaces at 88x26.
## Evidence
- Confidence: 80%
- Reason: Concrete environment and artifact facts useful for future UI work and debugging.
## Related
- [[packs/paperclip-harness/00-system/pi-agent/memory-manifest|Memory Manifest]]
## Related learned memories <!-- same-turn-2026-11-10 01:47:01 -->
- context: [[packs/paperclip-harness/20-context/paperclip-harness|paperclip-harness]]
- context: [[packs/paperclip-harness/20-context/docs-ui-layout-md-interface-spec|docs/UI-LAYOUT.md interface spec]]
- observation: [[packs/paperclip-harness/60-observations/mockup-layouts-a-b-c-measured-widths-and-screenshot-workflow|Mockup layouts A/B/C measured widths and screenshot workflow]]
- decision: [[packs/paperclip-harness/50-decisions/responsive-layout-selection-by-pane-width-c-b-a|Responsive layout selection by pane width (C→B→A)]]
- action: [[packs/paperclip-harness/40-actions/2026-11-10-wrote-docs-ui-layout-md-and-three-live-layout-mockups|Wrote docs/UI-LAYOUT.md and three live layout mockups]]
- session: [[packs/paperclip-harness/80-sessions/ui-interface-spec-and-mockup-session-snapshot|UI interface spec and mockup session snapshot]]
- session: [[packs/paperclip-harness/80-sessions/rich-discovery-tmp-2026-11-10-01-47-01|Rich discovery: tmp 2026-11-10 01:47:01]]
- context: [[packs/paperclip-harness/20-context/tmp|tmp]]
- observation: [[packs/paperclip-harness/60-observations/tmp-repository-structure-and-configuration-patterns|tmp repository structure and configuration patterns]]

View File

@@ -0,0 +1,94 @@
---
type: observation
id: observation.paperclip-harness.tmp-repository-structure-and-configuration-patterns
title: tmp repository structure and configuration patterns
status: active
source_of_truth: false
freshness: current
last_reviewed: 2026-11-10
tags:
- pack/paperclip-harness
- agent-memory/observation
- autolearn
- rich-discovery
- repo/tmp
---
# tmp repository structure and configuration patterns
## Structural/configuration observations (2026-11-10 01:47:01)
That notification is the failed Explore agent finishing late — the one that returned nothing because `claude-haiku-4.5` 404s. Nothing new in it; I did that reading myself.
Meanwhile I did what you asked next: the interface spec and the mockups.
## `docs/UI-LAYOUT.md`
It opens with the only four questions the interface is allowed to answer — what is the state of the work, what is happening now, what needs me, what do I do about it — then a table pinning every fact to its one owner:
| shown | read from | never |
|---|---|---|
| tasks, status, assignee | company issue list | a folder name |
| blockers | `issues/{id}/diagnostics/blockers`, per task | the list |
| thread | `issues/{id}/comments` | a copy |
| run state | `issues/{id}/runs` | a log we write |
| cost | `issues/{id}/cost-summary` | our arithmetic |
| what changed | `git` in the task's worktree | a stored diff |
| folder, machine, session, watched task | `.harness/harness.toml` | Paperclip |
Then a table per pane: what it must show and which keys it may use, with `h j k l z n` reserved for TUIOS and a bare Esc free.
## Three layouts, live in your session
They are running now on workspaces 6, 7, 8 (`mock-A`, `mock-B`, `mock-C`), and as images:
```
/tmp/mockups/A.png /tmp/mockups/B.png /tmp/mockups/C.png
```
- **A — one page each.** What exists today. Whole width per page, works at 80 columns. Costs a keystroke to look at the tree while replying.
- **B — cockpit: tree beside conversation.** Tree 34% left, thread and reply box right, `⤷` markers under each task showing what it waits on. Log and diff one workspace away.
- **C — cockpit with the change visible.** Tree 28%, thread top right, diff bottom right — a claim and the code behind it in one glance. Needs width; below ~120 columns the diff half is unreadable.
Recommendation in the doc: **C, falling back to B, falling back to A, chosen by the pane's actual width** — 150+, 110–149, 80–109, and the "too small" screen below 80×24. The person gets as much as the terminal can carry, never a layout pretending to have room it does not.
## Two decisions I need from you
1. **Is the diff its own pane, or the bottom half of the log?** A separate pane never squeezes the log for a long diff, but costs a workspace. C only works if the diff can share a page with the reply.
2. **Does the tree drive the other panes?** My proposal: `enter` on a task writes `watching = AUD-163` into the project's `harness.toml` and asks TUIOS to switch to the reply page; the reply, log and diff panes watch that file and reload when it changes. One fact, one owner, no message bus — but it means a file is the hand-off, so say if you would rather each pane be told directly.
Also still open from earlier: whether the four screens stay four workspaces or become two.
Say which layout you want, and I will build it — starting with the width-driven choice, since that is what makes it survive being used in a small pane.
## Source paths observed
- `tmp/pi-subagents-1000/home-sam-paseo-projects-paperclip-harness/01a1c288-74f9-75ae-ba9a-a501d66bc3b5/tasks/87e640dd-8043-41e.output`
- `home/sam/paseo/projects/paperclip-harness/docs/UI-LAYOUT.md`
- `tmp/mockups/A.txt`
- `tmp/mockups/B.txt`
- `tmp/mockups/C.txt`
- `tmp/mockups/A.png`
- `tmp/mockups/B.png`
- `tmp/mockups/C.png`
## Evidence
- Confidence: 82%
- Reason: Captured factual repo structure/configuration patterns from rich discovery
## Related
- [[packs/paperclip-harness/00-system/pi-agent/memory-manifest|Memory Manifest]]
## Related learned memories <!-- same-turn-2026-11-10 01:47:01 -->
- context: [[packs/paperclip-harness/20-context/paperclip-harness|paperclip-harness]]
- context: [[packs/paperclip-harness/20-context/docs-ui-layout-md-interface-spec|docs/UI-LAYOUT.md interface spec]]
- observation: [[packs/paperclip-harness/60-observations/mockup-layouts-a-b-c-measured-widths-and-screenshot-workflow|Mockup layouts A/B/C measured widths and screenshot workflow]]
- decision: [[packs/paperclip-harness/50-decisions/responsive-layout-selection-by-pane-width-c-b-a|Responsive layout selection by pane width (C→B→A)]]
- action: [[packs/paperclip-harness/40-actions/2026-11-10-wrote-docs-ui-layout-md-and-three-live-layout-mockups|Wrote docs/UI-LAYOUT.md and three live layout mockups]]
- session: [[packs/paperclip-harness/80-sessions/ui-interface-spec-and-mockup-session-snapshot|UI interface spec and mockup session snapshot]]
- session: [[packs/paperclip-harness/80-sessions/rich-discovery-tmp-2026-11-10-01-47-01|Rich discovery: tmp 2026-11-10 01:47:01]]
- context: [[packs/paperclip-harness/20-context/tmp|tmp]]
- observation: [[packs/paperclip-harness/60-observations/tmp-repository-structure-and-configuration-patterns|tmp repository structure and configuration patterns]]