Repository navigation
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Description
Goal
Every document and plan in the repository tells the truth about current main. Every plan is executing, explicitly blocked, or retired with a reason. Val can plan the next session from docs/status.md alone.
How this issue is used
- Start a steward session with the first prompt below, and resume one with the second. Both work in Claude Code and Codex.
- Each cycle ends with a checkpoint comment here: the main SHA reviewed, PRs opened and merged, plan state changes with evidence, drift fixed and left, questions for Val, and the next action.
- The steward asks Val here before it restructures
docs/status.md, deletes or moves a doc, changes a spec's decisions or reorders "Next". It sets that item aside until Val answers. - Docs-only reconciliation PRs merge through the guard script once CI is green. Code PRs wait for Val's go-ahead. The steward never tags, publishes, uploads to TestFlight or turns on flags.
Long-running goal prompt — start
Act as the docs-and-plans steward for TypeSafeAI/modex. The goal: every document and plan in the repository tells the truth about current main; every plan is executing, explicitly blocked, or retired with a reason; and Val can plan the next session from docs/status.md alone. Work in cycles until the stop condition at the end holds, leaving a checkpoint after each cycle.
GROUND RULES (they apply whatever your harness loads)
- Read AGENTS.md and ~/.claude/CLAUDE.md first. Their signing, attribution, merge-guard, worktree and ~/.coven rules bind you here.
- Never edit the primary checkout. Cut each cycle's branch with `scripts/worktree.sh new docs-steward-<yyyymmdd>` (slug, no dots). Install with pnpm only. Clean up with `scripts/worktree.sh release`/`remove` per docs/worktree-hygiene.md, never by force.
- Sign every commit with `git commit -S -F <message-file>`, then confirm a good signature with `git log -1 --show-signature`. Stop if it is missing.
- Credit no model, tool or vendor: no Co-Authored-By for Claude, Codex or similar, and no "Generated with" footer. A non-familiar session ends commits with only `Coven-Harness: <harness> / <model id>`.
- Merge only with `~/.claude/scripts/gh-merge-when-green.sh <pr> --squash`.
- Never touch ~/.coven. Never resume, rebase or delete a worktree, branch or PR you did not create.
- Other Claude and Codex sessions land work here at the same time. Before each cycle, list open PRs (`gh pr list`) and worktrees (`scripts/worktree.sh audit`). Leave alone any doc section an open PR is changing (`gh pr diff <n> --name-only`). Release review docs and the release entry under "In flight" belong to whoever is cutting that release.
- Change a status only on evidence. Tick a box, mark something shipped or close a gap only when you can cite a merged PR, a release tag, a review doc, a CI run id or file:line on main. A previous session's summary is not evidence. Leave unknowns marked unknown.
WHAT YOU STEWARD (classify every file before editing)
1. Living map: docs/status.md (Shipped, per-release sections, On main unreleased, In flight, Known rough edges, Next, Conventions).
2. Reference docs: docs/*.md feature pages and README.md. They describe behaviour on main, so check them against code and the Shipped table.
3. Specs: docs/specs/*.md. Each status line ("Approved; not implemented", "direction accepted") must match what has landed.
4. Plans and ledgers: docs/superpowers/plans/*.md, docs/mac-store-preview-plan.md and any other checkbox ledger. Each is in exactly one state: active, blocked (on what or whom), delivered (by which PR or release), superseded (by what) or abandoned (why).
5. Evidence: docs/reviews/ is dated history. Never rewrite it. Fix broken links only, and put corrections in status.md or a new dated review.
6. GitHub trackers and issues, such as #273 and its children: plans that live outside the tree. Their checklists must match the issues that have closed and the PRs that have merged.
KNOWN DRIFT AS OF 2026-10-18 (re-check each item first; it may already be fixed)
- README.md calls automatic updates "in-flight" and says published builds need a manual install, but v0.0.12 shipped self-update. It also says app-owned sign-in is "under review".
- docs/specs/2026-10-11-modex-routines-spec.md says nothing has shipped, but Phases 0 and 1 are on main.
- docs/specs/2026-10-12-sticky-auto-routing-spec.md says "not implemented", but v0.0.11 shipped Sticky Auto routing.
- In docs/superpowers/plans/, 2026-10-11-desktop-roadmap.md still has open boxes for Canvas, signed updates and native installers, which shipped in v0.0.11, v0.0.12 and v0.1.0. Check the open boxes in 2026-10-12-sticky-auto-routing.md (70), 2026-10-09-browser-extensions.md and 2026-10-08-workos-oauth.md the same way.
- Tracker #273's checklist has no boxes ticked, but #274 (CF-1) has closed and #282, #284 and #285 have merged.
EACH CYCLE
1. Refresh. Fetch, then read what changed since your last checkpoint: main's log, merged PRs, closed issues, new tags and releases, open PRs. That delta is your work queue.
2. Reconcile. For each change, grep for its feature names, PR numbers, versions and file paths to find every doc that should now say something different. Verify claims against code on main, not against other docs. Check that relative links and anchors resolve. Move resolved items out of "Known rough edges". Edit precisely and in each file's existing voice. Keep status.md a map, not a changelog: link to a review instead of copying its evidence.
3. Disposition plans. Record each plan's and spec's state with evidence. For a delivered plan, add one line at the top ("Delivered in vX by #N; the boxes below are historical") rather than ticking boxes you cannot prove. For a superseded or abandoned plan, say what replaced it or why it stopped. Delete no plans.
4. Advance one plan. Pick the single most valuable unblocked next step across status.md's "In flight" and "Next", the active plans and the trackers' dependency orders. Prefer steps that unblock other work, then finishing partial work, then starting new work. If the step is small and no one owns it, do it in its own worktree through the normal flow: read the plan and spec, write the test first, make the minimal change, run AGENTS.md's pre-push checks, make signed commits, and open a PR that updates the plan ledger and status.md in the same change. If the step is large, owned by another session or waiting on a decision, do not start it. Instead, write an exact next-step note on the plan or its issue.
5. Land. A docs-only reconciliation PR may merge through the guard script once CI is green. Open each code PR and get it green, then stop for Val's go-ahead before merging it. Never tag, publish a release, upload to TestFlight, approve the Release environment, or turn on a feature flag or approval gate.
6. Checkpoint. Comment on tracker #290 (TypeSafeAI/modex). Include: the date and the main SHA you reviewed; PRs opened and merged; each plan's change of state, with evidence; drift you fixed; drift you left, and why; questions for Val; and the first action for the next cycle.
JUDGEMENT
- Ask Val in the tracker, and set the item aside, before you restructure or split status.md, delete or move a doc, change a decision a spec records, re-scope or reorder "Next", or change release, signing or credential docs beyond factual corrections.
- Correct an existing doc instead of writing a new one. The tracker is your only process document.
- Many PRs edit status.md. Keep your PRs small, rebase onto main just before you push, and expect a CI rerun whenever main moves.
- Stop condition: no unreconciled drift remains, and the next plan step is blocked on a person or an external gate, or is waiting for Val's merge. Write the checkpoint and stop. Never report something complete that you did not verify in this cycle.
Follow-up long-running goal prompt — resume
Resume the Modex docs-and-plans steward goal. Work from evidence, not from the previous session's summary. Read AGENTS.md, ~/.claude/CLAUDE.md, the latest checkpoint comment on tracker #290 (TypeSafeAI/modex), and everything on main since that checkpoint's SHA: commits, merged and closed PRs, closed issues, tags. Check whether each worktree and PR the checkpoint names still exists and is yours. Resume one only after `scripts/worktree.sh claim`/`check` proves you own it; otherwise start a fresh worktree. Close out half-done work first. For an unmerged docs PR: rebase, wait for CI, merge with the guard. Leave code PRs that are waiting for Val as they are. Finish any plan step left halfway. Then run the normal cycle: refresh, reconcile, disposition the plans, advance one unblocked plan step, land, checkpoint. Every ground rule of the original goal still applies:
- signed commits, each confirmed with --show-signature
- no harness attribution (the Coven-Harness trailer only)
- merges through the guard script only
- nothing under ~/.coven is touched
- no tags, releases, publication or flags
- evidence behind every change of status
- restructuring and scope are Val's decisions
Stop with a checkpoint when the stop condition holds.
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Activity
Close the two finished In flight entries and add the GitHub App to Next
Move fixed rough edges into a dated review
Move status.md's release sections into their release reviews
Trim the Mac App Store entry to its current state
Record what shipped across plans, specs and reference docs (steward c…
BunsDev commentedon Oct 18, 2026
Checkpoint: cycle 1, 2026-10-18
Reviewed:
mainatd3711c6(#287), thenf6976df(#289). Worktreedocs-steward-20261018, owned by this session.PRs: #292 (docs only), merged through the guard as
04b7ec7with all 9 checks green.Trackers: in #273, ticked #274 (CF-1, closed). The other children are still open.
Plan states
Drift fixed (#292)
Plan and spec status lines, README (5 places), 15 reference docs, and in status.md the site fallback, the In flight pointer, Next 3, and the node-pty and demo-thread lines. Each change was checked against code on main, a status.md release section or a review. The PR body lists them.
Drift left, and why
docs/conversation-events.md, which Render transcript Markdown with CommonMark and GitHub's extensions (CF-4 parser slice) #283, Make Claude Stop truthful on claude -p: native interrupt, bounded exit, withdrawn prompts (CF-2) #286, Read a completed Codex web search as done, so it folds again (CF-4) #288, Keep failed Claude turns owned through Stop (CF-2 repair) #291, Answer each approval and question once, and show Codex questions as cards (CF-3) #293 and Prove the conversation path end to end and record what fidelity still needs (CF-8, first part) #294 are editing. Make Claude Stop truthful on claude -p: native interrupt, bounded exit, withdrawn prompts (CF-2) #286 now also edits In flight and Next 3 right next to Record what shipped across plans, specs and reference docs (steward cycle 1) #292's changes, so I left it a note on how to resolve the conflict.modex-signin.mdnames a fixed callback port 43821, but the code listens on an ephemeral port. The WorkOS redirect settings would settle it.auto-routing.mdsays to installjevwithnpm linkand pinsjev-latest → jev-1.13.0with its price. Both are external facts.auto-routing.mdcalls tier 2 of 0–3 "the middle tier".analytics.mdgives fixture counts that no test asserts.gemini-feasibility.mdusesnpm install --prefixfor a probe outside the workspace.ios-companion.mdnames Xcode 26.6.pages-maintenance.mdsays Codex tools last "until the app-server restarts".notes.mdgives a benchmark figure.update-recovery.mdare dated 2026-10-12.mac-app-store.mdgate 2 reads as unimplemented. The host transport and MAS shell exist, but production acceptance is open. The question is whether to reword it as "implemented; acceptance open".Plan step advanced
None. Every unblocked step has an owner or waits on a person:
release-v0-2-0;Questions for Val
docs/reviews/2026-10-18-resolved-rough-edges.md, each under its fixing PR (Record what shipped across plans, specs and reference docs (steward cycle 1) #292). Besides the four named here, these include the native-picker and owner-removal test fixes, which had nothing left open. The demo-thread and sizing entries stay because their causes are unproven.Noticed, not acted on
mac-store-preview-plan.md. Val's call.Next cycle's first action
Refresh from
04b7ec7(#292), then:Mark mac-app-store gate 2 as implemented, acceptance open
Fold the Store preview section into In flight; mark Store gate 2 impl…
BunsDev commentedon Oct 18, 2026
Follow-up: cycle 1 decisions, 2026-10-18
#296 (docs only) merged through the guard as
db0bbfd, with all 9 checks green. It acts on two more of Val's decisions:docs/reviews/2026-10-11-store-recovery.md. status.md is now 329 lines.mac-app-store.mdgate 2 now reads "Implemented; acceptance open" and links the readiness matrix for the signed acceptance that is still pending.Still waiting on Val: where the grant from the GUI Connect run in the October 11 signed-acceptance review came from.
Next cycle: refresh from
db0bbfd.Point In flight at the tracker instead of listing CF PRs
Record the GUI Connect grant as Val's manual testing
Settle open docs claims, point In flight at the tracker, record the S…
BunsDev commentedon Oct 18, 2026
Checkpoint: cycle 2, 2026-10-18
Reviewed:
mainatdb0bbfd(#296), with no commits since the last checkpoint. #297 and #301 (CF-8) landed during the cycle. Worktreedocs-steward-cycle2, owned by this session.PRs: #300 (docs only), merged through the guard as
28c6723with all 9 checks green. It went in on the third try, after #297 and #301 landed during CI.Trackers: #273's children #275–#281 are all still open, so its checklist needs no change.
What changed outside main
Val's decisions this cycle
Drift left, and why
Unverified claims from cycle 1, now settled
modex-signin.md: fixed callback port 43821listen(0)since #141). Clarified.auto-routing.md: "the middle tier" for unknown modelscatalog.ts). Reworded.analytics.md: fixture countssample.tsis run (471 / 147 / 45 / 11 / 212). Unchanged.pages-maintenance.md: Codex keeps its tools until the app-server restartsupdate-recovery.md: test countsgemini-feasibility.mdnpm --prefix;ios-companion.mdXcode 26.6;notes.mdbenchmark;auto-routing.mdjevinstall and model pinPlan step advanced
None. The unblocked work is still owned or gated:
Questions for Val
Next cycle's first action
Refresh from
28c6723(#300), then:13 remaining items
BunsDev commentedon Oct 18, 2026
Claim: post-v0.2.0 docs cycle, 2026-10-18
v0.2.0 was published at 23:14:37Z (by
github-actions[bot], tag on01b1b8a). Nothing in the tree records it yet, and therelease-v0-2-0worktree has been idle for 18 hours. This session is taking the docs side, in one PR. It follows the layout Val chose:01b1b8athere, which is the CF slices.Not taken: the website's static fallback (
apps/site/release.json) and any publication evidence. Those belong to the release owner or Val.If the release session is already doing this, say so here and I'll stop.
BunsDev commentedon Oct 19, 2026
Checkpoint: cycle 13, 2026-10-18
Reviewed:
mainfroma4039b2to81798d7(#293, #306, #307).Correction to cycle 12
Cycle 12 said every relative link and anchor resolves. That check ran on an empty export:
git archivefailed on a path that doesn't exist, and I had silenced the error. I re-ran it on the full tree, and it finds 0 broken links across 109 Markdown files, on57e7607and on each PR head. The claim was true, but it wasn't verified when I posted it.Ownership
None of the 26 live worktrees was the steward's:
.git/modex-maintenance/owners/, exceptusage-credits-failure, which its own session released;docs-steward-*records are allreleased, with no live directory.I resumed none. I cut
docs-steward-approval-specanddocs-steward-canvas-commentwithnew, andcheckpassed in both.Landed
3560064Upload TypeScript coveragetimed out at GitHub's processing step (processing_timeout, job 117817438712). Re-running that job passed, and the guard merged.81798d7Drift fixed
docs/status.md:109: "Still open" no longer lists "the Markdown parser (Render transcript Markdown with CommonMark and GitHub's extensions (CF-4 parser slice) #283)". Answer each approval and question once, and show Codex questions as cards (CF-3) #293 merged as57e7607at the same head it had before my comment there, so it kept the item. The line now names "CF-4's remaining Markdown checks ([P1][CF-4] Render typed conversation turns with safe Markdown, code controls, and stable streaming UX #277)" (Record #185's downgrades in the approval spec; drop the merged parser from Still open #306).docs/specs/2026-10-01-modex-jev-approval-rules-spec.md: it described the gate as it was before Ask before approval rules allow chained or clipped commands #185. "Rule evaluation" and "Known limits" now name thecompoundandincompletedowngrades (gate.ts:155-158,digest.ts:103-111) (Record #185's downgrades in the approval spec; drop the merged parser from Still open #306).canvas.ts:20andshared/inline.ts:2: both comments described the transcript's Markdown as it was before Render transcript Markdown with CommonMark and GitHub's extensions (CF-4 parser slice) #283 (Correct two comments that still describe the transcript's old Markdown #307).Since cycle 12, besides my PRs
main: the phone's 409 (companion.ts:356),item/tool/requestUserInput(codex.ts:599) and thewithdrawnstate (human-requests.ts:55).Pre-landing check
I ran
git merge-treefor #288, #299, #304, #308, #309, #310 and #311 against81798d7.Plans
Plan step
Most valuable step: the approval gate's quoted-command false allow, because Routines Phase 2 (Next 2) waits for the gate decision.
Not started, because:
sh -c '…'from Jev.The exact next step is now in the spec (#306). No open PR or worktree carries it.
Drift left
None known.
Question for Val
The gate's item 1 has no owner. If you want Routines Phase 2 to move, that's the step to assign.
Next cycle's first action
81798d7.01b1b8a.Both steward worktrees are being removed through
scripts/worktree.sh remove.Record v0.2.0's publication in status, the release review, the README…
BunsDev commentedon Oct 19, 2026
Checkpoint: cycle 14, 2026-10-18
Reviewed:
mainfrom81798d7to396b17c(#308, #312, #313, #314, #310).Since cycle 13
868c54f, signed). Record v0.2.0 publication and advance the website fallback #314 is the more current version, because it records the download checks that Say read-only routines ship from v0.2.0 in the README and the routines spec #310 still listed as open. Say read-only routines ship from v0.2.0 in the README and the routines spec #310 kept only the two lines Record v0.2.0 publication and advance the website fallback #314 had missed, where the README and the routines spec still called read-only routines unreleased. I retitled it to match. The owner session merged it at 03:29Z as396b17c, while my guard's merge call was waiting out GitHub's GraphQL rate limit. Record note:396b17c's commit message still describes Say read-only routines ship from v0.2.0 in the README and the routines spec #310's original scope, the status.md moves, the review's "Status summary" and an In flight entry. Its diff is onlyREADME.mdand the routines spec (+3 −3). That status and review work is ine25dd9d(Record v0.2.0 publication and advance the website fallback #314).Confirmed on
396b17c01b1b8a. They are the CF slices and Render transcript Markdown with CommonMark and GitHub's extensions (CF-4 parser slice) #283's renderer.396b17c.Plans
No status changed. The step that matters most is still the approval gate's quoted-command false allow, which blocks Routines Phase 2. It needs a design (masking quoted text alone would also hide
sh -c '…'from Jev), a live Jev run and an owner. The approval spec records the exact next step. Every other Next item waits on machines, accounts or a GitHub App owner.Process note
Three sessions worked on v0.2.0's docs at once: this steward, the
docs-steward-v020-shippedsteward (which claimed the work here) and the session behind #314 (which did not claim it here). Separately, two of us pushed identical merges of main into #310 three seconds apart. The non-force push refused the second, so nothing was lost. Before starting docs work for a release, check this issue for claims.Questions for Val
Next action
Refresh from
396b17c. The v0.2.0 gates (the banner upgrade and TestFlight build 7) are Val's at the Mac. Re-check #273 as CF-4 and CF-5 land.BunsDev commentedon Oct 19, 2026
Checkpoint: cycle 15, 2026-10-19
Reviewed:
mainfrom396b17cto58b468d(#299, #315, #288, #304, #311, #309, #328, #331).Landed by this session
cb33db5unit + e2e (macOS)gets 45 minutes instead of 30. Merged through the guard on Val's go-ahead.c34577958b468dFor each of the three, the squash tree matches the branch.
Since cycle 14, besides mine
Each of these recorded its own status entry and reference doc, so there was no drift:
conversation-evidence.mdconversation-events.mdnotes.mdconversation-evidence.mdconversation-evidence.md#315 changes only CI. No doc mentions the time limit.
Drift fixed
docs/status.md"Still open" (Name what is still open for each fidelity child in status.md (steward cycle 15) #331). It named only CF-4, live providers and VoiceOver. CF-3, CF-5, CF-6 and CF-7 had dropped off as their first slices landed, while [P1][CF-3] Add typed native questions and a main-owned, race-safe human-request lifecycle #276 to [P1][CF-8] Prove the complete conversation-to-Notes workflow with E2E, native acceptance, and rollout gates #281 all stay open.Plans and trackers
mainincompanion.tsbecause of Harden the event journal against failed writes, crashes and oversized frames (CF-6, journal mechanics) #309; its owner has been told.Links
cb33db5and on Name what is still open for each fidelity child in status.md (steward cycle 15) #331's head.``innotes.mdand the v0.1.0 review. It now skips code spans.Worktrees
releaseandremove, each with a recovery manifest:ci-macos-timeout,cf6-journal-hardeninganddocs-steward-20261019.docs-steward-v020-shippedwas already gone; only its owner record remains.cf6-residue(Record who answered from the phone's YOLO switch and paired desktops, and test a card open at a crash (CF-6) #329),cf6-desktop-kinds(Send a question or a plan to an older paired desktop as a notice it can read (CF-6) #330) andcf6-phone-refresh(Read the thread again when the Mac refuses an answer from the phone (CF-6) #318).Environment
~/.coven46 GiB (reported for information only, not to clear), other sessions'/private/tmp/claude-50123 GiB, and CoreSimulator 20 GiB.nvmdefault and has no pnpm, so a barepnpmfinds Homebrew's 12.4.2 and getsERR_PNPM_BAD_PM_VERSION. Putting~/.nvm/versions/node/v24.18.1/binfirst on PATH gives 10.34.5.Questions for Val
mainwould end that, and the guard already supports one.main(Compare removal-only edits and notebook cells with the working tree (CF-5) #328), so it getsmainmerged in only when you approve it.Next action
On Val's go-ahead, land #318, #329 and #330 one at a time. Take finding 10 once #316 lands, or fold it into #316 if its owner prefers. The next cycle starts from
58b468d.Nothing was tagged, released, uploaded or flagged.
Coven-Harness: Claude Code / claude-opus-5-5
BunsDev commentedon Oct 19, 2026
Checkpoint: cycle 16, 2026-10-19
Reviewed:
mainfrom58b468dtode856e0(#329, #317, #330, #318).Landed by this session
All three are code PRs, merged through the guard on Val's go-ahead. Each squash commit has the same tree as its branch head.
9a2e15f9c0b06371bae66pins the host certificate instead. #317 landed during its CI, which cost one more run.de856e0The CF-6 receipt is on #279.
Since cycle 15, besides mine
update-recovery.mdand its ownstatus.mdentry. No doc outside those still says a click is required, apart from README's intended note that v0.0.12 to v0.2.0 still need one. No spec or plan covers automatic downloads.Drift
Plans and trackers
Links
de856e0.Work by other sessions (claimed 23:26–23:29Z, left alone)
release-v0-3-0: two commits (the 0.3.0 version bump and acceptance of rc tags), no PR yet. The v0.3.0 cut owns moving "On main, unreleased" into a release section.cr1-contract: no commits yet.cf8-live-smoke: one untracked e2e spec.Worktrees
cf6-desktop-kindsandcf6-phone-refreshwent throughreleaseandremove, each with a recovery manifest.cf6-residuewas removed at 22:08Z by another session's prune (session:6bcb3b58-prune). Its archive bundle holds headfaa69d7, the tree that merged as9a2e15f.Environment
Questions for Val
main, has the iPhone failure reported on it, and its Codex thread last wrote at 2026-10-19 03:55Z. Is it still live? CF-6 findings 4 and 7 are in it, and finding 10 waits on it. If it's abandoned, I can take finding 10 on a fresh branch frommain.cr1-contractwas claimed at 23:26Z.Next action
Wait for Val's answer on #316. Once v0.3.0 is cut, check its release section against the unreleased entries it moves. The next cycle starts from
de856e0.Nothing was tagged, released, uploaded or flagged.
Coven-Harness: Claude Code / claude-opus-5-5
BunsDev commentedon Oct 20, 2026
Checkpoint: cycle 17, 2026-10-20
Reviewed:
mainfromde856e0toac7f743(#332, #335, #333, #337, #336, #341, #339, #334, #342, #344, #345, #343, #347).Landed by this session
1b6f7a47877a14merge_groupCI runs onlyunit + e2e (macOS), and the ruleset gains a squash queue, so a landing no longer sends every open PR back through CI.0a67354ac7f743Merge queue
23989202now matches.github/rulesets/main.json. The previous version is saved.gh pr mergeenqueues by turning auto-merge on, so the repo now hasallow_auto_mergeon, as OpenCoven/coven does.Since cycle 16, besides mine
30ee279(Prepare desktop 0.3.0 and Companion 0.3.0 (8) #337). Record v0.3.0 publication and advance the website fallback #339 recorded the publication and moved the unreleased entries into a Shipped row and its review.v0.2.0..v0.3.0are named in the review, and Prepare desktop 0.3.0 and Companion 0.3.0 (8) #337 in the Shipped row.Drift
human-requests.mdstill described the phone's pre-Record native answer delivery only after its transport handoff (CF-3, lands #316) #335 behaviour.Plans and trackers
Links
ac7f743.CI: keyboard Jump to latest
e2e/keyboard-answers.spec.ts:88failed three times in Land main through a merge queue #345's PR runs. It passed on Keep keyboard focus when an approval is answered, its turn folds, Stop ends it, or Jump to latest is used (CF-8) #342, onmain, in 25 local runs and in every queue run so far.Work by other sessions (left alone)
cf7-verification: one commit (600d067, CF-7), uncommitted changes, no PR yet.cr2-read-service: uncommitted changes.cr3-inbox: Build the Code Review inbox and workspace host (CR-3) #346 is open, with a git operation in progress.cf8-candidate: Preserve historical CF8 candidate results and keyboard review kit #338 is open.answer-focus: Keep keyboard focus when an approval is answered, its turn folds, Stop ends it, or Jump to latest is used (CF-8) #342 merged. Removing it is the owner's job.Worktrees
merge-queueanddocs-steward-20261020went throughreleaseandremoveon squash-tree proof.cf6-docs-followupneeded one more step.main, so the squash tree is not the branch tip's tree. The branch also mergesmain, which rules out the tool's other proof.merge-tree(7877a14, 2e368a8)equals the squash tree (6fc493b), so nothing on the branch is missing frommain..git/modex-maintenance/evidence/queue-landed-2026-10-20/and pointed the branch at0a67354. The tool then removed it on ancestor proof.Environment
Questions for Val
untagged-292dee8871c39450142apoints at30ee279. It looks like a leftover from the v0.3.0 release. Tags belong to the release owner, so I haven't touched it. Delete it?maininto its branch and then lands through the queue behind another PR will hit the same proof gap ascf6-docs-followup. The tool could accept "merge-tree(squash parent, PR head)equals the squash tree" as proof. Should I open a PR for that?Next action
Wait for Val's answers. The next cycle starts from
ac7f743.Nothing was tagged, released, uploaded or flagged.
Coven-Harness: Claude Code / claude-opus-5-5
BunsDev commentedon Oct 20, 2026
Checkpoint: cycle 18, 2026-10-20
Reviewed:
mainfromac7f743to7c4ef2e(#350).Landed by this session
7c4ef2epnpm test:worktreespassed 117 of 117.pnpm build && pnpm testpassed 1,900 tests with 0 failures.merge-treeproof.merge.<name>.driverturns the proof off. Neither this repo nor the test clone configures one.docs/worktree-hygiene.mdlists the three ways a squash commit can match.Drift
worktree-hygiene.mdis the only doc that describes merge proof, and Prove a queue-landed branch merged when its tip merges cleanly into the landed tree #350 updated it.status.mdlists no tooling changes.main. Hold Jump to latest when the composer grows or a Page Up is still moving #352 moves it to the resolved review when it lands.Open PRs
mainjump-latest-pinstatus.md−5, resolved rough edges +20cf7-verificationstatus.md,task-context.md, a CF-7 plancr2-read-servicestatus.md,design/code-review.md, a CR-2 smoke reviewcf3-auditstatus.md,human-requests.md,conversation-fidelity.md, a CF-3 reviewcr3-inboxdesign/code-review.mdcf8-candidatestatus.md, in separate places.docs/reviews/2026-10-18-conversation-fidelity-acceptance.md: End a stopped Codex turn's background commands, or say they may still run (CF-8 live) #341 changed that file after Preserve historical CF8 candidate results and keyboard review kit #338's last commit (03:45 CDT). The queue will drop Preserve historical CF8 candidate results and keyboard review kit #338 withmerge_conflictuntil its owner mergesmaininto it.Plans and trackers
Links
7c4ef2e.Worktrees
prune-queue-proofwent throughreleaseandremoveon squash-tree proof, with a recovery manifest. This session now owns no worktrees.cf7-verification(Say whether a check verified a turn's last change (CF-7 verification) #351),cf8-candidate(Preserve historical CF8 candidate results and keyboard review kit #338),cr2-read-service(Add main's Code Review read service through gh (CR-2) #349),cr3-inbox(Build the Code Review inbox and workspace host (CR-3) #346),jump-latest-pin(Hold Jump to latest when the composer grows or a Page Up is still moving #352).answer-focusis gone; its owner removed it.7c4ef2e, soscripts/worktree.shthere runs the new proof.Environment
~/Library/Developer/CoreSimulator/Devices/private/tmp/claude-501(other sessions' scratchpads)~/Library/pnpm~/Library/Caches.git~/.covenis 46 GiB. It is listed for information only and is never a cleanup candidate.Questions for Val
untagged-292dee8871c39450142a(points at30ee279, v0.3.0 leftover): still there. Delete it?Cycle 17's question 2, the keyboard failure, now has an owner in #352. Question 3 landed as #350.
Next action
Wait for Val's answers. The next cycle starts from
7c4ef2e. When #352 lands, check that Known rough edges no longer lists the keyboard failure.Nothing was tagged, released, uploaded or flagged.
Coven-Harness: Claude Code / claude-opus-5-5
BunsDev commentedon Oct 20, 2026
Checkpoint: cycle 19, 2026-10-20
Reviewed:
mainfrom7c4ef2eto9e4197e(#352). #351 landed during the cycle; cycle 20 covers it.Landed by this session
b654734merge-treeproof from Prove a queue-landed branch merged when its tip merges cleanly into the landed tree #350, its first real use.Drift
Open PRs
9e4197e. List #352's Jump to latest fix under On main, unreleased (steward cycle 19) #353 merged cleanly with Preserve native question drafts across thread navigation (CF-3) #348, Add main's Code Review read service through gh (CR-2) #349 and Say whether a check verified a turn's last change (CF-7 verification) #351, which also editstatus.md.docs/reviews/2026-10-18-conversation-fidelity-acceptance.md, a change from End a stopped Codex turn's background commands, or say they may still run (CF-8 live) #341. Its owner needs to mergemain.Plans and trackers
Links
9e4197e.Housekeeping done on Val's request
untagged-292dee8871c39450142a, remote and local. No release used it.v0.3.0(signed tag575e514on30ee279) is untouched.xcrun simctl erase all, so the iPhone simulators use 122 MB instead of 20 GiB. I erased rather than deleted them:apps/ios/ModexCompanion/Scripts/test-e2e.shdefaults to the device namediPhone 16 Pro(OS 26.5). Each device's first boot will be slow.Worktrees
docs-steward-c19went throughreleaseandremove, with a recovery manifest. This session owns no worktrees.jump-latest-pin: Hold Jump to latest when the composer grows or a Page Up is still moving #352 merged, but the worktree is unreleased. It is clean and holds unknown ignored files. It belongs tosession:jump-latest-pin, so I left it.cf7-verification,cf8-candidate,cr2-read-service,cr3-inbox) belong to sessions with open or just-landed PRs.Next action
Cycle 20 runs now, from
9e4197ethroughb654734, covering #351 (CF-7 verification).Nothing was released, uploaded or flagged. The only tag change was the deletion Val asked for.
Coven-Harness: Claude Code / claude-opus-5-5
BunsDev commentedon Oct 21, 2026
Checkpoint: cycle 20, 2026-10-21
Reviewed:
mainfrom9e4197eto4e9d965(#351, #353, #356).Landed by this session
4e9d965GitHub shows the squash commit as verified.
Drift
docs/superpowers/plans/2026-10-20-cf7-verification.md, but the plan still read as not started.39508701952). The local e2e run stopped when the disk filled.task-context.md's new Verification section.Plans and trackers
Open PRs
4e9d965. Once you set the stacks aside, they also merge cleanly in sequence.status.md, because its CF-3 entry and Say whether a check verified a turn's last change (CF-7 verification) #351's CF-7 entry were both inserted at the top of "On main, unreleased". Its owner's 00:03Z push resolved that.docs/reviews/2026-10-18-conversation-fidelity-acceptance.md, because of End a stopped Codex turn's background commands, or say they may still run (CF-8 live) #341. Its owner needs to mergemain.Links
4e9d965.Worktrees
docs-steward-c20went throughreleaseandremoveon squash-tree proof, with a recovery manifest. This session owns no worktrees.cf7-verificationandjump-latest-pinremoved them.cf3-live-question,cf7-context,cf8-candidate,cr2-read-service,cr3-inbox.Environment
Next action
None pending from Val. The next cycle starts from
4e9d965.Nothing was tagged, released, uploaded or flagged.
Coven-Harness: Claude Code / claude-opus-5-5
mariscate commentedon Oct 22, 2026
Refreshed goal prompts — 2026-10-22 (
mainat0e674e7)Since cycle 20 (
4e9d965): #348, #354, #355, #357–#368 landed, so cycle 21 covers4e9d965..0e674e7. Drift I noticed and haven't verified:docs/status.mdstill reads "Last updated 2026-10-20".Worktrees whose PRs landed but are still checked out:
cf3-evidence-repair,cf7-path-repair,cf8-main-sync,cf8-reconcile,cr1-verify,cr2-cache-denial,cr2-ipc-acceptance,cr2-review,cr3-inbox-repair. They belong to their owners, so report them and don't remove them.Long-running goal prompt
Follow-up / resume prompt
BunsDev commentedon Oct 23, 2026
Refreshed goal prompts — 2026-10-23 (
mainat203a350)On
mainalready (landed since0e674e7, each with its owndocs/status.mdentry):TodoWritewent away (docs: CF-7 Claude plans decision after TodoWrite left (#280) #387); live Codex captures, questions asked in a reply, and ending turns Codex never ends (feat: live Codex captures, questions asked in a reply, and ending turns Codex never ends (#280) #390); a "reported no plan" footer (feat: a turn says when its CLI reported no plan (#280) #391).Still open:
4e9d965, so the next cycle covers4e9d965..203a350.docs/status.mdstill reads "Last updated 2026-10-20".mainnames Preserve historical CF8 candidate results and keyboard review kit #338. status.md mentions CR-3 only as a development flag and doesn't claim it is done.docs/reviews/2026-10-22-lm2-connections-discovery.md, so status.md has no LM entry until it lands. Don't add a duplicate.docs/status.md, so check they merge pairwise and leave their sections alone:docs/superpowers/plans/2026-10-23-cr4-overview.md;These worktrees are still checked out after their PRs landed:
cf3-evidence-repair(#358),cf3-phone-answers(#373),cf6-replay(#389),cf7-claude-plans(#387),cf7-codex-capture(#390),cf7-no-plan(#391),cf7-path-repair(#360),cf7-reopen(#375),cf7-step-linking(#370),cf8-main-sync(#364),cf8-reconcile(#359),codex-native-plan(#385),cr2-cache-denial(#354),cr2-ipc-acceptance(#361) andcr3-inbox-repair(#362).cf7-note-reopenbelongs to #374, which closed without merging. Some worktrees have commits that are on no remote branch:lm1-contract(1),lm3-isolation(1) andcr5-remote-diffs(2). These have uncommitted changes and no PR:cf8-integrated-oct22,cr5-integration,lm6-runtimesandlm-foundation. They all belong to their owners, so report them and don't remove them.Long-running goal prompt
Follow-up / resume prompt
BunsDev commentedon Oct 31, 2026
Checkpoint: cycle 21, 2026-10-30
Reviewed:
mainfrom4e9d965(cycle 20) tof51ef7e, 66 commits, including the v0.4.0 release (tag at2eda138, published 2026-10-30), CF-3/CF-4/CF-6/CF-7 (#369–#394, #404, #427, #443–#454), CR-4 to CR-8 (#393, #395 via #404, #396, #410, #416, #422, #426, #430, #438, #440, #441), LM-1/LM-2/LM-3/LM-5 (#397, #400, #403, #405, #418, #423, #447, #448) and the OpenCode/MiMo backends (#432). The 2026-10-22 and 2026-10-23 refreshed prompts were never run; their drift items were re-checked here.Landed by this session
21f6a70Drift fixed (evidence in #460's diff)
2eda138); folded into three bullets, keeping the unexplained hosted 2019 ms median on record.2ce777c; LM-5 subagent admission → fix: verify disabled subagents before local admission #448ba8f289; CF-7 failed-command follow-up → fix: preserve possible file writes from failed commands #453f51ef7e; CR-8 review-flow fixture → Cover integrated review submission and restart reconciliation #441eca2bd9(v0.4.0).e25a554candidate (Integrate Code Review and Markdown candidates with provenance fixes #404), the CF-4 closeout ([P1][CF-4] Render typed conversation turns with safe Markdown, code controls, and stable streaming UX #277 closed 2026-10-30 with Val's written deferral of C1–C5).727e022), no longer "pending".9f85d61; moved toreviews/2026-10-18-resolved-rough-edges.md.reviews/2026-10-22-lm2-connections-discovery.md(no duplicate).Plan and spec states
docs/superpowers/plans/2026-10-20-cf7-context-map.md: delivered (List the project files a turn touched, as the CLI reported them (CF-7 context map) #3553e416ab, v0.4.0; follow-ups Name commands that may have changed unlisted files, and cut opening titles at a word break (#280) #450/fix: preserve possible file writes from failed commands #453).2026-10-23-cr4-overview.md: delivered (feat(code-review): add PR overview, activity and evidence cards #3936c40547, integrated by Integrate Code Review and Markdown candidates with provenance fixes #404, v0.4.0).2026-10-23-cr5-integration.md: delivered (Integrate Code Review and Markdown candidates with provenance fixes #404e3527f4, v0.4.0).2026-10-23-cr5-remote-diffs.md: superseded by the integration plan.2026-10-23-cr6-isolation.md: delivered (test(code-review): establish CR-6 native isolation limits #39603ce71a; Phase 2 Add CR-6 agent review, PR questions and review instructions (#325) #422b643617, repair fix: retain Code Review ownership until process exit is confirmed #426; v0.4.0).2026-10-23-cr7-intents.md: delivered (Integrate Code Review and Markdown candidates with provenance fixes #404, Bind CR-7 intents to CR-5's shared line anchors #410deb373a, Integrate and repair CR-7 review writes and guarded actions #416b3aad0d; v0.4.0).Trackers
reviews/2026-10-24-lm1-acceptance.md; the runtime probe is deferred, not failed). [P1][LM-2] Add secure local connections and bounded model discovery #378–[P1][LM-7] Prove local-model integration and publish the supported compatibility matrix #383 stay open.Worktrees and disk
scripts/worktree.sh auditkeeps all 31. Merged but still checked out (not-proven-mergedonly because the audit lacks fresh merge proof):cf4-full-suite(#454),cf8-main-sync(#364),cf8-reconcile(#359),cr2-cache-denial(#354),cr2-ipc-acceptance(#361),cr3-inbox-repair(#362). Dirty, no PR of mine:cf8-integrated-oct22(also mid-git-operation),hosted-budget,lm-foundation,lm5-local-policy,release041-validation,strata-integration.codex-native-planhas a git operation in progress. Nothing was released or removed; none is mine exceptdocs-steward-c21, which I will remove after this merge. Data volume: 6.0 TiB free of 7.3 TiB.Drift left, and why
Questions for Val
6a97d23while this cycle ran; its tag and Release workflow are yours. Before it merged, the optional "CLI and installers (linux)" job failed at "Exercise installed Debian and extracted AppImage" ona76cd3d. That is the release owner's call, not the steward's.Next action
After v0.4.1 (#452) publishes: cycle 22 moves the v0.4.1 release into Shipped, folds #446/#448/#453/#455/#456/#458 into its row, and re-runs the link check. If Val answers question 1, the same cycle collapses the v0.4.0 section. Stop condition holds now: no unreconciled drift remains that is not waiting on Val's answer or on #452.
BunsDev commentedon Nov 1, 2026
Steward cycle 22 checkpoint, 2026-11-01
SHAs reviewed:
f51ef7e..32f1cb4(#452, #459, #460, #461, #462, #465, #466, #464, #463).PR: #468, docs-only, signed, auto-merge on; it enters the merge queue when CI is green.
Drift fixed in #468:
docs/status.md's In flight entry for deferred Markdown said Val's review was pending. Defer Markdown far from the view so long threads open fast #463 merged as32f1cb4on 2026-11-01.3d72c6e.Drift left:
Questions for Val (unchanged from cycle 21):
Trailer rule followed: this issue's body (Coven-Harness only), which takes precedence over the harness's Co-Authored-By reminder.
Next action: after #468 merges, remove the
docs-steward-c22worktree throughscripts/worktree.sh remove.docs: bring plan and tracker-doc status lines in step with main (#290)