refactor: rename extension identity to spirekeeper
Fork of satmachineadmin's v2-bitspire line into its own repo. Renames
both identifiers so this extension is fully independent of the original
satmachineadmin install (which remains in service):
- extension id satmachineadmin -> spirekeeper
(router prefix, static path/static_url_for, module symbols, task
names, templates dir, config/manifest paths)
- database name satoshimachine -> spirekeeper
(Database(ext_spirekeeper), all schema-qualified table refs)
Also resets versioning to 0.1.0, sets the display name + manifest to
spirekeeper/aiolabs, and fixes the placeholder pyproject description.
Historical aiolabs/satmachineadmin#N issue references in comments are
left pointing at the original repo where those issues live.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
9c4d2c1324
commit
a059e3f596
22 changed files with 242 additions and 242 deletions
|
|
@ -1,5 +1,5 @@
|
|||
"""
|
||||
Pytest configuration for the satmachineadmin extension test suite.
|
||||
Pytest configuration for the spirekeeper extension test suite.
|
||||
|
||||
Provides a `loguru_capture` fixture for tests that need to verify
|
||||
loguru WARN/ERROR side-effects. Loguru attaches its default sink to
|
||||
|
|
|
|||
|
|
@ -210,7 +210,7 @@ class TestShouldApplyBootstrapState:
|
|||
|
||||
def test_skips_when_existing_event_id_matches(self):
|
||||
"""The same bootstrap event re-delivered after a relay reconnect
|
||||
or satmachineadmin restart should no-op, not re-upsert the same
|
||||
or spirekeeper restart should no-op, not re-upsert the same
|
||||
rows (which would clobber any operator edits since)."""
|
||||
assert _should_apply_bootstrap_state("same-event", "same-event") is False
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ auto-account wallet.
|
|||
|
||||
The guard refuses to register a machine whose npub matches any LNbits
|
||||
operator account's `accounts.pubkey`, so this state cannot be entered
|
||||
through the satmachineadmin UI in the first place.
|
||||
through the spirekeeper UI in the first place.
|
||||
|
||||
Monkeypatches `views_api.get_account_by_pubkey` to avoid needing a live
|
||||
LNbits DB; this matches the assertion-style of tests/test_nostr_attribution
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ Each settlement records:
|
|||
|
||||
fee_mismatch_sats = bitspire_fee_sats - (platform_fee_sats + operator_fee_sats)
|
||||
|
||||
Positive = bitspire over-reported (claimed more fee than satmachineadmin
|
||||
Positive = bitspire over-reported (claimed more fee than spirekeeper
|
||||
recomputed against principal). Negative = bitspire under-reported.
|
||||
Zero = exact match.
|
||||
|
||||
|
|
@ -116,7 +116,7 @@ class TestFeeMismatchSatsRecording:
|
|||
"""Real-world Phase-1 scenario before Layer 3 (lamassu-next#57)
|
||||
ships: ATM hardcodes 7.77% cash-out; operator configures 5%
|
||||
operator + 3% super = 8% total. Bitspire reports
|
||||
100_000 * 0.0777 = 7_770 sats; satmachineadmin recomputes 8_000.
|
||||
100_000 * 0.0777 = 7_770 sats; spirekeeper recomputes 8_000.
|
||||
Delta is large and visible for triage; behavior unchanged."""
|
||||
machine = _machine(op_out=0.05)
|
||||
super_cfg = _super_config(out_frac=0.03)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
"""
|
||||
Tests for `nostr_transport_roster.resolve` — the lookup function
|
||||
satmachineadmin hands lnbits' nostr-transport via
|
||||
spirekeeper hands lnbits' nostr-transport via
|
||||
`register_roster_resolver` (path-B wallet-routing fix, #20 /
|
||||
coord-log 2026-05-31T15:25Z).
|
||||
|
||||
|
|
@ -73,7 +73,7 @@ def test_resolve_known_atm_returns_route_hit(monkeypatch):
|
|||
assert result is not None
|
||||
assert result.operator_user_id == "op-123"
|
||||
assert result.wallet_id == "wallet-abc"
|
||||
assert result.source_extension == "satmachineadmin"
|
||||
assert result.source_extension == "spirekeeper"
|
||||
assert captured["pubkey_hex"] == _ATM_PUB_HEX
|
||||
|
||||
|
||||
|
|
@ -141,7 +141,7 @@ def test_resolve_raises_on_malformed_input(monkeypatch):
|
|||
def test_register_with_lnbits_soft_fails_without_hook(monkeypatch):
|
||||
"""Until the lnbits-side path-B PR lands, the registration call
|
||||
must soft-fail cleanly (returns False, no exception) so
|
||||
satmachineadmin keeps booting on every lnbits version."""
|
||||
spirekeeper keeps booting on every lnbits version."""
|
||||
real_import = (
|
||||
__builtins__["__import__"]
|
||||
if isinstance(__builtins__, dict)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue