Skip to content

chore(library): backfill 2 new modules + cloudflare CF Pages source-repo trap from local dogfood#19

Merged
RoboZephyr merged 1 commit into
mainfrom
chore/backfill-local-dogfood
May 25, 2026
Merged

chore(library): backfill 2 new modules + cloudflare CF Pages source-repo trap from local dogfood#19
RoboZephyr merged 1 commit into
mainfrom
chore/backfill-local-dogfood

Conversation

@RoboZephyr

Copy link
Copy Markdown
Owner

Summary

Three local-only experiences sunk back into the public library. Maintainer's `~/.trove/` had outpaced `library/` — this PR catches up.

What lands

1. New module: `volcengine-speech` (tier: verified)

ByteDance Seed-ASR 2.0 Standard — batch audio transcription with utterance + word-level timestamps. The diagnostic / QA companion to Seedance (audio-on video gen) and CosyVoice TTS.

Live dogfood discovery sealed in: `volc.seedasr.auc` works on 2026-05+ accounts; legacy `volc.bigasr.auc` returns `45000030 not granted` on the same account. Stale tutorials still suggest the bigasr form.

10 Critical Constraints + 2-step async API + cross-module recipe (Seedance → TOS → Seed-ASR → diff target text) + 5 QA labels for content pipelines + comparison vs Whisper / Deepgram / AssemblyAI.

2. New module: `aitoearn` (tier: partial)

One-call multi-platform social publishing MCP — 14 channels (TikTok, YouTube, X, IG, Threads, Pinterest, Facebook, LinkedIn, Bilibili, Douyin, Kwai, Xiaohongshu, WeChat Channels, WeChat Gzh). OAuth relay borrows vendor's official platform dev creds so users skip per-platform developer-account applications.

8 Critical Constraints + MCP tool inventory + per-platform composing recipe + risk-isolation pattern (mode: relay / self-oauth / hybrid) + Docker self-hosted deployment + pricing reality check.

`last_verified: partial` — auth + endpoint reachability confirmed; no real publish smoke yet (deferred until first sacrificial-account OAuth, parallel to kling / dashscope partial-tier shape).

3. `library/cloudflare/module.md` +83 lines: CF Pages source-repo switch trap

Real dogfood from local: `PATCH /pages/projects/{name}` with `source.config.repo_name` returns `success: true` but silently doesn't update. Dashboard has no "change source / disconnect" button either. Only viable path: delete + recreate. Documented as an ordered runbook with the exact API calls (probe → unbind domains → delete project → CREATE with new source → re-bind domains → trigger first deploy).

Library bookkeeping

  • 22 → 24 modules
  • Tier mix: 5 prod · 15 verified · 2 partial → 5 prod · 16 verified · 3 partial
  • Site grid: 2 new category rows — `speech · transcription` (volcengine-speech) + `social-publishing` (aitoearn)

Privacy audit

  • volcengine-speech: stripped 5 private references in local original (project name, episode IDs, user.uid, sample transcribed dialogue from a screenplay) — replaced with generic placeholders / shape descriptions
  • aitoearn: 2 lexical fixes (private "growth module" reference → generic; `trove inject` mention → actual trove MCP config-merge flow per SPEC §3)
  • cloudflare addition: already used generic placeholders (`my-site`, `example.com`, `new-org`, `new-repo`)
  • Pre-commit hook PRIVATE_RE scan: clean on staged diff

Verification

  • `bun bin/cli.ts validate --library` — 24 modules · 0 errors · 0 warnings
  • Privacy scan against PRIVATE_RE (moment-stream / fengdian / 飞燕 / 林彦词 / growth module / trove inject etc.) clean
  • All new module bodies use generic placeholders; no maintainer-specific identifiers
  • CI will self-validate on this PR

🤖 Generated with Claude Code

…po trap from local dogfood

Three local-only experiences sunk back into the public library after the
maintainer's `~/.trove/` outpaced `library/`. All three are useful for
external users, privacy-cleaned, OSS-ready.

1. volcengine-speech (new module, tier: verified)
- ByteDance Seed-ASR 2.0 Standard — batch audio transcription with
  utterance + word-level timestamps. The diagnostic / QA companion to
  Seedance (audio-on video gen) and to CosyVoice TTS (dashscope module)
- Live dogfood discovery sunk: `volc.seedasr.auc` works on 2026-05+
  accounts; legacy `volc.bigasr.auc` returns `45000030 not granted` on
  the same account. Stale tutorials still suggest the bigasr form
- Module body: 10 Critical Constraints, 2-step async pattern (submit →
  poll same X-Api-Request-Id), credentials separate from ARK / TOS,
  audio limits (8h, mp3/wav/m4a/...), pricing per-audio-minute model
- Cross-module recipe: Seedance audio output → TOS public-read upload
  → Seed-ASR → diff against target subtitle text. Surfaces 5 QA labels
  (asr_ok_text_match / asr_ok_text_mismatch / video_incomplete /
  asr_unreliable / asr_no_speech) for content pipelines
- Comparison vs alternatives: Whisper / Deepgram / AssemblyAI

2. aitoearn (new module, tier: partial)
- One-call multi-platform social publishing MCP — 14 channels (TikTok /
  YouTube / X / Instagram / Threads / Pinterest / Facebook / LinkedIn /
  Bilibili / Douyin / Kwai / Xiaohongshu / WeChat Channels / WeChat Gzh)
- Auth: x-api-key, env-scoped (.ai vs .cn), OAuth relay borrows the
  vendor's official platform dev credentials so you skip per-platform
  developer-account applications
- 8 Critical Constraints + full MCP tool inventory + per-platform
  publish recipe + risk isolation pattern (mode: relay/self-oauth/
  hybrid) + Docker self-hosted deployment + pricing reality check
  ($0 currently for publish + data-cube; AI Create marked up)
- last_verified: partial — auth + endpoint reachability confirmed; no
  real publish smoke yet (deferred until first sacrificial-account
  OAuth, parallel to kling / dashscope tier shape)
- Privacy-cleaned from local: removed "the `growth` module" private
  reference, fixed `trove inject` mention (trove deliberately doesn't
  ship an `inject` command per SPEC §0) to point at the actual MCP
  config-merge flow

3. library/cloudflare/module.md: append CF Pages source-repo switch trap (+83 lines)
- Real dogfood discovery from maintainer's local: `PATCH
  /pages/projects/{name}` accepts `source.config.repo_name` in body,
  returns success: true, but does NOT update the source field
  (silent read-only). `build_config` PATCH works fine — only `source`
  is silently ignored. Dashboard has no "change source / disconnect"
  button either
- Only viable path: delete + recreate. Section documents the exact
  ordered sequence: probe → unbind custom domains → delete project →
  CREATE with new source → re-bind domains → trigger first deploy (CREATE
  doesn't auto-deploy). Downtime window = SSL re-provisioning (~3–10 min)
- Was sitting unstaged in ~/.trove/cloudflare/ since earlier sessions;
  now retro-fit into library version preserving the current
  `last_verified` (no rollback to the older trove.roboz.dev mention)

Library bookkeeping
- 22 → 24 modules
- 5 prod · 15 verified · 2 partial → 5 prod · 16 verified · 3 partial
  (volcengine-speech enters at verified, aitoearn at partial)
- Site module grid: 2 new category rows added — `speech · transcription`
  (volcengine-speech) + `social-publishing` (aitoearn). Single-item rows
  for now; honest representation of category structure

Privacy
- volcengine-speech: stripped 5 private references in local original —
  project name, episode IDs, user.uid, sample transcribed dialogue
  text from a creative project's screenplay. Replaced with generic
  placeholders and shape descriptions
- aitoearn: 2 lexical fixes (`growth module` → generic, `trove inject`
  → actual trove MCP config-merge flow)
- cloudflare addition: already uses generic `my-site`, `example.com`,
  `new-org`, `new-repo` placeholders — no stripping needed
- Pre-commit hook PRIVATE_RE scan: clean on staged diff

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@RoboZephyr RoboZephyr merged commit 3514df5 into main May 25, 2026
1 check passed
@RoboZephyr RoboZephyr deleted the chore/backfill-local-dogfood branch May 25, 2026 08:40
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