← BACK TO PLATFORM
The bar

Sourced. Derived.
Or absent. No fourth state.

Every numeric and factual claim Afrimintel publishes lives in exactly one of three categories. We replaced "100% accurate" — which is unattainable — with an operational framework: source it, derive it from sourced inputs, or admit we don't have it. Errors are inevitable. Discipline about errors is what makes a record trustworthy.

v1.0 · Adopted 25 April 2026 SLA: 7 business days material 37 pre-deploy checks block drift

The three-state model

Every numeric or factual claim Afrimintel surfaces is in one of three states:

SOURCED

Sourced. Claim derives from a named, citable, primary or institutional document with a date. The source is recorded in the platform's data layer and surfaced to the user. Examples: a deposit's reserve tonnage cited from an NI 43-101 / JORC / S-K 1300 technical report; a country's Fraser Institute IAI score; a transaction value cited from a primary press release or SEC filing.

DERIVED

Derived. Claim is the output of an Afrimintel calculation or composite whose inputs are themselves Sourced or Derived, and whose methodology is published. Output carries explicit confidence range or tier. Examples: the Afrimintel Score for a province (formula and inputs at /methodology/); the country risk composite (30/25/25/20 weighting, published). The simplest Derived class is contained metal — reserve tonnage × grade — which Afrimintel computes rather than quotes, even where a source also states it; the underlying tonnage-and-grade reserve statement remains Sourced, so a producing-asset reserve row carries both pills (tonnage @ grade Sourced; contained Derived).

ABSENT

Absent. Afrimintel does not hold the data and acknowledges the gap directly. Where a user asks for a fact Afrimintel does not hold, the answer is "we do not hold this" — not a guess, not a placeholder, not a training-data approximation. AI surfaces (e.g. ASK Afrimintel) carry the same discipline: the system prompt instructs the model to refuse fabrication and respond [DATABASE ABSENT] when no relevant record exists.

No fourth state. A claim that does not satisfy Sourced, Derived, or Absent does not appear on the platform. There is no category for "we'll figure this out later" or "approximately right" without a tier tag. If we have not done the work to put a claim in one of the three states, we do not publish the claim.

Editorial Judgment — qualitative claims

The three-state model governs numeric and factual claims. A separate discipline applies to qualitative editorial framing — comparative readings ("EU policy continuity through 2030 is more predictable than U.S. policy continuity across administrations"), characterisations of trajectory ("the corridor's effective country-risk profile is dominated by the highest-risk segment"), and decision-shape framings ("this is post-settlement re-entry, not pre-FID screening"). These are not Sourced, not Derived in the strict computational sense, and not Absent — they are editorial judgments.

The discipline that governs them:

This discipline is added in v1.0.45 in response to a hostile-audit observation that the three-state model governs numbers but not the qualitative framing on which decision-aid value depends. Both layers are now published.

Working-state tags: a v1.0.61 honest amendment

A hostile contrarian audit in the v1.0.55–v1.0.61 build window identified that the platform's substrate had begun rendering two additional state tags — Pending and Inferred-propagated — that are not part of the three-state model as published above. This section reconciles the published standard with the substrate as it actually ships, rather than leaving the contradiction unstated.

The three-state model (Sourced / Derived / Absent) remains the governing target for every claim. The two working-state tags are explicitly transitional, not a fourth and fifth permanent state:

Both working-state tags exist because the honest alternative — tagging unverified content as Sourced, or removing it entirely mid-verification — is worse. Tagging unverified content Sourced is fabrication. Removing it loses the framework substrate that is genuinely useful. The working-state tags let a reader see exactly which claims are verified, which are scheduled for verification, and which are carried forward pending re-walk. Every Pending and Inferred-propagated tag is, by design, a visible admission of incomplete verification rather than a hidden one.

The discipline commitment: working-state tags are transitional and dated. The verification log carries the target dates. The audit log records each transition from Pending or Inferred-propagated to Sourced, Derived, or Absent. If the platform's substrate is mostly Pending and Inferred-propagated at any point, that is itself a visible signal — surfaced honestly — that primary-source verification work is the binding constraint, not a hidden weakness.

Field-level provenance

For records classified as INTELLIGENCE-GRADE (currently 18 deposit dossiers in the platform's database), provenance is captured at field level — not just record level. Each Reserve tonnage, Resource grade, operator name, and reporting basis carries its own tier tag and source citation. A user examining Kamoa-Kakula sees not just "Sourced from Ivanhoe NI 43-101" but the specific document, effective date, and per-field provenance.

Schema fields enforcing this discipline (v1.0.18 schema):

Correction-velocity SLA

Material errors corrected within seven business days. Non-material corrections (typos, formatting, version stamps) within thirty business days. Every correction is logged at /audit-log/ with: what changed, why, the source of the authoritative correction, version marker incremented, regression check, editorial sign-off.

The Audit Log is published, not internal. A correction that has not been logged is not complete.

Pre-deploy gate discipline

Every deploy is gated by an automated pre-deploy pipeline that blocks publication on any of the following findings:

CheckSeverity
Permanent exclusions present in deployed surfacesCRITICAL
Hardcoded secrets in deploy bundleCRITICAL
Wildcard CORS in serverless functionsCRITICAL
localhost in production CORS allowlistsSIGNIFICANT
Counterparty hallucination patternsCRITICAL
Forward-looking partnership claims without confirmed counterpartySIGNIFICANT
Methodology reconciliation lock — every province score reconciles to formula within ±0.05CRITICAL
Score-prose drift — supporting prose disagrees with score chipSIGNIFICANT
Opportunity Multiplier range consistency across surfacesSIGNIFICANT
Round-number drift between marketing copy and dataSIGNIFICANT
AI provenance contract clauses present in shared injection helperCRITICAL
JS syntax integrity across all bundle filesCRITICAL
HTML structural balanceSIGNIFICANT
AI provenance tier tags surfaced in model responsesSIGNIFICANT
IG dossier last_reviewed within 180-day thresholdSIGNIFICANT
Reserve / Resource basis disclosure on attributable recordsSIGNIFICANT
Disputed-asset surface — dispute_status flag on multi-claim recordsSIGNIFICANT
Shared injection helper present and consumed by both production and audit infrastructureCRITICAL

A CRITICAL or SIGNIFICANT finding blocks deploy. The pipeline runs at every build; the script is in the bundle at scripts/audit/pre-deploy-audit.js.

AI provenance contract

Afrimintel's AI feature (ASK Afrimintel) is governed by a published Provenance Contract embedded in the system prompt before every query. The contract instructs the model to:

  1. Answer only from the Afrimintel database injected into the system prompt — not training-data inference
  2. Cite the tier (Sourced / Derived / Absent) for every numeric or factual claim
  3. Refuse fabrication of operator names, reserve tonnages, grades, transaction values, or counterparty relationships
  4. Refuse to claim Afrimintel partnerships, customers, or commercial relationships unless explicitly stated in the data
  5. Respond "Afrimintel's current dataset does not include verified information on [topic]" when no relevant record exists

Compliance with the contract is measured by a 20-query test battery (in-database / absent / adversarial / tier-mix categories). A defence-in-depth runtime audit runs after every model response, surfacing inline flags if the response contains counterparty-relationship language, forward-looking partnership claims, or permanent-exclusion terms.

What this Standard does not claim

This is not a guarantee against error. The Standard is a discipline framework, not a promise of perfection. Errors will occur. The commitment is that errors are caught quickly, corrected transparently, and logged publicly. The platform's flagship credibility is not zero-error operation; it is observable error-correction discipline.

Specific things the Standard does not promise:

Editorial responsibility

The Standard is signed and operated by a single named editorial responsibility: Nikesh Patel, Honorary Consul of Rwanda in Mauritius (nikesh@afrimintel.com). Distribution of editorial capacity across additional named reviewers is on the build roadmap, sequenced to the point a commercial event requires it. Until then, every record carries one editorial signature, and that signature is accountable.

Versioning and changes to this Standard

Changes to the Standard itself are logged at /audit-log/ under "Standard amendment." Material changes (e.g. addition or removal of a state, change to the correction SLA, change to the AI contract clauses) require explicit Audit Log entry with reasoning and effective date. Non-material editorial revisions (typos, formatting, link maintenance) are versioned but do not require a separate entry.


Adopted 25 April 2026. Last amendment: 2 May 2026 (v1.0.18 schema fields added, pre-deploy gate checks expanded). Companion documents: Methodology · Audit Log · Privacy Policy · Terms of Service.