oficina / memoria Public

Merge branch 'worktree-tensorx-provider' into main

🤖 merge: slice 1 — the sibling contract, §4.1's ruling on every search, and gate 8

Discussion 3. Thirteen commits, three independent reviews, every gate
mutation-tested with survivors chased rather than argued away.

Two spec amendments where §8.1 disagreed with itself: the breaker's
window is a UTC day (day-keyed counters cannot answer a rolling
question), and its NOT_VISIBLE clause binds each counted asker rather
than the window — §13 already had that fix and §8.1 was amended without
opening it.

Three rendering bugs found that predate this work: rst-callout,
rst-btn and rst-cell-mut all spelled outside the design system's
vocabulary. The first is fixed with a gate; the other two are listed by
name and left for Paul, because which variant a button should be is a
visual decision.

Blocked and recorded in §13: post-restore reconciliation, S1a's
re-announce and gate 27 all need AHEAD in the contract module.
claude agent, operated by paul@keymail.dev pushed by paul@keymail.dev b9e5de99eb9f32dd573a5d09be9725eb5fd0e7a1 parent 6b3d4e0parent 570ce62
50 files changed, +7793 −108
  • AGENTS.md +115 −4
  • cmd/memoria/main.go +21 −0
  • docs/superpowers/specs/2026-09-03-memoria-design.md +51 −1
  • internal/memoria/app.go +41 −1
  • internal/memoria/breaker.go +503 −0
  • internal/memoria/breaker_test.go +754 −0
  • internal/memoria/breaker_wiring_test.go +369 −0
  • internal/memoria/config_siblings.go +173 −0
  • internal/memoria/config_siblings_test.go +260 −0
  • internal/memoria/custody.go +220 −0
  • internal/memoria/custody_test.go +577 −0
  • internal/memoria/delete_test.go +4 −4
  • internal/memoria/gorm.go +7 −0
  • internal/memoria/handlers.go +34 −3
  • internal/memoria/handlers_connector.go +9 −0
  • internal/memoria/handlers_sources.go +146 −0
  • internal/memoria/migrations/0005_alter_documents.sql +4 −0
  • internal/memoria/migrations/0006_create_sibling_feeds.sql +4 −0
  • internal/memoria/migrations/0007_alter_sibling_feeds.sql +8 −0
  • internal/memoria/migrations/schema.sql +11 −1
  • internal/memoria/models.go +142 −3
  • internal/memoria/render.go +37 −0
  • internal/memoria/render_test.go +73 −0
  • internal/memoria/seal/seal.go +48 −0
  • internal/memoria/searchhelper_test.go +28 −0
  • internal/memoria/sibling/feed.go +165 −0
  • internal/memoria/sibling/feed_test.go +397 −0
  • internal/memoria/sibling/page.go +157 −0
  • internal/memoria/sibling/page_test.go +467 −0
  • internal/memoria/sibling/policy.go +235 −0
  • internal/memoria/sibling/policy_test.go +254 −0
  • internal/memoria/sibling/sibling.go +27 −28
  • internal/memoria/sibling/sibling_test.go +28 −12
  • internal/memoria/siblingsync.go +326 −0
  • internal/memoria/siblingsync_test.go +878 −0
  • internal/memoria/store.go +279 −24
  • internal/memoria/templates/connectors.html +41 −0
  • internal/memoria/templates/index.html +1 −1
  • internal/memoria/templates/notion.html +2 −2
  • internal/memoria/templates/results.html +26 −3
  • internal/memoria/templates/signin.html +1 −1
  • internal/memoria/warmup_test.go +392 −0
  • internal/memoriatest/ancestry_test.go +5 −5
  • internal/memoriatest/connector_test.go +9 −9
  • internal/memoriatest/gates_test.go +361 −2
  • internal/memoriatest/regress_test.go +1 −1
  • internal/memoriatest/search_test.go +15 −2
  • internal/memoriatest/searchhelper_test.go +30 −0
  • tools/drive/main.go +56 −0
  • tools/seed/main.go +1 −1
AGENTS.md

Loading diff…

cmd/memoria/main.go

Loading diff…

docs/superpowers/specs/2026-09-03-memoria-design.md

Loading diff…

internal/memoria/app.go

Loading diff…

internal/memoria/breaker.go

Loading diff…

internal/memoria/breaker_test.go

Loading diff…

internal/memoria/breaker_wiring_test.go

Loading diff…

internal/memoria/config_siblings.go

Loading diff…

internal/memoria/config_siblings_test.go

Loading diff…

internal/memoria/custody.go

Loading diff…

internal/memoria/custody_test.go

Loading diff…

internal/memoria/delete_test.go

Loading diff…

internal/memoria/gorm.go

Loading diff…

internal/memoria/handlers.go

Loading diff…

internal/memoria/handlers_connector.go

Loading diff…

internal/memoria/handlers_sources.go

Loading diff…

internal/memoria/migrations/0005_alter_documents.sql

Loading diff…

internal/memoria/migrations/0006_create_sibling_feeds.sql

Loading diff…

internal/memoria/migrations/0007_alter_sibling_feeds.sql

Loading diff…

internal/memoria/migrations/schema.sql

Loading diff…

internal/memoria/models.go

Loading diff…

internal/memoria/render.go

Loading diff…

internal/memoria/render_test.go

Loading diff…

internal/memoria/seal/seal.go

Loading diff…

internal/memoria/searchhelper_test.go

Loading diff…

internal/memoria/sibling/feed.go

Loading diff…

internal/memoria/sibling/feed_test.go

Loading diff…

internal/memoria/sibling/page.go

Loading diff…

internal/memoria/sibling/page_test.go

Loading diff…

internal/memoria/sibling/policy.go

Loading diff…

internal/memoria/sibling/policy_test.go

Loading diff…

internal/memoria/sibling/sibling.go

Loading diff…

internal/memoria/sibling/sibling_test.go

Loading diff…

internal/memoria/siblingsync.go

Loading diff…

internal/memoria/siblingsync_test.go

Loading diff…

internal/memoria/store.go

Loading diff…

internal/memoria/templates/connectors.html

Loading diff…

internal/memoria/templates/index.html

Loading diff…

internal/memoria/templates/notion.html

Loading diff…

internal/memoria/templates/results.html

Loading diff…

internal/memoria/templates/signin.html

Loading diff…

internal/memoria/warmup_test.go

Loading diff…

internal/memoriatest/ancestry_test.go

Loading diff…

internal/memoriatest/connector_test.go

Loading diff…

internal/memoriatest/gates_test.go

Loading diff…

internal/memoriatest/regress_test.go

Loading diff…

internal/memoriatest/search_test.go

Loading diff…

internal/memoriatest/searchhelper_test.go

Loading diff…

tools/drive/main.go

Loading diff…

tools/seed/main.go

Loading diff…