FAQ
wakeflow is a Claude Code plugin with 9 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes wakeflow-target-craft, wakeflow-controller, wakeflow-governance. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Repo: GxFn/Wakeflow
A disciplined control loop for multi-window agent work — every step traced, every result reviewable.
Wakeflow turns a local Codex or Claude Code workspace into a disciplined controller system: a controller-owned loop for each active demand, focused repository windows, explicit state roots, compact direct-thread or direct-session delivery, and controller-validated acceptance. The controller runs this as a closed loop — plan, dispatch, collect review inputs, independently validate, decide, repeat — and records every step, so the whole run is auditable after the fact.
Hand an agent fleet a real, multi-repository goal and come back later with the three questions that matter: what was actually done, what supports the claim, what did the controller validate, and what is still open? Without a control layer the honest answer is a pile of scattered prompts, copied status tables, unclear ownership, and "looks done" — work that cannot be audited, resumed, or trusted.
Wakeflow is that missing control layer — one controller window drives focused repository windows through an explicit, machine-checked loop, and every step leaves a verifiable artifact on disk:
What you get, concretely:
wakeflow_view (scope trace) replays
who reported what, which review inputs were attached, and which decision was
recorded at each state revision.Wakeflow is not a command launcher with nicer names. It is a reusable workflow capability for keeping multi-window agent work legible, bounded, and resumable.
Wakeflow is three layers working together: a window fleet you can see, a closed loop that moves the work, and a disk layout that survives restarts. Both editions — Codex and Claude Code — run the same host-neutral state, delivery, and validation core. Their manifests, memory files, window lifecycle, and transport remain host-specific (Codex host thread tools vs a tmux helper).
Every Wakeflow window is an agent session pinned to one responsibility. On Claude Code the baseline fleet lives in the configured tmux session and each demand pod has its own tmux session; on Codex the windows are host threads.
| Window | Role | Default reasoning effort (Claude Code) |
|---|---|---|
| Controller | owns goals, dispatch, independent validation, acceptance | max |
| Design | clarifies requirements, redesigns non-bug outcome mismatches, prepares handoffs | xhigh |
| Repo windows | implement inside exactly one repository | xhigh |
| Test | after controller validation, explores only the approved real-environment boundary for hidden bugs | xhigh |
Work is organized into demands: one demand = one goal = one state root on disk. Every demand moves through the same closed loop:
1 init raw state init creates the demand root (unclaimed)
2 claim public create, or first raw-state drive, binds host (codex | claude)
3 add task a task package freezes target context and requirement anchors
4 dispatch preview -> digest-matched apply -> LOCK -> prompt delivered
5 work the target window executes inside its repository boundary
6 result TargetResultEnvelope lands with declared review-input refs -> lock released
7 review controller inspects inputs + independently validates, then decides
8 complete active required tasks accepted, replacement lineage valid, no blocker
Two rules keep the loop honest: prompts brief, packages contextualize, skills execute (the bounded prompt carries the objective, highest-priority completion/context/boundary cues, reading order, identity, and trace; the task package owns complete context, requirement documents preserve background, and Skills own procedure), and backfill is input, not acceptance (the controller inspects the target's raw materials and independently validates the relevant behavior before any decision; a blocked decision is always recoverable once new review inputs arrive).
<workspace>/
wakeflow.config.json windows, roles, per-host knobs committed
AGENTS.md / CLAUDE.md per-host controller gates committed
wakeflow-ledger/ durable designs, records, archives committed
.wakeflow-active/ demand state roots (layer 2) local
.wakeflow-local/wakeflow-delivery/ local
dispatch-packets/ delivery-envelopes/ delivery-runs/ transport records
target-results/ target-authored result envelopes
locks/ one in-flight target delivery per window, cross-host
hosts/codex/ codex thread registry (host-scoped)
hosts/claude-code/ claude session registry + tmux bindings
hosts/<host>/pod-* pod plans, operations, bindings, access receipts
Rule of thumb: business truth is host-neutral and shared; transport handles
are host-scoped and never leave .wakeflow-local/.
Scripts and MCP tools create, validate, and record machine data; they never choose acceptance, widen scope, or decide product behavior on their own. They only persist an explicit controller decision. Target windows execute exactly their dispatched package. The controller is the only acceptance authority and must establish functional correctness before Test starts. Test cannot invent goals, methods, or completion criteria; it only investigates the approved environment boundary. The user owns product decisions.
One workspace may run both editions side by side: demands bind to one platform
at claim time (machine-enforced on every driving command), the shared
per-window work lease serializes target deliveries across hosts (controller
returns use a separate send mutex), and ownership moves only
through the explicit, audited adopt-demand-host transfer.
Wakeflow uses the same two-layer marketplace shape as Lark Remote: the
repository root is the development workspace, and the installable plugin
artifacts live under plugins/. The repository ships two host editions built
from one shared core:
| Host | Artifact | Catalog |
|---|---|---|
| Codex | plugins/codex-wakeflow/ | .agents/plugins/marketplace.json |
| Claude Code | plugins/claude-code-wakeflow/ | .claude-plugin/marketplace.json |
Install the Claude Code edition from inside Claude Code:
/plugin marketplace add GxFn/Wakeflow
/plugin install wakeflow@gxfn
The Claude Code edition is terminal-only: every Wakeflow window (controller
included) is a tmux-resident interactive claude session, and a Wakeflow
thread id is the window's Claude Code session id (stable across resumes).
Mainline remains the default. When the user explicitly requests a Pod, the
helper creates an independent Controller/Design/Test/product fleet; each
product session uses Claude's native claude --worktree, while Wakeflow only
plans and verifies the resulting receipt. Claude returns final session ids
synchronously (there is no Codex clientThreadId state), and Pod Test remains
blocked until direct-multi-root access to every bound product worktree is
validated. wakeflow_pod_open mode=create keeps the strict initial base gate;
the read-only mode=resume path later verifies the immutable binding and exact
registered session/cwd without rerunning that creation gate. Wakeflow applies
no numeric Pod limit. See
plugins/claude-code-wakeflow/README.md
for the full Claude Code guide.
Install the public Codex plugin artifact:
npx codex-marketplace add GxFn/Wakeflow/plugins/codex-wakeflow --plugin
For a pinned release after the matching tag exists:
npx codex-marketplace add https://github.com/GxFn/Wakeflow/tree/v0.9.6/plugins/codex-wakeflow --plugin
If the Codex dialog separates source, ref, and sparse path, use the repository
URL, the desired ref, and plugins/codex-wakeflow as the sparse path.
The Codex edition keeps ordinary work on the initialized mainline fleet. For an
explicitly authorized Pod, wakeflow_pod_open emits a host-neutral launch plan:
Codex creates three independent local Controller/Design/Test threads and one
environment.type=worktree thread from each exact saved repository project.
Wakeflow journals an asynchronous Codex create by launch correlation; a
temporary clientThreadId is search/recovery evidence only and can never enter
the thread registry. Wakeflow binds verified cwd/Git receipts, requires a
validated direct-multi-root receipt before Pod Test dispatch, and logically
closes the Pod; Codex owns physical worktree lifecycle. An unavailable
mainline returns mainline-unavailable and is repaired rather than silently
replaced by a Pod. wakeflow_pod_open mode=resume is a read-only identity and
current-state check for an already-bound Pod; it never creates or rebinds a
thread/worktree.
For local development, register this checkout as its own local marketplace:
[marketplaces.gxfn]
source_type = "local"
source = "/absolute/path/to/Wakeflow"
[plugins."wakeflow@gxfn"]
enabled = true
[plugins."wakeflow@gxfn".mcp_servers.wakeflow]
default_tools_approval_mode = "approve"
Wakeflow does not require an aggregate marketplace repository. A separate catalog can still list Wakeflow for brand discovery, but that is not part of the primary install or release path.
Wakeflow is installed as a Codex or Claude Code plugin. A target workspace does not need to contain Wakeflow source code. The expected target shape is:
Naming:
wakeflow.config.jsonis the canonical config name. A pre-rename workspace'sworkspace.config.jsonkeeps working (read fallback); rename it withgit mv workspace.config.json wakeflow.config.jsonwhen convenient —check-workspacereminds you.
MyWorkspace/
AGENTS.md or CLAUDE.md
wakeflow.config.json
.wakeflow-active/ # ignored active controller state
.wakeflow-local/ # ignored thread registry and derived runtime
wakeflow-ledger/ # durable project coordination records
ProductRepo/
CoreRepo/
Design/ # default internal requirement-design surface
Test/ # default internal test coordination surface
The simplest user prompt is:
Use Wakeflow to initialize the current workspace.
Preview the plan first and wait for my confirmation before writing.
The operating flow is:
wakeflow_initialize_workspace with apply: false.agentSelectionProtocol.repositories mappings for the intended work windows.wakeflow_initialize_workspace with apply: true.displayTitle, and passes each real thread id once to Wakeflow's
local registration command. The thread registry is the only thread-id
authority; window config is refreshed as a derived view.For an already initialized workspace, wakeflow_initialize_workspace is not a
general refresh button. It may write only after the user explicitly requests a
reset initialization; the apply call must set resetInitialization: true, pass
explicit repositories, reconfirm Design/Test mode, and must not use
useDiscovered. Heavy or stale windows use the replacement commands instead.
Command responsibilities stay separate:
| Need | Command | Responsibility |
|---|---|---|
| First-time setup | wakeflow_initialize_workspace | Discover, confirm, write workspace config/docs/support surfaces, and return the full launch plan. |
| Explicit reset setup | wakeflow_initialize_workspace with resetInitialization: true | Reconfirm work directories, clean stale managed window cards/runtime for removed windows, and rewrite setup surfaces. |
| One heavy/stale window | wakeflow_replace_windows (pass window) | Return one replacement launch entry and local registration command; no workspace docs refresh. |
| Several heavy/stale windows | wakeflow_replace_windows | Return only the requested replacement entries and local registration commands; no unrelated window rewrites. |
In the Claude Code edition, the same preview/apply contract is used. The
returned launch plan is materialized by the tmux host helper instead of Codex
create_thread: each window is launched as an interactive claude session,
and the returned Claude Code session id is registered as the Wakeflow thread
id.
Design and Test are fresh support surfaces by default. Existing similarly named
directories such as <Product>Design or <Product>Test are treated as ordinary
directory facts unless the user explicitly maps them as Design/Test.
Wakeflow supports localized initialization. Pass language: "zh" for Chinese
workspaces, language: "en" for English workspaces, or language: "auto" when
there is no clear preference. Generated thread titles keep the window name at
the front so the important repository name remains visible in narrow sidebars.
New state-root progress documents and subsequent Unified Status renders also
use the selected interface language.
Controller and child windows can use Codex or Claude Code subagents to speed up bounded code search, log triage, test localization, and input summaries. Subagent output is review input or advice only; controller validation, dispatch, state writes, and repository boundaries remain with the Wakeflow window that owns the task.
The loop is the same on both hosts; only how you drive it differs.
Claude Code (slash commands):
/wakeflow:init — discover the workspace, confirm scope with you, write
config/docs, and launch the tmux fleet. Watch with tmux attach -t wakeflow
on the default socket, or tmux -L <tmuxSocket> attach -t wakeflow when a
dedicated socket is configured.wakeflow_deliver — the demand lands as a
pending-claim row on the global TODO board with its proportional authority
anchors projected. The controller may instead create bounded or already
documented work directly, but it uses the same demand-type contract; this is
not a lighter second format./wakeflow:status to see the board, then claim it —
wakeflow_claim_next (auto-claimable rows) or wakeflow_create_demand
(explicit). This inits the state root and consumes the row; the controller
confirms the plan and task packages with you before any dispatch. The first
implementation package freezes those anchors once as
demand-authority.json; Auto Claim controls unattended claim timing only./wakeflow:dispatch — prepare one envelope, deliver it in one step, inspect
the actual host result, make one bounded readback observation, and record
every transport/readback field explicitly before ending the turn.
The target window works inside its repository
and its controller-return wakes the controller with result materials attached.
If accepted transport is not visible in that observation, it is recorded as
sent-unconfirmed: it prevents resend but does not claim destination
reachability or trigger another automatic read./wakeflow:review — inspect the target-authored inputs, independently
validate the relevant behavior, then record the decision: accept / rework /
blocked / redesign.
Ordinary rework redispatches the same task with a new dispatch group.
Mainline redesign keeps the rejected task as history: after Design returns its
handoff, the controller creates a new full-context implementation task in
the product responsibility window with
replacesTargetTaskId; accepting that replacement supersedes the old task
and package explicitly.
The current implementation gives a Pod exactly one frozen Design request/handoff generation;
that sole request may be initial-design, supplement, or redesign. A
different second generation remains blocked rather than overwriting the
recorded handoff or falling back to mainline Design.Codex (natural prompts): the same loop through the same MCP tools — "Use Wakeflow to initialize this workspace", "claim the next demand", "dispatch the next package", "review the returned results", "complete and archive the demand".
Daily driving (Claude Code):
| You want | Do |
|---|---|
| Enter the fleet | open a terminal; use tmux attach -t wakeflow, or add -L <tmuxSocket> when configured |
| See where everything is | /wakeflow:status |
| Push work forward | /wakeflow:dispatch |
| Judge returned work | /wakeflow:review |
| Health check / fix a stale window | /wakeflow:check · /wakeflow:windows <name> --replace |
| Hands-off mode (recorded consent) | /wakeflow:unattended on |
| A demand explicitly in parallel | ask the controller to open a Pod — independent Controller, Design, Test, and host-created product worktrees |
Initialization writes only the surfaces needed for the confirmed workspace boundary:
| Surface | Purpose |
|---|---|
AGENTS.md | Parent controller gates and durable boundaries. |
Child AGENTS.md access cards | Per-window responsibility and read paths. |
wakeflow.config.json | Managed windows, repository paths, roles, and default language. |
.wakeflow-active/ | Active state roots, current indexes, progress docs, TODO projections, intake, and test cards. |
.wakeflow-local/ | Thread registry, direct-thread runtime, host-scoped Pod operation/binding receipts, local overrides, and derived window config. |
wakeflow-ledger/ | Long-term project coordination records and archives. |
Design/ | Internal requirement-design workspace when no external Design repository is mapped. |
Test/ | Internal test coordination workspace when no external Test repository is mapped. |
Wakeflow also synchronizes .gitignore so only .wakeflow-active/ and
.wakeflow-local/ remain local runtime directories. It does not add product
repositories, Design/Test folders, ledgers, .DS_Store, or other user
workspace noise to .gitignore.
Wakeflow automation is direct-thread delivery plus explicit result return.
Core rules:
.wakeflow-local/wakeflow-delivery/hosts/<host>/thread-registry/
(codex or claude-code).wakeflow.config.json plus thread-registry
presence; it is not a second thread-id or window-semantics authority.confirmed / pending / unavailable observation; it never authorizes a
resend. A matching target result normally releases its target work lease.
For send-failure recovery, only a proven rejection before send may release
the exact matching delivery lease. Ambiguous outcomes preserve it for Agent
judgment.group-ready waits for the expected target results before a controller
return.per-target can wake the controller once per target while still preserving a
group snapshot.sent-unconfirmed;
the turn stops without polling or automatic resend.wakeflow-state init is host-neutral and writes controllerHost: null.
The public wakeflow_create_demand wrapper immediately adopts the new root
for the calling host; an independently imported raw root remains unclaimed
until its first driving command.--adopt-host.activeDemands remains an observation. It does not impose a numeric
admission limit or automatically select Pod placement. Ordinary/Auto Claim
work waits while mainline is busy; only an explicit user authorization
creates a Pod.wakeflow_status exposes demand ownership under dualHost.demandOwnership
so mixed-host controllers can see which platform owns active work before
acting.Automation stops on final completion, hard gates, user stop, no eligible work, missing review inputs, blocked state, or any condition that requires controller or user judgment.
Wakeflow exposes only stable outer workflow contracts as MCP tools. Runtime scripts remain the internal implementation and test surface; they are not public tools just because they exist. A target closeout uses the same direct-thread delivery model as controller dispatch: prepare an envelope, send the prompt with the host thread tool, then record the delivery run.
Primary tool groups:
| Need | MCP tools |
|---|---|
| Setup and window registration | wakeflow_initialize_workspace, wakeflow_replace_windows, wakeflow_register_window |
| Demand and task state | wakeflow_status, wakeflow_create_demand, wakeflow_claim_next, wakeflow_add_task, wakeflow_continue_demand, wakeflow_recover_state_transition, wakeflow_cancel_demand |
| Candidate scan and explicit Pod lifecycle | wakeflow_next_work, wakeflow_pod_open, wakeflow_pod_bind, wakeflow_pod_plan (design-request/test-access/close), wakeflow_pod_record (materialization/design-handoff/test-access/close-receipt) |
| Delivery and returns | wakeflow_prepare_delivery, wakeflow_record_delivery |
| Results and review | wakeflow_record_target_result, wakeflow_review_pack, wakeflow_reduce_results, wakeflow_decide_review, wakeflow_complete_demand |
| Design and Test intake | wakeflow_deliver, wakeflow_intake_test_card |
| Archive, views, maintenance, and verification | wakeflow_archive (target demand/todo/docs/sanitize-demand), wakeflow_view (task-ledger/window/focus/trace/storage/progress/pods), wakeflow_storage_preserve, wakeflow_prune_runtime, wakeflow_verify |
| Host ownership and locks | wakeflow_adopt_demand_host, wakeflow_release_window_lock |
Public MCP tools are for outer agent workflows. Target closeout is deliberately
split: record a target result, review readiness, prepare a controller-return
envelope when policy allows, send through the active host transport, and record
delivery facts. Controller review stays split as review pack, result
reduction, and explicit decision; result reduction only creates a review
candidate and is not acceptance. Do not collapse those steps into a single
target-window MCP tool. Internal steps such as archive summary refresh internals,
keep-live state, and script backend execution stay inside Wakeflow JS/runtime
scripts and skills. Public archive MCP tools wrap controller-approved demand,
TODO, and workspace-document archive flows. wakeflow_archive
target=sanitize-demand only replaces an already archived demand with a
privacy-clean copy and preserves the original locally.
wakeflow_storage_preserve is the dry-run-first public route
to the existing local artifact-preservation backend. With archive redaction,
opaque artifacts remain byte-for-byte in the local preserved original while the
portable archive carries a safe placeholder manifest, unless clean opaque byte
inclusion was explicitly authorized with allowOpaque. A real host id
inside a filename or directory name preserves that highest sensitive
file/subtree locally and represents it once at a redacted-id-N portable path;
matching text references use the same alias, and path collisions still fail
closed. None of these tools makes acceptance decisions or sends host messages.
Wakeflow declares MCP tool annotations for every public tool: read-only tools are marked read-only, write tools are local, non-destructive, and closed-world. Codex approval policy is still controlled by the user's Codex config. For a trusted local Wakeflow installation, the matching Codex server policy is:
[plugins."wakeflow@gxfn".mcp_servers.wakeflow]
default_tools_approval_mode = "approve"
Wakeflow keeps source, active runtime, and durable records separate:
| Path | Boundary |
|---|---|
skills/ | Reusable operating instructions installed with the plugin. |
scripts/ | Runtime implementation and validation scripts packaged by the plugin. |
templates/wakeflow-template-bundle.json | Bundled starter state, Design/Test, and ledger skeletons expanded during setup. |
.wakeflow-active/ | Current active work in a target workspace; ignored by Git. |
.wakeflow-local/ | Machine-local thread registry, Pod operation/binding receipts, derived runtime views, and local state; ignored by Git. |
wakeflow-ledger/ | Project-specific durable records outside reusable Wakeflow source. |
The source repository tracks reusable Wakeflow capability. Product code, project-specific active state, real thread ids, and derived local runtime artifacts do not belong in Wakeflow source.
One workspace may run the Codex and Claude Code Wakeflow editions side by
side. Shared business state stays host-neutral: .wakeflow-active/,
wakeflow-ledger/, and the shared delivery spine under
.wakeflow-local/wakeflow-delivery/ (dispatch-packets/,
dispatch-groups/, delivery-envelopes/, delivery-runs/,
target-results/, and shared locks/).
Host-scoped runtime is separated per host:
.wakeflow-local/wakeflow-delivery/hosts/codex/{thread-registry,window-config,keep-live}/.wakeflow-local/wakeflow-delivery/hosts/claude-code/{thread-registry,window-config,window-host,keep-live}/AGENTS.md (Codex) and CLAUDE.md (Claude Code) may coexist at the
workspace and child roots. Each demand still has exactly one controller host:
public creation adopts the calling host, raw state init remains neutral until
first drive, non-owning hosts fail closed, and --adopt-host is the explicit
transfer mechanism.
Wakeflow is packaged as a dual-host plugin source repository. The public source of truth is:
https://github.com/GxFn/Wakeflow.git
The repository carries separate host catalogs:
.agents/plugins/marketplace.json points the Codex plugin entry at
./plugins/codex-wakeflow..claude-plugin/marketplace.json points the Claude Code plugin entry at
./plugins/claude-code-wakeflow.Publishing Wakeflow means tagging the repository and submitting the correct nested artifact for the target host, not the development workspace root.
Before publishing a release tag:
npm test from this repository.npm run release:check after the intended version is committed, tagged,
and reflected by the local origin/main tracking ref. This independently
checks version parity, exact shared-core sync, both dry-run package surfaces,
the main branch, clean worktree, tag target, and remote-tracking target.plugins/codex-wakeflow/.codex-plugin/plugin.json has no more than
three starter prompts.Use this repository to develop the Wakeflow plugin itself.
npm run sync:core # copy core/ into both plugin artifacts
npm run check:core # fail when an artifact drifts from core/
npm run validate # codex artifact validation
npm run validate:claude
npm run smoke # codex artifact smoke
npm run smoke:claude
npm run test:wakeflow
npm test # check:core + both validates + both smokes + tests
npm run release:check # strict, independent pre-publish consistency check
Shared-core rule: host-neutral runtime files live in core/ and are synced
into both artifacts with tools/sync-core.mjs; edit them in core/, never in
an artifact copy. Host-specific files (host profile, host artifact checks,
host send adapter, manifests, READMEs, memory-file template, skills, template
bundle) live only inside each artifact. npm run check:core keeps the copies
honest.
Current Pod behavior and acceptance authority are documented in docs/wakeflow-host-managed-complete-pod-requirement-design-2026-07-31.md. The non-Pod hardening history is recorded in docs/wakeflow-hardening-design-compliance-2026-07-30.md. The dual-edition flow and architecture deep dive are historical v0.7.x snapshots, retained to explain evolution rather than current commands, tool counts, prompt shape, or Pod ownership.
Common source areas:
| Path | Purpose |
|---|---|
core/ | Host-neutral runtime source of truth synced into both artifacts. |
tools/sync-core.mjs | Core sync and drift check (--check). |
plugins/codex-wakeflow/.codex-plugin/plugin.json | Codex plugin metadata; its mcpServers field points at .mcp.json. |
plugins/codex-wakeflow/.mcp.json | Codex MCP process wiring. |
plugins/codex-wakeflow/bin/wakeflow-mcp | Shared dependency-free launcher that selects Node.js 20+ without assuming the host exports node on PATH. |
plugins/claude-code-wakeflow/.claude-plugin/plugin.json | Claude Code plugin metadata; its mcpServers field points at .mcp.json. |
plugins/claude-code-wakeflow/.mcp.json | Claude Code MCP process wiring and workspace-root environment. |
plugins/claude-code-wakeflow/scripts/lib/wakeflow-host-profile.mjs | Claude Code host profile (tmux window model, CLAUDE.md, session vocabulary). |
plugins/codex-wakeflow/mcp/server.cjs | Standalone MCP server entrypoint with no node_modules dependency. |
plugins/codex-wakeflow/scripts/ | Setup, state, delivery, intake, archive, validation, and CLI runtime shipped with the plugin. |
plugins/codex-wakeflow/skills/ | Controller, target protocol, target craft, and governance manuals shipped with the plugin. |
plugins/codex-wakeflow/templates/wakeflow-template-bundle.json | Installed workspace starter documents and support surfaces, bundled for marketplace scan size. |
plugins/codex-wakeflow/assets/ | Marketplace and plugin presentation assets. |
test/ | Development-only regression tests kept outside the marketplace scan surface. |
docs/ | Development planning and architecture notes kept outside the plugin artifact. |
Backend/source-maintenance command references live in scripts/README.md. Installed controllers use the MCP tools and skills rather than treating raw scripts as their operator interface.
Wakeflow exists to make multi-window agent work safe to resume, easy to inspect, and hard to accept without controller review.
.agents/
plugins/
marketplace.json
.claude-plugin/
marketplace.json
.gitignore
AGENTS.md
CLAUDE.md
core/
assets/
wakeflow-logo.svg
wakeflow-mark.svg
bin/
wakeflow-mcp
lib/
wakeflow-mcp-tools.mjs
wakeflow-process.mjs
wakeflow-runtime.mjs
wakeflow-trace.mjs
LICENSE
mcp/
server.cjs
schemas/
wakeflow-config.schema.json
wakeflow-state-machine/
automation-dispatch.schema.json
controller-event.schema.json
demand-authority.schema.json
projection.schema.json
target-result.schema.json
task-package.schema.json
transition-candidate.schema.json
wakeflow-state.schema.json
scripts/
lib/
wakeflow-active-demands.mjs
wakeflow-artifact-identity.mjs
wakeflow-config.mjs
wakeflow-controller-events.mjs
wakeflow-controller-return.mjs
wakeflow-delivery-evidence.mjs
wakeflow-delivery-status-command.mjs
wakeflow-delivery-store.mjs
wakeflow-demand-authority.mjs
wakeflow-dispatch-commands.mjs
wakeflow-dispatch-group-review.mjs
wakeflow-document-placement.mjs
wakeflow-fs-safety.mjs
wakeflow-host-profile.mjs
wakeflow-idempotency.mjs
wakeflow-keep-live.mjs
wakeflow-language.mjs
wakeflow-mainline-health.mjs
wakeflow-pod-reservations.mjs
wakeflow-pod-runtime.mjs
wakeflow-progress-appends.mjs
wakeflow-redaction.mjs
wakeflow-result-contract.mjs
wakeflow-result-recording-commands.mjs
wakeflow-return-policy.mjs
wakeflow-review-commands.mjs
wakeflow-review-pack.mjs
wakeflow-review-scope.mjs
wakeflow-rule-model.mjs
wakeflow-runtime-summary.mjs
wakeflow-state-lock.mjs
wakeflow-state-paths.mjs
wakeflow-state-results.mjs
wakeflow-state-transition.mjs
wakeflow-status-machine.mjs
wakeflow-storage-map.mjs
wakeflow-stream-overlay.mjs
wakeflow-task-package.mjs
wakeflow-thread-registry.mjs
wakeflow-todo-table.mjs
wakeflow-trace-spine-command.mjs
wakeflow-window-runtime.mjs
wakeflow-workspace-projection.mjs
verify-workspace-docs.mjs
wakeflow-archive-docs.mjs
wakeflow-archive-summaries.mjs
wakeflow-archive-todo.mjs
wakeflow-check-boundary.mjs
wakeflow-check-layout.mjs
wakeflow-check-repository-residue.mjs
wakeflow-check-runtime.mjs
wakeflow-check-scripts.mjs
wakeflow-cli.mjs
wakeflow-delivery.mjs
wakeflow-demand-sequence.mjs
wakeflow-intake.mjs
wakeflow-next-work.mjs
wakeflow-pod.mjs
wakeflow-render-progress.mjs
wakeflow-repo-status.mjs
wakeflow-runtime.mjs
wakeflow-setup.mjs
wakeflow-smoke.mjs
wakeflow-state.mjs
wakeflow-storage.mjs
wakeflow-todo.mjs
wakeflow-validate.mjs
wakeflow-verify.mjs
skills/
wakeflow-governance/
references/
design-test-skill-realization-source-map.md
phased-migration.md
skill-writing-style.md
testing-validation.md
todo-backlog.md
wakeflow-target-craft/
SKILL.md
wakeflow.config.example.json
wakeflow.config.json
docs/
wakeflow-architecture-deep-dive-2026-07-02.md
wakeflow-dual-edition-architecture-and-state-flow.md
wakeflow-dual-edition-architecture-and-state-flow.zh-CN.md
wakeflow-execution-craft-plan-2026-07-09.md
wakeflow-hardening-design-compliance-2026-07-30.md
wakeflow-host-managed-complete-pod-requirement-design-2026-07-31.md
wakeflow-local-information-authority-refactor-requirement-2026-08-04.md
wakeflow-local-storage-clarity-plan-2026-07-04.md
wakeflow-next-phase-roadmap-2026-07-02.md
wakeflow-surface-reduction-2026-07-10.md
wakeflow-unified-multi-demand-plan-2026-07-10.md
LICENSE
package-lock.json
package.json
plugins/
claude-code-wakeflow/
.claude-plugin/
plugin.json
.mcp.json
assets/
wakeflow-logo.svg
wakeflow-mark.svg
bin/
wakeflow-mcp
CLAUDE.md
commands/
check.md
dispatch.md
init.md
review.md
status.md
unattended.md
windows.md
lib/
wakeflow-mcp-tools.mjs
wakeflow-process.mjs
wakeflow-runtime.mjs
wakeflow-trace.mjs
LICENSE
mcp/
server.cjs
package.json
README.md
README.zh-CN.md
schemas/
wakeflow-config.schema.json
wakeflow-state-machine/
automation-dispatch.schema.json
controller-event.schema.json
demand-authority.schema.json
projection.schema.json
target-result.schema.json
task-package.schema.json
transition-candidate.schema.json
wakeflow-state.schema.json
scripts/
lib/
wakeflow-active-demands.mjs
wakeflow-artifact-identity.mjs
wakeflow-claude-host.mjs
wakeflow-config.mjs
wakeflow-controller-events.mjs
wakeflow-controller-return.mjs
wakeflow-delivery-evidence.mjs
wakeflow-delivery-status-command.mjs
wakeflow-delivery-store.mjs
wakeflow-demand-authority.mjs
wakeflow-dispatch-commands.mjs
wakeflow-dispatch-group-review.mjs
wakeflow-document-placement.mjs
wakeflow-fs-safety.mjs
wakeflow-host-artifact-checks.mjs
wakeflow-host-profile.mjs
wakeflow-host-send-adapter.mjs
wakeflow-idempotency.mjs
wakeflow-keep-live.mjs
wakeflow-language.mjs
wakeflow-mainline-health.mjs
wakeflow-pod-reservations.mjs
wakeflow-pod-runtime.mjs
wakeflow-progress-appends.mjs
wakeflow-redaction.mjs
wakeflow-result-contract.mjs
wakeflow-result-recording-commands.mjs
wakeflow-return-policy.mjs
wakeflow-review-commands.mjs
wakeflow-review-pack.mjs
wakeflow-review-scope.mjs
wakeflow-rule-model.mjs
wakeflow-runtime-summary.mjs
wakeflow-state-lock.mjs
wakeflow-state-paths.mjs
wakeflow-state-results.mjs
wakeflow-state-transition.mjs
wakeflow-status-machine.mjs
wakeflow-storage-map.mjs
wakeflow-stream-overlay.mjs
wakeflow-task-package.mjs
wakeflow-thread-registry.mjs
wakeflow-todo-table.mjs
wakeflow-trace-spine-command.mjs
wakeflow-window-runtime.mjs
wakeflow-workspace-projection.mjs
README.md
verify-workspace-docs.mjs
wakeflow-archive-docs.mjs
wakeflow-archive-summaries.mjs
wakeflow-archive-todo.mjs
wakeflow-check-boundary.mjs
wakeflow-check-layout.mjs
wakeflow-check-repository-residue.mjs
wakeflow-check-runtime.mjs
wakeflow-check-scripts.mjs
wakeflow-cli.mjs
wakeflow-core-manifest.json
wakeflow-delivery.mjs
wakeflow-demand-sequence.mjs
wakeflow-intake.mjs
wakeflow-next-work.mjs
wakeflow-pod.mjs
wakeflow-render-progress.mjs
wakeflow-repo-status.mjs
wakeflow-runtime.mjs
wakeflow-setup.mjs
wakeflow-smoke.mjs
wakeflow-state.mjs
wakeflow-storage.mjs
wakeflow-todo.mjs
wakeflow-validate.mjs
wakeflow-verify.mjs
skills/
wakeflow-controller/
SKILL.md
wakeflow-governance/
references/
agents-rule-map.md
design-test-skill-realization-source-map.md
direct-thread-window-config.md
phased-migration.md
script-pipeline.md
skill-writing-style.md
stage-route-map.md
testing-validation.md
todo-backlog.md
wakeflow-architecture.md
wakeflow-delivery.md
wakeflow-ledgers.md
window-dispatch.md
SKILL.md
wakeflow-target/
wakeflow-target-craft/
SKILL.md
SKILL.md
templates/
wakeflow-template-bundle.json
wakeflow.config.example.json
wakeflow.config.json
codex-wakeflow/
.codex-plugin/
plugin.json
.mcp.json
AGENTS.md
assets/
wakeflow-logo.svg
wakeflow-mark.svg
bin/
wakeflow-mcp
lib/
wakeflow-mcp-tools.mjs
wakeflow-process.mjs
wakeflow-runtime.mjs
wakeflow-trace.mjs
LICENSE
mcp/
server.cjs
package.json
README.md
README.zh-CN.md
schemas/
wakeflow-config.schema.json
wakeflow-state-machine/
automation-dispatch.schema.json
controller-event.schema.json
demand-authority.schema.json
projection.schema.json
target-result.schema.json
task-package.schema.json
transition-candidate.schema.json
wakeflow-state.schema.json
scripts/
lib/
wakeflow-active-demands.mjs
wakeflow-artifact-identity.mjs
wakeflow-codex-pod-host.mjs
wakeflow-config.mjs
wakeflow-controller-events.mjs
wakeflow-controller-return.mjs
wakeflow-delivery-evidence.mjs
wakeflow-delivery-status-command.mjs
wakeflow-delivery-store.mjs
wakeflow-demand-authority.mjs
wakeflow-dispatch-commands.mjs
wakeflow-dispatch-group-review.mjs
wakeflow-document-placement.mjs
wakeflow-fs-safety.mjs
wakeflow-host-artifact-checks.mjs
wakeflow-host-profile.mjs
wakeflow-host-send-adapter.mjs
wakeflow-idempotency.mjs
wakeflow-keep-live.mjs
wakeflow-language.mjs
wakeflow-mainline-health.mjs
wakeflow-pod-reservations.mjs
wakeflow-pod-runtime.mjs
wakeflow-progress-appends.mjs
wakeflow-redaction.mjs
wakeflow-result-contract.mjs
wakeflow-result-recording-commands.mjs
wakeflow-return-policy.mjs
wakeflow-review-commands.mjs
wakeflow-review-pack.mjs
wakeflow-review-scope.mjs
wakeflow-rule-model.mjs
wakeflow-runtime-summary.mjs
wakeflow-state-lock.mjs
wakeflow-state-paths.mjs
wakeflow-state-results.mjs
wakeflow-state-transition.mjs
wakeflow-status-machine.mjs
wakeflow-storage-map.mjs
wakeflow-stream-overlay.mjs
wakeflow-task-package.mjs
wakeflow-thread-registry.mjs
wakeflow-todo-table.mjs
wakeflow-trace-spine-command.mjs
wakeflow-window-runtime.mjs
wakeflow-workspace-projection.mjs
README.md
verify-workspace-docs.mjs
wakeflow-archive-docs.mjs
wakeflow-archive-summaries.mjs
wakeflow-archive-todo.mjs
wakeflow-check-boundary.mjs
wakeflow-check-layout.mjs
wakeflow-check-repository-residue.mjs
wakeflow-check-runtime.mjs
wakeflow-check-scripts.mjs
wakeflow-cli.mjs
wakeflow-core-manifest.json
wakeflow-delivery.mjs
wakeflow-demand-sequence.mjs
wakeflow-intake.mjs
wakeflow-next-work.mjs
wakeflow-pod.mjs
wakeflow-render-progress.mjs
wakeflow-repo-status.mjs
wakeflow-runtime.mjs
wakeflow-setup.mjs
wakeflow-smoke.mjs
wakeflow-state.mjs
wakeflow-storage.mjs
wakeflow-todo.mjs
wakeflow-validate.mjs
wakeflow-verify.mjs
skills/
wakeflow-controller/
SKILL.md
wakeflow-governance/
references/
agents-rule-map.md
design-test-skill-realization-source-map.md
direct-thread-window-config.md
phased-migration.md
script-pipeline.md
skill-writing-style.md
stage-route-map.md
testing-validation.md
todo-backlog.md
wakeflow-architecture.md
wakeflow-delivery.md
wakeflow-ledgers.md
window-dispatch.md
SKILL.md
wakeflow-target/
... 86 more© 2026 Flowy · Free and open source
Built for Claude Code · Not affiliated with Anthropic
controllerSelfCheckswakeflow_complete_demand and wakeflow_archive close the story into the
ledger. Demand archive dry-run reports real-id and absolute-path findings;
use redact: true to commit a re-scanned portable copy while preserving the
original locally.
If a verified same-scope gap appears after completion but before archive,
wakeflow_continue_demand preserves that completion and adds the
first bug/supplement/authorized-optimization package. Archived history stays
immutable; independent follow-up work uses a new demand.