- checkpoints/run_checkpoint.py: window guard, web-fetcher fetch with provenance, record + raw JSONL, optional llm-connect assessment rejected if it contains numbers not in the fetched data - checkpoints/sources.json: BTOS (US), Eurostat isoc_eb_ai (EU, DE), FRED info-processing investment (US); manual entries for AR, usage indices, sentiment, legislation - activity definitions: label assembly-checkpoint (rein-aharness approach) - PLAYBOOK: automated path + manual/agent path Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 1494246@bnt-lap001 Assistant-Session: caf6de6f-f9e4-47ce-a584-49baa271fa4b
69 lines
2.7 KiB
Markdown
69 lines
2.7 KiB
Markdown
# Checkpoint playbook (executor instructions)
|
|
|
|
**Automated path (default).** Scheduled checkpoints run without an agent:
|
|
activity-core fires an `assembly-checkpoint-*` definition, rein-aharness
|
|
claims it (approach `assembly-checkpoint`), runs
|
|
`checkpoints/run_checkpoint.py` (data via
|
|
[web-fetcher](https://forgejo.coulomb.social/coulomb/web-fetcher), optional
|
|
llm-connect assessment with a number guard), commits only `checkpoints/`,
|
|
pushes and posts `assembly_checkpoint`. Machine-readable sources are mapped in
|
|
`checkpoints/sources.json`. Indicators marked `manual` are collected by an
|
|
agent or human at reviews, following the steps below.
|
|
|
|
**Manual / agent path.** Use the steps below for manual indicators, annual
|
|
reviews, or when the automated path fails.
|
|
|
|
You are running a **reality checkpoint** for the `assembly-economics`
|
|
repository. Work only inside this repository. Keep the run within budget:
|
|
a `light` checkpoint should take well under 15 minutes.
|
|
|
|
## Steps
|
|
|
|
1. Determine today's date in Europe/Berlin and the run kind (`light` or
|
|
`full`) from the task title.
|
|
2. Read `checkpoints/schedule.md`. If today is not inside an active window for
|
|
this kind, write `checkpoints/YYYY/YYYY-MM-DD-out-of-window.md` (one line
|
|
saying so), commit, push, post the completion event with `in_band: 0`,
|
|
and stop.
|
|
3. Read `checkpoints/README.md` (protocol) and `checkpoints/IndicatorCatalog.md`.
|
|
4. For each indicator of this kind, search for the most recent published
|
|
value. Prefer the primary source listed in the catalog. Record value,
|
|
unit, reference period, publication date and URL. If you can't find it,
|
|
record `not found` and the sources tried. Do **not** estimate or invent
|
|
values.
|
|
5. Compare with `checkpoints/predictions.md` where an entry exists.
|
|
6. Write the record using the template below, then append the observations
|
|
to `predictions.md` under the matching entries (append-only).
|
|
7. Commit with the message `Checkpoint YYYY-MM-DD (<kind>)`, then push.
|
|
8. Post the completion event (README step 7).
|
|
|
|
If something blocks you (no network, push rejected, catalog missing), still
|
|
write the record with the blocker stated, and report the failure. A recorded
|
|
failure is a valid outcome of a setup run.
|
|
|
|
## Record template
|
|
|
|
```markdown
|
|
# Checkpoint YYYY-MM-DD (<kind>)
|
|
|
|
- Model version: <from models/README.md>
|
|
- Phase: <setup | transition | steady>
|
|
- Executor: <agent / harness>
|
|
|
|
## Observations
|
|
|
|
| Indicator | Jurisdiction | Value | Unit | Reference period | Published | Source | Band position |
|
|
|---|---|---|---|---|---|---|---|
|
|
|
|
## Assessment
|
|
|
|
- <jurisdiction>: <tracks archetype / band anchor>; notable changes; surprises.
|
|
|
|
## Not found
|
|
|
|
- <indicator>: sources tried
|
|
|
|
## Follow-ups
|
|
|
|
- <intake or task suggestions, if any>
|
|
```
|