Files
mantra-kmp/composeApp
Kgothatso Ngako 9bd4216867 feat(projects): the repository reads a project and what is in it
Phase 6 of docs/project-feature.md. Six methods on `MantraRepository`, with
`DatabaseMantraRepository` behind them and `NO_OP` returning empty for previews.

The two contents queries return the versions rather than the join rows. No
screen wants a join row, and the DAO resolves it in one indexed query instead of
leaving an N+1 in a view model. Both inverses are here too -- which projects a
version is part of -- because an artifact's own screen is where "what is this
for" gets asked.

Nothing in `MantraDao`. That path -- `addDialect`, `addArtifactVersion`,
`rumorOf`, `submitToGroup` -- is the old submit flow, reached now only from its
own test, and every entity a member creates is proposed for signing instead. An
`addProject` there would be a second way to create a project that bypasses the
quorum, which is the thing this feature is for.

No query by creator or owner. Both are columns and a screen that wants them has
the row; `getProjectsOwnedBy` would be a query with one caller and an index to
go with it, and a room's project list is short. Add it when a screen asks.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-02 19:30:18 +02:00
..