process TODO.md step 10

This commit is contained in:
SepComet
2026-03-29 12:43:57 +08:00
parent c5fbd8e36d
commit fbc09186f3
21 changed files with 913 additions and 19 deletions
@@ -0,0 +1,2 @@
schema: spec-driven
created: 2026-03-29
@@ -0,0 +1,40 @@
## Context
The repository's MVP networking and gameplay-flow work is already implemented and covered by edit-mode tests, but TODO step 10 remains open until the build and test commands are re-run in an environment that actually contains the required .NET runtime. The change is intentionally narrow: it does not introduce new gameplay behavior, only a final verification pass and a recorded outcome in project tracking.
## Goals / Non-Goals
**Goals:**
- Define a repeatable verification path for the repository's edit-mode build and test commands.
- Re-run the existing CLI commands in a runnable local environment instead of leaving the result inferred from partial or blocked attempts.
- Record the actual outcome, including any remaining warnings, in the TODO and change tracking.
**Non-Goals:**
- Introducing new runtime, gameplay, or transport behavior.
- Expanding the regression suite beyond what step 9 already added.
- Solving unrelated SDK or editor installation issues outside what is minimally needed to run the verification commands.
## Decisions
### Decision: Treat this as a verification-only change
This change stays focused on environment readiness, command execution, and result recording. That keeps the scope aligned with TODO step 10 and avoids reopening already-implemented gameplay work.
Alternative considered: Roll environment fixes and additional code cleanup into the same change. Rejected because it would blur whether a failure came from verification setup or from new functional modifications.
### Decision: Verify the exact documented commands
The source of truth remains the repository commands already documented in `AGENTS.md` and `TODO.md`:
- `dotnet build Network.EditMode.Tests.csproj -v minimal`
- `dotnet test Network.EditMode.Tests.csproj --no-build -v minimal`
Alternative considered: Use ad hoc command variants or Unity editor-driven test execution. Rejected because the TODO explicitly calls for these CLI verification steps.
### Decision: Record warnings separately from pass/fail status
If build and test succeed but still emit known Unity dependency warnings, the recorded result should preserve that nuance instead of flattening everything into a generic success line.
Alternative considered: Ignore warnings once commands pass. Rejected because the TODO asks for the actual result, not a simplified interpretation.
## Risks / Trade-offs
- [Environment drift] -> The runtime available on the current machine may differ from prior attempts. Mitigation: record the actual command outcome from the environment used for this change.
- [Over-scoping] -> Verification-only work can accidentally turn into general cleanup. Mitigation: limit edits to tracking/docs unless command failures expose a clear regression that must be fixed to complete step 10.
- [False confidence] -> A successful CLI run does not prove every Unity editor path. Mitigation: keep the scope explicit: this change verifies the documented build/test path, not all editor execution modes.
@@ -0,0 +1,21 @@
## Why
The MVP networking work is already implemented, but the TODO still requires a final build-and-test verification in a runnable local environment. This change closes that gap by making the verification step explicit, repeatable, and recorded against the current gameplay regression suite.
## What Changes
- Define a small verification capability for running the repository's edit-mode build and test commands in an environment with the required .NET runtime.
- Record the actual build and test result for the current MVP networking and gameplay-flow regression suite.
- Update project tracking so TODO step 10 reflects the completed verification state and any remaining environment caveats.
## Capabilities
### New Capabilities
- `build-test-verification`: Defines the required local environment assumptions, commands, and recorded result for final MVP build/test verification.
### Modified Capabilities
- None.
## Impact
Affected areas include OpenSpec tracking under `openspec/`, the root `TODO.md`, and the CLI verification path driven by `dotnet build Network.EditMode.Tests.csproj -v minimal` and `dotnet test Network.EditMode.Tests.csproj --no-build -v minimal`.
@@ -0,0 +1,22 @@
## ADDED Requirements
### Requirement: Runnable CLI verification environment
The repository SHALL define step 10 completion in terms of a local environment that can execute the documented `dotnet build` and `dotnet test` commands for `Network.EditMode.Tests.csproj` without failing due to a missing required .NET runtime.
#### Scenario: Environment is suitable for verification
- **WHEN** a maintainer performs the final MVP verification pass
- **THEN** the environment used for that pass MUST contain the runtime needed to execute the documented CLI build and test commands
- **AND** the verification record MUST distinguish environment readiness issues from actual build or test failures
### Requirement: Build and test commands are re-run and recorded
The repository SHALL re-run the documented edit-mode CLI verification commands and record the actual outcome for the current MVP networking codebase.
#### Scenario: Build and test both succeed
- **WHEN** `dotnet build Network.EditMode.Tests.csproj -v minimal` succeeds and `dotnet test Network.EditMode.Tests.csproj --no-build -v minimal` succeeds
- **THEN** project tracking MUST mark the build/test verification step complete
- **AND** the recorded result MUST state that the edit-mode network test suite passed in the runnable environment
#### Scenario: Verification succeeds with warnings
- **WHEN** the documented build and test commands succeed but emit non-fatal warnings
- **THEN** the recorded result MUST preserve the warnings as part of the verification summary
- **AND** the step MUST still be considered complete because the commands passed
@@ -0,0 +1,21 @@
## 1. Verification Environment
- [x] 1.1 Confirm or switch to a local environment that contains the required .NET runtime for `Network.EditMode.Tests.csproj`.
- [x] 1.2 Re-check the documented verification commands and any required environment variables before execution.
## 2. CLI Verification
- [x] 2.1 Run `dotnet build Network.EditMode.Tests.csproj -v minimal` in the runnable environment.
- [x] 2.2 Run `dotnet test Network.EditMode.Tests.csproj --no-build -v minimal` in the same runnable environment.
- [x] 2.3 Capture the actual pass/fail outcome and any remaining non-fatal warnings from both commands.
## 3. Tracking Update
- [x] 3.1 Update `TODO.md` step 10 and acceptance items to reflect the real verification result.
- [x] 3.2 Update this change's implementation tracking with the recorded verification summary so archive-ready state is explicit.
## Verification Summary
- Environment used: local machine with .NET SDK 10.0.201 and the repository's Unity project files available.
- `dotnet build Network.EditMode.Tests.csproj -v minimal`: succeeded with 4 non-fatal MSB3277 warning groups related to `System.Net.Http` and `System.Security.Cryptography.Algorithms` Unity dependency conflicts.
- `dotnet test Network.EditMode.Tests.csproj --no-build -v minimal`: succeeded for the edit-mode network and MVP gameplay regression suite.