CEEZ Ground · Enterprise semantic operating model

Give your AI workforce an executable model of how your business works.

AI agents can’t operate an enterprise on data alone. They need to know what things mean, how work flows, which rules apply, what has to be decided, who may act, and what is happening now. Ground discovers that from your systems, has your people validate it, and compiles it so agents can use it.

Start locally
python3 -m venv --system-site-packages .venv
.venv/bin/pip install -r requirements.txt
PGPASSWORD='…' .venv/bin/python server.py
# console: http://localhost:8899/app

Illustration of the console · sample values

The problem

Enterprises have systems of record. They don’t have a system of understanding.

Each system holds a piece. The CRM knows the contract. Billing knows the revenue. Support knows the open issues. Product knows usage is falling. Renewal is 42 days away. Only people join those up.

What the business understands

“This strategically important customer is approaching renewal, usage is declining and support problems are growing, so the customer may be at risk.”

That sentence lives across relationships, processes, policies, decisions and people. It is rarely written down in one place.

What an agent can see

Rows in separate tables with different names for the same customer, no rule about who may offer a discount, and no idea whether the figures it is reading are still current.

Today people do the connecting. That is the human semantic layer, and Ground’s job is to turn it, step by step, into something software can run on.

What an operating agent needs to hold together

Intent→Meaning→Process→Policy→Decision→Actor→State→Action→Outcome

The model

One living model, six connected views.

The Enterprise Semantic Operating Model isn’t a static ontology or a graph. It’s a representation of how the enterprise understands, operates, governs, decides and changes, kept current and available to the AI workforce. Business intent sits above it, and the six views are connected, not separate models.

Knowledge map

What does it know?

What exists, and what does it mean?

Entities, attributes, definitions, relationships, identities, temporal meaning and the evidence behind each.

Customer → owns Account
Customer → has Contract
Customer → generates Revenue
BuiltExtraction, debate, trust ladder, entity resolution, definition history.
Process map

How does work happen?

How does the enterprise perform this work?

Processes, stages, dependencies, events, exceptions, escalations and service levels.

Review customer → Assess health → Review contract → Assess risk → Intervene → Verify renewal
Not yetBusiness processes aren’t modelled today.
Policy & authority map

What is allowed?

What can, must or cannot happen?

Policies, limits, approvals, compliance rules, escalation conditions and what each agent may do.

Discount ≤ 10% → agent
10–20% → manager
> 20% → executive
BuiltRules cited from documents, bound to contracts, with a know / infer / decide / act grid.
Decision map

What should happen?

Given what we know, what do we decide?

Triggers, criteria, alternatives, evidence needed, risk and escalation. A decision is not a policy: “offer 8%” versus “agents may offer up to 10%”.

Renewal risk: low → renew
medium → engage
high → intervene
PartlyRuntime decisions run eight checks and are recorded. Decision structures aren’t yet a map.
Actor map

Who or what acts?

Who is responsible for this work?

People, roles, teams, agents, systems and partners, with responsibility, capability and authority.

approver · operator · agent:planner
PartlyPeople and agents are distinct, with roles and data-access grants. No org or team model.
State map

What is happening now?

What is true now, and how did we get here?

Current and historical state, events, transitions and effective dates. Decisions depend on current state, not only on definitions.

Contract active → renewal in 42 days → usage declining → health: at risk
PartlyKnowledge states and definition history. Operational state isn’t modelled.

Built, partly built, not yet. The status on each card describes this product today, so you can see how much of the model you get now and how much is the direction.

How it’s built and kept current

A workforce engineers the model. People govern it.

The model isn’t drawn once by hand. A Semantic Intelligence Workforce discovers, challenges and validates it continuously, and a compiler turns what’s proven into something agents can execute.

The Semantic Intelligence Workforce

A standing team of AI roles with a loop that never stops.

Discover→Interpret→Propose→Evidence→Challenge→Validate→Compile→Publish→Monitor→Detect change ↺

Humans supervise the exceptions that matter and own governance. They aren’t asked to map the enterprise by hand.

The Semantic Compiler

AI discovers meaning. Deterministic systems execute meaning that has been established.

  • Validated meaning, evidence and rules become versioned semantic contracts, with pinned measurements and tests.
  • The model doesn’t rediscover what “Customer” means each time an agent runs.
  • Changes ship as releases with gates, canary and rollback.

Top-down meets bottom-up

Top-down: what does the business want to achieve? Bottom-up: what does the enterprise actually contain? Ground reconciles the two.

  • If the sources can’t support an objective, that’s recorded as a knowledge gap.
  • If something important has no place in the model, that’s a structural gap: evidence the model itself is incomplete.

Honest about what isn’t known

An assertion isn’t just true or false. Safe autonomy needs more states.

UnknownCandidateHypothesisEvidence-backedValidatedTrustedContradictedStale

Only a person can mark something Trusted. Unknown and contradicted concepts block execution.

From model to action

An agent gets the context for its mission, and nothing more.

An agent shouldn’t receive the whole enterprise. Ground compiles what a mission needs, and every proposed action is checked against authority before it happens.

Business intent→Semantic model→Mission→Mission context→Execution model→Agent→Decision→Action→Outcome

Mission: reduce customer churn

What the compiled context would contain.

  • Knowledge: Customer, Account, Contract, Product, Usage, Support.
  • State: current contract, recent usage, recent support activity.
  • Policy: customer engagement policy, discount policy.
  • Authority: recommend an intervention; execute an approved engagement.

Authority is a ladder, not a switch

Each step can carry different permissions, and each process sits on its own rung.

Know→Infer→Recommend→Decide→Act

Before an agent acts: semantic validity, evidence, freshness, temporal validity, policy, decision authority, action authority, and risk. Eight checks return execute, block, downgrade or escalate.

Today this stops at the decision. Ground returns the decision and records it. There are no adapters that write to your systems, so connecting an action is a separate, deliberate step.

The loop that improves it

Outcomes feed back into the model.

The loop doesn’t end when an agent acts. What happened, compared with what was expected, is evidence about the model itself.

Business loop

Intent→Decision→Action→Outcome→Feedback

Each action records the outcome expected and the outcome observed against the contract’s pinned measurement.

Enterprise intelligence loop

Enterprise change→Discovery→Semantic change→Validation→Update

Schema, policy and definition changes are sensed, their blast radius is computed, and what rests on them is held back until revalidated.

A gap between expected and actual is a question about the model. It can reveal wrong knowledge, a missing relationship, stale state, a misread policy or bad decision logic. Ground traces it by provenance rather than guessing, and the Ground ratio tells you whether meaning is being confirmed faster than it goes stale.

The question leaders ask

“Can AI operate this process?” Answered with evidence, not a graph.

This is the experience the model is built toward: readiness stated per dimension, with what’s missing and where a person must stay involved. A figure for illustration only.

78%

Illustrative · customer renewal

CustomerHigh
ContractHigh
UsageMedium
Customer healthMedium
PolicyHigh
DecisionsMedium

Missing: executive sponsor relationship, renewal intervention history. Mode: policy-bounded autonomy. Human required: discounts over 10%.

Where this exists today. Per-concept trust, what an agent may act on, authority at risk and the autonomy level per process are computed now. A single readiness view across all six dimensions, and a navigable Knowledge Library, are the target. Today the human-facing views are Explore and the exportable data dictionary.

How it differs

Not a knowledge graph. Not RAG.

Both stay useful as parts. Neither is the architecture.

ApproachAnswersThe operating model also answers
Knowledge graphWhat is connected to what?What does the enterprise mean, how does it operate, what rules govern it, who can act, what is happening, and what happened as a result?
RAGWhat should I retrieve for this query?What environment does this agent need to perform this mission: entities, state, rules, evidence, time and authority?
Manual enterprise modelWhat did we draw once?What is true now, and who or what is keeping it true as the business changes?

What you can do today

Build and run the model, one job at a time.

The console has five sections. Each is a job that adds to the model and ends with something you can show: a published record, a signed release, an answer with its evidence.

01 · SOURCES

Connect a source

Add a PostgreSQL database or upload files. See how far it has come, from discovered through profiled, interpreted and reviewed to published.

Open Sources → Add a data source

02 · SOURCES

Run discovery

One run reads the structure, profiles the columns, lets AI roles debate what they mean, and drafts a record. You choose how much data it may read.

Open Sources → Run discovery

03 · REVIEW

Review and correct

Work through a deck of decisions, worst first. Approve a reading, dispute it, or clarify it. Only a person can mark something Trusted.

Open Review → Decisions

04 · REVIEW

Resolve conflicts

See where two sources define the same thing differently. Adopt one, define a new one, or keep both scoped. Nothing is merged silently.

Open Review → Conflicts

05 · PUBLISH

Publish safely

Stage a change as a release, run six gates against it, get a named approval if it widens authority, canary it, and roll back in one step.

Open Publish → Releases

06 · EXPLORE

Ask a question

Ask in plain language. Answers are built from the published meaning and show the SQL and evidence. If a concept is unknown, Ground says so instead of guessing.

Open Explore → Ask a question

07 · OPERATE

Register an intent

Say what you want to know or do. Ground checks the data can support it, then compiles a versioned contract that limits what an agent may decide and do.

Open Operate → Business intents

08 · OPERATE

Let agents act, within limits

An agent asks for a decision. Eight checks return execute, block, downgrade or escalate, and name the one that failed. Nothing is written to your systems.

Open Publish → Execution

09 · OPERATE

Watch the Ground ratio

One figure says whether meaning is being confirmed faster than it goes stale. It sets how much each process may be trusted to do.

Open Operate → Outcomes

Product tour

The four screens you’ll use most.

Illustrations of the console with sample values. Each shows the controls you actually get and where to find them.

Review

Decide one card at a time, worst first.

Every uncertain reading, conflict and policy exception lands in one deck. Open a card to see the evidence, then decide.

  • Approve a reading. It becomes Trusted, and counts as a promotion in the Ground ratio.
  • Dispute it. It stays Contested and nothing can rest on it.
  • Open the receipt to see the claim, evidence, check and rule behind any figure.
Review → Decisions
Review · Decisions
Are crm.customer and billing.account the same entity?

Identity proposal · 91% key overlap measured across 4,812 rows

Claim
Same customer, joined on email_hash
Evidence
4,812 of 5,290 keys match; 478 orphans
Check
Fan-out 1.0×; no many-to-many
Rule
R7 · Trusted needs a named person
Publish · Releases · candidate r-0042
Change
Impact
Gates
Approval
Canary
Promote
Semantic tests138 passed
Temporalpassed
Policy1 conflict
KPI regressionwithin 10%

Approve is disabled until the policy gate passes or is waived by a named person.

Publish

Ship a change to meaning like code.

A re-read doesn’t overwrite what’s live. It becomes a candidate that has to pass before it replaces anything.

  • Run the gates: semantic, epistemic, temporal, policy, KPI and compilation.
  • Get approval where it is needed. A release that widens what an acting contract rests on needs a person.
  • Canary it on named contracts first, then promote. Roll back restores exactly what was live.
Publish → Releases

Explore

Ask in plain language. Get evidence, or a refusal.

Questions resolve against the published meaning. Every answer carries the SQL that produced it and the claims it relied on.

  • Ask about a metric, an entity or a relationship.
  • If a concept is unknown or invalidated, Ground refuses and names it, instead of inventing a meaning.
  • Queries are read-only, single-statement, and limited to tables in the model.
Explore → Ask a question
Explore · Ask a question
Which stores are most likely to run out of stock this week?
Answered3 claims usedRead-only
SELECT store_id, COUNT(*) AS low_lines FROM inventory WHERE on_hand < safety_stock GROUP BY store_id ORDER BY low_lines DESC LIMIT 10;
What was our margin last quarter?
Refused

“margin” is not established for this source. Review the candidates under Review → Unknowns, or define it under Business rules.

Publish · Contracts · reduce-stockouts v2
Know

inventory, stores, sales_daily

Infer

stockout risk per store

Decide

which stores to flag

Act

draft a reorder (human approves above budget)

POST /api/decide {"intent_id":"reduce-stockouts","action":"draft_reorder", "params":{"store":"S-114"},"by":"agent:planner"} → escalate failed check: 8 · risk/approval (over budget)

Operate

Give an agent limits, not a blank cheque.

Register an intent and Ground compiles it into a versioned contract. The contract separates what an agent may decide from what it may do.

  • See the know, infer, decide, act split as four distinct columns.
  • Every proposed action goes through eight pre-commit checks and returns execute, block, downgrade or escalate.
  • Contracts can expire, suspend when something they rest on is disputed, and show a diff between versions.
Operate → Business intents · Publish → Contracts

Day to day

How it fits into the work you already do.

Ground doesn’t ask for a new process. It adds four short routines to the ones you have.

Daily
10 min

Data steward or domain owner

  • Open the Decisions deck and clear what you can.
  • Check the Ground figure. Is it gaining?
  • Note anything marked stale.

Review → Decisions

On every change
1 CI step

Engineers and data teams

  • Add sotf check to your pull-request pipeline.
  • Fix BREAKING items; look at RISKY ones.
  • Re-run discovery after a big migration.

Terminal · CI

Weekly
30 min

Approver with the data lead

  • Review pending releases and their gates.
  • Resolve open conflicts between sources.
  • Decide which process moves a level up, or down.

Publish → Releases · Review → Conflicts

Monthly
1 hour

Risk, compliance, audit

  • Verify the ledger and record its head.
  • Sample decisions and trace them with Provenance.
  • Review contracts nearing expiry.

Publish → Provenance · ledger.py

What you do today, and what you do instead.

The same questions you already ask, answered in one place.

When this happensYou used toWith Ground
A new analyst asks what a column meansAsk around, or read old queries.Open the attribute. Read its meaning, scale, unit, trust level and history.
Two reports disagreeReconcile by hand, argue about which is right.See the conflict, with evidence on each side, and record the decision once.
A migration is plannedHope nothing downstream breaks.Run sotf check and see what depends on each column before merging.
Someone wants an agent to do a taskDebate whether to trust it at all.Register the goal, compile a contract, start at human-approved, and graduate on evidence.
An auditor asks why something happenedReconstruct it from logs and memory.Follow intent → contract → evidence → decision, and show the receipt.
A policy document is revisedTell people and hope they read it.Re-read it. Rules bound to contracts are re-checked and affected authority is held back.

How to tell it’s working.

Four figures to watch. They’re counted from recorded events, so you can put them in a review.

Ground ratio

Is meaning being confirmed faster than it goes stale? Aim to stay above 1.0×.

Top of every screen

Authority at risk

How many contracts read something they shouldn’t act on. This should trend to zero.

Top of every screen

Decisions waiting

How many cards are open and whether you’re clearing them. A growing pile means too little review time.

Review → Decisions

Processes at L3 or above

The share of registered business running within guardrails without a person on each action.

Operate → Outcomes

Step by step

Pick your role. Here’s what to do.

Each task gives the click path and what changes when you finish it.

Bring in a database

Sources → Projects → Add a data source

  1. Create a project if you don’t have one. Sources belong to a project.
  2. Choose A database and enter host, port, user, database and password. The connection is read-only.
  3. Set the data tier in the top bar (0 metadata only, 1 distributions, 2 governed samples), then open Run discovery.

Entities, attributes and relationships drafted, with confidence on each.

Clear the review deck

Review → Decisions

  1. Open the top card. Cards are ordered worst first.
  2. Read the claim and the evidence behind it.
  3. Approve, dispute or ask for more evidence.

Approvals are promotions: Ground rises and dependent contracts gain footing.

Fix a wrong meaning

Review → Attributes

  1. Find the attribute and open it.
  2. Correct the type, scale or unit, and say why.
  3. Save. It’s recorded against your name.

The correction is versioned, so history shows what it meant and when.

Quickstart

From zero to a published record in four steps.

You need Python 3 and a PostgreSQL database you can read. A model key is optional: without one only the deterministic engines run.

01

Install and start

The server listens on 127.0.0.1 only. The connection defaults come from the usual PG* variables. Set SOTF_TOKEN now if you plan to call the API, otherwise the token is random on every start.

Terminal
cd sotf-app
python3 -m venv --system-site-packages .venv
.venv/bin/pip install -r requirements.txt
SOTF_TOKEN=change-me PGHOST=localhost PGUSER=readonly PGPASSWORD='…' \
  .venv/bin/python server.py

Then open http://localhost:8899/app. The page you’re reading is served at /.

02

Create a project and add a source

A source belongs to a project, so start there. Go to Sources → Projects and create one, say what it’s for, then open Add a data source. Choose A database, fill in host, port, user, database and password, test the connection, and add it. The connection is opened read-only.

03

Run discovery

Choose a data tier in the top bar (start at 0 or 1 if unsure what may be read). Open Sources → Run discovery and start it. It reads the schema, profiles the columns and, if a model key is set (SOTF_LLM_KEY), lets the AI roles debate what each one means. Without a key you get the deterministic results only. How long it takes depends on the size of the database.

Or from the API
curl -X POST localhost:8899/api/extract \
  -H "X-SOTF-Token: change-me" -H "Content-Type: application/json" \
  -d '{"db":"your_database","granted_tier":1,"with_model":false}'

curl "localhost:8899/api/extract/status?db=your_database" \
  -H "X-SOTF-Token: change-me"
04

Review, publish, then ask

Clear what you can under Review → Decisions. Then open Publish → The mapping and choose Publish the record. Once it’s published, Explore → Ask a question answers from it. To let others in, create tokens by role:

Add people and agents
python3 identity.py add alice --role approver        # prints her token once
python3 identity.py add planner --role agent --agent # acts as agent:planner
python3 identity.py grant your_database 1             # data tier for this database

Using it with more than one person? Set SOTF_LOCAL_ROLE=viewer so the console page isn’t a back door around everyone’s roles. Turn on four-eyes review per database once there is a second approver.

Who can do what

Roles are enforced by the server.

The server works out who is acting from their token. It doesn’t believe a name in a request. People and software can’t be confused: an agent can never hold approver or admin.

RoleMay
viewerRead.
agentRead, and ask the runtime for a decision.
operatorEverything above, plus extract, run cycles, publish references, and stop the fleet.
approverEverything above, plus judge meaning, approve, reject, waive, promote and roll back releases, set contract status, and resume the fleet.
adminEverything above, plus model configuration, roles, data-access grants and users.

Use it from where you work

Console, API, CLI and your AI tools.

The same published meaning is available four ways.

Console

The five-section web app, with a ⌘K bar that searches sources, entities, attributes, metrics, contracts and screens, and falls back to Ask.

REST API

Every screen is backed by an endpoint. Send a bearer token.

GET /api/contracts?db=… POST /api/release/gate POST /api/decide

CLI for CI

Check a schema change against the published meaning, without the server.

sotf check --db orders --against live sotf schema-diff --against base.json

MCP server

Give Claude Code, Cursor or any MCP client the verified meaning instead of raw schema.

semantic_brief · describe_table what_does_it_mean · find_data_for list_findings

Model health

Is the model staying true as the business changes?

Ground = (promotions + revalidations) ÷ (redefinitions + decays + disputes), over 7 days. Above 1.0× is gaining, 0.6 to 1.0× slipping, below 0.6× losing. Try how your week would read.

—

Illustrative model, not live data. Where nothing decayed, Ground shows no ratio rather than infinity.

Questions

What it does, and what it doesn’t.

The limits first, so you can decide quickly.

How much of the operating model is built?

The knowledge map is the most complete, along with the policy and authority map, the semantic compiler (contracts), releases, the runtime decision checks, outcomes and the workforce that discovers and validates meaning. The decision, actor and state maps are partial. The process map and the readiness view and Knowledge Library are not built yet. The six cards under “The model” show the status of each.

Does it change anything in my database?

No. The connection is opened read-only, queries run in read-only transactions with timeouts, and the SQL gate allows only single SELECTs against tables in the model.

Can an agent act on my systems through it?

Not yet. Ground evaluates the eight pre-commit checks and records what it decided, but there are no adapters that write to a source system. Connecting an action to a real system is a separate, deliberate step, and the checks exist to gate it when you take it.

What sources does it read?

PostgreSQL. Policy documents can be Markdown, HTML, DOCX or plain text. PDF is refused with the reason rather than half-read. Warehouses, applications and streams are not supported yet.

Do I need an AI model key?

No, to start. The structural engines, tests, gates and runtime are deterministic. The key is needed for the interpretation debate. Set SOTF_LLM_KEY; a key typed into the console is kept in memory only, and you can restrict endpoints with an allow-list.

How much of my data does it read?

You decide per database with a tier. Tier 0 reads metadata only. Tier 1 reads distributions. Tier 2 reads governed samples. Below Tier 2 nothing that can return row content runs, and personal data is masked in profiles and results.

Where does it keep its state?

In JSON files in one state directory, written atomically, with damaged files flagged rather than silently overwritten. Governance decisions are appended to a hash-chained ledger you can verify.

How do I know the numbers are real?

Every figure opens a receipt with the claim, evidence, check and rule. Ground counts recorded events and never estimates them. Where it cannot tell, such as history before the store began, it says “unverifiable”.

Connect one database. See what it means.

Read-only, and on your own machine.