|
| 1 | +<!-- CS-FIZZY-OVERLAY --> |
| 2 | + |
| 3 | +--- |
| 4 | + |
| 5 | +# Concurrent-Systems — Fizzy conventions (fork overlay) |
| 6 | + |
| 7 | +> Appended to the upstream skill by `scripts/install-skill.sh`. Upstream |
| 8 | +> `SKILL.md` stays byte-identical so it never conflicts on merge; iterate CS |
| 9 | +> guidance here. |
| 10 | +
|
| 11 | +## Board structure — where work lives |
| 12 | + |
| 13 | +- **Team boards = execution.** Work chunks live on the team board that has the |
| 14 | + capacity to finish them (Ops, Dev, Finance, LT). One owner per card. This is |
| 15 | + where WIP is real — don't spread executable work onto other boards or it gets |
| 16 | + lost. |
| 17 | +- **`🎯 Projects` = initiatives.** One card per multi-week initiative (outcome + |
| 18 | + one accountable owner), columns `Maybe? → On Deck → Active → Done`. The |
| 19 | + initiative card is the **hub**; its chunks live on team boards and mention the |
| 20 | + project by name + link in their description. Keep the Active set small. |
| 21 | +- **Pipeline boards only for standing flows** a dedicated crew owns end-to-end |
| 22 | + (Incidents, Leads). They *track* the flow and hand execution cards to team |
| 23 | + boards; they don't hold the work. Don't model low-volume things (a one-off |
| 24 | + incident) as pipelines — that's ceremony; just make the work chunks. |
| 25 | + |
| 26 | +## Archiving done cards |
| 27 | + |
| 28 | +- `fizzy card move <n> --to <board>` **preserves closed/Done state** (the GUI |
| 29 | + can't — it forces a reopen). So the CLI is the bulk-archive tool. |
| 30 | +- CS keeps a `🗄️ Archive-<Board>` board per board. Sweep done cards with a loop: |
| 31 | + `for n in $(fizzy card list --board <SRC> --indexed-by closed --all --jq '.data[].number'); do fizzy card move "$n" --to <ARCHIVE>; done` |
| 32 | +- **Restricted boards:** `fizzy board create` is ALWAYS all-access (the |
| 33 | + `--all_access false` flag is ignored) and the CLI has **no grant/revoke** for |
| 34 | + per-user access. So for a sensitive board (e.g. LT), a human must lock access |
| 35 | + in the **GUI** first; verify with `fizzy board accesses --board <id>` that the |
| 36 | + archive's access matches the source **before** moving cards in, or restricted |
| 37 | + cards leak. |
| 38 | + |
| 39 | +## Tags |
| 40 | + |
| 41 | +- Get a tag's **ID** (needed for `--tag`) from `fizzy tag list --all` — it |
| 42 | + paginates, so `--all` is required; each tag object also has a `url` that is the |
| 43 | + GUI cross-board rollup link. |
| 44 | +- `fizzy card list --tag <ID>` is **cross-board by default** (no `board_ids` |
| 45 | + injection); pass `--board` only to scope to one board. (Upstream fix in |
| 46 | + basecamp/fizzy-cli#181; carried locally until merged.) |
| 47 | +- Don't mint a tag per initiative unless you'll retire it — there's no |
| 48 | + `tag delete`; a tag disappears only when removed from every card. |
| 49 | + |
| 50 | +## This fork |
| 51 | + |
| 52 | +`~/g/fizzy-cli-fork` tracks `upstream/master` (basecamp/fizzy-cli) and builds the |
| 53 | +latest v4 (not on Homebrew yet). Carries only: the #181 cross-board fix (pending |
| 54 | +upstream) and this skill overlay. Update: `git pull && make build && cp bin/fizzy |
| 55 | +~/.local/bin/fizzy && scripts/install-skill.sh`. |
0 commit comments