Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion plugins/planning/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
"name": "planning",
"version": "0.47.7",
"version": "0.47.8",
"userConfig": {
"surface": {
"type": "string",
Expand Down
6 changes: 6 additions & 0 deletions plugins/planning/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
All notable changes to the `planning` plugin are documented here. Format follows
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this plugin uses semantic versioning.

## [0.47.8] - 2026-09-29

### Added

- **`surface/DEFERRED.md`** lists the interview page's deferred work, each entry marked build (with its issue), park, drop or open, and the surface README links it ([#4653](https://github.com/melodic-software/claude-code-plugins/issues/4653)).

## [0.47.7] - 2026-09-29

### Fixed
Expand Down
35 changes: 35 additions & 0 deletions plugins/planning/surface/DEFERRED.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Deferred interview page work

Behaviors the interview page does not build, each marked build (with its issue), park, drop, or open when the decision is still pending. Park keeps the entry for a later decision and is the reversible choice.

Reason for parking: the owner's scope guard, "we want these to be, in most cases, kind of short-lived, on the fly. We ingest them and then move on". Sessions are short-lived and the page is not a durable store.

## Decision gaps from the commitment rules

| Entry | Decision |
|---|---|
| 1. A `hedged` decision kind on the page: the skill records a conditional accept as hedged, and the page has no such state | Build: #5471, after #4611 |
| 2. The register gate grades a page export clean while commitments are unticked | Build: #5471, after #4611 |
| 3. Addendum wording lint: whether the coined-term check becomes a script check | Open: awaiting the owner |

## Deferred behaviors

| Entry | Decision |
|---|---|
| "Accept all and have agents check them": a page button that hands a round to `/planning:audit-answers` | Build: #5472 |
| A hidden-tab title badge | Build: #5473 |
| Mermaid rendering, which needs a vendored renderer because the page's CSP allows no network source | Open: the renderer size is undecided, #5474 |
| Composer extras: attachments (paste or drop images and video), link detection, markdown with code highlighting, slash autocomplete for skills and `@` for question ids, dragging a note onto a question | Park |
| Hold sends; typed debounce | Park |
| Server as sole writer of both files; SSE deltas with `Last-Event-ID`; a server idle exit | Park |
| The stale cascade (automatic transitive re-staling) | Park |
| Size-signal line and split proposal cards on the page | Park |
| A minimum text size inside SVG | Park |
| Monitor, plugin-monitor and channel wake rungs | Park |
| A "What am I assuming?" button | Park |
| A one-way/two-way door tag | Park |
| An off-screen reply toast with a jump link | Park |
| A SQLite store | Park |
| Image export | Park |
| The self-improvement loop (the interview skill improving the interview process) | Park |
| Several sessions each taking a group | Park |
1 change: 1 addition & 0 deletions plugins/planning/surface/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ A local page for interview rounds. The user answers one question at a time on 12
| `watch.sh` | Claude | The watcher, run as a background Bash task |
| `exporters.py` | Claude | `export-ledger`, `export-brief`, `export-report`, `import-ledger` (called through `round.py`) |
| `schema.py`, `schema/*.schema.json` | shared | JSON Schemas for the question, response, event, visual and ops files, and the stdlib validator `round.py` applies on every write |
| `DEFERRED.md` | docs | Deferred page work, each entry with its decision or marked open |
| `test_*.py`, `*.test.sh`, `tests/` | tests | Python `unittest` suites, shell suites, browser suites and fixtures |

Per data dir: `questions.json` (Claude, through `round.py`), `responses.json` (server only: the event log and derived answers), optional `settings.json` and `theme.json`, and runtime files never exported (`.interview-session.json`, `.interview-session.env`, `.watch-seq`, `.watch-replay`, `questions.json.lock`).
Expand Down
Loading