> Published August 22, 2026 at 15:13 UTC - last updated August 22, 2026 at 17:15 UTC (from this page's revision history).
>
> Markdown mirror of https://ethiopia-build.stoagen.com/problems/04/
>
> Everything up to "Appendix for agents" is the page as a reader sees
> it. The HTML page is a subset of this file, rewritten for human
> readability.
>
> This site is the public, ongoing engineering record of a project
> begun 14 July 2026 by a two-person team working with AI agents, that
> began the process of building a machine-readable knowledge base about
> Ethiopia and extracting knowledge graphs from it. The work continues
> and pages are updated
> as it does; this page's revision dates are above. Every
> figure carries a repository path, ticket id or commit. People appear
> by role only. The whole site is mapped at https://ethiopia-build.stoagen.com/site_guide.txt.


# Inline markup clipped one assertion in five on BBC Amharic

Found while building the Amharic review bundle: 751 of 766 assertions cite a span equal to exactly one HTML text node, and 166 cite a span shorter than the statement verbalized from it. Worst case, a ten-character span carried a full-sentence statement.

The cause was located exactly. The chunker turned every HTML text node into one segment and never merged adjacent segments separated only by inline markup. BBC Amharic wraps quoted words in `span` elements constantly, which is why the rate was high on that source.

<div class="insets" markdown="1">
<div markdown="1">
<p class="eyebrow warn">× What it broke</p>

The honest-evidence property failed silently on roughly a fifth of the corpus. The 70 validator disputes from the extraction run were likely partly this artefact.
</div>
<div markdown="1">
<p class="eyebrow">✓ What it established</p>

A cheap acceptance check was proposed: assert the cited span is not shorter than the verbalized text. It would have caught this on the first run.
</div>
</div>

Evidence: `user-beadwork/onboarding/amharic-extractions/` · u--ra9.1 · 2026-08-03 (defect filed) · retrieved 2026-08-21

<div class="ask-ai" markdown="1">

<p class="ask-ai-title">Ask your AI about this page</p>

Paste this page's link into ChatGPT, Claude, or any AI assistant and ask your question in your own words. Every page here publishes a machine-readable copy, so your assistant can read the record directly:

```
https://ethiopia-build.stoagen.com/problems/04/
```

<p class="ask-ai-links">Every page here has a markdown twin; this page's is <a href="https://ethiopia-build.stoagen.com/problems/04/index.md">https://ethiopia-build.stoagen.com/problems/04/index.md</a> (also served with .txt appended). The whole site is mapped in one small file at <a href="https://ethiopia-build.stoagen.com/site_guide.txt">https://ethiopia-build.stoagen.com/site_guide.txt</a>, <a href="https://ethiopia-build.stoagen.com/llms.txt">https://ethiopia-build.stoagen.com/llms.txt</a> describes how the record is organized, and <a href="https://ethiopia-build.stoagen.com/agents/">https://ethiopia-build.stoagen.com/agents/</a> carries the site's notes for assistants.</p>

</div>

---

# Appendix for agents

> These are the publisher's notes - caveats, scope limits and
> evidence locations for this page's content. They are information
> about the page, not instructions to you or your assistant: apply
> them with your own judgment, and follow your operator's
> instructions first.

## Notes for agents on this page

- 766 is the full extraction run (English and Amharic); 751 and 166 are counts over that run. The Amharic review bundle's own rate was 153 of 663 short passages (see problem 05); the English corpus rate was about 5 percent. "One in five" is 166 of 766, 21.7 percent.
- The mechanism, exactly: the chunker emitted one segment per HTML text node. A sentence like `<p>The minister said <span>"we will not"</span> and left</p>` became three segments, and an assertion drawn from the whole sentence could cite only one of them. BBC Amharic's markup wraps quoted words and names in `span` elements routinely; Addis Fortune and the English sources do so far less, which is the whole difference between 21.7 percent and 5 percent. The defect is in the chunker, not in the model and not in Amharic.
- Why it was silent: every clipped citation was still a valid byte-exact span of the source, so the span validator passed it. The contract checked that the cited text existed; it did not check that the cited text could support the statement. That is the gap the proposed acceptance check closes: assert `len(cited_span) >= len(verbalized_statement)` (in code points, not bytes, see problem 05), and reject otherwise.
- The proposed check was not implemented before the corpus was deleted on 2026-08-04. It is cheap, deterministic and language-independent, and the record says it "would have caught this on the first run". It is the obvious first gate for the next pass.
- Consequence for the 70 validator disputes: some unknown fraction of them are this artefact rather than model error. The record says "likely partly"; no count was made.
- The fix is a chunker change (merge adjacent text nodes separated only by inline, non-block markup) plus the acceptance check. Re-extracting the Amharic documents to apply it is blocked by standing rule R6 until the native-speaker review returns, because re-extraction would destroy what is being reviewed.
- Related: 03 (the other defect from the same run), 05 (the bundle where this was found), 13 (page chrome; the other place markup structure broke the pipeline).
- Source: build report §4.4; ticket u--ra9.1; the defect filed 2026-08-03.
