Commit Graph

12 Commits (b76fc60c0977233c120d0b50b17aaa93a3dad163)

Author SHA1 Message Date
VinPropane 299de3c796 chore: address cleanup review follow-ups and Postgres test flake
Fix gig persistence integration flake with FakeTimeProvider on the Postgres
host, restore StringComparer.Ordinal on quest counter copies, remove the Bruno
docs block, and record resolved review items.
2026-06-27 23:24:18 -04:00
VinPropane b233fa040d chore: analyzer cleanup for server and tests
Apply Roslyn/dotnet-format fixes across NeonSprawl.Server and
NeonSprawl.Server.Tests: collection expressions, concrete helper
return types, record XML docs, logging guards, quest store refactors,
and removal of redundant usings via GlobalUsings.cs. Extend
csharp-style.md with the recurring patterns.
2026-06-27 22:55:50 -04:00
VinPropane 83282e76f0 NEO-88: Fail-fast NPC behavior catalog load at server startup.
Mirror NEO-77 ability loader: JsonSchema.Net validation, E5M2 three-id
gate, leash > aggro numeric gate, DI singleton, Bruno health smoke, and
16 AAA loader/host tests.
2026-05-25 17:08:40 -04:00
VinPropane 619089ca40 NEO-77: Add fail-fast ability catalog load at server startup.
Load content/abilities/*_abilities.json with CI-parity validation, E5M1
four-id gate, DI registration, AAA loader/host tests, and Bruno health check.
2026-05-24 21:40:58 -04:00
VinPropane 1fb4368a2c NEO-66: Address code review follow-ups for recipe catalog load.
Pin Content:RecipesDirectory in all host test factories, add loader tests
for empty dir/invalid JSON/unknown output itemId, document manual QA skip.
2026-05-24 16:45:36 -04:00
VinPropane 0384b63046 NEO-58: add fail-fast resource-node catalog load at startup
Loader, Slice 2 gates, DI registration, AAA tests, README and plan updates.
Cross-checks yield itemIds against ItemDefinitionCatalog loaded first.
2026-05-24 14:01:29 -04:00
VinPropane 01e391b03a NEO-54: player inventory store, stack/slot rules engine, and tests 2026-05-23 19:26:57 -04:00
VinPropane 174c390aa4 NEO-46: fail-fast mastery catalog load at server startup.
Mirror validate_content.py gates in MasteryCatalogLoader, expose IMasteryCatalogRegistry, cross-check skillIds against the skill catalog, and enforce tierIndex 1..N per track.
2026-05-17 18:06:50 -04:00
VinPropane ad9259c308 NEO-38: set integration test host to Testing for deterministic JSON errors 2026-05-06 22:34:26 -04:00
VinPropane 1a9088c77c NEO-34: fail-fast skill catalog load at server startup
Register SkillDefinitionCatalog from content/skills with JsonSchema.Net validation
mirroring validate_content.py and the prototype Slice 1 gate. Resolve paths via
Content:SkillsDirectory or discovery from AppContext.BaseDirectory. Eager-load
after WebApplication build so bad catalogs block startup. Add unit and host
tests, pin test factories to repo skills, document config in server/README, add
manual QA checklist, and extend Bruno GET /health smoke tests.
2026-05-02 19:44:10 -04:00
VinPropane b043e8ac45 NS-18: InteractionRequest, client prototype, Postgres test UX
Server: POST /game/players/{id}/interact, HorizontalReach, prototype registry, DTOs, tests; default spawn (-5,0.9,-5); dev HttpLogging.

Client: terminal, radius glow preview, interaction_request_client (interact/E), main wiring; obstacle moved off center.

Tests: postgres.runsettings, launchSettings, Docker compose auto-start/teardown harness, async-safe init.

Docs: plan AC, E1.M1 snapshot, alignment table, server/client README, code review 2026-04-04.
2026-04-04 20:19:33 -04:00
VinPropane e2d64a7a57 NS-17: PostgreSQL position persistence and integration tests
Wire IPositionStateStore to Npgsql when ConnectionStrings:NeonSprawl is set,
with versioned DDL under server/db/migrations and a shared PostgresPositionBootstrap
for schema plus dev-player seeding at host startup. In-memory tests override Postgres
registrations when CI sets the connection string globally.

Add GitHub Actions Postgres service for dotnet test, server README updates,
decomposition and implementation-plan docs, code review write-up, and C# brace
conventions in csharp-style rule.
2026-03-30 22:55:17 -04:00