Seshat BI
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
From messy retail data to trusted Power BI -- with evidence at every gate.
**The readiness system that lets AI agents build your BI pipeline, but never lets
them approve it.** Seshat profiles sources, governs mappings, validates the medallion
warehouse, binds metrics to contracts, and gates Power BI delivery. Every step is
backed by committed evidence, and every judgment call by a named human approval.
**Try it in 60 seconds** ·
**Install** ·
**How it works** ·
**What's new in 3.0** ·
**Contribute**
---
Try it in 60 seconds
Run the bundled synthetic retail demo. All you need is
uv, which fetches a matching Python if you lack one.
You **do not** need a database, Power BI Desktop, or an account.
Open the readiness proof it wrote to .seshat-output/demo/index.html:
Prefer a persistent install? Run pipx install seshat-bi once, then drop the
uvx --from seshat-bi prefix: seshat demo init, seshat demo run,
seshat demo report --format html. Leave off --format html to print the same report
in the terminal.
What you just saw
- **The committed demo fixture records three passing stages, each citing its
evidence**: the source profile (24 rows, order_id unique), the cleared source
map, and the authored silver migration.
- **Gold is blocked, on purpose.** Its gate is a live seshat validate run against
a real database, and the demo never runs one, so it caps Gold at blocked. Seshat names that reason instead of
pretending the stage passed.
- **The approvals are labelled.** The demo's approvals are marked *illustrative
fixture, not produced by this run*. Seshat never fabricates a sign-off.
- **One next action.** The report names the single step that is allowed next.
There is no score to game.
That honest "blocked" is the product. A tool that turns every stage green without a
database behind it is guessing.
Why Seshat BI
A dashboard can look finished while its metrics are undefined, its source
assumptions are unsafe, and its totals have never been reconciled. AI agents make
this worse: they produce a plausible-looking model fast, then quietly decide the
grain, the PII handling, and what "revenue" means.
Seshat BI answers one question, and it never makes up the answer:
> **Is this retail source ready to become trusted Power BI?**
| A typical BI build... | With Seshat BI... |
|---|---|
| "Looks done" when the visuals render | Each stage records status + evidence + blocking_reasons in a version-controlled readiness file |
| The agent picks the grain and the keys | The agent surfaces the decision; a named human records it |
| Measures are written straight into DAX | Measures trace to approved metric contracts; drift is flagged |
| Totals are eyeballed in the report | Keys, date coverage, orphan relationships and reconciliation are checked against the live warehouse |
| A readiness score of "87%" | No score. Every pass cites evidence and every block names a reason |
| Publishing is a button | Publishing is the last of seven gates, and a human owns it |
Named for the ancient Egyptian figure of writing, measurement, and record keeping,
Seshat brings the same discipline to modern analytics: **map meaning, record
evidence, then build.**
Seven gates between raw data and publication
A stage can begin only after the stage before it passes. The sequence is the product.
**Source** -> **Mapping** -> **Silver** -> **Gold** -> **Semantic Model** ->
**Dashboard** -> **Publish**
| Before Seshat allows... | The evidence must show... |
|---|---|
| Silver transformation | Mapping Ready passed and the source map is cleared. |
| Power BI over gold | Live validation passed against the real data boundary. |
| Dashboard design | Metric contracts exist and define business meaning. |
| Power BI execution | Semantic Model Ready and the publish gates passed. |
> [!IMPORTANT]
> Seshat never self-grants an approval, invents source meaning, or turns a green
> static check into a claim of live semantic correctness.
How it works
Data flows from the retail source through bronze, silver, and gold into a