Skip to content

fix: retarget Receipts host from receipts.liminate.dev to liminate.dev#11

Merged
rmichaelthomas merged 1 commit into
mainfrom
fix/receipts-rename-to-liminate-dev
May 29, 2026
Merged

fix: retarget Receipts host from receipts.liminate.dev to liminate.dev#11
rmichaelthomas merged 1 commit into
mainfrom
fix/receipts-rename-to-liminate-dev

Conversation

@rmichaelthomas
Copy link
Copy Markdown
Owner

Why

Receipts was consolidated from the receipts.liminate.dev subdomain onto the apex liminate.dev (single deployment, per the liminate-dev backend). The subdomain no longer resolves — CI's non-blocking live-roundtrip was already failing on DNS against it.

API paths are unchanged at the app root (/save, /api/v1/export, /keys, /c/<id>); the product UI now lives at liminate.dev/receipts.

Old New
receipts.liminate.dev (UI) liminate.dev/receipts
receipts.liminate.dev/save liminate.dev/save
receipts.liminate.dev/api/v1/export liminate.dev/api/v1/export
receipts.liminate.dev/keys liminate.dev/keys
receipts.liminate.dev/c/<id> liminate.dev/c/<id>

The live fix (not just the benchmark)

The merged contract-lifecycle helper hardcoded the dead host in SAVE_URL / RECEIPTS_BASE, so the consent-gated upload path was POSTing a Bearer token to a host that no longer resolves. That's the load-bearing change here. Added a test pinning the constants to liminate.dev and a guard that the helper source carries no dead subdomain.

Full sweep (10 files)

helper/contract_lifecycle.py, references/save-procedure.md, SKILL.md, README.md, helper/README.md, docs/LOCAL-ONLY.md, docs/TRUST-BOUNDARY.md, .github/workflows/bench.yml (step name), benchmarks/bench_list_seeding.py (endpoint), tests/test_contract_lifecycle.py.

Care taken:

  • Bare UI referencesliminate.dev/receipts; path references → just drop the subdomain.
  • TRUST-BOUNDARY ASCII diagram retargeted with box alignment preserved.
  • TRUST-BOUNDARY dated provenance footer keeps the historical receipts.liminate.dev name with a "since consolidated to liminate.dev" note — history not rewritten.
  • liminate-site is superseded by liminate-dev, so it's out of scope here.

Tests

  • Full suite: 35 passed (adds test_helper_targets_the_current_receipts_host, test_helper_has_no_dead_receipts_subdomain).
  • Hook shell test: pass. Blocking benchmark static check: pass.

🤖 Generated with Claude Code

Receipts was consolidated from the receipts.liminate.dev subdomain onto the
apex liminate.dev (single deployment per the liminate-dev backend); API paths
are unchanged (/save, /api/v1/export, /keys, /c/<id>) and the product UI now
lives at liminate.dev/receipts.

The live fix: helper/contract_lifecycle.py hardcoded the dead host in SAVE_URL
and RECEIPTS_BASE, so the consent-gated upload POSTed a Bearer token to a host
that no longer resolves. Retargeted, with a test pinning the constants and a
guard that the helper source carries no dead subdomain.

Also swept SKILL.md, README, save-procedure.md, helper/README, docs/LOCAL-ONLY,
docs/TRUST-BOUNDARY, the benchmark endpoint, and the bench workflow step name.
Bare product-UI references became liminate.dev/receipts; path references just
dropped the subdomain. The dated TRUST-BOUNDARY provenance footer keeps the
historical receipts.liminate.dev name with a "since consolidated" note rather
than rewriting history. liminate-site is superseded by liminate-dev and out of
scope here.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rmichaelthomas rmichaelthomas merged commit 225a707 into main May 29, 2026
2 checks passed
@rmichaelthomas rmichaelthomas deleted the fix/receipts-rename-to-liminate-dev branch May 29, 2026 04:15
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