Skip to content

Lock-in Ledger: fleet self-audit + client template with renewal-calendar-as-code - #158

Merged
cpitzi merged 1 commit into
mainfrom
agent/lock-in-ledger
Aug 17, 2026
Merged

Lock-in Ledger: fleet self-audit + client template with renewal-calendar-as-code#158
cpitzi merged 1 commit into
mainfrom
agent/lock-in-ledger

Conversation

@lentago-claude-runner

Copy link
Copy Markdown
Contributor

Closes #121.

Publishes the fleet's own vendor-dependency self-audit, then the reusable client-facing template — the receipt behind the delivery pledge ("firing us is a runbook").

Deliverable 1 — the self-audit

fleet-reports/lock-in-ledger.md audits our real dependencies — domain registrar, Fastmail (MX), GitHub (repos/Actions/attestations), AWS (solidago), Grafana Cloud (drosera), Axiom (betula), and Anthropic/Claude Code — each scored on four exit-focused axes:

  • Export fidelity — can we get everything out, in what form
  • Format openness — would the export be usable elsewhere
  • Identity / custody — who actually holds the keys and the names
  • Documented exit — does a written exit path exist, and where

The bad scores are published honestly (Axiom custody: Weak; the Anthropic-substitution and Axiom-history exits: Limited), with the follow-ups they surface. The through-line: custody is strongest where we hold the names ourselves and weakest where the vendor mints an identity we can't reproduce.

Deliverable 2 — the client template + renewal-calendar-as-code

fleet-reports/lock-in/:

  • TEMPLATE.md — the blank four-axis rubric, ready to copy per organization.
  • renewals.yml — renewal-calendar-as-code: every dated obligation that lapses if nobody acts (domains, cert backstop, subscriptions, a PAT expiry). Our real, public-safe calendar as the working example.
  • check-renewals.py — a pure, no-network, unit-testable date filter that emits the entries whose reminder window is open (including overdue). --check validates shape; --today previews.
  • .github/workflows/renewal-calendar.yml — runs the checker daily and opens a tracking issue ahead of each due date, deduped on a per-item marker so a reminder is filed once. Uses the default GITHUB_TOKEN (issue creation, not PRs).

Wired a one-line link into the org profile's Fleet in numbers list.

Guardrails honored

  • Public repo: no credentials, account identifiers, or private cost figures; no employer names.
  • Comparative framing only — no correctness/novelty claims (explicit disclaimer in both the ledger and the template).
  • Did not touch terraform/ or fleet-ops/.
  • The ledger and calendar live in files the weekly fleet-reports.yml does not overwrite (its FILES list is only fleet-report.md + incidents.md).
  • python3 ci/validate.py passes; all relative links resolve; both YAML files parse; the checker was exercised across in-window, out-of-window, and overdue dates.

Left for a human to merge — not auto-merged.

🤖 Generated with Claude Code

…newal-calendar-as-code

Deliverable 1 — fleet-reports/lock-in-ledger.md: the fleet's own vendor-dependency
self-audit. Seven real dependencies (domain registrar, Fastmail, GitHub, AWS,
Grafana Cloud, Axiom, Anthropic/Claude Code) each scored on four exit-focused axes
— export fidelity, format openness, identity/custody, documented exit — with the
bad scores published honestly. This is the receipt the delivery pledge points at.

Deliverable 2 — fleet-reports/lock-in/: the client-facing template (TEMPLATE.md,
the blank four-axis rubric) plus renewal-calendar-as-code. renewals.yml is the
fleet's real, public-safe calendar; check-renewals.py is a pure, testable date
filter; .github/workflows/renewal-calendar.yml runs it daily and opens a deduped
tracking issue ahead of each due date (uses GITHUB_TOKEN — issue creation, not PRs).

Wired the ledger into the org profile's Fleet-in-numbers list.

Public-repo safe: no credentials, account identifiers, or cost figures; comparative
framing only, no correctness/novelty claims. Does not touch terraform/ or fleet-ops/.
The ledger lives in files the weekly fleet-reports workflow does not overwrite.

Closes #121

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@cpitzi
cpitzi merged commit af0fc54 into main Aug 17, 2026
10 checks passed
@cpitzi
cpitzi deleted the agent/lock-in-ledger branch August 17, 2026 22:30
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.

Publish the fleet's own lock-in ledger; then cut the client template

1 participant