Add VISION and design docs (backup/recovery, G1 integration, network trust, security/privacy, open decisions); update domain boundary and data notes
This commit is contained in:
parent
59beadc03c
commit
8286d1fec8
8 changed files with 496 additions and 5 deletions
|
|
@ -93,9 +93,25 @@ Drift: tablas del core en `commons_core`, tablas de extensión en `app_seeds`, m
|
|||
|
||||
---
|
||||
|
||||
## 8. A decidir
|
||||
## 8. Decidido
|
||||
|
||||
- **Nombre del paquete núcleo:** `commons_core` / `comunes_core` / otro. (Tu org es Comunes; `commons_core` en inglés encaja con la convención de código.)
|
||||
- ¿Hacemos ya `commons_ui` como tercer paquete, o el kit accesible empieza dentro de `app_seeds` y se extrae cuando llegue la segunda app? (Coherente con §7: probablemente empezar en `app_seeds` y extraer luego — salvo que quieras forzar la disciplina desde el día 1.)
|
||||
- ¿`Item` y `Holding` como tablas base en el core desde el inicio, o el core arranca sin ellas (solo Offer/Pledge/Party/trust/sync) y `Variety/Lot` viven enteras en el dominio hasta que la app de cosas revele la forma común? (Esto último es aún más conservador y quizá lo más sensato.)
|
||||
- ¿Herramienta de monorepo: `pub workspaces` (nativo, Dart 3.5+) o `melos`?
|
||||
- **Nombre del paquete núcleo:** **`commons_core`** (inglés, encaja con la convención de código y con la org Comunes).
|
||||
- **`commons_ui`:** nombre e idea fijados, pero **arranca dentro de `app_seeds`**; se extrae a paquete cuando llegue la segunda app (evita andamiaje prematuro, §7).
|
||||
- **`Item` / `Holding`:** arranque **conservador** — el core NO lleva tablas base `Item/Holding` todavía. `Variety/Lot` viven **enteras en el dominio de semillas**. El core arranca solo con lo seguro-compartido (`Offer`, `Pledge`, `Party`, `Group`, `TrustEdge`, `Identity`, transporte+CRDT+sync, discovery). Cuando exista la app de cosas y revele la forma común, se extrae `Item/Holding` al core (refactor barato dentro del monorepo).
|
||||
- **Monorepo:** **`pub workspaces`** (nativo de Dart, sin dependencias extra). Descartado `melos`.
|
||||
|
||||
### Estructura de arranque resultante
|
||||
|
||||
```
|
||||
tane/
|
||||
pubspec.yaml ← workspace raíz (pub workspaces)
|
||||
packages/
|
||||
commons_core/ ← Offer, Pledge, Party, Group, TrustEdge, Identity,
|
||||
transport (OfferTransport/Nostr), CRDT+sync, geohash.
|
||||
(Item/Holding se añadirán aquí al llegar la 2ª app.)
|
||||
apps/
|
||||
app_seeds/ ← Tanemaki: Variety, Lot, Movement, Species, germinación,
|
||||
cosecha, unidades por familia, UI e i18n, commons_ui embebido.
|
||||
```
|
||||
|
||||
Dependencia: `app_seeds → commons_core`, nunca al revés. Migraciones Drift versionadas por paquete.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue