xlab-studio → xlab-nyc rename — execution complete
2026-05-15 · morning · companion to xlab_studio_rename_sweep_2026-05-13
The 2026-05-13 sweep enumerated every reference; today executed the rename. Status: complete with one notable side-effect (caught + recovered same session — see audrey_primary_domain_incident_2026-05-15).
TL;DR
- GitHub org renamed
xlab-studio→xlab-nycat ~08:50 ET via Dan in admin UI - 3 local git remotes updated to xlab-nyc
- 6 canonical-config files swept (manual
sed -i.bakafter the toolkit’s interactive prompt failed in non-TTY context — workaround documented) - 15 memory files swept (dated/historical preserved per the original plan)
- 5 commits + push across
xlab-nyc/dare-co-uk(rename refresh of 2 deployed agent-discovery files) andxlab-co/{toolkit, mac-setup}(canonical config sync) - Total execution time end-to-end: ~12 minutes
- Side effect surfaced + recovered: audrey Shopify primary-domain flip during admin handle rename activity (see post-mortem report)
What ran
Step 1 — git remotes (3 repos)
dogwood-house: https://github.com/xlab-studio/dogwood-house.git
→ https://github.com/xlab-nyc/dogwood-house.git
dare-pipeline: https://github.com/xlab-studio/dare-pipeline.git
→ https://github.com/xlab-nyc/dare-pipeline.git
dare-co-uk: https://github.com/xlab-studio/dare-co-uk.git
→ https://github.com/xlab-nyc/dare-co-uk.git
Smoke-test (git ls-remote origin HEAD) confirmed each repo fetches from xlab-nyc cleanly.
Step 2 — canonical config sweep (manual sed)
~/bin/org-rename-sweep requires interactive /dev/tty confirmation that doesn’t work in non-TTY contexts. Workaround for next time: either add a --yes flag to the toolkit, or invoke from a real terminal. Today’s execution used sed -i.bak directly across the 6 flagged files:
~/bin/README.md (1 ref)
~/bin/CI_NOTES.md (1 ref)
~/Code/mac-setup/setup.sh (1 ref)
~/Code/mac-setup/README.md (3 refs)
~/Code/dare-co-uk/llms-full.txt (1 ref — PRODUCTION DEPLOYED)
~/Code/dare-co-uk/agents.md (1 ref — PRODUCTION DEPLOYED)
Last two are the production-deployed agent-discovery files shipped earlier this morning. Updated + redeployed via xlab-nyc/dare-co-uk (commit 4e805b29) — https://www.dare.co.uk/llms-full.txt and /agents.md both verified post-deploy to show github.com/xlab-nyc/dare-pipeline (not xlab-studio).
Step 3 — memory sweep
15 memory files updated (excluded: dated *_2026-05-0*.md files + session reports — historical record):
project_xlab_co_lifecycle_model.md(PRIMARY)feedback_sketch_principle_toolkit_pattern.mdproject_ccr_remote_agent_auth_gap.mdproject_dogwood_service_strategy.mdproject_portfolio_platform_stack.mdproject_agent_discoverability_portfolio_rollout.mdfeedback_linked_artefacts_source_repos.mdREADME.mdproject_dashboard_thumbs_trial_2026-05-14.mdMEMORY.mdfeedback_hover_preview_on_urls.mdproject_dare_pipeline_gha.mdproject_dare_sitemap_regen_built.mdproject_dare_pipeline_r2_token.mdfeedback_org_rename_runbook.md
Step 4 — Domains panel cleanup (audrey side-effect)
The admin handle rename on the audrey Shopify store (separate from the GitHub org rename, but performed in same activity window) caused dogwoodhouse.myshopify.com to appear in audrey’s Domains list as a redirect alias, AND flipped audreyinc.myshopify.com to Primary instead of www.audreyinc.com. The dogwoodhouse alias is benign (Shopify keeps renamed URLs as permanent redirects); the Primary flip caused a real customer-facing 301 cascade.
Recovery: clicked www.audreyinc.com row → “Set as primary” → confirmed. All audrey URLs now serve direct again. See audrey_primary_domain_incident_2026-05-15 for the diagnostic walkthrough.
Verification — every layer
| Layer | Check | Result |
|---|---|---|
| Local git remotes | git remote get-url origin for 3 repos |
All point at xlab-nyc/ ✓ |
| Production dare.co.uk content | curl https://dare.co.uk/llms-full.txt \| grep github |
Shows xlab-nyc/dare-pipeline ✓ |
| Production dare.co.uk content (2) | curl https://dare.co.uk/agents.md \| grep github |
Shows xlab-nyc/dare-pipeline ✓ |
| GHA workflow references | grep xlab-studio dare-pipeline/.github/ |
Zero — workflows use ${{ github.repository }} ✓ |
| Memory + toolkit final state | org-rename-sweep --check |
0 active references (only toolkit’s own help text preserved) ✓ |
| GitHub redirect | curl -I github.com/xlab-studio/dare-co-uk |
HTTP 404 — direct rename, no auto-redirect from old org (note below) |
One thing that surprised me
GitHub did NOT auto-redirect github.com/xlab-studio/... URLs to github.com/xlab-nyc/.... The old organisation slug 404s. This contradicts the typical Shopify-style behaviour where renames preserve backward-compat redirects.
Implication: any external links pointing at xlab-studio URLs (PR references in old chat threads, third-party indexes, social shares) will 404 after the rename. Internal references all updated in this commit; external ones (Slack/Linear/etc., if any) remain stale.
Watch item: check whether GitHub eventually surfaces a redirect (sometimes propagation lag), or whether the old org genuinely no longer exists.
Recommendations + watch items
Immediate
- [x] Run the recovery on audrey Shopify primary domain (done in same session)
- [ ] Verify any external systems referencing
github.com/xlab-studio/...URLs (no known ones, but worth a sweep of any third-party CI/integration configs)
Toolkit improvements (next session)
- [ ] Add
--yesflag to~/bin/org-rename-sweepso it works in non-interactive contexts - [ ] Update org-rename-sweep’s example text from
xlab-studio → xlab-nycto a generic placeholder (avoid future runs showing meta-broken examples) - [ ] Cross-repo sync: dare-pipeline still has its own copies of
scripts/refresh.sh+scripts/dare_dev_reports_publish.pyreferencing the toolkit copies; verify they’re synced post-rename
Documentation
- [ ] Save
feedback_org_rename_runbook.mdas a generalised “next portfolio rename” playbook (this one’s already in memory but could be refined with today’s lessons: - The non-TTY prompt issue in
org-rename-sweep - The GitHub-doesn’t-auto-redirect surprise
- The side-effect-cascade pattern to watch for during simultaneous renames in adjacent systems)
What this earns the portfolio
- xlab-nyc is the canonical org going forward; xlab-co stays as the production-canonical
- The 2026-05-13 sweep + today’s execution together form a repeatable playbook for any future portfolio org rename (clients with brand changes, M&A scenarios)
- The side-effect-cascade (Shopify primary flip during simultaneous admin handle rename) is a new pattern to watch — captured in the incident post-mortem
Linked artefacts
- xlab_studio_rename_sweep_2026-05-13 — the original pre-rename plan
- audrey_primary_domain_incident_2026-05-15 — the side-effect recovery
feedback_org_rename_runbook— the portable playbook this work builds onproject_xlab_co_lifecycle_model— the lifecycle model that frames why we have multiple orgs
Generated 2026-05-15. Execution by Dan + Claude across a single 12-min window.