Skip to content

fix(ci): restore runner-isolation evidence collection - #4795

Merged
devantler merged 2 commits into
mainfrom
codex/arc-observer-4794-01a130bd
Oct 12, 2026
Merged

devantler merged 2 commits into
mainfrom
codex/arc-observer-4794-01a130bd

Conversation

@devantler

Copy link
Copy Markdown
Contributor

🤖 Generated by the Agentic Engineer

Why

The runner-isolation verification stops before it can observe denied traffic, blocking the existing runner integration. Its request combines options the observation tool does not accept.

What

Uses one supported request that keeps all the same identity and denial requirements. Verification remains bounded, cleans up its temporary probes, and refuses incomplete or contradictory evidence.

Fixes #4794

Part of #4570

@devantler

devantler commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Source b579db7ce9f629aed6ac966a5208df7e478c26d6 passes native CI, including the now-mandatory official Hubble parser regression. Fresh CodeRabbit review covers that exact head and reports no actionable comments. The earlier CI-wiring finding is fixed and resolved; the ancillary docstring result reports both detected functions as unsupported, not missing documentation, as explained in the readiness comment.

The PR has been promoted and admitted through the normal head-pinned merge queue. Merge-group CI is running on 71c79865f152adde264591bf09cd42205cdff2f9. Queue admission is not delivery: actual merge has not yet been observed.

After actual merge, the remaining acceptance step is one protected transport proof from reviewed main, followed by an independent check that temporary probe resources are absent. Parent #4570 stays open until that succeeds. This repair does not activate ARC runners, change the GitHub App, widen access or skip the transport proof.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@codex review for the conjunctive Hubble request, native-parser fixture, preserved identity and policy-denial evidence, fail-closed errors and owned cleanup

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-12T16:17:49.578419Z 444c8bc Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 444c8bcb0c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/tests/test-verify-arc-transport.sh Outdated
@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor
✅ Action performed

Full review finished.

@coderabbitai

coderabbitai Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository YAML (base), Organization UI (inherited)
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 3a5d99e2-16b8-4a7c-865f-0ef2b344e787

📥 Commits

Reviewing files that changed from the base of the PR and between 1ee490c and b579db7.


📒 Files selected for processing (5)
  • .github/workflows/ci.yaml
  • docs/operations/arc-runners.md
  • scripts/tests/arc-staging/transport_test.go
  • scripts/tests/test-verify-arc-transport.sh
  • scripts/verify-arc-transport.sh

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


📜 Recent review details
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2026-08-10T13:01:12.782Z
Learnt from: devantler
Repo: devantler-tech/platform PR: 3057
File: .github/workflows/ci.yaml:622-659
Timestamp: 2026-08-10T13:01:12.782Z
Learning: Repository shell tests and scripts must remain compatible with macOS Bash 3.2. Do not use Bash 4+ features such as `mapfile`; use portable constructs, such as a `while IFS= read -r` loop, instead.

Applied to files:

  • scripts/tests/test-verify-arc-transport.sh

🔇 Additional comments (6)
.github/workflows/ci.yaml (1)

157-166: LGTM!


scripts/tests/arc-staging/transport_test.go (1)

20-53: LGTM!


scripts/verify-arc-transport.sh (1)

255-260: LGTM!

Also applies to: 262-262


scripts/tests/test-verify-arc-transport.sh (2)

5-6: LGTM!


176-183: LGTM!

Also applies to: 185-185, 187-192


docs/operations/arc-runners.md (1)

106-109: LGTM!



📝 Walkthrough
📝 Walkthrough

Walkthrough

The CI workflow downloads and verifies Hubble v1.20.2, then sets HUBBLE_TEST_BIN before running the ARC transport fixture. The transport proof replaces separate Hubble selectors with one JSON allowlist filter. The fixture checks the filter with the native CLI and validates its fields. The documentation describes the filter behavior and the separate evidence parser.


Priority: ➖ Normal

Severity of issue fixed: Medium

Merge Risk: ⚪ Minimal · up to b579d

No actionable issue in this change is established. A fresh protected-main transport proof is still needed to complete transport acceptance.

Pre-merge checks | Passed 4 | Failed 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 3 files. (2 skipped: 2 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check Passed The changes satisfy the coding requirements in #4794. The verifier now sends one structured conjunctive Hubble allowlist with source IP and Pod, destination IP and port, TCP, DROPPED, and POLICY_DENIE…
Out of Scope Changes check Passed The changed workflow, verifier, fixture tests, and operations documentation directly support #4794. The workflow change enforces the required native parser. The fixture changes test the parser refusal…
Title check Passed The title clearly identifies the CI fix that restores runner-isolation evidence collection. It is concise and directly related to the primary changes.
Description check Passed The description explains the Hubble request failure and the supported conjunctive filter used to restore runner-isolation verification. It is directly related to the changeset.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 3 files. (2 skipped: 2 unsupported.)


  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Ancillary finding resolved by assessment at b579db7: the docstring percentage is not evidence of an undocumented function here. Its complete detail says two functions were analyzed and both were skipped as unsupported, and names no missing docstring. This change adds no production Go API; the new Go function is a test, and the changed shell behavior has its conjunctive-filter explanation and operations documentation. No coverage threshold or analyzer configuration is changed. A concrete missing documentation finding would still be addressed.

Readiness at this exact signed head: all native CI checks pass, including all 48 cases with the mandatory checksum-pinned native Linux Hubble parser. The authenticated current-head CodeRabbit summary 6128894105 was updated after request 6128850804 and the reviewed summary classifier returns GREEN. All threads are resolved; there is no other thread/body/comment-form finding or human control, and the current worktree-holder read is clear. Real parser behavior and rejection cases were exercised offline, not claimed as production transport acceptance. GitHub reports MERGEABLE/CLEAN. The opaque configured code-quality analysis remains unreadable, not waived; normal head-pinned queue admission leaves that rule enforced by GitHub. #4570 remains open for the protected-main proof and owned cleanup readback.

@devantler
devantler marked this pull request as ready for review October 12, 2026 17:07
@devantler
devantler added this pull request to the merge queue Oct 12, 2026
Merged via the queue into main with commit 71c7986 Oct 12, 2026
33 checks passed
@devantler
devantler deleted the codex/arc-observer-4794-01a130bd branch October 12, 2026 17:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

Make ARC evidence collection use a valid Hubble filter

1 participant