Skip to content

fix(supply-chain): restore v8 app publisher compatibility - #5215

Merged
devantler merged 4 commits into
mainfrom
codex/publisher-compat-5213-a6bc
Oct 22, 2026
Merged

devantler merged 4 commits into
mainfrom
codex/publisher-compat-5213-a6bc

Conversation

@devantler

Copy link
Copy Markdown
Contributor

🤖 Generated by the Agentic Engineer

Why

The platform tenant starter’s main check fails because its updated publisher is newer than the revisions Platform accepts. New applications need the two sides to agree before their signed releases can be consumed.

What

Approve the reviewed v8 publisher across application verification while retaining the previous release during the transition. Existing applications keep their separate approval records.

Part of #5213

Retain the previous maintained publisher while accepting the reviewed v8 immutable revision across the generic app boundaries. Exercise the actual identity predicates with the new producer and rejection controls; reproduce the starter failure before the change.

Refs #5213
@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Validation and user evaluation at 08a8cb2cad177e84d41e8f3c4ba25ace10501911:

  • Reproduced the exact starter failure before editing. The added identity cases failed at all three generic boundaries; after the repair the canonical approval suite reports zero failures.
  • Exercised the actual starter revision 4600033e23fa26b3a1e692f6f6ea2306290e81ba against the repaired Platform tree: PASS, including 85 safety mutations, 26 subject controls and 25 producer controls. This is the user path that was failing on main.
  • Both KSail manifest validations exit 0; configured Helm-render skips remain a validation limit. The changed policy and Tenant resource are included. Both roles in both Talos overlays render and validate with CI’s checksum-verified 1.13.11 client. Both signature guards, ShellCheck and diff checks pass.
  • Reviewed all five commits and the published v7.23.1, v7.24.0 and v8.0.0 notes. Archived-repository management and native cache-observer changes do not affect the app identity. The new prebuilt WebApp path is opt-in and requires the original public main-CI source/attempt, signature, claims and provenance; this PR enables none of its modes. The removed .NET publisher is unrelated to the starter’s app caller. Existing publication and recovery boundaries remain.
  • Self-review covered anchoring, grouping, the single-identity requirement, consistent generic acceptance, retained previous signatures and unchanged registered-tenant approval records. No generated approval data was edited.

Hosted exact-head CI and review are still required before promotion. #5213 remains open for protected delivery, deployed acceptance and a fresh starter Validate Scaffold run; these local results do not establish production recovery.

The tenant RGD now accepts the v8 publisher identity, so its rendered
authorization fingerprint, ledger entry and static-scan content and
ociRepository cause hashes change. Values are the ones CI rendered at
08a8cb2; the main merge does not touch any RGD input.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Repair at 3f22854ef88de7d0934f8f27af6a1f146ba9b26e (the lane had been idle for over 2h with red required checks):

  • Merged current main (signed merge b0cd7d58d); the merge touches no RGD input.
  • The v8 publisher change alters the tenant RGD, so I re-approved its reviewed fingerprints: the rendered tenant.kro.run hash in the validator, its line in approved-surface.txt, and the RGD-content and ociRepository cause hashes in the RGD static-scan baseline. The values are the ones CI rendered at 08a8cb2c (run 39678815709). No other ledger line or finding changed.
  • Locally, go test in scripts/validate-eks-ci-role-policy passes. The RGD scan could not run locally (the host Trivy is 0.76.0 and the baseline pins 0.74.0), so CI is the check for that baseline.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor
⚠️ Action not completed

Review rate limited.

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.

@coderabbitai

coderabbitai Bot commented Oct 21, 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: 17f8dd3f-3ca2-432d-8843-e699f31cc7a2
📥 Commits

Reviewing files that changed from the base of the PR and between e62ef2b and 3121e50.

⛔ Files ignored due to path filters: 1
  • scripts/rgd-template-static-scan-baseline.tsv is excluded by !**/*.tsv
📒 Files selected for processing: 6
  • k8s/bases/infrastructure/cluster-policies/best-practices/verify-app-images.yaml
  • k8s/bases/infrastructure/resource-graph-definitions/tenant/resource-graph-definition.yaml
  • scripts/tests/test-publish-workflow-canonical-approvals.sh
  • scripts/validate-eks-ci-role-policy/approved-surface.txt
  • scripts/validate-eks-ci-role-policy/main.go
  • talos/cluster/verify-first-party-images.yaml

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
📚 Code guidelines: 1
AGENTS.md — auto-discovered
📓 Path-based instructions: 2
Source excerpt: Resources under `k8s/bases/infrastructure/` are **component-folder-first**: a component's HelmRelease/HelmRepository and its own CRs live together in a folder named after the component — `controllers//` in the con...

📄 CodeRabbit inference engine (AGENTS.md)

Files:

  • k8s/bases/infrastructure/resource-graph-definitions/tenant/resource-graph-definition.yaml
  • k8s/bases/infrastructure/cluster-policies/best-practices/verify-app-images.yaml
Source excerpt: **Talos machine-config patches** (`talos/`, `talos-local/`) follow the same spirit: **one YAML document per file** and intent-describing `‹verb›-‹purpose›.yaml` names (e.g.

📄 CodeRabbit inference engine (AGENTS.md)

Files:

  • talos/cluster/verify-first-party-images.yaml
🧠 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-publish-workflow-canonical-approvals.sh
🔇 Additional comments: 6
k8s/bases/infrastructure/cluster-policies/best-practices/verify-app-images.yaml: 1

63-65: LGTM!

Also applies to: 76-76

talos/cluster/verify-first-party-images.yaml: 1

184-186: LGTM!

Also applies to: 190-190

k8s/bases/infrastructure/resource-graph-definitions/tenant/resource-graph-definition.yaml: 1

293-295: LGTM!

Also applies to: 301-301

scripts/tests/test-publish-workflow-canonical-approvals.sh: 1

579-606: LGTM!

scripts/validate-eks-ci-role-policy/approved-surface.txt: 1

107-107: LGTM!

scripts/validate-eks-ci-role-policy/main.go: 1

292-292: LGTM!

📝 Walkthrough

The image verification policies and tenant resource graph now accept an additional reviewed publish-app revision. Tests cover acceptance of its canonical identity and rejection of tag, abbreviated, suffixed, or mismatched identities. The approved rendered policy digest and fingerprint are updated.

Possibly related issues

  • devantler-tech/platform#5214 — The changes approve the reviewed v8 publisher revision while retaining v7 approval, addressing the reported approval gap.
  • devantler-tech/platform#5213 — The changes address the publisher approval path described in the starter failure; deployed acceptance and fresh starter validation remain separate.
  • devantler-tech/business-site#102 — The changes update Platform approval for the maintained publisher, but do not publish or consume the business-site artifact.

Priority: ➖ Normal

Severity of issue fixed: Medium

Merge Risk: ⚪ Minimal · up to 3121e

No actionable merge-blocking issue remains; proceed with normal validation before merging.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title clearly and concisely identifies the supply-chain fix and its purpose: restoring compatibility with the v8 application publisher.
Description check Passed The description directly explains why the v8 publisher requires approval and what the change does while preserving the previous publisher during transition.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2 files. (4 skipped: 4 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

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 22, 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-22T00:17:17.206803Z 3f22854 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. What shall we delve into next?

Reviewed commit: 3f22854ef8

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

Readiness at 3f22854ef88de7d0934f8f27af6a1f146ba9b26e: every required check is green, including the authorization, nested-RGD and complete Go regression gates that were red at 08a8cb2c. Codex reviewed this head and found no major issues and no open findings (CodeRabbit was rate-limited, so it was recorded as no-gate). There are 0 review threads and the merge state is CLEAN. The behaviour evaluation recorded earlier on this PR still holds: this repair changed only the approval baselines that the v8 publisher change moves, and CI re-proved them. Promoting and merging, pinned to this head.

@devantler
devantler marked this pull request as ready for review October 22, 2026 00:18
@devantler
devantler added this pull request to the merge queue Oct 22, 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 22, 2026
…t-5213-a6bc

# Conflicts:
#	scripts/rgd-template-static-scan-baseline.tsv
@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 22, 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
devantler added this pull request to the merge queue Oct 22, 2026
Merged via the queue into main with commit 990cae6 Oct 22, 2026
44 checks passed
@devantler
devantler deleted the codex/publisher-compat-5213-a6bc branch October 22, 2026 02:06
@github-project-automation github-project-automation Bot moved this from 🫴 Ready to ✅ Done in 🌊 Project Board Oct 22, 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.

1 participant