Repository navigation
kiro-notion and kiro-local have no reviewer agent: task-reviewer refuses there; port kiro-gh's reviewer.json: ship both, self-destruct on every kiro reviewer, drift-check the reviewer contract - #321
Merged
Conversation
…ses there; port kiro-gh's reviewer.json: ship both, self-destruct on every kiro reviewer, drift-check the reviewer contract Add `kiro-notion/agents/reviewer.json` (the `@notion` tool and notion MCP, spec page passed as the second arg) and `kiro-local/agents/reviewer.json` (spec read from `tasks/` on disk). task-init installs them with radio hooks merged, as it does every agent, so `task-config add assistant kiro` brings them along. kiro-gh's reviewer still idled with its tab open (#162 left kiro out). The post-on-stdin / radio-verdict / self-destruct / hold-open-on-failed-delivery prose is now one region shared by all eight reviewer prompts, the new `reviewer-contract` group. `tools/check-drift.sh` learns to check a kiro agent's decoded `prompt` and an HTML-comment sentinel form for markdown. `task-reviewer`'s refusal drops its loadout list and names the missing file instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
Spec complianceAll deliverables from #320 are present:
Code-review findingsNo blockers.
Verdictclean. PM decides the merge. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
kiro-notion and kiro-local now ship a kiro reviewer agent, so
task-reviewerworks there instead of refusing. The kiro reviewer, kiro-gh's included, now cleans up after itself the way the claude one does. That shared reviewer prose is now drift-checked across all eight reviewer prompts, so the two assistants can't diverge on it again.Closes #320
What changed
kiro-notion/agents/reviewer.jsonhas the@notiontool and the samenotionMCP server as its worker, and reads the spec page passed as the second arg.kiro-local/agents/reviewer.jsonreads thetasks/file named by a slug or path from disk, with no tracker MCP. Neither auto-detects a spec fromCloses #N, which only works on GitHub. Both are ported from kiro-gh's and keep its radio-polling block. Sonnet 5.5 still comes fromtask-reviewer's launch line.task-initalready copies everyagents/*.jsonand merges the radio hooks into it, so both new agents get installed with theirregisterhook.task-config add assistant kiroon a notion or local repo brings them along. I only changed the help text.radio send's outcome and runtask-done --remove-worktree. They hold the tab open only when the verdict never reached PM, and they pick up the tight-PR norm.commands/reviewer.md, the dogfood.claude/commands/reviewer.mdand the 3 kiroreviewer.jsonfiles: the newreviewer-contractgroup. For that,tools/check-drift.shnow checks a*.jsonfile on its decoded.promptand accepts<!-- region:NAME -->sentinels, so the markers don't render as headings in a markdown prompt.bin/task-reviewer. The refusal no longer lists loadouts. It still keys on the file, and now names the missing<impl>/agents/reviewer.jsonand the--agent claudeworkaround.task-init kiro-notion/task-init kiro-local(andkiro-gh). For claude the re-run is optional, since only invisible comments changed.Tests
task_reviewer.bats: kiro-notion and kiro-local launchkiro-cli chat --agent reviewer --model claude-sonnet-5.5with the spec passed through,Closes #Ngives a diff-only review there, dispatch works from the steering doc alone, and the refusal fires on a tree copy with the agent removed. All with stubbed zellij and kiro-cli.kiro_{notion,local}_task_init.bats:reviewer.jsonis installed as a copy of the source plus aradio registerhook carrying the loadout. A shape check covers name, tools,allowedTools ⊆ tools, no shipped hooks, and the tracker MCP: notion's matches its worker, local has none.dual_assistant.bats:add assistant kiroon claude-notion and claude-local brings a hooked reviewer.drift_check.bats: JSON prompts, comment sentinels, a missing region in JSON, and the realreviewer-contractgroup going red when one kiro copy is altered.prose_body_file,worker_checklist,kiro_radio_pull) now cover all 8 reviewers (32 prompts, 12 JSON).reviewer.jsonturns its launch, dispatch, install and shape tests red. Disabling the checker's JSON extraction or its comment sentinels turns the new drift tests red.kiro-cli-chat agent upgrade --dry-rununder a scratch HOME on a scratchtask-initinstall, per PM's guardrail): both new reviewers parse exactly as the worker does (V2, 0 errors). Not covered: a live kiro reviewer session, a real Notion MCP fetch, or a real self-destruct from a kiro tab../run_tests.shpasses (1665 tests),tools/check-drift.shchecks 18 groups, andshellcheck -xis clean on the changed shell files.🤖 Generated with Claude Code