feat(skill-doctor): add Amp harness support - #83
Conversation
Review breadcrumbs
|
|
Every PR must be linked to a same-repo issue before Oz can review it. Next step: open or find a same-repo issue describing this change, then link it to this PR by adding Powered by Oz |
There was a problem hiding this comment.
Every PR must be linked to a same-repo issue before Oz can review it.
Next step: open or find a same-repo issue describing this change, then link it to this PR by adding Closes #123 to the PR description (or using the "Development" sidebar on GitHub). A maintainer will mark the issue ready-to-implement when it is ready. Once it is marked, comment /warp-agent-review to re-trigger review.
Powered by Oz
skill-doctorcurrently rejects Amp at its startup gate, even though Amp exposes the conversation and skill data that the collector needs. This change adds Amp as a supported harness without changing scoring, aggregation, sampling, suggestions, or report generation.Review guide
The diff is limited to the supported-harness reference and the collector. Start with the harness contract, then review the Amp adapter in
collect_sessions.py. The main review consideration is the normalization from Amp thread JSON into the existing shared session shape.What changed
ampsource selection for--harness amp, Amp-awareauto, andall.--include-subagents.amp skill list --json, while excluding built-ins.file:paths.The collector uses authenticated structured
amp threadsJSON instead of filesystem scraping. Amp threads are available through the same CLI contract in orbs and local runners across operating systems; no stable platform-specific transcript path is required.Validation
python3 -m unittest -v test_collect_sessions.py test_render_report.py(16 tests).python3 -m py_compile.harness: amp; sampling was disabled and no transcript file was emitted.26049947+thesammykins@users.noreply.github.com.Transient synthetic checks covered source selection, repository/all-conversation discovery, malformed data, child-thread handling, timestamps, content extraction, Windows paths, and global skill discovery. They are intentionally not included in this diff, so this PR does not add upstream Amp regression tests.
Privacy and limitations
No real conversation data, transcripts, reports, logs, or generated artifacts are included. Collection requires an authenticated compatible Amp CLI. Child classification uses
parent:<thread ID>queries because Amp thread summaries do not expose parent metadata.Closes #84