From 42041233a0a683dc796234510e1b1f2f9fab3cf3 Mon Sep 17 00:00:00 2001 From: Mark Schaller Date: Sat, 26 Sep 2026 02:31:48 -0400 Subject: [PATCH] Say what a non-interactive agent should do at the scope check (for discussion) The scope check tells the agent to surface custom commands, codegen and non-system find_package uses "and confirm before proceeding". In a non-interactive run there is nobody to confirm with. The skill does not say what to do instead, so the agent proceeds and the findings the gate exists to surface are not recorded anywhere. Measured in any2bazel-lab: the gate was passed in 13 of 13 applicable non-interactive runs on small projects, and in every larger- project run but one (which stopped with a correct scope report). The outcomes were mostly good; what was lost is the audit trail. Adds the fallback the proposal suggests: if no one can answer, record the findings and the decision taken in any2bazel.json under "scope_findings" (record-only; config.load ignores unknown keys; listed with the other fields) and proceed, unless the not-yet-supported list applies, where the stop holds even unattended. The fallback replaces the confirmation, not the stop, so for an item on that list no answer still means stop and report. In the lab's later runs with this change, every migrating agent recorded its scope findings, and the YugabyteDB agent stopped with a scope report. This is a proposal for discussion: whether an unanswerable gate should become "record and proceed", or stay a stop the agent is expected to honor, is the maintainers' design call. Lab-Proposal: P4 Co-Authored-By: Claude Opus 5.5 --- SKILL.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/SKILL.md b/SKILL.md index ec8ac95..fb4ddc1 100644 --- a/SKILL.md +++ b/SKILL.md @@ -159,6 +159,8 @@ Fields: ([Diff tests](#diff-tests)). Recorded for reviewers; not read by the diff. - **`set_aside`** — project agent directives you set aside, and why (see [Confirm scope](#confirm-scope)). +- **`scope_findings`** — scope findings and your decisions, when no one could + answer (see [Confirm scope](#confirm-scope)). - **`include_tests`** (default `false`) — opt in to also diffing **test** targets. OFF by default because it requires BOTH models to be extracted with tests enabled and the **same** test scope (symmetric configure + aquery); @@ -235,7 +237,10 @@ reference build. #### Confirm scope {#confirm-scope} Inspect the reference build for anything unsupported. Surface them and confirm -with the user before proceeding. +with the user before proceeding. If no one can answer (non-interactive), record +the findings and your decision under `scope_findings` in `any2bazel.json` and +proceed, unless an item on the not-yet-supported list below applies: without an +answer, stop there and report it. **NOT yet supported — warn the user if the project has these:** - Build-time custom commands / generated code. Configure-time generated