Files
mantra-kmp/composeApp/schemas/press.mantra.compose.database.MantraDatabase
Kgothatso Ngako deaf36f688 Merge branch 'mantra' into claude/focused-brattain-433b3b
Takes the projects line, the chapter uploads, the tablet room selection and the
adoption fixes -- thirty-eight commits, 204 tests.

**Renumbered, for the third time in this window.** `mantra` reached 22 with the
projects tables, having itself renumbered from 21 after the parentage table took
that; this branch had already written 22 and 23. So the ritual keying becomes 22->23
and the membership split 23->24, by the rule in docs/curated-to-mantra-profiles.md
that a version belongs to whichever tree lands first. Nothing had shipped on either.

Schema 23 had to be regenerated rather than kept: the old 22.json described
`mantra@21 + the ritual keying`, and the intermediate shape is now
`mantra@22 + the ritual keying`, which includes the three project tables. Exported by
putting the entities briefly back to that shape, since Room only ever emits the
current version.

**Projects added three more cascading children, so ChatRoom now has twenty-two.** All
three of `MantraProject`, `MantraProjectArtifactVersion` and
`MantraProjectTranslationArtifactVersion` reference the room `ON DELETE CASCADE`. The
split's migration never enumerated them -- it depends on Room disabling foreign keys,
which is asserted rather than assumed -- so it needed no change, but every count in
its prose did.

`ChatRoomSplitThroughRoomJvmTest` is better for it: starting from a v22 file now runs
both of this branch's migrations in one upgrade, which is what a device coming off the
projects release will actually do.

Conflicts resolved toward mantra's shape with this branch's change applied inside it:
`roomDerivedBy` keeps its new extracted helper and reads the ceremony's own threshold
key through `getCeremonyThresholdPublicKey`, and `ChatRoomDetailViewModel` keeps the
`parents` rename with the per-profile MLS read. The new projects and chapters fixtures
needed the same membership seeding as the rest.

1212 tests, 0 failures.
2026-10-02 22:56:41 +02:00
..
2026-07-19 21:08:44 +02:00