Skip to content

0.10.0 Issue #3 — AIS-CLI plan-batches + solve-problem (STRICT NO-WRITE) #474

Description

@SaJaToGu

0.10.0 Issue #3 — AIS-CLI plan-batches + solve-problem (STRICT NO-WRITE)

Part of #468
Release 0.10.0 — AIS Tooling Interface (CLI + Contracts).
Wave: 3 (CLI-Commands round-out).

Goal

Add the remaining two CLI commands: ais plan-batches (read-only)
and ais solve-problem (strict no-write in 0.10.0). solve-problem
does NOT create GitHub issues automatically; it only validates the
problem text, resolves the repo, optionally emits a local issue-body
markdown, and optionally passes through to solve-issue if --issue N
is provided.

Why separate

Smaller second wave; less risk than initial commands. The strict no-write
constraint requires its own test coverage to prevent regressions.

Dependencies

Acceptance Criteria

  • ais plan-batches --owner X --repo Y [--label L] --json works
    (delegates to scripts/plan_issue_batches.py)
  • ais solve-problem --repo <hint> --problem-file problem.md --dry-run --json
    validates the problem text and resolves the repo (no GitHub
    write, no PR creation)
  • ais solve-problem ... --emit-issue-body --json writes the
    issue-body markdown locally to reports/runs/<run-id>/issue-body.md
    (NOT to GitHub)
  • ais solve-problem ... --issue N --dry-run --json validates
    and previews the action for an existing issue (no write)
  • No GitHub write occurs in any of these modes; this is
    enforced by an explicit negative test (no github_client.create_issue
    or similar is called)
  • All outputs use JSON-Contract v1.0 + Secret-Redaction

Files

New:

  • ais_cli/commands/plan_batches.py
  • ais_cli/commands/solve_problem.py
  • tests/test_ais_cli/test_plan_batches.py
  • tests/test_ais_cli/test_solve_problem_no_write.py

Tests

  • Smoke + dry-run for both commands
  • Explicit no-write test: monkey-patch the github_client module
    to raise if create_issue / create_pull_request / similar is
    called from any code path in solve-problem
  • Secret-redaction: secret-pattern in problem-text is redacted in output

Risk

LOW.

LOC-Budget

< 500 net.

Recommended Model

Small coding model (gpt-4o-mini).

Parallelizable

No (Wave 3; runs after #2 and #1d).

Reference

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions