Session follow-ups: run id and verified folders, aliases, declared deps, docs

Merged
KA
10h ago
+260-59

Why

Follow-ups to #151:

  • The session imported two packages that were only installed as dependencies of other packages.
  • The line-by-line CLI's /quit and /commands stopped working.
  • The website docs still described the old prompt.
  • A run's id and folder were hard to find from the session.

What

  • Declare prompt-toolkit and markdown-it-py as direct dependencies.
  • /quit runs /exit and /commands runs /help. The / menu also matches them by alias.
  • engineer passes --output-dir on to the prompts typed after its first run, like agent and collector.
  • The status row under the input shows the run id.
  • When the agent verifies the client, the verified step lists the run's folder and its synced ./scripts copy as absolute, clickable paths.
  • Docs:
    • the full-screen session, its slash commands and keys;
    • subcommands opening the session in a terminal;
    • which runs /resume can pick up;
    • the current models, effort, and the default config as the code defines it.

Verification

  • pytest: 1194 passed, 8 skipped. ruff check and mypy clean.
  • End-to-end tests in a real terminal (pty): 130/130 checks. These include /commands and /quit, the run id in the status row, the verified folders, and opening a folder by clicking it.
  • pnpm build in website/: 22 pages.

Out of scope

Porting /settings, manual, collector and OpenCode runs into the session.