Skip to main content

Public alpha — flip-day runbook (Stage 2 / ROADMAP 2c)

Tier: Public
Status: v1 maintainer checklist — Stage 2 / 2c executed 2026-06-27 (historical procedure + post-flip tail §11)
Audience: maintainer performing the atomic July 2026 public-alpha flip
Related: public-alpha-preflip-hygiene-checklist.md, public-alpha-cloudflare-pages-runbook.md, community-forum-runbook.md, donation-channels.md, PUBLIC-ALPHA-ANNOUNCEMENT.md, PLATFORM-ARCHITECTURE.md §10.1.1, maintainer-external-service-accounts.md (Cursor + Algolia login identity)

[!NOTE] Flip executed 2026-06-27. Sections §1–§8 record what was done. Post-flip tail (C6–C9) — see §11.


0. Before you start (historical — prep through 2026-06-26)

Automated prep status (2026-06-26): Stage 0 org transfer ✅; brochure + docs-site in-repo ✅; CI workflows green ✅; MIT npm SDK batch published ✅; hygiene automated checks ✅; live security@ / conduct@ / finance@ mailboxes ✅; toolset CODE_OF_CONDUCT.md + SECURITY.md ✅; Cloudflare Workers (umbraculum-brochure, umbraculum-dev-docs-docusaurus) ✅. Production surfaces before SEO flip:

SurfaceURLStatus (pre-2026-06-27)
Brochure + supportumbraculum.dev · umbraculum.dev/support/✅ Live — Liberapay + Buy Me a Coffee wired (2d ✅ 2026-06-26)
Docsdocs.umbraculum.dev✅ Live — noindex until 2cindexed 2026-06-27
Community forumforum.umbraculum.dev✅ Live — Discourse on Contabo VPS; §7.5 governance pins (2026-06-08)
Public demodemo.umbraculum.dev✅ Live since 2026-06-03 — demo-host-runbook.md

§1–§3 executed 2026-06-27: GitHub visibility public for three source repos; noindex removed; marketplace submission started same session.

GateDoc
Stage 1 hygiene signed offpublic-alpha-preflip-hygiene-checklist.md §7
Donation channel accounts livedonation-channels.md §3 + §8 — ✅ 2026-06-26umbraculum.dev/support/ (Liberapay + Buy Me a Coffee)
Contact mailboxes livesecurity@, conduct@, finance@ on umbraculum.dev — ✅ 2026-05-30 (SECURITY.md, CODE_OF_CONDUCT.md, donation-channels.md §3.0)
Toolset paritytoolset-preflip-hygiene-audit-2026-05-27.md — ✅ CoC + SECURITY (2026-05-30)
Brochure paritybrochure-preflip-hygiene-audit-2026-06-26.md — ✅ tracked content + gitleaks; author mailmap pushed before §1
Cloudflare projects created (can be pre-flip while repos still private — use preview URLs first)public-alpha-cloudflare-pages-runbook.md — ✅ Workers Builds (2026-05-30)
Community forum livecommunity-forum-runbook.mdforum.umbraculum.dev (§7.5 complete 2026-06-08)
Public demo host livedemo-host-runbook.mddemo.umbraculum.dev (2026-06-03)

1. Repositories → public (same session)

Flip all three in one maintenance window (order within the window does not matter; do not leave any private overnight):

RepoRoleAction
github.com/umbraculum-dev/umbraculum-devMonorepo (API, web, docs-site, packages)Settings → Change visibility → Public
github.com/umbraculum-dev/umbraculum-toolsetCursor plugin pack sourceSettings → Change visibility → Public
github.com/umbraculum-dev/umbraculum-brochureStatic umbraculum.dev + /support + announcement SoTSettings → Change visibility → Public

Already public (no §1 action): umbraculum-hosting-common, umbraculum-hosting-forum, umbraculum-hosting-demo, umbraculum-integrator-sample.

Pre-flip on umbraculum-brochure: confirm brochure-preflip-hygiene-audit-2026-06-26.md — gitleaks clean, no secrets in tree, git author metadata uses project email (not personal Gmail).

Verify clone URLs work anonymously:

git ls-remote git@github.com:umbraculum-dev/umbraculum-dev.git HEAD
git ls-remote git@github.com:umbraculum-dev/umbraculum-toolset.git HEAD
git ls-remote git@github.com:umbraculum-dev/umbraculum-brochure.git HEAD

1.1 Refresh public consumers (same session)

After all three source repos are public, update clones and VPS trees that consume them — visibility alone does not refresh checkouts.

ConsumerLocationAction
Maintainer laptopSibling clones (umbraculum-dev, umbraculum-toolset, umbraculum-brochure)git pull on each (brochure already public — pull if behind)
Demo VPS — product/opt/umbraculum-devRevoke temporary GitHub PAT + drop stored credentials — demo-host-runbook.md §3; then git fetch origin && git pull (HTTPS anonymous fetch must work)
Demo VPS — operator/opt/umbraculum-hosting-demobin/pull when compose or submodule pins changed
Docs announcement vendorMonorepo docs-site/vendor/brochure/If brochure moved since last sync: pull umbraculum-brochurescripts/sync-brochure-vendor.sh → redeploy docs worker
Cloudflare Workers Buildsumbraculum-brochure, umbraculum-dev-docs-docusaurusNo git pull on VPS — dashboard builds clone from GitHub on push; trigger or wait for first green build after visibility flip
ForumDiscourse pinned topicsGitHub doc links that 404’d while repos were private should resolve after flip (re-smoke one pinned link)

Not git consumers: umbraculum-integrator-sample uses npm registry SDK pins, not monorepo clones.

Pre-flip hygiene (dev + toolset): re-run 2026-06-27 — gitleaks toolset 0 leaks; dev 48 hits = beerjson i18n false positives (same as public-alpha-preflip-hygiene-audit-2026-06-07.md); both repos commit author email umbraculum-dev@proton.me only; dev check-public-docs-no-personal-paths OK.


2. Release tag (monorepo)

Per DEVELOPMENT.md release notation — Git tag v0.0.1-alpha (leading v); package.json versions stay 0.0.1 (no v prefix). The May 2026 history anchor is v0.0.1-baseline (renamed from misleading bare v0.0.1 on 2026-06-27). Reserve bare v0.0.1 for a future stable cut after alpha graduates.

cd $REPO_ROOT
git tag -a v0.0.1-alpha -m "Public alpha release"
git push origin v0.0.1-alpha

Draft GitHub Release notes from PUBLIC-ALPHA-ANNOUNCEMENT.md.

Status (2026-06-27): GitHub Release v0.0.1-alpha published on umbraculum-dev/umbraculum-dev (tag points at flip commit; see §11 C1).


3. Remove pre-flip SEO gates (commit on master, then deploy)

3.1 Brochure (umbraculum-brochure sister repo)

FileChange
public/robots.txtReplace Disallow: / with allow-all, e.g. User-agent: *\nAllow: /
public/index.htmlRemove <meta name="robots" content="noindex, nofollow" />
public/support/index.htmlSame meta removal
Footer “Pre-release … noindex” linesRemove or reword

Rebuild: npm run build in umbraculum-brochure → Cloudflare redeploys brochure Worker (umbraculum-brochure).

3.2 Docs site (docs-site)

FileChange
docs-site/docusaurus.config.tsSet noIndex: false (or remove the property)
docs-site/static/robots.txtAllow crawling (mirror brochure pattern)

Rebuild: npm run build -w @umbraculum/docs-site → redeploy Cloudflare docs project.

3.3 Verify

  • curl -sI https://umbraculum.dev/robots.txt
  • curl -sI https://docs.umbraculum.dev/robots.txt
  • View page source — no noindex meta on home/support

4. Cloudflare Pages + DNS

Follow public-alpha-cloudflare-pages-runbook.md §2–3:

  1. Connect both Pages projects to public umbraculum-dev/umbraculum-dev.
  2. Custom domains: umbraculum.dev, www → apex, docs.umbraculum.dev.
  3. Wait for TLS active; smoke:
URLExpect
https://umbraculum.dev/Brochure + Umbi
https://umbraculum.dev/support/Support page — Liberapay + Buy Me a Coffee (already live pre-flip)
https://docs.umbraculum.dev/Docs home
https://docs.umbraculum.dev/GETTING-STARTEDRenders
https://forum.umbraculum.dev/Discourse forum (already live pre-flip)
https://demo.umbraculum.dev/Brewery reference demo — sign-in banner + E2E fixture accounts (already live pre-flip)

5. Cursor marketplace (toolset)

Submit the three umbraculum-dev apparatus plugins per docs/CURSOR-PLUGINS.md — source must resolve publicly on flip day. (umbraculum-openplc-python-cursor-assistant listing deferred until the OpenPLC sister repo is public.)

StepDetail
Manifest SoTumbraculum-toolset/.cursor-plugin/marketplace.jsonpluginRoot: cursor-plugins, three entries in plugins[]
Runbookcursor-plugins/docs/MARKETPLACE-C2-MANIFEST.md — verify, submit, rollback
Submit URLcursor.com/marketplace/publish — repo https://github.com/umbraculum-dev/umbraculum-toolset
Publisher accountGitHub OAuthgithub.com/umbraculum-dev · login email umbraculum-dev@proton.me (maintainer-external-service-accounts.md)
OpenPLCOn disk under cursor-plugins/ for hooks only — not in marketplace manifest

Closure criterion: public-alpha procedure complete only when all three listings are live (PLATFORM-ARCHITECTURE.md §10.1.1). Approval may trail flip by days/weeks. Submission started satisfies flip-day “start marketplace” gate; live listings satisfy architectural closure.

5.1 Submission status and review policy (C2)

WhenDetail
Submitted2026-06-27cursor.com/marketplace/publish; org umbraculum-dev; repo https://github.com/umbraculum-dev/umbraculum-toolset
AwaitCursor follow-up at marketplace-publishing@cursor.com (no published SLA)
If approvedThree listings go live; migrate per MARKETPLACE-C2-MANIFEST.md § Post-approval migration + CURSOR-PLUGINS.md
If rejected or change-requestedApply Cursor feedback in umbraculum-toolset only (manifest, plugin.json, descriptions, logos, layout) — do not guess; change only what they specify; re-run manifest verification in the runbook; resubmit or reply on their thread
Until liveKeep workspaceOpen hook as canonical install for umbraculum-dev contributors

6. npm MIT SDK batch

Pre-completed 2026-05-29 (before Stage 2 repo visibility flip). All seven MIT SDK packages are on the public registry; OIDC trusted publishing is configured for future bumps via publish-sdk-batch.yml. First versions were published from a maintainer laptop; do not push sdk-batch-v0.1.0 (versions already exist). Details: npm-sdk-publish-execution-plan.md SP-3, LICENSING.md §6.2.1.


7. DocSearch / Algolia (C5 — do now)

Post-flip gate: submit the Algolia DocSearch application (C5 in §11) as soon as noindex is removed and https://docs.umbraculum.dev/ is indexable.

StepDetail
Applydocsearch.algolia.com/apply
Draft answersdocsearch-application-draft.md
Applicant accountGitHub OAuth — same as Cursor C2: github.com/umbraculum-dev · umbraculum-dev@proton.me (maintainer-external-service-accounts.md)
Contact email (form)toolset@umbraculum.dev (public toolset contact)
After approval@docusaurus/theme-search-algolia when DOCSEARCH_* set at Cloudflare build — see draft §4
Cloudflare credentialsSettings → Build → Variables and secrets on umbraculum-dev-docs-docusaurus: DOCSEARCH_APP_ID, DOCSEARCH_API_KEY, DOCSEARCH_INDEX_NAME = umbraculum-docs
Index refreshNot on every deploy — Algolia crawler schedule §7 (~monthly); use Start Crawling in dashboard for urgent re-index

Approval and crawler setup may trail submission by weeks (same pattern as C2). Search results on production lag doc merges until the next crawl finishes — see docsearch-application-draft.md §7.


8. Launch comms (2e)

ChannelAction
GitHub Release✅ Published v0.0.1-alpha (2026-06-27) — body from announcement draft; forum topic/84 linked in release body (2026-06-28)
Community forumCross-post announcement; confirm Proposals category + §7 hardening
Brochure / socialOptional short post linking docs + clone URL
Support pageLiberapay + Buy Me a Coffee — ✅ live at umbraculum.dev/support/ since 2d (2026-06-26); re-smoke after noindex removal

9. Post-flip smoke (15 min)

  • GETTING-STARTED clone + docker compose up path (or document known gaps)
  • https://forum.umbraculum.dev/ live — pre-flip since 2026-06-08 (community-forum-runbook.md §7.5); re-smoke at flip comms — GitHub doc link 200 (2026-06-27)
  • https://demo.umbraculum.dev/ live — pre-flip since 2026-06-03 (demo-host-runbook.md); re-smoke login banner + demo accounts — demo-host-verify.sh + native API smoke green (2026-06-27)
  • umbraculum.dev/support/ donation links live — 2d ✅ 2026-06-26
  • Contabo Auto Backup enabled on forum VPS (kick-off — community-forum-runbook.md §10; infra/community-forum/MAINTENANCE.md §2)
  • Pinned How we communicate topic in Community policy (§6.1 — runbook §6 item 5, §7.5)
  • docs-readmes + docs-site-build + website-build green on master
  • AGENTS.md apparatus path: marketplace-first install documented
  • Update ROADMAP.md Week 3 / Phase 2 rows with flip date

10. Sign-off log

DateMaintainerNotes
2026-05-29Agent prepAutomated Stage 2 prep complete — npm SDK on registry, brochure/docs-site/workflows in repo. Flip not executed — maintainer runs §1–§9 when manual gates close.
2026-06-26Agent docs§1 aligned to three-repo atomic flip (umbraculum-dev + umbraculum-toolset + umbraculum-brochure); hosting repos documented as already public. Flip not executed.
2026-06-28MaintainerC3 ✅ — public alpha announcement posted + pinned (6 months) in Community policy: topic/84.
2026-06-27Maintainer + agent§1 ✅ three repos public. §2 ✅ v0.0.1-alpha retagged to d205445; GitHub Release published (C1 ✅). §3 ✅ brochure + docs noindex removed; Cloudflare deploy verified. Demo VPS maintenance page deployed; C4 ✅ VPS PAT verify. Agent smokes: demo host, native API, forum GitHub link. C2 ✅ marketplace submitted. C5 ✅ DocSearch live. C6–C9 — see §11.

11. Post-2c maintainer queue (C items)

Track flip-day and immediate post-flip work here. C2 and C5 are independent async reviews (Cursor marketplace vs Algolia DocSearch).

IDActionWhereStatus
C1GitHub Release v0.0.1-alpha published§2 · §8 · PUBLIC-ALPHA-ANNOUNCEMENT.mdPublished 2026-06-27release links forum topic/84 (2026-06-28)
C2Cursor marketplace application submitted§5 · MARKETPLACE-C2-MANIFEST.mdSubmitted 2026-06-27 — await marketplace-publishing@cursor.com; if not published, change plugins/manifest only per Cursor feedback (§5.1)
C3Forum cross-post (announcement)§8 · forum-public-alpha-announcement-post.md2026-06-28topic/84 pinned Community policy 6 months
C4Revoke demo VPS temporary GitHub PAT§1.1 · demo-host-runbook.md · scripts/demo-vps-pat-revoke-verify.shVPS verified 2026-06-27demo-vps-pat-revoke-verify.sh green; confirm GitHub UI revoke of classic PAT
C5Algolia DocSearch on production§7 · docsearch-application-draft.md2026-06-27 — deploy green; Algolia on docs.umbraculum.dev (navbar search smoke recommended)
C6Three Cursor marketplace listings live (architectural closure)PLATFORM-ARCHITECTURE.md §10.1.1☐ trails C2
C7Post-flip smoke checklist complete§9☐ partial (2026-06-27)
C8AGENTS.md marketplace-first install documented§9☐ after C6
C9ROADMAP.md Week 3 / Phase 2 flip date recorded§9