Refresh current state and document per-repo git remotes

Rewrite the Current state section after the merchant-profile bug-fix session and
record that the daemon repo's main tracks GitHub (origin) with a gitea backup,
while root + plans are Gitea-only — check remotes before pushing.
This commit is contained in:
Keysat
2026-06-12 20:16:24 -05:00
parent f574f025a6
commit 35ee302592
+26 -17
View File
@@ -55,9 +55,13 @@ plans/ design specs (multi-provider-payment-model.md,
tests/crosscheck/ cross-language LIC1 verifier → guides/crypto-wire-format.md tests/crosscheck/ cross-language LIC1 verifier → guides/crypto-wire-format.md
``` ```
Note: `licensing-service-startos/` and each SDK are **separate git repos**; the Note: the daemon (`licensing-service-startos`, repo `keysat`), each SDK, and
root `Licensing` repo is a workspace backup that tracks docs (AGENTS.md, plans, `plans/` are **separate git repos** — commit code/plan changes in their own repo.
guides) but not the code. Commit code changes in their own repo. The root `Licensing` repo (`keysat-root`) tracks only `AGENTS.md` + `docs/guides/`
+ `.claude/rules/`. **Remotes differ per repo**: the daemon's `main` tracks
**GitHub** (`origin`, the public upstream) with a `gitea` backup — plain `git push`
goes to GitHub, so also `git push gitea main`; root + plans are **Gitea-only**.
Run `git remote -v` (full) and check what the branch tracks before pushing.
## Conventions (whole-repo) ## Conventions (whole-repo)
@@ -93,18 +97,23 @@ Operator-specific memories at `~/.claude/projects/-Users-macpro-Projects-licensi
## Current state (2026-06-12) ## Current state (2026-06-12)
- **Live**: operator's server `immense-voyage.local` runs daemon `0.2.0:52` - **Live**: server `immense-voyage.local` runs daemon `0.2.0:52` (from `:45`;
(installed from `:45`; migrations 00200022 applied). Registry migrations 00200022 applied). Registry `registry.keysat.xyz` still publishes
`registry.keysat.xyz` still publishes `:45` `:52` built/installed but **not `:45`. Four SDKs published; `keysat.xyz` + `docs.keysat.xyz` deployed.
published**. Four SDKs published; `keysat.xyz` + `docs.keysat.xyz` deployed.
- **`:52` = multi-provider/merchant-profile model**: data model + backend - **`:52` = multi-provider/merchant-profile model**: data model + backend
resolution shipped and audited sound. **Deferred (parked):** four UIs (buy-page resolution shipped and audited sound; the resolution/CRUD query surface now has
rail picker, product-edit profile picker, per-profile SMTP form, rail-preference test coverage. See `docs/guides/payments.md`.
editor) and the `unlimited_merchant_profiles` master-policy entitlement. See - **Prod runs a known-broken `:52`**: a purchase-path ambiguous-column bug (broke
`docs/guides/payments.md`. *every* paid purchase) is **fixed, committed, and pushed** (daemon `31f4670`, on
- **Open bug fix not yet shipped**: a purchase-path SQL bug (ambiguous column, GitHub + gitea), but **no `:53` build/install yet**, so the live server is still
broke every paid purchase on `:52`) is **fixed in the working tree but broken. No live buyers, so not urgent — but this is the top next step.
uncommitted**, so prod `:52` is still broken until a `:53` rebuild+reinstall. No - **Next, in priority order**: (1) bump `:53` + `make x86` + `make install` to ship
live buyers yet, so not urgent. Working tree also has the test compile-fixes, a the fix; (2) resolve the 3 red tests — delete the dead `payment_provider_preference_round_trip`,
new query-audit test, the manifest license fix, and an unused-import removal — decide the mock-injection seam for the two `paid_purchase_*` (see `docs/guides/testing.md`);
all uncommitted. See `docs/guides/payments.md` and `docs/guides/testing.md`. (3) build the 4 deferred UIs + add `unlimited_merchant_profiles` to master
Pro/Patron policies; (4) re-register the master Zaprite webhook; (5) optional:
run formatters as a standalone commit.
- **Tests/build**: `cargo check` clean (1 intentional deprecation warning); api
43 pass / 3 known-fail (test-debt), other suites green. No CI; fmt/prettier not
enforced or clean. Latent: confirm the sqlx pool sets `PRAGMA foreign_keys = ON`
per-connection (else FKs aren't runtime-enforced) — flagged by review, unchecked.