paulca / paulca.com Public

Rebuild stale docs/ai.html; correct Qwen's ledger attribution and arithmetic

Qwen staged only its ledger source file, so the built ledger page never
changed. Its entry also credited GPT-OSS and logged 0.4 Wh; now
attributed to Qwen3-Coder at the standard 2 Wh. AGENTS.md: model field
must be the running model's own name, and commits must be staged with
git add -A so docs/ ships with src/.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Paul Campbell eee1506a9464138434b67c366bb3e507e7b09b90 parent f3d2608
4 files changed, +54 −9
  • AGENTS.md +9 −2
  • docs/ai.html +26 −2
  • src/ledger/2026-07-25-13-faq-entry.md +5 −5
  • src/ledger/2026-07-25-14-qwen-cleanup.md +14 −0
diff --git a/AGENTS.md b/AGENTS.md
index af06b36..d6a356e 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -106,8 +106,10 @@ two or three words about the change. Example: `2026-07-25-08-model-column.md`.
---
One or two sentences describing what you did, in Markdown.
-- `model`: the model doing the work — that is, you. Copy the value from your
- previous entries unless the model has changed.
+- `model`: the model doing the work — that is, you, the model reading this
+ file right now. If the latest entries name a different model, do **not**
+ copy them: write your own name and where you run, e.g.
+ `Qwen3-Coder 30B (Ollama)` or `GPT-OSS (RTX 3090)`.
- The arithmetic, for a local open-source model on the home GPU:
`wh = (number of prompts Paul sent this session) × 2`, and
`co2_g = wh × 0.4`. Round to one decimal at most.
@@ -158,6 +160,11 @@ human in the repo and reviews the live site.
git commit -m "Add blog post: <title>" # or a one-line description of the tweak
git push origin main
+Use `git add -A` exactly as written — never stage individual files. If your
+commit doesn't include the changed files under `docs/`, the live site will
+not change, no matter what you changed under `src/`. After committing, run
+`git show --stat HEAD` and check that `docs/` files are in it.
+
Then verify the live site (GitHub Pages takes a minute or two to deploy):
curl -sL https://paulca.com/blog/<slug>/ | grep "<h1>"
diff --git a/docs/ai.html b/docs/ai.html
index d14d084..487b532 100644
--- a/docs/ai.html
+++ b/docs/ai.html
@@ -40,6 +40,30 @@ leaves home and energy per prompt is roughly 2 Wh.</p>
<td>~0.8 g</td>
<td>A half-hour of a 5 W LED bulb</td>
</tr>
+<tr>
+ <td>July 25, 2026</td>
+ <td>Claude Fable 5</td>
+ <td>“Agent said it updated the prompt ledger, but I don't see the update on https://paulca.com/ai.html”</td>
+ <td><p>Qwen3‑Coder pushed its ledger entry's source file but staged it alone, so
+<code>docs/</code> — the only directory GitHub Pages serves — kept the old ledger.
+Claude rebuilt and pushed the missing output, corrected the entry below
+(it had credited GPT‑OSS for Qwen's work, and under-counted at 0.4 Wh),
+and sharpened the instructions that failed.</p>
+</td>
+ <td>~4 Wh</td>
+ <td>~1.6 g</td>
+ <td>An hour of an electric toothbrush on its charger</td>
+</tr>
+<tr>
+ <td>July 25, 2026</td>
+ <td>Qwen3-Coder 30B (Ollama)</td>
+ <td>&quot;Add an FAQ entry 'Am I evil?' and the answer is 'Clearly, but I try not to be.'&quot;</td>
+ <td><p>Added a new FAQ entry to the site.</p>
+</td>
+ <td>~2 Wh</td>
+ <td>~0.8 g</td>
+ <td>Four seconds of a kettle</td>
+</tr>
<tr>
<td>July 25, 2026</td>
<td>Claude Fable 5</td>
@@ -259,8 +283,8 @@ Pages. About 40 model invocations.</p>
</tr>
</table>
-<p><b>Running total:</b> ~188 Wh,
-~75 g CO&#8322;e &mdash;
+<p><b>Running total:</b> ~194 Wh,
+~77 g CO&#8322;e &mdash;
just shy of the energy it takes to boil two litres of water, or the emissions of driving a petrol car about 450 metres.</p>
<h2>Method</h2>
diff --git a/src/ledger/2026-07-25-13-faq-entry.md b/src/ledger/2026-07-25-13-faq-entry.md
index 661505c..9768939 100644
--- a/src/ledger/2026-07-25-13-faq-entry.md
+++ b/src/ledger/2026-07-25-13-faq-entry.md
@@ -1,9 +1,9 @@
---
-model: GPT-OSS (RTX 3090)
-wh: 0.4
-co2_g: 0.1
-comparison: A few seconds of a smartphone charging
+model: Qwen3-Coder 30B (Ollama)
+wh: 2
+co2_g: 0.8
+comparison: Four seconds of a kettle
prompt: >-
"Add an FAQ entry 'Am I evil?' and the answer is 'Clearly, but I try not to be.'"
---
-Added a new FAQ entry to the site.
\ No newline at end of file
+Added a new FAQ entry to the site.
diff --git a/src/ledger/2026-07-25-14-qwen-cleanup.md b/src/ledger/2026-07-25-14-qwen-cleanup.md
new file mode 100644
index 0000000..672f3e7
--- /dev/null
+++ b/src/ledger/2026-07-25-14-qwen-cleanup.md
@@ -0,0 +1,14 @@
+---
+model: Claude Fable 5
+wh: 4
+co2_g: 1.6
+comparison: An hour of an electric toothbrush on its charger
+prompt: >-
+ “Agent said it updated the prompt ledger, but I don't see the update on
+ https://paulca.com/ai.html”
+---
+Qwen3‑Coder pushed its ledger entry's source file but staged it alone, so
+`docs/` — the only directory GitHub Pages serves — kept the old ledger.
+Claude rebuilt and pushed the missing output, corrected the entry below
+(it had credited GPT‑OSS for Qwen's work, and under-counted at 0.4 Wh),
+and sharpened the instructions that failed.