Repository navigation
Rename missing diagnostic tools to report_missing_tool and report_missing_data - #70738
Conversation
Expose report_missing_tool and report_missing_data while accepting legacy calls, configurations, and recorded outputs. Update compiler contracts, runtime consumers, schemas, prompts, documentation, and regression coverage. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
🔬 Test Quality Sentinel is analyzing test quality on this pull request... |
|
🔍 Design Decision Gate 🏗️ is checking for design decision records on this pull request... |
|
✂️ Ponytail Reviewer has started processing this pull request |
|
🧠 Matt Pocock Skills Reviewer is reviewing this pull request using Matt Pocock's engineering skills... |
There was a problem hiding this comment.
🟡 Changes recommended
Missing runtime dependencies, legacy-compatibility regressions, and failing test assertions remain unresolved.
6 open issues
Include safe output helper in all runtime bundles · New Normalize legacy tool aliases before filtering generated tools · New Make delivery-contract comparisons alias-aware · New Preserve message object identity when type is unchanged · New Preserve legacy spelling in workflow source assertion · New Map renamed registry entries to legacy handler fields · New
What changed in this PR
Renames gh-aw’s diagnostic tools to make their reporting purpose explicit across the compiler, runtime, schemas, and documentation.
Changes:
- Advertises
report_missing_toolandreport_missing_data. - Adds legacy-name compatibility while preserving YAML keys and audit identifiers.
- Updates diagnostic handling, prompts, documentation, and regression coverage.
| File | Description |
|---|---|
schemas/agent-output.json |
Accepts canonical and legacy diagnostic types. |
pkg/workflow/unified_prompt_step.go |
Lists canonical diagnostic tools. |
pkg/workflow/tool_description_enhancer.go |
Renames the diagnostic constraint lookup. |
pkg/workflow/safe_outputs_validation_config.go |
Uses canonical validation keys. |
pkg/workflow/safe_outputs_tools.go |
Keeps renamed tools internal. |
pkg/workflow/safe_outputs_tools_meta_integration_test.go |
Updates metadata expectations. |
pkg/workflow/safe_outputs_tools_computation.go |
Enables canonical tool names. |
pkg/workflow/safe_outputs_max_validation.go |
Updates diagnostic validation identifiers. |
pkg/workflow/safe_outputs_handler_registry_test.go |
Updates registry expectations. |
pkg/workflow/safe_outputs_handler_registry_diagnostics.go |
Registers canonical diagnostic handlers. |
pkg/workflow/safe_outputs_default_create_issue_test.go |
Updates default-tool assertions. |
pkg/workflow/safe_outputs_config_generation_test.go |
Checks canonical configuration output. |
pkg/workflow/safe_output_validation_config_test.go |
Expects canonical validation keys. |
pkg/workflow/safe_output_handlers.go |
Separates canonical names from YAML keys. |
pkg/workflow/README.md |
Updates configuration descriptions. |
pkg/workflow/prompts/cache_memory_prompt.md |
Renames missing-data guidance. |
pkg/workflow/prompts/cache_memory_prompt_multi.md |
Updates multi-cache diagnostic guidance. |
pkg/workflow/prompts_test.go |
Updates cold-start guidance expectations. |
pkg/workflow/prompt_validation_test.go |
Checks canonical transport guidance. |
pkg/workflow/pi_safe_outputs_transport_integration_test.go |
Updates Pi prompt assertions. |
pkg/workflow/js/safe_outputs_tools.json |
Renames compiler tool definitions. |
pkg/workflow/engine_conformance_test.go |
Updates invalid-output fixtures. |
pkg/workflow/compiler_safe_outputs_config_test.go |
Checks renamed handler configuration. |
pkg/workflow/compiler_safe_outputs_config_assignment_test.go |
Updates automatic-handler expectations. |
pkg/workflow/cache_memory_prompt_test.go |
Checks renamed cache diagnostics. |
pkg/cli/workflows/test-create-pr-error-handling.md |
Updates diagnostic terminology. |
pkg/cli/workflows/test-copilot-missing-tool.md |
Renames workflow input references. |
pkg/cli/workflows/test-copilot-missing-data.md |
Uses the canonical reporting tool. |
pkg/cli/workflows/test-claude-missing-tool.md |
Renames workflow input references. |
pkg/cli/outcome_eval.go |
Skips both diagnostic spellings. |
pkg/cli/outcome_eval_test.go |
Covers canonical diagnostic exclusions. |
pkg/cli/logs_missing_tool_test.go |
Covers canonical tool reports. |
pkg/cli/logs_missing_data_test.go |
Uses canonical data-report fixtures. |
pkg/cli/logs_metrics.go |
Reads canonical and historical reports. |
docs/src/content/docs/troubleshooting/debugging.md |
Updates diagnostic and watchdog guidance. |
docs/src/content/docs/specs/safe-outputs-specification.md |
Specifies canonical names and aliases. |
docs/src/content/docs/reference/safe-outputs.md |
Documents compatibility boundaries. |
docs/src/content/docs/reference/outcomes.md |
Updates diagnostic outcome terminology. |
docs/src/content/docs/reference/glossary.md |
Updates watchdog diagnostic examples. |
docs/src/content/docs/reference/environment-variables.md |
Updates non-terminal output examples. |
docs/src/content/docs/reference/engines.md |
Updates watchdog terminology. |
docs/src/content/docs/reference/compilation-process.md |
Lists the renamed reporting type. |
docs/src/content/docs/reference/cache-memory.md |
Updates missing-data guidance. |
docs/src/content/docs/patterns/linter-factory.md |
Updates queue initialization guidance. |
docs/src/content/docs/engines/codex.md |
Updates circuit-breaker terminology. |
actions/setup/md/safe_outputs_cli_only_transport_prompt.md |
Uses canonical diagnostic guidance. |
actions/setup/md/mcp_cli_tools_with_safeoutputs_prompt.md |
Updates transport fallback guidance. |
actions/setup/md/cache_memory_prompt.md |
Renames cache-miss reporting. |
actions/setup/md/cache_memory_prompt_multi.md |
Renames multi-cache reporting. |
actions/setup/md/cache_memory_miss.md |
Updates cache warning terminology. |
actions/setup/js/work_queue_delivery.cjs |
Recognizes both diagnostic spellings. |
actions/setup/js/work_queue_claim_scope.test.cjs |
Updates diagnostic scope fixtures. |
actions/setup/js/work_queue_claim_scope.cjs |
Normalizes runtime diagnostic names. |
actions/setup/js/work_queue_claim_scope_checks.cjs |
Updates shared scope checks. |
actions/setup/js/types/safe-outputs.d.ts |
Types canonical and legacy records. |
actions/setup/js/scripts/fixtures/safeoutputs.cjs |
Accepts renamed fixture calls. |
actions/setup/js/safeoutputs_test_isolation.test.cjs |
Expects canonical permission reports. |
actions/setup/js/safeoutputs_cli.test.cjs |
Updates diagnostic CLI coverage. |
actions/setup/js/safeoutputs_cli.cjs |
Emits and classifies canonical diagnostics. |
actions/setup/js/safe_outputs_type_validation.test.cjs |
Checks schema alias definitions. |
actions/setup/js/safe_outputs_tools.json |
Renames runtime tool definitions. |
actions/setup/js/safe_outputs_tools_loader.cjs |
Normalizes loaded tool names. |
actions/setup/js/safe_outputs_mcp_server_http_dispatch.test.cjs |
Updates dispatch registration fixtures. |
actions/setup/js/safe_outputs_mcp_server_http_call_workflow.test.cjs |
Updates reusable-workflow registration fixtures. |
actions/setup/js/safe_outputs_mcp_server_defaults.test.cjs |
Updates default configuration fixtures. |
actions/setup/js/safe_outputs_config.cjs |
Normalizes legacy configuration keys. |
actions/setup/js/safe_output_type_validator.test.cjs |
Updates validation fixtures. |
actions/setup/js/safe_output_type_validator.cjs |
Normalizes validation and budget lookups. |
actions/setup/js/safe_output_names.test.cjs |
Covers aliases and canonical advertising. |
actions/setup/js/safe_output_names.cjs |
Adds shared alias normalization. |
actions/setup/js/safe_output_manifest.test.cjs |
Updates diagnostic exclusion assertions. |
actions/setup/js/safe_output_manifest.cjs |
Excludes both diagnostic spellings. |
actions/setup/js/safe_output_handler_manager.test.cjs |
Updates diagnostic collection coverage. |
actions/setup/js/safe_output_handler_manager.cjs |
Routes canonical diagnostic handlers. |
actions/setup/js/permission_denied_helpers.test.cjs |
Expects canonical permission payloads. |
actions/setup/js/permission_denied_helpers.cjs |
Emits canonical permission diagnostics. |
actions/setup/js/missing_tool.test.cjs |
Updates missing-tool handler fixtures. |
actions/setup/js/missing_tool.cjs |
Uses the canonical handler identifier. |
actions/setup/js/missing_messages_helper.cjs |
Updates its documentation terminology. |
actions/setup/js/missing_data.test.cjs |
Updates missing-data handler fixtures. |
actions/setup/js/missing_data.cjs |
Uses the canonical handler identifier. |
actions/setup/js/mcp_server_core.test.cjs |
Updates tool-name fixtures. |
actions/setup/js/mcp_server_core.cjs |
Resolves aliases for safeoutputs servers. |
actions/setup/js/log_parser_shared.test.cjs |
Updates diagnostic rendering fixtures. |
actions/setup/js/log_parser_shared.cjs |
Updates diagnostic comments only. |
actions/setup/js/load_agent_output.cjs |
Normalizes historical output records. |
actions/setup/js/handle_agent_failure.cjs |
Handles both diagnostic spellings. |
actions/setup/js/generate_safe_outputs_tools.test.cjs |
Updates generator catalog fixtures. |
actions/setup/js/fuzz_bash_command_parser_harness.test.cjs |
Updates diagnostic command vectors. |
actions/setup/js/eslint_factory_portfolio.cjs |
Uses canonical contract output types. |
actions/setup/js/daily_report_portfolio.test.cjs |
Updates report-contract expectations. |
actions/setup/js/daily_report_portfolio.cjs |
Uses canonical contract output types. |
actions/setup/js/copilot_sdk_driver.test.cjs |
Updates shell-permission fixtures. |
actions/setup/js/copilot_harness.test.cjs |
Updates harness diagnostic coverage. |
actions/setup/js/collect_ndjson_output.test.cjs |
Covers alias normalization and shared budgets. |
actions/setup/js/collect_ndjson_output.cjs |
Normalizes diagnostics before collection. |
actions/setup/js/codex_harness.test.cjs |
Updates permission-report expectations. |
actions/setup/js/claude_harness.test.cjs |
Updates permission-report expectations. |
actions/setup/js/bash_command_parser.test.cjs |
Updates diagnostic command fixtures. |
actions/setup/js/bash_command_parser_spec_vectors.json |
Updates the shared command vector. |
Review effort: Max
Add gh aw fix migrations to report-missing-tool and report-missing-data, preserve legacy schema aliases and import precedence, and cover formatting, conflicts, disables, and repeated fixes. Deploy the shared name normalizer in both MCP bundles and embedded parsers to fix gateway startup failures. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Normalize legacy config before generating tools, compare immutable delivery contracts using canonical aliases, preserve unmodified message identity, restore strict mode, and align the unchanged workflow-source assertion. Add focused generation, delivery, identity, and strict-mode regressions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Recompile workflow locks from merged sources using canonical report_missing_tool and report_missing_data tool definitions and prompts. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
In response to this status notification: no code change is requested here; this only announces a reviewer run. There is no actionable engineering recommendation in this comment to accept or reject. |
|
In response to this status notification: no code change is requested here; this only announces that the reviewer started. The substantive correctness feedback is being addressed separately. |
|
In response to this status notification: no code change is requested here; this only announces test-quality analysis. The specific test regressions reported in review are being handled in their individual threads. |
|
In response to this status notification: no code change is requested here; this only announces the design-decision review. There is no actionable design or ADR finding in this comment to implement. |
|
In response to this status notification: no code change is requested here; this only announces the review run. The actionable review findings are being handled in their individual threads. |
|
@copilot address the following outstanding work in one pass:
Push the necessary fixes, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved. Use the pr-finisher skill and stop when only human review or CI remains; do not trigger CI. Sous-chef head: fc3187a
|
Refresh the smoke compiler golden for canonical diagnostic names and preserve generic MCP registration and calls when server metadata is absent. Cover metadata-free servers without weakening conformance assertions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…piness Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Merged latest |
|
@copilot address the following outstanding work in one pass:
Push the necessary fixes, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved. Use the pr-finisher skill and stop when only human review or CI remains; do not trigger CI. Sous-chef head: 9864e93
|
…piness # Conflicts: # .github/workflows/smoke-claude-sub-agents.lock.yml Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Update remaining local workflow instructions and triage skill references to report_missing_tool and report_missing_data. Preserve failure category examples and compatibility contracts, refresh generated workflow metadata, and guard builtin and local workflow prompt bodies against legacy tool-name drift. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Sync the three instruction files documenting safe-outputs config with the report-missing-tool/report-missing-data rename (#70738, schema-confirmed deprecated aliases requiring `gh aw fix` migration). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…#70835) Sync the three instruction files documenting safe-outputs config with the report-missing-tool/report-missing-data rename (#70738, schema-confirmed deprecated aliases requiring `gh aw fix` migration). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>



Summary
Make diagnostic tool names explicitly describe their reporting intent:
missing_toolbecomesreport_missing_tool, andmissing_databecomesreport_missing_data.safe-outputs.report-missing-toolandsafe-outputs.report-missing-datathe canonical frontmatter keys. Keep legacy keys as deprecated aliases and add two format-preservinggh aw fix --writecodemods, including correction ofmissing-tools. Conflicting keys require manual resolution instead of overwriting configuration.safe_output_names.cjs, retain a real strict-mode directive in the CLI helper, and align source-file assertions with unchanged workflow Markdown.origin/mainand regenerate workflow locks with the canonical tool definitions and prompts. All 345 workflows compiled successfully; no authored.github/workflows/*.mdchanges were needed.Validation
make agent-report-progress: impacted Go tests and 2,178 JavaScript tests passed. The overall gate is still blocked by pre-existing Go lint findings in touched files; its workflow drift phase was therefore not reached. The merge playbook separately rebuilt and successfully recompiled all 345 workflows.All seven supplied review threads were answered and resolved. Five supplied review-start notifications contained no actionable feedback and received separate linked responses.