Repository navigation
refactor(artifact): extract info operation - #4882
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Error classification and MCP inventory metadata remain inconsistent with the new operation contract.
3 open findings
What changed in this PR
Extracts artifact.info into a typed, transport-independent operation while retaining the CLI adapter.
Changes:
- Adds typed request, result, descriptor, and error contracts.
- Refactors the CLI command to dispatch through the shared operation.
- Adds operation and CLI parity/error coverage.
| File | Description |
|---|---|
src/specify_cli/artifacts/_operation_info.py |
Implements the shared operation and contracts. |
src/specify_cli/artifacts/command_info.py |
Converts the CLI into a thin adapter. |
tests/specify_cli/artifacts/test_operation_info.py |
Tests operation behavior and validation. |
tests/specify_cli/artifacts/test_command_info.py |
Tests CLI mapping and output compatibility. |
🧠 Review effort: Balanced
Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.
Assisted-by: GitHub Copilot (model: GPT-5.6 Sol, autonomous) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Assisted-by: GitHub Copilot (model: GPT-5.6 Sol, autonomous) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
aa27210 to
c4c6aa3
Compare
|
Addressed all findings from review
Validation after rebasing onto current AI disclosure: this review round was implemented, validated, and summarized autonomously by GitHub Copilot using GPT-5.6 Sol on behalf of @mnriem. |
There was a problem hiding this comment.
🟡 Changes recommended
Structural identifier validation must precede state-dependent project validation to follow the shared operation lifecycle.
1 open finding
3 resolved since last review
🧠 Review effort: Balanced
Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.
Assisted-by: GitHub Copilot (model: GPT-5.6 Sol, autonomous) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Addressed review Validation: 69 focused tests with 100% statement/branch coverage, 288 artifact/MCP regressions, and the full suite at 10,136 passed / 19 skipped. Ruff, formatting, and AI disclosure: this review round was implemented, validated, and summarized autonomously by GitHub Copilot using GPT-5.6 Sol on behalf of @mnriem. |
There was a problem hiding this comment.
🟢 Approval recommended
The implementation follows the shared-operation architecture and includes thorough positive, negative, parity, and isolation coverage.
0 open findings
1 resolved since last review
🧠 Review effort: Balanced
Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.


Summary
artifact.infological operation beneathspecify artifact infoArchitecture
The new operation uses explicit project context and does not depend on process cwd,
SPECIFY_INIT_DIR, Typer, Rich, MCP, CLI consoles, subprocesses, oros.chdir().artifact.info1local-readnonePure request validation, including identifier grammar, runs before state-dependent Spec Kit project validation. This deliberately does not add or register an MCP adapter. The artifact MCP inventory keeps
artifact.infounavailable while sourcing its contract version, capabilities, and network metadata from the shared descriptor.Validation
.venv/bin/python -m pytest -q tests/specify_cli/artifacts/test_operation_info.py tests/specify_cli/artifacts/test_command_info.py --cov=specify_cli.artifacts._operation_info --cov=specify_cli.artifacts.command_info --cov-report=term-missing --cov-branch— 69 passed; 100% statements and 100% branchesLC_ALL=en_US.UTF-8 .venv/bin/python -m pytest -q tests/specify_cli/artifacts tests/specify_cli/test_command_mcp.py tests/specify_cli/test_mcp_version.py— 288 passedLC_ALL=en_US.UTF-8 .venv/bin/python -m pytest -q— 10,136 passed, 19 skippeduvx ruff check src/specify_cli/artifacts/_operation_info.py tests/specify_cli/artifacts/test_operation_info.py— passeduvx ruff format --check src/specify_cli/artifacts/_operation_info.py tests/specify_cli/artifacts/test_operation_info.py— passedgit diff --check— passedupstream/mainScope audit
No changes were made to artifact list pagination or MCP response budgets,
artifacts/mcp_list.py,artifacts/_operation_list.py, artifact lookup, MCP tool registration, or JSON contract normalization. The only MCP inventory change keepsartifact.infounavailable while aligning its static metadata and reason with the new shared descriptor.AI disclosure
This pull request and its review fixes were implemented and validated autonomously by GitHub Copilot using GPT-5.6 Sol on behalf of @mnriem. The maintainer explicitly approved opening this fourth concurrent pull request after being informed that repository policy may assign it lower review priority.