[seed] Reproducible OSIS data seeding — contexts + business + projects + calendar + messages + runbook §7.4 #49
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Make the demo's OSIS-backed data — contexts, business records, project boards, calendar events, messages — reproducible from this repo. Today the herodemo's per-domain
hero_osis_*services have data populated somehow (visible in earlier screenshots: Persons, Companies, Deals, Projects with sprints/kanban, Calendar events, Messages), but the seed mechanism is not in this repo. A fresh deploy followingdocs/ops/DEPLOYMENT.mdproduces an empty Business / empty Projects / empty Calendar / empty Messages.This is the largest of the seed gaps and probably needs design work before implementation.
Current state
The hero_demo runs 17 per-domain
hero_osis_<X>services (identity, business, calendar, code, communication, embedder, files, finance, flow, job, ledger, media, network, projects, settings, base, ai). Each domain has its own state and own typed schema. The visible UI archipelagos read from these services through the centralhero_osis_uiproxy.data/seed/seed_install.shdoes not currently touch any of them.What needs to be seeded (visible in past demo screenshots)
default,geomind,threefold,incubaid, …hero_osis_base(registry) +hero_osis_identity(membership)hero_osis_businesshero_osis_financehero_osis_projectshero_osis_calendarhero_osis_communicationhero_osis_mediahero_osis_filesFor a "complete demo" experience every archipelago should show some realistic content in at least the canonical demo contexts.
Design questions (resolve before implementing)
rpc.sock? (Would require building per-record JSON payloads.)hero_lib_rhaiRhai bindings against the OSIS SDK? (Would let us write seed scripts as.rhaifiles.)osis seed-from-tomlimport command on the per-domain server?Acceptance criteria
docs/dev/seed_osis.md(or similar) answering the four design questions above. Half a day of writing/exploration.data/seed/<domain>/:data/seed/contexts/contexts.toml— declares the contexts to registerdata/seed/business/persons.toml(or.rhai)data/seed/business/companies.tomldata/seed/business/deals.toml(with cross-refs to persons + companies)data/seed/projects/projects.tomldata/seed/projects/sprints.tomldata/seed/projects/tasks.toml(with cross-refs to projects + persons)data/seed/calendar/events.tomldata/seed/communication/messages.tomldata/seed/finance/instruments.toml,contracts.toml,transactions.tomldata/seed/seed_install.shwith aseed_osissub-routine that loops over the manifests and invokes the chosen import path against the running per-domain services. Idempotent.§7.4 OSIS seedingin runbook: what gets seeded, how to add more, how to seed for new contexts.service_complete --update --release+seed_install.shproduces a demo where every archipelago shows realistic content matching the past screenshots.Suggested implementation order
hero_osis_businesswith just Persons), prove the import path works end-to-endseed_install.shOut of scope
References
hero_osis_*services declared inservices/hero_osis_*.tomlSigned-off-by: mik-tf
mik-tf referenced this issue2026-05-10 17:52:56 +00:00