docs(specs): update SPEC-PLATFORM-SERVICE post v1.1.0#461
docs(specs): update SPEC-PLATFORM-SERVICE post v1.1.0#461omid-aignostics wants to merge 9 commits intomainfrom
Conversation
…n tests - Refine SHR-UTILS-1: remove plugin references, use Developers actor - Add SHR-UTILS-2 (Plugin System for SDK Extension) with SWR-UTILS-2-1/2/3 - Update SPEC-UTILS-SERVICE with new SWRs and FR-11/12/13 - Add TC-UTILS-PLUGIN-02/03 feature files linked to SWR-UTILS-2-2/3 - Add plugin integration tests for CLI and GUI plugin registration - Extend mcp_dummy_plugin with Typer CLI and BaseNavBuilder artifacts - Fix di_test.py: replace non-existent SPEC-UTILS-DI refs with SPEC-UTILS-SERVICE Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Non-test source files (e.g. dummy plugin modules) live under tests/resources/ and should not be required to follow the *_test.py naming convention. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Escape dot in main\.py and group alternation for correctness and clarity. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ftest Move the session-scoped install_dummy_plugin fixture from plugin_test.py and mcp_test.py into a shared tests/aignostics/utils/conftest.py so the package is only installed/uninstalled once per session regardless of how many test files use it. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Backslash must be doubled in YAML double-quoted strings. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Fix audit pipeline failures by upgrading vulnerable packages: - lxml-html-clean 0.4.3 → 0.4.4 (fixes CVE-2026-28348, CVE-2026-28350) - authlib 1.6.6 → 1.6.9 (fixes CVE-2026-28802) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates specifications to reflect recent Platform API/environment changes and extends the Utils specification with a plugin system, adding integration test scaffolding (dummy plugin + tests) to validate plugin discovery/registration.
Changes:
- Update
SPEC_PLATFORM_SERVICEto include thetestenvironment and documentApplicationRun.results()filtering parameters. - Extend
SPEC-UTILS-SERVICE+ add new requirements/features around plugin discovery and CLI/GUI registration. - Add integration tests + a dummy plugin package used to verify plugin auto-discovery (and update pre-commit exclusion for test resources).
Reviewed changes
Copilot reviewed 18 out of 19 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
uv.lock |
Updates locked dependency versions (authlib, lxml-html-clean). |
specifications/SPEC_PLATFORM_SERVICE.md |
Docs/spec updates for environments and ApplicationRun.results() signature. |
specifications/SPEC-UTILS-SERVICE.md |
Adds FRs for plugin discovery + CLI/GUI registration. |
requirements/SHR-UTILS-1.md |
Refines requirement wording/scope for MCP server audience and functionality. |
requirements/SHR-UTILS-2.md |
Introduces high-level requirement for SDK plugin extensibility. |
requirements/SWR-UTILS-2-1.md |
Adds requirement for plugin module discovery/loading. |
requirements/SWR-UTILS-2-2.md |
Adds requirement for plugin CLI command integration. |
requirements/SWR-UTILS-2-3.md |
Adds requirement for plugin GUI page integration. |
tests/resources/mcp_dummy_plugin/pyproject.toml |
Dummy plugin package metadata + entry point registration for tests. |
tests/resources/mcp_dummy_plugin/src/mcp_dummy_plugin/_cli.py |
Dummy Typer CLI contributed by plugin. |
tests/resources/mcp_dummy_plugin/src/mcp_dummy_plugin/_nav.py |
Dummy GUI nav builder contributed by plugin. |
tests/resources/mcp_dummy_plugin/src/mcp_dummy_plugin/__init__.py |
Exposes dummy plugin CLI/nav for discovery. |
tests/aignostics/utils/conftest.py |
Adds session fixture to install/uninstall dummy plugin for integration tests. |
tests/aignostics/utils/mcp_test.py |
Reuses shared plugin-install fixture; removes in-test install logic. |
tests/aignostics/utils/plugin_test.py |
New integration tests for plugin CLI + GUI nav registration/discovery. |
tests/aignostics/utils/di_test.py |
Updates recorded spec ID metadata for DI tests. |
tests/aignostics/utils/TC-UTILS-PLUGIN-02.feature |
Feature spec for plugin CLI registration. |
tests/aignostics/utils/TC-UTILS-PLUGIN-03.feature |
Feature spec for plugin GUI nav registration. |
.pre-commit-config.yaml |
Excludes tests/resources/ from the name-tests-test hook. |
| subprocess.run( | ||
| [sys.executable, "-m", "pip", "install", "--no-deps", "-e", str(DUMMY_PLUGIN_DIR)], | ||
| check=True, | ||
| capture_output=True, | ||
| text=True, | ||
| ) |
There was a problem hiding this comment.
The session fixture installs the dummy plugin via pip install -e. With a PEP 517 backend (hatchling), pip will use build isolation by default, which can trigger additional build-env installs and potentially network access during test runs. Consider adding --no-build-isolation (and ensuring hatchling is available in the test environment) to make the integration tests more reliable and faster in constrained CI environments.
| """Integration tests for plugin CLI and GUI registration.""" | ||
|
|
||
| from __future__ import annotations | ||
|
|
||
| from typing import TYPE_CHECKING |
There was a problem hiding this comment.
PR description indicates “documentation/specification update only”, but this PR also adds new integration tests and a dummy plugin package under tests/resources. Please update the PR description/test plan (or split into separate PRs) so reviewers/CI expectations match the actual scope and runtime effects (pip install/uninstall during tests).
Summary
testto the list of supported deployment environments (production, staging, development, test), reflecting the test environment constants and settings routing added in chore: add test environment support #422.ApplicationRun.results(): Updated the public API signature to document theitem_idsandexternal_idsfilter parameters introduced in feat(platform): Add item filtering for fetching run results. #442.Test plan