Manuscript First Seed — 3 Handbooks, Dual-Source, Validated
The Manuscript ingestion pipeline shipped with zero canonical handbooks. Today it has three — across both Notion and Airtable — with the full ingest → sync → cross-reference flow verified end-to-end on production.What got seeded
| Handbook | Platform | Slug | Program |
|---|---|---|---|
| STRATT Social Comeback Engine | Airtable | phm-social-comeback | stratt |
| Escape Velocity: Corporate Orbit → Autonomous Infrastructure | Notion | escape-velocity | devarno |
| Dev Campaign Framework — Master Playbook | Notion | dev-campaign-master-playbook | devarno |
Canonical IDs
- Airtable base:
appiayWVkTET7TmyW· table:tblSvqsW7iacC2zoU· workspace:wsp26BZxwFETzo118 - Notion database:
348a6719-ea07-8177-9eb3-f165653e12cd· data-source:348a6719-ea07-81fe-a331-000baf949839· parent page:348a6719-ea07-81d5-b808-fafc85e0c48c(inside Document Hub348a6719-ea07-80ad-b86e-df55a34f1647) - Vercel env vars on
cloud-hubbleproduction:NOTION_TOKEN,AIRTABLE_API_KEY,MANUSCRIPT_NOTION_DATA_SOURCE_ID,MANUSCRIPT_AIRTABLE_BASE_ID,MANUSCRIPT_AIRTABLE_TABLE_ID,MANUSCRIPT_WEBHOOK_SECRET
Sync result (first real run)
Footguns hit
-
Notion v5 data-source split. The ingester calls
notion.dataSources.query({ data_source_id })(API version 2025-09-03), not the legacydatabases.query({ database_id }).MANUSCRIPT_NOTION_DATA_SOURCE_IDmust be the data-source ID (fetched viaGET /v1/databases/{id}and readingdata_sources[0].id), NOT the database ID. First ingest failed with 404 “Could not find database” because I’d set the database ID. Swap was one Vercel env bump. -
Internal integrations can’t create workspace-level pages. Notion rejects
parent: { type: "workspace", workspace: true }for internal integrations. Workaround: user shares one existing page/database with the integration; creates a child page there; databases hang off that child. We used the default Document Hub database as the grandparent. -
Airtable PAT can’t mutate existing select-field options. Adding
bluesky/redditto an existing Target Platforms field viaPATCH /meta/.../fields/{id}returned validation error despiteschema.bases:writescope. Workaround: declare all options at base-creation time, or use?typecast=trueon record create (which auto-provisions options at record-insert). We pre-declared the common set and dropped the missing platforms into Principles text.
How to add handbook #4
- Create a new row/page in the relevant source (Airtable base
appiayWVkTET7TmyWor Notion DB348a6719-ea07-8177-9eb3-f165653e12cd) with the 11 canonical fields. POST https://hubble.devarno.cloud/api/cron/manuscript-ingestwith{"source":"notion"}or{"source":"airtable"}andAuthorization: Bearer $CRON_SECRET.POST https://hubble.devarno.cloud/api/cron/sync/manuscriptwith{"trigger":"manual"}to recompute xrefs + signals.- Confirm in Studio at
studio.devarno.cloud/manuscript.