Add /deliver-issue command for bounded independent-review delivery #15

Open
opened 2026-09-25 18:50:54 +00:00 by kilo · 5 comments
Member

Goal

Add /deliver-issue for one owner-selected issue through implementation, validation, one PR to develop, fresh independent full-PR review and bounded remediation, ending at READY_FOR_OWNER_MERGE without merging. Each independent review is a new Scarcity Router dispatch boundary using the existing repository-review capability contract.

Why

The K2A pilot needed eight valid reviews and six remediation cycles; fresh full review uncovered defects missed by targeted rechecks. Review/budget state must survive fresh sessions without the owner relaying messages. The review provider/model/variant must be capability-routed, not selected by static repository assignment or the implementation model.

Scope

  • Add .kilo/command/deliver-issue.md as a small orchestration contract reusing /implement-issue and /review-pr, plus a concise always-visible AGENTS.md rule. Clarify the existing implementation guidance only where required to remove a direct contradiction.
  • Require exactly one owner-selected issue, normal single-issue mode, branch from develop, repository validation before PR and after changed HEAD, one PR to develop, no main modification/targeting, no auto-merge, and issue left open until owner integration.
  • For each fresh full PR review and architecture/model-correction review, freeze exact HEAD/base and perform a new Scarcity Router dispatch using profile repository_review and monotone tightening from actual task capability requirements, known author capability floor when available, and review criticality. Architecture/security and remediation reviews use the existing L4 / at-least-5/5/5 requirement. Call the router exactly once per dispatch boundary; use only its eligible returned selection or ordered eligible alternatives under the existing harness-fallback policy. No locally hard-coded model/provider/variant, reviewer ranking or fallback table; do not weaken requirements.
  • Launch a fresh independent local Agent Manager session. The logical payload places mode=local, versions=false at request level and each task's /review-pr <PR URL> prompt plus router-selected model, adapted provider ID, and exact variant inside tasks[]. Do not guess identifiers or variants; use only the existing provider-ID adapter.
  • Require matching Resolved models evidence before DISPATCH_VERIFIED; distinguish router selection, dispatch request, verification, reviewer completion and verdict. Mismatch/missing evidence is NOT_RUN, consumes no review/remediation cycle, and requires diagnosis/corrected payload rather than silent substitution.
  • Persist a concise issue/PR ledger identifying valid review cycles, exact HEADs, routing/dispatch state, verdicts, blockers, remediation/resulting HEAD, and fixed budget. Start with max_remediation_cycles = 10; only valid in-scope implementation remediation costs one cycle. Remediate on the same issue, branch and PR.
  • Escalate recurring/oscillating/model-inconsistent findings to a fresh model-routed read-only architecture/model-correction review; stop for genuine owner decisions. On approval, verify local validation, green required CI, issue acceptance, and zero unresolved blockers for the exact approved HEAD.
  • Amend existing PR #16 on the same branch in place; prior review/approval becomes stale after amendment. This owner-directed correction costs zero remediation cycles; dispatch and full-review the new HEAD.

Acceptance Criteria

  • /deliver-issue defines exactly four terminal conditions: READY_FOR_OWNER_MERGE, REMEDIATION_BUDGET_EXHAUSTED, REVIEW_INFRASTRUCTURE_BLOCKED, and GENUINE_OWNER_DECISION_REQUIRED; approval alone is insufficient.
  • It specifies repository_review plus monotone tightening of actual task capability floor, known author floor when available, and criticality; architecture/security and remediation are L4 and at least {reasoning:5,coding:5,tool_use:5} with required reasoning mode and tool use. Every review HEAD, including architecture-correction, gets exactly one new Router selection.
  • It gives the literal Agent Manager logical payload with request-level mode=local, versions=false and task-level prompt/model/provider/variant fields; requires the exact routed identity after only the existing provider adapter and matching Resolved models evidence before DISPATCH_VERIFIED.
  • It distinguishes route selection, dispatch requested, verified dispatch, completed independent session and obtained verdict; unresolved/malformed launches are NOT_RUN; it has no hard-coded model/provider, local reviewer ranking/fallback, no weakened requirements, and follows the parent harness-fallback policy only for Router-returned eligible alternatives.
  • It enforces fresh whole-PR review at every changed HEAD, exact 10-cycle accounting, a reconstructible durable per-cycle ledger, bounded in-scope remediation and architecture correction, no scope widening, no auto-created ordinary blocker issues, no auto-merge, and no targeting main.
  • make check and make package-check pass on amended PR #16, required CI succeeds, and a fresh independently routed reviewer reviews the whole amended PR against this issue without merging.

Constraints

This is public repository development workflow guidance, not Kernel product/runtime model routing or a new Kernel dependency on Scarcity Router or the parent workspace. Reuse the existing Creatidy repository-review routing and harness-adapter policy; do not copy private runtime details or invent a substitute. Keep the change in .kilo/command/deliver-issue.md and AGENTS.md unless an actual governance contradiction requires a clarification. Do not add a Markdown Program engine, generic workflow framework, secrets, status taxonomy, or product/domain code. Preserve normal single-issue development.

  • PR #16: #16
  • .kilo/command/implement-issue.md
  • .kilo/command/review-pr.md
  • AGENTS.md and .kilo/rules/

Non-Goals

No Program execution engine, Projects, milestones, labels, private parent repository dependency, automatic merge, or implementation of unrelated product behavior. No static reviewer model/provider/variant, local reviewer ranking, or local fallback table.

## Goal Add `/deliver-issue` for one owner-selected issue through implementation, validation, one PR to `develop`, fresh independent full-PR review and bounded remediation, ending at `READY_FOR_OWNER_MERGE` without merging. Each independent review is a new Scarcity Router dispatch boundary using the existing repository-review capability contract. ## Why The K2A pilot needed eight valid reviews and six remediation cycles; fresh full review uncovered defects missed by targeted rechecks. Review/budget state must survive fresh sessions without the owner relaying messages. The review provider/model/variant must be capability-routed, not selected by static repository assignment or the implementation model. ## Scope - Add `.kilo/command/deliver-issue.md` as a small orchestration contract reusing `/implement-issue` and `/review-pr`, plus a concise always-visible `AGENTS.md` rule. Clarify the existing implementation guidance only where required to remove a direct contradiction. - Require exactly one owner-selected issue, normal single-issue mode, branch from `develop`, repository validation before PR and after changed HEAD, one PR to `develop`, no `main` modification/targeting, no auto-merge, and issue left open until owner integration. - For each fresh full PR review and architecture/model-correction review, freeze exact HEAD/base and perform a new Scarcity Router dispatch using profile `repository_review` and monotone tightening from actual task capability requirements, known author capability floor when available, and review criticality. Architecture/security and remediation reviews use the existing L4 / at-least-5/5/5 requirement. Call the router exactly once per dispatch boundary; use only its eligible returned selection or ordered eligible alternatives under the existing harness-fallback policy. No locally hard-coded model/provider/variant, reviewer ranking or fallback table; do not weaken requirements. - Launch a fresh independent local Agent Manager session. The logical payload places `mode=local`, `versions=false` at request level and each task's `/review-pr <PR URL>` prompt plus router-selected model, adapted provider ID, and exact variant inside `tasks[]`. Do not guess identifiers or variants; use only the existing provider-ID adapter. - Require matching `Resolved models` evidence before `DISPATCH_VERIFIED`; distinguish router selection, dispatch request, verification, reviewer completion and verdict. Mismatch/missing evidence is `NOT_RUN`, consumes no review/remediation cycle, and requires diagnosis/corrected payload rather than silent substitution. - Persist a concise issue/PR ledger identifying valid review cycles, exact HEADs, routing/dispatch state, verdicts, blockers, remediation/resulting HEAD, and fixed budget. Start with `max_remediation_cycles = 10`; only valid in-scope implementation remediation costs one cycle. Remediate on the same issue, branch and PR. - Escalate recurring/oscillating/model-inconsistent findings to a fresh model-routed read-only architecture/model-correction review; stop for genuine owner decisions. On approval, verify local validation, green required CI, issue acceptance, and zero unresolved blockers for the exact approved HEAD. - Amend existing PR #16 on the same branch in place; prior review/approval becomes stale after amendment. This owner-directed correction costs zero remediation cycles; dispatch and full-review the new HEAD. ## Acceptance Criteria - `/deliver-issue` defines exactly four terminal conditions: `READY_FOR_OWNER_MERGE`, `REMEDIATION_BUDGET_EXHAUSTED`, `REVIEW_INFRASTRUCTURE_BLOCKED`, and `GENUINE_OWNER_DECISION_REQUIRED`; approval alone is insufficient. - It specifies `repository_review` plus monotone tightening of actual task capability floor, known author floor when available, and criticality; architecture/security and remediation are L4 and at least `{reasoning:5,coding:5,tool_use:5}` with required reasoning mode and tool use. Every review HEAD, including architecture-correction, gets exactly one new Router selection. - It gives the literal Agent Manager logical payload with request-level `mode=local`, `versions=false` and task-level prompt/model/provider/variant fields; requires the exact routed identity after only the existing provider adapter and matching `Resolved models` evidence before `DISPATCH_VERIFIED`. - It distinguishes route selection, dispatch requested, verified dispatch, completed independent session and obtained verdict; unresolved/malformed launches are `NOT_RUN`; it has no hard-coded model/provider, local reviewer ranking/fallback, no weakened requirements, and follows the parent harness-fallback policy only for Router-returned eligible alternatives. - It enforces fresh whole-PR review at every changed HEAD, exact 10-cycle accounting, a reconstructible durable per-cycle ledger, bounded in-scope remediation and architecture correction, no scope widening, no auto-created ordinary blocker issues, no auto-merge, and no targeting `main`. - `make check` and `make package-check` pass on amended PR #16, required CI succeeds, and a fresh independently routed reviewer reviews the whole amended PR against this issue without merging. ## Constraints This is public repository **development workflow guidance**, not Kernel product/runtime model routing or a new Kernel dependency on Scarcity Router or the parent workspace. Reuse the existing Creatidy repository-review routing and harness-adapter policy; do not copy private runtime details or invent a substitute. Keep the change in `.kilo/command/deliver-issue.md` and `AGENTS.md` unless an actual governance contradiction requires a clarification. Do not add a Markdown Program engine, generic workflow framework, secrets, status taxonomy, or product/domain code. Preserve normal single-issue development. ## Links - PR #16: https://forgejo.creatidy.com/Creatidy/creatidy-kernel/pulls/16 - `.kilo/command/implement-issue.md` - `.kilo/command/review-pr.md` - `AGENTS.md` and `.kilo/rules/` ## Non-Goals No Program execution engine, Projects, milestones, labels, private parent repository dependency, automatic merge, or implementation of unrelated product behavior. No static reviewer model/provider/variant, local reviewer ranking, or local fallback table.
Author
Member

Delivery ledger initialized for #15 / PR #16: issue-15-deliver-issue -> develop; current HEAD 6e29a5b788e69ca3b7f175f1b5fc26ff9000c27b; max_remediation_cycles=10, remediation_used=0/10, valid review cycles=0. Changed: .kilo/command/deliver-issue.md, AGENTS.md. make check PASS (142 tests; formatting/lint/typing/imports/secret scan), make package-check PASS, git diff --check PASS. CI and fresh independent critical review pending; issue remains open and PR will not be merged. The editor config hot-reload reported No context found for instance on creation despite matching existing command frontmatter; no kilo CLI is installed to independently test slash-command registration.

Delivery ledger initialized for #15 / PR #16: `issue-15-deliver-issue` -> `develop`; current HEAD `6e29a5b788e69ca3b7f175f1b5fc26ff9000c27b`; `max_remediation_cycles=10`, `remediation_used=0/10`, valid review cycles=0. Changed: `.kilo/command/deliver-issue.md`, `AGENTS.md`. `make check` PASS (142 tests; formatting/lint/typing/imports/secret scan), `make package-check` PASS, `git diff --check` PASS. CI and fresh independent critical review pending; issue remains open and PR will not be merged. The editor config hot-reload reported `No context found for instance` on creation despite matching existing command frontmatter; no `kilo` CLI is installed to independently test slash-command registration.
Author
Member

Delivery ledger, valid full review cycle 1 for PR #16: reviewed HEAD 6e29a5b788e69ca3b7f175f1b5fc26ff9000c27b -> develop; class critical-independent-review; independent review #595. Dispatch: reviewer requested, configuration valid, explicit model-resolution evidence observed, fresh distinct read-only session completed, full-review verdict obtained. Substantive verdict: APPROVE; Forgejo recorded state: COMMENT, because the shared kilo MCP identity equals the PR author and Forgejo rejected an APPROVED-state self-review. Blockers: none. Remediation: none; resulting HEAD unchanged; remediation_used=0/10 (max_remediation_cycles=10). Exact-HEAD local make check and make package-check PASS (also independently rerun by reviewer); required Forgejo PR CI run 26 succeeded for this SHA; #15 acceptance criteria met. Delivery-contract terminal condition: READY_FOR_OWNER_MERGE (no merge performed). Limitation: this is not a platform-recorded APPROVED review; a separate Forgejo identity may be necessary to satisfy any branch-protection approval rule. Branch-protection settings could not be inspected with the current MCP identity. Live slash-command registration remains unobserved after the editor hot-reload error.

Delivery ledger, valid full review cycle **1** for PR #16: reviewed HEAD `6e29a5b788e69ca3b7f175f1b5fc26ff9000c27b` -> `develop`; class `critical-independent-review`; independent review [#595](https://forgejo.creatidy.com/Creatidy/creatidy-kernel/pulls/16#issuecomment-11588). Dispatch: reviewer requested, configuration valid, explicit model-resolution evidence observed, fresh distinct read-only session completed, full-review verdict obtained. **Substantive verdict: APPROVE; Forgejo recorded state: COMMENT**, because the shared `kilo` MCP identity equals the PR author and Forgejo rejected an APPROVED-state self-review. Blockers: none. Remediation: none; resulting HEAD unchanged; `remediation_used=0/10` (`max_remediation_cycles=10`). Exact-HEAD local `make check` and `make package-check` PASS (also independently rerun by reviewer); required Forgejo PR CI [run 26](https://forgejo.creatidy.com/Creatidy/creatidy-kernel/actions/runs/26) succeeded for this SHA; #15 acceptance criteria met. Delivery-contract terminal condition: `READY_FOR_OWNER_MERGE` (no merge performed). Limitation: this is **not** a platform-recorded APPROVED review; a separate Forgejo identity may be necessary to satisfy any branch-protection approval rule. Branch-protection settings could not be inspected with the current MCP identity. Live slash-command registration remains unobserved after the editor hot-reload error.
Author
Member

Delivery ledger continuation for existing PR #16 after owner-directed Issue #15 contract refinement: previous full review cycle 1 #595 and owner approval #596 apply only to old HEAD 6e29a5b788e69ca3b7f175f1b5fc26ff9000c27b. Its prior READY_FOR_OWNER_MERGE ledger entry is superseded for the new HEAD, not rewritten. Owner-directed governance amendment changed current PR HEAD to eaf0211ce6f41c551b7650ce8cdfbf140a10b4f6 on the same issue-15-deliver-issue branch -> develop; it is not reviewer-requested remediation. max_remediation_cycles=10, remediation_used=0/10, valid full review cycles=1; new bound Astra/OpenAI/max full review cycle 2 is pending (not yet counted). Changes: .kilo/command/deliver-issue.md, AGENTS.md, and .kilo/rules/30-implementation-discipline.md (narrow carve-out of its explicit Markdown routing prohibition). Exact-HEAD make check PASS (142 tests), make package-check PASS, git diff --check PASS. Required CI and new independent review pending; issue remains open and PR unmerged.

Delivery ledger continuation for existing PR #16 after owner-directed Issue #15 contract refinement: previous full review cycle 1 [#595](https://forgejo.creatidy.com/Creatidy/creatidy-kernel/pulls/16#issuecomment-11588) and owner approval [#596](https://forgejo.creatidy.com/Creatidy/creatidy-kernel/pulls/16#issuecomment-11607) apply only to old HEAD `6e29a5b788e69ca3b7f175f1b5fc26ff9000c27b`. Its prior `READY_FOR_OWNER_MERGE` ledger entry is superseded for the new HEAD, not rewritten. Owner-directed governance amendment changed current PR HEAD to `eaf0211ce6f41c551b7650ce8cdfbf140a10b4f6` on the **same** `issue-15-deliver-issue` branch -> `develop`; it is not reviewer-requested remediation. `max_remediation_cycles=10`, `remediation_used=0/10`, valid full review cycles=1; new bound Astra/OpenAI/max full review cycle 2 is pending (not yet counted). Changes: `.kilo/command/deliver-issue.md`, `AGENTS.md`, and `.kilo/rules/30-implementation-discipline.md` (narrow carve-out of its explicit Markdown routing prohibition). Exact-HEAD `make check` PASS (142 tests), `make package-check` PASS, `git diff --check` PASS. Required CI and new independent review pending; issue remains open and PR unmerged.
Author
Member

Delivery ledger, valid independent full PR review cycle 2 for existing PR #16: reviewed HEAD eaf0211ce6f41c551b7650ce8cdfbf140a10b4f6 -> develop; bound reviewer GPT-6 Astra / openai / max, fresh local Agent Manager session. Dispatch states: REQUESTED; task-level model/provider/variant and request-level mode=local, versions=false validated; explicit Agent Manager Resolved models: GPT-6 Astra (openai) / max receipt observed -> DISPATCH_VERIFIED; reviewer session completed; full current-PR verdict obtained in review #597. Substantive recommendation: APPROVE; Forgejo recorded state: COMMENT, since the configured kilo MCP identity equals the PR author and Forgejo rejected APPROVED as self-approval. This is not a platform-recorded approving review. Blockers: none; one nonblocking suggestion on explicit evidence-retry bound, no remediation. Resulting HEAD unchanged: eaf0211ce6f41c551b7650ce8cdfbf140a10b4f6; remediation_used=0/10, max_remediation_cycles=10, valid full review cycles=2 including stale old-HEAD cycle 1. Exact-HEAD local make check PASS (142 tests), make package-check PASS, git diff --check PASS; required Forgejo PR CI run 27 succeeded for this SHA; updated Issue #15 acceptance criteria met, no unresolved blocking findings, current PR head verified unchanged. Delivery-contract terminal condition: READY_FOR_OWNER_MERGE (issue open, PR unmerged). Limitations: platform approval may require a distinct Forgejo identity/renewed owner approval; branch-protection settings and live slash-command registration remain unverified. Prior owner approval #596 is stale and not counted for this HEAD.

Delivery ledger, valid independent full PR review cycle **2** for existing PR #16: reviewed HEAD `eaf0211ce6f41c551b7650ce8cdfbf140a10b4f6` -> `develop`; bound reviewer `GPT-6 Astra / openai / max`, fresh local Agent Manager session. Dispatch states: `REQUESTED`; task-level `model/provider/variant` and request-level `mode=local`, `versions=false` validated; explicit Agent Manager `Resolved models: GPT-6 Astra (openai) / max` receipt observed -> `DISPATCH_VERIFIED`; reviewer session completed; full current-PR verdict obtained in [review #597](https://forgejo.creatidy.com/Creatidy/creatidy-kernel/pulls/16#issuecomment-11619). **Substantive recommendation: APPROVE; Forgejo recorded state: COMMENT**, since the configured `kilo` MCP identity equals the PR author and Forgejo rejected `APPROVED` as self-approval. This is not a platform-recorded approving review. Blockers: none; one nonblocking suggestion on explicit evidence-retry bound, no remediation. Resulting HEAD unchanged: `eaf0211ce6f41c551b7650ce8cdfbf140a10b4f6`; `remediation_used=0/10`, `max_remediation_cycles=10`, valid full review cycles=2 including stale old-HEAD cycle 1. Exact-HEAD local `make check` PASS (142 tests), `make package-check` PASS, `git diff --check` PASS; required Forgejo PR CI [run 27](https://forgejo.creatidy.com/Creatidy/creatidy-kernel/actions/runs/27) succeeded for this SHA; updated Issue #15 acceptance criteria met, no unresolved blocking findings, current PR head verified unchanged. Delivery-contract terminal condition: `READY_FOR_OWNER_MERGE` (issue open, PR unmerged). Limitations: platform approval may require a distinct Forgejo identity/renewed owner approval; branch-protection settings and live slash-command registration remain unverified. Prior owner approval #596 is stale and not counted for this HEAD.
Author
Member

Delivery ledger continuation for existing PR #16 after the latest owner-directed routing correction. Current HEAD a8c7cfe0ca80a27a9c176e4d5ce4af8c7b66d4ed -> develop (06c374be43fc0781912a16cba0788821d6973090); same issue-15-deliver-issue branch. The previous valid full-review cycles (cycle 1 at 6e29a5b…, cycle 2 at eaf0211…) and owner approval #596 apply only to old HEADs and are stale; preserve as history, not current acceptance. max_remediation_cycles=10; remediation_used=0/10. This owner-directed correction is not remediation.

Current review routing attempt: frozen the exact current HEAD/base; review classified architecture/security-critical because this PR changes governance of reviewer dispatch; requested Scarcity Router profile_id=repository_review, monotone tightening={task_level:L4, capability_minima:{reasoning:5,coding:5,tool_use:5}, hard_constraints:{requires_tool_use:true, requires_reasoning_mode:true}}. Scarcity Router returned only invalid_request / invalid request, with no route selection. The exact payload was checked against parent creatidy-autonomy review-routing builder/tests and parsed successfully by local Scarcity Router v1 parse_selection_document; the local model policy contains repository_review (policy v8). This did not identify a corrected input, so no speculative/weakened request or alternative profile was sent. REQUESTED to Agent Manager: no; DISPATCH_VERIFIED: no; reviewer session: not launched; review/verdict: NOT_RUN. No current-HEAD review cycle incremented; historical valid full-review count remains 2. No remediation budget used.

Validation at this exact HEAD: make check PASS (142 tests), make package-check PASS, git diff --check PASS; required exact-SHA Forgejo CI run 28 succeeded. Worktree clean. Terminal delivery condition: REVIEW_INFRASTRUCTURE_BLOCKED because no valid Router result was obtained for required fresh independent review. Issue remains open; PR #16 remains unmerged. A later review must make a new repository_review Router selection for its then-current frozen HEAD; do not reuse any historical route.

Delivery ledger continuation for existing PR #16 after the latest owner-directed routing correction. Current HEAD `a8c7cfe0ca80a27a9c176e4d5ce4af8c7b66d4ed` -> `develop` (`06c374be43fc0781912a16cba0788821d6973090`); same `issue-15-deliver-issue` branch. The previous valid full-review cycles (cycle 1 at `6e29a5b…`, cycle 2 at `eaf0211…`) and owner approval #596 apply only to old HEADs and are stale; preserve as history, not current acceptance. `max_remediation_cycles=10`; `remediation_used=0/10`. This owner-directed correction is not remediation. Current review routing attempt: frozen the exact current HEAD/base; review classified architecture/security-critical because this PR changes governance of reviewer dispatch; requested Scarcity Router `profile_id=repository_review`, monotone `tightening={task_level:L4, capability_minima:{reasoning:5,coding:5,tool_use:5}, hard_constraints:{requires_tool_use:true, requires_reasoning_mode:true}}`. Scarcity Router returned only `invalid_request` / `invalid request`, with no route selection. The exact payload was checked against parent `creatidy-autonomy` review-routing builder/tests and parsed successfully by local Scarcity Router v1 `parse_selection_document`; the local model policy contains `repository_review` (policy v8). This did not identify a corrected input, so no speculative/weakened request or alternative profile was sent. `REQUESTED` to Agent Manager: no; `DISPATCH_VERIFIED`: no; reviewer session: not launched; review/verdict: `NOT_RUN`. No current-HEAD review cycle incremented; historical valid full-review count remains 2. No remediation budget used. Validation at this exact HEAD: `make check` PASS (142 tests), `make package-check` PASS, `git diff --check` PASS; required exact-SHA Forgejo CI [run 28](https://forgejo.creatidy.com/Creatidy/creatidy-kernel/actions/runs/28) succeeded. Worktree clean. **Terminal delivery condition: `REVIEW_INFRASTRUCTURE_BLOCKED`** because no valid Router result was obtained for required fresh independent review. Issue remains open; PR #16 remains unmerged. A later review must make a new `repository_review` Router selection for its then-current frozen HEAD; do not reuse any historical route.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Creatidy/creatidy-kernel#15
No description provided.