feat(core): add validated configuration and CLI foundation
This commit is contained in:
@@ -261,7 +261,7 @@ Allowed status values: `NOT STARTED`, `IN PROGRESS`, `BLOCKED`, `DONE`.
|
||||
| Milestone | Status | Outcome |
|
||||
|---|---|---|
|
||||
| M0 | DONE | Test harness and safe project skeleton |
|
||||
| M1 | NOT STARTED | Runtime foundation, CLI shell, and config loading |
|
||||
| M1 | DONE | Runtime foundation, CLI shell, and config loading |
|
||||
| M2 | NOT STARTED | WireGuard parser, client model, `status`, and `list` |
|
||||
| M3 | NOT STARTED | Locking, backups, atomic apply, and rollback engine |
|
||||
| M4 | NOT STARTED | Safe client creation |
|
||||
@@ -1565,6 +1565,20 @@ Use this template:
|
||||
- Suggested commit message: `test: add isolated Bash test harness and project skeleton`
|
||||
- Next milestone: M1
|
||||
|
||||
## 2026-10-11 — M1 — DONE
|
||||
|
||||
- Implemented: stable exit codes and output helpers, caller-independent project paths with scoped runtime overrides, restricted non-executing configuration parsing and semantic validation, dependency discovery, fixed-order `gum` resolution, version/help and known-command CLI dispatch, focused configuration tests, and M1 usage documentation.
|
||||
- Coordinator: `gpt-5.6-sol` (`high`)
|
||||
- Subagents: `milestone_worker` / `milestone_repairer`, `gpt-5.6-luna` (`medium`)
|
||||
- Repair cycles: 3
|
||||
- Sol review: replaced duplicate-masked semantic tests with single-cause fixtures; added real focused-test dispatch and missing parser/validator/gum/dependency/CLI branches; made disabled debug strict-mode safe; fixed server-address range containment, empty/trailing DNS elements, numeric endpoint and hostname validation, gum regular-file checks, malformed IPv6 compression, and bracket-glob paths; removed unintended staging from two test helpers.
|
||||
- Verification: `bash -n wg-manager.sh`, `bash -n tests/*.sh`, `bash -n tests/mocks/bin/*`, `bash tests/run.sh`, `./wg-manager.sh help`, `./wg-manager.sh version`, `(cd /tmp && /home/sasa/share/bash/wireguard-scripts/wg-manager.sh help)`, `bash tests/run.sh config`, `git diff --check`, `git diff --no-index --check /dev/null <new-file>`, redirected-output checks, and independent IPv6/path/debug boundary probes.
|
||||
- Result: all required checks passed; the full suite passed 158 assertions and the focused configuration suite passed 109 assertions. Help and version required no configuration, root, WireGuard, or `gum`; malicious configuration remained inert; alternate runtime paths and gum precedence passed through isolated fixtures and mocks. Optional `shellcheck wg-manager.sh tests/*.sh tests/mocks/bin/*` was `SKIP` because ShellCheck is unavailable.
|
||||
- Decisions: none
|
||||
- Known limitations: real WireGuard, networking, service, firewall, route, sysctl, journal, and deployment-server checks were not run; M1 verification is fixture- and mock-based as required.
|
||||
- Suggested commit message: `feat(core): add validated configuration and CLI foundation`
|
||||
- Next milestone: M2
|
||||
|
||||
# 8. Final completion rule
|
||||
|
||||
The MVP is complete only when:
|
||||
|
||||
Reference in New Issue
Block a user