Refresh canonical deploy on repository visibility changes - #30
Refresh canonical deploy on repository visibility changes#30sepo-agent-app[bot] wants to merge 2 commits into
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Sepo self-approval completed.
Reason: self-approval agent response was missing a valid JSON decision Run: https://github.com/self-evolving/diary/actions/runs/31664988060 Head SHA:
|
This comment has been minimized.
This comment has been minimized.
|
Sepo pushed fixes for this PR. Branch: Fixed the core defect in PR #30:
Verification
|
This comment has been minimized.
This comment has been minimized.
AI Review Synthesis
Thread resolved. All findings are grounded against the current head Summary of PR/IssueThis is a re-review of PR #30, which closes the publicize half of #10: keeping the canonical deployment's visibility snapshots (preview-registry ReviewThe single reviewer verdict is MINOR_ISSUES, and I concur: there is nothing to rework in the branch code —
Progress
Issue DetailsPublicize outcome depends on unverified server-side visibility re-readCause: The canonical deploy call sends no visibility field ( Candidate solutions: Confirm the server-side re-read behavior before treating #10 as truly closed. The trigger is a necessary precondition regardless, so this does not block the branch — it gates the claim that #10 is satisfied. Comments: Genuinely out-of-repo and honestly disclosed in the PR body; not a code defect.
|
|
Sepo is dispatching follow-up automation.
Reason: agent planner selected agent-self-approve: Review verdict MINOR_ISSUES with Recommended Next Step HUMAN_DECISION and self-approval enabled. The prior BLOCKING (invalid |
Summary
Closes #10 (re-scoped to the private→public / publicize half — see below).
Repository visibility snapshots (preview-registry
isPrivate, R2METAvisibility) are written server-side by the preview-api at canonical-deploy time. Previously they only refreshed on a push tomainor a manual dispatch, so flipping a repo private→public on GitHub left the old snapshot in place — a newly-public repo stayed behind the private-site gate until the next deploy.This adds GitHub Actions'
publicevent toagent-deploy-site-main.ymlso a private→public transition runs the canonical deployment automatically.Why
public:and notrepository: [publicized, privatized]The original approach used
repository: types: [publicized, privatized], butrepositoryis not a supported GitHub Actionson:trigger — it is a webhook/App event that Actions silently ignores, so it would never have started a deploy (YAML-valid ≠ recognized event).publicis the only repository-visibility transition Actions exposes as anon:event; it fires on private→public only and takes notypes.Scope split
public:. The deploy refreshes the registry/META from GitHub's current visibility, no manual dispatch needed.repository_dispatch, aschedule:reconciliation job, or a fail-closed server-side flip in the preview-api). Deferred and tracked in Refresh canonical deployment on public->private (privatize) visibility flips #31.Issue #10 was authored around the
repository:premise; it has been re-scoped to publicize-now, with privatize tracked separately in #31.How it satisfies the (re-scoped) acceptance criteria
publictriggers the canonical deploy, which refreshes the registry/META from GitHub's current visibility.pushtomainandworkflow_dispatchare unchanged.publicevent fires against the default-branch ref, sogithub.refisrefs/heads/main. The existing guardif: vars.AGENT_ENABLED != 'false' && github.ref == 'refs/heads/main'already accepts it, and thecanonical-site-${{ github.ref }}concurrency group (withcancel-in-progress) is shared with pushes tomain. No guard or concurrency change required; inline comments explain the intent.External dependency
Closing the publicize path assumes the preview-api re-reads GitHub's live visibility on every canonical deploy. Confirmed from this checkout:
deploy-sepo-siteposts only{oidc_token, artifact_id, canonical:true}to/api/deploy/preview— it sends no visibility field. So the refresh depends entirely on the server re-deriving identity from the OIDC token and re-reading visibility server-side. If the server caches visibility instead, a paired server-side change (outside this repo) is also needed.Verification
onblock exposespush,workflow_dispatch, andpublic.publicis a recognized Actions event (unlike the priorrepositoryblock).