Phase 3 skeleton: domain model, ports, queue, secrets, hosts #1
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/solution-skeleton"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What does this PR do?
Implements the Phase 3 skeleton per the approved architecture (D-0017): solution structure, core domain model, application ports, working queue/secret implementations, and both host executables.
Directory.Build.props: net10.0, nullable, warnings-as-errors, NuGetAudit enforcement (mode=all, level=low, NU1901-NU1904 as build errors)Viegard.Domain: events (RawObservation, NormalizedEvent, EntityRef, payloads incl. MalformedRecordPayload), incidents + evidence, Classification with validated invariants (confidence/severity/uncertainty ranges), Decision with guardrail evaluations, ActionRecord with rollback info, AuditRecord, Correction, ComponentHealth, AdminCommandViegard.Application: all ports from ARCHITECTURE.md (data source, normalizer, work/command queues, stores, correlator, classifier, inference with trust-tagged prompt variables, policy, action provider, notifications, audit ledger, secrets, health);ChannelWorkQueue(broker semantics: ack/abandon, dead-lettering, age-preserving redelivery, stats for D-0012);FileSecretProvider(path-traversal-safe) andConfigurationSecretProvider;Secrettype that never reveals its value via ToString/interpolationViegard.Persistence: development-only in-memory stores (until D-0004)Viegard.PipelineHost: role-configurable host (D-0011); startup validation refuses unknown/empty/duplicate roles; configuration-driven secret provider selection; heartbeat workerViegard.AdminApi: Blazor Web App shell (D-0016) with/healthzFixes #
How was this tested?
dotnet build Viegard.slnx- 0 errors, 0 warningsdotnet test Viegard.slnx- 33/33 tests pass (queue semantics: FIFO, redelivery counts, dead-lettering, stale-age telemetry, double-settle protection; secret masking, path-traversal rejection; classification invariants)Checklist