Skip to content

io-cli 0.30.1 - #76

Merged
aakashpawar1999 merged 2 commits into
mainfrom
develop
Aug 29, 2026
Merged

aakashpawar1999 merged 2 commits into
mainfrom
develop

Conversation

@aakashpawar1999

Copy link
Copy Markdown
Contributor

Release PR. Reviewed in #75.

io skill did not exist. 0.30.0 documented io skill add|list|remove and shipped a working parse, plan and session arm — and a binary that answered error: unrecognized subcommand 'skill', because clap's Subcommand enum never learned the word and manage::parse's surface list hadn't either. All 1,609 tests passed over it; they all enter through manage::parse, which sits behind the missing routing. Found by running the published artifact.

A test now asks clap itself which subcommands it routes and compares that against the surfaces manage::parse accepts.

Gates: 99 binaries / 1,610 passed / 0 failed / 36 ignored; clippy --all-targets -- -D warnings exit 0; fmt clean. Verified end to end on the built binary.

0.30.0 documented `io skill add|list|remove` in the README and the CHANGELOG and
shipped a working parse, a working plan and a working arm in the session - and a
binary that answered `error: unrecognized subcommand 'skill'`.

The argv door is the Subcommand enum in src/cli.rs and nothing had added `skill`
to it. manage::parse's own surface list was missing it too, so even once clap
routed the word the parse refused it with "is not a surface io manages".

All 1,609 tests passed over this. Every one of them enters through manage::parse,
and the routing that was missing sits in front of it. A subagent reported "no
change needed in src/cli.rs" and that was accepted without checking, which is the
failure this release documented repeatedly and then repeated.

Found by running the published artifact. The post-release smoke is the last gate
and the only one that sees the product the way a user meets it.

The new gate asks clap itself which subcommands it will route and compares that
against the surfaces manage::parse accepts, so the two cannot disagree again. Its
first version was vacuous - the needle "io does not manage" does not appear in a
refusal that reads "is not a surface io manages" - and is taken from the real
bytes now.

Verified end to end on the built binary: add writes the file and lists it as
`yours`, remove deletes it, and the listing is empty of it afterwards.
@aakashpawar1999
aakashpawar1999 merged commit 60421b3 into main Aug 29, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant