Skip to content

v0.7.0 feat: add zero-config agent discovery - #18

Merged
minglong51 merged 4 commits into
mainfrom
feat/zero-config-agents
Aug 25, 2026
Merged

v0.7.0 feat: add zero-config agent discovery#18
minglong51 merged 4 commits into
mainfrom
feat/zero-config-agents

Conversation

@minglong51

@minglong51 minglong51 commented Aug 25, 2026

Copy link
Copy Markdown
Owner

Summary

  • Run bare clilane on a clean setup and immediately choose any installed Codex, Kimi, or Claude CLI without creating hub.json first.
  • Resolve agents from the shell PATH captured when the switcher opens, then pin the exact executable path so launching cannot drift after changing projects.
  • Start new sessions in the directory where clilane was invoked; returning from a managed job uses that job's project directory.
  • Keep present default and explicit configs authoritative, including intentionally empty configs, with state-specific guidance when discovery is disabled.
  • Extend the native PTY suite with deterministic zero-config, source-project, config-precedence, and helper edge-case coverage.

Test Coverage

AI-assessed persistent regression coverage: 83% (20/24 paths), above the 80% target.

Discovery
  [tested] missing and empty PATH
  [tested] found subset, unavailable agents omitted, exact executable retained
  [tested] relative PATH anchored to launch cwd
  [tested] Codex → Kimi → Claude ordering
  [tested] non-absolute discovery directory rejected
Config
  [tested] absent default config enables discovery
  [tested] present default or explicit config is authoritative
  [tested] intentionally empty config suppresses discovery
  [tested] explicit missing config errors
Native flows
  [tested] zero-config launch in invocation cwd with prompt delivery and detach
  [tested] launch from a managed job uses source-job cwd
  [tested] configured, empty-config, multi-client, privacy, and oversized-env flows

Coverage: 20/24 (83%)
Remaining gaps: legacy-context fallback/validation, an empty PATH component,
and the no-installed-agent journey after Tab/Enter.

Pre-Landing Review

Approved with no findings. Independent specialist quality score: 9.6/10.

The review verified terminal safety, exact executable resolution, old-context compatibility, cleanup behavior, PTY reliability, version consistency, and macOS/Linux portability. It also confirmed that the earlier coverage and empty-config guidance findings are resolved.

Design Review

No frontend files changed; design review was not applicable.

Eval Results

No prompt-related files changed; evals were not applicable.

Scope Drift

Scope Check: CLEAN. The diff is limited to zero-config agent discovery, project-aware launch context, user guidance, regression coverage, and v0.7.0 assertions.

Plan Completion

  • Zero-config discovery and authoritative config precedence
  • Exact executable paths and captured PATH behavior
  • Invocation and source-job project directories
  • State-specific no-agent guidance and README documentation
  • Durable native PTY regression coverage
  • macOS/Linux Python 3.10 matrix

Verification Results

  • PYTHONDONTWRITEBYTECODE=1 python3 tests/hub_pty.py
  • PYTHONDONTWRITEBYTECODE=1 python3 tests/test_provider_evidence.py (23 tests)
  • Python 3.10 AST grammar for the CLI and PTY test
  • Workflow YAML parsing
  • Version assertions and git diff --check
  • GitHub macOS/Linux smoke matrix on the final head

Refactor opportunities

  • Split the 4,000-line single-file executable into lifecycle, hub UI, and config/discovery modules when the Homebrew packaging strategy can preserve the current one-file install.
  • Break the growing PTY smoke file into scenario-focused runners if more hub journeys are added, so failures localize faster without losing real-terminal coverage.
  • Persist structured lane provenance instead of inferring BOT origin from environment markers.

Test plan

  • Native hub PTY suite passes locally
  • Provider-evidence suite passes locally
  • GitHub macOS/Linux smoke matrix passes

Generated with OpenAI Codex.

minglong51 and others added 4 commits August 25, 2026 00:02
Discover installed Codex, Kimi, and Claude CLIs from the invoking shell PATH when hub config is absent. Preserve project cwd, explicit config precedence, and cover the native PTY flows.

Co-Authored-By: OpenAI Codex <noreply@openai.com>
Give the popup time to accept input after returning from a launched agent, preventing the second Ctrl-Q from racing the macOS tmux transition.
Wait for the returned hub to show the launched job, then use the empty-composer Left action. This avoids recursively invoking the tmux Ctrl-Q binding while the popup is still taking focus on macOS CI.
Require a fresh composer redraw after Ctrl-U before sending Left. This proves the returned popup owns input instead of relying on frame output or a fixed delay.
@minglong51
minglong51 merged commit 4ae5cee into main Aug 25, 2026
2 checks passed
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