Skip to content

docs(design): make 056 aimdb join self-contained for a from-scratch implementation - #320

Merged
lxsaah merged 1 commit into
mainfrom
claude/056-join-cli-standalone
Oct 13, 2026
Merged

lxsaah merged 1 commit into
mainfrom
claude/056-join-cli-standalone

Conversation

@lxsaah

@lxsaah lxsaah commented Oct 13, 2026

Copy link
Copy Markdown
Member

Description

Revises design 056 (aimdb join CLI) so it no longer builds on the planning branch prototype, and can be implemented from scratch on main.

Removed: the "port join.rs from planning" starting point, the D1–D5 defect table, the "kept from planning" tests, and the planning commit references.

Restated: D1–D5 become plain requirements, R1–R7 (§1).

Newly specified (gaps a fresh implementation would otherwise have to decide):

  • Profile content: the whole response is written, so fields the CLI doesn't know survive (043 §6). JSON null is dropped, since TOML has none. Required fields are listed.
  • Redirects: none are followed. Otherwise an https:// base could redirect a 307/308 POST, token included, to http://.
  • GitHub endpoints can be overridden only by an internal parameter used in tests, never by an environment variable or flag.
  • Token hygiene: no token in Debug output or in error messages.
  • Discovery: handling of 5xx, malformed JSON and network errors. --app behaviour after a 404.
  • Profile writes: a no-clobber persist without --force, and an fsync of the directory.
  • Exit codes: CliError::exit_code() plumbed into main, which currently always exits 1. Exit code 2 for "no usable auth kind" is now in the table.
  • Dependencies: reqwest pinned to 0.12, since 0.13 renames the TLS features. tempfile moves to a normal dependency.
  • Tests: an expanded test list (§7) and a new sequencing (§9).

Docs only, no code changes.

Related Issue

  • n/a

Checklist

  • I have read the CONTRIBUTING.md document.
  • My code follows the project's coding standards.
  • I have added tests to cover my changes. (docs only)
  • All new and existing tests passed (make check). (docs only)
  • I have updated the documentation accordingly.

🤖 Generated with Claude Code

https://claude.ai/code/session_018WAwJGRt66jBy58M9hRtTr


Generated by Claude Code

…mplementation

Drop the port of the planning-branch prototype: defects D1-D5 become
requirements R1-R7, and all tests are listed as new. Specify what the
previous revision left open: the whole response is written to the
profile (unknown fields kept, nulls dropped), no redirects are followed,
GitHub endpoints are overridable in tests only, discovery failure
handling, a no-clobber profile write, exit-code plumbing in main, and the
reqwest 0.12 pin.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018WAwJGRt66jBy58M9hRtTr
@lxsaah
lxsaah merged commit dbd62ad into main Oct 13, 2026
10 checks passed
@lxsaah
lxsaah deleted the claude/056-join-cli-standalone branch October 13, 2026 15:15
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