Skip to content

feat(sink): scaffold samples/WebhookSink minimal-API — app only (S0a) #50

Description

@williamdewitt

S0a of the WebhookSink artifact (epic #49). App project only — the smoke-test project is split into #53 to keep this within one agent run (the first attempt hit the 30-turn cap after also creating a test project). Design: docs/design/webhook-sink-design.md.

Acceptance criteria

  • New project samples/WebhookSink/ — ASP.NET Core minimal-API, single-target net10.0, wired into Caliber.Webhooks.slnx (a /samples/ solution folder).
  • <IsPackable>false</IsPackable>.
  • ProjectReference to src/Caliber.Webhooks/Caliber.Webhooks.csproj. No new third-party packages (the scaffold needs none — just the framework reference).
  • Endpoints: GET /healthz200 OK, and a placeholder GET / home page (plain text/HTML stub that names the sink). No capture / dashboard / fault-injection / signature code — later slices.
  • Inherits the repo shell (nullable, warnings-as-errors, Meziantou) with zero new suppressions.

Definition of done

Implementer notes

  • Small, well-specified slice — implement directly with minimal exploration. The design is summarised above; no need to re-read the full docs bundle. Aim to finish well inside the turn budget.
  • Keep Program.cs minimal-hosting; it's the seam S1 (capture) builds on. Add public partial class Program { } so test(sink): WebApplicationFactory smoke test for samples/WebhookSink (S0b) #53's WebApplicationFactory can reference it.
  • risk:low (samples/**): PR gates on CI-green + a light human approval; does not auto-merge.

Metadata

Metadata

Assignees

No one assigned

    Labels

    agentEligible for autonomous agent pickuparea:docsDocs bundle / samplespriority:p2Normal priorityreadyHas acceptance criteria + DoD; pickable by the looprisk:lowtests/samples; CI green + light approvaltype:featNew feature

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions