vault: session notes 2026-07-15
This commit is contained in:
parent
056ce6a022
commit
07cfb6f457
|
|
@ -95,6 +95,29 @@ Only behavior/notification settings were changed; keybindings left at defaults o
|
|||
Apply live after editing: `herdr server reload-config` (returns `status: applied` with a
|
||||
`diagnostics` array — empty means the config is valid).
|
||||
|
||||
## Persistence model & reusable workspaces (researched 2026-07-15, docs dated 2026-07-14)
|
||||
|
||||
What survives what ([session-state docs](https://herdr.dev/docs/session-state)):
|
||||
|
||||
| Case | Processes live | Layout+cwd | Scrollback | Agent convo |
|
||||
|---|---|---|---|---|
|
||||
| Detach / close window | yes | yes | yes | yes |
|
||||
| `workspace close` | **no — destroys that workspace's herdr state; cannot be reopened** | no | no | only via agent's own `--resume` |
|
||||
| Server restart | no | yes (session.json snapshot restore) | only with `[experimental] pane_history = true` | yes if native resume integration installed |
|
||||
|
||||
- **Never "close" a workspace to pause work — detach instead.** Closing is removal, not suspension. Detach is the intended step-away path; the server keeps everything running.
|
||||
- **No declarative workspace/layout config exists** (confirmed against full config reference). Reusable per-client/per-project layouts are built imperatively:
|
||||
```bash
|
||||
herdr workspace create --cwd PATH --label "Name" [--no-focus]
|
||||
herdr tab create --workspace <id> --cwd PATH --label "Tab"
|
||||
herdr pane split --pane <id> --direction right --cwd PATH
|
||||
herdr pane run <pane_id> "command"
|
||||
```
|
||||
Wrap these in a per-client bootstrap script, or package as a herdr plugin action (`[[actions]]` in `herdr-plugin-toml`, bindable to a key) — prior art: `dev-layout-bootstrap` in `ogulcancelik/herdr-plugin-examples`.
|
||||
- Plugin `[[events]]` hooks exist only for events like `worktree.created` — no general "on workspace open, run X" hook.
|
||||
- **Agent skill file**: `npx skills add ogulcancelik/herdr --skill herdr -g` installs a SKILL.md letting Claude Code *inside a herdr pane* drive herdr (split panes, run commands, read sibling pane output). Gated on `HERDR_ENV=1`.
|
||||
- Agent detection can't see through tmux nested inside a pane; sandboxes may need `HERDR_AGENT=<agent>`.
|
||||
|
||||
## Gotchas / notes
|
||||
|
||||
- **Notification popups need a daemon on Wayland/Hyprland.** `delivery = "system"` (and often
|
||||
|
|
|
|||
|
|
@ -287,3 +287,10 @@ tags: [scope/global, type/log]
|
|||
**Reason:** prompt_input_exit
|
||||
**Vault notes touched:**
|
||||
/home/jared/Documents/SecondBrain/howto/herdr-setup-and-config.md
|
||||
|
||||
## Session — 2026-07-15T15:10:34Z
|
||||
|
||||
**Project:** /home/jared/servers
|
||||
**Reason:** prompt_input_exit
|
||||
**Vault notes touched:**
|
||||
(none)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
---
|
||||
type: reference
|
||||
title: Gary Steel — client engagement map
|
||||
summary: Where Gary Steel's client work lives locally — the client-management project and the WordPress schema plugin — and how it's organized in the herdr workspace.
|
||||
tags:
|
||||
- type/reference
|
||||
- client/gary-steel
|
||||
- project/llf-schema
|
||||
- project/philly-search-engine-marketing
|
||||
- tool/herdr
|
||||
scope: client
|
||||
last_updated: 2026-07-15
|
||||
date: 2026-07-15
|
||||
source: servers
|
||||
---
|
||||
|
||||
# Gary Steel — Client Engagement Map
|
||||
|
||||
Gary Steel is an ongoing client (Philly search engine marketing). Two local working
|
||||
directories serve this engagement:
|
||||
|
||||
| Directory | Purpose |
|
||||
|---|---|
|
||||
| `~/clients/philly-search-engine-marketing/` | Client-management project (git, `main`) — engagement docs, SEM work |
|
||||
| `~/dev/llf-schema/` | WordPress schema plugin developed and maintained for Gary |
|
||||
|
||||
## Herdr workspace layout
|
||||
|
||||
Work for Gary runs in a herdr workspace named **"Gary Steel - Client"** with two tabs:
|
||||
|
||||
- **Client** → `~/clients/philly-search-engine-marketing/`
|
||||
- **Schema Plugin** → `~/dev/llf-schema/`
|
||||
|
||||
Pause work by **detaching**, never by closing the workspace (herdr `workspace close`
|
||||
destroys the workspace state — see [[herdr-setup-and-config]]).
|
||||
|
||||
## Related
|
||||
|
||||
- [[herdr-setup-and-config]]
|
||||
- [[2026-06-30-llf-schema-gbp-url-cross-link-intentional]]
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
summary: The tea CLI's `comment` subcommand hangs indefinitely unless stdin is closed, even when the comment body is passed as a positional argument.
|
||||
summary: "The tea CLI's `comment` and `issues edit --description` subcommands hang indefinitely in non-interactive contexts unless stdin is closed; the Forgejo REST API is a robust bypass."
|
||||
tags:
|
||||
- type/reference
|
||||
- tool/tea
|
||||
|
|
@ -7,7 +7,7 @@ tags:
|
|||
scope: global
|
||||
source: cc-os
|
||||
date: 2026-07-14
|
||||
last_updated: 2026-07-14
|
||||
last_updated: 2026-07-15
|
||||
---
|
||||
|
||||
# tea CLI: `comment` blocks on stdin
|
||||
|
|
@ -33,8 +33,29 @@ Only `tea comment` was observed hanging. In the same session, these ran **withou
|
|||
- `tea issues <N> --repo ...` (view)
|
||||
- `tea issues edit <N> --repo ... --add-assignees <user>`
|
||||
|
||||
So this is **not** a blanket property of every `tea` subcommand. `tea issues create` and
|
||||
`tea issues close` were never tested without the guard, so their behavior is unknown.
|
||||
So this is **not** a blanket property of every `tea` subcommand.
|
||||
|
||||
**Update 2026-07-15 (cc-os wayfinder charting):**
|
||||
|
||||
- `tea issues edit <N> --description "<body>"` **also hangs** without the guard — observed
|
||||
as the same silent 2-minute timeout in a bash script. (Note `edit --add-assignees`
|
||||
returned normally on 2026-07-14, so the hang seems tied to body-carrying flags, fitting
|
||||
the stdin hypothesis.) Not retried with `< /dev/null`; the API route below was used instead.
|
||||
- `tea issues create --repo ... --title ... --description "$(cat file)"` completed normally
|
||||
**nine times in a row** inside a bash script without the guard — create appears safe.
|
||||
- `tea issues close` remains untested without the guard.
|
||||
|
||||
**Robust bypass — the Forgejo REST API.** When a tea subcommand hangs (or for anything
|
||||
scripted), PATCH/POST directly with tea's own token, read in-process and never printed:
|
||||
|
||||
```python
|
||||
token = re.search(r'token:\s*(\S+)', open('~/.config/tea/config.yml').read()).group(1)
|
||||
# PATCH /api/v1/repos/{owner}/{repo}/issues/{n} {"body": ...} — edit body
|
||||
# PATCH ... /issues/{n} {"state": "closed"} — close
|
||||
# POST ... /issues/{n}/comments {"body": ...} — comment
|
||||
```
|
||||
|
||||
All three returned 201 and behaved correctly where `tea issues edit` had hung.
|
||||
|
||||
Cheap defensive habit for any agent scripting tea: append `< /dev/null` to tea calls in
|
||||
non-interactive contexts. It is harmless where it isn't needed, and it converts a silent
|
||||
|
|
|
|||
Loading…
Reference in New Issue