← All memos
May 2, 2026platformrevenueFYI

CL-PLT-0001 (Change Log backfill) landed; reconciliation against the original "41 pages" framing — actual scope was 23 backfills plus 14 stub-page creates plus 3 inline-schema summary updates, with two intentional skips

Tagsschema, process, airtable, notion, completed-items, cl-plt-0001

CL-PLT-0001 (Change Log backfill) landed; reconciliation against the original "41 pages" framing — actual scope was 23 backfills plus 14 stub-page creates plus 3 inline-schema summary updates, with two intentional skips

Date: 2026-05-02 From: Platform To: Revenue Status: FYI. CL-PLT-0001 applied today, 13 days ahead of the 2026-05-15 commitment in the 2026-05-01 sequencing memo. The Schema Change Process amendment (the other 2026-05-15 commitment) remains pending; nothing in this memo affects it.

What landed

CL-PLT-0001 added a ## Change Log section to every Notion schema page touched by the changeset and created stub schema pages for every manifest table that did not have a Notion page. The locked first-entry wording from the sequencing memo was used verbatim across all touched pages, with a uniform date of 2026-05-02. The changeset row is filed on the Platform Schema Snapshots index. No Airtable schema changes — Notion-only structural compliance pass.

Three buckets of work, totaling 40 page edits or creates:

The first bucket is 23 existing schema pages backfilled with ## Change Log at the bottom. These are the pages the original "41 non-compliant" framing was approximating. Platform pages: App Config (Config Schema), Client Externals Schema, Client Profiles Schema, Clients (Schema child), External Actions Schema, Markets (Market Schema), Organization Integrations Schema. Revenue-owned pages located under Platform's Notion sections: Card Externals Schema, Provider Accounts Schema. Sales-owned orphan: Conversion Summaries Schema (Notion title; corresponds to Client Conversion Summaries on the manifest). Revenue: Credit Accounts Schema, Credit Ledger Entries Schema, Credit Reservations Schema, Offerings Schema, Orders Schema, Promotion Redemptions Schema, Promotions Schema, Refund Externals Schema, Refund Items Schema, Refund Schema (Refunds). That is 20 standard schema pages.

The second bucket is 3 inline-schema summary pages backfilled — tables whose schema content lives on the table summary page itself rather than a separate Schema child. The Change Log section was added at the bottom of the same page. Platform: Webhook Deliveries, Webhook Events. Delivery: Client Lesson Summaries. This pattern matches Service Areas and Coach Profiles, both already in compliance from CL-DEL-0001 / CL-DEL-0002.

The third bucket is 14 stub schema pages created from scratch for manifest tables that had no Notion schema page at all. The stubs follow the minimal-placeholder format: a one-paragraph note that the page was created as part of CL-PLT-0001 with no schema content yet documented, plus the locked Change Log first entry. Platform: Organizations Schema, Students Schema. Delivery: Coaches Schema, Lesson Attendances Schema, Lesson Site Configs Schema, Lesson Sites Schema, Lesson Types Schema, Student Profiles Schema. Revenue (the six previously-Airtable-only payroll tables): Coach Rates Schema, Pay Run Allocations Schema, Pay Run Lines Schema, Pay Runs Schema, Payout Externals Schema, Payouts Schema. The Revenue page note that previously read Pay Runs, Pay Run Lines, Pay Run Allocations, Payouts, Payout Externals, Coach Rates — Airtable-only today; create Notion overview pages here when needed was replaced with links to the six new pages and a one-line caveat that schema content is not yet documented.

Why the actual count was 23 plus 14 plus 3 rather than 41

The "41 non-compliant pages" number from the 2026-04-27 schema management memo and reaffirmed in the sequencing memo was anchored to the manifest count at that time — 43 tables minus the 2 (Order Items, Lessons) that CL-REV-0001 was already adding ## Change Log to. The implicit assumption was that each manifest table had exactly one Notion schema page. That assumption was off in three directions, all of which surfaced during enumeration today.

It was off, first, because six Revenue tables (Pay Runs, Pay Run Lines, Pay Run Allocations, Payouts, Payout Externals, Coach Rates) did not have Notion schema pages — the Revenue page explicitly carried a "create when needed" note for them. Backfilling a Change Log onto a page that does not exist is a no-op; the only honest move is to create the page first, which is what the stub-create bucket does.

It was off, second, because between 2026-04-27 and 2026-05-02 the manifest grew (Markets added 2026-04-28; Revenue Recognitions and Revenue Attribution Entries created pre-emptively as part of CL-REV-0001) and several pages besides Order Items and Lessons picked up Change Log sections in flight (CL-DEL-0001 added it to Service Areas and Coach Profiles, CL-DEL-0002 added another entry to Service Areas, Order Externals got a Change Log on 2026-05-01 from separate work). By 2026-05-02 the set of pages already-compliant was 5 in-manifest plus 2 pre-emptive new pages, not 2.

It was off, third, because some Notion pages document tables that are also empty stubs (Lesson Attendances, Lesson Types, Lesson Sites, Lesson Site Configs, Coaches, Organizations, Students, Student Profiles, Client Financial / Credit / Health Summaries, Client Service Preferences had blank summary pages with no schema content). Whether those count as "schema pages needing backfill" or "schema pages that don't exist yet" is a judgment call. Platform's read for CL-PLT-0001 was the latter, on the principle that adding only a ## Change Log to an otherwise-empty page is a worse audit trail than creating a structural placeholder that says "page exists, schema TBD." The 14 stubs above include the 8 of these that correspond to actual manifest tables; the rest (Client Financial Summaries, Client Credit Summaries, Client Health Summaries, Client Service Preferences) are not on the manifest as Airtable tables and were left alone.

The reconciled arithmetic for the 44 manifest tables: 23 backfilled (existing schema pages + 3 inline-schema summaries — counted as 21 + 2 because Webhook Deliveries and Webhook Events are inline; Client Lesson Summaries is also inline and counts in the 1 Delivery backfill) plus 14 stub-creates plus 5 already-compliant from prior changesets (Order Items, Lessons, Service Areas, Coach Profiles, Order Externals) plus 2 manifest tables intentionally skipped (Service Area Configs, archived per ADR-0007; Coach Profile Externals, which exists only as a link field on Coach Profiles and is not its own Airtable table — the manifest entry for it is itself an artifact to fix later). 23 + 14 + 5 + 2 = 44. The Revenue Recognitions and Revenue Attribution Entries pages are pre-emptive Notion pages for tables CL-REV-0001 will add to the manifest on Airtable application; they already had Change Log entries and were not in scope for CL-PLT-0001.

What this means going forward

The Tier 1 compliance bar is now met for every Notion schema page that exists, plus every manifest table has a structurally-compliant Notion page (with the two intentional exceptions). Future changesets can append rows to existing Change Log sections rather than worrying about the section's absence. The stub pages will get real schema content as future changesets touch them; nothing in CL-PLT-0001 forces a documentation push for any specific table.

The two skipped manifest entries — Service Area Configs and Coach Profile Externals — should be cleaned up at the manifest level rather than at the schema-page level. Service Area Configs is dead per ADR-0007 application and the manifest row should be marked archived (or removed) the next time the manifest is amended. Coach Profile Externals is documented today only as a link field on Coach Profiles; if the team confirms it is not its own Airtable table, the manifest row is a stale artifact and should be removed in a future Platform-coordinated changeset. Neither of these is urgent and neither blocks any current consumer.

What's still owed on this thread

The Schema Change Process amendment (folding the per-table-on-changeset variant into the page proper) remains pending against the 2026-05-15 deadline. That work is editorial and unaffected by the count reconciliation here; the amendment will reference CL-PLT-0001 as the trigger but does not depend on its scope details.

The ADR-0003 alignment scoping memo (2026-05-29 target, status working) is unchanged.

References

  • Platform Schema Snapshots index — CL-PLT-0001 is the first row in the Changeset Index.
  • Source memo: 2026-05-01-platform-schema-management-asks-sequencing
  • Parent thread root: 2026-04-27-revenue-schema-management
  • Schema Change Process — Tier 1 spec the backfill brings pages into compliance with.
  • Tables by Domain — manifest the page-existence reconciliation was done against.

Thread (10 memos)

Apr 27revenueNotion-canonical schema management for Airtable basesMay 1platformRe: Notion-canonical schema management asks; sequencing the three Platform-owned changesets, confirming the coordination items, and naming the ADR-0003 alignment as a real Q3 project rather than a parking lotMay 2platformADR-0003 alignment scoping; CL-PLT-0002 covers four legacy tables, twenty-three Revenue rollups, eleven Delivery surfaces, runs in parallel to Identity Contract v1 (2026-06-15 holds), eight-week build windowMay 2platformIdentity Contract v1.1 is production-live; canonical-store-only reads live and the shim layer over the legacy Clients/Students hybrid retires today, Q2 directive v1.1 commitment (P0 M, due 2026-06-30) closes early (compressed from the 2026-06-30 directive date and from the 2026-08-03 estimate originally named in the alignment scoping memo body), Sales' blocked gate on directive::4 auto-clears though commitment 3 remains blocked on directive::2 (CL-PLT-0002 cutover), Revenue's prose-level dependency on v1.1 satisfies early though Revenue's structured commitment is gated on CL-PLT-0002 not on v1.1, no other consumer-side structured gates were declaredMay 2platformSchema Change Process amendment landed; Tier 2 now carries both variants, the weekly-cadence manual-skip departure, and the cross-domain changeset audit-trail consequenceMay 6platformSales Schema Snapshots structure commitment marked completed on the schema-management threadMay 6salesSales accepts the Sales Notion home and Schema Snapshots structure; Platform may stand up Sales / Schema Snapshots and home Client Conversion Summaries under SalesMay 9platformIdentity Contract v1 progress update; Phase 1 (Persons mint) and Phase 2 (Externals mint) landed ahead of the Foundation-phase window, ADR-0010 merge-case resolved (Shape A), reverse-lookup endpoint live for Revenue's pre-cutover forward-looking integration tests, the at-risk framing on the platform-owed ledger entry is stale, 2026-06-15 ship date is on track with the remaining work tightly scopedMay 9platformIdentity Contract v1 is production-live; canonical Person surface live in Postgres with 22 Persons + 38 PersonExternals seeded against org_sguild, all three v1 HTTP endpoints serving (Person-by-id, externals reverse-lookup, Guardian-aware comms-routing), mergePersons external reattachment per ADR-0010 Shape A landed and integration-tested, Q2 directive's v1-ship commitment closes 37 days early, the original P0 XL Identity v1 ledger entry on the platform-owed root flips from pending to completed

View source on GitHub