Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
14 commits
Select commit Hold shift + click to select a range
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
26 changes: 12 additions & 14 deletions cocoder/PRIORITIES.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,23 @@ Slim index of active and archived priorities. Open a priority's folder for detai

| Slug | Description | Status | Canon | Owner | Blocked on |
|---|---|---|---|---|---|
| [`v0.1-foundation`](./priorities/v0.1-foundation/README.md) | Ship CoCoder v0.1 — extraction, Oz MVP, docs, public publish | Active | Expand — **Sub-Playbook D activated**; D Solve next. Suite **335/335** (+ dashboard 8/8). | Bob + founder | **Next:** D Solve. B/C Refines parallel (founder). |
| [`v0.1-foundation`](./priorities/v0.1-foundation/README.md) | Ship CoCoder v0.1 — extraction, Oz MVP, docs, public publish | Active | Expand — **D Milestone 1 docs COMPLETE 2026-05-27** (all 6 D-M1 docs authored; ADR-0001 §6 footnote fixed, D-M1.9). External stranger test removed from scope (PD-Q1 revised). Suite **335/335** (+ dashboard 8/8). | Bob + founder | **Next (needs wider boundary):** D-M1.7 `ARCHITECTURE.md` + D-M1.8 `README.md` (repo-root) → D-S2 CI gates (`.github/`) → D-S1 internal-proxy → `v0.1.0` tag. B/C Refines parallel (founder). |
| [`v0.4-oz-control-plane`](./priorities/v0.4-oz-control-plane/README.md) | Oz control plane — chat command interface + run oversight; 5-nav UI per ADR-0008 | Active | **Design spec landed 2026-05-27** (`docs/oz-control-plane-design/`); ADR-0010 + build plan next. | Bob + founder | Sequencing vs v0.2/v0.3 — founder. |

## Draft

| Slug | Description | Status | Canon | Owner | Sequenced |
|---|---|---|---|---|---|
| [`v0.2-adapter-extensibility`](./priorities/v0.2-adapter-extensibility/README.md) | Beyond local CLI models — cloud APIs (Anthropic Messages, Kimi K2.6), managed sessions (Cursor SDK), etc. | Draft | — | Bob + founder | After v0.1-foundation Complete **and now after v0.3-workspace-lifecycle** (2026-05-26 resequence). Depends on Sub-Playbook C Oz dashboard. Authored 2026-05-22 per founder ask. |
| [`v0.3-workspace-lifecycle`](./priorities/v0.3-workspace-lifecycle/README.md) | Onboard into new/existing projects, manage multi-root workspaces, secure project secrets — via Oz | Draft | — | Bob + founder | **Sequenced before v0.2** (2026-05-26). Near-term "Dogfood Loop Enablement" slice first. Depends on Oz dashboard (Sub-Playbook C). ADR-0007 accepted. |
| [`v0.4-oz-control-plane`](./priorities/v0.4-oz-control-plane/README.md) | Oz as a real control plane — in-app chat command interface + run oversight/debugger; UI per ADR-0008 | Draft | — | Bob + founder | Founder decision. Depends on the claude.ai/design output + ADR-0008. Stub authored 2026-05-27. |
| [`v0.3-workspace-lifecycle`](./priorities/v0.3-workspace-lifecycle/README.md) | Onboard into new/existing projects, manage multi-root workspaces, secure project secrets — via Oz | Draft | — | Bob + founder | **Follow-on to v0.4** — engaged when v0.4 wires the Workspaces screen; v0.3 owns the capabilities (onboarding, secrets, greenfield/brownfield) the UI drives. ADR-0007 accepted. |

## Recently Archived

*(none yet — see `priorities/zArchive/INDEX.md` once populated)*
| Slug | Reason | Date |
|---|---|---|
| `v0.2-adapter-extensibility` | Founder decided not to pursue cloud/managed adapters in this roadmap. | 2026-05-27 |
| `v0.6-cocoder-ide` | Folded into v0.4 — the embedded Electron terminal is a later phase of the control plane, not a separate priority. | 2026-05-27 |

See [`priorities/zArchive/INDEX.md`](./priorities/zArchive/INDEX.md).

---

Expand All @@ -46,22 +50,16 @@ Slim index of active and archived priorities. Open a priority's folder for detai
3. **Sub-Playbook B activation** — Witness/Interrogate/Solve-target for adopter onboarding (workspace template + `cocoder init` + getting-started doc). Multi-session work; the marquee remaining v0.1 deliverable.

**Recommended next-session ordering:** Item 1 → Item 2 (in batches) → Item 3 (Witness/Interrogate only). The completion plan has an appendix with a verbatim resume prompt for fresh-session pickup. **Done = ticket 0001 closed, M4 free-wins all `[x]` or marked deferred-to-v0.2, Sub-Playbook B Witness populated + Status flipped to Active.**
**Status:** Active — Refine. Sub-Playbook F Complete 2026-05-23. Sub-Playbook B Expand merged (PR #33 → `9bf2433`). Sub-Playbook C Expand complete 2026-05-23 (PRs #42–#47 → `f46dcff`). **Sub-Playbook D activated 2026-05-24** (Witness/Interrogate/Solve-target). B/C Refines parallel-tracked (founder). Suite **335/335** (+ oz-dashboard **8/8**). See [`priorities/v0.1-foundation/README.md`](./priorities/v0.1-foundation/README.md).

### [v0.2-adapter-extensibility](./priorities/v0.2-adapter-extensibility/README.md)
**Owner:** Bob + founder
**Summary:** Beyond local CLI models — add adapter kinds for cloud APIs and managed remote sessions.
**What:** Extend the adapter system from a single `kind: llm-cli` shape (local tmux-driven CLI) to a richer enum (`llm-cli`, `llm-api`, `llm-managed-session`, `script`) with per-kind runner contracts. Motivating examples: Cursor SDK Background Agents, cloud Kimi K2.6 over HTTP, Anthropic Messages API. Personas, routes, write boundaries, and the `job-result` contract stay unchanged.
**Status:** Draft. Sequenced after v0.1-foundation Complete (depends on Sub-Playbook C Oz dashboard for non-pane lane visibility). Authored 2026-05-22 mid-session per founder ask. See [`priorities/v0.2-adapter-extensibility/README.md`](./priorities/v0.2-adapter-extensibility/README.md).
**Status:** Active — Refine. Sub-Playbook F Complete 2026-05-23. Sub-Playbook B Expand merged (PR #33 → `9bf2433`). Sub-Playbook C Expand complete 2026-05-23 (PRs #42–#47 → `f46dcff`). **Sub-Playbook D activated 2026-05-24** (Witness/Interrogate/Solve-target). **D Milestone 1 docs COMPLETE 2026-05-27 (run zx0s33ag):** all 6 D-M1 docs authored — `faq.md` (D-M1.5) + `getting-started.md` (D-M1.1) landed in run suesc2sq; `orchestration.md` (D-M1.2), `personas.md` (D-M1.3), `oz.md` (D-M1.4), `freshness-policy.md` (D-M1.6) authored this run (Bob); ADR-0001 §6 `.command` footnote fixed (D-M1.9, founder option (i)). **Scope change:** external stranger test removed from v0.1 (PD-Q1 revised 2026-05-27); internal-proxy dry-run (D-S1) retained. **Remaining for v0.1 (need wider write boundary):** D-M1.7 `ARCHITECTURE.md` verify + D-M1.8 `README.md` adopter rewrite (repo-root, out of this run's boundary), D-S2 public-readiness CI gates (`.github/`), D-S1 internal-proxy readiness, then `v0.1.0` tag. B/C Refines parallel-tracked (founder). Suite **335/335** (+ oz-dashboard **8/8**). See [`priorities/v0.1-foundation/README.md`](./priorities/v0.1-foundation/README.md).

### [v0.3-workspace-lifecycle](./priorities/v0.3-workspace-lifecycle/README.md)
**Owner:** Bob + founder
**Summary:** Onboard CoCoder into new/existing projects, manage multi-root workspaces, and secure per-project secrets — all through Oz.
**What:** Six work items: (1) secure per-project API tokens **inside** the project's `cocoder/` repo folder (open ADR); (2) brownfield onboarding — build the `cocoder/` folder inside an existing repo and audit its architecture/process/env using multiple CLIs + sub-agents; (3) greenfield — scaffold a new product from scratch; (4) add/edit multi-root workspaces with a `description` (`Primary:`/`Helper:`) per folder so Oz picks the primary root vs helpers; (5) store `.code-workspace` files in `cocoder/local/` (decided, ADR-0007); (6) Oz as the control plane surfacing all of the above. CoCoder is always a root in every workspace.
**Status:** Draft. **Sequencing DECIDED 2026-05-26 — v0.3 runs before v0.2-adapter-extensibility** (near-term "Dogfood Loop Enablement" slice first). Depends on Sub-Playbook C Oz dashboard. Artifacts landed: `cocoder/local/CoCoder.code-workspace` + [ADR-0007](./decisions/0007-workspace-files-and-multiroot-description.md); Oscar-led dogfood loop wired + verified live. Authored 2026-05-26 per founder ask. See [`priorities/v0.3-workspace-lifecycle/README.md`](./priorities/v0.3-workspace-lifecycle/README.md).
**Status:** Draft — **follow-on to v0.4-oz-control-plane** (engaged when v0.4 wires the Workspaces screen / workspace management). v0.3 owns the under-the-hood capabilities the Workspaces UI drives: onboarding (greenfield/brownfield), per-project secrets, multi-root management. Near-term "Dogfood Loop Enablement" slice COMPLETE (Oscar-led loop wired + verified live); ADR-0007 accepted; `cocoder/local/CoCoder.code-workspace` landed. (v0.2 archived 2026-05-27 — the earlier "before v0.2" sequencing is moot.) See [`priorities/v0.3-workspace-lifecycle/README.md`](./priorities/v0.3-workspace-lifecycle/README.md).

### [v0.4-oz-control-plane](./priorities/v0.4-oz-control-plane/README.md)
**Owner:** Bob + founder
**Summary:** Turn Oz into a real operator control plane — a per-workspace, in-dashboard headless chatbot that is the primary command interface and the primary watcher/debugger for every run.
**What:** Build the Oz UI per [ADR-0008](./decisions/0008-oz-control-plane-architecture.md) (Dashboard with Oz chat + drag-reorder priorities + ad-hoc run launcher; Workspaces with primary/writable/read-only roots; CLIs with Test; Personas with CLI/model + sub-agent hierarchy + visible/headless; Runs list+detail; Settings) plus the Oz oversight/debugger mechanism. Screen/flow brief + design prompt in `docs/oz-design-brief.md`. Root roles per ADR-0007 (revised 2026-05-27).
**Status:** Draft (stub). Founder decision on sequencing. Depends on the claude.ai/design output + ADR-0008. Authored 2026-05-27 per founder ask. See [`priorities/v0.4-oz-control-plane/README.md`](./priorities/v0.4-oz-control-plane/README.md).
**Status:** Active — **design spec landed 2026-05-27** at `docs/oz-control-plane-design/` (high-fidelity React prototype = source of truth for *what*; reference, not production). Next: ADR-0010 (pause/resume run primitive, `cocoder attach`, transcript streaming, persona-roster reconciliation incl. new "Doc", in-app update channels) → build plan → implement. Designer notes at [`priorities/v0.4-oz-control-plane/designer-notes.md`](./priorities/v0.4-oz-control-plane/designer-notes.md). Embedded Electron terminal harness is the spec's deferred "v2" → v0.6. Authored 2026-05-27 per founder ask. See [`priorities/v0.4-oz-control-plane/README.md`](./priorities/v0.4-oz-control-plane/README.md).
31 changes: 31 additions & 0 deletions cocoder/SESSION_LOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,37 @@ Append-only log of work sessions. New entries at the **top**. One entry per mean

---

## 2026-05-27 — **D Milestone 1 docs complete (4 docs + ADR-0001 fix); external stranger test removed from v0.1 scope**

**Persona:** Oscar (lead) + Bob (builder, codex) | **Priority:** v0.1-foundation | **Plan:** [`plans/2026-05-21-docs-publish.plan.md`](./priorities/v0.1-foundation/plans/2026-05-21-docs-publish.plan.md) | **Run:** zx0s33ag

**Outcomes:**
- Bob authored the 4 remaining D-M1 docs: `docs/orchestration.md` (D-M1.2), `docs/personas.md` (D-M1.3), `docs/oz.md` (D-M1.4), `docs/freshness-policy.md` (D-M1.6). Oscar verified: correct topics + cross-links, `oz.md` summarizes rather than duplicates the C-Expand security/launch docs, freshness panel marked deferred-to-v0.2; `check-doc-refs` **0 missing refs** across 34 in-scope refs (Class B).
- Oscar fixed **D-M1.9**: ADR-0001 decision 6 `.command` reference now carries a dated inline footnote (founder chose option (i), not a new ADR), pointing at ticket 0001 Path B + terminal-only CLI/Oz launch surfaces.
- **Scope decision (founder):** external stranger-test recruit **removed** from v0.1 — "never should have been a requirement." PD-Q1 revised; Milestone 3 (D-M3.1–D-M3.3) struck. Internal-proxy dry-run (D-S1) retained as the doc-readiness check.
- Found the prior run's (suesc2sq) D-doc work had been committed as `3cbadd4` mid-session by a concurrent actor; did **not** duplicate it. Unrelated dirty `PrioritiesPage.tsx` left untouched.

**Next:** Remaining v0.1 items need a **wider write boundary** than this run had: D-M1.7 `ARCHITECTURE.md` verify + D-M1.8 `README.md` adopter rewrite (repo-root), D-S2 CI gates (`.github/`), D-S1 internal-proxy readiness, then `v0.1.0` tag. **Still entangled:** v0.1 docs + v0.4 control-plane work share governance files on branch `oz-control-plane-design` — main-merge strategy is a founder call (see result).

---

## 2026-05-27 — **D doc prereqs landed (faq.md + getting-started.md); D-S2 CI gates deferred (write boundary)**

**Persona:** Oscar (lead) + Bob (builder) | **Priority:** v0.1-foundation | **Plan:** [`plans/2026-05-21-docs-publish.plan.md`](./priorities/v0.1-foundation/plans/2026-05-21-docs-publish.plan.md) | **Run:** suesc2sq

**Outcomes:**
- Founder chose **Option B**: do the in-boundary D-Solve doc prerequisites this session; defer the CI gate wiring.
- Bob authored `docs/faq.md` (**D-M1.5**, minimal PD-Q4=A: commercial use, commit guidance, trademark note, zero-telemetry PD-Q5=A, Syncthing secrets warning) and extended `docs/getting-started.md` (**D-M1.1**: clean-clone → `cocoder init` out-of-tree → compose-launch → CLI + Oz launch, install-vs-workspace storage-zone diagram, cross-links to `oz-launch.md`/`oz-security-checklist.md`).
- Oscar verified vs spec: all referenced CLI commands (`init`, `audit-workspace`, `refresh-memory`, `compose-launch`, `launch`, `validate-contracts`, `oz`) and cross-linked docs exist; `check-doc-refs` 0 missing refs on both files; zero `.github/` changes.
- **Boundary conflict surfaced + accepted:** D-S2 (gitleaks + LICENSE/NOTICE + faq gates) is a `.github/workflows/ci.yml` edit; `.github/` is excluded from both lanes in this run, so gate wiring is not possible here.
- Unrelated dirty `packages/oz-dashboard/src/pages/PrioritiesPage.tsx` left untouched.

**Next:** **D-S2** CI gate wiring needs a run whose write boundary includes `.github/` (founder boundary decision — see Option A). Then **D-S1** internal-proxy readiness run against the new getting-started path. Do not schedule external stranger test until D-S1 green.

**Log gap flag:** the control-plane / ADR-0012 work on branch `oz-control-plane-design` (oscar-lead route + priority boundaries, Oscar write-enable) landed since the 2026-05-24 entry but is not logged in detail here — reconcile in a v0.4-oz-control-plane session.

---

## 2026-05-24 — **Sub-Playbook D activated (Witness/Interrogate/Solve-target); PD-Q1..PD-Q7 answered**

**Persona:** AI (Bob) | **Priority:** v0.1-foundation | **Plan:** [`priorities/v0.1-foundation/plans/2026-05-21-docs-publish.plan.md`](./priorities/v0.1-foundation/plans/2026-05-21-docs-publish.plan.md)
Expand Down
4 changes: 3 additions & 1 deletion cocoder/decisions/0001-storage-and-license.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ CoCoder must be public OSS with user preferences that survive upstream updates,

5. **Oz:** Master orchestration persona; no separate brand. UI uses Fusion design tokens only.

6. **Platform v0.1:** macOS-first (iTerm2 + `.command` wrappers); git clone + pnpm distribution.
6. **Platform v0.1:** macOS-first (iTerm2 + `.command` wrappers); git clone + pnpm distribution.[^platform-v01-update]

7. **Multi-workspace:** Per-workspace tmux socket namespace, managed by Oz registry.

Expand All @@ -34,3 +34,5 @@ CoCoder must be public OSS with user preferences that survive upstream updates,
- Document multi-machine sync of `local/` via filesystem sync, not git.
- MPL/custom license FAQ deferred; Apache FAQ covers commercial use of CoCoder as a tool.
- Talia/Quinn split documented in ADR-0002 (persona boundaries).

[^platform-v01-update]: **Updated 2026-05-27 (D-M1.9; founder chose option (i) — inline footnote, not a new ADR amendment).** The `.command` wrapper mechanism in decision 6 above was retired per ticket [`0001-cocoder-command-wrapper-decision`](../tickets/closed/0001-cocoder-command-wrapper-decision.md) (Path B). v0.1 launch surfaces are terminal-only: the `cocoder` CLI plus the Oz orchestration launcher. macOS-first and git-clone/pnpm distribution are unchanged.
4 changes: 3 additions & 1 deletion cocoder/decisions/0008-oz-control-plane-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ v0.1 ships CoCoder terminal-only, and the dogfood loop now works end to end: lau
4. **GUI ⇄ Oz parity.** Every GUI action (launch, reorder, edit) is also expressible as an Oz instruction, and the reverse; the two stay in sync (e.g. priorities are drag-reorderable in the GUI *and* reorderable by asking Oz).
5. **Orchestration sessions execute externally.** Oscar/Bob/etc. run in iTerm today (an embedded Electron terminal harness later). Oz observes and controls them — status, transcript, evidence, stop, attach — but does not embed the live terminals yet.
6. **Persona execution model.** Each persona binds to a **CLI (adapter) + model** (with a `default` option that defers to the CLI's own default); a persona may delegate to **sub-agents/services that each independently select CLI + model** (a configuration hierarchy); each persona has a **visible | headless** run mode. Oz itself is headless.
7. **Oz surfaces** (top-level navigation), never exposing raw JSON: **Dashboard** (workspace picker, Oz chat, priorities with drag-reorder + an "ad-hoc run" launcher above the list), **Workspaces** (roots + roles), **CLIs** (register + Test), **Personas** (CLI/model + sub-agent hierarchy + visible/headless + "new persona via priority"), **Runs** (list + detail), **Settings** (human-friendly forms only).
7. **Oz surfaces** — exactly **five** top-level navigation items, never exposing raw JSON: **Dashboard**, **Workspaces** (roots + roles), **CLIs** (register + Test), **Personas** (CLI/model + sub-agent hierarchy + visible/headless + "new persona via priority"), **Settings** (human-friendly forms only). There is no standalone Runs page and no standalone Priorities page.
8. **The Dashboard is the operator's hub, built around the Oz chat as the command center.** The Oz conversation is the primary surface; **priorities** (ordered list, drag-reorder, + an "ad-hoc run" launcher above the list) and **runs** (what's running now / recent, with run detail — transcript, evidence, status, stop, attach — opening in place) are **supporting panels inside the Dashboard**, not separate screens. This follows from Oz being the per-workspace watcher (decision 3): the founder watches and drives runs from the Dashboard, through Oz.

## Consequences

Expand All @@ -34,3 +35,4 @@ v0.1 ships CoCoder terminal-only, and the dogfood loop now works end to end: lau
- **Oz as a passive status board** (buttons only; chat advisory) — rejected; the founder chose chat-as-primary-command-interface.
- **Embed live orchestration terminals in Oz now** — deferred to the Electron terminal harness; keeping sessions external in iTerm keeps v0.x shippable.
- **Per-tool screens with no unifying control plane** — rejected; Oz is the single operator surface.
- **Six-section nav with standalone Runs + Priorities screens** (an earlier draft of this ADR / `docs/oz-design-brief.md`) — rejected; it mirrored the current shipped app rather than the founder's intent. Runs and Priorities are panels inside the Dashboard, because Oz watches runs and the founder works from the Dashboard conversation.
Loading
Loading