Skip to content

feat(cli): add slash completion and exit commands - #334

Merged
Brian Krabach (bkrabach) merged 3 commits into
mainfrom
feat/interactive-slash-completion
Sep 9, 2026
Merged

Brian Krabach (bkrabach) merged 3 commits into
mainfrom
feat/interactive-slash-completion

Conversation

@bkrabach

@bkrabach Brian Krabach (bkrabach) commented Sep 9, 2026 •

Copy link
Copy Markdown
Collaborator

What changed

  • Add snapshot-backed interactive slash completion for built-ins, provider/mode/config controls, user-invocable skills, and bounded /goal/directory verbs.
  • Add explicit /exit and /quit commands with usage validation, preserving bare exit/quit compatibility and shared TTY cleanup.
  • Derive help and completion from the static command registry, with built-in precedence over dynamic mode/skill aliases.

Why

Interactive users can discover valid command syntax without keypress-time discovery or provider/filesystem/network work, and can leave the REPL through an explicitly authorized command path that always reaches normal cleanup.

Verification

  • Local full suite: 2134 passed, 1 skipped, 1 xfailed, 13 deselected.
  • Local integration suite: 13 passed.
  • Targeted Windows teardown fixture tests: 12 passed.
  • uv run ruff check on all changed Python files: passed.
  • git diff --check and staged secret-pattern scan: clean.
  • Terminal evidence: actual DTU report passed exit/quit clean exit, usage rejection with continued prompting, menu Enter selection with second Enter submission, and cleanup. The report is PARTIAL only because the 120x40 viewport could not show every help row and did not visually confirm the trailing separator; static/runtime registry and unit coverage verify those behaviors.

Breaking changes

None.

Notes

No host paths, DTU identifiers, internal model names, or private captures are included. The optional memory adopter PR remains independent and is not a dependency of this CLI change.

Fixture repair

  • The initial CI run failed only in the two Windows test jobs because interactive teardown tests reached the native-console preflight before the mocked prompt.
  • This push corrects that test fixture only: it keeps the fake REPL headless; no production code or platform skip was added.

Generated with Amplifier

Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
Generated with Amplifier

Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
Generated with Amplifier

Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
@bkrabach
Brian Krabach (bkrabach) merged commit da560e0 into main Sep 9, 2026
9 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.

2 participants