Day 67 of 68 · Saturday · Learning

The ask-map - how a checkbox becomes a ledger rowHands-on

Every FOR REVIEW paper doc ends with a hidden ask-map: one JSON entry per checkbox strip that says what a mark means and which ledger it writes to. That block is how a pen stroke becomes a decision record without a human reading the page.

Catch-up progress
67/68
Why this matters to you

On 9-6 you tagged four JobHunt briefings done in one batch. Within the hour the pipeline had written four decision files, queued six leads and logged eight NO refinements, all without a session. The ask-map is the part of that path you have never seen because it is designed not to be seen.

A paper doc is HTML rendered to PDF. Before the closing body tag the author embeds <script type="application/json" id="ask-map">. Each key is an ask id (d1-curriculum, d2-prune). Each value has 'means' (what a mark in this strip signifies, including the blank rule) and 'target' (the ledger path or action the mark drives). The renderer ignores the block; the return processor reads it.

When you tag a doc done, rm_pull.py notices on its five-minute poll, downloads the ink layer, and rm_process.py composites the strokes over the page images. It then matches strokes to the checkbox positions the ask-map describes, and writes the answer to the target: a markdown file in PDB/data/decisions/ with frontmatter naming the source PDF. Then it calls report_feedback_processed(), which emits the event and creates no Things task, because you acted.

The rule you inked on 8-31 lives in 'means': blank = re-ask. An unmarked ask on a done-tagged doc is held and asked again, never resolved to the printed recommendation. That is why the REC is printed beside every strip but never assumed.

Worked example

See the map on this week's review doc and the record a return produced:

grep -A 8 'id="ask-map"' /Users/tom/Claude/PDB/data/weekly-review/2026-09-06.html

head -12 /Users/tom/Claude/PDB/data/decisions/jobhunt-briefing-ink-2026-09-06.md
▶ Do it now
  1. Run the first command and match each ask id to its checkbox strip on the printed doc on your device.
  2. Run the second and find the return_pdf line. Open that PDF in FOR TOM/PROJECTS/REMARKABLE/returns/2026-09-06/_processed/ and see your own strokes composited on the page.
  3. Look for one ask on this week's doc you intend to leave blank. Know that it will come back next week rather than default.

Gotchas

Go deeper: paper-doc skill · remarkable returns reference
One-card takeaway

The ask-map is the contract between the page you mark and the ledger it updates. No entry, no record.