Skip to content

feat: v0.7.9 — pais support-bundle one-shot artifact zip - #25

Merged
dshahnaz merged 2 commits into
mainfrom
feat/support-bundle
Apr 18, 2026
Merged

dshahnaz merged 2 commits into
mainfrom
feat/support-bundle

Conversation

@dshahnaz

Copy link
Copy Markdown
Owner

Summary

Replaces the manual "run doctor, run chat, zip logs" recipe with a single non-interactive command:

```bash
pais support-bundle # package whatever's already on disk
pais support-bundle --chat <agent_id> --file prompt.md # reproduce a failing turn first, then bundle
pais support-bundle -o /tmp/bug.zip # custom output path
```

What it does:

  1. Runs `pais doctor` (fresh deployment snapshot: KB/index/agent inventory + allowlisted non-secret settings).
  2. Optional `--chat --file`: sends the prompt once; any exception is routed through the v0.7.8 auto-dump so a fresh `chat-errors/-.json` lands on disk.
  3. Zips: latest `doctor-.md`, every `chat-errors/.json`, and the rolling `pais.log`.
  4. Emits a JSON manifest on stdout with `bundle` path, `included` list, `chat_errors` count, and `settings_snapshot` — scripts can parse it.

Default output is `/tmp/pais-bundle-.zip`. Secrets never enter the bundle (allowlisted settings only; no Authorization headers; prompt excerpts already capped at 2 KB by the v0.7.8 dump).

Test plan

  • `uv run pytest -q` — 407 passed (+3 new)
  • `uv run ruff check && uv run ruff format --check && uv run mypy src` — clean
  • New tests: existing artifacts bundled, pre-existing chat-errors picked up, `--chat` without `--file` errors cleanly
  • CI green on 3.10 / 3.11 / 3.12

🤖 Generated with Claude Code

dshahnaz and others added 2 commits April 18, 2026 18:06
Replace the manual "run doctor, run chat, zip logs" recipe with a
single non-interactive command:

  pais support-bundle [--chat <agent_id> --file prompt.md] [-o bundle.zip]

Runs doctor, optionally reproduces a failing chat turn (relies on
v0.7.8 auto-dump), then zips the latest doctor report, every
chat-errors/*.json, and pais.log. Prints a JSON manifest with the
bundle path so scripts can pick it up. Default: /tmp/pais-bundle-<ts>.zip.

Tests: 407 passed (+3 new).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CI typer strips the BadParameter message text to just the Usage banner;
`--file` literal no longer appears in output. Switch to exit-code
assertion (2 = typer parse error) which is stable across typer versions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@dshahnaz
dshahnaz merged commit d481d1a into main Apr 18, 2026
3 checks passed
@dshahnaz
dshahnaz deleted the feat/support-bundle branch April 18, 2026 14:09
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