Skip to content

GO-7383 Add resumable JSON onboarding and Heart v0.51.6 - #64

Merged
requilence merged 5 commits into
mainfrom
go-7383-full-wrapper
Oct 13, 2026
Merged

requilence merged 5 commits into
mainfrom
go-7383-full-wrapper

Conversation

@requilence

Copy link
Copy Markdown
Contributor

Onboarding callers need a machine-readable way to provision an Anytype client and recover interrupted operations without parsing terminal output or creating duplicate accounts, invitations, or API keys. This adds a versioned, non-interactive JSON interface to the native CLI for Hermes and other automation clients.

For example, after a space join returns pending_approval, the caller can resume the same operation ID to inspect membership without resubmitting the invitation. API-key creation similarly recovers an exact credential receipt rather than guessing from an application name.

Changes

  • Add schema-v1 JSON results, typed exit states, capabilities, and native inspect commands.
  • Support explicit service installation/start, named account creation, private-stdin login, native space join/list/status, and scoped API-key creation/list/revocation.
  • Persist operation IDs and intent, coordinate native mutations with an instance lock, and validate account, network, executable, and data-directory bindings before recovery.
  • Share credential storage between automation, human CLI commands, and service auto-login. Require explicit secret output; support system keyring storage and an explicit private-file backend for headless instances.
  • Publish nonce-verified runtime observations from the existing embedded service. Report uncertain account/listener transitions conservatively; distinguish service liveness from authenticated HTTP API/MCP readiness.
  • Upgrade embedded Heart to v0.51.6, including the required any-sync, any-store, and zeroconf dependency updates. Expose the embedded HTTP MCP endpoint and its shared API-key grant through inspection.
  • Document the command contract, recovery behavior, and limitations in docs/AUTOMATION.md.

Validation

  • make test, make build, and go vet ./... passed on macOS arm64.
  • golangci-lint run --new-from-rev=origin/main ./... and go test ./core/automation passed with the repository's Go 1.26.5 toolchain.
  • The built binary returns schema-v1 capabilities; build metadata confirms embedded Heart v0.51.6.
  • Regression tests cover interrupted operations, account/listener lifecycle ordering, private credential storage, membership states, and exact API-key grant recovery.

Current limits

  • Automation manages one default native instance. Machine service provisioning supports macOS launchd and Linux systemd; Windows service automation and account rename are unsupported.
  • Previously running CLI services require an explicit upgrade/restart for runtime observation. Inspection does not restart or replace them automatically.
  • Tests use isolated fixtures. Live service/account provisioning, remote membership approval, sync, and HTTP MCP acceptance still require a real-client acceptance run.

Add schema-versioned account, service, membership and scoped credential commands for automation. Keep private inputs off argv, persist operation receipts, and verify observed runtime identity and listener state. Document the contract and cover recovery, lifecycle uncertainty and credential handling.
@requilence
requilence merged commit 9ca08a0 into main Oct 13, 2026
5 checks passed
@requilence
requilence deleted the go-7383-full-wrapper branch October 13, 2026 14:20
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