Pages Source Reconciliation — 2026-05-29
Pages Source Reconciliation — 2026-05-29
Pages Source Reconciliation — 2026-05-29
이 artifact는 repo source, gh-pages publishing source, GitHub Pages build, live route proof, Worker deploy boundary를 분리한 reconciliation 기록이다. Pages 배포는 이 pass에서 완료됐고, Worker OAuth 배포는 별도 토큰이 없어 아직 live-proven 상태가 아니다.
Verified Originals
| source | class | operating grammar extracted |
|---|---|---|
| GitHub Pages publishing source docs | official docs | Pages는 branch/folder source 또는 GitHub Actions workflow source 중 하나의 공개 source를 갖는다. |
| GitHub Pages custom workflow docs | official docs | Actions 기반 Pages는 build artifact를 upload하고 deploy-pages로 배포한다. |
| GitHub Pages REST API docs | official API docs | Pages site/build state는 REST API로 확인할 수 있다. |
| Local Git / GitHub CLI evidence | repo/runtime state | 현재 local main, origin/main, origin/gh-pages, Pages API, Actions runs가 서로 다른 증거층을 이룬다. |
Current Evidence
| surface | observed value | evidence command |
|---|---|---|
| Source branch after publication | main and origin/main are synchronized after modernization commits | git status --short --branch, git push origin main |
| Source commits published | Mimesis modernization, .nojekyll preservation, and legacy post-route aliases were pushed to main | git log --oneline --decorate -5 |
Previously ahead commits on origin/main | 5 docs-only commits touching docs/GOAL.md and docs/research/meaningful-information-collection.md were fast-forwarded into local main | git merge --ff-only origin/main |
| Public Pages source | legacy, branch gh-pages, path / | gh api repos/svy04/svy04.github.io/pages |
| Public Pages deploy commit | origin/gh-pages was updated with the generated Hugo output for this pass | git -C .worktrees/gh-pages-deploy push origin gh-pages |
| Latest Pages build run | pages-build-deployment completed successfully for the new gh-pages deploy | gh run watch <latest-pages-run> --exit-status |
| Workflow deploy path | .github/workflows/deploy.yml and deploy-self-hosted.yml are workflow_dispatch only | local workflow files |
| CMS write target | Decap writes to main | static/admin/config.yml |
| Live route check before publish | Existing live site returned 404 for the new modernization and reconciliation proof artifact routes | scripts/check-live-routes.ps1 |
| Live route check after publish | /, Mimesis, Proof, Reports, Demos, new proof artifacts, artifact-level Mimesis post, admin config, index JSON, and sitemap all returned HTTP 200 | scripts/check-live-routes.ps1 |
| Legacy route alias check | Representative old Korean post URLs returned HTTP 200 after alias preservation | curl.exe -L |
| Live CMS config check | Previously, admin/config.yml exposed the current schema fields. The next pass intentionally disables the default CMS config until Worker proof exists. | curl.exe https://svy04.github.io/admin/config.yml |
| Worker deploy attempt | wrangler deploy failed because CLOUDFLARE_API_TOKEN is not set in this non-interactive environment | npm --prefix worker run deploy |
| Live Worker smoke before redeploy | /auth still requests scope=repo,user, OPTIONS returns Access-Control-Allow-Origin: *, /callback lacks no-store/CSP and still wildcard-postMessages | curl.exe against https://svy04-blog-cms-oauth.apphorizon.workers.dev |
Claim Boundary
| allowed claim | forbidden claim |
|---|---|
Public Pages is currently configured as legacy gh-pages / publishing source. | Pushing or editing main automatically publishes the public site. |
The current modernization pass has source commits, generated gh-pages output, a successful Pages build, and no-cache live route evidence. | Worker OAuth hardening is live just because the source branch contains it. |
origin/main docs-only commits were reconciled before the modernization commits were created. | Local build proof alone proves GitHub Pages freshness. |
| The next deploy proof for CMS auth must include Worker deploy success and live OAuth smoke checks. | A green Pages build proves the Decap OAuth Worker was updated. |
Deployment Decision
For the current repo state, the authoritative Pages path used in this pass is:
local modernization source on current origin/main
-> produce source commits on main
-> build Hugo output from that exact source
-> publish output to gh-pages legacy source
-> verify Pages API source/build commit
-> run no-cache live route checks
-> write or update deploy verification artifact
Until the Pages source is intentionally changed in GitHub settings, the safer operational assumption is legacy gh-pages / deploy remains authoritative. The Actions workflows are useful as future/alternative deploy paths, but their current workflow_dispatch configuration does not make CMS commits publish automatically.
Next Verification Commands
git status --short --branch
git rev-parse HEAD
git rev-parse origin/main
git rev-parse origin/gh-pages
gh api repos/svy04/svy04.github.io/pages
gh run list --repo svy04/svy04.github.io --limit 10
.\scripts\check-live-routes.ps1 -BaseUrl "https://svy04.github.io"
What Remains Unproven
- The Worker OAuth changes are dry-run verified locally but not proven deployed; live smoke shows the deployed Worker is still stale.
- Worker deployment currently needs a valid
CLOUDFLARE_API_TOKENin the environment. - CMS edit-to-publication is not automatic while Pages is served from
gh-pagesand workflows are manual-only. - CMS live login/edit/media/unauthorized-denial flow has not been manually verified after this Pages publication.
/admin/should remain disabled until Worker deploy and live OAuth smoke proof are published.