Missing pieces
- Command contract: an explicit CTS-style contract for its public commands
- Exit code table documenting mapping to CTS bands
- JSON output envelope schema (
CommandOutput.schema.json), or documented adherence to one
--help output and documented CLI usage examples
- Version output and a release checklist
- Structured error examples and a documented machine-readable error object
- Build/release artifacts and release verification (
build_verified=false, release_verified=false)
- Local
config.toml setup documented as a required bootstrapping step (copy from config.example.toml, set the API key)
Next steps
- Document a CTS-compliant command contract (purpose, invocation, inputs, stdout/stderr behavior, machine-readable mode, exit codes, examples, stability notes)
- Publish an exit code table and ensure
Summarizer.py exits match it
- Add a documented JSON envelope (or
CommandOutput.schema.json) and a --json flag that emits it without progress text on stdout
- Add
--help and --version flags, with runnable examples for both automation and human use
- Create a release checklist and produce build artifacts to move
verification.build_verified to true
- Document bootstrap steps: copy
config.example.toml, set the environment API key, validate model endpoint connectivity
- Add lightweight tests validating
ModelClient fallback behavior (Ollama → OpenAI) and end-to-end summary generation for one sample project
Potential improvements
- Emit a strict CTS JSON envelope by default when
--json is passed, keeping human-readable output separate
- Expose progress and verbose logs exclusively on stderr so stdout stays machine-readable
- Add a
--dry-run mode for any future mutating operations
- Cache model responses with a local replay mode, to avoid repeated API calls during iterative development
- A small CLI shim that validates
ProjectIndex.md counts and reports mismatches before a full (paid) run
Creative enhancements (ideas on file, not committed)
- Delta-driven re-evaluation: track file hashes per project and only re-run analysis for changed projects, saving model calls
- A local model-benchmark harness comparing multiple LLMs (Ollama vs. OpenAI) on a held-out project set, surfacing cost/quality tradeoffs
- DuckDB export of summaries for ad-hoc SQL analytics and historical trend queries across portfolio snapshots
- An automated migration assistant suggesting manifest fixes or missing fields for child projects, based on template comparisons
- Webhook/notification integration to push top-priority project changes to a private chat or task board