more stratch pads

This commit is contained in:
Dobromir Popov
2026-07-29 15:37:40 +02:00
parent c28f565573
commit 0e2d530ed6
6 changed files with 141 additions and 1 deletions

View File

@@ -0,0 +1,33 @@
# AD-002: Deepen Node startup orchestration
- **Status:** needs-triage
- **Priority:** p1
- **Dependencies:** AD-001
- **Evidence:** `run_startup()` in `packages/node/meshnet_node/startup.py` has cyclomatic complexity 101, a broad caller-facing parameter surface, and coordinates hardware, wallet, assignment, artifacts, server construction, capability proof, and Tracker registration.
## Objective
Create a deep Node startup module with explicit immutable startup intent and one execution seam, so callers and tests do not need to understand the full startup sequence.
## Constraints
- Retain the existing explicit capability-validator adapter used by tests.
- Preserve current CLI behavior, registration data, startup ordering, and Transformers behavior.
- Keep native-worker supervision out of scope: DGR-040 owns it. The result may expose a phase where DGR-040 can later attach, but must not implement that worker supervision.
## Acceptance criteria
- [ ] Characterization tests pin successful startup, capability refusal before registration, assignment behavior, and failure classification.
- [ ] The public startup interface accepts a cohesive intent/plan rather than leaking orchestration details across callers.
- [ ] Hardware/assignment, artifact/server, and proof/registration behavior are internally ordered and individually testable through internal seams.
- [ ] Existing `tests/test_node_startup.py`, `tests/test_node_admission.py`, and mining CLI tests retain behavior.
- [ ] `pytest` targeted tests and `python -m compileall packages tests` pass.
## Likely files
- Modify: `packages/node/meshnet_node/startup.py`, `packages/node/meshnet_node/testing.py`, `packages/node/meshnet_node/cli.py`
- Modify/add: `tests/test_node_startup.py`, `tests/test_node_admission.py`, `tests/test_mining_cli.py`
## Non-goals
No new backend type, no Tracker placement algorithm change, and no native-worker process supervision.