Skip to content

[runtime-failure-observer] Inline curl calls and require fetched evidence before opening PRs#1612

Merged
kotlarmilos merged 3 commits into
mainfrom
ai/observer-network-egress-fix
Jun 19, 2026
Merged

[runtime-failure-observer] Inline curl calls and require fetched evidence before opening PRs#1612
kotlarmilos merged 3 commits into
mainfrom
ai/observer-network-egress-fix

Conversation

@kotlarmilos

@kotlarmilos kotlarmilos commented Jun 10, 2026

Copy link
Copy Markdown
Member

Description

The runtime-failure-observer agent ran non-deterministically because the copilot harness authorizes a shell command only by its first token, yet the prompt told the agent to pre-bind URLs and loop with for. Those forms were denied with Permission denied even though the firewall already allows .dev.azure.com/.helix.dot.net.

This PR rewrites rule 11 to require every command to start with an allow-listed program and inline each URL into a single curl ... -o file.

kotlarmilos and others added 2 commits June 10, 2026 13:34
The observer agent's shell commands were intermittently denied. The
copilot harness authorizes a command only by its first token, but the
prompt instructed the agent to pre-bind URLs (`url=...` then
`curl "$url"`) and to loop over definitions with `for`. Those forms
start with an assignment or keyword, so the harness rejected them with
"Permission denied and could not request permission from user" even
though the firewall allowlist contains .dev.azure.com and
.helix.dot.net. Across the three real runs this produced three
different outcomes (worked around, noop, and a false report_incomplete
that blamed the firewall).

Changes to runtime-failure-observer.agent.md (prompt body, imported at
runtime via {{#runtime-import}}, so no lock recompile needed):

- Rule 11 now requires every shell command to begin with an
  allow-listed program; inline URLs into `curl ... -o file`, no
  variable pre-bind, no loops. Step 1, Step 2, and the Step 4 dedup
  cache snippet are rewritten to match.
- New Step 0 preflight proves egress with one inlined curl and, on
  failure, emits an accurate report_incomplete (harness command
  authorization, not firewall) instead of misdiagnosing the firewall.
- New rule 6b forbids opening a PR unless the build timeline and Helix
  console were actually downloaded this run; no citing build ids,
  Helix GUIDs, exit codes, or stderr from memory or inference.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos kotlarmilos changed the title runtime-failure-observer: fix network egress and ban ungrounded PRs [runtime-failure-observer] Inline curl calls and require fetched evidence before opening PRs Jun 10, 2026
@kotlarmilos kotlarmilos self-assigned this Jun 10, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the runtime-failure-observer agent instructions to avoid non-deterministic “permission denied” failures caused by the harness authorizing shell commands solely by their first token, and to require citing only evidence fetched during the current run before opening PRs.

Changes:

  • Tightens the “Never assume” rule to prohibit reconstructing build IDs/URLs/exit codes/stderr when fetches fail.
  • Replaces variable pre-binding / for loops with “inline URL” curl ... -o file command forms.
  • Adds a preflight curl check to validate egress/authorization before scanning pipelines.
Show a summary per file
File Description
.github/workflows/runtime-failure-observer.agent.md Refines agent operational rules and command examples to align with first-token authorization and “fetched evidence only” requirements.

Copilot's findings

  • Files reviewed: 1/1 changed files
  • Comments generated: 4

Comment thread .github/workflows/runtime-failure-observer.agent.md Outdated
Comment thread .github/workflows/runtime-failure-observer.agent.md Outdated
Comment thread .github/workflows/runtime-failure-observer.agent.md Outdated
Comment thread .github/workflows/runtime-failure-observer.agent.md Outdated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos kotlarmilos enabled auto-merge (squash) June 12, 2026 07:14
Comment thread .github/workflows/runtime-failure-observer.agent.md
@kotlarmilos

Copy link
Copy Markdown
Member Author

/ba-g #1623

@kotlarmilos

Copy link
Copy Markdown
Member Author

re-approval needed

@kotlarmilos kotlarmilos merged commit a0534ae into main Jun 19, 2026
21 of 23 checks passed
@kotlarmilos kotlarmilos deleted the ai/observer-network-egress-fix branch June 19, 2026 07:35
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.

4 participants