Phase 3 completion: prompt safety, AI output validation, queue telemetry, deploy artifacts #2
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/phase3-completion"
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?
Completes the remaining Phase 3 skeleton work: prompt-injection-resistant prompt assembly, strict AI output validation, queue telemetry with traffic-light evaluation (D-0012), and initial deployment artifacts.
execute_commandfield fails validation); oversized output rejected; failures never carry partial data.QueueTelemetrySnapshotdomain record,IQueueTelemetryStoreport + in-memory implementation,IQueueStatsSourcesurfaced byIWorkQueue,QueueTelemetryPublisherbackground worker, andQueueHealthEvaluatorderiving green/amber/red from oldest-pending age, depth, dead letters, and telemetry staleness (stale telemetry itself is red). Threshold defaults are placeholders pending Hannah's approval (tracked in TODO.md).Dockerfile.pipeline,Dockerfile.admin(multi-stage, non-root), sanitizeddocker-compose.example.yml(file-mounted secrets per D-0006, no inbound ports on the pipeline),.dockerignore. Not verified: no container tooling on the dev workstation; verification deferred to the Debian VM per Hannah's decision.Fixes #
How was this tested?
dotnet build Viegard.slnx- 0 errors, 0 warningsdotnet test Viegard.slnx- 70/70 tests pass (37 new: prompt-injection containment, boundary-forgery resistance, unique-boundary-per-assembly, untrusted-placeholder rejection, validator strictness incl. unknown-property and oversized-output rejection, traffic-light derivation incl. stale-telemetry-is-red)Checklist