JJijibora Docs
docs.jijibora.online
On this page (8 sections)

# Kazi Labor (KaziSasa Headless API & Zero-Knowledge Labor Architecture) Scope: KaziSasa headless labor procurement, intel, credentials, vault, leases, and zero-bespoke mapping into canonical strata. Status: As of 2026-11-09 — Headless surface described in AGENTS.md; kazisasa-bff-routes.js in this tree is a thin compat shim, not the full data plane (source: AGENTS.md, apps/agent-bff/src/kazisasa-bff-routes.js). Blueprint sources: AGENTS.md, apps/agent-bff/src/kazisasa-bff-routes.js, benben/config/kazisasa/connections.json, scripts/verify-kazi-headless-api.mjs, docs/commercialization/01_SOVEREIGN_VERTICALS_COMMERCIAL_CATALOG.md

Facts

  • KaziSasa status in AGENTS.md: headless API + zero-knowledge labor architecture spanning apps/agent-bff and jamii-online-console (source: AGENTS.md).
  • Zero-bespoke law as stated: all human capital, sourcing, trade attestation, micro-insurance, tool depot, and whole-life vault records map 100% into canonical claim, truth_node, and integration_entity (Stratum 12 / Stratum 356), with zero kazi_* tables (source: AGENTS.md).
  • Headless core routes as listed in AGENTS.md: /v1/kazisasa/health, /v1/kazisasa/templates/, /v1/kazisasa/scenarios/, /v1/kazisasa/requisitions/, /v1/kazisasa/requisitions/:id/solve, /v1/kazisasa/requisitions/:id/insurance-bind, /v1/kazisasa/requisitions/:id/equipment-reserve, /v1/kazisasa/intel/, /v1/kazisasa/vault/, /v1/kazisasa/vault/credentials/verify, /v1/kazisasa/vault/leases/ (source: AGENTS.md).
  • /v1/kazisasa/health is described as an infrastructure probe across SurrealDB, NATS KV, Solver Gateway (:3070), Camel (:8181), and Kestra (:8180) (source: AGENTS.md).
  • Templates/scenarios are described as composable labor journeys backed by NATS JetStream KV (SOVEREIGN_TEMPLATES, SOVEREIGN_LOOKUPS), enforcing Option A default max wage floor resolution across facets and Option B strict wage parity conflict detection with HTTP 422 (source: AGENTS.md).
  • Requisitions are described as a sourcing tender lifecycle with Trade Attestation screening: pre-filters crew bids by EPRA/NCA certifications and BBS+ credentials before Solver optimization (source: AGENTS.md).
  • /v1/kazisasa/requisitions/:id/solve is described as calling the real Solver Gateway (:3070) with capability procurement.basket_split@1 and branch_and_bound 1.4.0 (source: AGENTS.md).
  • Insurance bind and equipment reserve are described as registering occupational micro-insurance binders and calibrated tool depot reservations directly in canonical claim records (source: AGENTS.md).
  • Intel surface is described as prevailing wage benchmarks and live SSE market tension streaming at /v1/kazisasa/intel/stream (source: AGENTS.md).
  • Vault surface is described as zero-knowledge whole-life storage where the server stores opaque blind ciphertext pointers and 3-of-5 threshold Shamir recovery shards with zero server key material (source: AGENTS.md).
  • Credentials verify is described as BBS+ selective disclosure verification over BLS12-381 pairing curves with HTTP 422 fail-closed (source: AGENTS.md).
  • Leases are described as ephemeral blind data leases for background and medical clearances with instant revocation (source: AGENTS.md).
  • Declarative KV templates and prompts are described as SOVEREIGN_LOOKUPS (lookup.ai.assistant_prompts) for AI system instructions and bilingual simulation templates, and SOVEREIGN_TEMPLATES (template.novu.*) for Novu workflow definitions with multi-channel step rendering across English, Kiswahili, and French, both loaded at runtime with in-memory caching and zero filesystem reads (source: AGENTS.md).
  • In this tree, apps/agent-bff/src/kazisasa-bff-routes.js is a thin compat shim for /v1/kazisasa/* aliases with no data-plane logic; every endpoint routes through connections-execute.js → dispatcher processCommand → Camel → ERPNext REST (source: apps/agent-bff/src/kazisasa-bff-routes.js).
  • The shim states a legacy kazi-routes.js hand-coded fetch() shape was the wrong shape and that by reusing connections-execute.js the shim inherits APF claim check, OpenBao-backed secret resolution, Camel PoCE chain, and Live/Soft flip via endpoint.url with no restart (source: apps/agent-bff/src/kazisasa-bff-routes.js).
  • The shim states new entities need 0 LOC and are added by appending a connection_entry in benben/config/kazisasa/connections.json, and that it never invents kazisasa_live / hard_eligible / cutover_complete, which are bound to connection.status via Surreal (source: apps/agent-bff/src/kazisasa-bff-routes.js).
  • The shim's alias map in this tree is: openings list/get/search, openings/on-demand (pred.opening), applicants list/get/apply, candidates pred (pred.candidate), credentials issue/verify (cred.issue / cred.verify), employees get — each bound to a kazisasa_tz_* connection hint with sub-realm routing (_tz_ / _ke_ via x-benben-sub-realm or sub_realm) (source: apps/agent-bff/src/kazisasa-bff-routes.js).
  • benben/config/kazisasa/connections.json describes itself as config-driven KaziSasa Universal Connection Protocol descriptors with soft: true, live: false, kazisasa_live: false, white_label_brand: KaziSasa, and engine_brand: ERPNext; the example kazisasa_tz_jobs connection points at http://benben-kazisasa-stub:3174/api/resource/Job Opening via Camel route kazisasa.erpnext.cmd with secret_ref: kazisasa/erpnext/api (source: benben/config/kazisasa/connections.json).
  • Verification suites named in AGENTS.md: scripts/verify-kazi-headless-api.mjs (9/9), scripts/verify-kazi-solver-gateway.mjs (5/5 against real :3070), scripts/verify-novu-kv-templates.mjs (3/3), scripts/verify-ai-prompts-kv.mjs (4/4) (source: AGENTS.md).
  • scripts/verify-kazi-headless-api.mjs header describes itself as a comprehensive verification suite for the KaziSasa Headless API proving real SurrealDB, real NATS KV, real wage resolution, and real HTTP 422 conflict gates, and imports getKaziHealth from kazi-app plus composable-template and requisition helpers (createRequisition, submitCrewBid, solveCrewMatching, bindMicroInsurance, reserveToolDepotEquipment, etc.) (source: scripts/verify-kazi-headless-api.mjs).
  • Commercial catalog positions Kazi / KaziSasa as vertical V8 "Sovereign Labor Procurement & Credentials" for job boards, labor brokers, and guilds, with kazi-connector (:3047) and PeelJobs (:21210) as listed engines and Kazi Site (:5173) / Recruiter Portal (:5174) as frontends (source: docs/commercialization/01_SOVEREIGN_VERTICALS_COMMERCIAL_CATALOG.md).

Open items / gaps

  • Thin coverage: datasets/lookups/lookup.kazi* and kazi scenario packs under datasets/scenarios/ listed via glob returned no files; no kazi lookup or scenario pack content was verified in the read set.
  • Thin coverage: docs/kazi returned no files; Kazi detail beyond AGENTS.md, the shim, connections.json, the verify header, and the catalog V8 paragraph was not verified in the read set.
  • Shim vs AGENTS.md surface gap: the AGENTS.md headless groups (health, requisitions/solve, insurance-bind, equipment-reserve, intel/stream, vault, leases) are not present in this tree's kazisasa-bff-routes.js alias map; the full kazi-app / kazi-composable-template-routes implementation referenced by scripts/verify-kazi-headless-api.mjs was not read line-by-line here.
  • Wage-floor Option A / Option B semantics and the branch_and_bound 1.4.0 solver capability are asserted in AGENTS.md only; the procurement.basket_split@1 decision-request contract and a live :3070 solve were not executed in this read.

Kutuma Notify (Notification Platform — Novu Lineage, White-Labeled + Keycloak Gate + Solved Pitfalls)

Scope: What Kutuma is, how the Keycloak/oauth2-proxy gate and SPA are wired, and the solved pitfalls catalog from AGENTS.md. Status: As of 2026-11-09 — Mechanics recorded as solved July 2026 in AGENTS.md; stack re-provisioning loses the two image-level patches unless re-applied (source: AGENTS.md). Blueprint sources: AGENTS.md, apps/agent-bff/src/kutuma-mesh-routes.js, apps/agent-bff/src/kutuma-governed-trigger.js

Facts

  • Kutuma in AGENTS.md is the white-labeled notification platform from the Novu lineage: kutuma-api is the official Novu image ghcr.io/novuhq/novu/api:latest and kutuma-ws is ghcr.io/novuhq/novu/ws:latest; user-facing Novu strings are replaced with Kutuma while internal identifiers (Se.Novu, NovuProvider, @novu/*) are kept intact (source: AGENTS.md).
  • Agent BFF Kutuma mesh is a white-label fork of the Novu mesh routes: kutuma-mesh-routes.js mounts /v1/kutuma/ with KUTUMA_ env vars and falls back to NOVU_* vars during migration (source: apps/agent-bff/src/kutuma-mesh-routes.js).
  • kutuma-governed-trigger.js is likewise a white-label fork of the Novu governed trigger, using the kutuma mesh service name and KUTUMA_ env vars with NOVU_ fallback, and optionally attaches a PoCE session via fn::lifecycle::start_poce_session on kutuma.trigger when a governance path spec is configured (source: apps/agent-bff/src/kutuma-governed-trigger.js).
  • Auth architecture as recorded: :3052 → oauth2-proxy (Keycloak gate), :3059 → direct web with no auth; verify is curl -L http://127.0.0.1:3052/ → Keycloak login → auth callback → SPA loads with Kutuma branding (source: AGENTS.md).
  • Pitfall fix — KC_HOSTNAME split: Keycloak 24 must use KC_HOSTNAME=host.docker.internal + KC_HOSTNAME_PORT=8081; using an IP with port causes double-port :8081:8081 in OIDC discovery; host.docker.internal resolves in Docker Desktop from both host browser and containers (source: AGENTS.md).
  • Pitfall fix — provider choice: use --provider=keycloak-oidc, not --provider=keycloak; the legacy provider uses GET for /token/introspect which returns 405 on Keycloak 24, while the OIDC-based provider correctly uses POST (source: AGENTS.md).
  • Pitfall fix — audience mapper: keycloak-oidc validates the ID token aud against client ID; Keycloak defaults to aud: ["account"], so a protocol mapper oidc-audience-mapper on the kutuma client must include kutuma in both ID and access tokens (source: AGENTS.md).
  • Login flow fixes: ApplicationPage.tsx redirects to /auth/login when the user has no auth token (guarded by useAuth), lands signup completers on /auth/application then dashboard, and keeps users without orgId on /auth/application; AppLayout.tsx guards sidebar content behind auth state and hides the GitHub link via CSS; entrypoint.sh patches JS bundles with sed string replacements for user-facing Novu → Kutuma (must NOT add a Novu[ =] pattern, which corrupts Se.Novu === enum refs) (source: AGENTS.md).
  • Branding artifacts recorded: branding/kutuma.css (hide GitHub link), apps/web/src/assets/kutuma/logo.svg, apps/web/src/assets/kutuma/icon.svg, and apps/web/public/index.html title patched at container startup via entrypoint.sh (source: AGENTS.md).
  • Pitfall fix — LaunchDarkly console errors: the SPA through :3052 produced 11 errors because the bundled Novu web unconditionally calls withLDProvider with a runtime window._env_.REACT_APP_LAUNCH_DARKLY_CLIENT_SIDE_ID that is unset in the white-label demo; the fix patches the bundle call site to a passthrough identity HOC when the client ID is falsy, baked idempotently into entrypoint.sh with literal {/} (source: AGENTS.md).
  • Pitfall fix — browser cache recurrence: nginx served JS/CSS with Cache-Control: public, immutable while the bundle filename hash main.dd4d4a32.js does not change when entrypoint.sh re-patches content, pinning the unpatched build in the browser cache; the fix changes the location ~* \.(css|js)$ block to Cache-Control: no-cache, must-revalidate (source: AGENTS.md).
  • Pitfall fix — 422 environmentId errors: after SPA login the dashboard fired GET /v1/changes/count, /v1/environments/me, /v1/notification-groups, /v1/notification-templates, all returning 422 "environmentId should not be empty" because the post-login token issued via getSignedToken(user, newOrganizationId, member) carries no environmentId (always null), while switch-environment correctly passes the 4th arg but the SPA never calls it; the fix patches getSignedToken to fall back to member.environmentId and backfills members.environmentId in the kutuma-db MongoDB to each org's first (Development) environment, then recreates kutuma-api from the patched image kutuma-api:patched because the dist has no bind mount (source: AGENTS.md).
  • Persistence warning as recorded: if the stack is re-provisioned from ghcr.io/novuhq/novu/api:latest, the environmentId patch is lost and steps 1–2 must be re-applied (source: AGENTS.md).
  • Pitfall fix — realtime WebSocket: the notification center connects to Novu's separate WebSocket service at ws://localhost:3002/socket.io; kutuma-api does not serve socket.io. The running kutuma-ws was misconfigured with no env vars so REDIS_HOST defaulted to localhost (not kutuma-redis, causing ECONNREFUSED 127.0.0.1:6379) and was published as 3053:3000 instead of 3002; the fix recreates it with --network sovereign_app, -p 3002:3002, --restart unless-stopped, JWT_SECRET matching kutuma-api, REDIS_HOST=kutuma-redis, REDIS_PORT=6379, PORT=3002, and MONGO_URL for the kutuma DB (source: AGENTS.md).
  • State at last known point as recorded: test_proxy_auth2.mjs against :3052 produced 0 console/page errors after Keycloak login; capture_all.mjs showed the four previously-422 endpoints now returning 200 (e.g. /v1/changes/count → {"data":13}); 16/16 tests pass across 5 test scripts for branding/login/onboarding/redirect/API operations (source: AGENTS.md).
  • Known self-hosted limitation as recorded: the SPA dashboard logs 3 console errors (down from 8), all 401 → https://dev.api.novu.co/v1/blueprints/group-by-category, because the template/blueprint gallery calls Novu's cloud catalog which rejects the self-hosted instance without cloud creds; pointing REACT_APP_BLUEPRINTS_API_URL at the self-hosted kutuma-api yields 500 and is worse, so the guidance is to leave it as-is unless Novu cloud credentials are configured (source: AGENTS.md).
  • Bundle configurability as recorded: REACT_APP_API_URL, REACT_APP_WS_URL, REACT_APP_BLUEPRINTS_API_URL, REACT_APP_ENVIRONMENT, REACT_APP_SENTRY_DSN, and REACT_APP_LD_CLIENT_SIDE_ID are read at runtime from window._env_ (env-config.js), which currently sets only REACT_APP_API_URL=http://127.0.0.1:3051 (source: AGENTS.md).

Open items / gaps

  • Thin coverage: docs/kutuma and docs/kutuma* globs returned no files; no dedicated Kutuma product doc beyond AGENTS.md and the BFF mesh files was verified in the read set.
  • Thin coverage: the full apps/agent-bff/src/kutuma family (16 files: ingress, webhook consumers, subscriber sync, ACL bridges, templates) was listed but only kutuma-mesh-routes.js and kutuma-governed-trigger.js headers were read; webhook/ingress/subscription behavior is not asserted here beyond their filenames.
  • Thin coverage: org/env reference IDs in AGENTS.md (6a543bbe88c62e5411119450, dev env 6a543bbe88c62e5411119457, user 6a543ac888c62e5411119449) are recorded as reference only; live :3051/:3052/:3002 status was not re-probed in this read.

Vertical Apps (Catalog, Backlogs, Fabric, Materra, GenMfg, Playbook SKUs)

Scope: Nine-vertical catalog, VF/MARS backlog status, generalization thesis, per-vertical surfaces, and SKU/pack inventory from the dictionary. Status: As of 2026-11-09 — Catalog v3.0 and VF/MARS backlogs dated 2026-11-07; MARS-CFG-16/20/22/23 and VF-14/15/18/21/24 still TODO per backlog tables (source: docs/commercialization/01_SOVEREIGN_VERTICALS_COMMERCIAL_CATALOG.md, docs/commercialization/24_MARS_CONFIGURATION_BACKLOG.md, docs/commercialization/28_VERTICAL_FABRIC_BACKLOG.md). Blueprint sources: docs/commercialization/01_SOVEREIGN_VERTICALS_COMMERCIAL_CATALOG.md, docs/commercialization/23_MARS_CONFIGURATION_VERTICAL.md, docs/commercialization/24_MARS_CONFIGURATION_BACKLOG.md, docs/commercialization/25_VERTICAL_FABRIC_DESIGN.md, docs/commercialization/28_VERTICAL_FABRIC_BACKLOG.md, docs/commercialization/31_INITIAL_RELEASE_PLAYBOOK_DICTIONARY.md, docs/commercialization/SKU_PACK_API_MATRIX.md, apps/materra-bridge/src/index.ts, apps/materra-bridge/package.json, docs/genmfg/README.md, docs/genmfg/06_MATERRA_OVERLAY.md, docs/benben/README.md

Facts

  • Catalog identity: 01_SOVEREIGN_VERTICALS_COMMERCIAL_CATALOG.md v3.0 "Modular Disaggregation Edition" sells discrete brands, never "Sovereign OS" to commercial buyers; shared substrate is SurrealDB (africa/community_os), NATS JetStream + S2, Camel (:8181), Kestra (:8180), Solver Gateway (:3070), Agent BFF (:3030), Keycloak/OpenBao/BBS+ (source: docs/commercialization/01_SOVEREIGN_VERTICALS_COMMERCIAL_CATALOG.md).
  • Master verticals matrix (9 rows, source: docs/commercialization/01_SOVEREIGN_VERTICALS_COMMERCIAL_CATALOG.md): V1 Materra — Precision Agriculture & Cooperative ERP, AMCOS/agribusinesses/exporters, ISO 22000 / ISOBUS, materra-bridge (:3032), FarmOS adapter, Camel :8181; V2 Sokobora — Sovereign Commerce & B2B/B2C Marketplace, merchant alliances/FMCG distributors, ISO 9001/27001/37301, Agent BFF :3030 (/v1/soko/*), Medusa v2, Kill Bill; V3 Jijibora — Smart City & Municipal CNS, county governments/municipalities/SEZs, ISO 37120/55000/20000, Solver Gateway (:3070), OpenMaint, Sikasie; V4 MARS — Multi-Agency Response System, police/fire/ambulance/Red Cross, ISO 22301/27001, SurrealDB s130, NATS Broadcast, WebRTC; V5 ICE/SOS — Citizen Emergency & Panic Response, HOAs/universities/security firms, ISO 22301/27701, Agent BFF SOS consumer, NATS S2 Geofence, Kutuma; V6 Afiyalink — Zero-Trust Health (ZTELS), outpatient clinics/NGO field health, ISO 27001/27701/HIPAA §164, medical-vault (:3031), MinIO PHI, Surreal s130; V7 Kujenga — Construction & Infrastructure Delivery, developers/EPC contractors, ISO 9001/55000/21500, kuratibu-bridge (:3033), Plane.io (:9080), Room SQLite; V8 Kazi/KaziSasa — Sovereign Labor Procurement & Credentials, job boards/labor brokers/guilds, ISO 9001 / ISO/IEC 17024, kazi-connector (:3047), PeelJobs (:21210); V9 Jamii Online — Master Community & Estate Operating System, HOAs/universities/CBOs, ISO 27001/37120, Agent BFF (:3030), Matrix Synapse (:8009), Akili AI (source: docs/commercialization/01_SOVEREIGN_VERTICALS_COMMERCIAL_CATALOG.md).
  • Per-vertical domain summaries from the catalog (source: docs/commercialization/01_SOVEREIGN_VERTICALS_COMMERCIAL_CATALOG.md): Materra = AMCOS/agribusiness farm mapping, disease diagnostics, ICS organic certification, fair-trade milestone escrow; Kujenga = offline-first Android field app + white-labeled Plane.io (Kuratibu) + milestone escrow disbursed only on photographic/geofenced PoCE; MARS = incident command/dispatch with Aviation Slate UI linking police/fire/ambulance/Red Cross/municipal teams; Kazi/KaziSasa = verified artisan/gig labor marketplace with cryptographic skill credentials, wage escrow, delivery confirmation, and rating ledgers.
  • MARS as config, verdict (source: docs/commercialization/23_MARS_CONFIGURATION_VERTICAL.md): "MARS (and ICE) must be a configuration of Sovereign OS, not a parallel product database"; incident/SOS = claim + CNS cns://emergency/ + PoCE (partial, ICE pack does this), tickets/SLA = Zammad via support.v1. + integration_entity (partial, still mars_intake_request/mars_support_timeline), tactical chat = Synapse (gap, MarsChat/Supabase still present), command video = Jitsi mars-video-conf/JIT-15 (shipped), alert egress = Novu/Kutuma via mesh proxies + fragments (partial), schema = no mars_ growth and no USE NS mars expansion (violation recorded: large database/schema/mars/, EMT tables, killbill_mars_).
  • MARS-CFG backlog status headline (source: docs/commercialization/24_MARS_CONFIGURATION_BACKLOG.md): "Open epic. MARS is a configuration pack, not a schema fork"; of MARS-CFG-00..24, TODO remaining are 16 (FCT test-track drills, defensible halves authored not accepted), 20 (anonymous/GBV — config surface only), 22 (ultrasonic client SDK, client-only), 23 (Doc-12 liability merge with FCT-25); 13 is SUPERSEDED (by INTRQ-14/16 + CAPSRC-03), 14 is DONE (defensible-half only) — geo/S2 LIVE fragment trailing.
  • VF backlog status (source: docs/commercialization/28_VERTICAL_FABRIC_BACKLOG.md): "Open program epic — unifies Jamii Online, Jijibora, ICE, MARS completion"; VF-01..13, 16, 17, 19 (content), 20, 22, 23, 25, 26 DONE; TODO are VF-14 (Jamii web/console critical CRUD BFF-only), VF-15 (Facilities → resource/OpenMaint migration), VF-18 (LIVE runbooks + catalog honesty), VF-21 (voyage correlation_id on outbox/OTLP), VF-24 (Supabase-vs-Surreal drift reconcile report-only).
  • Generalization thesis (source: docs/commercialization/25_VERTICAL_FABRIC_DESIGN.md, docs/commercialization/31_INITIAL_RELEASE_PLAYBOOK_DICTIONARY.md): one Sovereign OS, several brands; each vertical = configuration packs (fragments, CNS, NATS KV, APF, deploy grammars, bridge flags) on shared engines, with shared voyage data (identity, property, ticket, SOS, work order, chat, geo, money) as claims + outbox + integrations; dictionary principle 1: no new jamii_/jijibora_/mars_/materra_ SoR tables — map to claim, truth_node/truth_edge, resource, integration_entity, cohort, nats_outbox; principle: vertical = values, not branches (Kestra :8180 + Camel :8181 + JetStream orchestration, KV at runtime via SOVEREIGN_LOOKUPS/SOVEREIGN_SCENARIOS, fail closed, one voyage correlation_id).
  • Interaction rules as normative (source: docs/commercialization/25_VERTICAL_FABRIC_DESIGN.md): Jamii Online = community & property infrastructure (escalates emergencies to ICE, never to MARS directly); Jijibora = smart-city/municipal ops (may compose ICE and/or MARS for civic emergencies); ICE = citizen SOS ownership with handoff to MARS for multi-agency command; MARS = agency command/dispatch/mutual aid/AAR (config pack per doc 23); Jamii never implements agency CAD, ICE never owns war rooms, MARS never owns HOA dues, Jijibora never replaces resident UX.
  • Playbook dictionary identity (source: docs/commercialization/31_INITIAL_RELEASE_PLAYBOOK_DICTIONARY.md): "Initial Release Playbook Dictionary" v1.2.0 (2026-11-07), ACTIVE source of truth for initial-release SKUs as configuration playbooks; machine index playbooks/dictionary.v1.json v1.3.0; each playbook = sellable SKU + deployable pack + interop edge + AI-applicable recipe; brand boundaries: Jamii (daily community/property OS), Jijibora (municipal ops), ICE (public panic/Community Guard), MARS (multi-agency command), Materra (agriculture on same substrate), Claims adjacent track (same processing-claim plane, its own SKU, not a new brand).
  • SKU/pack inventory from the dictionary matrix (source: docs/commercialization/31_INITIAL_RELEASE_PLAYBOOK_DICTIONARY.md): sku.jamii.starter.v1 ($199/mo annual, pack.jamii.community.starter.v1, Soft), sku.jamii.pro.v1 ($749/mo, pack.jamii.community.pro.v1, Partial), sku.jijibora.ops.starter.v1 (bundled in Jamii Pro or +$149/mo, pack.jijibora.property.playbook.v1, Soft), sku.jijibora.sourcing.v1 ($199/mo + $0.15/solve, pack.jijibora.community.sourcing.v1, Soft), sku.jijibora.district.v1 ($3.5k–$50k/mo, pack.jijibora.district.cns.v1, Partial), sku.ice.community_guard.v1 ($199 ≤500hh / $1,500 ≤10k, pack.ice.community_guard.v1, Soft), sku.ice.duty_of_care.v1 ($999 + seats, pack.ice.duty_of_care.v1, Spec/Partial), sku.ice.sdk.v1 ($499 + OEM, pack.ice.safety_sdk.v1, Gap), sku.mars.command.v1 ($999/agency, pack.mars.command_center.v1, MARS-CFG), sku.mars.dispatch_api.v1 ($499 + events, pack.mars.dispatch_api.v1, Partial), sku.mars.mutual_aid.v1 ($1,500, pack.mars.mutual_aid.v1, Partial s184), sku.materra.amcos.pilot.v1 ($350/mo, pack.materra.tz.mbeya.pilot.v1, Spec+seeds Partial), sku.materra.union.v1 ($2,200 + $0.15/bag, pack.materra.tz.union.v1, Spec), sku.bundle.estate_safe.v1 ($349/mo = starter + ice), sku.bundle.city_ready.v1 (custom, ops+sourcing+ice+mars_api), plus adjacent sku.claims.orchestration.pilot.v1 (pilot-scoped unpublished, pack.claims.motor.ke.v1, motor Soft).
  • SKU_PACK_API_MATRIX composition (source: docs/commercialization/SKU_PACK_API_MATRIX.md): Jamii Community → community-starter → /v1/community/starter/, /v1/communities/, Tier A; Jamii Safety (ICE Community Guard) → ice-pack → /v1/community/safety/, +$199/mo; Jijibora Reflex → property-playbook → /v1/community/properties/, $149/mo/building; Community Sourcing → community-sourcing → /v1/community/sourcing/, $149/mo; Smart City → jijibora vertical → /v1/community/, /v1/dde/, Tier C ($3,500+); MARS → mars config pack → /v1/compliance/, /v1/governance/, /v1/dde/, Custom; Vault/BBS+ → uic-vault → /v1/vault/bbs-plus/, Add-on; AaaS → aaas → /v1/attest/, Add-on; composition: Jamii + ICE = community-starter + ice-pack (shared claim lineage), MARS never replaces the HOA app (escalates from ICE), all SKUs compose on the same Surreal org/scope/resource fabric (VF-02), no bespoke tables per SKU.
  • Materra bridge as merged (source: apps/materra-bridge/package.json, apps/materra-bridge/src/index.ts): @jamii/materra-bridge v0.2.0 "NATS mesh bridge for Materra, using Materra JSON:API as the agricultural engine"; subscribes to svc.materra.v1.* subjects (entity CRUD for all ENTITY_TYPE_MAP types + health, observation.record, taxonomy.list, tenant.provision/deprovision, sync.trigger, webhook.ingest), proxies via JSON:API to the Materra instance per org_id, syncs assets to truth graph (syncAssetToTruthNode for land/crop/animal/equipment; syncLogToClaim otherwise), and best-effort starts PoCE sessions + farm/profile vault syncs on create/provision; webhook ingress verifies signature with replay protection and dispatches events.
  • GenMfg (source: docs/genmfg/README.md, docs/genmfg/06_MATERRA_OVERLAY.md): "Generalized Manufacturing Fabric — cross-industry Input → Transform → Quality → Output voyages on Sovereign OS"; Kestra owns production FSM, Surreal is light SoR, packs/journeys replace bespoke BFF workflows; Materra is the agriculture vertical product shell overlaid on GenMfg (pack.genmfg.agriculture. + journeys + schema-first domain resources via /v1/genmfg/domains/{domain}/resources/), owning only agri/chamber pack data, compliance programs (J1–J3), provenance/ICS/labor UX — "Materra must not grow a parallel agri FSM" (Kestra runs state machines; UI/BFF only submit evidence).
  • Benben (source: docs/benben/README.md): "Greenfield platform design — hierarchical zero-trust multi-realm system. No production data migration"; Phase I (base fabric: HLD/PLATFORM_DESIGN/BUILD_ROADMAP) and Phase II (workload realms: Kujenga, Materra, country sub-realms); execution from TASK_LIST.md (Wave E: DBO), with Kujenga/Matera PRDs and optional Hyperledger Fabric/Token SDK tracks.

Open items / gaps

  • References to the legacy system in backlog quotes (MarsChat/VF-24 drift reconcile) are historical lineage — content quoted faithfully from the program backlogs (docs/commercialization/23, 28); detailed treatment of that estate is excluded from this doc set per project policy.
  • Thin coverage: GenMfg 00_MASTER/03_DESIGN/18_PROPOSED_API_REFERENCE and Benben HLD/LLD/FUNCTIONAL_SPEC were not read; only README TOC + 06_MATERRA_OVERLAY positioning and Benben README TOC are asserted here — GenMfg backlog status (GEN-*) and Benben Wave E progress are not verified in this read.
  • Thin coverage: docs/verticals returned no hits; the catalog table in 01_ is the verified catalog, and entries in 31_ §5.10 Claims packs beyond motor are spec_only (allow_spec_deploy: false) — medical/home/gov siblings must not be sold as Soft-shipped.
  • SKU pricing honesty: dictionary list prices are guides; sku.claims.orchestration.pilot.v1 price is explicitly unpublished and savings percentages must not be invented in sales UI (source: docs/commercialization/31_INITIAL_RELEASE_PLAYBOOK_DICTIONARY.md).
  • Catalog tech lines referencing the legacy migration era ("Supabase/Surreal s130" in source) are flagged stale in doc 23 §8 and must be updated when migration cards ship — not independently re-verified here. (Excluded from this doc set per project policy; canonical store is SurrealDB.)