Address GHCP review: stash race, signal ordering, a11y, outcome schema, error handling

- extension.mjs: serialize stash read-modify-write behind a per-desk mutex;
  order signals by explicit ISO timestamp (clone-safe) not mtime; keep desks
  with malformed latest signal as 'awaiting'; gate calibration badge on a real
  gap value; add prefers-reduced-motion CSS; toast aria-live region; rename
  open_desk -> get_desk_path (returns path, no session); handle server.listen errors.
- signal-write/SKILL.md: document timestamp + run_id, ordering guidance, and the
  outcome (calibration) signal schema.
- workshop-ta.agent.md: a desk is a persistent workstream picked up by independent
  sessions, not one long-running process.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 26faf13e-639c-4a21-ac05-c0dc2bff7c62
This commit is contained in:
jennyf19
2026-07-19 19:24:09 -07:00
parent 47ad74c5bd
commit 670c5f0419
3 changed files with 112 additions and 18 deletions
+3 -1
View File
@@ -16,7 +16,9 @@ room. When the operator asks "what's everyone working on?" or
## What a workshop is
A **workshop** is a named directory containing desks that share a
workspace. Each desk is a long-running Copilot CLI session with:
workspace. Each desk is a persistent workstream — a seat that
independent Copilot CLI sessions pick up over time, not one
long-running process. Each desk has:
- **A journal** (`journal.md`) — persistent memory across sessions.
Every desk reads its own journal at the start and writes to it