Skip to content

plan(006): define minimal agentic control architecture - #68

Merged
TheHalfMoon merged 3 commits into
mainfrom
plan/006-agentic-terminal-local-delegation-control-plane
Aug 20, 2026
Merged

plan(006): define minimal agentic control architecture#68
TheHalfMoon merged 3 commits into
mainfrom
plan/006-agentic-terminal-local-delegation-control-plane

Conversation

@TheHalfMoon

@TheHalfMoon TheHalfMoon commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Status

READY TO MERGE / PLAN-ONLY — TASKS AND IMPLEMENTATION REMAIN BLOCKED

This PR adds the formal Spec 006 implementation Plan after canonical specification PR #67.

Canonical base:
c321d510463b207cd515ed391a47d4fb454fbe07

Final exact candidate:
a337e93000f3c38a875d81dd5943620e59806d69

Final candidate tree:
d30b617e7cf038c91d5cdbff03f73142ebe07609

Exact scope

One new file only:

specs/006-agentic-terminal-local-delegation-control-plane/plan.md

Relative to canonical base: +568/-0, ahead 3, behind 0.

No tasks.md, source/runtime code, tests, Cargo.toml, Cargo.lock, migration, workflow-semantic change, agent execution, prompt/model/provider call, ACP dependency, MCP, daemon/IPC, or remote execution is present.

Accepted architecture

  • keep one Rust package/process and reuse existing Store/SQLite WAL, system Git, execution ledger, process-ownership/OWNERSHIP_LOST discipline, candidate verification, and CLI surfaces;
  • preserve distinct workspace -> workstream/task -> Winds-session -> runtime-native-session identities; runtime identity remains distinct from model/provider identity;
  • winds_sessions references workstreams and does not duplicate workspace_id; workspace ownership is derived through workstream_id -> workstreams.workspace_id, eliminating cross-workspace session/workstream mismatch by construction;
  • deterministic context capsules are bounded projections of canonical facts/references, not a transcript/vector-memory database;
  • authority/delegation evaluation is pure and deterministic before live execution; policy intent is distinct from actual enforcement quality;
  • WINDS_ENFORCED is forbidden where a runtime can bypass Winds mediation;
  • candidate verification remains canonical and separate; agent status never upgrades verification authority.

Runtime decisions

Codex

Use the official local App Server path only when a later exact Task authorizes live execution. Required handshake is explicit:

initialize request -> successful initialize response -> initialized notification -> only then thread/other methods

Use bounded vendor-specific JSONL/stdio messages with existing serde/serde_json unless implementation evidence proves otherwise. Do not scrape the TUI.

Claude Code

Use the official local structured CLI path first. Exact native resume may use --resume <session-id> only when the binding is proven. Recency-based --continue is never canonical Winds continuity. --dangerously-skip-permissions is prohibited. First live Claude role remains Planner/read-plan oriented unless a later exact Task proves stronger safe mediation.

ACP

The canonical ACP v1/schema-v1.20.0/Rust SDK 2.0.0 pin remains valid, but no ACP crate is landed by this Plan. A future accepted Task may add it only if a selected runtime path actually requires ACP and after a fresh exact dependency/license/MSRV/platform audit. MCP remains out.

Exact-head acceptance evidence

For exact final candidate a337e93000f3c38a875d81dd5943620e59806d69:

  • quality #636 / run 32424475529 = SUCCESS
  • final author architecture/correctness/safety review = AUTHOR_PLAN_REVIEW_PASS
  • final author Ponytail review = PONYTAIL_PLAN_PASS_AFTER_FINAL_REPAIR
  • CodeRabbit independently reviewed the full candidate stack through 2925f772... and reported no actionable comments after the Codex handshake repair
  • Qodo independently found the cross-workspace session/workstream defect; exact final repair removes the duplicated workspace field, and Qodo itself resolved its review thread after that repair
  • zero unresolved material review threads remain
  • diff remains exactly one Plan file and canonical base remains unchanged

Historical prior-head reviews are not counted as exact-final author evidence except as part of the explicitly described independent review stack. The Qodo resolution reaches the final exact head.

Explicit non-authorization

Accepting this Plan authorizes only creation/review of a separate tasks.md. It does not authorize implementation, migrations, dependencies, agent launch, prompts, model/provider calls, ACP transport, MCP, daemon/IPC, remote execution, or automatic landing.

Merge guard

Merge only if:

  • main == c321d510463b207cd515ed391a47d4fb454fbe07;
  • PR head == a337e93000f3c38a875d81dd5943620e59806d69;
  • diff remains exactly one plan.md;
  • quality #636 remains SUCCESS on that head;
  • no unresolved material review thread exists;
  • PR remains mergeable.

Use expected-head guard a337e93000f3c38a875d81dd5943620e59806d69.

@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: f262ce8d-f286-43ba-9740-1dccfee0e74e

📥 Commits

Reviewing files that changed from the base of the PR and between c321d51 and 2925f77.

📒 Files selected for processing (1)
  • specs/006-agentic-terminal-local-delegation-control-plane/plan.md

Included review availability: Your plan provides up to 10 included reviews per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The PR adds a complete implementation plan for a single-process, local-first Agentic control plane. It defines runtime integrations, identity and persistence models, delegation controls, Git review handling, testing requirements, and implementation gates.

Changes

Agentic Control Plane Plan

Layer / File(s) Summary
Control plane architecture and delivery plan
specs/006-agentic-terminal-local-delegation-control-plane/plan.md
Defines workspace, workstream, and session identity; runtime discovery; deterministic context capsules; authority and enforcement evaluation; Codex and Claude integrations; delegation and Git review flows; persistence sequencing; fault tests; phased Tasks sequencing; and independent-review gates. It also prohibits premature source changes, migrations, runtime launches, daemons, remote execution, ACP/MCP adoption, and automatic landing.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 2925f

This PR adds a plan only and does not change runtime behavior, dependencies, data, or deployment configuration; no actionable merge-blocking risk remains beyond normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly identifies the addition of the minimal agentic control architecture plan for Spec 006.
Description check ✅ Passed The description clearly documents the plan-only scope, traceability, review evidence, safety invariants, findings, and merge conditions.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch plan/006-agentic-terminal-local-delegation-control-plane

Comment @coderabbitai help to get the list of available commands.

@TheHalfMoon TheHalfMoon left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AUTHOR PLAN / ARCHITECTURE / CORRECTNESS / SAFETY / PONYTAIL REVIEW

Exact candidate: c8392aa6862b5674b1e691c2f7f6fdb7efd05eb6
Exact base: c321d510463b207cd515ed391a47d4fb454fbe07

VERDICT: AUTHOR_PLAN_REVIEW_PASS / PONYTAIL_PLAN_PASS_WITH_EXPLICIT_YAGNI_DECISIONS.

No material author finding.

Architecture checks:

  • the Plan reuses the existing one-package/one-process architecture, existing workspaces, SQLite/WAL Store, system Git, executions, candidate verification tables, process ownership semantics, and simple CLI dispatch rather than creating a second control plane;
  • canonical workstream/task, Winds session, and runtime-native session are separate identities; runtime/model identity is also kept separate;
  • canonical context is a deterministic projection of bounded typed facts/references, not a transcript database/vector store/memory service;
  • canonical Winds sessions are not incorrectly modelled as executions; actual runtime activity may later use the existing execution ledger plus typed child records;
  • candidate verification remains in the existing candidate_runs/evidence model and cannot be promoted by agent status;
  • the authority evaluator is planned as a pure deterministic decision function before live execution; protected policy remains outside ordinary governed worktree content;
  • policy intent and actual enforcement remain separate, with WINDS_ENFORCED forbidden where a runtime can bypass Winds mediation;
  • process/native IDs are never sufficient live ownership after Winds restart; existing ownership-loss discipline is preserved.

Live-control evidence checks against current official sources:

  • Codex first concrete control path is the official App Server JSONL/stdio surface with initialize, durable thread create/resume/fork, structured turn/item events, and server approval requests. The Plan deliberately calls it vendor-specific JSON-RPC-like/JSONL and does not introduce a generic JSON-RPC framework;
  • Claude Code first path uses the official local structured CLI (--print, JSON/stream-json, exact --resume <session-id>). Recency-based --continue is explicitly rejected as Winds canonical identity, and --dangerously-skip-permissions is prohibited;
  • Claude is intentionally Planner/read-plan oriented in the first live skeleton if stronger non-interactive mediation cannot be proven without excluded surfaces. The Plan does not force feature parity between heterogeneous runtimes;
  • ACP v1/schema-v1.20.0/SDK 2.0.0 remains the canonical pin, but the Plan defers the crate until an actual selected runtime requires ACP. This removes an otherwise unused dependency;
  • MCP, hosted Managed Agents, remote execution, network listeners, daemon/IPC, recursive fleets, plugin marketplaces, custom renderers, SQL Studio, and LLM Observatory remain outside the first program.

Ponytail challenge of the 841-line document:

  • length is mostly acceptance/security reasoning and ordered implementation constraints, not 841 lines of invented component surface;
  • proposed module/table names are explicitly conceptual and tasks may create them only when a proven slice requires them;
  • the Plan avoids a generic AgentRuntime trait and instead requires closed Codex/Claude enum/match dispatch unless a third real runtime proves a shared seam;
  • identity/context/authority phases add no new dependency and require fixture-only proof before real agent execution;
  • ACP, async runtime, HTTP client, JSON-RPC library, policy engine, vector DB, embedding/tokenization, fuzzy matcher, process supervisor, and second event/persistence systems are explicitly rejected unless later evidence requires them;
  • P2 findability is deferred until the P1 loop is proven;
  • no live-agent 100-cycle soak is invented; deterministic fixture/protocol repetition precedes any bounded live repetition.

One important planning conclusion: the first live differentiated path may legitimately be asymmetric — Claude Planner with weaker/agent-native read-plan enforcement and Codex App Server Worker with structured approvals — because the Plan requires truthful enforcement labels rather than pretending both runtimes expose identical controls.

This is author-side evidence and MUST NOT count as the independent reviewer pass.

@TheHalfMoon
TheHalfMoon marked this pull request as ready for review August 20, 2026 22:23

Copy link
Copy Markdown
Owner Author

@coderabbitai review

Please review exact current head c8392aa6862b5674b1e691c2f7f6fdb7efd05eb6 against base c321d510463b207cd515ed391a47d4fb454fbe07. Focus on hidden architecture/over-engineering, incorrect current Codex App Server or Claude Code assumptions, security/authority overclaims, whether ACP deferral is consistent with the canonical spec, and whether any proposed module/table should be removed or deferred before Tasks.

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Spec 006 Plan: Minimal agentic terminal/local delegation control architecture

📝 Documentation 🕐 20-40 Minutes

Grey Divider

AI Description

• Add Spec 006 implementation plan for a minimal, local-first agentic control loop.
• Define identity/continuity, deterministic context capsules, and delegated authority evaluation
 boundaries.
• Specify phased rollout and constrained runtime integration for Codex App Server and Claude Code.
Diagram

graph TD
  CLI["winds CLI"] --> COORD["Agentic coordinator"] --> AUTH["Authority evaluator"]
  COORD --> CTX["Context capsule"] --> STORE[("SQLite Store")]
  COORD --> CODEX{{"Codex App Server"}}
  COORD --> CLAUDE{{"Claude Code CLI"}}
  COORD --> GIT["System Git"] --> VERIFY["winds verify"] --> STORE

  subgraph Legend
    direction LR
    _svc["Component"] ~~~ _db[("Database")] ~~~ _ext{{"External runtime"}}
  end
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Generic runtime/plugin framework from day one
  • ➕ Potentially easier to add third/fourth runtimes later
  • ➕ Can unify disparate protocol handling behind a common interface
  • ➖ High up-front complexity and abstraction risk before needs are proven
  • ➖ Encourages premature config schemas/registries and weakens fail-closed behavior
  • ➖ Conflicts with Plan’s goal of two concrete, officially supported local surfaces first
2. Persist full transcript/memory store as canonical state
  • ➕ Makes resume/replay across runtimes appear simpler
  • ➕ Provides a single place to search historical context
  • ➖ Creates a second “truth” database that can conflict with observed Git/evidence
  • ➖ Increases prompt-injection and provenance/authority ambiguity
  • ➖ Larger storage/privacy surface; violates Plan’s deterministic projection goals
3. Introduce a daemon/IPC control plane for session ownership
  • ➕ Could support long-lived runtime ownership across CLI invocations
  • ➕ Centralizes process supervision and multiplexing
  • ➖ Significantly increases operational and security surface area
  • ➖ Premature for proving Spec 006’s differentiated loop
  • ➖ Contradicts the Plan’s explicit single-process, local-first boundary

Recommendation: The Plan’s minimal, single-process approach with closed-form runtime dispatch (Codex + Claude Code) is the right first implementation strategy. It reduces moving parts while forcing clear separation of canonical identity, deterministic context projection, and existing verification authority. The main alternatives (plugin framework, transcript DB, daemon/IPC) are worth revisiting only after at least one end-to-end Planner→Worker walking skeleton proves the seams and real reuse points.

Files changed (1) +841 / -0

Documentation (1) +841 / -0
plan.mdAdd Spec 006 implementation plan for minimal agentic control plane +841/-0

Add Spec 006 implementation plan for minimal agentic control plane

• Introduces an 800+ line plan defining a single-process, local-first architecture for Spec 006. Details canonical identity/continuity, deterministic context capsule generation, authority/delegation evaluation, bounded runtime discovery, and phased Codex/Claude integration without changing verification semantics.

specs/006-agentic-terminal-local-delegation-control-plane/plan.md

@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

base="c321d510463b207cd515ed391a47d4fb454fbe07"
head="c8392aa6862b5674b1e691c2f7f6fdb7efd05eb6"

echo "== Verify commits and ancestry =="
git show -s --format='%H%n%P%n%s' "$base"
git show -s --format='%H%n%P%n%s' "$head"
git merge-base --is-ancestor "$base" "$head" && echo "base-is-ancestor=yes"

echo "== Changed paths and diff stat =="
git diff --stat "$base" "$head"
git diff --name-status "$base" "$head"

echo "== Locate Spec 006 files =="
fd -t f . specs | rg '006-agentic-terminal-local-delegation-control-plane|(^|/)spec\.md$|(^|/)plan\.md$' || true

echo "== Outline candidate Markdown files =="
ast-grep outline specs/006-agentic-terminal-local-delegation-control-plane --items all 2>/dev/null || true

echo "== New plan with line numbers =="
git show "$head:specs/006-agentic-terminal-local-delegation-control-plane/plan.md" | nl -ba

echo "== Other files in Spec 006 at base and head =="
git ls-tree -r --name-only "$base" specs/006-agentic-terminal-local-delegation-control-plane 2>/dev/null || true
git ls-tree -r --name-only "$head" specs/006-agentic-terminal-local-delegation-control-plane 2>/dev/null || true

Length of output: 2650


🏁 Script executed:

#!/bin/bash
set -euo pipefail

plan="specs/006-agentic-terminal-local-delegation-control-plane/plan.md"
spec="specs/006-agentic-terminal-local-delegation-control-plane/spec.md"

print_numbered() {
  local file="$1"
  local start="$2"
  local end="$3"
  echo "== ${file}: lines ${start}-${end} =="
  sed -n "${start},${end}p" "$file" | awk -v n="$start" '{ printf "%5d\t%s\n", n++, $0 }'
}

echo "== Plan headings =="
awk '/^#{1,6} / { printf "%5d\t%s\n", NR, $0 }' "$plan"

echo "== Specification headings =="
awk '/^#{1,6} / { printf "%5d\t%s\n", NR, $0 }' "$spec"

echo "== Plan key-term occurrences with context =="
rg -n -i -C 2 \
  'Codex|Claude|ACP|MCP|App Server|JSONL|JSON-RPC|--continue|--resume|dangerously-skip-permissions|authority|delegat|enforc|sandbox|worktree|Store|SQLite|table|module|schema|migration|runtime|session|context capsule|execution|verification|candidate|human' \
  "$plan"

print_numbered "$plan" 1 220
print_numbered "$plan" 221 440
print_numbered "$plan" 441 660
print_numbered "$plan" 661 900

echo "== Complete canonical specification =="
awk '{ printf "%5d\t%s\n", NR, $0 }' "$spec"

Length of output: 144329


🤖 web_search executed:

Official OpenAI Codex App Server documentation current JSONL stdio initialize threads resume fork approval requests protocol

Length of output: 20298


🤖 web_search executed:

Official Anthropic Claude Code CLI documentation --print --output-format stream-json --input-format stream-json --resume --continue --permission-mode plan allowedTools disallowedTools

Length of output: 20639


🏁 Script executed:

#!/bin/bash
set -euo pipefail

base="c321d510463b207cd515ed391a47d4fb454fbe07"

echo "== Baseline top-level Rust file map =="
git ls-tree -r --name-only "$base" | rg '(^|/)(main|store|domain|execution|cli_workspace|git)\.rs$|^src/git/' || true

echo "== Baseline persistence and ownership symbols =="
git grep -n -E \
  'CREATE TABLE (workspaces|executions|execution_events|candidate_runs|evidence_reports|promotions|events)|OwnershipLost|enum ExecutionStatus|enum ExecutionKind|struct Store' \
  "$base" -- 'src/**/*.rs' ':!target' || true

echo "== Baseline verification CLI and worktree symbols =="
git grep -n -E \
  'winds verify|verify|worktree|candidate_runs|evidence_reports|promotions' \
  "$base" -- 'src/**/*.rs' ':!target' | head -n 240 || true

echo "== ACP audit file referenced by the spec =="
git ls-tree -r --name-only "$base" | rg 'agent-client-protocol-v1-sdk-2\.0\.0-entry-audit\.md$' || true
git show "$base:docs/provenance/agent-client-protocol-v1-sdk-2.0.0-entry-audit.md" 2>/dev/null | sed -n '1,260p' || true

Length of output: 8201


@TheHalfMoon I found one material plan issue.

  • Medium — Complete the Codex App Server handshake requirement. Line 59 states that the client sends initialize before other methods. The current App Server protocol also requires the client to send the initialized notification after the successful initialize response and before thread/start, thread/resume, or any other request. The plan later says to “complete the required initialization handshake” on Line 296, but it does not define the missing notification. A task can therefore implement an incomplete sequence that the server rejects. State the required sequence explicitly: initialize request, successful response, initialized notification, then other protocol methods. OpenAI App Server documentation

I found no other material issue in the requested areas.

  • ACP deferral is consistent with Spec 006 and the referenced ACP entry audit. The plan preserves the pin and requires a new dependency audit before landing agent-client-protocol.
  • The Codex and Claude paths use current supported structured local interfaces. The plan does not treat native resume as canonical continuity.
  • The plan correctly limits Claude Code to a read/plan-oriented first role. It does not claim that its permission modes provide a Winds or OS sandbox.
  • The plan separates policy evaluation from enforcement. It reserves WINDS_ENFORCED for mediated paths.
  • The proposed modules and tables are conceptual only. The plan defers each until an accepted task needs it. This is consistent with the plan-only scope and avoids premature framework work.
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@qodo-code-review

qodo-code-review Bot commented Aug 20, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Action required

1. Prevent cross-workspace session links ✓ Resolved 🐞 Bug ≡ Correctness
Description
The proposed winds_sessions schema requires independent foreign keys for workspace_id and
workstream_id, but does not require that the workstream belongs to that same workspace. A valid
workstream from repository A could therefore be paired with workspace B, misbinding subsequent
context, authority, and candidate state to the wrong repository.
Code

specs/006-agentic-terminal-local-delegation-control-plane/plan.md[R179-182]

+- stable opaque `session_id`;
+- `workspace_id` and `workstream_id` FKs;
+- user-editable display name;
+- optional origin/fork session reference;
Relevance

●●● Strong

Recent reviews accept fail-closed workspace-boundary and persistence-integrity invariants; no close
rejection precedent applies.

PR-#12
PR-#14
PR-#37

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The plan defines workstreams as subordinate to a workspace but only lists independent foreign keys
for sessions. Existing schema patterns do not add a cross-workspace relationship automatically, so
the later migration would be able to persist a structurally valid but semantically mismatched
session.

specs/006-agentic-terminal-local-delegation-control-plane/plan.md[153-167]
specs/006-agentic-terminal-local-delegation-control-plane/plan.md[178-183]
specs/006-agentic-terminal-local-delegation-control-plane/plan.md[454-460]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The identity migration currently specifies separate `workspace_id` and `workstream_id` foreign keys for `winds_sessions`, which permits a session to reference an existing workstream belonging to a different workspace.

### Issue Context
Workstreams are defined as belonging to a workspace, and workspace/workstream/session identity drives context, authority, and candidate association. Independent foreign keys only prove that both rows exist; they do not prove that the relationship is internally consistent.

### Fix Focus Areas
- specs/006-agentic-terminal-local-delegation-control-plane/plan.md[161-183]

Require an explicit cross-ownership invariant, such as a composite unique key on `(workstream_id, workspace_id)` and a matching composite foreign key on `winds_sessions`, or an equivalent transactional/domain validation that is guaranteed for every write.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
✅ Compliance rules (platform): 12 rules
Review mode: 🚀 Fast: This is a single plan-only Markdown file with no runtime, configuration, schema, or test changes; its logic is localized to documenting future implementation steps, so a light review is sufficient.

Grey Divider

Tip of the day
💡 Did you know, you can copy the agent prompt from any finding and feed it to your IDE agent

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread specs/006-agentic-terminal-local-delegation-control-plane/plan.md

@TheHalfMoon TheHalfMoon left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AUTHOR PLAN RE-REVIEW — EXACT REPAIRED HEAD

Exact candidate: 2925f772096b649ba154c35ab9d8a8536c232256
Exact base: c321d510463b207cd515ed391a47d4fb454fbe07

VERDICT: AUTHOR_PLAN_REVIEW_PASS / PONYTAIL_PLAN_PASS_AFTER_REPAIR.

The prior c8392aa... evidence is historical only and is not counted for this head.

Verified on the repaired candidate:

  • diff remains exactly one Plan file; no Tasks, source, tests, dependency/lockfile, migration, workflow semantics, runtime execution, model/provider call, MCP, daemon/IPC, or remote control is introduced;
  • CodeRabbit's material Codex handshake finding is repaired explicitly in both protocol facts and the future lifecycle: initialize request -> successful response -> initialized notification -> only then thread/other methods;
  • the Plan was compressed from 841 to 691 lines while preserving the same accepted architecture/security boundaries; no extra correction artifact or abstraction was added;
  • one package/process and reuse of existing Store/system-Git/execution/candidate-verification/process-ownership semantics remain the architectural baseline;
  • workstream/task, Winds session, runtime-native session, runtime, and model identities remain distinct;
  • context remains a deterministic bounded projection rather than a transcript/vector-memory store;
  • authority evaluation remains pure and separate from actual enforcement; WINDS_ENFORCED remains forbidden where the runtime can bypass Winds mediation;
  • Codex uses the official App Server structured local path; Claude uses its official structured CLI with exact resume only, no recency-based canonical continuation, and no dangerous permission bypass;
  • ACP remains pinned but its crate remains deferred until a concrete ACP-speaking path requires it and passes a fresh dependency audit;
  • MCP, daemon/IPC, remote execution, generic runtime/plugin framework, recursive fleet, custom renderer, SQL Studio, LLM Observatory, automatic winner, and silent landing remain excluded;
  • fixture-only identity/discovery/context/authority phases remain before any real Agent process or prompt;
  • the Plan-to-Tasks gate still requires Tasks to name the exact first real Codex/prompt task and exact first real Claude/prompt task.

Ponytail result: replacing the 841-line version with the tighter 691-line version is preferable to appending a corrective addendum. No further module/table/dependency can be removed from the planning contract without dropping a canonical Spec 006 requirement or an explicit security/continuity gate.

This is author-side evidence and MUST NOT count as the independent reviewer pass.

@TheHalfMoon TheHalfMoon left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AUTHOR PLAN FINAL RE-REVIEW — EXACT FINAL CANDIDATE

Exact candidate: a337e93000f3c38a875d81dd5943620e59806d69
Exact base: c321d510463b207cd515ed391a47d4fb454fbe07

VERDICT: AUTHOR_PLAN_REVIEW_PASS / PONYTAIL_PLAN_PASS_AFTER_FINAL_REPAIR.

All earlier author evidence is historical only for prior heads.

Verified on this exact final candidate:

  • diff remains exactly one Plan file; no Tasks, source/runtime code, tests, dependency/lockfile, migration, workflow-semantic change, agent execution, prompt/model/provider call, ACP dependency, MCP, daemon/IPC, or remote execution is introduced;
  • CodeRabbit's Codex App Server handshake finding is repaired explicitly: initialize request -> successful response -> initialized notification -> only then thread/other methods;
  • Qodo's cross-workspace consistency finding is repaired by structural simplification: winds_sessions no longer duplicates workspace_id; workspace ownership is derived through winds_sessions.workstream_id -> workstreams.workspace_id, eliminating the inconsistent pair rather than adding a redundant composite relationship;
  • Qodo independently resolved its own material thread after the repair;
  • the Plan is reduced to 568 lines relative to canonical base while retaining all load-bearing Spec 006 acceptance/security boundaries;
  • one Rust package/process and reuse of existing Store/SQLite WAL, system Git, execution ledger, candidate verification, ownership-loss semantics, and CLI remain the baseline;
  • workstream/task, Winds session, runtime-native session, runtime, and model identities remain distinct;
  • context remains a deterministic bounded projection, not a transcript/vector-memory system;
  • authority evaluation remains pure and separate from actual enforcement; WINDS_ENFORCED is forbidden where the runtime can bypass Winds mediation;
  • Codex uses the current official App Server local structured path; Claude uses the official structured CLI with exact resume only, no recency-based canonical continuation, and no dangerous permission bypass;
  • ACP remains pinned but the crate remains deferred until a concrete selected runtime actually requires it and passes a fresh dependency audit;
  • fixture-only identity/discovery/context/authority work remains ordered before any real Agent process or prompt;
  • MCP, daemon/IPC, remote execution, plugin framework, recursive fleets, custom renderer, SQL Studio, LLM Observatory, automatic winner, and silent landing remain excluded.

Ponytail result: no remaining proposed table/module/dependency should be removed from the Plan without dropping a canonical Spec 006 requirement or explicit safety/continuity gate. The cross-workspace repair reduces duplicated state rather than adding machinery.

This is author-side evidence and MUST NOT count as the independent reviewer pass.

@TheHalfMoon
TheHalfMoon merged commit d37f4f8 into main Aug 20, 2026
4 checks passed
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