Search Intelligence Manager

SEO and GEO intelligence that closes a case when re‑measurement says so.

Continuous evidence collection across search and AI answer engines, converted into owned units of work and verified by a later scan — not by someone ticking a box.

Build status

Phases complete
1 / 13
Each gated on tests, review and a passing CI run
Review rounds
6
Adversarial, by a model that did not write the work
Findings raised
72
None rejected

These figures are read from docs/BUILD_STATE.md and docs/REVIEW_LOG.md when the site is built. Nothing on this page is typed by hand — a page claiming progress its repository does not record is the same defect as an integration reporting “connected” without a health check.

Phases

#PhaseStatusGate passedTag
0Measurement & system contractsdone2026-08-29v0.phase-00.1
1Repo, architecture decisions, Docker dev envin progress
2Tenant / auth / RBAC kernelnot started
3Job kernel: outbox, leases, budgetnot started
4Mock measurement plan end to endnot started
5Estimators + statistical fixturesnot started
6Entity resolution, citation source graphnot started
7Cases, verification, recurrencenot started
8Crawler + technical SEOnot started
9First real AI provider adapternot started
10Search Console + first-party SEOnot started
11Dashboards, reports, exports, hardeningnot started
12Additional providers and surfacesnot started

What the measurement layer refuses to do

Most of the specification work went into things the product will not report, because each one is a way a plausible number becomes a wrong decision.

Provider outages
A failed API call never counts as “the brand was absent”. It reduces the sample, and the sample size is published beside every rate.
Undersized samples
“Improved” and “declined” are withheld when the change is smaller than the sample could detect. The number still shows; the claim does not.
Incomparable snapshots
When the query set, provider or model changed, no delta is produced at all — not a delta with a warning beside it.
Silent model swaps
Fixed control questions run alongside every scan, so a provider changing its model behind a stable name is flagged rather than credited to your work.
Missing data
Unavailable is never rendered as zero — including where that makes a chart look incomplete.
Causal language
An outcome is graded by the evidence behind it. “Measured effect” requires a control group; without one it says “changed alongside”.