Skip to content

feat: make MailCLI Go-only and add config diagnostics - #1

Merged
nonozone merged 1 commit into
mainfrom
codex/go-account-capabilities
Jul 6, 2026
Merged

feat: make MailCLI Go-only and add config diagnostics#1
nonozone merged 1 commit into
mainfrom
codex/go-account-capabilities

Conversation

@nonozone

@nonozone nonozone commented Jul 6, 2026

Copy link
Copy Markdown
Owner

Summary

This PR makes the official MailCLI agent path Go-only and starts the existing-mailbox setup track with first-class config commands. The goal is to ship a single Go binary that agents and users can install, run, diagnose, and script without a second official runtime.

What Changed

  • Replaced official Python examples and provider demos with Go equivalents under examples/go plus shared Go helpers under examples/internal.
  • Removed the legacy Python example/tool path from docs, tests, CI, Makefile, and release materials.
  • Added mailcli config init, mailcli config doctor, and mailcli config capabilities contracts for account setup and agent-readable capability discovery.
  • Added raw config loading for diagnostics so doctor can distinguish missing secret references from unset environment variables without printing secret values.
  • Updated local thread demo artifacts and example checks to use the Go refresh path.

Verification

  • go test ./...
  • go build -o /tmp/mailcli ./cmd/mailcli
  • make demo-local-thread-check
  • git diff --check
  • Go-only residual scan across README, docs, tools, CI, Makefile, cmd, and examples for Python paths/commands

Post-Deploy Monitoring & Validation

No additional production monitoring required; this change is local CLI behavior, examples, tests, and documentation. For release validation, run the same verification commands above on the release candidate and smoke-test:

  • mailcli config init --config /tmp/mailcli-config.yaml --account work --driver imap --host imap.example.com --username you@example.com --password-env MAILCLI_IMAP_PASSWORD
  • mailcli config doctor --config /tmp/mailcli-config.yaml
  • mailcli config capabilities --config examples/config/fixtures-dir.yaml --account fixtures

Healthy signals: commands return JSON, no configured secret values are printed, and Go examples pass through go test ./.... Failure signals: Python path references reappear, config doctor leaks secret values, or demo artifacts are stale. Rollback is a revert of this PR.


Compound Engineering
🤖 Generated with GPT-5 via Codex

Move official agent examples and maintainer workflows to Go, remove the legacy Python example path, and add config init/doctor/capabilities contracts for existing-mailbox setup.

Config diagnostics now keep raw secret references separate from resolved values so unset environment variables are reported without leaking secrets.
@nonozone
nonozone merged commit a2cc90a into main Jul 6, 2026
0 of 2 checks passed
@nonozone
nonozone deleted the codex/go-account-capabilities branch July 6, 2026 09:48
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