diff --git a/docs-ai/063-agent-workflows/000-plan.md b/docs-ai/063-agent-workflows/000-plan.md index 7f5236a1..5eb3e996 100644 --- a/docs-ai/063-agent-workflows/000-plan.md +++ b/docs-ai/063-agent-workflows/000-plan.md @@ -2,9 +2,9 @@ | | | | --- | --- | -| **Status** | In progress — R1 foundations C0/A1/A1b/A2 and 064-S1/S2 merged; 064-S3 wave 1 is next | +| **Status** | In progress — R1 (C0/A1/A1b/A2 with 064-S1/S2/S3 wave 1 and 065) shipped in v2026.8.29; R2a (B1 → B2 → B3 → C1, with #733 and #726 T0) is next | | **Anchor date** | 2026-08-21 | -| **Primary PRs** | R1 foundations: #709 (C0), #710 (A1), #713 (A1b), #714 (A2); B1–D3 TBD | +| **Primary PRs** | R1: #709 (C0), #710 (A1), #713 (A1b), #714 (A2) — shipped in v2026.8.29; R2a/R2b/R3 (B1–D3) TBD | | **Related** | [047 cross-agent-handoff](../047-cross-agent-handoff/000-plan.md), [049 agents-toolbar-entry](../049-agents-toolbar-entry/000-plan.md), [053 agent-profiles](../053-agent-profiles/000-plan.md), [055 agent-profile-runtimes](../055-agent-profile-runtimes/000-plan.md), [059 agent-transcript-snapshots](../059-agent-transcript-snapshots/000-plan.md), [060 cli-targeting-and-contract-governance](../060-prowl-cli-targeting-and-contract-governance/000-plan.md), [061 native-toolbar-controls](../061-native-toolbar-controls/toolbar-controls.md), [064 agent-completion-signals](../064-agent-completion-signals/000-plan.md) (signal bus, `agents signal` / `agents wait`), [#699 `prowl create pane`](https://github.com/onevcat/Prowl/issues/699), [PR #651 (direction reference, not merged)](https://github.com/onevcat/Prowl/pull/651), [DSL spec (living)](dsl-spec.md), [release plan (living)](release-plan.md), `docs/components/handoff.md`, `docs/components/agent-profiles.md`, `docs/components/cli.md` | ## Background @@ -408,8 +408,9 @@ Shapes are intentionally close to what exists so the runner and the CLI share on This section defines **what** each slice contains. **When** it ships and in what order — including the interleaving with 064's signal slices — is owned by the living -[release-plan.md](release-plan.md) (three releases: R1 CLI primitives + signals, R2 Agent -Workflows, R3 handoff migration; decision 2026-08-22). Only two couplings cross the two +[release-plan.md](release-plan.md) (R1 CLI primitives + signals, R2a workflow engine + CLI, +R2b workflow GUI + first built-in, R3 handoff migration; decisions 2026-08-22 and +2026-08-29). Only two couplings cross the two entries: 064-S1 delivers the `ObservedAgentState` observer that B3 consumes, and 064-S3 attaches hooks through A2's launch boundary. @@ -425,7 +426,7 @@ attaches hooks through A2's launch boundary. | **C1** | C | B3 | Status center fifth state + run panel + attention triggers + notifications (061 visual verification). Runs become visible. | | **C2** | C | B3 | Start sheet (bindings, suggestion-based profile creation, don't-ask-again, `--skip` equivalent) + entry points (capsule popover, palette, Active Agents context menu). GUI-initiated runs. | | **D1** | D | B1, C2, 065-K1 | `prowl-workflows` authoring skill (registered by adding it to `skills/`; embedding and the registry come from [065](../065-bundled-agent-skills/000-plan.md)), `docs/components/workflows.md`, Settings › Workflows page (enable/validate/Reveal/New/Ask-agent/per-workflow auto) added to the Agents group. Distribution and docs. | -| **D2** | D | A2, C2, D1, 064-S3 wave 1 | `prowl.adversarial-review` built-in + reviewer skill + E2E self-verification; the watchdog consumes exact signals (064-S5 part). Proves the engine on a fresh flow before touching shipped behavior. | +| **D2** | D | A2, C2, D1, 064-S3 wave 1, #733, #726 T1 | `prowl.adversarial-review` built-in + reviewer skill + E2E self-verification; the watchdog consumes exact signals (064-S5 part). Proves the engine on a fresh flow before touching shipped behavior. | | **D3** | D | D2 | `prowl.handoff` + `prowl.handoff-checkpoint` built-ins + `handoff.transition`/`handoff.checkpoint` actions; `prowl handoff to\|save` → `HANDOFF_RETIRED` stubs; remove `HandoffHudFeature`, `HandoffCommandHandler`, `HandoffRequestRegistry`; rewrite `docs/components/handoff.md` and the `prowl-cli` skill. Migrate the shipped feature last. | | **V2** | — | — | observe mode (`expect.status` + `agents read` / hook `last_assistant_message`), `on_attention: ask `, fan-out (`count`, `wait all`), run persistence/resume, retention, cross-worktree roles, GUI editor. | @@ -595,6 +596,11 @@ attaches hooks through A2's launch boundary. ## Amendments +- Updated 2026-08-29: R1 shipped in v2026.8.29. R2 is split into R2a (B1–C1) and R2b (C2–D2); + #733 (re-dispatch into an existing pane) and #726 T0 (version attestation) are scheduled in + R2a as D2 prerequisites, #726 T1 precedes D2 in R2b, and the working cadence is recorded in + [release-plan.md](release-plan.md). The Settings page this plan and C0's record call + "Command Line Tool" shipped under that name and was renamed **CLI & Skills** in #735. - Updated 2026-08-23: removed 064-S3 wave 2 from R3. Prowl does not install hooks for runtimes that require writes to global configuration, dedicated homes, or project files; those runtimes continue to use cooperative, transcript/process, or heuristic evidence. diff --git a/docs-ai/063-agent-workflows/release-plan.md b/docs-ai/063-agent-workflows/release-plan.md index b4351216..ecce55ab 100644 --- a/docs-ai/063-agent-workflows/release-plan.md +++ b/docs-ai/063-agent-workflows/release-plan.md @@ -15,6 +15,9 @@ | D | 063 | built-ins, skills, docs, handoff migration | | S | 064 | completion signals (bus, `agents signal` / `agents wait`, hooks, producers) | +GitHub issues scheduled as slices (#733 re-dispatch, #726 drift guard) keep their issue number +as the slice name; both belong to 064. + Cross-entry couplings (only these two): 064-S1 delivers the `ObservedAgentState` observer that 063-B3 consumes; 064-S3 attaches launch-scoped hooks through 063-A2's launch boundary. 063 V1 does not otherwise depend on 064 (steps complete on `prowl workflow done`). @@ -22,9 +25,20 @@ that 063-B3 consumes; 064-S3 attaches launch-scoped hooks through 063-A2's launc ## Releases PRs merge to `main` one at a time (each keeps `main` shippable); engine PRs without a -user-facing surface may merge before "their" release and stay dormant. Three releases: +user-facing surface may merge before "their" release and stay dormant. Four releases — R1, +R2a, R2b, R3 (R2 was split on 2026-08-29); the [cadence rules](#cadence-and-working-rules) +say when each is cut: + +### Status (2026-08-29) + +| Release | State | Next action | +| --- | --- | --- | +| R1 | **Shipped** — v2026.8.29 (2026-08-29) | — | +| R2a | Next | B1 ∥ #733 ∥ #726 T0 on three branches from `main`; B1 starts with a grilled slice record | +| R2b | Planned | after R2a ships | +| R3 | Planned | after R2b ships | -### Current R1 status (2026-08-28) +#### R1 PR ledger | Slice(s) | State | PR / next action | | --- | --- | --- | @@ -37,12 +51,18 @@ user-facing surface may merge before "their" release and stay dormant. Three rel | S3 wave 1 | Complete | Merged in #721/#723/#725/#728; S3c plan [064.010](../064-agent-completion-signals/010-s3c-plan.md), record [064.011](../064-agent-completion-signals/011-s3c-action.md) | | 065-S0/K1 | Merged | #729; [065.003](../065-bundled-agent-skills/003-k1-bundle-registry.md) | | 065-K2 | Merged | #730; [065.004](../065-bundled-agent-skills/004-k2-skill-installer-cli.md) | -| 065-K3 | In review | #731; [065.005](../065-bundled-agent-skills/005-k3-settings-agent-skills.md); closes 065 | - -A2 completes 063's R1 implementation work, and S1/S2/S3 wave 1 are on `main`. The remaining -R1 work is 065 bundled skill distribution: S0, K1 (#729), and K2 (#730) are merged; K3, the -Settings section, is implemented and in review — once it merges, 065 and R1's implementation -work are complete. +| 065-K3 | Merged | #731; [065.005](../065-bundled-agent-skills/005-k3-settings-agent-skills.md); closes 065 | +| R1 tail | Merged | #732: `agents read` reports `pending` during a live turn, arm-time terminal signals need detector corroboration, 10 s agent-appearance grace, `agents signal` receipts carry `binding`; [064.012](../064-agent-completion-signals/012-cli-evidence-semantics.md) | +| R1 tail | Merged | #735: Settings › Agents › Command Line Tool renamed **CLI & Skills** (records written before it keep the old name) | +| R1 tail | Merged | #736: Claude `idle_prompt` no longer decodes as `needs-input`; `auto` waits fall back to the detector while the channel holds no terminal level; [064.013](../064-agent-completion-signals/013-idle-evidence-fallback.md) | +| Release | Shipped | v2026.8.29 — the CHANGELOG entry covers every row above | + +R1 is complete and shipped. Every planned slice merged in order; the three "R1 tail" PRs +were not in the plan — each came out of driving the bundled `prowl-cli` skill end to end +against a build of `main` after the last planned slice merged, which is why that pass is now +a standing rule (see [cadence](#cadence-and-working-rules)). Scope removed during R1: S3 +wave 2 (2026-08-23), the Active Agents exact-channel badge (2026-08-26), and a Profile-free +`create tab|pane --background` (recorded in 064.013 as a product follow-up, unscheduled). #### S3 wave 1 PR breakdown @@ -77,22 +97,36 @@ User-visible result: onevcat's daily CLI-driven orchestration is first-class (`create pane --profile --prompt -` → `agents wait` → `send`). Docs: `docs/components/cli.md`, `agent-detection.md`, `settings.md`, `prowl-cli` skill. Parallelism: C0 ∥ A1 ∥ 065-K1, A2 ∥ S1. -### R2 — Agent Workflows +### R2a — Workflow engine and CLI | Order | Slice | Entry | Depends | Outcome | | --- | --- | --- | --- | --- | -| 1 | **B1** definitions (Yams, model, validator, JSON Schema, three-source discovery, `workflow list/validate/schema`) | 063 | — | DSL authorable and validatable (may merge during R1) | +| 1 | **B1** definitions (Yams, model, validator, JSON Schema, three-source discovery, `workflow list/validate/schema`) | 063 | — | DSL authorable and validatable; dormant until B3 | +| 1 | **#733** `prowl agents dispatch --prompt -`: a new pending dispatch bound to an existing surface, one pending per surface, `dispatch-complete` resolved from the caller's ancestry to the pane's current record, refused while the agent is working or blocked | 064 | S2, 064.012 | a reviewer launched once takes N assignments, each with its own receipt — the shape `prowl.adversarial-review` (D2) needs, and usable from the CLI recipe as soon as it merges | +| 1 | **#726 T0** version attestation: per-runtime attested version record beside the research matrix + `make agent-versions` | 064 | S3 wave 1 | an installed runtime newer than its attested contract warns before a release | | 2 | **B2** runner core (pure state machine, run store, templates, registry, watchdog) | 063 | B1 | — | | 3 | **B3** runner wiring + `workflow run/status/done/cancel` | 063 | A2, S1, B2 | engine powered on | | 4 | **C1** status center + run panel + notifications | 063 | B3 | runs visible | -| 5 | **C2** start sheet + entry points (capsule popover, palette, Active Agents) | 063 | B3 | GUI-initiated runs | -| 6 | **D1** `prowl-workflows` authoring skill (skills embedding from 065), `docs/components/workflows.md`, Settings › Workflows page | 063 | B1, C2, 065-K1 | custom workflows, agent-assisted authoring | -| 7 | **D2** `prowl.adversarial-review` built-in + reviewer skill + E2E; watchdog consumes exact signals (064-S5 part) | 063 + 064 | A2, C2, D1, S3 wave 1 | first built-in workflow | -The shipped handoff (HUD + `prowl handoff`) stays untouched in R2. Fallback split if R2 is -too large: R2a = B1–C1 (workflows runnable from the CLI, visible in the status center), -R2b = C2–D2 (GUI entry, Settings, skills, E2E). Default is one R2. Docs: `workflows.md`, -`command-palette.md`, `active-agents.md`, `settings.md`. +User-visible result: a workflow file runs from the CLI (`prowl workflow run`), its steps and +attention states show in the status center, and a coordinating agent can re-dispatch into a +reviewer it already launched. Parallelism: B1 ∥ #733 ∥ #726 T0 (the two 064 slices do not +touch B1's files). Docs: `workflows.md` (CLI part), `cli.md`, `prowl-cli` skill. + +### R2b — Workflow GUI, docs, and the first built-in + +| Order | Slice | Entry | Depends | Outcome | +| --- | --- | --- | --- | --- | +| 1 | **C2** start sheet + entry points (capsule popover, palette, Active Agents) | 063 | B3 | GUI-initiated runs | +| 2 | **D1** `prowl-workflows` authoring skill (skills embedding from 065), `docs/components/workflows.md`, Settings › Workflows page, CLI reachability status (deferred from C0) | 063 | B1, C2, 065-K1 | custom workflows, agent-assisted authoring | +| 3 | **#726 T1** headless contract tests against the real tier-A binaries through the production renderers/decoder (`make test-agent-contracts`, passing runs update T0) | 064 | #726 T0, S3 wave 1 | hook contracts fail loudly on binary drift before D2's E2E leans on them | +| 4 | **D2** `prowl.adversarial-review` built-in + reviewer skill + E2E; watchdog consumes exact signals (064-S5 part) | 063 + 064 | A2, C2, D1, S3 wave 1, #733, #726 T1 | first built-in workflow | + +The shipped handoff (HUD + `prowl handoff`) stays untouched through R2a and R2b. The split +replaces the earlier "one R2" default (decision 2026-08-29): R2's seven slices outweigh R1's +implementation work, and R1 showed that a slice is only proven once it has been driven end to +end from the skill, so the CLI route ships and collects that feedback before the GUI is built +on it. Docs: `workflows.md`, `command-palette.md`, `active-agents.md`, `settings.md`. ### R3 — Handoff migration + signal completion @@ -110,21 +144,59 @@ release after R3. 063 V2 items (observe mode, `on_attention: ask `, fan-out, retention, run resume, cross-worktree roles, GUI editor) and the rest of 064-S5; scheduled by demand. +## Cadence and working rules + +Agreed 2026-08-29 after R1 shipped; they apply from R2a on. + +- **Ship when a coherent slice set is on `main`, not on a calendar.** R1's tags landed 4–9 + days apart. A release is cut when the slices in its table are merged and the end-to-end + pass below is green; a slice that is not ready moves to the next release in this file + rather than holding the current one. +- **One PR at a time, each keeping `main` shippable.** Engine slices without a user-facing + surface (B1, B2) merge early and stay dormant; the release table lists them where they + become visible. +- **Every merged slice is driven end to end from the bundled skill** (`prowl-cli`, and from + B3 the workflow recipe as well) against a Debug build of `main` before the next slice + starts. R1's tail (#732, #736) came entirely from such passes; unit and socket tests alone + do not close a slice. Isolated-instance recipes: 064.007 / 009 / 011 / 013. +- **Grill before a public surface.** A slice that introduces a public contract — B1's DSL, + JSON Schema, and `workflow` CLI; C2's start sheet; D1's skill and Settings page — gets a + `grill-me` pass on its slice record before code, and the DSL spec is amended in the same + PR when a decision changes it. +- **Drift guard travels with the release.** #726 T0 (`make agent-versions`) ships in R2a and + runs before every release from then on; T1 (`make test-agent-contracts`) ships in R2b + before D2's E2E and is re-run whenever a runtime is upgraded or a release is cut. +- **Records move with the code.** The PR that merges a slice updates this file's ledger and + change log, the owning plan's Status / Primary PRs lines and Amendments, and the slice's + own record; the release PR adds the "shipped" line. A stale ledger is a defect of the next + PR, not of a later audit. +- **Release mechanics** stay with the + [release runbook](../001-fork-bootstrap-and-release-pipeline/release-runbook.md) + (`sync-docs`, CHANGELOG, notarized build); nothing here changes them. + ## Dependency graph ``` -R1: C0 A1 ──► A1b +R1: C0 A1 ──► A1b (shipped v2026.8.29) └──► A2 ──┐ - ├──► S2 ──► S3w1 + ├──► S2 ──► S3w1 ──► #732 ──► #736 S1 ──┘ 065-S0/K1 ──► 065-K2 ──► 065-K3 -R2: B1 ──► B2 ──► B3 (◄ A2, S1) ──► C1 ──► C2 ──► D1 (◄ 065-K1) ──► D2 (◄ S3w1) +R2a: B1 ──► B2 ──► B3 (◄ A2, S1) ──► C1 + #733 (◄ S2) #726-T0 (◄ S3w1) +R2b: C2 (◄ B3) ──► D1 (◄ B1, 065-K1) ──► D2 (◄ S3w1, #733, #726-T1) + #726-T1 (◄ #726-T0) R3: D3 (◄ D2) S4 (◄ S1) R3+: V2 / S5 rest; delete HANDOFF_RETIRED stubs ``` ## Change log +- 2026-08-29 — R1 shipped in v2026.8.29 (tag `5ba8aacd`), including three unplanned tail PRs + found by end-to-end passes over the `prowl-cli` skill: #732 (064.012 evidence semantics), + #735 (Settings page renamed CLI & Skills), #736 (064.013 idle evidence fallback). R2 is + split into R2a (B1–C1) and R2b (C2–D2); #733 re-dispatch and #726 T0 attestation join R2a + as D2 prerequisites, #726 T1 precedes D2 in R2b. Added the cadence and working rules. - 2026-08-28 — 065-K3 implemented on `feat/bundled-skills-k3` and opened as #731: the Agent Skills section on Settings › Agents › Command Line Tool; 065's action log ([065.001](../065-bundled-agent-skills/001-action.md)) summarizes K1–K3. Record: diff --git a/docs-ai/064-agent-completion-signals/000-plan.md b/docs-ai/064-agent-completion-signals/000-plan.md index 0f8d2792..a24da9ca 100644 --- a/docs-ai/064-agent-completion-signals/000-plan.md +++ b/docs-ai/064-agent-completion-signals/000-plan.md @@ -2,9 +2,9 @@ | | | | --- | --- | -| **Status** | In progress — S1 #715, S2 #718, and S3 wave 1 #721/#723/#725/#728 merged; S4/S5 planned | +| **Status** | In progress — S1 #715, S2 #718, S3 wave 1 #721/#723/#725/#728, and follow-ups #732/#736 shipped in v2026.8.29; #733 re-dispatch and #726 T0 scheduled in R2a, #726 T1 in R2b; S4/S5 planned | | **Anchor date** | 2026-08-22 | -| **Primary PRs** | #715 (S1); #718 (S2); #721, #723 (S3a); #725 (S3b); #728 (S3c) | +| **Primary PRs** | #715 (S1); #718 (S2); #721, #723 (S3a); #725 (S3b); #728 (S3c); #732 (012); #736 (013) | | **Related** | [063 agent-workflows](../063-agent-workflows/000-plan.md) (consumer; defines the `ObservedAgentState` observer this entry feeds), [030 agent-status-detection](../030-agent-status-detection/000-plan.md), [045 native-agent-session-detection](../045-native-agent-session-detection/000-plan.md), [055 agent-profile-runtimes](../055-agent-profile-runtimes/000-plan.md), [059 agent-transcript-snapshots](../059-agent-transcript-snapshots/000-plan.md), [060 cli-targeting-and-contract-governance](../060-prowl-cli-targeting-and-contract-governance/000-plan.md), [#473](https://github.com/onevcat/Prowl/issues/473), [#676](https://github.com/onevcat/Prowl/issues/676), `docs/components/agent-detection.md`, `docs/components/cli.md` | ## Background @@ -241,10 +241,16 @@ opencode; partial for qodercli/qwen/amp; docs/bundle for the rest). Key conclusi - S3 hook self-check grace defaults (Claude's trust-dialog hold suggests a generous, state-aware grace rather than a fixed few seconds). - Re-verification cadence: the matrix is versioned per row; S3 adapters need fixture tests - that fail loudly when a CLI's hook syntax changes. + that fail loudly when a CLI's hook syntax changes. Tracked as #726 (T0 attestation in R2a, + T1 headless contract tests in R2b). ## Amendments +- Updated 2026-08-29: shipped in v2026.8.29 with 063's R1. Two follow-ups are scheduled as + slices in the shared [release plan](../063-agent-workflows/release-plan.md): #733 + (`prowl agents dispatch --prompt -`, one pending dispatch per surface, completion + resolved from the caller's ancestry) in R2a, and #726 (T0 version attestation in R2a, T1 + headless contract tests in R2b before 063-D2). - Updated 2026-08-29: idle evidence fallback after a second end-to-end pass over the `prowl-cli` skill — Claude's `idle_prompt` notification is no longer decoded as `needs-input` (it displaced the `turn-ended` level and woke `changed` waits on idle panes), diff --git a/docs-ai/065-bundled-agent-skills/000-plan.md b/docs-ai/065-bundled-agent-skills/000-plan.md index ae6ee5b2..ace2a579 100644 --- a/docs-ai/065-bundled-agent-skills/000-plan.md +++ b/docs-ai/065-bundled-agent-skills/000-plan.md @@ -2,9 +2,9 @@ | | | | --- | --- | -| **Status** | Implemented — S0, K1 (#729), K2 (#730), and K3 complete; see [001-action.md](001-action.md) | +| **Status** | Implemented — S0, K1 (#729), K2 (#730), and K3 (#731) shipped in v2026.8.29; the hosting page is now CLI & Skills (#735); see [001-action.md](001-action.md) | | **Anchor date** | 2026-08-22 | -| **Primary PRs** | #712 (plan); #729 (K1); #730 (K2); #731 (K3) | +| **Primary PRs** | #712 (plan); #729 (K1); #730 (K2); #731 (K3); #735 (page rename) | | **Related** | [063-agent-workflows](../063-agent-workflows/000-plan.md) (D1 `skill:` materialization, D1–D3 new skills), [060-prowl-cli-targeting-and-contract-governance](../060-prowl-cli-targeting-and-contract-governance/000-plan.md) (four-layer CLI rule), [013-prowl-cli](../013-prowl-cli/000-plan.md), `docs/components/cli.md`, `skills/prowl-cli/SKILL.md` | ## Background diff --git a/docs-ai/065-bundled-agent-skills/001-action.md b/docs-ai/065-bundled-agent-skills/001-action.md index 26a4abe7..245c5a48 100644 --- a/docs-ai/065-bundled-agent-skills/001-action.md +++ b/docs-ai/065-bundled-agent-skills/001-action.md @@ -9,6 +9,7 @@ | 2026-08-27 | K1 merged: `embed-skills` staging, `Resources/skills` folder reference, Foundation-only `ProwlSkills` registry with the frontmatter parser and `metadata.prowl-install` audience, CLI bundle resolution, typed errors. | #729, [003-k1-bundle-registry.md](003-k1-bundle-registry.md) | | 2026-08-27 | K2 merged after four review rounds and an owner-authorized real-environment check: shared `SymlinkInstaller` (extracted from `CLIInstallClient`, adds `broken`), declarative `SkillInstallTarget`, `ProwlSkillInstaller`, local-only `prowl skills list\|install\|uninstall\|path` with contract, schema, manual, and skill line; aliased targets handled by re-reading each slot. | #730, [004-k2-skill-installer-cli.md](004-k2-skill-installer-cli.md) | | 2026-08-28 | K3: `SkillInstallClient`, `AgentSkillsFeature`, and the Agent Skills section on Settings › Agents › Command Line Tool; `settings.md` / `cli.md` updated; 065 complete. | #731, [005-k3-settings-agent-skills.md](005-k3-settings-agent-skills.md) | +| 2026-08-29 | Shipped in v2026.8.29. The hosting page was renamed from Command Line Tool to **CLI & Skills**; the records above keep the name they were written under. | #735 | ## Outcome & current state (as of 2026-08-28) diff --git a/docs-ai/README.md b/docs-ai/README.md index 049dc0ed..535edbd6 100644 --- a/docs-ai/README.md +++ b/docs-ai/README.md @@ -121,4 +121,4 @@ agent-facing manual for that). | 062 | [workspace-child-diff](062-workspace-child-diff/000-plan.md) | 2026-08-19 | Per-repository diff for workspace children via unified DiffTarget routing | | 063 | [agent-workflows](063-agent-workflows/000-plan.md) | 2026-08-21 | Agent Workflows: YAML-declared, profile-bound multi-agent orchestration (runner, `prowl workflow` CLI, status center, built-in handoff/adversarial review); successor to 047's fixed handoff flow | | 064 | [agent-completion-signals](064-agent-completion-signals/000-plan.md) | 2026-08-22 | Layered agent signal bus (cooperative / launch-scoped hooks / transcript+process+OSC / heuristic), `prowl agents signal` + `agents wait` with source/confidence, per-runtime hook research | -| 065 | [bundled-agent-skills](065-bundled-agent-skills/000-plan.md) | 2026-08-22 | Bundle Prowl's official agent skills into the app, `prowl skills` install/uninstall via symlinks into agent skill folders, Agent Skills section on Settings › Command Line Tool, shared registry for 063 | +| 065 | [bundled-agent-skills](065-bundled-agent-skills/000-plan.md) | 2026-08-22 | Bundle Prowl's official agent skills into the app, `prowl skills` install/uninstall via symlinks into agent skill folders, Agent Skills section on Settings › CLI & Skills, shared registry for 063 |