Skip to content

test(integrations): characterize delivery boundaries - #4975

Merged
mnriem merged 2 commits into
github:mainfrom
mnriem:mnriem-integration-characterization-tests
Oct 15, 2026
Merged

mnriem merged 2 commits into
github:mainfrom
mnriem:mnriem-integration-characterization-tests

Conversation

@mnriem

@mnriem mnriem commented Oct 15, 2026

Copy link
Copy Markdown
Collaborator

Description

Adds behavior-preserving characterization tests for the existing integration delivery boundary before integration-specific functionality is moved out of core.

The tests consolidate representative installed filename, native invocation, command-reference replacement, dual-mode, and init-guidance contracts into table-driven matrices. They also characterize Copilot command companion cleanup and install/update/removal behavior across every existing native event format.

This PR changes tests only; it does not change production ownership, runtime behavior, or introduce the proposed integration hooks.

Testing

  • Tested locally with uv run specify --help
  • Ran existing tests with uv sync && uv run pytest
  • Tested with a sample project (if applicable)

Exact commands and results:

  • uv sync --extra test — passed.
  • .venv/bin/python -m pytest tests -q — 12,220 passed, 71 skipped, 62 warnings.
  • Focused affected suites — 758 passed, 2 skipped, 22 warnings.

The sample-project coverage is exercised by the table-driven specify init completion-guidance tests for Command Code, Forge, Kimi, Copilot, and DSH.

AI Disclosure

  • I did not use AI assistance for this contribution
  • I did use AI assistance (fill in the disclosure below)

AI disclosure: GitHub Copilot, powered by GPT-5.6 Sol, operated autonomously in autopilot mode with the runtime-default reasoning setting. It inspected the existing integration design and tests, authored and consolidated the characterization tests, ran focused and full validation, created the commit, and drafted this pull request description. No production code was changed.

Consolidate invocation, placeholder, and init-guidance coverage into behavior matrices. Add cross-format native event lifecycle and Copilot companion cleanup characterization without changing production behavior.

Assisted-by: GitHub Copilot (model: GPT-5.6 Sol, autonomous)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 3f522f36-54b2-498e-971d-92a125c5f806
Copilot AI max review requested due to automatic review settings October 15, 2026 16:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The new cleanup tests can pass without proving the removal behavior they are intended to protect.

2 open findings
What changed in this PR

Adds characterization tests for Spec Kit’s integration delivery contracts ahead of an ownership refactor. Production behavior remains unchanged.

Changes:

  • Consolidates filename, invocation, reference-rendering, and dual-mode checks into matrices.
  • Centralizes integration-specific init guidance tests.
  • Adds Copilot companion cleanup and native-event lifecycle coverage.

Review generated autonomously by GitHub Copilot for the requester; model/settings unavailable; scope: review feedback only.

File Description
tests/​test_registrar_path_traversal.py Adds Copilot command, alias, and prompt cleanup coverage.
tests/​specify_cli/​events/​test_events.py Adds lifecycle coverage across seven native formats.
tests/​integrations/​test_integration_kimi.py Moves init guidance coverage into the shared matrix.
tests/​integrations/​test_integration_forge.py Moves init guidance coverage into the shared matrix.
tests/​integrations/​test_integration_dsh.py Moves init guidance coverage into the shared matrix.
tests/​integrations/​test_integration_copilot.py Moves init guidance coverage into the shared matrix.
tests/​integrations/​test_integration_command_code.py Moves init guidance coverage into the shared matrix.
tests/​integrations/​test_integration_characterization.py Introduces shared delivery and init guidance matrices.
tests/​integrations/​test_base.py Consolidates invocation and command-reference cases.

🧠 Review effort: Max


💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tests/specify_cli/events/test_events.py Outdated
Comment thread tests/test_registrar_path_traversal.py
Verify cleanup preconditions and assert native event artifacts are removed before manifest teardown, including OpenCode's separate config and plugin paths.

Assisted-by: GitHub Copilot (model: GPT-5.6 Sol, autonomous)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 3f522f36-54b2-498e-971d-92a125c5f806
Copilot AI max review requested due to automatic review settings October 15, 2026 17:18
@mnriem

mnriem commented Oct 15, 2026

Copy link
Copy Markdown
Collaborator Author

Addressed both review findings in a38e54e544dcbcdf4354e94d7678f229f0a2f5e1.

  • Native event lifecycle tests now prove generated artifacts are deleted by remove_integration_events() before manifest teardown. OpenCode checks its config reference and TypeScript plugin separately.
  • Copilot unregister coverage now pins the exact primary/alias registration and verifies all command and companion prompt files exist before cleanup and are absent afterward.

Validation: .venv/bin/python -m pytest -q tests/specify_cli/events/test_events.py tests/test_registrar_path_traversal.py — 240 passed.

AI disclosure: this review round was addressed on behalf of mnriem by GitHub Copilot, powered by GPT-5.6 Sol, operating autonomously in autopilot mode with the runtime-default reasoning setting. Copilot implemented the test changes, ran validation, authored the commit, and drafted this summary.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

The test-only changes preserve existing contracts, address prior feedback, and have no identified blocking issues.

0 open findings

2 resolved since last review

🧠 Review effort: Max

@mnriem
mnriem merged commit 17d60fe into github:main Oct 15, 2026
16 checks passed
@mnriem
mnriem deleted the mnriem-integration-characterization-tests branch October 15, 2026 17:53
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.

2 participants