diff --git a/ROADMAP.md b/ROADMAP.md index 033fc89..885181a 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,6 +1,6 @@ # ck: Product Roadmap -> Maintained by [claude-roadmap-skill](https://github.com/code-katz/claude-roadmap-skill). Last updated: 2026-11-04. +> Maintained by [claude-roadmap-skill](https://github.com/code-katz/claude-roadmap-skill). Last updated: 2026-11-05. --- @@ -22,14 +22,15 @@ - A pull request's own cost (0.1.23): the merge hook charges the sessions that worked on the branch, finds the right pull request (`cd`, `--repo`, a URL), prints one line in the session, and leaves the numbers on the pull request as data. - Lane endings (0.1.24): a lane ends with its own finished sentence and leaves the next lane and the next command to the coordinator. d20mob and hireling carry the new "Finishing a session" sentence. - The stage's model (0.1.25): How we work tells a stage session to check its own model before anything else, whoever wrote its brief, and to stop and wait for go when it is on another. Until then the stop came only from the brief, and coordinators that wrote their own briefs left it out. -- Main is at 0.1.25. Each release is a branch from main, a pull request into main, a tag on main, and a GitHub release. The tests run on every pull request. -- Two channels: stable (the `code-katz` marketplace) on `v0.1.19`, and ck-next (a local marketplace, used by d20mob, hireling and the ck folder) on `v0.1.25`. Rollback in a project is two commands. +- The drawing's link (0.1.26): How we work and Kai tell a session that every message showing or changing a drawing gives the page's link with the picture, as a clickable `file:///` link, without being asked. Until then a drawing lane could send only pictures. +- Main is at 0.1.26. Each release is a branch from main, a pull request into main, a tag on main, and a GitHub release. The tests run on every pull request. +- Two channels: stable (the `code-katz` marketplace) on `v0.1.19`, and ck-next (a local marketplace, used by d20mob, hireling and the ck folder) on `v0.1.26`. Rollback in a project is two commands. **What's missing or fragile:** - The memory gate has not yet been tried in an interactive session. -- 0.1.20 to 0.1.25 have not been checked in a real d20mob session. d20mob, hireling and ck have no team file yet, so each gets only the eight core seats, and d20mob's plan rows owned by Reiner, Tracy, Travolta or Piper get no card until they are invited. +- 0.1.20 to 0.1.26 have not been checked in a real d20mob session. d20mob, hireling and ck have no team file yet, so each gets only the eight core seats, and d20mob's plan rows owned by Reiner, Tracy, Travolta or Piper get no card until they are invited. - How the desktop app shows the cost line after a merge has not been seen; a test hook did not fire. -- A change to ck's "How we work" template reaches no project on its own. The question rule (0.1.14) and the finishing rule (0.1.24) were each copied into d20mob and hireling by hand. The stage's model rule (0.1.25) is in neither yet. +- A change to ck's "How we work" template reaches no project on its own. The question rule (0.1.14) and the finishing rule (0.1.24) were each copied into d20mob and hireling by hand. The stage's model rule (0.1.25) and the drawing's link rule (0.1.26) are in neither yet. - `claude plugin update` in a repository with worktree installs can update the wrong one; on 2026-11-03 and 2026-11-04 the four main installs were set by hand, to 0.1.24 and then 0.1.25. - Auto mode sometimes refuses to push a tag or create a GitHub release; then you run that step by hand. - ck2 is abandoned. Anything from it is rebuilt from scratch, if at all. @@ -66,7 +67,8 @@ ck reaches projects from two places. **Stable** is the `code-katz` marketplace o | 0.1.22 | none | Held for lanes, which did not ship | Not released | | 0.1.23 | 2026-11-03 | A pull request's own cost, on the right pull request, with one line in the session | Tag `v0.1.23` | | 0.1.24 | 2026-11-03 | Lane endings: no pipeline table or next command in a lane; How we work 0.1.24 | Tag `v0.1.24` | -| 0.1.25 | 2026-11-04 | The stage's model: a stage session on the wrong model stops and waits, whoever wrote its brief; How we work 0.1.25 | Tag `v0.1.25`; **ck-next** | +| 0.1.25 | 2026-11-04 | The stage's model: a stage session on the wrong model stops and waits, whoever wrote its brief; How we work 0.1.25 | Tag `v0.1.25` | +| 0.1.26 | 2026-11-05 | The drawing's link: every message that shows or changes a drawing gives the page's link with the picture; How we work 0.1.26 | Tag `v0.1.26`; **ck-next** | --- @@ -104,11 +106,11 @@ Dropped with ck2: its 0.2.0 release plan, which would have replaced ck in the `c | # | Opportunity | Why Now | Success Signal | |---|---|---|---| -| 1 | **The model follows the task, not the persona: lanes or the small release** | A stage runs on its owner's tier, so Akira writes on Fable whether the job is a design call or a small edit, and each d20mob plan row needs a ruling to say otherwise. The lanes session's test ([revision 5](https://claude.ai/artifact/3NfTciKu6movQW8yN7aDsP)) found lanes lost to one persona session on the model that fits the job, in one run of each stage. By your rule, that makes the small release the build, as 0.1.26 | You choose lanes or the small release; then a plan's Who column names no model, and in d20mob a stage runs on a model chosen for the job with no per-row ruling | +| 1 | **The model follows the task, not the persona: lanes or the small release** | A stage runs on its owner's tier, so Akira writes on Fable whether the job is a design call or a small edit, and each d20mob plan row needs a ruling to say otherwise. The lanes session's test ([revision 5](https://claude.ai/artifact/3NfTciKu6movQW8yN7aDsP)) found lanes lost to one persona session on the model that fits the job, in one run of each stage. By your rule, that makes the small release the build, as 0.1.27 | You choose lanes or the small release; then a plan's Who column names no model, and in d20mob a stage runs on a model chosen for the job with no per-row ruling | | 2 | **Try 0.1.19 by hand** | 0.1.19 went to stable on 2026-10-28 before anyone tried the memory gate, the shorter `/ck:do` or `/ck:cost` by hand | In d20mob: a memory save shows the proposal and then the approval prompt, `/ck:do` runs, and `/ck:cost` prints a real table; if one fails, stable goes back to `v0.1.17` | -| 3 | **Try ck-next (0.1.20 to 0.1.25) in d20mob** | ck-next serves 0.1.25 since 2026-11-04, and the checks here have not been recorded in a d20mob session | The four checks in [code-katz/ck#51](https://github.com/code-katz/ck/pull/51) pass, a merge prints one cost line for the right pull request, and a lane that runs a gate skill ends with only its finished sentence; then stable moves to `v0.1.25` | +| 3 | **Try ck-next (0.1.20 to 0.1.26) in d20mob** | ck-next serves 0.1.26 since 2026-11-05, and the checks here have not been recorded in a d20mob session | The four checks in [code-katz/ck#51](https://github.com/code-katz/ck/pull/51) pass, a merge prints one cost line for the right pull request, and a lane that runs a gate skill ends with only its finished sentence; then stable moves to `v0.1.26` | | 4 | **Measure d20mob's 400K auto-compact test** | The compaction evaluation chose this over a ck feature. The setting went into d20mob's local settings on 2026-10-30, and the baseline is saved | On 2026-11-06, a pass or fail against the baseline; the prediction is $116 to $154 a week saved, in API-equivalent dollars | -| 5 | **The stage's model in d20mob and hireling** | Their coordinators write their own briefs. hireling's Phase 2 briefs never carried the model check, and d20mob's A31-P6 coordinator dropped it after its context was compacted on 2026-11-04, so stages opened on a cheaper model and went to work | Each project's How we work has the 0.1.25 bullet, on its own pull request when you say so; then a stage opened on the wrong model stops and waits for go | +| 5 | **The stage's model and the drawing's link in d20mob and hireling** | Their coordinators write their own briefs. hireling's Phase 2 briefs never carried the model check, and d20mob's A31-P6 coordinator dropped it after its context was compacted on 2026-11-04, so stages opened on a cheaper model and went to work. d20mob's drawing lane A31-P7-S1 sent pictures of mockup 38 with no link until you asked, several times | Each project takes How we work 0.1.26 with `/ck:claude-md`, on its own pull request when you say so; then a stage opened on the wrong model stops and waits for go, and a drawing comes with its link | ### Tier 2: High Value, Plan for Next Sprint @@ -129,8 +131,8 @@ Dropped with ck2: its 0.2.0 release plan, which would have replaced ck in the `c ## Recommended Sequencing ``` -Now: the stage's model in d20mob and hireling; try ck-next 0.1.25 in d20mob -> stable -Next: your call on lanes -> 0.1.26 (lanes or the small release) -> ck-next -> a d20mob phase -> stable +Now: How we work 0.1.26 in d20mob and hireling; try ck-next 0.1.26 in d20mob -> stable +Next: your call on lanes -> 0.1.27 (lanes or the small release) -> ck-next -> a d20mob phase -> stable Beside: try 0.1.19 in d20mob (already on stable) 2026-11-06: measure d20mob's 400K auto-compact test Later: template changes reach projects; the lean review's remaining recommendations @@ -153,13 +155,31 @@ Later: template changes reach projects; the lean review's remaining recommendati | Key Result | Target | Current | |---|---|---| -| Releases tried in d20mob before they go stable | every release | 0.1.17 tried in hireling; 0.1.19 went to stable untried (2026-10-28); 0.1.20 to 0.1.25 are on ck-next, untried | +| Releases tried in d20mob before they go stable | every release | 0.1.17 tried in hireling; 0.1.19 went to stable untried (2026-10-28); 0.1.20 to 0.1.26 are on ck-next, untried | | Releases rolled back after going stable | 0 | 0 | --- ## Revision History +## [2026-11-05] 0.1.26 shipped: the drawing's link; ck-next on 0.1.26 + +**Change Type:** `complete` +**Triggered by:** `delivery` +**Items Affected:** Snapshot; Releases; Tier 1 items 1, 3 and 5; Recommended Sequencing; OKR + +### What Changed +Releases gains 0.1.26 (the drawing's link, [code-katz/ck#59](https://github.com/code-katz/ck/pull/59)), tagged `v0.1.26`, and ck-next serves it. Stable stays on 0.1.19. Tier 1 item 1, lanes or the small release, moves to 0.1.27. Tier 1 item 5 now covers both rules: d20mob and hireling take How we work 0.1.26 with `/ck:claude-md`. + +### Why +In d20mob's drawing lane `[A31-P7-S1] [Kai Opus] The tale, drawn`, the session kept sending pictures of mockup 38 and you had to ask for the HTML link several times. Nothing in ck asked for one: "Drawings first" said only to show the frames early, Kai's skill said to screenshot a mockup before showing it, and a d20mob memory told sessions to send a picture. The rule is now in How we work and in Kai's skill. + +### Open Questions Resolved / Added +- Resolved: how does a drawing reach you? -> its page's link, with the picture, in every message that shows or changes it. +- Added: none. + +--- + ## [2026-11-04] 0.1.25 shipped: the stage's model; ck-next on 0.1.25 **Change Type:** `complete`