Skip to content

Commit 896b54f

Browse files
authored
Merge pull request #129 from JRS1986/feat/v0.7.0-cleanup-and-perf
v0.7.0: cleanup + perf (--tool both removal, probe_hardware cache, pytest-xdist)
2 parents 9e237c0 + 8982fd6 commit 896b54f

17 files changed

Lines changed: 1649 additions & 228 deletions

CHANGELOG.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,39 @@ aims to follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

88
## [Unreleased]
99

10+
### Removed (breaking)
11+
12+
- **`--tool both`** removed. The CLI now exits 1 with the three-line error
13+
shape (`error: ... / next: use --tool opencode,openclaude / see: Upgrading`).
14+
Deprecated in v0.6.0. See [Upgrading](docs/docs/wiki/Upgrading.md).
15+
- **`_normalize_persisted_intake` back-fill helper** removed. A `project.json`
16+
written by 0.5.x that was never updated through 0.6.x now silently ignores
17+
its legacy `tool` / `agent` keys and falls back to `DEFAULT_TOOLS`
18+
(`opencode`). Re-run `coding-scaffold setup run` to regenerate.
19+
- **`IntakeAnswers.agent` property** removed. Use `IntakeAnswers.tools[0]`.
20+
- **Stale `"both"`-handling branches** in `installers.py:build_install_plans`
21+
and `cli.py:_maybe_setup_knowledge` cleaned up — dead code post-removal.
22+
23+
### Changed
24+
25+
- **`probe_hardware()` is now cached** at
26+
`$XDG_CACHE_HOME/coding-scaffold/hardware.json` (default `~/.cache/...`)
27+
with a 1-hour TTL keyed on OS / arch / Python version. Warm-call
28+
performance: `doctor` 243ms → 78ms median (**3.1×**); `pilot` 235ms →
29+
79ms (**3.0×**). New `--no-probe-cache` flag on `doctor` / `pilot` /
30+
`probe` forces a fresh probe (use after installing a new local runtime
31+
like `ollama`).
32+
- **`CODING_TOOLS` / `VALID_TOOLS` consolidated.** `intake.py` holds the
33+
canonical tuple; `cli.py` re-exports it as a list for argparse and
34+
derives `INSTALLABLE_TOOLS`. `VALID_TOOLS = frozenset(CODING_TOOLS)`.
35+
The drift-detection test that policed the previous duplication is
36+
replaced with a one-line derivation invariant.
37+
38+
### Tests
39+
40+
- **pytest-xdist enabled** (`addopts = "-n auto"`). Test suite ~22s → **~3s**
41+
with parallel workers; 637 tests pass.
42+
1043
## [0.6.0] — 2026-05-27
1144

1245
### Added

0 commit comments

Comments
 (0)