Skip to content

Schedule daily OpenTimestamps anchoring of the witnessed journal - #183

Open
MaxGhenis wants to merge 1 commit into
mainfrom
feat/ots-anchor-cron
Open

Schedule daily OpenTimestamps anchoring of the witnessed journal#183
MaxGhenis wants to merge 1 commit into
mainfrom
feat/ots-anchor-cron

Conversation

@MaxGhenis

Copy link
Copy Markdown
Contributor

What

A daily GitHub Actions cron (plus workflow_dispatch) that anchors the witnessed observation journal in Bitcoin via OpenTimestamps. Companion to #182, which adds the tool, the proofs for releases 0000–0014, and the docs on codex/thesis-ledger-facts.

Scheduled workflows only run from the default branch, so this definition lives on main and operates on a checkout of the journal branch:

  1. python3 scripts/ots_anchor.py run — stamp any release manifest lacking a proof, upgrade pending proofs whose calendar attestations have confirmed into Bitcoin. Idempotent; the tool is stdlib-only and the ots client is pinned (opentimestamps-client==0.7.2).
  2. Commit changed proofs under ots/ back to the journal branch as github-actions[bot], with a rebase-and-retry push loop (proof commits touch neither the data surface nor the gate surface, so they cannot collide with resolver append PRs).
  3. python3 scripts/ots_anchor.py verify — fail the run if any proof stops binding to its manifest's exact bytes.

Merge order

Safe to merge before or after #182: the job exits cleanly with a notice while scripts/ots_anchor.py is not yet on the journal branch. The first effective run needs #182 merged; workflow_dispatch can trigger it immediately after.

🤖 Generated with Claude Code

Scheduled workflows only run from the default branch, so the cron lives
here and operates on a checkout of codex/thesis-ledger-facts, where the
journal, release manifests, and scripts/ots_anchor.py live. The job
stamps any manifest that lacks a proof, upgrades pending proofs once
their Bitcoin attestations confirm, commits the result to the journal
branch, and fails loudly if any proof stops matching its manifest.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant