sage: row 171 brief cites mos-0854 (D1 withdrawn, option B approved) in place of its open decision section (#1668)

This commit is contained in:
jason.woltje committed 2026-10-19 13:21:48 -05:00
1 parent 92160cb301
commit fcfa577f20
1 file changed
+10 -19
@@ -1,27 +1,18 @@
# Brief: a thread project named like a business-file repo
P19 379, Gitea #1668, queue row 171. This brief comes from Mos's finding F2 in the 8e7ea89a1 window (mos-0844) and
Mos's ruling mos-0845 D1. Owner Rocko, reviewer Dewey, gate owner Sage. Line numbers are at origin/refactor 42817065e.
P19 379, Gitea #1668, queue row 171. This brief comes from Mos's finding F2 in the 8e7ea89a1 window (mos-0844), with
the design ruled in mos-0854. Owner Rocko, reviewer Dewey, gate owner Sage. Line numbers are at origin/refactor 42817065e.
## Decision needed first: this brief departs from D1
## Decision
mos-0845 D1 gave a go to the "one-registry design" in Sage's F2 recommendation: the bus lists the business file's
projects in `project.list`, and `thread.create` accepts their ids. When Sage wrote that recommendation, Sage hadn't
checked three things, and each of them is a reason against it:
Mos's mos-0854 withdrew mos-0845 D1 (one registry) and approved the design below (option B in sage-1017). The reasons:
- PRD 1.2 (`docs/prd/mosaic-stack.md:726-730`) calls the business file's `projects` git repositories and keeps them
apart from REQ-ORG-2 thread projects. Row 121 linked the two by `repo` (`packages/bus/src/broker.mjs:2244-2245`).
- REQ-THREAD-2 (prd:673-678) has users create projects, and only Jason edits the business file.
- `threads.project` references the store's `projects` (`packages/bus/src/migrations/3d-3e.sql:17`).
Renaming the business-file key to `repos` isn't filed. That's a schema change for Jason, and nothing needs it yet.
1. PRD 1.2 (`docs/prd/mosaic-stack.md:726-730`) says the business file's `projects` key names git repositories to
clone, while a REQ-ORG-2 project is the user's container for threads. Row 121 kept the two apart and linked them by
`repo` (`packages/bus/src/broker.mjs:2244-2245`: "`repo` names a project from the business file; the rename to repos
is a P19 follow-up").
2. REQ-THREAD-2 (prd:673-678) has the user create projects from the CLI or the WebUI. Only Jason edits the business
file, so if the business file were the registry, users couldn't create projects at all.
3. `threads.project` is `REFERENCES projects(id)` (`packages/bus/src/migrations/3d-3e.sql:17`). Accepting
business-file ids in `thread.create` would need a schema migration, a re-pin with `--migrate` and downtime.
Sage recommends option B below in place of D1's one-registry design. Mos rules on it. If Mos keeps D1, this brief gets
rewritten as a schema and PRD change for Jason, and none of the B text below applies.
## Option B: keep the two apart and close the name trap
## Keep the two apart and close the name trap
### The problem B fixes