cobalt
Original synthetic demonstration

Household notes.
Review before action.

A small, inspectable workflow that turns structured meeting notes into a review list and selected local drafts. Repeated approved inputs do not create duplicate records in the saved ledger.

3

Proposed actions

Two calendar suggestions and one fictional email.

2

Approved in fixture

An explicit synthetic approval selects A1 and A2.

2

Local drafts

One calendar suggestion and one email-draft object.

0

New on replay

The same input and saved ledger report two skips.

No email is sent, no calendar is modified, and no external account is connected. All notes and recipients are invented. The default n8n export has approval empty, so it produces review items and zero drafts.

What the checks establish

  • Changed notes invalidate an old approval.
  • Unapproved actions remain unprocessed.
  • Malformed input, impossible dates, locks, and malformed ledger records fail visibly.
  • Separate local processes reuse the ledger without adding duplicate drafts.

30 local checks passed. The workflow also ran in n8n 2.3.6: default review, approved drafts, and replay all completed with successful node records.

Run without an account

node verify.cjs
node cli.cjs prepare fixtures/notes.json
node cli.cjs apply fixtures/notes.json fixtures/approval.json demo-state
node cli.cjs apply fixtures/notes.json fixtures/approval.json demo-state

Standalone verification ran on Node.js 22.22.3. No package installation or API key is needed for these commands.

The next integration step is explicit.

This demonstration uses a structured action-line format and synthetic approval data. A real household installation needs an authenticated review interface, an agreed local host, durable n8n storage, and separately authorized connectors. It does not demonstrate a local language model, private-document index, live Google/Notion integration, or a prior client deployment.

The CLI persists its own file ledger. The n8n export returns state but does not automatically persist it between runs. A new note revision requires fresh review and creates a new draft version; cross-version reconciliation is outside this sample.