coder-loop
Run the Codex Optimized Development, Evaluation, and Remediation (CODER) Loop with an orchestration-only coordinator, non-overlapping task-family owners, fresh independent reviewers, evidence-scoped remediation, and final coordinator acceptance. Discover and compose optional MSW,
Install
npx skills add https://github.com/transcendr/slopware-skills/tree/main/plugins/coder-loop/skills/coder-loop
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install transcendr-slopware-skills@llmmart
git clone https://github.com/transcendr/slopware-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole transcendr/slopware-skills collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
CODER Loop
CODER stands for Codex Optimized Development, Evaluation, and Remediation. The loop uses bounded task-family review to give complex implementation clear ownership, independent evaluation, and evidence-scoped repair.
It is also the development engine of the Slopware Dev Stack: CVO can control it, MSW keeps it necessary, Timebox makes an authorized run converge, and MSL makes the user-facing result clear. Every layer remains optional and independently installable.
Turn a complex implementation into a small set of coherent ownership lanes, then make every candidate earn acceptance in a fresh context. Keep the parent as coordinator and final decision owner. Let workers implement, reviewers review, and only admitted acceptance gaps create repair work.
Activate the CODER Loop
Read references/companions.md once on activation. Discover the active Slopware companion catalog, apply the available composition rules, and present the stack once without delaying work.
When the user asks to learn CODER or see the Slopware Dev Stack, read references/workflows/tutorial.md and teach before taking any live action. The teaching-only tutorial does not require repository, project, task, or collaboration capabilities.
For bare activation without an implementation outcome, explain in one sentence that CODER uses bounded workers, fresh evaluation, and targeted remediation, then offer the tutorial, a real outcome, or the stack overview. Do not ask the vague question "what should we do?"
A live loop requires Codex collaboration capabilities that can provide at least one implementation subagent and one fresh review subagent. If either capability is unavailable, state what is missing and stop the live loop without claiming completion. Continue answering questions and teaching the tutorial.
Bind the decision
Before delegating, establish:
- the requested outcome;
- the complete candidate boundary, including source, tests, generated files, configuration, and relevant untracked files;
- the retained behavior that must survive;
- the smallest acceptance claims that prove the outcome;
- the current repository state and user changes that must be preserved;
- explicit scope, top-level task creation or fork, external-write, commit, and publication authority.
Ask only when a missing owner decision can materially change those facts. Do not turn setup into a form, ledger, acknowledgment, or approval ritual.
Decompose into task families
Define a task family as one coherent body of implementation with one owner, one candidate boundary, and one proof surface. Group closely related work when splitting it would create coordination without independent progress. Separate work when ownership, dependencies, files, or proof can remain distinct.
- Give each family exactly one implementation owner.
- Prevent overlapping file or behavior ownership. Sequence families whose candidates can invalidate each other.
- Run families concurrently only when they are genuinely independent.
- Preserve related repairs with the original worker when practical.
- Use one family when the task does not justify more. The CODER Loop never invents agent count or parallelism.
Use Codex collaboration
Read references/codex.md before spawning. Keep the current Codex task as the coordinator and use collaboration subagents as the standard mechanism for implementation, repair, integration, and independent review:
- use
fork_turns: "all"when a role needs the coordinator history and its current model and reasoning effort; - use
fork_turns: "99"with explicitmodelandreasoning_effortwhen a role needs inherited working context and a different execution profile; - use
fork_turns: "none"for a fresh independent reviewer, selecting its model and reasoning effort explicitly when required.
Always send the complete bounded role contract. Inherited context does not replace role, scope, candidate, evidence, or authority instructions.
Use a top-level Codex task only after the user explicitly authorizes its creation or fork and the role genuinely needs separate task lifecycle or addressability, project or worktree placement unavailable to the collaboration route, or an exact source-task history that the bounded subagent route cannot supply. The explicit fork and first-continuation procedure in the Codex reference is a fallback for those cases, not the normal model-routing mechanism. Without that authority, stay inside collaboration subagents or report the exact lifecycle need that remains unmet.
Choose the minimum capable model and reasoning effort from the settings exposed by the Codex route actually being used. Use a project or user model policy when one exists. Otherwise prefer the inherited model and change it only when task evidence shows that another capability or cost profile is needed. Never hard-code a vendor lineup into the loop.
Classify a task only when the host exposes a meaningful model choice:
- Mechanical: an exact reproducer, bounded required change, no unresolved contract, design, ownership, or proof choice, and deterministic evidence.
- Reasoning-required: uncertainty remains in cause, semantics, architecture, implementation direction, ownership, or proof design.
Assign the minimum capable worker. A small diff alone does not make a task mechanical. After review, classify a repair from the admitted gap rather than reusing the original task label by habit.
Run the implementation and review loop
For each task family:
- Send the bounded contract from references/role-contracts.md to its worker.
- Let the worker implement and verify the family. Collect the exact candidate, diff, and belonging evidence, not merely a success summary.
- Freeze that candidate long enough to review it. Start a fresh reviewer that did not implement it and has not received the implementer's reasoning or conclusions.
- Give the reviewer the decision, complete candidate boundary, retained behavior, acceptance claims, raw artifacts, and verification evidence.
- Apply references/review-kernel.md. Admit only observations whose deletion would leave an acceptance claim unmet or unsupported.
- Return each admitted blocking gap to the family owner for the smallest
sufficient repair. Do not turn optional improvements into repair work. If
the repair needs inherited working context with different model or
reasoning settings, use the same
fork_turns: "99"collaboration route. - Start another fresh review of the changed candidate. Reconsider only the acceptance claims the repair could affect.
- Repeat while an acceptance-blocking gap remains. Stop and withhold acceptance when a live gap cannot be closed inside the user's scope or authority.
Do not assign the reviewer to repair its own findings. A reviewer can explain evidence and contract impact, but the worker owns changes and the coordinator owns acceptance.
Preserve evidence across repairs
Treat review evidence as belonging to the candidate it observed. When the candidate changes, invalidate only evidence for claims the change could affect. Do not rerun unrelated review, discard still-belonging proof, or assume that a changed test suite proves retained product behavior.
Use the contract to decide what remains live:
- A newly added file makes any earlier review that omitted it incomplete.
- A narrow source repair does not erase unrelated proof.
- A changed test can settle only the behavior it actually observes.
- A removed behavior does not remain an acceptance claim unless the approved contract retains it.
Integrate and accept
Keep worker and reviewer reports as evidence, never as acceptance. Have the coordinator inspect the integrated candidate and identify any cross-family conflict. Route every required source, test, or configuration change to a bounded integration owner and review that candidate through the same loop. Then confirm the required proof and decide:
- accept when every live acceptance claim has belonging evidence; or
- withhold when at least one live claim remains unsettled.
Do not add an arbitrary review-round limit. Stop at the acceptance fixed point, an explicit user stop, or a genuine blocker. Report the accepted result and proof, or the exact open claim and authority needed to continue.
When an authorized Timebox wraps the loop, its hard stop ends work but never changes the acceptance test. Withhold acceptance for every unsettled claim and report the strongest proven candidate.
Review the completed loop
After acceptance or a genuine terminal block, read references/postmortem.md. Treat the postmortem as routing calibration, not another candidate review or acceptance gate.
Assess whether each task family's classification and model assignment proved sufficient, whether review or remediation changed that judgment, and whether scope, evidence, authority, or an authoritative time constraint explains the result better than model capability. Use the completed loop evidence and any comparable records already authorized by the project.
Recommend at most one controlled mapping change, and only when repeated comparable records show complete evidence, stable scope, and no reasoning-required remediation. One successful assignment never lowers a future default. Any recommendation applies only to the next comparable task and preserves the same independent-review standard.
Do not create a mandatory CODER_LEDGER.md or other record merely to prove the
loop ran. If no comparable history exists, treat the completed loop as one
observation and make no mapping change.
Preserve authority
Delegation never expands authority. Keep pushes, branch publication, pull or merge requests, comments, approvals, merges, deployments, destructive actions, and other external writes prohibited unless the user explicitly authorizes the specific action. Preserve implementation, staging, commit, and publication as separate boundaries.
Archive every temporary top-level fallback task that the CODER Loop created or forked after its role is terminal and the coordinator has captured its result and evidence. Never archive the coordinator, a pre-existing user task, a task still handling repair, or a task waiting for user input.
Do not create a mandatory ledger, timer, hook, advisor pass, model roster, or status ceremony. Apply another skill or project policy alongside the CODER Loop only when the user or an authoritative project rule invokes it. A required advisor can challenge the coordinator's judgment, but never replaces independent review or the coordinator's final acceptance decision.
Compose the Slopware Dev Stack
Use references/companions.md as the single contract for discovery, activation state, boundary ownership, installation, and stack presentation.
- Apply MSW to work admission when it is available.
- Activate Timebox only from explicit requester authority or applicable project policy. Keep one fixed clock owned by the CODER coordinator.
- Apply MSL once at the final user-facing boundary after raw evidence settles acceptance.
- Under CVO, keep the CODER Loop inside an owning work task. CVO routes committed intent and speaks material state; it never becomes the CODER coordinator, worker, reviewer, or clock owner.
When the user asks what the system supports, present the CODER development engine and optional stack layers as one coherent product family: install one layer or compose the stack. Every skill works alone, and all are free forever.
Files (slopware-skills)
-
agents
-
openai.yaml 310 B
interface: display_name: "CODER Loop" short_description: "Optimized Codex development and companion stack" default_prompt: "Use $coder-loop to coordinate this implementation with bounded ownership, independent review, and targeted remediation, then report the applicable Slopware Dev Stack layers once."
-
-
references
-
workflows
-
tutorial.md 5.5 KB
# Workflow: CODER Loop tutorial The tutorial is a named, opt-in onboarding process that teaches the CODER Loop and Slopware Dev Stack before offering any live demonstration. A tutorial request asks for explanation, not repository work. ## Invoke the tutorial Anchors: > Start the CODER Loop tutorial. Also activate on a clear ask such as "teach me CODER," "how does the CODER Loop work," or "show me the development stack." When the user asks only to see the stack, start at the companion-stack section instead of repeating the core tour. Offer the tutorial once when the user appears new to CODER and no loop is in flight. After a decline or non-selection, continue without repeating the offer. ## Teaching rules - Explain before demonstrating. The default tutorial uses no repository, project, task, collaboration, or installation tools and changes nothing. - Treat a named project, repository, task, branch, or change as teaching context, not authority to inspect, create, message, edit, test, or delegate. - Answer directly from the loaded skill and references. Never say "let me check" before explaining CODER behavior. - Teach in short sections. Let the user interrupt, ask for detail, skip ahead, or end the tutorial. - Preserve literal authority. Learning, companion discovery, and hypothetical decomposition never authorize a real CODER run. ## Start with the core explanation The first tutorial response should teach and sell the actual mechanism: > The CODER Loop turns one development outcome into bounded worker-owned > changes, independently evaluates every candidate, and sends only > acceptance-blocking gaps back for remediation. The coordinator accepts the > integrated result, cleans up temporary tasks, and uses completed evidence to > improve the next comparable routing decision. It works alone, while MSW, > Timebox, MSL, and CVO can optimize scope, convergence, communication, and > voice control. Ask about any part, say continue for the tour, or say show me > the stack. Adapt this to established context without dropping the distinctions. Do not ask for a real implementation request or imply that learning requires a worker. ## Basic tour When the user asks to continue, teach these concepts in order unless their question selects one directly: 1. **Outcome and task families.** The coordinator binds the complete candidate and proof, then creates only coherent implementation families with one owner each. 2. **Independent evaluation.** Every candidate goes to a fresh read-only reviewer that did not implement it and receives raw evidence rather than the worker's conclusion. 3. **Targeted remediation.** Only findings that leave acceptance unmet or unproven become repairs. Changed claims receive fresh review; unrelated belonging evidence survives. 4. **Acceptance and authority.** The coordinator accepts the integrated candidate. Delegation never authorizes commit, push, publication, merge, or deployment. 5. **Cleanup and evolution.** Any temporary top-level fallback tasks are archived when their role is terminal. The postmortem may improve one future comparable model assignment when repeated accepted evidence supports it. 6. **Slopware Dev Stack.** MSW controls scope, Timebox supplies an authorized convergence envelope, MSL shapes the final user report, and CVO supplies voice control. Every layer remains optional and independently installable. After the basic tour, answer questions or offer the advanced topics and an optional live demonstration. ## Optional live demonstration Run only the demonstration the user explicitly selects: - A hypothetical walkthrough decomposes an invented example and changes nothing. - Companion inspection reports active catalog state and changes nothing. - A real CODER run requires an explicit implementation outcome and the normal scope and authority binding. - Companion installation requires explicit permission for exact plugins. Naming a real repository or task while learning selects an example, not a live action. Never spawn a worker, inspect state, or install a plugin until the user separately asks for that action. ## Advanced tour Explain each selected topic before offering a demonstration: 1. **Model routing.** Mechanical and reasoning-required work receive the minimum capable execution profile. Collaboration subagents normally own every internal role. A role that needs inherited working context plus a different model or reasoning effort uses `fork_turns: "99"` with both settings selected explicitly. Separately authorized top-level tasks remain a lifecycle fallback. 2. **Timebox.** One requester-authorized AWT/CGP clock wraps the CODER Loop. The CODER coordinator owns it; CVO, workers, and reviewers do not reset or independently monitor it. 3. **Voice topology.** CVO routes committed intent to an owning CODER task and returns material state. It never becomes the CODER coordinator. 4. **Evidence evolution.** Postmortem routing changes come from repeated accepted comparable evidence, never one success or model preference. 5. **Stack setup.** State what is active, available, and optional. With permission, install exact companions or provide commands or a setup prompt. End a requested advanced tour by offering a compact inline cheat sheet with the relevant anchors: ```text Use $coder-loop to run this change through the CODER Loop. Start the CODER Loop tutorial. Show me the Slopware Dev Stack. Install MSW, Timebox, MSL, or CVO. Install the full Slopware Dev Stack. ```
-
-
codex.md 5.1 KB
# Run the CODER Loop in Codex Use Codex collaboration subagents as the standard internal role mechanism. Keep the current task as coordinator and final acceptance owner. ## Select the collaboration context Choose the route from the role's context and independence requirements: - Use `fork_turns: "all"` when a worker, repair owner, or integration role needs the coordinator history and should inherit the coordinator's model and reasoning effort. - Use `fork_turns: "99"` with explicit `model` and `reasoning_effort` when a worker, repair owner, or integration role needs inherited working context and a different execution profile. - Use `fork_turns: "none"` for an independent reviewer. Select the reviewer's model and reasoning effort explicitly when the review requires a different profile. The inherited-context override convention is: ```yaml fork_turns: "99" model: <selected model> reasoning_effort: <selected effort> ``` Set both execution fields when changing the profile. Always include the complete bounded role contract in the spawn message. History supplies context; the role contract supplies ownership, candidate boundary, proof, and authority. ## Spawn implementation workers - Give each worker one coherent task family. Because Codex subagents share the workspace, run overlapping or dependent edits sequentially. Parallelize only candidates that cannot overwrite or invalidate each other. - Keep the coordinator out of implementation. It may inspect candidate composition, route any required integration change to a bounded owner, and make the final integration decision after review. Do not apply a model override by habit. Prefer the inherited model unless the user, project policy, or measured task requirements establish another choice. ## Spawn independent reviewers - Use `fork_turns: "none"` so the reviewer receives no implementer or coordinator conclusions. - When a fresh reviewer needs a different model or reasoning effort, select it directly while starting the context-clean reviewer. Do not fork an existing coordinator or worker task because independent review must not inherit that task's reasoning. - Supply the exact candidate, retained behavior, acceptance claims, raw diff, and verification evidence in the review prompt. - Keep the reviewer read-only. Do not let it repair its own findings. - Start another fresh reviewer after a repair. Never use a full-history fork for independent review. Wait for the assigned workers and reviewers, then make the acceptance decision in the coordinator. A subagent result is evidence, not acceptance. If no fresh collaboration slot is available, state that the CODER Loop cannot run in the current task and stop without claiming completion. Do not create a top-level reviewer task or substitute self-review unless the user explicitly asks for that separate fallback. ## Use a top-level task only for lifecycle needs Never create or fork a top-level Codex task unless the user explicitly authorizes that task action. A lifecycle need identifies a possible fallback; it does not authorize one. With that authority, use a top-level task only when the role needs a capability the collaboration route does not provide, such as: - independent user-visible addressability or a lifecycle that must outlive the coordinator; - placement in a specific project or isolated worktree; - exact source-task history beyond the selected bounded collaboration context. When a top-level fork is necessary and the role also needs a different model or reasoning effort: 1. Fork the source task into the required project, directory, or worktree. 2. Send the first continuation with the explicit model, reasoning effort, and complete bounded role contract. 3. Wait for the result, capture its candidate and evidence, and resume the normal CODER step. If the source task is currently handling an unfinished user turn, include every still-active instruction from that turn in the continuation. Do not use a top-level task merely to change a worker's model or reasoning effort. Without explicit create or fork authority, continue through collaboration subagents when they can still meet the contract. Otherwise report the exact lifecycle capability that remains unavailable and request the required authority. ## Archive temporary top-level fallback tasks When the CODER Loop was explicitly authorized to create or fork a top-level Codex task for a fallback role, archive it after all of these conditions hold: - the role has reached a terminal result; - the coordinator has captured the result, candidate, and relevant evidence; - no repair continuation or user answer is still expected in that task. This applies to temporary implementation, repair, integration, and separately authorized top-level review tasks. It does not apply to the coordinator or to a pre-existing user task that the CODER Loop merely routed work into. Do not archive a task that is active, waiting for user input, or still owns an unresolved repair. Use the Codex task-archive capability for cleanup. If it is unavailable, report the unarchived temporary task as a cleanup residual. Missing cleanup does not turn valid candidate evidence into a failed implementation result. -
companions.md 7.9 KB
# Slopware Dev Stack companions The CODER Loop works alone. Optional Slopware companions improve distinct boundaries without becoming hard dependencies: - **MSW** is the scope kernel. It admits necessary task families, claims, findings, repairs, and proof. - **Timebox** is the convergence envelope. It governs an explicitly authorized AWT/CGP clock around the loop. - **MSL** is the communication kernel. It admits facts at the final user-facing boundary. - **Codex Voice Optimizer**, or CVO, is the control plane. It routes committed voice intent to the owning CODER task and returns material state to the user. No companion changes CODER ownership, independent review, evidence belonging, or authority. There is no bundled copy, hook, background installer, or reduced base behavior when a companion is unavailable. ## Discover the stack once At activation, inspect the active skill catalog for the canonical skill names `msw`, `timebox`, `msl`, and `codex-voice-optimizer`. Accept either a bare standalone identity or its plugin-qualified identity: - `msw` or `msw:msw`; - `timebox` or `timebox:timebox`; - `msl` or `msl:msl`; - `codex-voice-optimizer` or `codex-voice-optimizer:codex-voice-optimizer`. Treat the namespace as distribution metadata, not as a different companion. Read each available companion's `SKILL.md` once before applying it. Catalog omission of both accepted identities means unavailable to this task; it does not prove that the plugin is absent from the machine. Classify each companion by behavior rather than installation alone: - **Active:** it governs the current loop now. - **Available:** it is in the active catalog but still requires authority or the matching topology. - **Optional:** it is unavailable to this task and can be installed with explicit permission. MSW becomes active when available. MSL becomes active when CODER reports directly to the user. Timebox is only available until the requester supplies an AWT/CGP pair or an applicable project policy requires it. CVO is only active when this task has actually been bound as an owning work task under a voice coordinator. Present the stack once during activation or initial loop setup, whichever comes first. Lead with active behavior, then available behavior, then missing companions. Preserve this functional order: MSW, Timebox, MSL, CVO. When all companions are available but Timebox and CVO are not active, use: > Stack ready: MSW controls work admission, MSL shapes the direct report, > Timebox is available when you authorize a clock, and CVO can control the > loop by voice. When no companion is available, use: > The CODER Loop works alone. Optional stack layers add MSW scope control, > Timebox convergence, MSL reporting, and CVO voice control. I can install any > of them with permission. All are free forever. For partial combinations, state the same facts in one active or available sentence and one optional sentence. Do not enumerate installation internals, ask a setup question, or delay the loop. Do not repeat the stack message after the user ignores, declines, or acknowledges it. Present it again only when the user asks, starts the tutorial's stack section, or reaches the specific contextual offer below. ## Apply MSW at work admission Use MSW before admitting a task family, acceptance claim, reviewer finding, repair, additional proof, or follow-up. Admit the claim only when deleting it would leave the CODER contract unmet or unproven. MSW's three-round fuse applies only when the MSW evaluator fails. It is not a default limit on normal CODER review and remediation, which continues to its acceptance fixed point, an explicit stop, or a genuine blocker. Brief workers to apply `$msw` to their bounded family when it is available in their task. Missing MSW never expands the family or stops the CODER Loop. ## Apply an authorized Timebox outside the loop Never activate Timebox from task size, urgency, an estimate, or catalog presence. When the requester supplies AWT/CGP or project policy requires it, read the Timebox skill and place one fixed clock around the complete CODER Loop. The CODER coordinator owns the original clock. Workers and reviewers receive relevant fixed boundaries but do not start replacement clocks. A separate authorized monitor observes the CODER coordinator, never a voice coordinator, worker, or reviewer. CGP remains closeout-only. At the hard stop, stop loop work and withhold acceptance for every unsettled claim. Report the strongest proven candidate and exact open claims. Time pressure never converts incomplete or unproven work into acceptance. When the user names a real work window but has not invoked Timebox, offer once: > You named a fixed work window. Timebox can wrap this loop in an AWT/CGP > clock if you want. Do not offer Timebox merely because the task appears large or difficult. ## Apply MSL at the last user boundary Preserve raw candidate, review, remediation, and belonging evidence throughout the loop. Apply MSL only after the coordinator has made the acceptance decision and before the result reaches the user. For a direct CODER task: ```text raw evidence -> CODER acceptance -> MSL fact admission -> user ``` Under CVO, send evidence-complete material state to the voice coordinator and let CVO apply MSL at its coordinator-to-user boundary: ```text raw evidence -> CODER acceptance -> CVO -> MSL fact admission -> user ``` Never apply MSL to evidence before review or compress it twice. ## Use CVO as the control plane When CVO is active, the voice coordinator routes only committed user intent to this owning CODER task. This task remains the CODER coordinator and owns decomposition, workers, review, remediation, acceptance, cleanup, and postmortem routing. Return material progress, blockers, authority needs, and terminal results to the voice coordinator. CVO may relay an authorized Timebox state but never calculates, resets, or independently monitors the clock. CVO never addresses CODER workers or reviewers directly and never archives this owning task. If the user asks for hands-free control outside a CVO topology, offer CVO once. Do not treat catalog presence as voice activation. ## Install after explicit permission The CODER coordinator may configure its own optional stack after clear user permission. Clear requests include "install MSW," "set up Timebox," "add MSL," "install CVO," or "install the full Slopware Dev Stack." 1. Inspect current state with `codex plugin marketplace list --json` and `codex plugin list --available --json`. 2. Remove every requested plugin already installed and enabled from pending work. Make no configuration change when nothing remains. 3. If `slopware-skills` is missing, add it with `codex plugin marketplace add transcendr/slopware-skills --json`. If it exists but a requested plugin is absent from the available list, run `codex plugin marketplace upgrade slopware-skills --json` and inspect again. 4. Install only the requested pending plugins with `codex plugin add <plugin>@slopware-skills --json`, where `<plugin>` is `msw`, `timebox`, `msl`, or `codex-voice-optimizer`. 5. Inspect state again and verify every requested plugin is installed and enabled. Report incomplete state honestly. 6. Tell the user that a new Codex task is required before newly installed skills become available, then provide the exact invocation for that task. Never install an unrequested plugin. If direct installation is unavailable, offer one lettered choice: A, put the exact commands in chat; B, generate a ready-to-send prompt for another Codex task. Both paths name only the requested plugins, verify installed and enabled state, and end with the new-task invocation. ## Present the stack accurately When the user asks what CODER supports, separate the CODER development engine from its optional stack layers. Never describe MSW, Timebox, MSL, or CVO as a prerequisite. Never call all four kernels or workflows: they are a scope kernel, convergence envelope, communication kernel, and control plane. -
postmortem.md 2.6 KB
# Review a completed CODER Loop Use this companion reference after the CODER Loop reaches acceptance or a genuine terminal block. The implementation and review loop owns the candidate decision. This postmortem calibrates future routing and does not reopen acceptance by ceremony. ## Gather belonging evidence Use evidence already produced by the completed loop: - the task-family contracts and original mechanical or reasoning-required classifications; - the actual model and reasoning assignments; - the accepted candidate or exact terminal block; - independent review findings and belonging evidence; - repairs, targeted re-review, and the final acceptance decision; - scope, authority, evidence, platform, or authoritative time constraints that limited the result; - comparable prior routing records already authorized by the project. If an authoritative local-only `CODER_LEDGER.md` already exists, it may supply the comparable records. Do not require or create that ledger. The completed task evidence is sufficient for assessing the current loop, and persistence is allowed only when the user or project has already authorized its destination. ## Assess every task family For each completed family, determine: 1. Whether its original classification described the uncertainty actually encountered. 2. Whether the assigned model and reasoning effort reached final acceptance with complete evidence. 3. Whether independent review or remediation revealed reasoning that the original assignment could not supply. 4. Whether scope, evidence, authority, platform capability, or an authoritative time boundary explains the outcome better than model capability. Do not label a model insufficient merely because the task was blocked outside its authority or proof surface. Do not treat a lower-cost assignment as successful unless its candidate reached final acceptance with all required evidence. ## Form future routing A postmortem may recommend at most one controlled mapping change. Admit that recommendation only when comparable records repeatedly show: - complete acceptance evidence; - stable task scope and classification; - no reasoning-required remediation; and - the same lower assignment reaching final acceptance, when a lower assignment is proposed. One successful task never changes a default. A recommendation changes only the next comparable assignment and retains the same independent-review standard. It does not alter the completed decision, reduce proof, or expand authority. If the evidence does not support a mapping change, report that no routing change is warranted. Do not manufacture a recommendation to make the postmortem appear productive. -
review-kernel.md 2.6 KB
# CODER Loop review kernel Use this kernel after a bounded worker produces a candidate and before the coordinator accepts that task family. ```text decision ← candidate accepted now + retained behavior now gap ← an acceptance claim not settled by belonging evidence while gap exists: cause ← smallest cause whose deletion leaves gap unexplained ∨ unresolved change ← smallest change whose deletion leaves decision unmet ∨ unproven reconsider only claims affected by cause or change halt ; accept or withhold ``` ## Meanings **Decision**: The exact candidate proposed for acceptance plus the behavior its approved contract retains. **Candidate**: Every source input that can affect the accepted result, including new or untracked files when they belong to the change. **Retained behavior**: An outcome still required by the approved contract. A specified user-visible form remains a visual claim; functional or structural evidence alone does not settle it. **Acceptance claim**: A statement necessary to accept the decision. **Belonging evidence**: A current observation about this candidate and retained behavior that can settle an acceptance claim. **Gap**: A live acceptance claim without belonging evidence. **Cause**: An explanation admitted only when deleting it would leave the gap unexplained or unresolved. **Change**: A correction admitted only when deleting it would leave the decision unmet or unproven. **Smallest**: Sufficient for the live claim, not the most exhaustive explanation or broadest change. **Withhold**: Refuse acceptance because a live claim remains unsettled. Do not treat withholding as permission to broaden investigation or remediation. ## Admit findings Classify observations through the contract: ```text observation → deletion test → contract impact → project priority if deleting the observation leaves the contract met and supported: not a finding if deleting the observation leaves the contract unmet or unsupported: finding priority ← severity of the remaining contract gap ``` Treat a finding as acceptance-blocking when its gap prevents the decision from being accepted. Map it to P0, P1, or another severity only when the project has an authoritative priority scheme. Never inherit severity from the reviewer. ## Recheck after repair Give the changed candidate to a fresh reviewer. Recheck every claim the repair could affect and preserve evidence for unrelated claims when it still belongs. Do not rerun the entire review merely to display rigor. Halt when every live claim has belonging evidence. Withhold when one does not. -
role-contracts.md 3.5 KB
# CODER Loop role contracts Use these contracts as prompt material. Adapt the wording to the task, but do not omit facts the role needs to perform or prove its work. ## Coordinator Keep the parent orchestration-only. Own the outcome, decomposition, sequencing, candidate boundary, integration decision, acceptance decision, and final delivery. Route every source, test, generated-output, or configuration change needed for composition to a bounded integration owner. Do not implement a task family, repair a conflict, or review your own implementation. Before every dispatch, include the current repository state, relevant user changes, exact authority, and the evidence that will prove the family. Do not require an acknowledgment. The worker's substantive result is the response. ## Implementation worker ```text Implement one bounded task family in the CODER Loop. Overall outcome: [requested result] Your task family: [coherent owned change] Candidate boundary: [files, generated outputs, configuration, tests] Retained behavior: [behavior that must survive] Acceptance claims: [claims this family must settle] Dependencies: [completed prerequisites and current evidence] Exclusions: [adjacent work that remains out of scope] Authority: [local edits, tests, top-level task actions, commit, and external-write boundaries] Repository state: [branch, head, user changes to preserve] Implement and verify only this family. Preserve unrelated user changes. Return the exact changed candidate, diff summary, commands and observations that prove the acceptance claims, and any claim that remains open. Do not publish or expand scope. ``` Keep related remediation with this worker when practical so the repair retains implementation context. Send only admitted gaps and the evidence that made them blocking. ## Independent reviewer Start a fresh context that did not implement the candidate. Give it raw artifacts and acceptance criteria, not the implementer's reasoning, recommendation, or success claim. ```text Review this CODER Loop candidate independently and read-only. Decision: [candidate proposed for acceptance] Complete candidate boundary: [every relevant source input] Retained behavior: [approved behavior that must survive] Acceptance claims: [claims required for acceptance] Raw artifacts: [diff, files, tests, logs, screenshots, or other evidence] Project priority policy: [authoritative policy, or none] Authority: read-only; do not edit, commit, publish, or delegate. Apply the CODER Loop review kernel. Admit an observation only when deleting it leaves an acceptance claim unmet or unsupported. For each admitted gap, identify the claim, belonging evidence, contract impact, and the smallest sufficient repair direction. Separate acceptance-blocking gaps from non-blocking observations. State that no blocking gap remains only when every live acceptance claim has belonging evidence. ``` Do not ask the reviewer to implement a fix. Do not resume the implementer as the reviewer. Do not contaminate a re-review with the previous reviewer's conclusion; provide the changed candidate and still-live claims. ## Coordinator acceptance After every family clears independent review, inspect the integrated candidate and answer only these questions: - Do the family candidates compose without conflict? - Does each acceptance claim have current belonging evidence? - Did any integration change invalidate earlier evidence? - Does the final state remain inside scope and authority? Accept or withhold. Do not create a second ceremonial review after those questions are settled.
-
-
SKILL.md 12.4 KB
--- name: coder-loop description: >- Run the Codex Optimized Development, Evaluation, and Remediation (CODER) Loop with an orchestration-only coordinator, non-overlapping task-family owners, fresh independent reviewers, evidence-scoped remediation, and final coordinator acceptance. Discover and compose optional MSW, Timebox, MSL, and Codex Voice Optimizer companions as the Slopware Dev Stack without making them dependencies. Use in Codex when the user invokes the CODER Loop, asks to divide a complex change into bounded implementation families with independent reviewers, requests multi-agent implementation without overlapping ownership, requires review and repair until every blocking gap is independently rechecked, asks for the CODER tutorial or Slopware Dev Stack, or wants CODER to install or use its companions. Do not trigger for an ordinary single-agent change, a review-only request, or a non-Codex host. --- # CODER Loop CODER stands for Codex Optimized Development, Evaluation, and Remediation. The loop uses bounded task-family review to give complex implementation clear ownership, independent evaluation, and evidence-scoped repair. It is also the development engine of the Slopware Dev Stack: CVO can control it, MSW keeps it necessary, Timebox makes an authorized run converge, and MSL makes the user-facing result clear. Every layer remains optional and independently installable. Turn a complex implementation into a small set of coherent ownership lanes, then make every candidate earn acceptance in a fresh context. Keep the parent as coordinator and final decision owner. Let workers implement, reviewers review, and only admitted acceptance gaps create repair work. ## Activate the CODER Loop Read [references/companions.md](references/companions.md) once on activation. Discover the active Slopware companion catalog, apply the available composition rules, and present the stack once without delaying work. When the user asks to learn CODER or see the Slopware Dev Stack, read [references/workflows/tutorial.md](references/workflows/tutorial.md) and teach before taking any live action. The teaching-only tutorial does not require repository, project, task, or collaboration capabilities. For bare activation without an implementation outcome, explain in one sentence that CODER uses bounded workers, fresh evaluation, and targeted remediation, then offer the tutorial, a real outcome, or the stack overview. Do not ask the vague question "what should we do?" A live loop requires Codex collaboration capabilities that can provide at least one implementation subagent and one fresh review subagent. If either capability is unavailable, state what is missing and stop the live loop without claiming completion. Continue answering questions and teaching the tutorial. ## Bind the decision Before delegating, establish: - the requested outcome; - the complete candidate boundary, including source, tests, generated files, configuration, and relevant untracked files; - the retained behavior that must survive; - the smallest acceptance claims that prove the outcome; - the current repository state and user changes that must be preserved; - explicit scope, top-level task creation or fork, external-write, commit, and publication authority. Ask only when a missing owner decision can materially change those facts. Do not turn setup into a form, ledger, acknowledgment, or approval ritual. ## Decompose into task families Define a task family as one coherent body of implementation with one owner, one candidate boundary, and one proof surface. Group closely related work when splitting it would create coordination without independent progress. Separate work when ownership, dependencies, files, or proof can remain distinct. - Give each family exactly one implementation owner. - Prevent overlapping file or behavior ownership. Sequence families whose candidates can invalidate each other. - Run families concurrently only when they are genuinely independent. - Preserve related repairs with the original worker when practical. - Use one family when the task does not justify more. The CODER Loop never invents agent count or parallelism. ## Use Codex collaboration Read [references/codex.md](references/codex.md) before spawning. Keep the current Codex task as the coordinator and use collaboration subagents as the standard mechanism for implementation, repair, integration, and independent review: - use `fork_turns: "all"` when a role needs the coordinator history and its current model and reasoning effort; - use `fork_turns: "99"` with explicit `model` and `reasoning_effort` when a role needs inherited working context and a different execution profile; - use `fork_turns: "none"` for a fresh independent reviewer, selecting its model and reasoning effort explicitly when required. Always send the complete bounded role contract. Inherited context does not replace role, scope, candidate, evidence, or authority instructions. Use a top-level Codex task only after the user explicitly authorizes its creation or fork and the role genuinely needs separate task lifecycle or addressability, project or worktree placement unavailable to the collaboration route, or an exact source-task history that the bounded subagent route cannot supply. The explicit fork and first-continuation procedure in the Codex reference is a fallback for those cases, not the normal model-routing mechanism. Without that authority, stay inside collaboration subagents or report the exact lifecycle need that remains unmet. Choose the minimum capable model and reasoning effort from the settings exposed by the Codex route actually being used. Use a project or user model policy when one exists. Otherwise prefer the inherited model and change it only when task evidence shows that another capability or cost profile is needed. Never hard-code a vendor lineup into the loop. Classify a task only when the host exposes a meaningful model choice: - **Mechanical:** an exact reproducer, bounded required change, no unresolved contract, design, ownership, or proof choice, and deterministic evidence. - **Reasoning-required:** uncertainty remains in cause, semantics, architecture, implementation direction, ownership, or proof design. Assign the minimum capable worker. A small diff alone does not make a task mechanical. After review, classify a repair from the admitted gap rather than reusing the original task label by habit. ## Run the implementation and review loop For each task family: 1. Send the bounded contract from [references/role-contracts.md](references/role-contracts.md) to its worker. 2. Let the worker implement and verify the family. Collect the exact candidate, diff, and belonging evidence, not merely a success summary. 3. Freeze that candidate long enough to review it. Start a fresh reviewer that did not implement it and has not received the implementer's reasoning or conclusions. 4. Give the reviewer the decision, complete candidate boundary, retained behavior, acceptance claims, raw artifacts, and verification evidence. 5. Apply [references/review-kernel.md](references/review-kernel.md). Admit only observations whose deletion would leave an acceptance claim unmet or unsupported. 6. Return each admitted blocking gap to the family owner for the smallest sufficient repair. Do not turn optional improvements into repair work. If the repair needs inherited working context with different model or reasoning settings, use the same `fork_turns: "99"` collaboration route. 7. Start another fresh review of the changed candidate. Reconsider only the acceptance claims the repair could affect. 8. Repeat while an acceptance-blocking gap remains. Stop and withhold acceptance when a live gap cannot be closed inside the user's scope or authority. Do not assign the reviewer to repair its own findings. A reviewer can explain evidence and contract impact, but the worker owns changes and the coordinator owns acceptance. ## Preserve evidence across repairs Treat review evidence as belonging to the candidate it observed. When the candidate changes, invalidate only evidence for claims the change could affect. Do not rerun unrelated review, discard still-belonging proof, or assume that a changed test suite proves retained product behavior. Use the contract to decide what remains live: - A newly added file makes any earlier review that omitted it incomplete. - A narrow source repair does not erase unrelated proof. - A changed test can settle only the behavior it actually observes. - A removed behavior does not remain an acceptance claim unless the approved contract retains it. ## Integrate and accept Keep worker and reviewer reports as evidence, never as acceptance. Have the coordinator inspect the integrated candidate and identify any cross-family conflict. Route every required source, test, or configuration change to a bounded integration owner and review that candidate through the same loop. Then confirm the required proof and decide: - **accept** when every live acceptance claim has belonging evidence; or - **withhold** when at least one live claim remains unsettled. Do not add an arbitrary review-round limit. Stop at the acceptance fixed point, an explicit user stop, or a genuine blocker. Report the accepted result and proof, or the exact open claim and authority needed to continue. When an authorized Timebox wraps the loop, its hard stop ends work but never changes the acceptance test. Withhold acceptance for every unsettled claim and report the strongest proven candidate. ## Review the completed loop After acceptance or a genuine terminal block, read [references/postmortem.md](references/postmortem.md). Treat the postmortem as routing calibration, not another candidate review or acceptance gate. Assess whether each task family's classification and model assignment proved sufficient, whether review or remediation changed that judgment, and whether scope, evidence, authority, or an authoritative time constraint explains the result better than model capability. Use the completed loop evidence and any comparable records already authorized by the project. Recommend at most one controlled mapping change, and only when repeated comparable records show complete evidence, stable scope, and no reasoning-required remediation. One successful assignment never lowers a future default. Any recommendation applies only to the next comparable task and preserves the same independent-review standard. Do not create a mandatory `CODER_LEDGER.md` or other record merely to prove the loop ran. If no comparable history exists, treat the completed loop as one observation and make no mapping change. ## Preserve authority Delegation never expands authority. Keep pushes, branch publication, pull or merge requests, comments, approvals, merges, deployments, destructive actions, and other external writes prohibited unless the user explicitly authorizes the specific action. Preserve implementation, staging, commit, and publication as separate boundaries. Archive every temporary top-level fallback task that the CODER Loop created or forked after its role is terminal and the coordinator has captured its result and evidence. Never archive the coordinator, a pre-existing user task, a task still handling repair, or a task waiting for user input. Do not create a mandatory ledger, timer, hook, advisor pass, model roster, or status ceremony. Apply another skill or project policy alongside the CODER Loop only when the user or an authoritative project rule invokes it. A required advisor can challenge the coordinator's judgment, but never replaces independent review or the coordinator's final acceptance decision. ## Compose the Slopware Dev Stack Use [references/companions.md](references/companions.md) as the single contract for discovery, activation state, boundary ownership, installation, and stack presentation. - Apply MSW to work admission when it is available. - Activate Timebox only from explicit requester authority or applicable project policy. Keep one fixed clock owned by the CODER coordinator. - Apply MSL once at the final user-facing boundary after raw evidence settles acceptance. - Under CVO, keep the CODER Loop inside an owning work task. CVO routes committed intent and speaks material state; it never becomes the CODER coordinator, worker, reviewer, or clock owner. When the user asks what the system supports, present the CODER development engine and optional stack layers as one coherent product family: install one layer or compose the stack. Every skill works alone, and all are free forever.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.