Skip to content

Give doctor's --config axis flag its own attribute (4.0.0-B2) - #16

Merged
KeithRaghubar merged 1 commit into
mainfrom
fix/doctor-hang
Oct 30, 2026
Merged

KeithRaghubar merged 1 commit into
mainfrom
fix/doctor-hang

Conversation

@KeithRaghubar

Copy link
Copy Markdown
Owner

Summary

The --config axis flag (3.5.0-F18) and the loaded config both lived on args.config:

  • Bare sysforge doctor read the loaded config as the flag and ran only the config axis. It printed one section and exited, which looked like a hang.
  • sysforge doctor system read the flag's False as an already-loaded config and ran every axis against {}, so the toolchain, cache, graphics and storage checks ignored the live config.

The flag now stores to config_axis. Its spelling is unchanged, so completions, the man page and surface.json are untouched.

Test tier

Unit tests are enough here. The bug is argparse wiring plus pre_check, and the new tests drive the real parser (cli_args) and pre_check with a non-empty config. The existing _make_args helper passes config={}, which is falsy and hid the collision.

Testing

  • 3 new tests in tests/test_doctor.py, all failing before the fix
  • Full suite: 7722 passed
  • A real sysforge doctor now renders all 14 default axes in about 13 s

Merge order

Merge #15 first: it holds 4.0.0-B1, and until it merges check-standards warns about the gap at B1. Both PRs add a ## Fixed section to docs/release-notes/unreleased.md, so this branch needs a small rebase after #15 merges: keep one heading with B1 before B2.

🤖 Generated with Claude Code

The --config axis flag and the loaded config both lived on args.config.
Bare `sysforge doctor` read the loaded dict as the flag and ran only the
config axis; `doctor system` read the flag's False as an already-loaded
config and ran every axis against {}. The flag now stores to config_axis;
its spelling is unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@KeithRaghubar
KeithRaghubar merged commit 7b8428e into main Oct 30, 2026
3 checks passed
@KeithRaghubar
KeithRaghubar deleted the fix/doctor-hang branch October 30, 2026 21:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant