From f2b391a58cf87f6f2fcd2953cae5a20f702707dc Mon Sep 17 00:00:00 2001 From: Michal Wcislo Date: Fri, 16 Oct 2026 13:12:41 +0200 Subject: [PATCH 1/8] chore: Changes readme.md --- README.md | 10 ++++++++++ docs/images/trace-application-qualified.jpeg | Bin 0 -> 272973 bytes 2 files changed, 10 insertions(+) create mode 100644 docs/images/trace-application-qualified.jpeg diff --git a/README.md b/README.md index 9dc7c93..57d5b76 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,16 @@ More: [architecture](docs/architecture.md), [diagrams](docs/diagrams.md), [domai Stack: .NET 10, Azure Event Hubs SDK (no messaging framework), SQL Server 2025 + EF Core, `Microsoft.Extensions.Http.Resilience` (Polly v8), `Microsoft.Extensions.AI`, xUnit, Docker Compose. +## Observability + +One webhook is one trace across the three hosts, through the outbox and Event Hubs +([ADR 010](docs/adr/010-observability.md)). Below: a job application reaches the qualified stage. Ingress stores +the webhook and the relay publishes it. Matching.Worker checks its inbox, fetches the application and the candidate, +finds no stored enrichment, calls Claude, stores the result, upserts the profile, writes the inbox and checkpoints. +Sync.Worker ignores `job_application.*` events, so its branch is only a checkpoint. + +![Trace of a qualified job application in the Aspire Dashboard](docs/images/trace-application-qualified.jpeg) + ## Running locally Requires .NET 10 SDK and Docker. Target commands while the setup is being built: diff --git a/docs/images/trace-application-qualified.jpeg b/docs/images/trace-application-qualified.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ffb89892778c737bcf45c044e868c35c91d4aecd GIT binary patch literal 272973 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 Date: Fri, 16 Oct 2026 13:29:31 +0200 Subject: [PATCH 2/8] chore: Next readme update --- README.md | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 57d5b76..48f51ab 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,8 @@ matching platform, with LLM enrichment of consultant profiles. A portfolio project: a simplified model of a real-world integration. Not production code, but designed to behave correctly under failure: duplicate deliveries, retries, crashes and downstream outages. -> **Status: work in progress.** Documentation and acceptance scenarios first, code in small steps. +> **Status: MVP done**, except Teamtailor webhook signature v2 verification (scenarios I3–I4), which comes next. +> Until then Ingress accepts unsigned webhooks. ## How it works @@ -50,14 +51,32 @@ Sync.Worker ignores `job_application.*` events, so its branch is only a checkpoi ## Running locally -Requires .NET 10 SDK and Docker. Target commands while the setup is being built: +Requires .NET 10 SDK and Docker. + +Tests need nothing else: the integration tests start SQL Server, Azurite and the Event Hubs emulator with +Testcontainers and run the hosts and simulators in process. ```bash -docker compose -f deploy/docker-compose.yml up -d -dotnet build dotnet test ``` +For a manual run, set the SQL password once in `deploy/.env` (copy `deploy/.env.example`), give the three hosts the +connection string in user secrets and create the schemas: + +```bash +for p in Ingress/TalentSync.Ingress.Api Sync/TalentSync.Sync.Worker Matching/TalentSync.Matching.Worker; do + dotnet user-secrets set "ConnectionStrings:Sql" \ + "Server=localhost,1433;Database=TalentSync;User Id=sa;Password=;TrustServerCertificate=True" \ + --project src/$p +done + +docker compose -f deploy/docker-compose.yml up -d --wait +dotnet tool restore +dotnet ef database update --project src/Ingress/TalentSync.Ingress.Api --context IngressDbContext +dotnet ef database update --project src/Sync/TalentSync.Sync.Infrastructure --startup-project src/Sync/TalentSync.Sync.Worker --context SyncDbContext +dotnet ef database update --project src/Matching/TalentSync.Matching.Infrastructure --startup-project src/Matching/TalentSync.Matching.Worker --context MatchingDbContext +``` + `Llm:Provider` is `Fake` by default, so the system runs without an LLM key. For Claude, keep the key in user secrets and switch the provider (every real call is billed): From 6d82b458f36264d88aa118f19292b03d72f92a0f Mon Sep 17 00:00:00 2001 From: Michal Wcislo Date: Fri, 16 Oct 2026 13:34:29 +0200 Subject: [PATCH 3/8] chore: Amends doc files --- README.md | 47 ++++++++++++++++++++++++++++++++++++++++++-- docs/architecture.md | 3 ++- docs/diagrams.md | 6 ++++-- docs/e2e.http | 5 +++-- 4 files changed, 54 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 48f51ab..8b14f3d 100644 --- a/README.md +++ b/README.md @@ -31,13 +31,15 @@ Key decisions: - **Notify-then-fetch**: events carry only IDs; workers fetch current state from the API. - **Outbox** in Ingress; **at-least-once** delivery; **idempotent upserts** keyed by `candidateId`. - **Parking lot** instead of a dead-letter queue, which Event Hubs doesn't have. -- **LLM results stored** by candidate and CV hash before the profile upsert, so retries replay the same decision. +- **LLM results stored** by candidate, CV hash and prompt version before the profile upsert, so retries replay the + same decision. More: [architecture](docs/architecture.md), [diagrams](docs/diagrams.md), [domain](docs/domain.md), [acceptance scenarios](docs/acceptance-scenarios.md). Stack: .NET 10, Azure Event Hubs SDK (no messaging framework), SQL Server 2025 + EF Core, -`Microsoft.Extensions.Http.Resilience` (Polly v8), `Microsoft.Extensions.AI`, xUnit, Docker Compose. +`Microsoft.Extensions.Http.Resilience` (Polly v8), `Microsoft.Extensions.AI` with the Anthropic SDK (Claude), +OpenTelemetry + Aspire Dashboard, xUnit v3 + Testcontainers, Docker Compose, GitHub Actions. ## Observability @@ -49,6 +51,38 @@ Sync.Worker ignores `job_application.*` events, so its branch is only a checkpoi ![Trace of a qualified job application in the Aspire Dashboard](docs/images/trace-application-qualified.jpeg) +## Testing + +- **Acceptance scenarios** ([docs/acceptance-scenarios.md](docs/acceptance-scenarios.md)) are the definition of done: + Given/When/Then examples of the domain rules and invariants, written before the code. Each automated scenario has + exactly one integration test named after its ID, e.g. `S4` (CRM outage delays but does not lose events) or `M3` + (LLM timeout yields a `NotEnriched` profile). The tests run the three hosts and the simulators in process against + SQL Server, Azurite and the Event Hubs emulator in Testcontainers, and break the simulators on purpose. +- **Unit tests** per project: the domain model, use cases, failure classification in the consumer skeleton, HTTP + clients and their resilience, the Teamtailor anti-corruption layer. +- **CI** (GitHub Actions) builds and runs everything on every PR, with a test report and a coverage summary. +- **Prompt evaluation** ([ADR 009](docs/adr/009-prompt-evaluation.md)): the enrichment prompt is scored offline + against a golden set of fictional CVs (`eval/cases/`, including a prompt injection and a Polish CV) for validity, + recall, precision, hallucinations, seniority and stability. Run by hand, never in CI, because it calls the real + model; reports are in [`eval/reports/`](eval/reports/). CI only checks that a report exists for the current prompt. + +## Decisions + +The reasoning is in [architecture decision records](docs/adr/README.md): + +| ADR | Decision | +|---|---| +| [001](docs/adr/001-project-structure.md) | Project structure by context, then by layer; a project wherever the compiler should enforce a rule | +| [002](docs/adr/002-event-hubs-over-service-bus.md) | Event Hubs over Service Bus: replay and independent consumers, at the cost of a DLQ | +| [003](docs/adr/003-notify-then-fetch.md) | Notify-then-fetch: the event is a signal, the API state is the truth | +| [004](docs/adr/004-transactional-outbox.md) | Transactional outbox in Ingress, one relay | +| [005](docs/adr/005-idempotency.md) | Idempotent effects, per-worker inbox, checkpoint after processing, stored LLM results | +| [006](docs/adr/006-partition-key-candidate-id.md) | Partition key = `candidateId`: ordering per candidate | +| [007](docs/adr/007-llm-enrichment.md) | LLM enrichment: own port, PII masking, validation, timeout and fallback to `NotEnriched` | +| [008](docs/adr/008-source-of-truth-and-sync-direction.md) | One-way sync from Teamtailor, ownership per field | +| [009](docs/adr/009-prompt-evaluation.md) | Offline evaluation of the enrichment prompt | +| [010](docs/adr/010-observability.md) | OpenTelemetry, one trace per webhook through the outbox and Event Hubs | + ## Running locally Requires .NET 10 SDK and Docker. @@ -99,6 +133,15 @@ http://localhost:18888 (ADR 010). - Undocumented Teamtailor behaviour is an explicit assumption, isolated in the adapter: candidate id in job application webhooks, `404` = deleted resource, stage via `include=stage`. +## Known limitations + +Accepted for the MVP and listed in [architecture](docs/architecture.md#known-limitations-to-be-covered-by-adrs), e.g.: + +- If SQL Server is down when a webhook arrives, Ingress returns 503 and Teamtailor may not retry, so the event is + lost. A reconciliation job against the API would close this gap. +- One outbox relay replica: several would publish a candidate's events out of order. +- A profile is not refreshed when the candidate's CV changes, only on the next qualification. + ## Working with a coding agent The code is written in small steps with a coding agent. `CLAUDE.md` and `.claude/rules/` hold its instructions, diff --git a/docs/architecture.md b/docs/architecture.md index fb604b9..c28433b 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -94,7 +94,8 @@ eval/ offline evaluation of the enrichment deploy/ docker-compose.yml (infra + simulators + Aspire Dashboard), simulator.Dockerfile, eventhubs/Config.json, run-local.sh (containers + the three hosts) docs/ domain.md, architecture.md, acceptance-scenarios.md, diagrams.md, - adr/ (index: adr/README.md), e2e.http (end-to-end demo by hand) + adr/ (index: adr/README.md), e2e.http (end-to-end demo by hand), + images/ (screenshots for the README) .github/workflows/ci.yml on PRs and main: Build job, then Test job ("Test results" check, coverage summary) .claude/rules/ topic rules, some load only for matching paths .claude/settings.json permissions and hooks enforced by the harness diff --git a/docs/diagrams.md b/docs/diagrams.md index 0e32fd9..75eb342 100644 --- a/docs/diagrams.md +++ b/docs/diagrams.md @@ -72,8 +72,9 @@ sequenceDiagram The same flow is one trace in the Aspire Dashboard (ADR 010). Each webhook request is its root; the outbox and Event Hubs hops are carried by `ingress.Outbox.TraceParent` and the `traceparent` event property. Both consumer -groups appear as branches, Sync.Worker's skipping the event. Span names as the dashboard shows them; the right-hand -column is a comment: +groups appear as branches, Sync.Worker's skipping the event. Span names as exported (the dashboard displays messaging +spans as `MSG eventhubs ats-events` and HTTP spans as `HTTP GET 200`); the right-hand column is a comment. +Screenshot: [`images/trace-application-qualified.jpeg`](images/trace-application-qualified.jpeg). ``` POST /webhooks/teamtailor ingress-api @@ -87,6 +88,7 @@ POST /webhooks/teamtailor ingress-api │ ├─ SELECT [matching].[EnrichmentResults] │ ├─ enrich enriched; only if no stored result │ │ └─ chat claude-haiku-5-5 model, tokens; "chat" with the Fake provider + │ │ └─ POST api.anthropic.com Anthropic provider only │ ├─ INSERT matching.EnrichmentResults │ ├─ PUT matching-platform /profiles │ ├─ INSERT matching.Inbox diff --git a/docs/e2e.http b/docs/e2e.http index f9a88bc..e67ff2f 100644 --- a/docs/e2e.http +++ b/docs/e2e.http @@ -1,7 +1,8 @@ # End-to-end demo, clicked through by hand (VS Code REST Client or Visual Studio). # -# Before: docker compose -f deploy/docker-compose.yml up -d, then run Ingress.Api, Sync.Worker and Matching.Worker -# from the IDE or with `dotnet run`. Llm:Provider = Anthropic calls the real model (billed); Fake works too. +# Before: the one-time setup in README "Running locally" (deploy/.env, connection string, migrations), then +# deploy/run-local.sh, or docker compose and the three hosts from the IDE. Llm:Provider = Anthropic calls the real +# model (billed); Fake works too. Each webhook a request triggers is one trace in the Aspire Dashboard: http://localhost:18888 # # Candidate ids must be new on every run: bump @run, or restart the simulators (their state is in memory). From e93f0923581df14f4051f1a89818a84fd6bff7a5 Mon Sep 17 00:00:00 2001 From: Michal Wcislo Date: Fri, 16 Oct 2026 13:40:40 +0200 Subject: [PATCH 4/8] chore: Adds db migration run to run-local.sh script --- README.md | 15 +++++---------- deploy/run-local.sh | 14 ++++++++++++-- docs/architecture.md | 2 +- docs/e2e.http | 3 +-- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 8b14f3d..058225c 100644 --- a/README.md +++ b/README.md @@ -94,8 +94,8 @@ Testcontainers and run the hosts and simulators in process. dotnet test ``` -For a manual run, set the SQL password once in `deploy/.env` (copy `deploy/.env.example`), give the three hosts the -connection string in user secrets and create the schemas: +For a manual run, set the SQL password once in `deploy/.env` (copy `deploy/.env.example`) and give the three hosts +the connection string in user secrets: ```bash for p in Ingress/TalentSync.Ingress.Api Sync/TalentSync.Sync.Worker Matching/TalentSync.Matching.Worker; do @@ -103,12 +103,6 @@ for p in Ingress/TalentSync.Ingress.Api Sync/TalentSync.Sync.Worker Matching/Tal "Server=localhost,1433;Database=TalentSync;User Id=sa;Password=;TrustServerCertificate=True" \ --project src/$p done - -docker compose -f deploy/docker-compose.yml up -d --wait -dotnet tool restore -dotnet ef database update --project src/Ingress/TalentSync.Ingress.Api --context IngressDbContext -dotnet ef database update --project src/Sync/TalentSync.Sync.Infrastructure --startup-project src/Sync/TalentSync.Sync.Worker --context SyncDbContext -dotnet ef database update --project src/Matching/TalentSync.Matching.Infrastructure --startup-project src/Matching/TalentSync.Matching.Worker --context MatchingDbContext ``` `Llm:Provider` is `Fake` by default, so the system runs without an LLM key. For Claude, keep the key in user secrets @@ -119,8 +113,9 @@ dotnet user-secrets set "Llm:Anthropic:ApiKey" "" --project src/Matching/Ta dotnet user-secrets set "Llm:Provider" "Anthropic" --project src/Matching/TalentSync.Matching.Worker ``` -To click through the whole flow by hand (success, CRM outage, candidate without a CV), start the containers and the -three hosts with `deploy/run-local.sh` (Git Bash; on Windows each host opens in its own Windows Terminal tab), then use +To click through the whole flow by hand (success, CRM outage, candidate without a CV), run `deploy/run-local.sh` +(Git Bash). It starts the containers, builds, applies the EF migrations and starts the three hosts (on Windows each +in its own Windows Terminal tab). Then use [`docs/e2e.http`](docs/e2e.http). Traces, metrics and logs of the three hosts are in the Aspire Dashboard at http://localhost:18888 (ADR 010). diff --git a/deploy/run-local.sh b/deploy/run-local.sh index b4a439d..b81f909 100644 --- a/deploy/run-local.sh +++ b/deploy/run-local.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Starts everything for a local run: docker compose (infrastructure and simulators), then Ingress.Api, Sync.Worker -# and Matching.Worker. On Windows each host gets its own Windows Terminal tab (stop it with Ctrl+C there); +# Starts everything for a local run: docker compose (infrastructure and simulators), build, EF migrations, then +# Ingress.Api, Sync.Worker and Matching.Worker. On Windows each host gets its own Windows Terminal tab (stop it with Ctrl+C there); # elsewhere they run in this terminal and Ctrl+C stops all three. # Containers keep running: docker compose -f deploy/docker-compose.yml stop set -euo pipefail @@ -23,6 +23,16 @@ docker compose -f deploy/docker-compose.yml up -d --wait --force-recreate --rene echo "Building..." dotnet build TalentSync.slnx --nologo --verbosity quiet +# Before the hosts start, so neither the relay nor a worker meets a missing table. Applies only pending migrations. +# The connection string comes from each host's user secrets (README, "Running locally"). +echo "Applying migrations..." +dotnet tool restore >/dev/null +dotnet ef database update --no-build --project src/Ingress/TalentSync.Ingress.Api --context IngressDbContext +dotnet ef database update --no-build --project src/Sync/TalentSync.Sync.Infrastructure \ + --startup-project src/Sync/TalentSync.Sync.Worker --context SyncDbContext +dotnet ef database update --no-build --project src/Matching/TalentSync.Matching.Infrastructure \ + --startup-project src/Matching/TalentSync.Matching.Worker --context MatchingDbContext + if command -v wt.exe >/dev/null 2>&1; then for i in "${!titles[@]}"; do # MSYS_NO_PATHCONV: Git Bash would otherwise turn `/k` into a Windows path. diff --git a/docs/architecture.md b/docs/architecture.md index c28433b..f5f87a7 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -92,7 +92,7 @@ eval/ offline evaluation of the enrichment reports/ committed reports; local/ is gitignored run-eval.sh runs the evaluation locally; provider, runs, output and model as variables at the top deploy/ docker-compose.yml (infra + simulators + Aspire Dashboard), simulator.Dockerfile, - eventhubs/Config.json, run-local.sh (containers + the three hosts) + eventhubs/Config.json, run-local.sh (containers, migrations, the three hosts) docs/ domain.md, architecture.md, acceptance-scenarios.md, diagrams.md, adr/ (index: adr/README.md), e2e.http (end-to-end demo by hand), images/ (screenshots for the README) diff --git a/docs/e2e.http b/docs/e2e.http index e67ff2f..8c18543 100644 --- a/docs/e2e.http +++ b/docs/e2e.http @@ -1,7 +1,6 @@ # End-to-end demo, clicked through by hand (VS Code REST Client or Visual Studio). # -# Before: the one-time setup in README "Running locally" (deploy/.env, connection string, migrations), then -# deploy/run-local.sh, or docker compose and the three hosts from the IDE. Llm:Provider = Anthropic calls the real +# Before: the one-time setup in README "Running locally" (deploy/.env, connection string), then deploy/run-local.sh. Llm:Provider = Anthropic calls the real # model (billed); Fake works too. Each webhook a request triggers is one trace in the Aspire Dashboard: http://localhost:18888 # # Candidate ids must be new on every run: bump @run, or restart the simulators (their state is in memory). From 7e7e18a2fc827c09389990072bb97e561cd782c3 Mon Sep 17 00:00:00 2001 From: Michal Wcislo Date: Fri, 16 Oct 2026 14:08:14 +0200 Subject: [PATCH 5/8] chore: Adds link to Aspire and license info --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 058225c..d4a32e1 100644 --- a/README.md +++ b/README.md @@ -117,7 +117,7 @@ To click through the whole flow by hand (success, CRM outage, candidate without (Git Bash). It starts the containers, builds, applies the EF migrations and starts the three hosts (on Windows each in its own Windows Terminal tab). Then use [`docs/e2e.http`](docs/e2e.http). Traces, metrics and logs of the three hosts are in the Aspire Dashboard at -http://localhost:18888 (ADR 010). +[http://localhost:18888](http://localhost:18888) (ADR 010). ## Simplifications @@ -146,4 +146,6 @@ a test pass. --- -Not affiliated with Teamtailor; built from its public documentation. \ No newline at end of file +Not affiliated with Teamtailor; built from its public documentation. + +Shared for review as a portfolio project; no license is granted for reuse. \ No newline at end of file From 8de60286dd09e9d5b3f48a82ce13ddf5d166f97b Mon Sep 17 00:00:00 2001 From: Michal Wcislo Date: Fri, 16 Oct 2026 14:22:25 +0200 Subject: [PATCH 6/8] chore: Additional md cleanups --- CLAUDE.md | 3 +-- README.md | 4 +--- docs/adr/004-transactional-outbox.md | 1 - docs/architecture.md | 2 ++ .../Webhooks/TeamtailorWebhookEndpoint.cs | 5 +---- 5 files changed, 5 insertions(+), 10 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index d6f897b..2d372a5 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -130,8 +130,7 @@ architecture tests. - `dotnet test` (exit code 8 = no tests ran, e.g. a project without tests yet or a filter that matched nothing) - One scenario: `dotnet test --project tests/TalentSync.IntegrationTests --filter-method "*.S2_*"` - Unit tests only: `dotnet test --project tests/TalentSync.Matching.Domain.Tests` -- EF migration, example for Sync (descriptive: verify once the first `DbContext` exists; needs the `dotnet-ef` - tool and `Microsoft.EntityFrameworkCore.Design`, ask before adding them): +- EF migration, example for Sync (`dotnet-ef` comes from the tool manifest `dotnet-tools.json`, run `dotnet tool restore` once): `dotnet ef migrations add --project src/Sync/TalentSync.Sync.Infrastructure --startup-project src/Sync/TalentSync.Sync.Worker --context SyncDbContext` - Anthropic key (I set it myself): `dotnet user-secrets set "Llm:Anthropic:ApiKey" "" --project src/Matching/TalentSync.Matching.Worker`, then `dotnet user-secrets set "Llm:Provider" "Anthropic" --project src/Matching/TalentSync.Matching.Worker` diff --git a/README.md b/README.md index d4a32e1..7413505 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,6 @@ matching platform, with LLM enrichment of consultant profiles. A portfolio project: a simplified model of a real-world integration. Not production code, but designed to behave correctly under failure: duplicate deliveries, retries, crashes and downstream outages. -> **Status: MVP done**, except Teamtailor webhook signature v2 verification (scenarios I3–I4), which comes next. -> Until then Ingress accepts unsigned webhooks. - ## How it works ```mermaid @@ -135,6 +132,7 @@ Accepted for the MVP and listed in [architecture](docs/architecture.md#known-lim - If SQL Server is down when a webhook arrives, Ingress returns 503 and Teamtailor may not retry, so the event is lost. A reconciliation job against the API would close this gap. - One outbox relay replica: several would publish a candidate's events out of order. +- Ingress does not verify the Teamtailor webhook signature, so it accepts unsigned webhooks. - A profile is not refreshed when the candidate's CV changes, only on the next qualification. ## Working with a coding agent diff --git a/docs/adr/004-transactional-outbox.md b/docs/adr/004-transactional-outbox.md index 812daf5..e0a1059 100644 --- a/docs/adr/004-transactional-outbox.md +++ b/docs/adr/004-transactional-outbox.md @@ -38,4 +38,3 @@ Ingress persists the event before answering, and a separate relay publishes it. - **Publishing to Event Hubs directly from the webhook endpoint.** Rejected: the webhook would then depend on Event Hubs being available, and an event that fails to publish is answered with an error that Teamtailor may not retry. - TODO: confirm this rationale. diff --git a/docs/architecture.md b/docs/architecture.md index f5f87a7..0384dc9 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -28,6 +28,7 @@ Three deployables, split by runtime behaviour, not by business capability. They README.md for humans: overview, running locally, simplifications TalentSync.slnx solution, folders mirror the directories below global.json SDK pin, test runner = Microsoft.Testing.Platform +dotnet-tools.json local tool manifest: dotnet-ef (migrations, used by deploy/run-local.sh) Directory.Build.props net10.0, nullable, implicit usings, warnings as errors Directory.Packages.props central package versions (CPM) src/ @@ -185,6 +186,7 @@ partition. Notify-then-fetch makes stale or reordered events harmless: each work - If SQL Server is down at ingress, the webhook gets 503 and Teamtailor may not retry: the event is lost. A reconciliation job against the API would close this gap (out of MVP scope). - One relay replica in the MVP; several would weaken ordering. +- Ingress does not verify the Teamtailor webhook signature (v2), so it accepts unsigned webhooks. - Candidate id in job application webhooks is an assumption (see `.claude/rules/teamtailor.md`). - Candidate delete: the CRM marks the contact as deleted and its personal data stays there; anonymisation in the CRM, and profile archiving and anonymisation in the Matching Platform, are out of MVP. diff --git a/src/Ingress/TalentSync.Ingress.Api/Webhooks/TeamtailorWebhookEndpoint.cs b/src/Ingress/TalentSync.Ingress.Api/Webhooks/TeamtailorWebhookEndpoint.cs index b92f3b0..7df593d 100644 --- a/src/Ingress/TalentSync.Ingress.Api/Webhooks/TeamtailorWebhookEndpoint.cs +++ b/src/Ingress/TalentSync.Ingress.Api/Webhooks/TeamtailorWebhookEndpoint.cs @@ -32,14 +32,11 @@ private static async Task HandleAsync( { var logger = loggerFactory.CreateLogger(typeof(TeamtailorWebhookEndpoint)); - // Raw bytes, read once: the event id (and later signature v2) is computed over the body as sent, - // never over re-serialised JSON. + // Raw bytes, read once: the event id is computed over the body as sent, never over re-serialised JSON. using var buffer = new MemoryStream(); await request.Body.CopyToAsync(buffer, cancellationToken); var rawBody = buffer.ToArray(); - // TODO(MVP, last step): verify TT-Signature v2 here and return 401 when it is invalid. - switch (parser.Parse(rawBody)) { case WebhookParseResult.Parsed parsed: From e59009659017a259948d75767ab2dd97d524cb94 Mon Sep 17 00:00:00 2001 From: Michal Wcislo Date: Fri, 16 Oct 2026 14:31:17 +0200 Subject: [PATCH 7/8] chore: Adds missing editorconfig, dependant bot, fixes formatting --- .editorconfig | 16 ++++++++++++++++ .github/dependabot.yml | 19 +++++++++++++++++++ .github/workflows/ci.yml | 3 +++ .../Persistence/EnrichmentResultStore.cs | 5 +---- .../Persistence/ConsumerStore.cs | 5 +---- 5 files changed, 40 insertions(+), 8 deletions(-) create mode 100644 .editorconfig create mode 100644 .github/dependabot.yml diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..e13d3c7 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,16 @@ +# dotnet format --verify-no-changes runs in CI (Build job). end_of_line is left unset on purpose: the index holds LF, +# Windows checkouts get CRLF through core.autocrlf, and both must pass. charset is unset too: dotnet ef writes +# migrations with a BOM, so every new migration would fail the check. +root = true + +[*] +indent_style = space +indent_size = 4 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.{csproj,props,targets,slnx,xml,json,yml,yaml}] +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..8daeb64 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,19 @@ +# One grouped PR per ecosystem and month, so updates do not arrive as a stream of single-package PRs. +# nuget covers Directory.Packages.props (central package versions) and the dotnet-ef tool in dotnet-tools.json. +version: 2 +updates: + - package-ecosystem: nuget + directory: / + schedule: + interval: monthly + groups: + nuget: + patterns: ["*"] + + - package-ecosystem: github-actions + directory: / + schedule: + interval: monthly + groups: + github-actions: + patterns: ["*"] diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fa7f2bf..a04d7b3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,6 +35,9 @@ jobs: - name: Build run: dotnet build --no-restore -c Release + - name: Check formatting + run: dotnet format --verify-no-changes --no-restore + # Builds again instead of passing bin/ between jobs: a restore and build take under a minute, artifacts of # every project's output would be slower and fragile. test: diff --git a/src/Matching/TalentSync.Matching.Infrastructure/Persistence/EnrichmentResultStore.cs b/src/Matching/TalentSync.Matching.Infrastructure/Persistence/EnrichmentResultStore.cs index 1f8e09f..6a03bab 100644 --- a/src/Matching/TalentSync.Matching.Infrastructure/Persistence/EnrichmentResultStore.cs +++ b/src/Matching/TalentSync.Matching.Infrastructure/Persistence/EnrichmentResultStore.cs @@ -39,10 +39,7 @@ public async Task SaveAsync( await db.SaveChangesAsync(cancellationToken); return enrichment; } - catch (DbUpdateException exception) when (exception.InnerException is SqlException - { - Number: UniqueConstraintViolation or UniqueIndexViolation, - }) + catch (DbUpdateException exception) when (exception.InnerException is SqlException { Number: UniqueConstraintViolation or UniqueIndexViolation }) { // Another processor enriched the same CV with the same prompt first (e.g. after a partition moved mid-event). Its answer wins, // so both upserts send the same suggestion. diff --git a/src/Shared/TalentSync.Infrastructure.Messaging/Persistence/ConsumerStore.cs b/src/Shared/TalentSync.Infrastructure.Messaging/Persistence/ConsumerStore.cs index ed57b2d..4ceae12 100644 --- a/src/Shared/TalentSync.Infrastructure.Messaging/Persistence/ConsumerStore.cs +++ b/src/Shared/TalentSync.Infrastructure.Messaging/Persistence/ConsumerStore.cs @@ -29,10 +29,7 @@ public async Task MarkHandledAsync(InboxEntry entry, CancellationToken cancellat { await db.SaveChangesAsync(cancellationToken); } - catch (DbUpdateException exception) when (exception.InnerException is SqlException - { - Number: UniqueConstraintViolation or UniqueIndexViolation, - }) + catch (DbUpdateException exception) when (exception.InnerException is SqlException { Number: UniqueConstraintViolation or UniqueIndexViolation }) { // Invariant 12: the unique index, not a lookup, decides that the event was already handled. } From 9513e2c0a255e36091dd14bef3e84b1b74abd7e4 Mon Sep 17 00:00:00 2001 From: Michal Wcislo Date: Fri, 16 Oct 2026 14:48:26 +0200 Subject: [PATCH 8/8] chore: Removes references to v2 signature --- .claude/rules/configuration.md | 1 - .claude/rules/messaging.md | 4 +--- .claude/rules/testing.md | 4 ++-- .github/dependabot.yml | 19 ------------------- CLAUDE.md | 2 +- README.md | 1 - docs/acceptance-scenarios.md | 14 +------------- docs/adr/003-notify-then-fetch.md | 2 -- docs/adr/004-transactional-outbox.md | 2 +- docs/architecture.md | 15 ++++++--------- docs/diagrams.md | 2 +- simulators/CLAUDE.md | 3 --- .../Teamtailor/WebhookSender.cs | 1 - .../DependencyInjection.cs | 2 +- 14 files changed, 14 insertions(+), 58 deletions(-) delete mode 100644 .github/dependabot.yml diff --git a/.claude/rules/configuration.md b/.claude/rules/configuration.md index 4d3272b..5e6d0e2 100644 --- a/.claude/rules/configuration.md +++ b/.claude/rules/configuration.md @@ -21,7 +21,6 @@ Proposed names (descriptive: once implemented, the code is the reference). | `Checkpoints:BlobConnectionString`, `Checkpoints:Container` | workers | Azurite locally | | `Consumer:InitialBackoff`, `Consumer:MaxBackoff`, `Consumer:MaxUnclassifiedAttempts` | workers | handler loop; max back-off 30 s, 5 attempts (`resilience.md`) | | `Teamtailor:BaseUrl`, `Teamtailor:ApiKey`, `Teamtailor:ApiVersion` | workers | API version `20240904` | -| `Teamtailor:SignatureKey` | Ingress.Api | must equal `FakeTeamtailor:SignatureKey` | | `Teamtailor:QualifiedStageName` | workers | `Qualified` locally. Only Matching.Worker maps stages, but `AddTeamtailorApi` validates it on start in both | | `Teamtailor:Resilience:*` | workers | `HttpStandardResilienceOptions` of the API client (e.g. `Retry:MaxRetryAttempts` = 2); unset keys keep the library defaults, but the section itself must exist in every `*:Resilience` row or the host fails to build | | `Crm:BaseUrl` | Sync.Worker | | diff --git a/.claude/rules/messaging.md b/.claude/rules/messaging.md index 2cb9a74..81765ee 100644 --- a/.claude/rules/messaging.md +++ b/.claude/rules/messaging.md @@ -39,9 +39,7 @@ Transport metadata goes in `EventData.Properties`, never in the envelope. The on ## Ingress.Api -1. Read the raw body (enable buffering). Verify signature v2 through the verifier interface from - `Infrastructure.Teamtailor` (see teamtailor rule). Invalid → 401. - MVP: signature verification is done last; until then the endpoint skips it. +1. Read the raw body once: the event id is computed over the bytes as sent. 2. Parse the webhook through the parser interface from `Infrastructure.Teamtailor`, build the envelope, insert into `ingress.Outbox` in one local transaction, return 200. 3. If the insert fails → 503. Teamtailor may not retry; this loss is accepted (see known limitations). diff --git a/.claude/rules/testing.md b/.claude/rules/testing.md index 187501c..1110283 100644 --- a/.claude/rules/testing.md +++ b/.claude/rules/testing.md @@ -12,7 +12,7 @@ paths: | `TalentSync.Matching.Domain.Tests` | Unit, no I/O | Suggestion validation, `ConsultantProfile` behaviour | | `TalentSync.Matching.Infrastructure.Tests` | Unit, no network | Matching Platform client: request body, status mapping (4xx → Rejected), HTTP pipeline. CV masking. Enrichment adapter over `FakeChatClient`: outcome per mode, timeout, open circuit, shutdown | | `TalentSync.Sync.Application.Tests`, `TalentSync.Matching.Application.Tests` | Unit, no I/O | Use cases: each fetch result and port result → use case result. Ports replaced by small hand-written stubs | -| `TalentSync.Infrastructure.Teamtailor.Tests` | Unit, no network | Signature v2, webhook parsing, stage mapping, response mapping (404 → Deleted, 4xx → Rejected). Internals via `InternalsVisibleTo` | +| `TalentSync.Infrastructure.Teamtailor.Tests` | Unit, no network | Webhook parsing, stage mapping, response mapping (404 → Deleted, 4xx → Rejected). Internals via `InternalsVisibleTo` | | `TalentSync.Infrastructure.Messaging.Tests` | Unit, no I/O | Consumer skeleton: inbox and parking lot mapping, failure classification, handler loop | | `TalentSync.Infrastructure.Observability.Tests` | Unit, no network | `AddObservability` with the SDK enabled on a test server (the request span is a root), `SpanExportPolicy` in front of an in-memory exporter. Internals via `InternalsVisibleTo` | | `TalentSync.Sync.Infrastructure.Tests` | Unit, no network | CRM client: status mapping (404 on delete = done, 4xx → Rejected), HTTP pipeline. Internals via `InternalsVisibleTo` | @@ -79,4 +79,4 @@ pass by editing a report header or the test. The evaluation itself never runs in ## Packages Ask before adding any package, including test helpers such as `Microsoft.Extensions.TimeProvider.Testing` -(`FakeTimeProvider` for the signature replay window). +(`FakeTimeProvider`). diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 8daeb64..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,19 +0,0 @@ -# One grouped PR per ecosystem and month, so updates do not arrive as a stream of single-package PRs. -# nuget covers Directory.Packages.props (central package versions) and the dotnet-ef tool in dotnet-tools.json. -version: 2 -updates: - - package-ecosystem: nuget - directory: / - schedule: - interval: monthly - groups: - nuget: - patterns: ["*"] - - - package-ecosystem: github-actions - directory: / - schedule: - interval: monthly - groups: - github-actions: - patterns: ["*"] diff --git a/CLAUDE.md b/CLAUDE.md index 2d372a5..9f5d455 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -112,7 +112,7 @@ Key names, owners and gotchas: `.claude/rules/configuration.md` (loads when `app In scope, minimal version of everything: docker compose (Event Hubs emulator, Azurite, SQL Server), the three simulators, Ingress with outbox and relay, Sync.Worker (inbox, ACL, CRM upsert, resilience, parking lot), Matching.Worker (Qualified rule, LLM enrichment -with stored results and fallback, profile upsert). Teamtailor signature v2 verification is in scope but done last. +with stored results and fallback, profile upsert). Observability (ADR 010): OpenTelemetry traces, metrics and logs, Aspire Dashboard locally. Matching.Worker ignores `candidate.*` events in the MVP (rule D6). diff --git a/README.md b/README.md index 7413505..39777f2 100644 --- a/README.md +++ b/README.md @@ -132,7 +132,6 @@ Accepted for the MVP and listed in [architecture](docs/architecture.md#known-lim - If SQL Server is down when a webhook arrives, Ingress returns 503 and Teamtailor may not retry, so the event is lost. A reconciliation job against the API would close this gap. - One outbox relay replica: several would publish a candidate's events out of order. -- Ingress does not verify the Teamtailor webhook signature, so it accepts unsigned webhooks. - A profile is not refreshed when the candidate's CV changes, only on the next qualification. ## Working with a coding agent diff --git a/docs/acceptance-scenarios.md b/docs/acceptance-scenarios.md index cc14f4c..866253b 100644 --- a/docs/acceptance-scenarios.md +++ b/docs/acceptance-scenarios.md @@ -163,7 +163,7 @@ Scenario: M8 Candidate update is ignored by Matching ## Ingress -The test sends the request to Ingress itself. I3–I4 are done last in the MVP (signature v2). +The test sends the request to Ingress itself. ```gherkin # Illustrates: invariant 10, ADR 004 (transactional outbox) @@ -180,18 +180,6 @@ Scenario: I2 Event Hubs outage delays but does not lose events Then Ingress responds 200 When Event Hubs becomes available Then the hub receives the event with that EventId - -# Illustrates: Teamtailor signature v2 -Scenario: I3 Invalid signature is rejected - When a webhook with a TT-Signature computed with the wrong key is sent to Ingress - Then Ingress responds 401 - And ingress.Outbox has no row for that EventId - -# Illustrates: Teamtailor signature v2 (replay window) -Scenario: I4 Stale timestamp is rejected - When a correctly signed webhook with a timestamp 6 minutes in the past is sent to Ingress - Then Ingress responds 401 - And ingress.Outbox has no row for that EventId ``` ## Observability diff --git a/docs/adr/003-notify-then-fetch.md b/docs/adr/003-notify-then-fetch.md index a0f4177..32e7a3b 100644 --- a/docs/adr/003-notify-then-fetch.md +++ b/docs/adr/003-notify-then-fetch.md @@ -21,8 +21,6 @@ The webhook is treated as a signal, and the Teamtailor API as the source of trut `GET /v1/job-applications/{id}?include=stage`) and acts on that, not on the webhook. - A 404 from the API maps to `Deleted`, never to an error. -This is **not** a workaround for an unsigned payload: signature v2 signs the whole body, and Ingress verifies it. - ## Consequences - Stale or reordered events are harmless: each worker acts on the current API state, whatever order the events diff --git a/docs/adr/004-transactional-outbox.md b/docs/adr/004-transactional-outbox.md index e0a1059..320dde1 100644 --- a/docs/adr/004-transactional-outbox.md +++ b/docs/adr/004-transactional-outbox.md @@ -14,7 +14,7 @@ API, the CRM or the Matching Platform; its only job is to accept the webhook and Ingress persists the event before answering, and a separate relay publishes it. -- The webhook endpoint verifies the signature, parses the webhook, builds the envelope (IDs only) and inserts it +- The webhook endpoint parses the webhook, builds the envelope (IDs only) and inserts it into `ingress.Outbox` in one local transaction, then returns 200. If the insert fails, it returns 503. - The outbox relay is a `BackgroundService` inside Ingress.Api. In a loop it selects unpublished rows `WITH (UPDLOCK, READPAST, ROWLOCK)` ordered by `Id`, publishes each with partition key `candidateId` through a diff --git a/docs/architecture.md b/docs/architecture.md index 0384dc9..db23e95 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -13,7 +13,7 @@ Three deployables, split by runtime behaviour, not by business capability. They | Container | Responsibility | Does not | Owns | |---|---|---|---| -| **Ingress.Api** | Verify signature, persist a notification envelope, return 200. Relay publishes outbox → Event Hubs | Call any API, interpret stages, hold domain logic | `ingress.*` | +| **Ingress.Api** | Persist a notification envelope, return 200. Relay publishes outbox → Event Hubs | Call any API, interpret stages, hold domain logic | `ingress.*` | | **Sync.Worker** | `candidate.*` → fetch candidate → upsert or delete CRM contact | Handle application events | `sync.*`, checkpoints of `sync-worker` | | **Matching.Worker** | `job_application.*` → qualified? → fetch candidate + CV → enrichment (stored) → upsert profile | Decide matches, block on LLM failure, handle `candidate.*` (D6) | `matching.*`, checkpoints of `matching-worker` | | SQL Server | Three schemas, one owner each | Act as a channel between workers | | @@ -40,7 +40,7 @@ src/ TalentSync.Infrastructure.Teamtailor ACL: TeamtailorRecruitmentSource (port adapter) over TeamtailorApiClient (HTTP, status mapping) and TeamtailorMapper, internal JSON:API DTOs, 429 handling, stage mapping from config, 404 → Deleted, 4xx / unmappable → Rejected, - signature v2, webhook parsing, public AddTeamtailorWebhooks() (Ingress) + webhook parsing, public AddTeamtailorWebhooks() (Ingress) and AddTeamtailorApi() (workers). → Recruitment.Domain TalentSync.Infrastructure.Observability AddObservability(): OpenTelemetry traces, metrics and logs over OTLP, subscribes to every TalentSync.* ActivitySource and Meter, HTTP and SQL @@ -72,7 +72,7 @@ src/ composition root, group "matching-worker". Web host: only /health/live (liveness for an orchestrator, no dependency checks) simulators/ fake external systems, NOT part of the product (see simulators/CLAUDE.md). - FakeTeamtailor No references to src/. Signature v2 is implemented independently. + FakeTeamtailor No references to src/. FakeCrm FakeMatchingPlatform tests/ @@ -81,7 +81,7 @@ tests/ TalentSync.Matching.Application.Tests use case: qualified / not qualified / deleted / rejected, stored or new enrichment (stored before the upsert), failure → NotEnriched TalentSync.Matching.Infrastructure.Tests Matching Platform client: request body, status mapping, resilience - TalentSync.Infrastructure.Teamtailor.Tests signature v2, webhook parsing, stage mapping, 404 → Deleted, 4xx → Rejected + TalentSync.Infrastructure.Teamtailor.Tests webhook parsing, stage mapping, 404 → Deleted, 4xx → Rejected TalentSync.Infrastructure.Messaging.Tests consumer skeleton: inbox / parking lot mapping, failure classification, handler loop TalentSync.Infrastructure.Observability.Tests request span is a root with the SDK enabled, SpanExportPolicy TalentSync.Sync.Infrastructure.Tests CRM client: status mapping, 404 on delete = done, resilience @@ -130,9 +130,8 @@ Deliberate asymmetries: Ingress has no domain and is one project; Sync has no bu - `Infrastructure.*` projects reference the layer whose ports they implement. - Only hosts (composition roots) reference `Infrastructure.Teamtailor`. Its public surface is `AddTeamtailorWebhooks(IServiceCollection, IConfiguration)` for Ingress, `AddTeamtailorApi(IServiceCollection, - IConfiguration)` for the workers (registers `IRecruitmentSource`), plus two interfaces that Ingress needs, registered by - `AddTeamtailorWebhooks`: a webhook signature verifier and a webhook parser, and the result type the parser returns - (proposed names: `IWebhookSignatureVerifier`, `IWebhookParser`, `WebhookNotification`). + IConfiguration)` for the workers (registers `IRecruitmentSource`), plus what Ingress needs, registered by + `AddTeamtailorWebhooks`: the webhook parser `IWebhookParser` and the result type it returns. Implementations and JSON:API DTOs are `internal`. This is the only place that defines the public surface. - Each worker's `DbContext` lives in its own `*.Infrastructure`, so the other worker cannot see its schema. - Ingress does not reference `Infrastructure.Messaging`: it only produces. @@ -147,7 +146,6 @@ Deliberate asymmetries: Ingress has no domain and is one project; Sync has no bu | Consumer invariants (inbox, checkpoint, never throw, parking lot) are implemented once | `Infrastructure.Messaging` | | The skeleton classifies failures without knowing adapters | Permanent failures are `Rejected` values translated by the host; transient ones are BCL / Polly / Azure exceptions | | Application does not depend on Infrastructure | Project references (compiler) | -| A bug in our signature verifier is not mirrored in the signer | FakeTeamtailor implements signature v2 independently | ## Service registration (normative) @@ -186,7 +184,6 @@ partition. Notify-then-fetch makes stale or reordered events harmless: each work - If SQL Server is down at ingress, the webhook gets 503 and Teamtailor may not retry: the event is lost. A reconciliation job against the API would close this gap (out of MVP scope). - One relay replica in the MVP; several would weaken ordering. -- Ingress does not verify the Teamtailor webhook signature (v2), so it accepts unsigned webhooks. - Candidate id in job application webhooks is an assumption (see `.claude/rules/teamtailor.md`). - Candidate delete: the CRM marks the contact as deleted and its personal data stays there; anonymisation in the CRM, and profile archiving and anonymisation in the Matching Platform, are out of MVP. diff --git a/docs/diagrams.md b/docs/diagrams.md index 75eb342..d6cb66f 100644 --- a/docs/diagrams.md +++ b/docs/diagrams.md @@ -9,7 +9,7 @@ Keep these diagrams true when a container or the flow changes. flowchart TB tt["FakeTeamtailor
webhooks + JSON:API"] subgraph ing["Ingress.Api"] - ep["POST /webhooks/teamtailor
signature v2"] + ep["POST /webhooks/teamtailor"] outbox[("ingress.Outbox")] relay["Outbox relay"] end diff --git a/simulators/CLAUDE.md b/simulators/CLAUDE.md index 478d137..99e2a73 100644 --- a/simulators/CLAUDE.md +++ b/simulators/CLAUDE.md @@ -38,8 +38,6 @@ Two separate surfaces, plus the test endpoints above: A state change that changes nothing (same stage, same values) sends no webhook, like Teamtailor. - `apply` with an existing `candidateId` adds an application to that candidate (no `candidate.create`); without one a new candidate is created. Tests pass their own ids (`c-s1`, ...) so `/calls` counts never mix between scenarios. -- Webhooks are signed with signature v2 using `FakeTeamtailor:SignatureKey` (must equal `Teamtailor:SignatureKey` - in Ingress). Own implementation, never shared with `src/`. - Anomaly modes: - `rate-limit` (needs `seconds`): `/v1` returns 429 with `X-Rate-Limit-*` headers; `X-Rate-Limit-Reset` = seconds until the mode ends, rounded up. @@ -49,7 +47,6 @@ Two separate surfaces, plus the test endpoints above: - `drop-webhook`: state changes of the candidate apply, but no webhook is sent (a delivery Teamtailor never made). Scenario S8 uses it for a candidate that has no CRM contact. - The header check runs first: a wrong key still gets 401 while an anomaly mode is on. - - No signature modes: invalid and stale signatures are covered by scenarios I3 and I4, which call Ingress directly. - `/v1` requires `Authorization: Token token=...` and `X-Api-Version`; reject without them (400/401) so the ACL is tested. - Stages: `New`, `Screening`, `Interview`, `Qualified`, `Rejected`. - Deleted candidates return 404 from `/v1`. diff --git a/simulators/FakeTeamtailor/Teamtailor/WebhookSender.cs b/simulators/FakeTeamtailor/Teamtailor/WebhookSender.cs index acbc53c..3b9b0b0 100644 --- a/simulators/FakeTeamtailor/Teamtailor/WebhookSender.cs +++ b/simulators/FakeTeamtailor/Teamtailor/WebhookSender.cs @@ -10,7 +10,6 @@ public sealed record WebhookDelivery(string EventName, int? StatusCode); ///

/// Posts { "payload": { "event_name", "data" } } to Ingress; data comes from . -/// Not signed yet: signature v2 comes last, together with the verifier in Ingress. /// public sealed class WebhookSender(HttpClient http, IConfiguration configuration, AnomalyRules anomalies, ILogger logger) { diff --git a/src/Shared/TalentSync.Infrastructure.Teamtailor/DependencyInjection.cs b/src/Shared/TalentSync.Infrastructure.Teamtailor/DependencyInjection.cs index 6909cc9..ce47723 100644 --- a/src/Shared/TalentSync.Infrastructure.Teamtailor/DependencyInjection.cs +++ b/src/Shared/TalentSync.Infrastructure.Teamtailor/DependencyInjection.cs @@ -20,7 +20,7 @@ namespace TalentSync.Infrastructure.Teamtailor; public static class DependencyInjection { /// Webhook parsing for Ingress. - /// Not read yet. The signature verifier will bind the Teamtailor section from it. + /// Not read. public static IServiceCollection AddTeamtailorWebhooks(this IServiceCollection services, IConfiguration configuration) { ArgumentNullException.ThrowIfNull(configuration);