Skip to content

fix: report SOPs and skills as separate counts in install summary - #36

Draft
simonkrol wants to merge 1 commit into
release/v1.1.0from
dev/simonkrol/install_summary_counts
Draft

simonkrol wants to merge 1 commit into
release/v1.1.0from
dev/simonkrol/install_summary_counts

Conversation

@simonkrol

@simonkrol simonkrol commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Description

CLI:

  • konductor install's summary now reports SOPs and skills as separate counts for every harness (kiro-cli-v2, kiro-v3, claude) and both install paths (--from and release fetch). Before this change, SOP conversions (sop-<name>/SKILL.md) were counted as skills, and every staged SOP was also reported as skipped even though it was installed.
  • InstallCounts gains a sops count, deduped by SOP name across a SOP's raw .sop.md copy and its skill conversion. An entry counts as a SOP only when its name was staged as a SOP for this install, so a skill that happens to be named sop-... (skills/sop-state-management/) stays a skill.
  • --json: adds sops. No existing key is removed or renamed. sops_skipped stays, is 0 when nothing was skipped, and reports staged minus installed SOPs.
  • The release-fetch path records the staged SOP names in RemoteInstallOutcome before its scratch directory is deleted.

Docs:

  • cli/README.md: removed the stale "SOPs are not installed anywhere" limitation and documented the SOP install destinations.
  • install/kiro_cli.rs: fixed a module doc comment that said SOPs have no Kiro CLI destination.
  • CHANGELOG.md: [Unreleased] / Fixed entry.

Fixes # N/A

Type of Change

  • CLI (cli/) change, Rust
  • Documentation

Testing

  • cargo build --release, cargo test --release (1733 passed, 0 failed), cargo clippy --release --all-targets (no new warnings in touched files)
  • Ran the built binary: install --from . --harness kiro-cli-v2 and --harness claude into fresh targets, human and --json. Both report 82 skills / 19 SOPs, matching on-disk contents.
  • New or changed code files carry the required SPDX header

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own changes
  • I have commented my code where necessary
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added or updated tests that prove my change works

Agents Affected

None. CLI install summary only.

Notes for Reviewers

  • PR feat: publish Konductor as a Claude Code plugin marketplace #28 does not touch install.rs; there is no sops_converted_to_skills field on main to reconcile with.
  • check-guide-facts.py has a pre-existing config check failure on main, unrelated to this change.
  • The no---from path is covered by unit tests through the fake remote installer. A live release-fetch run was blocked by GitHub's unauthenticated API rate limit in the test environment.
  • Destination is a v1.1.0 release branch, another PR will address regenerating the HTML user-guide rather than each PR managing that themselves.

@simonkrol
simonkrol changed the base branch from main to release/v1.1.0 October 5, 2026 20:39
konductor install's summary folded an installed SOP's sop-<name>/SKILL.md
conversion into the skills count, then separately claimed every staged SOP
was skipped, even though SopInstallPhase installs every one of them (as a
raw .konductor/sops/ copy and/or a Kiro-discoverable skill conversion) for
all three harnesses.

InstallCounts now derives a distinct sops count from the manifest, deduped
by SOP name so a SOP's raw copy and its skill conversion count once. The
--json sops_skipped key stays present (0 in the normal case) and now
reports an actual shortfall between staged and installed SOPs instead of
always equalling the staged count. No existing JSON key was removed or
renamed.
@simonkrol
simonkrol force-pushed the dev/simonkrol/install_summary_counts branch from 56d3b06 to b18b839 Compare October 5, 2026 22:03

This branch has not been deployed

No deployments
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