Phase 0 WP-0.10–0.12: Host skeleton, options classes, sample configs, and execution framework
- WP-0.10: Role-based Host startup (Central=WebApplication, Site=generic Host), 15 component AddXxx() extension methods, MapCentralUI/MapInboundAPI stubs - WP-0.11: 12 per-component options classes with config binding - WP-0.12: Sample appsettings for central and site topologies - Add execution procedure and checklist template to generate_plans.md - Add phase-0-checklist.md for execution tracking - Resolve all 21 open questions from plan generation - Update IDataConnection with batch ops and IAsyncDisposable 57 tests pass, zero warnings.
This commit is contained in:
113
docs/plans/phase-0-checklist.md
Normal file
113
docs/plans/phase-0-checklist.md
Normal file
@@ -0,0 +1,113 @@
|
||||
# Phase 0 Execution Checklist
|
||||
|
||||
**Phase**: Solution Skeleton & Delivery Guardrails
|
||||
**Started**: 2026-03-16
|
||||
**Completed**: in progress
|
||||
|
||||
---
|
||||
|
||||
## Work Package Status
|
||||
|
||||
| WP | Description | Status | Date | Deferred Criteria | Notes |
|
||||
|----|-------------|--------|------|-------------------|-------|
|
||||
| WP-0.1 | Solution Structure | [ ] Pending | | | |
|
||||
| WP-0.2 | Commons Namespace & Folder Skeleton | [ ] Pending | | | |
|
||||
| WP-0.3 | Commons Shared Data Types | [ ] Pending | | | |
|
||||
| WP-0.4 | Commons Domain Entity POCOs | [ ] Pending | | | |
|
||||
| WP-0.5 | Commons Repository Interfaces | [ ] Pending | | | |
|
||||
| WP-0.6 | Commons Cross-Cutting Service Interfaces | [ ] Pending | | | |
|
||||
| WP-0.7 | Commons Message Contracts | [ ] Pending | | | |
|
||||
| WP-0.8 | Commons Protocol Abstraction | [ ] Pending | | | |
|
||||
| WP-0.9 | Commons Architectural Constraint Enforcement | [ ] Pending | | | |
|
||||
| WP-0.10 | Host Skeleton with Role-Based Startup | [ ] Pending | | | |
|
||||
| WP-0.11 | Per-Component Options Classes | [ ] Pending | | | |
|
||||
| WP-0.12 | Local Dev Topology & Sample Config | [ ] Pending | | | |
|
||||
|
||||
## Mid-Phase Compliance Checks
|
||||
|
||||
| Check | Date | Result | Notes |
|
||||
|-------|------|--------|-------|
|
||||
| Build (zero warnings) | | [ ] Pass / [ ] Fail | |
|
||||
| All tests pass | | [ ] Pass / [ ] Fail | |
|
||||
| Deferred criteria review | | [ ] Pass / [ ] N/A | |
|
||||
| Traceability spot-check (3 random) | | [ ] Pass / [ ] Fail | |
|
||||
|
||||
## Verification Gate
|
||||
|
||||
| # | Gate Criterion | Pass | Notes |
|
||||
|---|---------------|------|-------|
|
||||
| 1 | `dotnet build ScadaLink.slnx` zero errors, zero warnings | [ ] | |
|
||||
| 2 | `dotnet test ScadaLink.slnx` all tests pass | [ ] | |
|
||||
| 3 | Host boots in central role from appsettings.Central.json | [ ] | |
|
||||
| 4 | Host boots in site role from appsettings.Site.json | [ ] | |
|
||||
| 5 | Site-role Host does not open any network port | [ ] | |
|
||||
| 6 | All 17 component projects compile with correct Commons references | [ ] | |
|
||||
| 7 | Commons has zero non-core-NET package references | [ ] | |
|
||||
| 8 | All architectural constraint tests pass (no EF, Akka, ASP.NET in Commons) | [ ] | |
|
||||
| 9 | All entity POCOs use DateTimeOffset for timestamp fields | [ ] | |
|
||||
| 10 | All message contracts are record types | [ ] | |
|
||||
| 11 | Every Requirements/Design Constraints checklist item maps to a WP | [ ] | |
|
||||
|
||||
## Requirements Checklist Verification
|
||||
|
||||
Verified when all WPs complete — see phase plan Section 3 for full list.
|
||||
|
||||
| Req Group | Count | Implemented | Tested |
|
||||
|-----------|-------|-------------|--------|
|
||||
| 13.1 Timestamps | 3 | [ ] | [ ] |
|
||||
| REQ-COM-1 Shared Types | 12 | [ ] | [ ] |
|
||||
| REQ-COM-2 Protocol Abstraction | 3 | [ ] | [ ] |
|
||||
| REQ-COM-3 Entity POCOs | 13 | [ ] | [ ] |
|
||||
| REQ-COM-4 Repository Interfaces | 10 | [ ] | [ ] |
|
||||
| REQ-COM-4a Cross-Cutting Interfaces | 2 | [ ] | [ ] |
|
||||
| REQ-COM-5 Message Contracts | 10 | [ ] | [ ] |
|
||||
| REQ-COM-5a Versioning | 4 | [ ] | [ ] |
|
||||
| REQ-COM-5b Namespace Convention | 12 | [ ] | [ ] |
|
||||
| REQ-COM-6 No Business Logic | 3 | [ ] | [ ] |
|
||||
| REQ-COM-7 Minimal Dependencies | 5 | [ ] | [ ] |
|
||||
| REQ-HOST-1 Single Binary | 3 | [ ] | [ ] |
|
||||
| REQ-HOST-2 Role Registration | 6 | [ ] | [ ] |
|
||||
| REQ-HOST-3 Config Binding | 6 | [ ] | [ ] |
|
||||
| REQ-HOST-7 ASP.NET vs Generic Host | 3 | [ ] | [ ] |
|
||||
| REQ-HOST-10 Extension Methods | 5 | [ ] | [ ] |
|
||||
|
||||
## Design Constraints Checklist Verification
|
||||
|
||||
| ID | Constraint | Respected | Notes |
|
||||
|----|-----------|-----------|-------|
|
||||
| KDD-data-6 | All timestamps UTC | [ ] | |
|
||||
| KDD-code-1 | POCOs in Commons, EF in ConfigDB | [ ] | |
|
||||
| KDD-code-2 | Repo interfaces in Commons | [ ] | |
|
||||
| KDD-code-3 | Commons namespace hierarchy | [ ] | |
|
||||
| KDD-code-4 | Additive-only message evolution | [ ] | |
|
||||
| KDD-code-5 | Options pattern config binding | [ ] | |
|
||||
| KDD-code-6 | Options classes in component projects | [ ] | |
|
||||
| CD-Commons-1 | All components reference Commons | [ ] | |
|
||||
| CD-Commons-2 | No EF annotations on POCOs | [ ] | |
|
||||
| CD-Commons-3 | Interface contract for ConfigDB | [ ] | |
|
||||
| CD-Host-1 | Host references all components | [ ] | |
|
||||
| CD-Host-2 | ConfigDB in Host AddXxx chain | [ ] | |
|
||||
| CD-Host-3 | Component registration matrix | [ ] | |
|
||||
|
||||
## Post-Phase Review
|
||||
|
||||
| Review Step | Date | Result | Findings |
|
||||
|------------|------|--------|----------|
|
||||
| Codex: Implementation vs. Plan | | [ ] Pass / [ ] Pass with corrections / [ ] Skipped | |
|
||||
| Codex: Code quality | | [ ] Pass / [ ] Pass with corrections / [ ] Skipped | |
|
||||
|
||||
## Questions Logged During Execution
|
||||
|
||||
| # | Question | Logged to questions.md | Resolution |
|
||||
|---|----------|----------------------|------------|
|
||||
| | | | |
|
||||
|
||||
## Summary
|
||||
|
||||
- **Total WPs**: 12
|
||||
- **Tests written**: TBD
|
||||
- **Tests passing**: TBD
|
||||
- **Requirements verified**: 0/100
|
||||
- **Design constraints verified**: 0/13
|
||||
- **Questions logged**: 0
|
||||
- **Codex review**: pending
|
||||
Reference in New Issue
Block a user