Skip to content

Make 1.0 a runner-only framework for coding-agent users - #108

Merged
sbroenne merged 5 commits into
mainfrom
sbroenne-ai-analysis-review
Oct 1, 2026
Merged

sbroenne merged 5 commits into
mainfrom
sbroenne-ai-analysis-review

Conversation

@sbroenne

Copy link
Copy Markdown
Owner

Description

Coding-agent users already have an assistant that can investigate failures alongside their source. The framework should execute real Copilot tasks and preserve what happened, rather than make additional model calls to judge answers or generate recommendations.

  • Keep CopilotEval, copilot_eval, execution controls, request audits, usage, repetitions, and ordinary pytest outcomes. Consumers own concrete output checks; the current coding agent interprets the evidence.
  • Remove AI judging, analysis, refinement, HTML/Markdown renderers, dashboards, rankings, winner selection, the report command, and their dependencies, demos, fixtures, snapshots, and screenshots.
  • Preserve lossless schema-4.0 JSON evidence with atomic saves and visible persistence errors. Unsupported property values fail instead of silently becoming strings; missing and empty image data remain distinct.
  • Add the companion skill distributed through npx skills, real-Copilot coverage of test authoring and source-backed investigation, and updated setup, documentation, workflows, and contributor instructions.

Breaking migration: prepares version 1.0.0. Removed APIs and flags are not retained as aliases, and older JSON must be regenerated by its producer. load_suite_report returns SuiteReport directly. Session completion is not task correctness; A/B records share the enclosing pytest outcome and do not establish independent pass rates or a winner. Non-AI case loading and explicit grading export remain available.

Rebased onto current main, preserving its WebSocket lifecycle and exact-budget completion fixes. Historical changelog entries and migration examples remain intentionally. No release was tagged or published.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

Checklist

  • I ran the deterministic checks required for this change
  • I ran the relevant real-Copilot integration file when behavior changed
  • I added contract or integration coverage that proves the outcome
  • I updated user and contributor documentation where needed
  • I did not include credentials or unsanitized private prompts

Testing

Latest checks after rebasing and legacy cleanup:

uv run python -m pytest "tests\contracts" -q -o addopts=''
Passed: 98 offline framework/evidence contracts. These do not establish model performance.

uv run python -m pytest "tests\integration\copilot\test_01_basic.py" -q
Passed: 2 real-Copilot integration cases.

uv run ruff check src tests examples
Passed.

uv run ruff format --check src tests examples
Passed: 131 files already formatted.

uv run pyright
Passed: 0 errors, 0 warnings, 0 information messages.

uv run python -X utf8 -m mkdocs build --strict --quiet
Passed.

uv build --quiet
Passed: wheel and source distribution built for 1.0.0.

uv lock --check
Passed.

git --no-pager diff --check
Passed after normalizing the edited ignore file.

Additional acceptance checks verified isolated installed-package evidence replay without Copilot credentials, local npx skills installation with all three files matching source, and the rebuilt wheel/source archives containing no retired modules, renderer assets, dependencies, or report entry point. The full paid integration suite was not rerun.

Related Issues

N/A

Keep real Copilot execution, ordinary pytest outcomes, and lossless native JSON evidence. Remove AI judging, advice, report renderers, rankings, demo artifacts, and their dependencies. Add the coding-agent companion skill and align setup, tests, documentation, and migration guidance with the new boundary.

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

github-actions Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

Scorecard details
PackageVersionScoreDetails
pip/pytest-skill-engineering >= 1.0.0,< 2 UnknownUnknown
pip/pytest-skill-engineering >= 1.0.0,< 2 UnknownUnknown
pip/annotated-types 0.8.0 UnknownUnknown
pip/anyio 4.15.1 UnknownUnknown
pip/attrs 26.1.0 UnknownUnknown
pip/certifi 2026.7.22 🟢 5.9
Details
CheckScoreReason
Maintained🟢 67 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 6
Security-Policy🟢 10security policy file detected
Code-Review🟢 5Found 2/4 approved changesets -- score normalized to 5
Binary-Artifacts🟢 10no binaries found in the repo
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Pinned-Dependencies🟢 5dependency not pinned by hash detected -- score normalized to 5
Token-Permissions🟢 10GitHub workflow tokens follow principle of least privilege
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 9license file detected
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ 0branch protection not enabled on development/release branches
Packaging⚠️ -1packaging workflow not detected
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
pip/cffi 2.1.1 UnknownUnknown
pip/click 8.5.0 UnknownUnknown
pip/colorama 0.4.6 UnknownUnknown
pip/cryptography 50.0.2 UnknownUnknown
pip/github-copilot-sdk 1.0.16 UnknownUnknown
pip/h11 0.16.0 🟢 4.4
Details
CheckScoreReason
Code-Review🟢 5Found 9/18 approved changesets -- score normalized to 5
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Maintained⚠️ 00 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Binary-Artifacts🟢 10no binaries found in the repo
Packaging⚠️ -1packaging workflow not detected
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
License🟢 10license file detected
Security-Policy⚠️ 0security policy file not detected
Fuzzing🟢 10project is fuzzed
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
pip/httpcore 1.0.9 UnknownUnknown
pip/httpcore2 2.13.1 UnknownUnknown
pip/httpx 0.28.1 UnknownUnknown
pip/httpx2 2.13.1 UnknownUnknown
pip/httpx2-jsfetch 1.0 UnknownUnknown
pip/idna 3.20 UnknownUnknown
pip/iniconfig 2.3.0 UnknownUnknown
pip/jsonschema 4.26.0 UnknownUnknown
pip/jsonschema-specifications 2025.9.1 UnknownUnknown
pip/mcp 2.2.0 UnknownUnknown
pip/mcp-types 2.2.0 UnknownUnknown
pip/opentelemetry-api 1.45.0 UnknownUnknown
pip/outcome 1.3.0.post0 🟢 3.9
Details
CheckScoreReason
Binary-Artifacts🟢 10no binaries found in the repo
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Code-Review🟢 7Found 7/9 approved changesets -- score normalized to 7
Maintained⚠️ 00 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Packaging⚠️ -1packaging workflow not detected
Pinned-Dependencies⚠️ 1dependency not pinned by hash detected -- score normalized to 1
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 9license file detected
Signed-Releases⚠️ -1no releases found
Security-Policy⚠️ 0security policy file not detected
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
pip/packaging 26.3 UnknownUnknown
pip/pluggy 1.6.0 UnknownUnknown
pip/pycparser 3.0 UnknownUnknown
pip/pydantic 2.13.5 UnknownUnknown
pip/pydantic-core 2.46.5 🟢 6.5
Details
CheckScoreReason
Code-Review⚠️ 2Found 7/29 approved changesets -- score normalized to 2
Maintained🟢 1030 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Binary-Artifacts🟢 10no binaries found in the repo
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Pinned-Dependencies🟢 8dependency not pinned by hash detected -- score normalized to 8
Fuzzing🟢 10project is fuzzed
License🟢 10license file detected
Signed-Releases⚠️ -1no releases found
Security-Policy🟢 10security policy file detected
Branch-Protection🟢 3branch protection is not maximal on development and all release branches
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
Packaging🟢 10packaging workflow detected
pip/pygments 2.21.0 UnknownUnknown
pip/pyjwt 2.15.1 UnknownUnknown
pip/pytest 9.1.1 UnknownUnknown
pip/pytest-asyncio 1.4.0 UnknownUnknown
pip/python-dateutil 2.9.0.post0 🟢 4.9
Details
CheckScoreReason
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Packaging⚠️ -1packaging workflow not detected
Maintained🟢 67 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 6
Binary-Artifacts🟢 10no binaries found in the repo
Code-Review⚠️ 0Found 0/15 approved changesets -- score normalized to 0
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Security-Policy⚠️ 0security policy file not detected
Fuzzing🟢 10project is fuzzed
License🟢 9license file detected
Signed-Releases🟢 82 out of the last 2 releases have a total of 2 signed artifacts.
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
pip/python-frontmatter 1.3.0 UnknownUnknown
pip/python-multipart 0.0.32 UnknownUnknown
pip/pywin32 312 UnknownUnknown
pip/pyyaml 6.0.3 UnknownUnknown
pip/referencing 0.37.0 UnknownUnknown
pip/rpds-py 2026.6.3 UnknownUnknown
pip/six 1.17.0 🟢 3.7
Details
CheckScoreReason
Maintained⚠️ 00 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Code-Review⚠️ 2Found 7/30 approved changesets -- score normalized to 2
Binary-Artifacts🟢 10no binaries found in the repo
Packaging⚠️ -1packaging workflow not detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Fuzzing🟢 10project is fuzzed
Security-Policy⚠️ 0security policy file not detected
License🟢 10license file detected
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ 0branch protection not enabled on development/release branches
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
pip/sniffio 1.3.1 UnknownUnknown
pip/sortedcontainers 2.4.0 UnknownUnknown
pip/sse-starlette 3.5.0 UnknownUnknown
pip/starlette 1.7.0 UnknownUnknown
pip/tomlkit 0.15.1 UnknownUnknown
pip/trio 0.34.0 UnknownUnknown
pip/truststore 0.10.4 UnknownUnknown
pip/typing-extensions 4.16.0 UnknownUnknown
pip/typing-inspection 0.4.4 UnknownUnknown
pip/uvicorn 0.54.0 UnknownUnknown
pip/websockets 17.1 UnknownUnknown
pip/cryptography 50.0.2 UnknownUnknown
pip/github-copilot-sdk 1.0.16 UnknownUnknown

Scanned Files

  • .github/workflows/hero-tests.yml
  • examples/quickstart/pyproject.toml
  • examples/skill-dogfood/pyproject.toml
  • examples/skill-dogfood/uv.lock
  • uv.lock

sbroenne and others added 4 commits September 30, 2026 19:56
Remove automatic execution retries, retire outdated showcase samples, and retain real customer workflows with fixed independent checks and native evidence. Document the measured companion skill comparison and the decision not to ship the guidance layer.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Drop remaining tests of the removed coding-agent analysis prompt and guard its retirement. Format Python documentation examples to satisfy the repository-wide CI formatter.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Upgrade GitHub Copilot SDK to 1.0.16 and cryptography to 50.0.2, refresh dependency minimums and both lockfiles, and correct the dependency-review action version label.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Explain the experiment and product decision in plain English, remove references to undistributed local records, and align the title and navigation with the question tested.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@sbroenne
sbroenne merged commit d389a0b into main Oct 1, 2026
10 checks passed
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