c23aec57
feat: projects — a saved filter over one global index, not a container
A project is a named space set; querying one filters the single global index. The meta-project is an implicit filter at a reserved address rather than a row: a stored +everything would need a sync job on every space creation, and its one failure mode is silently omitting a space. SpaceFilter distinguishes All from an empty member list, because a freshly created project has no members and must mean selects-nothing. Collapsing the two would make every new project silently match the whole corpus.
bigbes <bigbes@gmail.com> — 2026-07-22 11:30:01 UTC
Commit c23aec5721cb37973196ce27765eb23fd57029e9 —
view raw patch
Parent(s):
54fac8dd
| File | Status | + | − |
|---|---|---|---|
core/errors.go
|
M | +6 | |
core/names.go
|
M | +94 | |
core/names_test.go
|
M | +120 | |
db/project.go
|
A | +241 | |
db/project_test.go
|
A | +279 | |
db/store.go
|
M | +7 | -3 |
db/unit_test.go
|
M | +44 | -14 |
migrations/0002_project.sql
|
A | +19 | |
schema.sql
|
M | +36 | -5 |
service/doc.go
|
M | +14 | |
service/project.go
|
A | +333 | |
service/project_test.go
|
A | +317 | |
service/service.go
|
M | +3 |