Skip to content

docs: 01 — initial port plan (scaffold → v0.0.1)#1

Closed
wavekat-eason wants to merge 2 commits into
mainfrom
docs/01-initial-port-plan
Closed

docs: 01 — initial port plan (scaffold → v0.0.1)#1
wavekat-eason wants to merge 2 commits into
mainfrom
docs/01-initial-port-plan

Conversation

@wavekat-eason
Copy link
Copy Markdown
Contributor

Summary

Work plan for getting the crate from the empty scaffold on `main` to a usable v0.0.1 on crates.io. Companion to `wavekat-voice/docs/13`.

Covers:

  • What to port from `wavekat-cli` (file-by-file mapping).
  • Public surface for v0.0.1 (`Client`, `loopback_handshake` two-phase API, `Token` newtype, `thiserror` Error).
  • One deliberate adjustment vs the CLI: the crate doesn't open browsers — caller does. Drops the `webbrowser` dep on the desktop side.
  • Dep set, file layout, test plan (port the CLI's unit tests verbatim + manual smoke via `examples/smoke.rs`).
  • 5 open design questions with defaults baked into the sketch.
  • Sequencing: this doc → `feat/initial-client-port` PR → smoke → release-plz cuts v0.0.1 → `wavekat-voice` consumes → CLI migrates.

Test plan

  • Read the doc end-to-end.
  • Flag dissent on any of the 5 open questions before `feat/initial-client-port` opens.

🤖 Generated with Claude Code

e10101 and others added 2 commits May 14, 2026 16:20
Work plan for getting from the empty scaffold on main to a usable
v0.0.1 on crates.io: what to port from wavekat-cli, the public
surface, dep set, file layout, test plan, and the open design
questions to settle before code lands. Companion to
wavekat-voice/docs/13-platform-login-and-client.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Land the v0.0.1 surface from docs/01-initial-port.md: storage-agnostic
Client, two-phase loopback OAuth handshake (crate returns the URL,
caller opens it), Token newtype with redacted Debug, thiserror-typed
Error, and the Me/whoami + revoke_current_token typed methods.

Carries over the unit tests verbatim from wavekat-cli (base64url RFC
vectors, random_state shape, html_escape) and adds tests for Token
redaction, Error::Http format, HandshakeOptions::default, and the
loopback_handshake URL shape. Includes examples/smoke.rs for the
manual smoke test against a live platform.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@wavekat-eason wavekat-eason deleted the docs/01-initial-port-plan branch May 14, 2026 04:39
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.

2 participants