* feat(phase2): pip wheel install + probe-agent CLI + auto-discovery
- Add `probe-agent start/stop/status` subcommand to CLI; reuses
SessionManager (profile="agent") so no new subprocess logic needed;
target auto-detected from `pyocd json --probes` when omitted
- Add auto-discovery in SessionManager.start(): if agent.json exists
in agent_state_dir and the TCP port is reachable, use it as an
external agent instead of spawning pyocd — transparent to callers
- Add PROBE_BROKER_AGENT_STATE_DIR config field (default ~/.brontes-probe-mcp);
Dockerfile sets it to /run/brontes-probe-mcp so volume-mounted host
agent.json is visible in the container
- Fix socket_path default from Docker-centric /run/brontes-probe-mcp/probe.sock
to ~/.brontes-probe-mcp/probe.sock (Dockerfile ENV overrides for container)
- Relax pyocd constraint from >=0.36,<0.37 to >=0.36 for host installs
- Add .github/workflows/publish.yml for PyPI OIDC trusted publishing on tags
- README: add Option E (pip install, no Docker), update Option B to use
probe-agent CLI, expand CLI section with probe-agent surface
- 4 new auto-discovery mock tests; update test_default_socket_path
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(review): address PR #12 review findings
- Replace double pyocd invocation with single _probe_boards() call that
returns the full boards list; failure path reuses the same result
- Remove spurious # noqa: E501 from session.py stop() signature
- Pin pypa/gh-action-pypi-publish to v1.14.0 (avoid floating pin)
- Update PROBE_BROKER_AGENT_STATE_DIR config table entry with --state-dir
consistency note
- Add probe-agent CLI unit tests: profile forwarding, auto-detect happy
path, no-probe and ambiguous-probe error paths, stop/status subcommands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* chore(release): bump version to 0.2.0, add CHANGELOG entry
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>