You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Deferred minor findings from the whole-branch review before merge:
worker/index.ts fetches /404.html, which redirects. Fetch /404, or drop main. Today the assets layer serves misses, so it doesn't run.
brand.md links /brand/templates/*.html, which redirect (307) to the extensionless paths. Publish the extensionless URLs, and teach check-dist about it.
Old URLs with a trailing slash (/members/, /events/…) return 404. Add slash rows to _redirects.
No type check: tsc --noEmit fails in apps/website (test/content.test.ts), and .astro files are never checked. Add astro check or tsc to test.
/brand/tokens.css is served without a charset. Add a _headers rule.
check-dist: verify redirect #fragments exist, link-check sitemap.xml, and dedupe the color regexes shared with lint.ts.
/links: the spec lists a "website" channel that links.json omits. Confirm which is right.
Bump CI actions off Node 20 (checkout, setup-node, action-setup@v4).
Pin the DNS surface: a test that wrangler.jsonc routes are exactly www.jscebu.org as a Custom Domain, plus a CODEOWNERS entry. Non-interactive deploys override DNS for any Custom Domain listed.
Phase: build, handed off · All nine fixes are implemented and validated; host handoff files are ready for PR #16. Sandbox blocks cleanup of two detached local Astro servers.
Needs you
Review PR #16, especially brand 0.1.1/template navigation and the www-only configuration guard with @dorelljames ownership.
Read clean sync, rules, card, workpad and all issue/PR review channels.
Record approval and implement the approved plan, tests first.
Validate frozen install, tests, build and local HTTP behavior.
Review the whole branch and all untracked files; prepare host PR/commit files.
Stop detached Astro daemons: blocked by sandbox EPERM; details below.
Acceptance criteria
Worker fallback requests canonical /404 and preserves body/headers with status 404.
Brand publishes extensionless template URLs, with version 0.1.1 and changelog; both rendered download-section template links navigate without download attributes. Cover iframe/link are canonical.
All twenty legacy redirect rows are pinned and pass local HTTP checks.
Astro and TypeScript checks run before website Vitest; production image inference and existing content/photo validation remain intact.
Tokens CSS has text/css; charset=utf-8 plus existing CORS.
check-dist validates redirect fragments and XML sitemap destinations, and shares color detection with brand lint.
Approved four-channel content matches the corrected v1 spec and exact content assertion.
All three selected CI actions declare node24; project Node 24 and pnpm 11.3.0 remain configured.
Structural JSONC guard pins only the existing www Custom Domain and rejects singular/plural route overrides anywhere else; CODEOWNERS covers Wrangler and itself. Actual routes are untouched.
Astro dev/preview template behavior checked separately and recorded.
Checks
Red signals: /404.html handler path, 10-vs-20 redirect rows, missing CSS charset, old brand template URLs/version, and missing checker/helper exports failed their regressions before implementation.
Built-output regression: after metadata changed, build failed on exactly both template download attributes; fixing stable template identification made it pass.
pnpm install --frozen-lockfile: passed, already up to date.
pnpm test: passed, 170 tests in 15 files (112 brand, 58 website). Includes Astro diagnostics for 39 files: 0 errors, 0 warnings, 3 existing URL API deprecation hints; tsc passes.
pnpm build: passed; check-dist reports 15 required files, 6 pages, 20 redirects, brand parity and 30 source files without literals.
bash apps/website/scripts/url-matrix.sh http://127.0.0.1:8799: all 36 assertions pass, including both extensionless templates 200 without Location, CSS charset/CORS, all redirects and genuine 404.
Astro dev localhost:4391: /brand/ 200; both extensionless templates including the iframe URL 404, no redirects. Canonical iframe and template links without download confirmed in rendered HTML.
Astro preview localhost:4392: /brand/ and both extensionless templates 200, no redirects; same iframe/link checks pass.
bash -n apps/website/scripts/url-matrix.sh and git diff --check: pass.
Whole-branch git diff origin/main and untracked source review: no generated output, secrets, unrelated changes or Wrangler route edits.
Feedback
Lead 1A/2A → keep Facebook, X, GitHub and Email; @dorelljames owns config/ownership review. Recorded in plan/spec and implemented.
Claude round 1 must-fix → replace suffix-based download identity and cover empty download attributes in fixtures plus real built output.
Claude round 1 suggestions → separate Workers/Astro HTTP evidence and singular/plural override mutation cases.
Claude round 2 suggestions → resolver implemented before metadata change; approved 0.1.1 stated in approval block; spec approval wording settled. Add-Website branch is inapplicable to 1A.
Notes
Approval source: MEMBER dorelljames answer 1A 2A at issuecomment-6525522776, plus the card returned to Todo. Existing PR Resolve the deferred v1 review fixes #16 is open; clean sync started at 4ad1ef2.
Website scopes TypeScript 6.0.3 because @astrojs/check 0.9.12 supports TS 5/6 and Astro CLI rejects TS 7. Root TypeScript remains 7.0.2. Typed collection callbacks preserve real image metadata.
Fresh install repaired stale pnpm skipped-dependency state; no extra transitive workaround dependency was added. Local package store/log/registry state stays ignored.
Official manifests and release/migration notes verified through github_api: checkout v7.0.1, setup-node v7.1.0, pnpm/action-setup v6.1.0 each uses node24. Hosted CI on this implementation is not observed.
Known local limitation: Astro dev returns 404 for canonical extensionless public templates; Workers and Astro preview return 200 without redirects. The plan explicitly permits documenting this server difference.
Cleanup blocker: Workers stopped. Astro auto-detached PIDs 29334 (127.0.0.1:4391) and 29496 (127.0.0.1:4392). Ctrl-C ended CLI parents; sandbox EPERM denies kill and Astro's liveness probe, so its stop command reports none while both ports still answer. Host process lifecycle/cleanup outside this sandbox can clear it; no implementation or secret blocker remains.
Routes, DNS, deployment and branch protection remain unchanged. CODEOWNERS requests review without changing enforcement.
Host PR title/body and commit message are ready; commit message was the last local file write. Host will commit/push/update the existing PR after this run; no hosted CI, push, merge or deployment is claimed.
Activity
dorelljames commentedon Oct 30, 2026
Codex Workpad
Phase: build, handed off · All nine fixes are implemented and validated; host handoff files are ready for PR #16. Sandbox blocks cleanup of two detached local Astro servers.
Needs you
Review PR #16, especially brand 0.1.1/template navigation and the www-only configuration guard with @dorelljames ownership.
Checklist, checks and notes
Dorells-MacBook-Pro-X.local:/Users/dorelljames/Projects/jscebu-symphony-workspaces/GH-9@4ad1ef2Plan
Acceptance criteria
Checks
pnpm install --frozen-lockfile: passed, already up to date.pnpm test: passed, 170 tests in 15 files (112 brand, 58 website). Includes Astro diagnostics for 39 files: 0 errors, 0 warnings, 3 existing URL API deprecation hints; tsc passes.pnpm build: passed; check-dist reports 15 required files, 6 pages, 20 redirects, brand parity and 30 source files without literals.bash apps/website/scripts/url-matrix.sh http://127.0.0.1:8799: all 36 assertions pass, including both extensionless templates 200 without Location, CSS charset/CORS, all redirects and genuine 404.bash -n apps/website/scripts/url-matrix.shandgit diff --check: pass.git diff origin/mainand untracked source review: no generated output, secrets, unrelated changes or Wrangler route edits.Feedback
Notes
dorelljames commentedon Oct 30, 2026
Merge pull request #16 from javascriptcebu/symphony/gh-9