Add operational value report evaluator and history functionality - #57503
Conversation
- Implement operational value report evaluator with loading and parsing capabilities. - Create tests for the operational value report evaluator to ensure correct functionality. - Develop operational value report history management, including listing and grading workflow runs. - Introduce caching mechanism for operational value report observations to optimize performance. - Add rendering functions for operational value reports in SVG and Markdown formats. - Define necessary data structures for operational value reports, including metrics, definitions, and observations.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
History truncation, evaluator integrity, incomplete validation, and cache exposure can produce incomplete or unsafe reports.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review tier: Balanced
Findings: 3
New issues introduced by this change (7)
| Severity | Finding |
|---|---|
pkg/cli/graders_operational_value_report_history.go — The created filter on GitHub's workflow-runs endpoint is capped at 1,000 results per search, so… |
|
pkg/cli/graders_operational_value_report_evaluator.go — The evaluator is hashed from evaluatorContent, but syntax checking, definition loading, and every… |
|
pkg/cli/graders_operational_value_report_evaluator.go — This accepts incomplete frozen contracts because it checks only opportunity, accepted evidence, and… |
|
pkg/cli/graders_operational_value_report_cache.go — The cache directory tree is created with world traversal/read permissions even though it contains… |
|
pkg/cli/graders_operational_value_report_command.go — Passing the evidence endpoint as generatedAt makes reports produced with a historical --until… |
|
pkg/cli/graders_operational_value_report_history.go — workflowFile is inserted into a URL path without escaping. Valid filenames containing… |
|
.github/skills/agentic-workflows/SKILL.md — This newly listed resource does not exist under .github/aw, so routed workflow requests that try… |
What changed in this PR
Adds historical operational-value reporting to the graders CLI.
Changes:
- Replays evaluators across workflow history with weekly caching.
- Generates JSON, SVG, and Markdown reports.
- Adds tests, specifications, reference documentation, and skill guidance.
| File | Description |
|---|---|
pkg/cli/graders_operational_value_report_types.go |
Defines report data structures. |
pkg/cli/graders_operational_value_report_render.go |
Renders report artifacts. |
pkg/cli/graders_operational_value_report_history.go |
Lists and grades historical runs. |
pkg/cli/graders_operational_value_report_history_test.go |
Tests history caching behavior. |
pkg/cli/graders_operational_value_report_evaluator.go |
Loads and validates evaluators. |
pkg/cli/graders_operational_value_report_evaluator_test.go |
Tests evaluator loading and parsing. |
pkg/cli/graders_operational_value_report_command.go |
Implements the report command. |
pkg/cli/graders_operational_value_report_command_test.go |
Tests command output artifacts. |
pkg/cli/graders_operational_value_report_cache.go |
Implements weekly observation caching. |
pkg/cli/graders_operational_value_report_cache_test.go |
Tests cache behavior and safety. |
pkg/cli/graders_operational_value_report_build.go |
Builds summaries and weekly aggregates. |
pkg/cli/graders_operational_value_report_build_test.go |
Tests aggregation and rendering. |
pkg/cli/graders_integration_test.go |
Extends CLI integration coverage. |
pkg/cli/graders_command.go |
Registers the report subcommand. |
docs/src/content/docs/specs/graders-specification.md |
Specifies historical reporting requirements. |
docs/src/content/docs/reference/trace-graders.md |
Documents report usage. |
.github/skills/aw-value/SKILL.md |
Adds historical-report guidance. |
.github/skills/agentic-workflows/SKILL.md |
Adds a workflow-context reference. |
Suppressed comments (1)
pkg/cli/graders_operational_value_report_cache.go:116
- Cache entries contain evaluator cases, provenance, diagnostics, and messages derived from potentially private repositories, but this makes them world-readable. Use the sensitive file permission policy so choosing a shared cache root does not disclose private repository metadata to other local users.
if err := tempFile.Chmod(constants.FilePermPublic); err != nil {
|
@copilot Fix the code for all comments in this review thread. When a review comment includes a suggested change, apply the suggestion exactly. Do not make changes beyond what is described in the linked review thread. When complete run report on Daily file diet and show svg. |
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Implemented the requested review-thread fixes in commit f40242d. |
|
Hey @mnkiefer 👋 — thanks for working on the operational value report system! This PR looks solid and ready for review. The implementation includes comprehensive test coverage across evaluator, history, caching, and rendering components, and the diff is well-focused on a single feature area. Great work! Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
To allow these domains, add them to the network:
allowed:
- defaults
- "github.com"See Network Configuration for more information.
|
|
@copilot This PR looks ready for a forward-progress pass. Please review the current status checks, refresh the branch if needed, and run the pr-finisher skill to move it toward merge readiness.
|
Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
|
🎉 This pull request is included in a new release. Release: |


Uh oh!
There was an error while loading. Please reload this page.