You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Git refs are the source of truth, but they are not queryable. Per docs/design.md "Layer 1", we need fast filters ("open Claims by agent X touching path Y", "unresolved Disagreements", "Plans pending objection") and full-text search across artifact bodies. SQLite is the projection layer.
Context
Git refs are the source of truth, but they are not queryable. Per docs/design.md "Layer 1", we need fast filters ("open Claims by agent X touching path Y", "unresolved Disagreements", "Plans pending objection") and full-text search across artifact bodies. SQLite is the projection layer.
Desired behavior
A
@quorum/index-sqlitepackage providing:hydrate()— full rebuild by walkingrefs/coord/*.apply(event)— incremental update from a watchdog event ([feat] Define JSON schemas (Zod) for all 12 artifact types #8).query(filter): Artifact[]— typed filter (kind, author, status, paths[], parents-of, children-of, since).search(text, opts): { artifact, snippet }[]— FTS5 over body + title.Acceptance criteria
hydrate()is idempotent and matches incrementalapply()byte-for-byte.Implementation notes
better-sqlite3for sync API + perf.ping#9 (notification routing).