feat(host): Keychain and Credential Manager token stores, a macOS/Windows CI job (P11a step 0)
The agent path was Linux-only because tokens had a keyring store only there (every other OS hit NOT_YET, so `connect` and the bridge failed). D-56's destination is one installation for macOS, Windows and Linux. Both new stores sit behind the same Items trait as the Secret Service, so INVARIANT 4 (one account, one item, locked is an error) is kept once and tested once through the file keyring. Windows credentials have a unique target name, so a probe stands in for a search. New dependencies (ledger-host only, target-gated): apple-native-keyring-store (feature keychain) and windows-native-keyring-store, the stores the keyring-core 1 API we already use is published with. No ledger-core change. The `portable` job builds and tests the workspace on macos-latest and windows-latest. Windows is allowed to fail: the rest of the host is Unix-only (inventory in docs/packaging.md). Not verified locally: no macOS or Windows target is installed; CI is the evidence. Also pins cargo-packager, cargo-packager-updater and cargo-generate-rpm in mise.toml for the trial, and records that the trial is not yet run. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HS8WZziDnyxunC23MUxrLp
This commit is contained in:
1 parent
f98471516e
commit
ee4f8cd58a
10 files changed
+307
-35
No files matched your search
@@ -35,7 +35,7 @@ the specification in `bookspec/` (which never depends on the engine).
|
||||
| `ledger-import` | formats: QuickBooks CSV in; IIF, XLSX, Typst PDFs (statements, the invoice, labels) out | `ledger-core` |
|
||||
| `ledger-package` | the shared read-only view over `Store` or `Snapshot` (`PackageBooks`): the CPA package, the 1099 worksheet, the invoice document, Needs attention | `ledger-core`, `ledger-store`, `ledger-config`, `ledger-import`, `ledger-vault` |
|
||||
| `ledger-mcp` | the books server: the MCP tools (122), resources, the handbook, scopes, the door and the access log, backups' scheduling | all of the above |
|
||||
| `ledger-host` | the host and its leases, the agent bridge (`wanderbooks mcp`), tokens in the OS keyring, the owner's commands, uploads and downloads | `ledger-store`, `ledger-mcp`, `ledger-config` |
|
||||
| `ledger-host` | the host and its leases, the agent bridge (`wanderbooks mcp`), tokens in the OS keyring (Secret Service, macOS Keychain, Windows Credential Manager), the owner's commands, uploads and downloads | `ledger-store`, `ledger-mcp`, `ledger-config` |
|
||||
| `ledger-gui` | the viewer: read-only, live, egui; the Books menu hands work to the server | `ledger-core`, `ledger-store`, `ledger-config`, `ledger-import`, `ledger-package`, `ledger-vault`, `ledger-host` |
|
||||
| `ledger-cli` | `wanderbooks`, the one executable: every mode (`serve`, `server`, `host`, `mcp`, `gui`, `setup`, `books`, `token`, `connect`, `doctor`, …) and the over-the-wire test suites | everything |
|
||||
| `bookspec/checker`, `bookspec/runner` | the example schema and parser, the rule catalogue, the `Engine` trait; the per-rule runner | nothing of ours (the adapter in `ledger-core`'s tests depends on them) |
|
||||
|
||||
Reference in new issue
Block a user