Commit 37a491d
authored
Repo Assist: require explicit
The scheduled Repo Assist run completed successfully but produced no
safe outputs, triggering a failure issue despite no runtime/job failure.
The workflow prompt allowed a “no action” outcome without explicitly
requiring a safe output artifact.
- **Root cause**
- Repo Assist guidance emphasized restraint and allowed “no action”
runs, but did not explicitly require emitting a safe output in that
branch.
- This permitted successful runs to end with empty safe outputs (`items:
[]`), which the conclusion stage treats as a failure condition.
- **Change**
- Updated `.github/workflows/repo-assist.md` with a strict safe-output
requirement:
- If the agent determines there is truly nothing useful to do, it must
emit **exactly one** `noop` safe output with a brief reason.
- It must not end with empty safe outputs.
- **Behavioral impact**
- “No work this run” is now represented as an explicit, machine-readable
outcome (`noop`) instead of an empty output set.
- Preserves existing task-selection and action behavior; only clarifies
terminal behavior for the no-op path.
```md
**Safe output requirement**: Never end with empty safe outputs. If, after completing all required checks, you determine there is truly nothing useful to do this run, you must emit exactly one `noop` safe output with a brief reason (and no other safe outputs).
```
> [!WARNING]
>
> <details>
> <summary>Firewall rules blocked me from connecting to one or more
addresses (expand for details)</summary>
>
> #### I tried to connect to the following addresses, but was blocked by
firewall rules:
>
> - `example.com`
> - Triggering command: `/tmp/go-build3960202725/b510/launcher.test
/tmp/go-build3960202725/b510/launcher.test
-test.testlogfile=/tmp/go-build3960202725/b510/testlog.txt
-test.paniconexit0 -test.timeout=10m0s -test.v=true
1.10.2/active_help.go 1.10.2/args.go x_amd64/vet --gdwarf-5
pickfirst/intern-atomic -o x_amd64/vet --de�� g_.a
--debug-prefix-m-ifaceassert x_amd64/vet -g" resolver/delegat-atomic
-I x_amd64/vet` (dns block)
> - Triggering command: `/tmp/go-build2572188529/b514/launcher.test
/tmp/go-build2572188529/b514/launcher.test
-test.testlogfile=/tmp/go-build2572188529/b514/testlog.txt
-test.paniconexit0 -test.timeout=10m0s 0163��
/tmp/go-build935016357/b094/vet.cfg
/home/REDACTED/go/pkg/mod/go.opentelemetry.io/otel-ifaceassert
64/pkg/tool/linux_amd64/vet acehttp@v1.43.0/git --local
/opt/hostedtoolc-v 64/pkg/tool/linuorigin` (dns block)
> - `invalid-host-that-does-not-exist-12345.com`
> - Triggering command: `/tmp/go-build3960202725/b492/config.test
/tmp/go-build3960202725/b492/config.test
-test.testlogfile=/tmp/go-build3960202725/b492/testlog.txt
-test.paniconexit0 -test.timeout=10m0s -test.v=true @v1.1.3/cpu/cpu.go
7008033/b151/ x_amd64/vet
/tmp/go-build352/opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet
ternal/engine/wa-unsafeptr=false x86_64-linux-gnu-unreachable=false
x_amd64/vet 7008�� CsQlTmGwP -I x_amd64/vet --gdwarf-5 --64 -o
x_amd64/vet` (dns block)
> - Triggering command: `/tmp/go-build2572188529/b496/config.test
/tmp/go-build2572188529/b496/config.test
-test.testlogfile=/tmp/go-build2572188529/b496/testlog.txt
-test.paniconexit0 -test.timeout=10m0s 0163�� fy66OxATrrbMgUIjgo1.25.8
.cfg 64/pkg/tool/linu-nolocalimports -c=4 -nolocalimports -importcfg
64/pkg/tool/linuREDACTED 0163�� /tmp/go-build935016357/b094/vet.cfg
/home/REDACTED/go/pkg/mod/go.opentelemetry.io/otel-ifaceassert
64/pkg/tool/linux_amd64/vet acehttp@v1.43.0/git --local
/opt/hostedtoolc-v 64/pkg/tool/linuorigin` (dns block)
> - `nonexistent.local`
> - Triggering command: `/tmp/go-build3960202725/b510/launcher.test
/tmp/go-build3960202725/b510/launcher.test
-test.testlogfile=/tmp/go-build3960202725/b510/testlog.txt
-test.paniconexit0 -test.timeout=10m0s -test.v=true
1.10.2/active_help.go 1.10.2/args.go x_amd64/vet --gdwarf-5
pickfirst/intern-atomic -o x_amd64/vet --de�� g_.a
--debug-prefix-m-ifaceassert x_amd64/vet -g" resolver/delegat-atomic
-I x_amd64/vet` (dns block)
> - Triggering command: `/tmp/go-build2572188529/b514/launcher.test
/tmp/go-build2572188529/b514/launcher.test
-test.testlogfile=/tmp/go-build2572188529/b514/testlog.txt
-test.paniconexit0 -test.timeout=10m0s 0163��
/tmp/go-build935016357/b094/vet.cfg
/home/REDACTED/go/pkg/mod/go.opentelemetry.io/otel-ifaceassert
64/pkg/tool/linux_amd64/vet acehttp@v1.43.0/git --local
/opt/hostedtoolc-v 64/pkg/tool/linuorigin` (dns block)
> - `slow.example.com`
> - Triggering command: `/tmp/go-build3960202725/b510/launcher.test
/tmp/go-build3960202725/b510/launcher.test
-test.testlogfile=/tmp/go-build3960202725/b510/testlog.txt
-test.paniconexit0 -test.timeout=10m0s -test.v=true
1.10.2/active_help.go 1.10.2/args.go x_amd64/vet --gdwarf-5
pickfirst/intern-atomic -o x_amd64/vet --de�� g_.a
--debug-prefix-m-ifaceassert x_amd64/vet -g" resolver/delegat-atomic
-I x_amd64/vet` (dns block)
> - Triggering command: `/tmp/go-build2572188529/b514/launcher.test
/tmp/go-build2572188529/b514/launcher.test
-test.testlogfile=/tmp/go-build2572188529/b514/testlog.txt
-test.paniconexit0 -test.timeout=10m0s 0163��
/tmp/go-build935016357/b094/vet.cfg
/home/REDACTED/go/pkg/mod/go.opentelemetry.io/otel-ifaceassert
64/pkg/tool/linux_amd64/vet acehttp@v1.43.0/git --local
/opt/hostedtoolc-v 64/pkg/tool/linuorigin` (dns block)
> - `this-host-does-not-exist-12345.com`
> - Triggering command: `/tmp/go-build3960202725/b519/mcp.test
/tmp/go-build3960202725/b519/mcp.test
-test.testlogfile=/tmp/go-build3960202725/b519/testlog.txt
-test.paniconexit0 -test.timeout=10m0s -test.v=true cfg
/tmp/go-build3527008033/b151/ x_amd64/vet 7008033/b288/
telabs/wazero/in/usr/bin/runc --64 x_amd64/vet cfg 7008033/b444/_pkg_.a
-I x_amd64/vet --gdwarf-5 ntio/asm/cpu -o x_amd64/vet` (dns block)
> - Triggering command: `/tmp/go-build2572188529/b523/mcp.test
/tmp/go-build2572188529/b523/mcp.test
-test.testlogfile=/tmp/go-build2572188529/b523/testlog.txt
-test.paniconexit0 -test.timeout=10m0s` (dns block)
>
> If you need me to access, download, or install something from one of
these locations, you can either:
>
> - Configure [Actions setup
steps](https://gh.io/copilot/actions-setup-steps) to set up my
environment, which run before the firewall is enabled
> - Add the appropriate URLs or hosts to the custom allowlist in this
repository's [Copilot coding agent
settings](https://github.com/github/gh-aw-mcpg/settings/copilot/coding_agent)
(admins only)
>
> </details>noop safe output when no action is taken (#4026)1 file changed
+3
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
226 | 226 | | |
227 | 227 | | |
228 | 228 | | |
| 229 | + | |
| 230 | + | |
229 | 231 | | |
230 | 232 | | |
231 | 233 | | |
| |||
424 | 426 | | |
425 | 427 | | |
426 | 428 | | |
427 | | - | |
| 429 | + | |
0 commit comments