Skip to content

fix(cli): register qa command#1230

Open
0xMegg wants to merge 1 commit into
Q00:mainfrom
0xMegg:fix/register-cli-qa
Open

fix(cli): register qa command#1230
0xMegg wants to merge 1 commit into
Q00:mainfrom
0xMegg:fix/register-cli-qa

Conversation

@0xMegg
Copy link
Copy Markdown

@0xMegg 0xMegg commented May 25, 2026

Summary

  • add a top-level ouroboros qa CLI wrapper that delegates to the MCP QAHandler
  • register the command in the main Typer app
  • cover help output and handler delegation/file-loading semantics with CLI tests

Test Plan

  • uv run ruff check src/ouroboros/cli/main.py src/ouroboros/cli/commands/qa.py src/ouroboros/cli/commands/__init__.py tests/e2e/test_cli_commands.py
  • uv run pytest tests/e2e/test_cli_commands.py -q
  • uv run ouroboros --help | grep -E '^│ qa|qa' | head -5
  • uv run ouroboros qa --help

Copy link
Copy Markdown
Contributor

@ouroboros-agent ouroboros-agent Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review — ouroboros-agent[bot]

Verdict: APPROVE

Metadata

| Field | Value |
|### Recovery Notes
First recoverable review artifact generated from codex analysis log.

---|---|
| PR | #1230 |
| HEAD checked | 1cba3330563620b0db5c8d3f8616268e1d4902f0 |
| Request ID | req_1779733199_18 |
| Review record | 0cc94e90-b316-4b43-ae33-fc554ba8c075 |

What Improved

  • Adds a top-level ouroboros qa command that delegates to the existing MCP QAHandler.
  • Adds CLI coverage for command registration, file-loading semantics, and handler delegation.

Issue Requirements

Requirement Status
No linked issue requirement captured N/A

Prior Findings Status

No prior bot review findings were present in /tmp/pr_prior_bot_reviews_1230.md; nothing to maintain or withdraw.

Blockers

No in-scope blocking findings remained after policy filtering.

Follow-up Findings

# File:Line Priority Confidence Suggestion
1 docs/cli-reference.md:30 Low High The CLI reference is described as the complete command reference, but the new top-level qa command is not listed there. This is a documentation gap, not a runtime blocker.

Non-blocking Suggestions

| 1 | docs/cli-reference.md:30 | Documentation | Add ouroboros qa to the commands overview and include its key options so the new public CLI surface is discoverable outside --help. |

Test Coverage Notes

  • Reviewed changed CLI wrapper, top-level command registration, MCP QAHandler contract, and surrounding handler wiring.
  • Ran SETUPTOOLS_SCM_PRETEND_VERSION=0.0.0 /root/.local/bin/uv run python -m pytest tests/e2e/test_cli_commands.py::TestCLIBasics::test_qa_help tests/e2e/test_cli_commands.py::TestCLIBasics::test_qa_command_delegates_to_mcp_handler tests/unit/mcp/tools/test_qa_parser.py -q: 10 passed.
  • Ran SETUPTOOLS_SCM_PRETEND_VERSION=0.0.0 /root/.local/bin/uv run python -m pytest tests/e2e/test_cli_commands.py -q: 33 passed.

Design Notes

The implementation is small and consistent with existing CLI patterns: it exposes a direct Typer command and delegates judgment/parsing/threshold behavior to the MCP QA handler instead of duplicating QA logic.

Design / Roadmap Gate

The affected boundary is a new public CLI entry point over an existing MCP handler. File-or-literal loading is covered for artifact, reference, and seed content; result text and failing QA exit code behavior are straightforward. The command does not persist iteration history or engage OpenCode plugin dispatch, but that matches standalone CLI constraints and does not create a regression in the MCP path.

Directional Notes

Maintainer memory pushed review focus toward public runtime boundaries, plugin/MCP parity, and repository hygiene. The changed files do not add harness artifacts, and the CLI wrapper’s local in-process behavior matches existing standalone CLI QA usage.

Test Coverage

  • Reviewed changed CLI wrapper, top-level command registration, MCP QAHandler contract, and surrounding handler wiring.
  • Ran SETUPTOOLS_SCM_PRETEND_VERSION=0.0.0 /root/.local/bin/uv run python -m pytest tests/e2e/test_cli_commands.py::TestCLIBasics::test_qa_help tests/e2e/test_cli_commands.py::TestCLIBasics::test_qa_command_delegates_to_mcp_handler tests/unit/mcp/tools/test_qa_parser.py -q: 10 passed.
  • Ran SETUPTOOLS_SCM_PRETEND_VERSION=0.0.0 /root/.local/bin/uv run python -m pytest tests/e2e/test_cli_commands.py -q: 33 passed.

Merge Recommendation

Approve. I found no blocking runtime, contract, persistence, or test-coverage issues in the changed boundary. The only follow-up is documenting the new command in the CLI reference.

Review-Metadata:
verdict: APPROVE
head_sha: 1cba333
request_id: req_1779733199_18
review_profile: memory-aware-zero-trust-v2
advisory_memory_only: true


Reviewed by ouroboros-agent[bot] via Codex deep analysis

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