Skip to content

release(v0.2.5): 4 new modules + CF Pages trap + domain migration + site polish#20

Merged
RoboZephyr merged 1 commit into
mainfrom
release/v0.2.5
May 25, 2026
Merged

release(v0.2.5): 4 new modules + CF Pages trap + domain migration + site polish#20
RoboZephyr merged 1 commit into
mainfrom
release/v0.2.5

Conversation

@RoboZephyr

Copy link
Copy Markdown
Owner

Summary

Patch bump from v0.2.4 packaging 8 PRs of work since the last npm publish. 20 → 24 modules (4 new), plus cloudflare module extended, domain migrated to brand-aligned URL, site polished with favicon + Apple touch icon + auto-deploy workflow.

New modules

  • dashscope (partial) — Alibaba CosyVoice TTS + voice cloning + Wanx image gen
  • volcengine-tos (verified) — S3-compat object storage; the bridge for hosting Seedance/Seedream reference URLs at cn-beijing
  • volcengine-speech (verified) — ByteDance Seed-ASR 2.0 with utterance/word timestamps; surfaced the `volc.seedasr.auc` vs `volc.bigasr.auc` resource-ID migration
  • aitoearn (partial) — 14-channel multi-platform publish MCP

cloudflare module: +83 lines real dogfood

New "换 source repo" section documenting the silent-PATCH trap — `PATCH /pages/projects/{name}` with `source.config.repo_name` returns `success: true` but doesn't update. Only viable path: delete + recreate. Ships the exact ordered runbook.

Domain migrated

`trove.roboz.dev` → `trove.robozephyr.com`. Brand chain now consistent: npm scope `@robozephyr/` ↔ site `trove.robozephyr.com` ↔ `github.com/RoboZephyr/trove`. Old subdomain fully decommissioned.

Site

  • "What's new in v0.2.5" rebuilt with 4 new module cards, each with a real prompt users can paste into their AI agent
  • SVG favicon (514B amber/white T) + Apple touch icon 180×180 PNG
  • Auto-deploy workflow (`.github/workflows/deploy-site.yml`) — `site/` changes on main auto-redeploy

Bookkeeping

  • Module count: 20 → 24
  • Tier mix: 5 prod · 11 verified · 2 partial → 5 prod · 16 verified · 3 partial
  • README §Status / ROADMAP "Latest published version" / site stat-row all bumped to v0.2.5

Verification

  • `bun run typecheck` clean
  • `bun run build` produces `dist/cli.js`
  • `bun bin/cli.ts validate --library` — 24 modules · 0 errors · 0 warnings
  • `node dist/cli.js --version` reports 0.2.5

After merge

  1. `npm publish` v0.2.5 (tempfile + trove npm creds flow)
  2. `git tag v0.2.5` + push
  3. `gh release create v0.2.5 --latest`
  4. Site auto-deploys via the workflow (already proven on previous releases)

…gration + site polish

Patch bump from v0.2.4. 8 PRs of accumulated work since the last npm
publish; pure additive — no breaking changes, no behavior changes to
existing modules.

New modules (4)
- dashscope (Alibaba Bailian / CosyVoice TTS + voice cloning + Wanx
  image gen; partial tier — auth + WebSocket contract verified, runtime
  blocked by account-funding gate)
- volcengine-tos (S3-compatible object storage on Volcengine; verified
  tier — full E2E: bucket create → public-read PUT → public URL curl
  match → cleanup. The bridge for hosting Seedance / Seedream reference
  URLs in cn-beijing for free intra-region pull)
- volcengine-speech (ByteDance Seed-ASR 2.0 batch transcription; verified
  tier — live submit + query passed, surfaced the `volc.seedasr.auc` vs
  `volc.bigasr.auc` resource-ID migration as Critical Constraint #1)
- aitoearn (one-call multi-platform social publishing MCP across 14
  channels; partial tier — auth + endpoint reachability, runtime not
  exercised pending first OAuth on a sacrificial account)

Library bookkeeping
- 20 → 24 modules
- Tier mix: 5 prod · 11 verified · 2 partial → 5 prod · 16 verified ·
  3 partial (new modules joined verified+partial; tier accounting
  cleaned up partway through, see release notes per PR)
- Site grid: 2 new category rows (`speech · transcription`, `social-
  publishing`) plus `volcengine-tos` added under expanded `infra ·
  email · db · storage` group

cloudflare module: +83 lines retroactive dogfood
- New "换 source repo" section documenting the CF Pages silent-PATCH
  trap: `PATCH /pages/projects/{name}` with `source.config.repo_name`
  in body returns `success: true` but does NOT update the source
  (silent read-only). Dashboard has no "change source" button either.
  Only viable path: delete + recreate. Section ships the exact ordered
  runbook (probe → unbind domains → delete project → CREATE with new
  source → re-bind → trigger first deploy)

Domain migration: trove.roboz.dev → trove.robozephyr.com
- Brand chain now consistent end to end:
    npm scope @RoboZephyr ↔ site trove.robozephyr.com ↔ github.com/RoboZephyr/trove
- Migration done via Volcengine TOS-style scripted approach:
  POST /accounts/<acc>/pages/projects/trove/domains + DNS CNAME on
  robozephyr.com zone → SSL active in ~1 min. Old subdomain decommissioned
  (CF Pages domain + DNS record both deleted)
- SECURITY.md, library/cloudflare/module.md `last_verified`, site OG URL
  updated to new URL. SPEC §10 dogfood entries that mention the old
  subdomain preserved as historical record per the §10 ethos

Site polish (single-file HTML, zero JS)
- "What's new in v0.2.5" rebuilt: 4 card grid showcasing each new module
  with a real prompt users can paste into Claude Code / Codex / Cursor.
  Textual-form killer demo replacement
- Hero `<link rel="icon">` → SVG favicon (amber rounded square + white T
  + path-underline mark; 514B, dark/light mode safe). Apple touch icon
  180×180 PNG (2083B) for iOS Add-to-Home-Screen surfaces

Infrastructure
- `.github/workflows/deploy-site.yml` — auto-deploys `site/` to
  Cloudflare Pages on every push to main when site/** changes. Required
  CLOUDFLARE_API_TOKEN + CLOUDFLARE_ACCOUNT_ID GitHub Secrets configured
  via `gh secret set` from local credentials. Tested twice (the second
  PR fixed a `bun` not-found issue by adding setup-bun@v2 step)
- `bin/install.ts` --help text documents `--force` semantics: re-copies
  library's module.md while preserving credentials.json and any other
  user-added files

Hook protection extended (user side)
- ~/.claude/hooks/check-commit-secrets.sh PRIVATE_RE expanded; new
  `PUBLIC_ALLOWLIST_RE` mechanism that lets `trove.roboz.dev` /
  `trove.robozephyr.com` through as known-public OSS URLs while still
  catching bare `*.roboz.dev` / `*.robozephyr.com` subdomain leaks

Verification
- bun run typecheck: clean
- bun run build: produces dist/cli.js
- bun bin/cli.ts validate --library: 24 modules · 0 errors · 0 warnings
- node dist/cli.js --version: 0.2.5

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@RoboZephyr RoboZephyr merged commit c09dd20 into main May 25, 2026
1 check passed
@RoboZephyr RoboZephyr deleted the release/v0.2.5 branch May 25, 2026 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant