Design epic, 2026-08-13. Implements the measurement behind Attentionmaxxing
so the monthly Attention Statement is computed from traces rather than
estimated in a prompt. Nothing here is committed work.
The number
NAR = accepted work displaced
− prompting − review − correction − repair − AI-caused interruption
Measured monthly, in hours, against a baseline agreed up front. Only accepted
work counts. Every supervision minute subtracts. Rejected work scores zero and
still pays its supervision cost.
The thesis sets its own evidentiary standard — "trace-based estimates, hours
inferred from work signals, not a controlled experiment" — and is explicit that
receipts only count if you can argue with them. That is the bar this builds to.
What already exists — measured on the dev tenant, 2026-08-13
| Term |
Signal |
State |
| AI-caused interruption |
alfred_journal outbound by source_kind |
exists: 1,422 HA replies, 18 voice-call, 10 cron, 1 system, 33 null |
| Review |
time_to_decision_ms on decisions |
field exists, populated on 42 of 500 (8%) |
| Prompting |
Hermes main session store — messages(session_id, role, timestamp) |
trace exists, nothing computes it |
| Correction |
reversed_at on decisions |
0 of 500 — never used |
| Repair |
— |
nothing |
| Accepted work displaced |
1,566 decisions; commitments; hours approvals |
no duration estimate anywhere |
Decision intents over a 500-row sample: noise 307, done 80, defer 42,
delegate 33, take_mine 1, unset 37.
The missing atom
Nothing records what a displaced piece of work was worth. We can count 33
delegations; we cannot say what they would have cost the principal. Every other
term subtracts from an unknown.
One record, written close to the action: Alfred did X · it would plausibly
have cost the principal ~N minutes · the principal accepted or rejected it ·
here is the provenance. Everything else in the formula subtracts from that.
How it gets computed — the nightly recap
Sir's design, and it is better than a monthly reconstruction: a nightly job
reads the day's sessions and formalises what actually happened.
From one pass over the Hermes main session store plus the day's Desk activity
it can derive both halves:
- the counterfactual — what this task would have cost done by hand
- the real cost — start-to-finish wall clock through prompting, from message
timestamps, and whether the thing actually completed
Doing it nightly rather than monthly matters: the sessions are still fresh, the
outcome is knowable, and a monthly reconstruction is exactly the "story" the
essay attacks.
Precedent for the read: #556's cron-journal reconciler already opens the Hermes
session store read-only from ctrl-api. Same posture — we do not own that
schema, we never write to it, and a missing column degrades rather than crashes.
Suppression — counted, but not by estimate
Sir's ruling: suppression does count. Filtering costs cognitive load and
preventing work is worth something. But it must not go soft.
So it is not estimated by the model. Suppression earns a fixed, stated,
conservative per-item rate, published on the statement as its own line rather
than blended into displaced work.
The arithmetic shows why. 307 suppressed items at a defensible 30 seconds each
is ~2.5 hours. The same 307 with a model guessing "about five minutes" is ~25
hours — a quarter of the monthly claim, invented. A fixed low rate cannot
inflate, is arguable in one sentence, and survives the sceptical question.
Interruption — solicited turns are excluded
1,422 HA conversation replies are the largest line in the journal and every
one is a reply to a turn the principal started. Counting them would swamp the
term and flatter the number.
Only unsolicited outbound counts: cron deliveries, proactive notifications,
anything Alfred initiated. On the dev tenant today that is roughly 10–40 items,
which is small and honest. The solicited/unsolicited split has to be explicit in
the data, not inferred at report time.
What counts as accepted
Two paths, per Sir:
- Explicit — done or delegated through the Desk; a commitment reaching
accepted; an approved hours proposal. Unambiguous, already recorded.
- Inferred — the nightly recap concludes from the session that a task was
carried out and completed. Weaker evidence, and it must be labelled as
inferred on the statement, never merged with the explicit kind.
Rejected work scores zero displacement and still contributes its review and
correction minutes to the subtraction. That asymmetry is the point.
Storage
Per the four-store contract (CLAUDE.md §5.1):
- Per-action NAR entries →
alfred-state.db. Machine working memory; the
principal never edits a row. Needs a migration, therefore phase0.
- The monthly Attention Statement → a vault record. The principal reads it,
argues with it, and signs it.
The signing pattern already exists and should be reused verbatim: #468's
hours-reconstruction produces an auditable per-period proposal and never
accepts hours automatically, at any confidence. The statement is the same
shape — Alfred proposes, Sir signs, nothing is claimed unilaterally.
Non-negotiables
- A defensible small number beats an impressive one. This is shown to
someone deciding whether to keep paying. One inflated month costs more trust
than a year of conservative ones earns.
- No baseline, no claim. If step 2's baseline was not captured, the
statement says so rather than comparing against an assumption.
- Every line traceable to its evidence — which session, which decision,
which commitment. A number you cannot drill into is marketing.
- Estimated and inferred lines are labelled as such, always.
Open questions
- Where do counterfactual estimates come from? A model estimating "this
would have taken 25 minutes" is the softest part of the whole scheme. Options:
a per-task-class rate card agreed with the principal at onboarding; a model
estimate the principal can correct, with corrections training the rate card;
or model estimates shown but excluded from the headline until calibrated.
- Repair has no signal at all. Either define one or drop the term and say
so on the statement.
- Correction is theoretically covered but unused —
reversed_at is zero
across 500 decisions. Is that because corrections are rare, or because the
reversal path is not reachable from where mistakes are noticed?
Sequencing
| # |
Work |
Lane |
| 1 |
Populate time_to_decision_ms reliably — the one term that is 92% missing from an existing field |
I |
| 2 |
Solicited/unsolicited flag on journal outbound |
I |
| 3 |
NAR entry table + migration |
phase0 |
| 4 |
Nightly recap workflow reading the session store read-only |
II |
| 5 |
Suppression rate card + fixed-rate line |
II |
| 6 |
Monthly Attention Statement as a signed vault record |
I + II |
| 7 |
Baseline capture at onboarding |
III |
Items 1 and 2 are small, independent, and useful before anything else lands.
The number
Measured monthly, in hours, against a baseline agreed up front. Only accepted
work counts. Every supervision minute subtracts. Rejected work scores zero and
still pays its supervision cost.
The thesis sets its own evidentiary standard — "trace-based estimates, hours
inferred from work signals, not a controlled experiment" — and is explicit that
receipts only count if you can argue with them. That is the bar this builds to.
What already exists — measured on the dev tenant, 2026-08-13
alfred_journaloutbound bysource_kindtime_to_decision_mson decisionsmainsession store —messages(session_id, role, timestamp)reversed_aton decisionsDecision intents over a 500-row sample:
noise307,done80,defer42,delegate33,take_mine1, unset 37.The missing atom
Nothing records what a displaced piece of work was worth. We can count 33
delegations; we cannot say what they would have cost the principal. Every other
term subtracts from an unknown.
One record, written close to the action: Alfred did X · it would plausibly
have cost the principal ~N minutes · the principal accepted or rejected it ·
here is the provenance. Everything else in the formula subtracts from that.
How it gets computed — the nightly recap
Sir's design, and it is better than a monthly reconstruction: a nightly job
reads the day's sessions and formalises what actually happened.
From one pass over the Hermes
mainsession store plus the day's Desk activityit can derive both halves:
timestamps, and whether the thing actually completed
Doing it nightly rather than monthly matters: the sessions are still fresh, the
outcome is knowable, and a monthly reconstruction is exactly the "story" the
essay attacks.
Precedent for the read: #556's cron-journal reconciler already opens the Hermes
session store read-only from ctrl-api. Same posture — we do not own that
schema, we never write to it, and a missing column degrades rather than crashes.
Suppression — counted, but not by estimate
Sir's ruling: suppression does count. Filtering costs cognitive load and
preventing work is worth something. But it must not go soft.
So it is not estimated by the model. Suppression earns a fixed, stated,
conservative per-item rate, published on the statement as its own line rather
than blended into displaced work.
The arithmetic shows why. 307 suppressed items at a defensible 30 seconds each
is ~2.5 hours. The same 307 with a model guessing "about five minutes" is ~25
hours — a quarter of the monthly claim, invented. A fixed low rate cannot
inflate, is arguable in one sentence, and survives the sceptical question.
Interruption — solicited turns are excluded
1,422 HA conversation replies are the largest line in the journal and every
one is a reply to a turn the principal started. Counting them would swamp the
term and flatter the number.
Only unsolicited outbound counts: cron deliveries, proactive notifications,
anything Alfred initiated. On the dev tenant today that is roughly 10–40 items,
which is small and honest. The solicited/unsolicited split has to be explicit in
the data, not inferred at report time.
What counts as accepted
Two paths, per Sir:
accepted; an approved hours proposal. Unambiguous, already recorded.
carried out and completed. Weaker evidence, and it must be labelled as
inferred on the statement, never merged with the explicit kind.
Rejected work scores zero displacement and still contributes its review and
correction minutes to the subtraction. That asymmetry is the point.
Storage
Per the four-store contract (CLAUDE.md §5.1):
alfred-state.db. Machine working memory; theprincipal never edits a row. Needs a migration, therefore phase0.
argues with it, and signs it.
The signing pattern already exists and should be reused verbatim: #468's
hours-reconstruction produces an auditable per-period proposal and never
accepts hours automatically, at any confidence. The statement is the same
shape — Alfred proposes, Sir signs, nothing is claimed unilaterally.
Non-negotiables
someone deciding whether to keep paying. One inflated month costs more trust
than a year of conservative ones earns.
statement says so rather than comparing against an assumption.
which commitment. A number you cannot drill into is marketing.
Open questions
would have taken 25 minutes" is the softest part of the whole scheme. Options:
a per-task-class rate card agreed with the principal at onboarding; a model
estimate the principal can correct, with corrections training the rate card;
or model estimates shown but excluded from the headline until calibrated.
so on the statement.
reversed_atis zeroacross 500 decisions. Is that because corrections are rare, or because the
reversal path is not reachable from where mistakes are noticed?
Sequencing
time_to_decision_msreliably — the one term that is 92% missing from an existing fieldItems 1 and 2 are small, independent, and useful before anything else lands.