fix(ci): drop --verbosity compact from reqstool-status, not on PyPI yet#59
Merged
Merged
Conversation
reqstool status --verbosity compact failed on the latest PyPI release (0.11.0): "invalid choice: 'compact'" — that flag is another reqstool-client@main-only feature, same situation as the validate subcommand. Fall back to default verbosity output rather than adding another availability-tracking input for a cosmetic flag. Found via reqstool-demo#104's pypi matrix leg. Signed-off-by: Jimisola Laursen <jimisola@jimisola.com>
jimisola
added a commit
to reqstool/reqstool-demo
that referenced
this pull request
Jun 21, 2026
Picks up reqstool/.github#59 (drop --verbosity compact from reqstool-status, also not yet on PyPI — same situation as the validate subcommand fixed in #48), found via this PR's pypi matrix leg failing with "invalid choice: 'compact'". Signed-off-by: Jimisola Laursen <jimisola@jimisola.com>
jimisola
added a commit
to reqstool/reqstool-demo
that referenced
this pull request
Jun 21, 2026
…howcase (#104) * feat(openspec): bootstrap OpenSpec spec layer for the demo's status showcase Adds an OpenSpec layer mirroring reqstool-client#407's dogfooding pattern, scoped to this repo's actual purpose: showcasing every reqstool status outcome (pass, manual-fail, not-implemented, failing-test, skipped-test, missing-test) across six small feature capabilities. - openspec/specs/{greeting,billing,reporting,validation,notifications, audit-logging}/spec.md — one capability per status outcome, in thin ID-reference form against the existing requirements.yml/SVC IDs (REQ_PASS, REQ_MANUAL_FAIL, ...). IDs are kept as-is (no capability prefix) since they're already domain-named and intentionally demonstrate non-passing states, unlike reqstool-client's renamed/100%-passing set. - openspec/openspecui.hooks.ts — reqstool-ai's openspecui enrichment hook. - .reqstool-ai.yaml — single "demo" module, domain-specific (no) prefix. - .mcp.json — project-scoped reqstool MCP server entry. Validated: openspec validate --specs --strict (6/6 pass), reqstool validate --strict (pass), reqstool status (1/6 complete, by design), mvn clean verify (build succeeds; one intentionally failing test, by design), and CLI vs MCP get_requirements_status now agree exactly across all 6 requirements (confirmed after reqstool-client#411's fix). Signed-off-by: Jimisola Laursen <jimisola@jimisola.com> * ci(build): validate OpenSpec specs, clarify reqstool-ai prefix comment - Add an openspec validate --specs --strict step to build.yml so spec/SSOT drift fails CI instead of relying on the manual run documented in #104's PR description; build-docs.yml's docs/** path filter doesn't cover openspec/**, so nothing else was catching this. - Expand the .reqstool-ai.yaml comment explaining why req_prefix is empty while svc_prefix isn't. Found by /x:full-pr-review on #104. reqstool validate --strict was intentionally not added yet — not in the currently published PyPI release. Signed-off-by: Jimisola Laursen <jimisola@jimisola.com> * ci(build): matrix reqstool CI across PyPI and reqstool-client@main Adds an openspec validate --specs --strict step to build.yml so spec/SSOT drift fails CI instead of relying on the manual run documented in #104's PR description. Runs reqstool status/validate against both the latest PyPI release and reqstool-client's main branch in a matrix, since reqstool-client is deliberately holding off its next release until the org-wide OpenSpec dogfooding rollout is complete, and main already has fixes (#411) and commands (validate) not yet published. reqstool validate --strict only runs on the main leg since that subcommand isn't on PyPI yet. CI continues to run the latest PyPI release as its baseline; see reqstool-demo#105 for tracking divergence between the two legs and collapsing back to PyPI-only once reqstool-client cuts its next release. Also expands the .reqstool-ai.yaml comment explaining why req_prefix is empty while svc_prefix isn't. Found by /x:full-pr-review on #104. Signed-off-by: Jimisola Laursen <jimisola@jimisola.com> * fix(ci): pin Python 3.13 for reqstool install step build (main) failed: the runner's default Python (3.12) doesn't satisfy reqstool-client@main's reqstool-python-decorators>=0.1.0 dependency, which requires Python >=3.13. Add actions/setup-python@v6 pinned to 3.13, matching reqstool-client's own CI convention (build.yml, lint.yml). Signed-off-by: Jimisola Laursen <jimisola@jimisola.com> * ci(build): use shared reqstool/openspec workflows from reqstool/.github Replaces the inline reqstool install/status/validate steps and the inline openspec install/validate step with the reusable building blocks just added to reqstool/.github for this rollout: - reqstool/.github/.github/actions/validate-reqstool (reqstool-client#412 follow-up notwithstanding, runs reqstool validate --strict; only called for the main matrix leg since that subcommand isn't on PyPI yet) - reqstool/.github/.github/actions/reqstool-status (runs reqstool status, fail-if-incomplete left false since this repo intentionally has incomplete requirements) - reqstool/.github/.github/workflows/common-validate-openspec.yml (now a separate job, since it's a reusable *workflow* rather than a composite action) Pinned to reqstool/.github@cd3b5e8 (main, 2026-06-21) per reqstool/.github#40 and #41. Signed-off-by: Jimisola Laursen <jimisola@jimisola.com> * fix(ci): call install-reqstool explicitly, per reqstool/.github#48 validate-reqstool/reqstool-status no longer install reqstool themselves (reqstool/.github#48 removed their broken nested ./.github/actions/install-reqstool reference, which only resolved when called from within reqstool/.github itself, not from a consuming repo like this one). Call install-reqstool explicitly as its own step first. Pinned to reqstool/.github@11a00fc (main, 2026-06-21). Signed-off-by: Jimisola Laursen <jimisola@jimisola.com> * ci(build): re-pin reqstool/.github to 5bdf4e5 Picks up reqstool/.github#59 (drop --verbosity compact from reqstool-status, also not yet on PyPI — same situation as the validate subcommand fixed in #48), found via this PR's pypi matrix leg failing with "invalid choice: 'compact'". Signed-off-by: Jimisola Laursen <jimisola@jimisola.com> * fix(reqstool): use 0.1.0 as the first revision, per semver requirements.yml and software_verification_cases.yml used 0.0.1 for every requirement/SVC. Per semver, 0.0.x is reserved for pre-release/unstable work before any real first version — the first published revision of a thing should be 0.1.0, which also matches reqstool-ai's own .reqstool-ai.yaml.template default ("Revision string for new requirements and SVCs. Default: 0.1.0"). My earlier .reqstool-ai.yaml matched the existing (non-conventional) 0.0.1 instead of fixing it forward. manual_verification_results.yml has no revision field in its schema, so nothing to change there. Signed-off-by: Jimisola Laursen <jimisola@jimisola.com> * fix(security): add explicit permissions block to build.yml CodeQL flagged this 3 times across commits: the workflow didn't limit GITHUB_TOKEN permissions. Add permissions: contents: read at the workflow root, matching the existing convention in this repo (build-docs.yml, check-semantic-pr.yml). Signed-off-by: Jimisola Laursen <jimisola@jimisola.com> --------- Signed-off-by: Jimisola Laursen <jimisola@jimisola.com>
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.
What
`reqstool status --verbosity compact` failed on the latest PyPI release (0.11.0):
```
reqstool status: error: argument source: invalid choice: 'compact' (choose from 'local', 'git', 'maven', 'pypi')
```
`--verbosity` is another `reqstool-client@main`-only feature (same situation as `validate`, fixed in #48) — confirmed PyPI's `reqstool status --help` has no `--verbosity` option at all yet.
Fix
Drop `--verbosity compact` and fall back to default verbosity output. This is cosmetic (doesn't affect the `--check-all-reqs-met` gating logic this action exists for), so rather than adding yet another availability-tracking input, just don't use it until it's released.
Found via reqstool-demo#104's `pypi` matrix leg.
🤖 Generated with Claude Code