Skip to content

Show the plan each CLI reports and save a turn's task record to Notes (CF-7, first part) - #289

Merged
BunsDev merged 5 commits into
mainfrom
cf7-task-plan
Oct 18, 2026
Merged

BunsDev merged 5 commits into
mainfrom
cf7-task-plan

Conversation

@BunsDev

@BunsDev BunsDev commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

Part of #280 (CF-7): the part that does not need #276 (CF-3). It builds on #282, #284 and #287. Clarification through question cards waits for CF-3, so #280 stays open.

What changes

  • Native plans as typed plan updates.

    • Codex turn/plan/updated (codex-cli 0.163.0: pending, inProgress, completed, plus an optional explanation) and Claude Code's TodoWrite todos (pending, in_progress, completed) become plan.update observations.
    • A status Modex does not know becomes unknown.
    • Each update is a revision of one plan item per turn. The item never folds away, and takes the turn's outcome when the turn ends.
  • Honest statuses. "completed" stays what the CLI reported ("Reported done"). Nothing is marked verified.

  • The plan card lists steps as Not started, In progress, Reported done or Status unknown, with where the plan came from and its revision.

  • The task record (shared/task-context.ts) contains:

    • the request and the latest plan
    • changed files relative to the project (files outside it are counted, not named)
    • commands with outcome and exit code
    • the answer, and what is not settled
    • a backlink to the thread

    It leaves out reasoning, command output and outside paths.

  • Save to Notes (task:save-note, ThreadRunner.saveTaskNote): explicit, per finished turn. It writes into the thread's project notes as a human change.

    • Saving again updates the same note.
    • A note edited since is kept, and this version becomes a new note.
    • The thread remembers each turn's note in the main-owned taskNotes field.
  • The phone gets a plan as steps plus "Plan · 1 of 2 reported done", which older builds show as text.

  • Docs: docs/task-context.md, and status.

Evidence

Base d3711c6, head 3b66524 (four signed commits). The rebase over the CF-5 merge left the tree byte-identical; the checks below ran on that tree, at 39b7c7d.

  • Red first:
    • test/task-context.test.ts: the module and observation didn't exist; the saveTaskNote test failed for its missing method.
    • e2e/task-to-notes.spec.ts: both tests failed before the UI.
  • pnpm test: the first stage ran 1,539 tests, with 1,522 passed, 16 skipped and 1 failed. The failure was "knowledge does not adopt failed, unready, unidentified, or UI-less servers"; it passed 2 of 2 alone. The run had stopped there, so the second stage wasn't reached.
  • Focused e2e: 50 passed and 1 failed, covering task-to-notes, conversation-evidence, typed-turns, sources, app, agents, event-journal, space-fit and companion. The failure was the app.spec accessibility test's sidebar step, where two "Chat details" dialogs were open at once; it passed 2 of 2 alone.
  • Both failures came at a load average of about 200 and are outside this change.

Not covered here (#280 stays open)

Codex's turn/plan/updated (pending, inProgress, completed, and an
optional explanation) and Claude Code's TodoWrite todos (pending,
in_progress, completed) become plan.update observations; a status Modex
does not know is unknown. Each update is a revision of one plan item
per turn, which never folds away and takes the turn's outcome when the
turn ends. "completed" stays what the CLI reported; nothing is marked
verified. The phone receives a plan as steps plus a text summary
("Plan · 1 of 2 reported done") that older builds show as is.

Refs #280

Coven-Harness: Claude Code / claude-opus-5-5
taskRecord/taskMarkdown summarise one turn: request, latest plan,
changed files relative to the project (files outside it are counted,
not named), commands with outcome and exit code, the answer and what is
not settled, with a backlink to the thread. No reasoning, output or
outside paths. task:save-note (ThreadRunner.saveTaskNote) writes it into
the thread's project notes as a human change; saving again updates the
same note, unless it was edited since, when the edit stays and this
version becomes a new note. The thread remembers each turn's note.

Refs #280

Coven-Harness: Claude Code / claude-opus-5-5
… turn

TaskPlanCard lists each step as Not started, In progress, Reported done
or Status unknown, with where the plan came from and its revision.
Under each finished turn, Save to Notes (then Update note) saves the
turn's record and offers Open. e2e/task-to-notes.spec.ts failed on both
tests before this and passes now.

Refs #280

Coven-Harness: Claude Code / claude-opus-5-5
Refs #280

Coven-Harness: Claude Code / claude-opus-5-5
@vercel

vercel Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
modex Ready Ready Preview Oct 18, 2026 10:33am UTC

Request Review

The offline store demo has no Notes, so task:save-note is unavailable there like the other knowledge commands. CI's full build caught the missing handler.

Coven-Harness: Claude Code / claude-opus-5-5
@github-code-quality

Copy link
Copy Markdown

Code coverage overview

Languages: TypeScript

TypeScript / code-coverage-agent

main d3711c6 cf7-task-plan 7a996f7 +/-
62% 63% +1%
View coverage of the 10 most impacted files.
File main d3711c6 cf7-task-plan 7a996f7 +/-
apps/desktop/sr...ation-events.ts 98% 98% 0%
apps/desktop/sr...ngine/runner.ts 99% 99% 0%
apps/desktop/sr...kends/claude.ts 97% 97% 0%
apps/desktop/sr...ain/commands.ts 86% 86% 0%
apps/desktop/sr...ne/companion.ts 97% 97% 0%
apps/store-desk...rc/main/demo.ts 95% 95% 0%
apps/desktop/sr.../notes-store.ts 98% 98% 0%
apps/desktop/sr...askPlanCard.tsx 0% 0% 0%
apps/desktop/sr...ckends/codex.ts 96% 97% +1%
apps/desktop/sr...task-context.ts 0% 98% +98%

ℹ️ Calculations represent line coverage. Results may change as calculations are updated.

@BunsDev
BunsDev merged commit f6976df into main Oct 18, 2026
13 checks passed
@BunsDev
BunsDev deleted the cf7-task-plan branch October 18, 2026 11:07
BunsDev added a commit that referenced this pull request Oct 18, 2026
Coven-Harness: Claude Code / claude-opus-5-5
BunsDev added a commit that referenced this pull request Oct 18, 2026
Brings in #289 (CF-7, first part) before the next steward commit.

Coven-Harness: Claude Code / claude-opus-5-5
BunsDev added a commit that referenced this pull request Oct 18, 2026
Val decided on #290: Known rough edges keeps only open problems. Six fixed
incidents move, word for word, to docs/reviews/2026-10-18-resolved-rough-edges.md,
each under the PR that fixed it (#153, #189, #190, #197, #204, #265 and #271).
The section now links to them.

Entries with an open part stay: the layout e2e note, the demo-thread and sizing
test corrections whose causes are unproven, and the poisoned ChatGPT threads.
Also: node-pty's line says Modex still ships the beta, the demo-thread note no
longer waits on a merge that happened (#189), and the tracker pointers list the
open CF PRs after #289 landed.

Coven-Harness: Claude Code / claude-opus-5-5
BunsDev added a commit that referenced this pull request Oct 18, 2026
Coven-Harness: Claude Code / claude-opus-5-5
BunsDev added a commit that referenced this pull request Oct 18, 2026
The only conflict was claude.ts's import of conversation-event types.
It keeps CF-2's ApprovalAnswer and adds CF-7's PlanStepStatus. CF-7's
TodoWrite plan observation sits in handle(), apart from CF-2's
lifecycle code.

Refs #275

Coven-Harness: Claude Code / claude-opus-5-5
BunsDev added a commit that referenced this pull request Oct 18, 2026
…ycle 1) (#292)

* Record what shipped in plans, specs, README and status

Docs and plans steward, cycle 1 (#290).

- Plans: a status line on each ledger under docs/superpowers/plans/ and on
  docs/mac-store-preview-plan.md, naming the PRs and release that delivered it.
  Unticked boxes stay as history rather than being ticked after the fact.
- Specs: routines (Phases 0 and 1 on main), sticky Auto routing (shipped in
  v0.0.11) and approval rules (parts 1 and 2 shipped, gate off).
- README: app-owned sign-in, self-updating Macs from v0.0.12, Windows and Linux
  installers from v0.1.0, Images and Plugins no longer marked unreleased.
- status.md: the site's static fallback follows apps/site/release.json; the
  delivered release-candidates entry leaves In flight for a pointer to tracker
  #273; Next 3 points to #286.

Coven-Harness: Claude Code / claude-opus-5-5

* Bring reference docs in line with main and the releases

Docs and plans steward, cycle 1 (#290). Each change was checked against the
code on main, a release section of status.md or a review.

- Shipped work no longer reads as pending: the approval rules editor (v0.0.7),
  Modex sign-in (v0.0.9), 1Password filling (v0.0.11), the notes folder
  (v0.1.0), the hosted native updater scenarios and the first
  published-to-published upgrade, and Windows/Linux publication.
- Behaviour matches the code: Windows and Linux show no update banner; Auto's
  judge sees a placeholder for assistant replies and runs `jev` with one
  attempt; Claude's model list is Modex's fixed aliases; the Settings sections
  and transport labels; Space options → Agent notes; the companion's policy
  route and current version; the knowledge fence for overlapping folders; CI's
  e2e runs the unpackaged build.
- The Store record and processed 0.0.8 package are recorded under gate 5.

Coven-Harness: Claude Code / claude-opus-5-5

* Close the two finished In flight entries and add the GitHub App to Next

Val decided on #290: the local work recovery and retired worktrees entries
are done, so they leave In flight. The recovery audit and the archive
READMEs keep their record. Their one open item, repository authorization
through a GitHub App, becomes Next 4, ahead of the out-of-scope Cloud tasks.

Coven-Harness: Claude Code / claude-opus-5-5

* Move fixed rough edges into a dated review

Val decided on #290: Known rough edges keeps only open problems. Six fixed
incidents move, word for word, to docs/reviews/2026-10-18-resolved-rough-edges.md,
each under the PR that fixed it (#153, #189, #190, #197, #204, #265 and #271).
The section now links to them.

Entries with an open part stay: the layout e2e note, the demo-thread and sizing
test corrections whose causes are unproven, and the poisoned ChatGPT threads.
Also: node-pty's line says Modex still ships the beta, the demo-thread note no
longer waits on a merge that happened (#189), and the tracker pointers list the
open CF PRs after #289 landed.

Coven-Harness: Claude Code / claude-opus-5-5

* Move status.md's release sections into their release reviews

Val decided on #290: status.md keeps the Shipped table as the index, and each
release's details live in its review. The v0.0.6 to v0.1.0 sections (651 lines)
move unchanged to a "Status summary" section at the end of each review. Only link
targets change, so they resolve from docs/reviews/. status.md drops from 1,060 to
388 lines.

The Shipped rows now link their reviews. Four links that pointed at the old
release anchors now point at the reviews. A new convention and step 1 of the
release procedure say where a release's details go from now on.

Coven-Harness: Claude Code / claude-opus-5-5

* Trim the Mac App Store entry to its current state

Val decided on #290. The 52-line In flight entry becomes 15 lines: what Apple
shows, what signed acceptance covered, and what is open, each linked to its
receipt. The old entry moves unchanged to a "Status summary" section of the
October 11 signed-acceptance review, with links re-based to docs/reviews/.

The short entry drops two statements that no longer hold. The iPhone CI failures
have been diagnosed (resolved rough edges), and the Store recovery changes are
on main (edf52fc, #173).

Coven-Harness: Claude Code / claude-opus-5-5

This branch was successfully deployed

1 active deployment
Preview — 7a996f7c Deployed Oct 18, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant