Skip to content

Release adanos-cli v1.31.0 with API 1.46 compatibility and CLI UX fixes - #16

Merged
alexander-schneider merged 4 commits into
mainfrom
codex/cli-v1.31-api-compat
Jul 3, 2026
Merged

Release adanos-cli v1.31.0 with API 1.46 compatibility and CLI UX fixes#16
alexander-schneider merged 4 commits into
mainfrom
codex/cli-v1.31-api-compat

Conversation

@alexander-schneider

Copy link
Copy Markdown
Contributor

Summary

  • Bump adanos-cli to 1.31.0 and document the release.
  • Fix adanos ask crypto routing for BTC/ETH/SOL and common crypto compare prompts.
  • Respect explicit --output text, add --plain, --no-color, --no-input, and harden secret input with --api-key-stdin / --api-key-file.
  • Replace raw endpoint JSON in human mode with compact summaries/tables for trending/search/stats/endpoint calls.
  • Add grouped/filterable endpoint list --platform ... --search ....
  • Extend capabilities JSON with output modes, secret input methods, config paths, exit codes, and JSON contract details.
  • Report corrupt config.json / credentials.json in doctor.

API 1.44 -> 1.46 compatibility

  • API latest verified as 1.46.0 via live root.health smoke.
  • Polymarket stock human output now shows pulse mood/confidence/thin-data/warnings/evidence summary when present.
  • Polymarket top_mentions are labeled as representative market sentiment evidence and include market_status when available.
  • Human summaries prefer daily_trend[].bullish_pct / bearish_pct.
  • Docs clarify market_count as selected-window breadth and current_market_count as live active breadth.
  • Python SDK floor remains adanos>=2.6.0,<3; PyPI latest is still 2.6.0, and API 1.45/1.46 changes are additive/pass-through.

Tests and verification

  • .venv/bin/python -m pytest tests -q -> 181 passed
  • .venv/bin/python scripts/cli_audit.py
  • .venv/bin/python -m build
  • Manual offline smokes:
    • adanos --output text endpoint list --platform polymarket-stocks --search stock
    • adanos --output text endpoint call root.health returned API 1.46.0
    • adanos --output text stock TSLA > /tmp/adanos-stock-text.txt produced non-JSON text
    • bad base URL flow returns friendly network error
    • secret-log smoke confirmed no dummy key or key-file path leak in stdout/stderr/activity log

Autoreview

  • Ran $autoreview repeatedly on origin/main...codex/cli-v1.31-api-compat.
  • Fixed accepted findings around crypto name compare routing, health false status rendering, --api-key-file log redaction, --no-input onboarding, and --plain vs explicit JSON precedence.
  • Final autoreview result: clean, no accepted/actionable findings.

Notes

  • Authenticated live API smoke was skipped because ADANOS_API_KEY was not present in the local environment. No API key was written to the repo or logs.
  • No GitHub release or tag is created by this PR.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces several enhancements to the Adanos CLI, including new global flags (--no-color, --no-input, --plain), secure secret input methods (--api-key-stdin, --api-key-file), and grouped/filterable endpoint listing. It also improves human-readable output formatting, enhances NLP routing for common cryptocurrency queries, and provides user-friendly error messages for network connectivity issues. Two key improvements were identified in the review: first, Path.expanduser() should be used when reading the API key file to correctly resolve paths starting with ~; second, a safe fallback should be added when filtering endpoint descriptions to prevent an AttributeError if a description is missing.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread src/adanos_cli/commands/secrets.py Outdated
Comment thread src/adanos_cli/main.py Outdated

@alexander-schneider alexander-schneider left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Senior code review — v1.31.0 (API 1.46 compat + CLI UX)

Reviewed the PR diff from three independent senior perspectives (correctness, CLI-contract/back-compat, security/robustness) plus a simplification pass, each verified against the code by running it in an isolated worktree at HEAD (e625bc7).

Verified good — no action needed:

  • Test suite passes (182 passed; the lone test_start_screen_* failure only reproduces under a color-enabled pseudo-TTY and passes with NO_COLOR=1 — environmental, not a regression). New scripts/cli_audit.py CI gate passes.
  • The new human formatters degrade gracefully on hostile/malformed payloads (pulse-as-list, top_mentions items as strings, daily_trend as dict, numbers-as-strings, None) — the isinstance guards + _extract_endpoint_rows dict-filter hold; no reachable crash.
  • API key never leaks: --api-key-stdin/--api-key-file keep the secret out of argv; login/auth echo only masked_key; sanitize_argv/_command_name handle the new flags correctly.
  • --output default textNone is behavior-preserving for piping; --no-color/NO_COLOR is honored live by supports_color(); nlp crypto routing changes are covered by tests.

Findings (inline, tagged by severity). Nothing blocking; the two medium correctness/contract items are worth addressing before release:

  • correctness: broken network-error fallback (.request raises, not AttributeError)
  • robustness: --no-color mutates process-global os.environ and sticks for a whole shell session
  • contract: documented "auth → exit 2" but data-endpoint 401 exits 1 (while account exits 2)
  • maintainability: _format_polymarket_stock_details duplicated verbatim across two modules
  • plus several low-severity cleanups and doc/contract accuracy nits

Note: gemini's earlier secrets.py ~-expansion comment is still unaddressed; its spec.description.lower() note is defensive-only (EndpointSpec.description is typed str and every spec sets it, so it's not currently reachable).

Comment thread src/adanos_cli/main.py Outdated
Comment thread src/adanos_cli/main.py Outdated
Comment thread src/adanos_cli/main.py Outdated
Comment thread src/adanos_cli/main.py Outdated
Comment thread src/adanos_cli/main.py Outdated
Comment thread src/adanos_cli/commands/secrets.py Outdated
Comment thread src/adanos_cli/main.py Outdated
Comment thread README.md
Comment thread CHANGELOG.md
Comment thread CHANGELOG.md Outdated
@alexander-schneider
alexander-schneider merged commit 553004b into main Jul 3, 2026
1 check passed
@alexander-schneider
alexander-schneider deleted the codex/cli-v1.31-api-compat branch July 3, 2026 08:12
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