Skip to content

fix(portal): preserve the deployed native retirement graph - #4841

Merged
devantler merged 8 commits into
mainfrom
codex/native-graph-4840-01a135c8
Oct 14, 2026
Merged

devantler merged 8 commits into
mainfrom
codex/native-graph-4840-01a135c8

Conversation

@devantler

@devantler devantler commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

🤖 Generated by the Agentic Engineer

Why

Independent dependency updates made the cleanup proof test a different controller implementation from the one deployed. That proof must match production before protected cleanup can proceed.

What

Restore and verify the published controller dependency graph, and prevent independent updates only in its isolated offline proof. Production dependency updates and vulnerability reporting remain enabled; this is not a production security fix.

Fixes #4840

Part of #4266

@devantler

devantler commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Affected-user evaluation at d91031b: the published controller graph is unchanged after integrating current main. Go tooling regenerated both complete locks; their original reviewed hashes remain 57247105c347d4018764df19f36646b0ec0c66302d930111c04b1d386dc03c36 and 6335830768e87322301ef84ad756f4de07f680148a3bd65d2b397a52681fe14c. Every repair-file byte matches the earlier reviewed head. The nested race suite passed, and the actual native Helm/Flux retirement controls passed with required native mode and the verified Helm 4.2.0 binary (71.292 seconds), including absence, retained-history and timeout outcomes. Earlier RED graph-drift and updater-policy controls remain recorded above. This proves the offline native proof path; it does not claim a bot dispatch, production cleanup, or vulnerability-free graph. Fresh hosted CI and exact-head semantic review are still required.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor
✅ Action performed

Full review finished.

@coderabbitai

coderabbitai Bot commented Oct 13, 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: 0ef81197-17a0-4ed3-93e7-e7d1bd87d617
📥 Commits

Reviewing files that changed from the base of the PR and between d91031b and e976d8a.

⛔ Files ignored due to path filters: 1
  • scripts/retire-backstage-stateless/poller-native/go.sum is excluded by !**/*.sum
📒 Files selected for processing: 1
  • scripts/retire-backstage-stateless/poller-native/go.mod

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
🪛 OSV Scanner (2.6.0)
scripts/retire-backstage-stateless/poller-native/go.mod

[CRITICAL] 136-136: golang.org/x/crypto 0.50.0: Invoking key constraints not enforced in golang.org/x/crypto/ssh/agent

(GO-2026-5005)

[CRITICAL] 136-136: golang.org/x/crypto 0.50.0: Invoking agent constraints dropped when forwarding keys in golang.org/x/crypto/ssh/agent

(GO-2026-5006)

[HIGH] 136-136: golang.org/x/crypto 0.50.0: Invoking byte arithmetic causes underflow and panic in golang.org/x/crypto/ssh

(GO-2026-5013)

[MEDIUM] 136-136: golang.org/x/crypto 0.50.0: Invoking bypass of certificate restrictions in golang.org/x/crypto/ssh

(GO-2026-5014)

[MEDIUM] 136-136: golang.org/x/crypto 0.50.0: Invoking server panic during CheckHostKey/Authenticate in golang.org/x/crypto/ssh

(GO-2026-5015)

[MEDIUM] 136-136: golang.org/x/crypto 0.50.0: Invoking memory leak when rejecting channels can lead to DoS in golang.org/x/crypto/ssh

(GO-2026-5016)

[CRITICAL] 136-136: golang.org/x/crypto 0.50.0: Invoking client can cause server deadlock on unexpected responses in golang.org/x/crypto/ssh

(GO-2026-5017)

[HIGH] 136-136: golang.org/x/crypto 0.50.0: Invoking pathological RSA/DSA parameters may cause DoS in golang.org/x/crypto/ssh

(GO-2026-5018)

[CRITICAL] 136-136: golang.org/x/crypto 0.50.0: Invoking bypass of FIDO/U2F security keys physical interaction in golang.org/x/crypto/ssh

(GO-2026-5019)

[CRITICAL] 136-136: golang.org/x/crypto 0.50.0: Invoking infinite loop on large channel writes in golang.org/x/crypto/ssh

(GO-2026-5020)

[CRITICAL] 136-136: golang.org/x/crypto 0.50.0: Invoking auth bypass via unenforced @revoked status in golang.org/x/crypto/ssh/knownhosts

(GO-2026-5021)

[CRITICAL] 136-136: golang.org/x/crypto 0.50.0: Invoking VerifiedPublicKeyCallback permissions skip enforcement in golang.org/x/crypto/ssh

(GO-2026-5023)

[MEDIUM] 136-136: golang.org/x/crypto 0.50.0: Invoking pathological inputs can lead to client panic in golang.org/x/crypto/ssh/agent

(GO-2026-5033)

[LOW] 136-136: golang.org/x/crypto 0.50.0: The golang.org/x/crypto/openpgp package is unmaintained, unsafe by design, and has known security issues

(GO-2026-5932)

[LOW] 136-136: golang.org/x/crypto 0.50.0: Source-address critical option not enforced for non-public-key auth callbacks in golang.org/x/crypto/ssh

(GO-2026-6303)

[LOW] 136-136: golang.org/x/crypto 0.50.0: Prevent DoS on deadlocked undecided channel in golang.org/x/crypto/ssh

(GO-2026-6354)

[LOW] 136-136: golang.org/x/crypto 0.50.0: Prevent DoS on deadlocked established channel in golang.org/x/crypto/ssh

(GO-2026-6355)

[MEDIUM] 136-136: golang.org/x/crypto 0.50.0: golang.org/x/crypto vulnerable to invoking bypass of certificate restrictions

(GHSA-45gg-vh54-h5m9)

[CRITICAL] 136-136: golang.org/x/crypto 0.50.0: golang.org/x/crypto vulnerable to auth bypass via unenforced @revoked status

(GHSA-5cgq-3rg8-m6cv)

[MEDIUM] 136-136: golang.org/x/crypto 0.50.0: golang.org/x/crypto is vulnerable to invoking server panic during CheckHostKey/Authenticate flow

(GHSA-78mq-xcr3-xm33)

[CRITICAL] 136-136: golang.org/x/crypto 0.50.0: golang.org/x/crypto: FIDO/U2F security key physical presence check can be bypassed

(GHSA-89gr-r52h-f8rx)

[MEDIUM] 136-136: golang.org/x/crypto 0.50.0: golang.org/x/crypto: Invoking pathological inputs can lead to client panic

(GHSA-9m57-25v3-79x9)

[CRITICAL] 136-136: golang.org/x/crypto 0.50.0: golang.org/x/crypto doesn't drop invoking agent constraints when forwarding keys

(GHSA-f5wc-c3c7-36mc)

[CRITICAL] 136-136: golang.org/x/crypto 0.50.0: golang.org/x/crypto doesn't enforce invoking key constraints

(GHSA-jppx-rxg9-jmrx)

[HIGH] 136-136: golang.org/x/crypto 0.50.0: golang.org/x/crypto: Invoking byte arithmetic causes underflow and panic

(GHSA-q4h4-gmj2-qvw2)

[MEDIUM] 136-136: golang.org/x/crypto 0.50.0: golang.org/x/crypto: Invoking memory leak when rejecting channels can lead to DoS

(GHSA-qpw4-5x99-6vjp)

[CRITICAL] 136-136: golang.org/x/crypto 0.50.0: golang.org/x/crypto vulnerable to infinite loop on large channel writes

(GHSA-rm3j-f69w-wqmq)

[CRITICAL] 136-136: golang.org/x/crypto 0.50.0: golang.org/x/crypto: Invoking client can cause server deadlock on unexpected responses

(GHSA-vgwf-h737-ff37)

[HIGH] 136-136: golang.org/x/crypto 0.50.0: golang.org/x/crypto: Invoking pathological RSA/DSA parameters may cause DoS

(GHSA-w879-237q-wc7r)

[CRITICAL] 136-136: golang.org/x/crypto 0.50.0: golang.org/x/crypto: Invoking VerifiedPublicKeyCallback permissions skip enforcement

(GHSA-x527-x647-q7gg)

[LOW] 137-137: golang.org/x/net 0.53.0: Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html

(GO-2026-5025)

[LOW] 137-137: golang.org/x/net 0.53.0: Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna

(GO-2026-5026)

[LOW] 137-137: golang.org/x/net 0.53.0: Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html

(GO-2026-5027)

[MEDIUM] 137-137: golang.org/x/net 0.53.0: Invoking denial of service when parsing arbitrary HTML in golang.org/x/net/html

(GO-2026-5028)

[LOW] 137-137: golang.org/x/net 0.53.0: Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html

(GO-2026-5029)

[LOW] 137-137: golang.org/x/net 0.53.0: Invoking duplicate attributes can cause XSS in golang.org/x/net/html

(GO-2026-5030)

[LOW] 137-137: golang.org/x/net 0.53.0: Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage

(GO-2026-5942)

[LOW] 137-137: golang.org/x/net 0.53.0: HTTP/2 server memory exhaustion due to Trailer headers in net/http

(GO-2026-6603)

[LOW] 137-137: golang.org/x/net 0.53.0: HTTP/2 transport accepts malformed framing-related headers in net/http

(GO-2026-6610)

[LOW] 137-137: golang.org/x/net 0.53.0: Excessive CPU consumption from repeated initial window changes in net/http

(GO-2026-6611)

[LOW] 137-137: golang.org/x/net 0.53.0: Double flow control refund on HTTP/2 server streams in net/http

(GO-2026-6612)

[LOW] 137-137: golang.org/x/net 0.53.0: HTTP/2 server crash due to HPACK encoder race in net/http

(GO-2026-6617)

[MEDIUM] 137-137: golang.org/x/net 0.53.0: Go Net HTML parser is vulnerable to denial of service

(GHSA-5cv4-jp36-h3mw)

[LOW] 140-140: golang.org/x/sys 0.43.0: Invoking integer overflow in NewNTUnicodeString in golang.org/x/sys/windows

(GO-2026-5024)

[LOW] 142-142: golang.org/x/text 0.36.0: Infinite loop on invalid input in golang.org/x/text

(GO-2026-5970)

[LOW] 142-142: golang.org/x/text 0.36.0: Panic parsing crafted input in x/text/secure/precis in golang.org/x/text

(GO-2026-6629)

[MEDIUM] 158-158: oras.land/oras-go/v2 2.6.0: Oras-go: File store write outside workingDir via symlink traversal in oras.land/oras-go

(GO-2026-5879)

[HIGH] 158-158: oras.land/oras-go/v2 2.6.0: Hardlink path traversal during tar extraction in oras.land/oras-go

(GO-2026-5880)

[HIGH] 158-158: oras.land/oras-go/v2 2.6.0: Oras-go: Blob upload vulnerable to credential forwarding via unvalidated Location header in oras.land/oras-go

(GO-2026-5882)

[MEDIUM] 158-158: oras.land/oras-go/v2 2.6.0: ORAS Go forwards registry credentials across registry redirects in oras.land/oras-go

(GO-2026-5884)

[LOW] 158-158: oras.land/oras-go/v2 2.6.0: Oras-go: Malicious registry can hijack Bearer token realm to exfiltrate credentials and refresh tokens in oras.land/oras-go

(GO-2026-5885)

[MEDIUM] 158-158: oras.land/oras-go/v2 2.6.0: Blind SSRF via unvalidated Link header URL in pagination allows internal network probing in oras.land/oras-go

(GO-2026-6497)

[HIGH] 158-158: oras.land/oras-go/v2 2.6.0: Arbitrary file write outside file.Store root via symlink-chain bypass in tar extraction (pushDir) in oras.land/oras-go

(GO-2026-6499)

[MEDIUM] 158-158: oras.land/oras-go/v2 2.6.0: oras-go has file store write outside workingDir via symlink traversal

(GHSA-8xwf-rjm4-xvhv)

[HIGH] 158-158: oras.land/oras-go/v2 2.6.0: oras-go tar extraction: Hardlink entry with relative Linkname escapes extract dir via process CWD resolution

(GHSA-fxhp-mv3v-67qp)

[MEDIUM] 158-158: oras.land/oras-go/v2 2.6.0: oras-go: Blind SSRF via unvalidated Link header URL in pagination allows internal network probing

(GHSA-h7vf-4x9w-h99v)

[HIGH] 158-158: oras.land/oras-go/v2 2.6.0: oras-go blob upload vulnerable to credential forwarding via unvalidated Location header

(GHSA-jxpm-75mh-9fp7)

[HIGH] 158-158: oras.land/oras-go/v2 2.6.0: oras-go: Arbitrary file write outside file.Store root via symlink-chain bypass in tar extraction (pushDir)

(GHSA-m37j-52j7-pjw7)

[MEDIUM] 158-158: oras.land/oras-go/v2 2.6.0: ORAS Go forwards registry credentials across registry redirects

(GHSA-vh4v-2xq2-g5cg)

[LOW] 158-158: oras.land/oras-go/v2 2.6.0: oras-go: Malicious registry can hijack Bearer token realm to exfiltrate credentials and refresh tokens

(GHSA-xf85-363p-868w)

🔇 Additional comments: 1
scripts/retire-backstage-stateless/poller-native/go.mod: 1

11-14: LGTM!

Also applies to: 51-51, 56-61, 63-69, 73-73, 109-109, 111-112, 134-137, 139-142, 145-145, 150-153, 155-155, 157-158, 161-161, 163-163, 170-171

📝 Walkthrough

The change scopes Dependabot and Renovate rules for the native poller fixture and documents that exception. The native poller validates linked dependencies against pinned module locks, required producers, replacements, and checksums. Tests cover updater policy and graph acceptance and rejection. Supporting test changes add graph.go to checked inputs and replace two conditional chains with switch statements.

Priority: ➖ Normal

Severity of issue fixed: Medium

Merge Risk: ⚪ Minimal · up to e976d

The changes concern the isolated native poller fixture, while production dependency updates remain enabled. No production-impacting defect is established; the reported timeout is in unchanged code.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 14.29% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 14 functions across 7 files. (1 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Linked Issues check Passed The changes meet the coding requirements in #4840. validateNativeGraph authenticates the pinned module and checksum locks, module versions, replacements, linked dependencies, checksums, and producer…
Out of Scope Changes check Passed The changes remain within #4840. The graph validator, graph tests, lock restoration, updater-policy tests, dependency configuration, documentation, and cache update support preservation and verificati…
Title check Passed The title clearly summarizes the main change: preserving the deployed native retirement dependency graph.
Description check Passed The description directly explains the problem, the graph verification, the isolated dependency-update policy, and the intended security-update behavior.
Full details: Docstring Coverage

Explanation

Docstring coverage is 14.29% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 14 functions across 7 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches: 💡 1
🛠️ Fix failing CI checks: 💡
  • Commit to this branch
  • Create a new PR
  • 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

Resolution of the ancillary concerns in the 6e693c5 review:

  • The two test-only switch changes are required validation support, not unrelated production refactoring. The affected package’s lint run exposed QF1003 on those existing conditionals; the switches preserve fixture behavior and let the required lint checks pass. That requirement is now explicit in the PR description.
  • The reported docstring percentage is an optional aggregate measure over mostly Go test/private helper functions, not a missing public contract. The graph invariant is documented beside the guard and in the lifecycle ADR; behavior and adversarial cases are exercised by named tests. No runtime/API behavior or required check is waived.
  • The scanner context remains visible and covered by the documented anonymous-loopback fixture boundary. This change does not fix production dependency vulnerabilities or suppress vulnerability reporting.

No source file or head changed. This resolution restarts the ordered semantic-review round. CodeRabbit’s completed review reports zero remaining included reviews for this repository at 16:49:46 UTC, so I will use the next serving lane without requesting paid overage or redundantly retrying that exhausted allowance.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 13, 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-13T20:58:41.363418Z be2ba4e 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

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Already looking forward to the next diff.

Reviewed commit: 6e693c5186

ℹ️ 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".

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Ready at 6e693c5: CI run 38430033886 passed, the actual native controller/Helm behavior and complete graph controls passed, and Codex completed the restarted exact-head review with no major issues and no additional findings. Zero review threads are unresolved. The ancillary scope and optional coverage concerns have documented resolutions; no source changed afterward. Current merge state is CLEAN.

This delivers proof fidelity and narrowly scoped updater behavior, not production retirement or remediation of the fixed fixture’s published advisories. The storage prerequisite and protected production readbacks remain separate.

@devantler
devantler marked this pull request as ready for review October 13, 2026 16:58
@devantler
devantler added this pull request to the merge queue Oct 13, 2026
@devantler
devantler marked this pull request as draft October 13, 2026 17:15
@devantler
devantler removed this pull request from the merge queue due to a manual request Oct 13, 2026
@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

The base changed after #4831 merged. Its update changed the producer’s Kustomize replacement and several indirect selections; the new full-lock regression detected the drift. I converted this PR back to draft and explicitly removed it from the queue before refreshing the branch.

The signed current-main merge preserves the already deployed source changes and restores the native fixture with Go module tooling. Both regenerated lock hashes are exactly the previously reviewed published selections. The native graph race tests, required actual Flux/Helm controls, root/nested vet, affected-package lint and the non-loopback rejection check pass. Production cleanup remains unexecuted.

Head 9ec5a3b needs its own hosted checks and review; the earlier 6e693c5 review is stale. The remaining open fixture updater PRs are #4832, #4835 and #4836; #4831 already merged and #4833 closed independently.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 👍

Reviewed commit: 9ec5a3b07e

ℹ️ 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".

@devantler

devantler commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

The reviewed native graph has been preserved across main’s newly merged fixture update in signed head b8ffd21. Go module tooling regenerated the locks to the exact previously reviewed hashes; all repair files remain byte-identical to reviewed 9ec5a3b. Legitimate main ancestry is preserved, with no weakened guard. The nested race suite and required actual native Helm/Flux controls pass. Hosted CI is queued; the prior current-head review is stale and will be replaced only after this head passes its checks. No production cleanup has run.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Readiness at d91031b: CI run 38445786536 is successful, and every readable inherited required workflow passes. GitHub reports CLEAN/MERGEABLE. The complete current thread census has zero unresolved findings. CodeRabbit summary 6150617233, updated at 18:46:54 UTC after request 6152630397, carries the exact-head no-actionable-findings verdict; the native parser returns GREEN and the head status says Review completed.

The repeated aggregate docstring percentage is not a concrete missing public contract or configured required check. The same concern was assessed in 6150680478: the invariant and fixture boundary are documented beside the guard and in the lifecycle ADR, while named executable tests cover the private helpers. Current source has not changed that assessment. The scope check now explicitly passes. Advisory context remains visible; no vulnerability-free claim or security-check exemption is added.

Affected-user evaluation is recorded at 6149937896: regenerated full locks retain the published graph, the nested race suite passes, and the actual required Helm/Flux retirement controls pass. This is native-proof delivery, not production cleanup. The optional configured code-quality surface remains unreadable to the completeness helper; it is not being called green. The authoritative CLEAN state and all readable required checks permit the normal queue operation, without admin bypass.

@devantler
devantler marked this pull request as ready for review October 13, 2026 18:51
@devantler
devantler added this pull request to the merge queue Oct 13, 2026
@devantler
devantler marked this pull request as draft October 13, 2026 19:50
@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Signed main integration is published at 8511856. The native module and checksum locks remain byte-identical to the reviewed canonical graph (SHA-256 57247105c347d4018764df19f36646b0ec0c66302d930111c04b1d386dc03c36 and 6335830768e87322301ef84ad756f4de07f680148a3bd65d2b397a52681fe14c). The nested native race tests pass, and the actual Helm history/hooks/asynchronous-uninstall test passes. Incoming unrelated main changes are preserved. The PR is draft again until this head passes hosted CI and fresh review; nothing was deployed or retired by this push.

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

The current-base conflict recurred when the active fixture-only Kubernetes updater #4843 merged after the earlier integration. Signed head be2ba4e now integrates that main revision without altering the published controller graph. Both canonical module fingerprints still match, go mod tidy reports no changes and the actual nested race suite passes. The fixture-only Renovate exclusion already in this PR prevents new independent graph rewrites after it lands; this does not change runtime dependency or security checks. Fresh hosted CI and current-head review are still required. No updater was cancelled or closed by this session.

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

cr:no-gate@be2ba4e. Fresh authenticated provider evidence on this repository reports unavailable included review capacity: #4838 (review). The current-head no-gate guard admits the record, hosted CI run 38462949010 is green, and there are no unresolved inline threads or delivered current-head CodeRabbit findings. Continuing to the next ordered lane under the acquired review-request lock; no paid review or overage is requested.

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Another round soon, please!

Reviewed commit: be2ba4e979

ℹ️ 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".

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Readiness at be2ba4e: hosted CI run 38462949010 is successful, and Codex comment 6155070068 explicitly reviewed this head with no major issues. The complete inline-thread census is zero, the published template contract passes, and GitHub reports CLEAN. The earlier canonical-graph and actual Helm/Flux evaluation remains unchanged: both module fingerprints match the published controller graph, go mod tidy has no diff, the nested race suite passes, and the actual pinned Helm history/hooks/asynchronous-uninstall control passes on this head. This delivers the offline retirement proof and prevents independent fixture-only graph rewrites; it neither suppresses production security reporting nor performs production cleanup. Proceeding through the normal head-pinned merge queue without bypass.

@devantler
devantler marked this pull request as ready for review October 13, 2026 21:00
@devantler
devantler added this pull request to the merge queue Oct 13, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 13, 2026
@devantler
devantler marked this pull request as draft October 13, 2026 22:11

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

The 22:03 UTC queue removal was merge_conflict, not a deployment failure. Signed head e976d8ab25f4150c112a0bf71affb3fa7da4bc5e integrates current main after #4851; the complete native module and checksum locks still match the reviewed published-controller graph byte for byte. Generated checksums were regenerated, not selected by hand.

Current-head user evaluation: the real published Flux/Helm adapter passed its lifecycle suite with Helm 4.2.0 and mandatory native controls in 315.101s; nested race tests passed in 2.069s, and vet/lint passed. History retention, no-hooks behavior, guarded deletion, actual absence and finite failure outcomes were exercised. Fresh CI/review remain pending, so this PR is a draft again and has not been requeued.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Fresh CI at e976d8ab25f4150c112a0bf71affb3fa7da4bc5e stopped in the unchanged TestNativeMetadataProxyPreservesAcceptAndRejectsWrites test: proxy readiness exceeded its 10-second test context. The remaining reported Go packages passed, including the native retirement fixture. Five consecutive local native-proxy repetitions passed in 2.075s.

This is an unresolved CI startup failure, not a proven source defect or a green run. No timeout, metadata endpoint, method filter or credential boundary has been changed. A diagnostic retry was refused because the workflow is still running; no retry or production requeue occurred. Once that run terminates, one exact-head failed-job retry can test reproducibility before any source repair. This PR remains a draft and the normal review gates remain pending.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

After the run terminated, I requested one diagnostic failed-job retry of 38476242806 at the unchanged reviewed source head. This is pull-request CI only, not a production deploy or merge-queue re-entry. The retry is to test reproducibility of the isolated proxy-startup timeout; its result is outstanding. No source fix or green CI is claimed from requesting it.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Readiness at e976d8ab25f4150c112a0bf71affb3fa7da4bc5e:

  • Checks: all green at this head (the proxy-startup timeout noted at 22:30 UTC passed on its retry and has not recurred).
  • Review: CodeRabbit reviewed this head at 02:20 UTC and raised no actionable comments; no review threads are open.
  • Tried as a user: the current-head evaluation recorded at 22:17 UTC stands. The head has not changed since.
  • Conflicts: none; the branch already includes current main from the 22:11 UTC merge.

Promoting and adding it to the merge queue at this head.

@devantler
devantler marked this pull request as ready for review October 14, 2026 02:21
@devantler
devantler added this pull request to the merge queue Oct 14, 2026
Merged via the queue into main with commit e476d39 Oct 14, 2026
48 of 50 checks passed
@devantler
devantler deleted the codex/native-graph-4840-01a135c8 branch October 14, 2026 02:42
@github-project-automation github-project-automation Bot moved this from 🫴 Ready to ✅ Done in 🌊 Project Board Oct 14, 2026
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.

Preserve the deployed controller graph in the native retirement proof

1 participant