Aller au contenu
ADAMA OSESG · DATA · SYSTEMS

AXP-122 / PUBLICATION 2

Designing an ESG evidence chain for real operating conditions in West Africa

Seven constraints become seven architecture decisions. The aim is not to make the field look cleaner than it is, but to keep every transformation readable, reversible and attributable.

A constraint becomes useful to architecture only when it changes a system rule. Saying that connectivity is intermittent achieves nothing if a record has no local identifier. Saying that data is often on paper achieves nothing if the model does not separate an entry from its supporting record. Saying that several currencies circulate achieves nothing if conversion replaces the original value.

The first publication took the viewpoint of the company receiving the request. This one takes the viewpoint of the builder. The seven constraints remain the same. The question changes: which decision must be testable in the model, the collection path and the evidence log?

The intended outcome is not a system that never encounters uncertainty. Such a system would misrepresent the first missing value. The intended outcome is a system that can locate uncertainty, preserve its cause, show the effect of a correction and refuse to present as evidenced what cannot be evidenced.

This architecture is not software delivered to a client. It is a building method for people designing the model. It supplies no emission-factor values, assembles no financing application and turns no buyer pressure into a local legal duty.

01 TO 07 / FIELD AND SYSTEM

Seven constraints and seven decisions that must survive the code

Each section connects the constraint fixed in branch EJ to an observable decision. The rule is simple: a decision that appears neither in the schema, nor in the states, nor in the log does not hold. It remains an intention.

01 / 07

Decision 1: separate activity from reference

Fixed constraint and consequence

No national emission-factor database

A method for selecting, justifying and versioning foreign factors, with a traceable record of that choice

Question for the system

Can we run the calculation again with a new reference without losing the source, version and rationale of the previous one?

Activity data and the factor are not the same object. The first describes what happened. The second describes the selected reference used to transform that activity. Merging them into a final value makes recalculation opaque. Separating them makes it possible to change a reference, measure the difference and preserve the previous result with its method.

The factor register contains the metadata of the choice, never a library presented as local. A calculation points to a frozen version. A decision to change version creates a new trace and does not silently alter periods already reported.

Testable decision
Two linked objects, activity and reference, plus a versioned choice log and an explicit recalculation function.
Failure to detect
A test must fail when a result cannot recover the exact reference and the original activity data.

02 / 07

Decision 2: model absence and provenance

Fixed constraint and consequence

Scarce, incomplete and sometimes paper-based data

A model that treats absence as a value and an evidence chain that can accept a photograph of a record

Question for the system

Can the model explain why a value is missing and link an entry to the material that triggered it?

A nullable value is not enough. Absence carries a reason code, an observation date, a person responsible for the next action and, when it exists, material waiting to be read. A photograph of a record is not stored as an illustration. It becomes a source linked to the entry, with its fingerprint, origin and reading state.

Correction preserves before and after. When an image is read again or an invoice arrives, the system creates a new version of the data and closes the absence state. It becomes possible to separate an improvement in collection from a change in activity.

Testable decision
Absence taxonomy, source object, provenance link, reading state and correction history.
Failure to detect
A control must reject a value without a source or an absence reason when the field is expected within the boundary.

03 / 07

Decision 3: represent energy as a timeline of sources

Fixed constraint and consequence

Intermittent electricity and generators

Emission categories that European models handle poorly and that carry significant local weight

Question for the system

Does the move from the grid to a generator remain visible in the period, with records and units specific to each source?

The model does not begin with a monthly invoice. It begins with a period, a site and an active energy source. The grid, a generator and any other source occupy intervals that may overlap. Fuel purchases and readings then document those intervals.

This representation prevents an outage from becoming an unexplained absence. It also allows an estimate when the switch time was not recorded, without confusing that estimate with a measurement. The distinction remains visible through reporting.

Testable decision
Switch events, intervals by source, measured or estimated state, records and matching rules.
Failure to detect
A control must flag any operating period with no energy source or an unexplained overlap.

04 / 07

Decision 4: make synchronisation an explicit protocol

Fixed constraint and consequence

Costly and intermittent connectivity

An architecture that works offline and synchronises later, changing the data model rather than only the interface

Question for the system

What happens when two devices change the same object before connectivity returns?

Every local write receives a stable identifier, an expected version and two times: observation and receipt. The server does not overwrite automatically. It compares versions, accepts independent additions and places real conflicts in a resolution queue.

Attachments follow a separate cycle. A structured entry can be received before its image, then move from incomplete to documented. A failed retry sends only the missing fragment. This granularity reduces connection cost and prevents one large file from blocking the whole batch.

Testable decision
Stable identifiers, expected version, local log, acknowledgement, partial retry and conflict resolution.
Failure to detect
An offline test must cause a controlled conflict, never silent loss or an accepted duplicate.

05 / 07

Decision 5: separate the ways a fact is established

Fixed constraint and consequence

The informal sector in the supply chain

A collection method for suppliers without formal accounting records, with a candid account of what cannot be evidenced

Question for the system

Can we preserve useful information without inventing an accounting record or a weight it does not have?

A declared quantity, direct observation, a receipt, a matched payment and a second confirmation are five different paths. The schema preserves the path used. It can then apply a quality rule without turning the outcome into a judgement about the supplier.

The “cannot be evidenced” field is not an exceptional exit. It belongs in the model. It names what is missing, why it is missing and what could change the state. This candour prevents a final aggregation from hiding weaknesses in upstream collection.

Testable decision
Source type, establishment mode, corroboration, explicit limitation and possible revision condition.
Failure to detect
A control must prevent a statement alone from being displayed as equivalent to a record or an observation.

06 / 07

Decision 6: preserve currencies and the times of the flow

Fixed constraint and consequence

Multiple currencies and mobile money

Flows whose conversion and reference period are recorded in the data lineage

Question for the system

Can the system trace a reported amount back to the original payment and explain every conversion?

The model stores the original amount as an immutable fact and adds one or more conversions as derived objects. Each conversion carries its rate source, period, rounding rule and use. A report can then select an appropriate conversion without rewriting the transaction.

The accounting date, payment date, mobile-money date and ESG period are not merged. Their relationship is explicit in the lineage. This structure reveals period mismatches and double conversions that would otherwise pass unnoticed.

Testable decision
Immutable source transaction, derived conversions, four distinct times and a link to the relevant activity.
Failure to detect
A control must reject a conversion without a rate source or any report that has lost the original amount.

07 / 07

Decision 7: treat oral collection as a transformation chain

Fixed constraint and consequence

Several working languages, including languages used orally

Collection designed to take place orally and to be entered into the system afterwards

Question for the system

Can we distinguish collected speech, reformulation, entry and validation without recording more than necessary?

The system does not need to record every exchange. It does need to preserve the language, the role of the person reformulating, the time of entry and the way meaning was validated. A term kept in the original language can be linked to a note without producing an entire written resource in that language.

Minimisation matters as much as traceability. Audio must not be kept by default. The system preserves only what is needed to understand the transformation and attribute the entry. The person interviewed remains visible as a human source without their words becoming public material.

Testable decision
Collection stages, language, roles, validation of meaning, minimisation and restricted access to notes.
Failure to detect
A control must flag a reformulation with no source language, author or validation mode.

08 / CROSS-CUTTING CONTROL

A minimal evidence chain in nine actions

The seven decisions share one path. The detail changes with the object, but data intended for later review should not skip one of the actions below without leaving an explicit reason.

  1. 01

    Observe

    Date the fact before transforming it.

  2. 02

    Attribute

    Name the source and the role of the person entering it.

  3. 03

    Qualify

    Separate measurement, statement, estimate, record and absence.

  4. 04

    Link

    Attach the data to its site, period, activity and record.

  5. 05

    Transform

    Apply a named, versioned and reversible rule.

  6. 06

    Synchronise

    Separate observation, transmission, receipt and conflict resolution.

  7. 07

    Control

    Reject impossible states before reporting.

  8. 08

    Report

    Display the result with its method, date and limitation.

  9. 09

    Revise

    Preserve the old state and explain the correction.

09 / TRANSLATION CONTROL

The English version keeps method and legal weight separate

The same choices apply here as in the first publication. Evidence is preferred when the French word does not claim legal certainty. Informal describes the absence of formal accounting records, not illegality. Buyer or lead firm avoids a public-procurement meaning, while financing institution includes lenders without turning the relationship into sponsorship.

Chaîne de preuve

Evidence chain

The phrase describes linked sources, transformations and limitations. It does not claim certainty beyond those links.

Donnée prouvable

Data that can be evidenced

Provable would sound absolute. The method remains bounded by the available sources.

Paiement mobile

Mobile money

This is the operational term for wallet and operator-based transactions in the contexts discussed here.

Hors ligne

Offline operation

Offline-first can imply a full product doctrine. The text only states the behaviour the architecture must support.

10 / USEFUL RESONANCE

Measure the move from observation to a system decision

The second publication no longer measures only recognition of the constraints. It observes whether readers use the decisions to question their own architecture. The useful signal is not “this interests me” but “this rule is missing from our model” or “this control would fail in our system”.

No counter is made public. The register helps decide whether an existing method should be deepened, corrected or left alone. It is not used to create the appearance of an audience.

01

Implementation question

Counts
A question concerns an identifier, state, conflict, source or control described in the text.
Does not count
A general request for an introduction to the topic.
02

Applied test

Counts
A reader applies one control to a system and returns with a failure or nuance.
Does not count
A statement of interest with no test or precise question.
03

Method reuse

Counts
A team asks to reuse the decision grid or the nine-action chain in its work.
Does not count
A request for a finished product, a value or a financing application.
04

Documented contradiction

Counts
A response shows that a decision fails under a real condition and identifies the fact that contradicts it.
Does not count
A disagreement in principle with no observable condition.

Private register

  • Publication and language
  • Builder category, without an organisation identity
  • Relevant decision
  • Signal type
  • Normalised technical condition
  • Effect: maintain, correct, split or withdraw the decision

A follow-up becomes justified when recurring architecture questions appear around the same decision and require more than a short answer. Public reactions alone open no new product.

11 / BOUNDARY

The method stops where delivered software begins

If your need is to produce a report rather than build the tool, ESG Optimizer Africa exists. If your need is to run day-to-day operations, IROKO products exist. This document is for those who build the system.

This controlled rendering preserves the routing of the French clause and keeps a building method separate from reporting and day-to-day management software.

12 / CONCLUSION

Architecture becomes credible when it can show its limit

An evidence chain is not a pile of records. It organises transformations between an activity, an observation, an entry, a reference and a report. Under the conditions described here, resilience comes from operating offline, qualifying absence, preserving the original value and stating what cannot be evidenced.

These decisions can be tested before any product exists. An offline conflict can be triggered. A conversion can be traced back. A photograph of a record can be linked to its entry. A period supplied by several energy sources can be reconstructed. Where the test fails, the architecture finally has a precise question to solve.

COMPANION PUBLICATION

Read the seven constraints from the company viewpoint

Continue