Xact Indunablueprint v0.2
Phase lens

Phase lens: showing everything. Pick a phase to see what exists by the end of it. Later items fade out on every tab.

Design blueprint v0.2 · 05-10-2026 · for internal discussion

Trusted advisers inside Xact ERP that read governed data as the user, explain what they found, and show where every number came from.

Xact Induna is a platform for skill-based AI agents. Each Induna is a specialist adviser written as a skill file. It answers questions and prepares findings for staff to act on. It runs on any AI model, hosted by Xact or on the client's own site.

Model agnosticHosted and on-premMany sources, one reporting storePOPIA by designSpring Boot · React · PostgreSQL
IndunaisiZulu: a trusted adviser and captain to a leader

The name is the job description. An induna advises the leader and runs a defined area on their behalf. The leader still makes the call. It also scales cleanly as a naming system.

Platform
Xact Induna
Agents
Collections Induna, Stock Induna, Margin Induna
Surfaces
Induna Desk, Induna Brief, the Indaba, Induna Studio, Induna Connect

Before launch: trademark search (CIPC classes 9 and 42) and a cultural review. Use the word respectfully and keep traditional imagery out of the visual identity.

Four rules the whole design follows

Compute in the database, reason in the model

Postgres aggregates millions of rows. The model only sees small, capped summaries. That is the answer to data volume.

The Induna acts as the user, never above them

Every tool call carries the user's identity and passes the same permission checks as the screen they would use.

Every number has a source

Answers cite the tool and parameters that produced each figure, so staff can verify against the ERP in one click.

Skills name a capability, never a model

A skill asks for a tier. The gateway picks a certified model per client policy, so models can change without rewriting skills.

How one question becomes an answer

The Induna loop

Inside Xact and client control Model provider Staff membercredit controller Induna Deskpanel in the ERP Agent runtimeruns the skill Model gatewayroutes per policy AI modelClaude, GPT, Gemini, local Read replicanever production Governed toolsnamed, read-only, capped Policy and data guardchecks as the user, masks Audit ledgerevery call, every rand only masked summariescross this line tool call, as the user max 50 rows, masked 1 2 3 4 5 6 7 8 9 10
  1. A staff member asks a question in the Induna Desk on their ERP screen.
  2. The Desk sends it with the user's identity. The runtime loads the skill and its tool allowlist.
  3. The runtime sends the prompt and only the allowed tools to the model gateway.
  4. The gateway routes to a model the client permits. The model asks for data, for example debtors ageing for Durban, September.
  5. The runtime hands the tool call to the policy engine, which checks it as that user.
  6. The allowed call goes to a governed tool with a row cap and a timeout.
  7. The tool runs one aggregate query on the read replica.
  8. At most 50 rows come back, with names pseudonymised and ID numbers removed.
  9. Every prompt, tool call, model and cost in rand is written to the audit ledger.
  10. The model writes the answer. The Desk shows it with sources and restores real names on screen.
The whole system, by layer · click any component

Component map

Phase badges show when each component arrives. Use the phase lens at the top to see the system at the end of any phase.

Where the data comes from, and who reads it

Many sources, one reporting store, the same numbers everywhere

Outside systems are never queried live by an Induna. Connectors pull their data on a schedule into one consolidated reporting store, mapped to the same business model as the ERP. The Indunas, Xact Insight and Xact Pulse all read the same governed metrics, so a dashboard figure and an Induna answer cannot disagree.

Sources Who reads it Xact ERPPostgreSQL modules Legacy Genero datavia the legacy bridge SCALE WMSstock by location, picks Payrollaggregates only Other systemsCRM, accounting, portals replication (CDC) legacy bridge Connector hub API, database views or file drop Mapping file per client Record matching across systems Field classification (POPIA) Reconciled to a source report Every row stamped "as at" mapped Consolidated reporting store One business model across sources Governed metrics and tools Policy scopes per user Data guard and audit Client-owned matching tables PostgreSQL, never production IndunasDesk, Brief, Indaba Xact InsightBI, same metric definitions deploys to Xact PulsePWA and mobile dashboards Induna Connectclients' own AI tools

Faded boxes under the phase lens arrive later: WMS and Insight in phase 2, payroll in phase 3, other systems and Connect in phase 4. Live calls to an outside system are kept for narrow lookups, such as where an order is in the warehouse right now.

Where the idea came from

What we take from Grok Bot, and what we do differently

Grok Bot (xAI)Xact Induna
Operating modelNamed AI teammates you message like a colleague. Work keeps running after you log off.Same idea. Named Indunas, scheduled briefs waiting each morning. This is the part worth copying.
Data accessDrives apps through the screen using your real logins.Never touches screens or raw tables. Calls governed, typed tools only.
CredentialsOne shared cloud computer per account. Any login given to one bot is available to all.Each Induna has its own tool allowlist, enforced in code. No pooled privileges, even in the Indaba.
DepthBroad across many apps, shallow in each.Deep inside Xact data, with business meaning built into each tool.
TrustPauses and hands sensitive moments to you.Advise first. Every number cited. Actions only after human approval.
ModelsOne vendor. Model picked automatically, no override.Any vendor or local model, certified per skill and chosen by client policy.