diff options
| author | user <user@clank> | 2026-08-12 22:05:55 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-12 22:05:55 +0200 |
| commit | 939748a62ce72dbdd8dfc8edd7c40ca5891439bf (patch) | |
| tree | f59ac6335bd7cf651aff240ee628a6778e607ba5 /docs | |
| parent | sl0p: carry pane and tab purposes over the wire (diff) | |
| download | sl0ppi-939748a62ce72dbdd8dfc8edd7c40ca5891439bf.tar.gz sl0ppi-939748a62ce72dbdd8dfc8edd7c40ca5891439bf.tar.xz sl0ppi-939748a62ce72dbdd8dfc8edd7c40ca5891439bf.zip | |
docs(cli): record the fork gap the design turned up
Runtime new-tab dropped purposes until 5873374; the design depends on it, so
the dependency is written down rather than assumed. Also notes the single-line
KDL terminator trap, which cost a debugging round.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/cli-design.md | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/docs/cli-design.md b/docs/cli-design.md index 00650fd..f5d4168 100644 --- a/docs/cli-design.md +++ b/docs/cli-design.md @@ -152,6 +152,22 @@ Absorbing `pir` into `sl0ppi agent --resume` (D10) removes the `python3` dependency. `fzf` then becomes either a declared external dependency or an internal picker. +## Fork changes this design required + +Designing against the fork turned up one real gap, found by integration-testing +rather than reading: + +- **purposes were dropped by runtime `new-tab`** (`sl0p: carry pane and tab + purposes over the wire`). `TiledPaneLayout`/`FloatingPaneLayout` had no + protobuf `purpose` field, so a layout sent as an Action lost every purpose it + declared. Session-creation layouts kept theirs, which is why the feature + looked fine until an orchestrator tried to add a tab. Both protobuf schemas + now carry it, sanitised on ingest. + +Also worth recording, because it costs an afternoon otherwise: **KDL nodes on a +single line need `;` terminators**. `tab x { pane }` fails to parse; the +generator emits multi-line KDL, which sidesteps it entirely. + ## MVP scope 1. discovery + slug + `list-tabs --json` diff (the idempotency core) |
