Repository navigation
Add R Statistics agent and harden deployment validation - #266
Conversation
Include a pinned non-root R tool image, reproducible examples and regression tests. Require real execution evidence during deployment validation, preserve diagnostics, and handle approval continuation without self-approving. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Ensure clean CI environments can collect the deployment validator regression tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Fixed the test collection failure by declaring requests==2.32.5 in .github/requirements-ci.txt. The new deployer regression tests import requests; the package was present locally but absent from the clean CI environment. Verified in a new Python 3.12 virtual environment: pip install -r .github\requirements-ci.txt succeeded; python -B -m pytest .github\tests\test_agent_deployer_validation.py -v -ra passed (21 tests); python -B -m pytest .github\tests --collect-only -q succeeded (907 tests, no collection errors). Full-suite execution remains for the rerun in CI. |
Keep the exact pinned dependency assertion aligned with the deployer test dependency. Verified the full Linux Python 3.12 suite: 907 tests and 11 subtests passed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Updated the exact dependency-set regression guard to include requests, preserving the existing strict pinning and workflow-manifest checks. Verified the entire suite in a disposable Linux container with Python 3.12, Node.js, and all dependencies installed from .github/requirements-ci.txt: python -B -m pytest .github/tests/ -q -ra -n 4 --dist worksteal -p no:cacheprovider — 907 passed, 11 subtests passed. git diff --check also passed. This supersedes the earlier collection-only verification. |
Summary
Add a CPU-only R Statistics prompt agent with a reproducible R 4.5.3 / ggplot2 4.0.0 container, pinned dependencies, synthetic usage example, documentation, and container regression tests. Harden the Discovery agent deployer's validation so confirmation-only replies and connectivity responses cannot be mistaken for successful tool execution.
The deployer now correlates tool calls with outputs, requires measured execution receipts for code environments, detects pending approvals without self-approving, preserves the original prompt on retries, resumes the existing conversation when appropriate, and retains failed investigations and response snapshots for diagnosis.
Type of change
agents/<name>/)starter-kits/<name>/)docs/schemas/**).github/**)Related issue / tracking
n/a
Schema impact
breaking-changelabel and link the rollout plan belowValidation checklist
README.md, schemas) is updated to match the change..auto-registry/**(it is generated post-merge)..DS_Store,.env,*.swp,.idea/,.vs/, etc.).Validation performed on Windows after pulling the latest fork
main:python -B -m unittest discover -s .github\tests -p test_agent_deployer_validation.py -v— passed, 21 tests.python -B -m unittest discover -s agents\r-statistics-agent\tools\r-statistics -p "test_*.py" -v— passed, 7 Linux-container integration tests against the previously builtr-statistics:1.1.0image.$Errors = $null; [System.Management.Automation.Language.Parser]::ParseFile((Join-Path (Get-Location) '.github\skills\discovery-services-agent-deployer\scripts\deploy-discovery-agent.ps1'), [ref]$null, [ref]$Errors) | Out-Null; if ($Errors.Count) { $Errors; exit 1 }— passed, no PowerShell parse errors.pwsh -NoProfile -File .github\skills\discovery-services-agent-deployer\scripts\deploy-discovery-agent.ps1 r-statistics-agent -WhatIfPlan— passed.python -B .github\scripts\validate_pr.py --changed-files $List --repo-root . --output $Result— passed for all staged files;$Listand$Resultwere temporary files, removed after validation. The changed-file list was populated usinggit diff --cached --name-only. One nonblocking POL-019 warning: the publisher-email DNS check could not run becausednspythonis not installed.git diff --cached --check— passed.The full repository test suite and a complete external Markdown-link check were not run. No model weights or binary output artifacts are included.
Reviewer notes (optional)
DISCOVERY_VALIDATION_RESULT=receipt in actual tool stdout plus a platform output-resource URI. This intentionally rejects deployments that previously passed on assistant text alone; the format and approval/resume workflow are documented in the deployer references.