# 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-bffandjamii-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, andintegration_entity(Stratum 12 / Stratum 356), with zerokazi_*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/healthis 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/solveis described as calling the real Solver Gateway (:3070) with capabilityprocurement.basket_split@1andbranch_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
claimrecords (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, andSOVEREIGN_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.jsis a thin compat shim for/v1/kazisasa/*aliases with no data-plane logic; every endpoint routes throughconnections-execute.js→ dispatcherprocessCommand→ Camel → ERPNext REST (source: apps/agent-bff/src/kazisasa-bff-routes.js). - The shim states a legacy
kazi-routes.jshand-codedfetch()shape was the wrong shape and that by reusingconnections-execute.jsthe 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_entryinbenben/config/kazisasa/connections.json, and that it never inventskazisasa_live/hard_eligible/cutover_complete, which are bound toconnection.statusvia 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 akazisasa_tz_*connection hint with sub-realm routing (_tz_/_ke_viax-benben-sub-realmorsub_realm) (source: apps/agent-bff/src/kazisasa-bff-routes.js). benben/config/kazisasa/connections.jsondescribes itself as config-driven KaziSasa Universal Connection Protocol descriptors withsoft: true,live: false,kazisasa_live: false,white_label_brand: KaziSasa, andengine_brand: ERPNext; the examplekazisasa_tz_jobsconnection points athttp://benben-kazisasa-stub:3174/api/resource/Job Openingvia Camel routekazisasa.erpnext.cmdwithsecret_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.mjsheader 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 importsgetKaziHealthfromkazi-appplus 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 underdatasets/scenarios/listed via glob returned no files; no kazi lookup or scenario pack content was verified in the read set. - Thin coverage:
docs/kazireturned 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.jsalias map; the fullkazi-app/kazi-composable-template-routesimplementation referenced byscripts/verify-kazi-headless-api.mjswas not read line-by-line here. - Wage-floor Option A / Option B semantics and the
branch_and_bound 1.4.0solver capability are asserted in AGENTS.md only; theprocurement.basket_split@1decision-request contract and a live:3070solve 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-apiis the official Novu imageghcr.io/novuhq/novu/api:latestandkutuma-wsisghcr.io/novuhq/novu/ws:latest; user-facingNovustrings are replaced withKutumawhile 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.jsmounts/v1/kutuma/withKUTUMA_env vars and falls back toNOVU_*vars during migration (source: apps/agent-bff/src/kutuma-mesh-routes.js). kutuma-governed-trigger.jsis likewise a white-label fork of the Novu governed trigger, using the kutuma mesh service name andKUTUMA_env vars withNOVU_fallback, and optionally attaches a PoCE session viafn::lifecycle::start_poce_sessiononkutuma.triggerwhen 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 iscurl -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:8081in OIDC discovery;host.docker.internalresolves 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/introspectwhich returns 405 on Keycloak 24, while the OIDC-based provider correctly uses POST (source: AGENTS.md). - Pitfall fix — audience mapper:
keycloak-oidcvalidates the ID tokenaudagainst client ID; Keycloak defaults toaud: ["account"], so a protocol mapperoidc-audience-mapperon thekutumaclient must includekutumain both ID and access tokens (source: AGENTS.md). - Login flow fixes:
ApplicationPage.tsxredirects to/auth/loginwhen the user has no auth token (guarded byuseAuth), lands signup completers on/auth/applicationthen dashboard, and keeps users without orgId on/auth/application;AppLayout.tsxguards sidebar content behind auth state and hides the GitHub link via CSS;entrypoint.shpatches JS bundles with sed string replacements for user-facingNovu→Kutuma(must NOT add aNovu[ =]pattern, which corruptsSe.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, andapps/web/public/index.htmltitle patched at container startup viaentrypoint.sh(source: AGENTS.md). - Pitfall fix — LaunchDarkly console errors: the SPA through
:3052produced 11 errors because the bundled Novu web unconditionally callswithLDProviderwith a runtimewindow._env_.REACT_APP_LAUNCH_DARKLY_CLIENT_SIDE_IDthat 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 intoentrypoint.shwith literal{/}(source: AGENTS.md). - Pitfall fix — browser cache recurrence: nginx served JS/CSS with
Cache-Control: public, immutablewhile the bundle filename hashmain.dd4d4a32.jsdoes not change whenentrypoint.shre-patches content, pinning the unpatched build in the browser cache; the fix changes thelocation ~* \.(css|js)$block toCache-Control: no-cache, must-revalidate(source: AGENTS.md). - Pitfall fix — 422
environmentIderrors: after SPA login the dashboard firedGET /v1/changes/count,/v1/environments/me,/v1/notification-groups,/v1/notification-templates, all returning422 "environmentId should not be empty"because the post-login token issued viagetSignedToken(user, newOrganizationId, member)carries noenvironmentId(alwaysnull), whileswitch-environmentcorrectly passes the 4th arg but the SPA never calls it; the fix patchesgetSignedTokento fall back tomember.environmentIdand backfillsmembers.environmentIdin thekutuma-dbMongoDB to each org's first (Development) environment, then recreateskutuma-apifrom the patched imagekutuma-api:patchedbecause 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, theenvironmentIdpatch 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-apidoes not serve socket.io. The runningkutuma-wswas misconfigured with no env vars soREDIS_HOSTdefaulted tolocalhost(notkutuma-redis, causingECONNREFUSED 127.0.0.1:6379) and was published as3053:3000instead of3002; the fix recreates it with--network sovereign_app,-p 3002:3002,--restart unless-stopped,JWT_SECRETmatchingkutuma-api,REDIS_HOST=kutuma-redis,REDIS_PORT=6379,PORT=3002, andMONGO_URLfor thekutumaDB (source: AGENTS.md). - State at last known point as recorded:
test_proxy_auth2.mjsagainst:3052produced 0 console/page errors after Keycloak login;capture_all.mjsshowed 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; pointingREACT_APP_BLUEPRINTS_API_URLat the self-hostedkutuma-apiyields500and 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, andREACT_APP_LD_CLIENT_SIDE_IDare read at runtime fromwindow._env_(env-config.js), which currently sets onlyREACT_APP_API_URL=http://127.0.0.1:3051(source: AGENTS.md).
Open items / gaps
- Thin coverage:
docs/kutumaanddocs/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/kutumafamily (16 files: ingress, webhook consumers, subscriber sync, ACL bridges, templates) was listed but onlykutuma-mesh-routes.jsandkutuma-governed-trigger.jsheaders were read; webhook/ingress/subscription behavior is not asserted here beyond their filenames. - Thin coverage: org/env reference IDs in AGENTS.md (
6a543bbe88c62e5411119450, dev env6a543bbe88c62e5411119457, user6a543ac888c62e5411119449) are recorded as reference only; live:3051/:3052/:3002status 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.mdv3.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+ CNScns://emergency/+ PoCE (partial, ICE pack does this), tickets/SLA = Zammad viasupport.v1.+integration_entity(partial, stillmars_intake_request/mars_support_timeline), tactical chat = Synapse (gap, MarsChat/Supabase still present), command video = Jitsimars-video-conf/JIT-15 (shipped), alert egress = Novu/Kutuma via mesh proxies + fragments (partial), schema = nomars_growth and noUSE NS marsexpansion (violation recorded: largedatabase/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 toclaim,truth_node/truth_edge,resource,integration_entity,cohort,nats_outbox; principle: vertical = values, not branches (Kestra :8180 + Camel :8181 + JetStream orchestration, KV at runtime viaSOVEREIGN_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.jsonv1.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 adjacentsku.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-bridgev0.2.0 "NATS mesh bridge for Materra, using Materra JSON:API as the agricultural engine"; subscribes tosvc.materra.v1.*subjects (entity CRUD for allENTITY_TYPE_MAPtypes +health,observation.record,taxonomy.list,tenant.provision/deprovision,sync.trigger,webhook.ingest), proxies via JSON:API to the Materra instance perorg_id, syncs assets to truth graph (syncAssetToTruthNodefor land/crop/animal/equipment;syncLogToClaimotherwise), 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/verticalsreturned no hits; the catalog table in01_is the verified catalog, and entries in31_§5.10 Claims packs beyond motor arespec_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.v1price 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.)