5-task plan for wiring Start() to full subsystem startup sequence:
1. Add CheckAuthForWarnings() stub
2. Add StartDelayedApiResponder() stub
3. Guard MQTT StartMqtt() to not throw
4. Wire up Start() body to match Go sequence
5. Write server boot validation integration tests
Design for wiring NatsServer.Start() to call all subsystem startup
methods matching Go's Server.Start() sequence, enabling a fully
booting server that accepts client connections.
884 deferred tests across 34 Go test files. Plan: build shared test
harness (Batch 48), then port all tests in 12 parallel batches (49-60)
using Sonnet agents in isolated worktrees.
Map 553 deferred tests whose feature dependencies are all verified into
batch 0 (batch_tests table). Add Codex-generated design and implementation
plan for batch 0 execution.
Design for classifying 3394 unknown features against their .NET
implementations in batches of 50, using PortTracker batch-update
with mandatory dry-run before execution.
Design for batch-update and batch-map subcommands across all entity
types (feature, test, module, library) with shared filter infrastructure
and dry-run-by-default safety.
Defines two-layer test strategy (unit vs server-integration/deferred),
10-session structure, schema extension adding deferred status, and
completion criteria for Phase 7.
Creates the four-project .NET 10 solution (ZB.MOM.NatsNet.slnx):
- ZB.MOM.NatsNet.Server: main library with MEL, BCrypt.Net-Next, IronSnappy
- ZB.MOM.NatsNet.Server.Host: console host with Serilog + Microsoft.Extensions.Hosting
- ZB.MOM.NatsNet.Server.Tests: xUnit 2.9 / Shouldly / NSubstitute / BenchmarkDotNet
- ZB.MOM.NatsNet.Server.IntegrationTests: same test stack, separate project
Also adds Phase 6 porting plan and task-tracking JSON.
All verification checks passed: zero unmapped items, zero collisions,
all PascalCase naming, valid namespaces, all N/A items justified, all
tests targeting correct project. Fixed 8 non-PascalCase method names.
All database counts verified against disk baselines: 109 source files,
85 test files, 3673 features, 3257 tests, 36 library imports. Zero
orphaned or dangling records. No circular dependencies.
Run Go AST analyzer against nats-server source, populating porting.db
with 12 modules, 3673 features, 3257 unit tests, 11 inter-module
dependencies, and 36 external library imports.
- Created 52 Gitea issues across milestones 1-7, one per completion criterion
- Each criterion now links to its corresponding issue ([#N](url) format)
- Milestone Tracking sections updated with Issue Updates subsection:
when/how to comment, close issues via CLI or web UI
- Phases 4-7 criteria converted from plain bullets to checkbox format
Each phase doc now includes:
- Milestone Tracking section linking to the corresponding Gitea milestone
- Checklist item in Completion Criteria to close the milestone
- Phase 7 also closes the Final: Porting Complete milestone (ID 8)
- Update all 7 phase docs with source/target location references
(golang/ for Go source, dotnet/ for .NET version)
- Rename NATS.Server to ZB.MOM.NatsNet.Server in phase 4-7 docs
- Update solution layout to dotnet/src/ and dotnet/tests/ structure
- Create CLAUDE.md with project summary and phase links
- Update .gitignore: track porting.db, add standard .NET patterns
- Add golang/nats-server as git submodule
- Add reports/generate-report.sh and pre-commit hook
- Add documentation_rules.md to version control
Design for SQLite-based tracking system to manage the Go-to-.NET port
of nats-server. Includes DB schema (modules, features, unit_tests,
dependencies, library_mappings), Go AST analyzer for codebase
decomposition, .NET CLI tool for ongoing management, and 7 phased
workflow guides.