claudebox/.planning/phases/02-env-audit-and-cli-polish/02-DISCUSSION-LOG.md

3 KiB

Phase 2: Env Audit and CLI Polish - Discussion Log

Audit trail only. Do not use as input to planning, research, or execution agents. Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.

Date: 2026-04-09 Phase: 02-env-audit-and-cli-polish Areas discussed: Env audit display format, Confirmation and non-interactive behavior


Env Audit Display Format

Grouping

Option Description Selected
Grouped by source Three sections: Sandbox-generated, Host (allowlisted), Extra (CLAUDEBOX_EXTRA_ENV)
Flat key=value list Simple sorted list, no categories
You decide Claude's discretion

User's choice: Grouped by source Notes: User wants PATH split by : with one entry per line. Wants automatic spacing and color coding.

Color/Formatting

Option Description Selected
gum (Charm TUI) Rich formatting, handles terminal detection, adds ~15MB
Plain ANSI codes printf with escape sequences, zero dependencies
You decide Claude's discretion

User's choice: Plain ANSI codes Notes: User initially considered gum but chose zero-dependency approach.

Value Masking

Option Description Selected
Mask sensitive values Pattern-match on var name, show first 7 + last 4 chars
Show full values Display everything as-is
You decide Claude's discretion

User's choice: Mask sensitive values Notes: User asked about dependency for secret detection. Decided pattern-matching on var names is sufficient.

Masking Approach

Option Description Selected
Pattern-match var names Regex: KEY, TOKEN, SECRET, PASSWORD, CREDENTIAL
Hardcoded list Only mask ANTHROPIC_API_KEY specifically

User's choice: Pattern-match var names


Confirmation and Non-Interactive Behavior

Prompt Style

Option Description Selected
y/N prompt Default abort, user must type 'y'
Y/n prompt Default proceed, Enter launches
You decide Claude's discretion

User's choice: Y/n prompt (default proceed)

Non-TTY Behavior

Option Description Selected
Auto-proceed Behave as if --yes in non-interactive
Abort if no TTY Refuse to run without explicit --yes
You decide Claude's discretion

User's choice: Abort if no TTY — forces scripts to opt-in with --yes

Output Destination

Option Description Selected
stderr Audit and prompt to stderr, stdout clean
stdout Everything to stdout

User's choice: stderr


Claude's Discretion

  • --dry-run output format
  • --check diagnostic depth and format
  • Exact ANSI color choices
  • Flag parsing order

Deferred Ideas

None