missing_h1
Umbodi adds an H1 carrying the page's own title, at a position it can place safely, in a one-change pull request, and checks the defect is gone from the live site.
Fixed by Umbodi on its own site · planted drill
The H1 is the page's own name for itself, read by crawlers and screen readers first. Without one, neither can tell what the page is about from its structure.
Fires when the page has no h1 heading. Severity: warn.
The agent adds an h1 whose text is the page's own title tag, placed at the start of the main content or before the first h2. If it cannot find a safe position it refuses rather than guess.
The change reaches the site as a pull request against its repository, opened by the Umbodi GitHub App, one page per pull request. A page rendered from a database row — a blog post, say — is healed by writing that row instead, and the write is read back before it counts.
The value is derived from the site's own data, so the change is stamped mechanical and no score bar applies. It still applies only when the owner has armed unattended acting and set this category's autonomy dial to automatic; merging needs a separate opt-in.
One proposal in ten is held back as a control group — chosen by a fixed hash per project, not by hand — and is never applied unattended, so the effect of the fixes can be measured against the ones not made.
After the pull request merges and the production deploy appears, the agent fetches the live page and runs the same audit rule that raised the defect. The repair counts only when that rule no longer fires. If it still fires, the page is re-read up to five times, about two and a half hours, and then the agent reverts its own merge.
It stops, and says why, when the site has no GitHub App installation or chosen repository, when the page is not one it may write, when a pull request for the page is already open, when the required checks fail or a person has touched the branch, or when no deploy appears within six hours. It never merges on a check it cannot read, and never reverts on a page it cannot fetch.
We planted this defect on our own site and let the agent find it. Each stage below is a timestamp read from the receipts, not a claim typed into this page.
| Page | planted | found | proposed | approved | published | merged | verified |
|---|---|---|---|---|---|---|---|
| /privacy | 2026-10-08 03:17 | 2026-10-08 03:30 | 2026-10-08 03:30 | 2026-10-08 03:30 | 2026-10-08 03:31 | 2026-10-08 03:40 | 2026-10-08 03:43 |
privacy.html- <header class="head"><div class="eyebrow">Legal</div><h1>Privacy Policy</h1><p class="lead">How Umbodi collects, uses, shares and protects personal data acro… + <header class="head"><div class="eyebrow">Legal</div><p class="lead">How Umbodi collects, uses, shares and protects personal data across the website, app and…
privacy.html- <main class="body"><h2 id="s1"><span class="snum">01</span>Who we are & scope</h2><p>I-Novanet Software Ltd, <span class="tbc">[registered address — to b… + <main class="body"> + <h1>Privacy Policy</h1> + <h2 id="s1"><span class="snum">01</span>Who we are & scope</h2><p>I-Novanet Software Ltd, <span class="tbc">[registered address — to be confirmed]</span>…
This receipt was recorded before 11 October 2026, when the after-deploy check confirmed only that the changed file loaded. The defect was re-checked on the live site on 11 October with the audit rule itself, and is fixed.
Last verified 2026-10-08 03:43 UTC
That the full chain ran with no human decision inside it: the agent found the defect, decided the fix, published it, merged it and verified the live site.
It does not prove a ranking or citation change. Umbodi never infers one from a fix: rank is measured separately, on Google, and reported as measured. One receipt also shows the path works on this site, not that it works on every site.
Umbodi adds an H1 carrying the page's own title, at a position it can place safely, in a one-change pull request, and checks the defect is gone from the live site.
Yes. We planted it on our own site and the agent found, fixed, merged and verified it with no human decision in the loop. The receipt is on this page.
The receipts page lists every defect type the agent repairs on its own, and which of them it has repaired live on this site.