OXYGENHUB

Spectra 0.1.0: Talk (#13) f7986cb07b0e

Accepted across two machines: the daemon on Earth; the owner, Claude Code
and Antigravity on the workstation, talking in #general as the owner's
delegates; the ledger verified, and an edited copy caught.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Author
Andy McCall @andymccall <[email protected]>
via
agent agent:claude@andymccall <[email protected]> · keyless, under your grant for changes,refs,seal · key d17cdebf4e95
When
· 2026-11-03 16:40 UTC
Signature
◈ sealed by agent:claude@andymccall
Hash
f7986cb07b0e98e0e89e6be3b97676c9f2d5e1848745bc862913d0d4587c9ba0
Depends on
258bb3824813 8f87df88babf 98a0fb9f0948 d17cbc7069ce
Depended on by
862f0db224aa b044d90930d9
In bookmarks
main
In tags
v0.1.0
Edits
4 atoms, 0 tree operations, 2 files

Browse the tree at this change

modified CHANGELOG.md +4 −0
…
1 unchanged lines
2 2
3 3
## Unreleased
4 4
5 +
## 0.1.0 (2026-11-03): Talk
6 +
7 +
The first release. Accepted on two machines: the daemon on Earth, the owner, Claude Code in `oxygen` and Antigravity in `oxygenhub` on the workstation, each agent its owner's delegate, talking in #general; the ledger verified, and an edited copy caught.
8 +
5 9
- **Changed: Spectra stands alone.** It no longer uses Oxygen in any way: no `oxy` command, no Oxygen library, no Oxygen files. Identities, composite Ed25519 + ML-DSA-65 signatures and deterministic CBOR are Spectra's own. `spectra identity create` makes your identity in `~/.config/spectra` (`SPECTRA_HOME`); `spectra init` delegates to the machine's instance key itself; `spectra agent add` shows the agent and asks before delegating to it (`--yes` for scripts, `--expires 8h` for an overnight agent), `spectra agent renew` gives it more time and `agent disable` takes the delegation back; `spectra connect` shows the server's instance key and asks you to confirm it (`--expect` checks it instead). Ledgers and identity homes made before this change are not readable: run `spectra identity create` and `spectra init` again.
6 10
- **Changed: a project is any kind of work.** `spectra project add NAME [--path DIR] [-d TEXT] [--url URL]`, or `spectra project add FOLDER`; Spectra records the folder and reads nothing in it. `spectra project link P --depends-on Q` draws the links `to: downstream` follows, where they used to be read from `.oxymodules`.
7 11
- **Fixed: `spectra inbox --follow` could miss a message posted just as it started.** It now subscribes first and reads the inbox once the server says the subscription holds.
…
22 unchanged lines
modified docs/plan.md +2 −1
…
43 unchanged lines
44 44
- [x] #26 Own identities, signatures and CBOR — done 2026-11-03: spectra-core's identity, cbor and durable modules (designed after Oxygen's, no shared code); spectra identity create; init, agent add (confirm, --expires, renew, disable) and connect (confirm or --expect) sign the delegation themselves; deps/oxygen and oxy-core removed.
45 45
- [x] #27 A project is any kind of work — done 2026-11-03: name, optional folder never read, description, link; spectra project link replaces .oxymodules; tests/cli_project.rs adds a book. Found: inbox --follow could miss a message posted as it started; the stream now announces its subscription.
46 46
- [x] #28 The companion specs without Oxygen — done 2026-11-03 in the working copies (SpectraHub Draft 0.4, spectra-vscode 0.3, spectrahub-vscode 0.2); left uncommitted, as those specs had never been committed in their repos.
47 -
- [ ] #13 Acceptance (with Andy), across two machines. Ready when the rest is done:
47 +
- [x] #13 Acceptance — done 2026-11-03 with Andy: Earth serves; Andy's new identity claimed it through `spectra connect`; oxygen, oxygenhub (linked) and spectra registered; claude-oxygen, antigravity-oxygenhub and claude-spectra added with 8h delegations; claude-oxygen and Antigravity each posted in #general and read the other's message, watched in Radar; `spectra admin verify` clean at 61 events; an edited copy of Earth's ledger failed with HashMismatch and BadProof ("names agent:mallory as its actor but is signed by Andy McCall"). 0.1.0 tagged. The runbook was:
48 48
  1. On the workstation: `make install`; `spectra identity create --name "Andy McCall" --contact [email protected]`.
49 49
  2. On Earth (claude account; the KeyId only): `spectra init --owner KEYID --name earth`, `[server] bind` and `names` set, the service started. It prints Earth's instance key. The new build is already installed there and its first ledger set aside (`~/.local/share/spectra.oxygen-era-2026-11-03`).
50 50
  3. On the workstation: `spectra connect https://earth.andymccall.xyz:7350`, confirming the instance key matches.
…
13 unchanged lines
64 64
- 2026-11-02 #11 and #12 done. Measured in release with 1,000 messages, round trip over the socket including signing (tests/bench.rs): brief 2.7 ms (target 5), say 3.1 ms (target 10), wait wakes 4.2 ms after a mention (target 100). A single ledger append 0.15 ms. 58 tests. #13 is ready for Andy.
65 65
- 2026-11-03 Sprint 2 set up: Andy wants the daemon on Earth and the rest on his workstation. Spec Draft 0.4 adds client and server (§8.6); #20–#25 opened, #13 moved and rewritten for two machines. The binary and an enabled, waiting user unit are already on Earth (claude account, lingering on).
66 66
- 2026-11-03 Andy: Spectra must be its own program, not tied to Oxygen or to programming work. Spec Draft 0.5; Sprint 3 opened with #26–#28; #13 moved again. Earth's first ledger (Oxygen identities) is set aside, not deleted.
67 +
- 2026-11-03 #13 accepted across two machines; 0.1.0 cut and tagged. Sprint 3 done.