feat: implement cova status command#24
Merged
Merged
Conversation
Add a read-only command that displays subscriptions, applied blocks, and configured agents from local config and state — no network operations. Supports default (summary) and verbose (-v) modes. The Cobra layer skips opening the state DB when the file doesn't exist, avoiding side effects for a read-only command.
Remove "Not yet implemented" notes for status and remove in consuming.md. Add verbose output example with summary lines, edge cases section, and planned drift detection note. Check off status in ROADMAP and add default branch resolution as technical debt. Update AGENTS.md and CLAUDE.md with the new status package.
Create sonnet-go-cli-worker with developing-cli-apps skill for Cobra command work. Add applying-effective-go to the existing sonnet-go-worker.
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
Implements
cova status— a read-only command that displays subscriptions, applied blocks, and configured agents. Reads from local config and state only, no network operations. Supports a default summary view and a verbose (-v) mode with per-subscription block breakdowns.Also cleans up stale "Not yet implemented" doc notes for both
cova statusandcova remove.🔑 Key Decisions
Read-only with no side effects
The Cobra layer checks if the state DB file exists before opening it. If missing, it passes a nil
BlockStoretoRun, which treats it as 0 applied blocks. This avoids creatingstate.dbas a side effect of running a read-only command — unlikeadd/apply/removewhich need the DB and create it on demand.Output to
io.Writerinstead of LoggerStatus output is the command's primary structured output, not a log message. The
Depsstruct accepts anio.Writer(stdout in prod, buffer in tests).Loggeris used only for warnings (malformed state records, query failures).Block deduplication
A single block can produce multiple file placements (e.g.,
SKILL.md+config.yaml). Records are deduplicated by(subscription, blockType, blockName)to count blocks, not files.Default branch gap documented as tech debt
cova adddoesn't resolve the default branch when--refis omitted, sostatuscan't show which branch a subscription tracks. Added a ROADMAP tech debt item rather than expanding scope.🔄 Before & After
cova statusandcova status -vcova removedocsstate.dbcova statusskips DB creation if file doesn't existsonnet-go-workermissingapplying-effective-gosonnet-go-cli-workerfor Cobra work