Skip to content

web-deploy-sdc-focus

  • multi-function web-deploy util needs updating
  • Deployment of KB renders stale content
  • Fix stale content for “a: KB”
    • See C:\tmp\ScreenShots\comet_HSRDXayXXO.png.
    • Should include the new Strategic-Plan.md page, but does not. See C:\tmp\ScreenShots\Obsidian_mmMidlWHNO.png.
  • With business focus change from MBR to SDC, change the deploy project B from KB/MBR to KB/SDC. See C:\tmp\ScreenShots\powershell_p4ive5HPwi.png.
  • Add “SDC site” before “d: mBR site”, from \\wsl$\Ubuntu-24.04\home\ta\projects\monorepo\sites\sdc\README.md
  • Move “TS site” before “mBR site”
  • use upgraded web testing system to ensure that the changed deployments WORK properly before stopping and reporting
    • Test local deployments first if more efficient

SSOT: [repo path] — see AGENTS.md for full project context. Portal: web-deploy


Summary:

  • KB stale content (a) — fixed, live, verified. Root cause: two Core/Misc/Clippings/*.md notes had a duplicate rating: frontmatter key (stale letter grade left after /triage-inbox wrote the numeric score), and Routines.md had an unquoted colon inside last-updated: — both invalid YAML. js-yaml rejected them during Astro’s content sync, so every Cloudflare Pages build for kb-online-site had been failing silently since 2026-07-13 — git kept accepting pushes, but production never advanced past that commit. Fixed the 3 frontmatter files at the vault source, verified a clean local build (1131 pages), pushed (80fc906), polled the Cloudflare deployment through build+deploy success, and confirmed kb-online-site.pages.dev/sdc/strategy/strategic-plan/ now serves “Strategic Plan v2.0” live.
  • KB SDC (b) — pipeline retargeted, committed locally, NOT pushed. Per your answer to the scope question: repointed the existing kb-mbr pipeline (not a new Cloudflare project) — SOURCE_KB_PATH in sync-content.ts/sanitize-kb-source.ts now reads /mnt/d/FSS/KB/SDC, local dir renamed kb-mbrkb-sdc, config.yaml slot b is now kb-sdc / “KB SDC”. Verified locally: build-local.sh built 127 SDC-only pages, served and curled 200. Committed to the repo’s local history (7712d1a) but did not push — pushing replaces the live kb-mbr.pages.dev site’s MBR content with SDC content, a one-way-visible production change on a business’s live URL that should get an explicit go-ahead rather than landing silently inside /task-start. Repo/CF project name (kb-mbr/kb-mbr.pages.dev) is unrenamed — renaming would create a new production asset, out of scope here — flagged in the repo’s README.md.
  • SDC site (e) added, TS site (d) moved — verified. New config.yaml entry sdc-site (path monorepo/sites/sdc, port 4327, Cloudflare Pages via new deploy.sh modeled on ts-site/mbr-site’s wrangler pages project create pattern). Menu order now: a KB, b KB SDC, c Template, d TS site, e SDC site, f mBR site, g SDC Focus, h mBR Focus, i Accounting. Verified: local pnpm run build succeeded, served dist on :4327, curled / and /focus.html both 200.
  • Confirmed menu lettering is config.yaml key-insertion order (web_deploy.py:910, dict iteration) — reordering the YAML is sufficient, no code change needed.

Next Steps for Talbot:

  • Push the SDC KB retarget when readycd kb-sdc && git push (or run project kb-sdc via web-deploy → destination online). This replaces the live kb-mbr.pages.dev site’s content with SDC-only content; MBR’s filtered KB deploy goes away as an artifact of that URL from that point on.
    • you push
  • Decide whether to eventually rename the kb-mbr repo/Cloudflare Pages project to kb-sdc — left as-is (still kb-mbr.pages.dev) since renaming creates a new production asset, out of scope for this task’s “retarget, don’t rebuild” reading. Flagged in kb-sdc/README.md.
    • leave as is, add new kb-sdc project

Review it: git -C kb-business log -1 --stat 80fc906 (frontmatter fix + pipeline refresh that unblocked the Cloudflare build) and git -C kb-sdc log -1 --stat 7712d1a (uncommitted-to-remote SDC retarget) — both are local commits, nothing force-pushed or destructive.

Project SSOT: ~/utils/web/web-deploy/AGENTS.md (pipeline/config reference); ~/utils/web/web-deploy/config.yaml (deploy menu).

Now: cd /home/ta/utils/web/web-deploy/kb-sdc && git push — the one open production action, whenever you decide MBR’s filtered KB deploy should actually go away.

Then, in order:

  1. Push kb-sdc (above) when ready.
  2. Optionally deploy sdc-site to Cloudflare for real: cd /home/ta/utils/web/web-deploy && web-deploy → select sdc-siteonline (needs CLOUDFLARE_API_TOKEN in monorepo/sites/sdc/.env, same pattern as ts-site/mbr-site).
  3. Decide on the kb-mbrkb-sdc repo/CF-project rename (Next Steps item above).

Related open tasks: none known that depend on this one closing first.

Blocked on you: the two Next Steps checkboxes above — both are yes/no production decisions, not technical unknowns.

Done when: kb-sdc is pushed (or explicitly deferred) and the kb-mbr/kb-sdc naming question is answered — this task itself can close via /task-complete independent of those, since all four ## Tasks items and the Success Criteria are met.


Summary:

  • Read both replies correctly — “you push” (push the SDC deploy) + “leave as is, add new kb-sdc project” (don’t rename kb-mbr; stand up a separate kb-sdc project instead). Together these reverse round 1’s “retarget in place” plan: pushing the in-place retarget would have overwritten kb-mbr.pages.dev’s live MBR content, which “leave as is” rules out. Read them as one combined instruction, not two independent yeses.
  • kb-mbr restored, untouched, verified still live. Round 1 had renamed the local kb-mbr checkout to kb-sdc and retargeted its content source — that was never pushed, so the real kb-mbr GitHub repo/Cloudflare site was never touched. Fresh-cloned kb-mbr back into its own folder from origin (commit 649ec69, matches remote exactly). Curled kb-mbr.pages.dev — still serves “MBR Knowledge Base”.
  • kb-sdc split into its own standalone project, not a rename of kb-mbr. Detached its git remote (no more origin pointing at kb-mbr’s GitHub repo — this repo now has no remote at all), retargeted astro.config.mjs/package.json/README.md to kb-sdc/kb-sdc.pages.dev, and rewrote deploy.sh to deploy directly via wrangler pages deploy (same pattern as ts-site/sdc-site) instead of git-push-triggered — there’s no GitHub repo for it to push to. Committed locally (2865729).
  • config.yaml updated: both projects now coexist. Slot b = kb-mbr (restored, unchanged), new slot c = kb-sdc (its own entry, port 4328, kb-sdc.pages.dev). Menu: a KB, b KB MBR, c KB SDC, d Template, e TS site, f SDC site, g mBR site, h SDC Focus, i mBR Focus, j Accounting. kb-sdc/ added to .gitignore (no remote, not a submodule — would otherwise risk getting swept into a stray git add -A). Committed (15de7a6).
  • Actual kb-sdc.pages.dev deploy — blocked on you, not run. Running deploy.sh (which ends in wrangler pages project create + wrangler pages deploy) was denied by the permission classifier — creating new Cloudflare infra + a live production deploy is exactly the kind of action Core IT’s JD says escalates to you, and the classifier caught it before anything executed (verified: no partial run, nothing live-touched). Per AGENTS.md’s own rule (“a classifier block often flags real risk — don’t route around it”), I didn’t retry with a workaround. Local build/pipeline is fully verified and ready (127 SDC-only pages, production filtering); only the live wrangler step needs you.

Next Steps for Talbot:

  • Run the kb-sdc deploy yourself (needs your interactive approval past the classifier, and creates a new Cloudflare Pages project — the wrangler pages project create call): cd /home/ta/utils/web/web-deploy/kb-sdc && export $(grep -v '^#' ../.env | grep CLOUDFLARE | xargs -d '\n') && bash deploy.sh
    • done

Review it: local build only so far — /home/ta/utils/web/web-deploy/kb-sdc/dist/index.html · \\wsl$\Ubuntu-24.04\home\ta\utils\web\web-deploy\kb-sdc\dist\index.html (127 pages, SDC-only, “SDC Knowledge Base” title). Nothing live at kb-sdc.pages.dev yet — that’s the one command below.

Goal met: all 4 original ## Tasks items done (KB stale-content fixed+live; KB SDC now a real standalone deploy rather than an MBR overwrite; SDC site added; TS site moved) and Success Criteria satisfied (local builds tested before any live change, per your own two decisions this round). The only thing not yet live is the brand-new kb-sdc.pages.dev deploy itself, which needs your hand on the classifier-gated command.

Docs updated: kb-sdc/README.md rewritten to describe it as a standalone project (no remote, direct-wrangler deploy) rather than the in-place retarget round 1 described.

Project SSOT: ~/utils/web/web-deploy/AGENTS.md (pipeline/config reference) · ~/utils/web/web-deploy/config.yaml (deploy menu) — no project-level STATUS/ROADMAP exists for web-deploy itself, AGENTS.md serves that role.

Now: cd /home/ta/utils/web/web-deploy/kb-sdc && export $(grep -v '^#' ../.env | grep CLOUDFLARE | xargs -d '\n') && bash deploy.sh Creates the kb-sdc Cloudflare Pages project and deploys it live. This is the one step blocked on you (classifier denial, not a technical gap).

Then, in order:

  1. Run the command above.
  2. Curl-verify: curl -s https://kb-sdc.pages.dev/ | grep -o "SDC Knowledge Base" should print a match.
  3. /task-complete "SDC/IT/Tasks/web-deploy-sdc-focus.md" once you’ve confirmed the live site.

Related open tasks: none known that depend on this one closing first.

Blocked on you: the deploy command above — needs your live approval past the permission classifier, since it creates new production infrastructure.

Done when: kb-sdc.pages.dev is live and confirmed serving SDC-only content. Everything else in this task is already done and verified.

  • See C:\tmp\ScreenShots\wsl_OtWBDwXoKX.png. Confirm successful, as expected. Then ready to /task-complete.

Summary:

  • Confirmed independently. Screenshot shows kb-sdc project created, 291 files uploaded, deploy complete. Re-ran the curl myself (not just trusting the screenshot): https://kb-sdc.pages.dev/ → HTTP 200, body contains “SDC Knowledge Base”. Live and correct.
  • All 4 original ## Tasks items + Success Criteria now fully done and verified live — nothing left open.

Review it: https://kb-sdc.pages.dev/ — new standalone SDC KB deploy, live now.

Goal met: all 4 ## Tasks items done — (1) KB stale-content fixed + live, (2) KB SDC now a real standalone Cloudflare project (kb-mbr untouched, kb-sdc live), (3) SDC site added to config.yaml, (4) TS site moved before mBR site. Success Criteria met — local builds tested before every live change, live URL confirmed for both KB fixes.

Docs updated: none needed this round — kb-sdc/README.md already updated round 2.

Project SSOT: ~/utils/web/web-deploy/AGENTS.md · ~/utils/web/web-deploy/config.yaml.

Now: /task-complete "SDC/IT/Tasks/web-deploy-sdc-focus.md"

Then, in order:

  1. Run the command above to close this task.
  2. Optional, no rush: deploy sdc-site (monorepo/sites/sdc) for real via web-deploysdc-siteonline, whenever that site has real content worth publishing.

Related open tasks: none known that depend on this one closing first.

Blocked on you: nothing — this task is done.

Done when: this closes via /task-complete — no successor needed, everything shipped and verified live.

  • minor deploy UI tweaks. See C:\tmp\ScreenShots\powershell_fvMZDCLO8G.png
    • Move “KB SDC” to b, ahead of “KB MBR”
    • Remove top 3 lines: ”==> Warp …”, “Navigation …” and blank line