Changelog
Changelog
v0.6.4
Fix: Adopt → Loop wiring. Every adopt-touching intent (adopt_single, single_issue, multi_issue, top_n, all_open) now correctly enters Loop Mode after adoption, fulfilling the protocol § Intent Resolution promise that v0.6.0 only honored for the PRD path.
What changed
- New § Adopt Dispatch in
skills/mino-task/SKILL.mdorchestrates the per-issue adopt loop and routes to Loop Driver after the single Resolved Plan approval. - Adopt-Step 5 (per-issue
Approve adoption?prompt) is removed from all current intents. Batch invocations of 5 issues no longer interrupt 5 times. The Resolved Plan is now the sole approval gate. - Adopt-Step 9 no longer prints
Run /mino-run issue-{N}and stops. It now returns control to Adopt Dispatch, which renders the Resolved Plan after the last issue and enters Loop Driver onyes. - Resolved Plan task lines now annotate
[adopted],[re_adopted, archived to <path>], or[published]so the re_adopt cost is visible before approval. - Legacy
/mino-task adopt issue-Nsyntax is unified with#<N>— both go through Adopt Dispatch and enter Loop withtask_done.
Migration
None required. Briefs, events, labels, and Loop entities from prior versions are unchanged. The per-issue Approve adoption? prompt is gone; users who want stepwise control should invoke /mino-run / /mino-verify / /mino-checkup directly on individual issues instead of /mino-task #<N>.
Caveat
If a user cancels at the Resolved Plan stage after Adopt Dispatch processed re_adopted issues, the archived files at .mino/archive/issue-<N>-rev-<hex>/ are not auto-restored. The Resolved Plan annotation surfaces the archive paths so the cost is visible before approval. Manual restore via mv is straightforward if needed.
v0.6.3 — Reply Comments + Optional Note Input + Default-Silent Status
New comment class: reply (conversational, content-bearing). Posted at convergence (verify_passed / verify_pending_acceptance / checkup_done) when the agent judges there is human-relevant content to convey. Rendered from a new comment-reply.md.tmpl (in both mino-verify/templates/ and mino-checkup/templates/). Speaks to the issue author in second person; contains no machine fields, no Completion Basis:, no bare SHA, no yaml, no .mino/* paths.
Status comments are now interrupt-only: verify_failed_retryable, verify_failed_terminal, verify_pending_acceptance, verify_publication_failed. The checkup_done status comment and the "awaiting manual verification" prompt are gone — both leaked agent internals into the user-facing comment stream.
Optional <note> argument for /mino-verify and /mino-checkup. Free-form text following the issue ref. Used as the agent's primary decision input for reply dispatch. Stored locally:
- verify:
## Manual Verifier Notesection in.mino/reports/issue-{N}/report.md - checkup accept:
### Accept Notesubsection in briefManual AcceptanceNever echoed verbatim to GitHub; the agent synthesises into the reply template.
Reply dispatch (three-way decision: doc / reply / silent). Default auto. Configurable via .mino/config.yml > comment.reply (auto | always | never). "When in doubt, do not post."
Protocol additions (v1.13 additive, no header bump):
- § Comment Classes (status vs reply)
- § Reply Dispatch (decision rule)
- § Slim Comment Invariant updated to reference Comment Classes
- New optional event field
reply_posted: <comment_url> | nullonverify_passed,verify_pending_acceptance,checkup_done
Deprecated (kept on disk for rollback safety, remove in v0.7.0): mino-checkup/templates/comment-checkup-summary.md.tmpl.
No retroactive cleanup. Pre-v0.6.3 GitHub comments are left untouched.
No breaking changes. All event field additions are optional.
v0.6.2 — Slim-Comment Cleanup + Commit Auto-Link
Bug fixes (v0.5.2 debt paid)
mino-verifyaudible comments no longer dump rendered event yaml. The per-outcome operative instructions in SKILL.md (Steps 6.A–6.E) had contradicted the L102 constraint since v0.5.2; v0.6.0 and v0.6.1 inherited the bug. Now every audible comment renders from a dedicatedcomment-verify-*.md.tmpl(markdown only, no yaml).mino-checkupcheckup_donecomment no longer inlines every local event yml in sequence order. The L196 constraint was a leftover from v0.5.0 aggregate behavior that v0.5.2 forgot to delete.Commit:auto-link is now wired into all audible comments when a sha is bound (the second half of v0.5.2's promise).
New invariant in protocol (v1.13 additive, no header bump): § Slim Comment Invariant explicitly enumerates what audible GitHub comments may and may not contain. Skills enforce it via dedicated comment-*.md.tmpl files. The local .mino/events/issue-{N}/ tree is reaffirmed as the sole authoritative structured log.
No retroactive cleanup. Existing GitHub issue comments authored under v0.5.2 / v0.6.0 / v0.6.1 are left untouched.
No breaking changes. Local event yml schemas unchanged. Brief schemas unchanged. No new event types.
v0.6.1 — Verification Report Artifact
Highlights
- New
.mino/reports/issue-{N}/report.mdartifact authored duringverify, capturing human-readable evidence: environment, steps tested, findings, configuration recipes. - Optional promotion of the report into the project's docs tree (
docs/integrations/<slug>.mdby default), as a separate commit pushed alongsideverify_passed. Controlled by.mino/config.yml > report.promotion(auto|never|always). verify_*events gain optionalreport_pathandpromoted_docfields (backward compatible — absence tolerated).mino-checkup finalizeclose-out comment surfaces the promoted doc link when present.- Protocol header stays at v1.13 (additive change).
No breaking changes. Existing .mino/events/... files without the new fields continue to validate.
Multi-agent git hygiene: promotion is always a separate commit, never an amend. Push remains forward-only (no --force).
v0.6.0 (2026-04-22)
Loop Mode by default. Protocol bumped to v1.13. BREAKING behavior change.
Highlights
/mino-taskis now the workflow's autonomous orchestrator. After approval, it drivesrun→verify→checkup finalizefor every in-scope task without further human invocation, until one of the 7 protocol halt conditions fires.- New natural-language entry:
/mino-task PRD.md,/mino-task #123,/mino-task 修一下 #45 和 #47,/mino-task 前十条 issue,/mino-task 把所有 OPEN 的都跑完all parse into a frozen task set + Loop authorization prompt. - New
/mino-task resume <loop_id>sub-command for explicit halt resolution:continue/skip <task_key>(with dependency cascade) /cancel. - New
.mino/loops/{loop_id}.ymlLoop Entity holds authoritative goal, frozen task set, budget, status, halt reason. Loop-level events live at.mino/loops/{loop_id}/events/. - New repo-level lease
.mino/loops/active.lockprevents concurrent Loops and stepwise interference. Stale leases are auto-detected (PID + 6h heartbeat) and cleaned on takeover. - New event types:
loop_started,loop_halted,loop_resumed,loop_completed,loop_cancelled. Schema:loop:block (vsiron_tree:for issue events). mino-checkup'sfinalizesub-mode (already implemented in source) is now formally part of the Decision Function step 4 path. Comment-template inconsistency from v0.5.2 fixed in passing.
Halt semantics (read this if upgrading)
Halts stop the entire Loop. Loop Mode never auto-skips an offending task. Skipping is a human act via /mino-task resume <loop_id> skip <task_key>. Skipped tasks recursively cancel their in-loop dependents.
Stepwise opt-out (no breakage)
/mino-run #N, /mino-verify #N, /mino-checkup ... continue to work exactly as before when invoked directly. They detect orchestrator mode by the presence of .mino/loops/active.lock and switch to silent return only when an orchestrator holds the lease — direct invocation without an active Loop is unchanged.
Compatibility
- Issue event schema (
iron_tree:): unchanged. - Brief schema:
Halt Reasonfield already existed (v1.10); no new brief fields. (The earlier draft proposal to addLoop Goalto briefs was rejected during design — Loop state lives in.mino/loops/.) - Commit message format: unchanged from v0.5.2 (
[run] #N: ...). - Slash command names: unchanged from v0.5.1.
- Existing Loops do not exist (this is the first Loop release), so no migration needed.
Documentation
skills/references/iron-tree-protocol.mdv1.13: new § Loop Entity, new § Halt Semantics block, updated § Invariants. Removed the obsolete "finalize not yet implemented" caveat.skills/references/workflow-state-contract.md: registered 5 loop_* event types with schemas. ClarifiedHalt Reasonis a brief-side mirror; Loop Entity is authoritative.skills/mino-task/SKILL.md: new § Intent Resolution, § Loop Driver, § Resume Mode at top. Existing Adopt Mode + native PRD flow kept as callable subroutines.
v0.5.2 (2026-04-22)
GitHub-output policy change. No schema changes. Protocol bumped to v1.12.
- Comment hygiene — all audible GitHub issue comments are now pure human-readable notifications (heading +
Reason:+Action:). Removed theLocal events: .mino/events/issue-{N}/pointer line and the inline renderediron_tree:YAML block from every audible comment template. - No more consolidated done comment —
checkup_doneno longer posts the multi-block "consolidated summary" that inlined every event YAML insequenceorder. The done comment is now a four-line notice (heading + Completion Basis + Code Ref + Code Publication State). Recovery from a lost local log via GitHub is no longer supported; the local.mino/events/issue-{N}/*.ymlis the sole authoritative record. (Reconcile keeps a legacy fallback for issues completed under v1.10–v1.11.) - Commit messages link the issue — commit message format changed from
[run] issue-{N}: …to[run] #{N}: …. GitHub now auto-creates a "mentioned this issue in commit X" event on the issue timeline. NoCloses/Fixes/Resolveskeyword is used —mino-checkupretains exclusive ownership of thedonetransition. - Updated
skills/mino-checkup/templates/comment-checkup-summary.md.tmpl, four audible-comment specs inskills/mino-verify/SKILL.md, and the reconcile audible specs inskills/mino-checkup/SKILL.md. - Updated
README.md,README.zh.md,skills/references/iron-tree-protocol.md,skills/references/workflow-state-contract.mdto describe the new policy and the v1.12 protocol boundary. - No event log schema, brief schema, or
iron_tree:field changes. Existing v0.5.1 briefs and event logs remain valid.
v0.5.1 (2026-04-22)
- Renamed all 4 skills with
mino-prefix to prevent slash-command collisions in shared host palettes:task→mino-task(slash command:/mino-task)run→mino-run(slash command:/mino-run)verify→mino-verify(slash command:/mino-verify)checkup→mino-checkup(slash command:/mino-checkup)
- Renamed
skills/{task,run,verify,checkup}/directories accordingly and updated SKILL.mdname:frontmatter. - Updated all documentation (README, TEST_PLAN, protocol references, SKILL.md cross-refs) to use the new slash command names.
- Protocol field names unchanged: commit prefixes (
[task],[run],[verify],[checkup]), event types (task_published,run_*,verify_*,checkup_*), and stage labels (stage:task,stage:run,stage:verify,stage:done) keep their bare names — they identify protocol roles, not user-facing commands. - Existing v0.5.0 users: run
claude plugin update mino@mino-skills(orcopilot plugin update mino) and use the new/mino-*commands.
v0.5.0 (2026-04-22)
- Plugin marketplace support for Copilot CLI, Claude Code, and Cursor.
- Added
plugin.json,.claude-plugin/plugin.json,.cursor-plugin/plugin.json, and.claude-plugin/marketplace.json. - Retained backward compatibility with vercel-labs
npx skills addinstallation path. - Restructured README install section: Plugin Marketplace commands listed first, vercel-labs CLI as alternative fallback.
