Conversation
There was a problem hiding this comment.
Pull request overview
Adds a provider-agnostic status notification layer to SpecForge status reporting, including a webhook notifier adapter, and wires it through runStatus and the sf status CLI command with delivery failure isolation.
Changes:
- Introduces
StatusNotifiercontracts plus a concrete webhook notifier and anemitStatusNotificationhelper. - Extends
runStatus/formatStatusReportto emit and display notification delivery outcomes without failing the status flow. - Adds
--notify-webhook(repeatable) to thestatusCLI and updates tests for notifier behavior/output.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
src/core/notifiers/statusNotifiers.ts |
New notifier interfaces + webhook implementation + delivery isolation helper. |
src/core/diagnostics/status.ts |
Integrates notification emission into runStatus and prints delivery results in the report. |
src/cli.ts |
Adds --notify-webhook option and maps URLs to webhook notifier adapters. |
tests/notifications/status-notifiers.test.ts |
New unit tests for webhook delivery, failure isolation, and invalid URL handling. |
tests/diagnostics/status.test.ts |
Updates runStatus tests to validate emitted events and delivery results (success/failure). |
tests/cli/status-command.test.ts |
Updates CLI status command test to cover notifier wiring and output. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Adds a provider-agnostic notification layer for PR status events, including a concrete webhook notifier, and wires it into runStatus and the CLI so status events can be emitted without breaking the primary status flow on delivery failures.
Changes:
- Introduces
StatusNotifieradapter contract +emitStatusNotification()orchestration and a webhook-based notifier implementation. - Extends
runStatus/formatStatusReportto emit and render notification delivery outcomes. - Adds
--notify-webhookto thestatusCLI command and updates tests to cover notifier behavior and failure isolation.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
src/core/notifiers/statusNotifiers.ts |
New notifier contracts, webhook adapter, and delivery fan-out logic. |
src/core/diagnostics/status.ts |
Integrates notifier emission into runStatus and prints delivery results in the report. |
src/cli.ts |
Adds --notify-webhook option and maps CLI inputs into webhook notifier instances. |
tests/notifications/status-notifiers.test.ts |
Verifies webhook payload/headers, URL validation, whitespace trimming, and failure isolation. |
tests/diagnostics/status.test.ts |
Ensures runStatus emits notification events and remains successful on delivery failure. |
tests/cli/status-command.test.ts |
Ensures CLI wires --notify-webhook into runStatus input and prints notification outcomes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Adds a pluggable notification layer for PR status events, including a concrete webhook notifier, and wires notifications into the status diagnostics flow and CLI command.
Changes:
- Introduces provider-agnostic status notifier contracts plus a webhook-based notifier implementation.
- Emits
pull_request_statusevents fromrunStatuswith per-notifier failure isolation and result reporting. - Adds
sf status --notify-webhook <url>to configure webhook notifications and prints delivery outcomes.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
src/core/notifiers/statusNotifiers.ts |
New notifier adapter contracts, webhook notifier, and event emission helper with isolated failures. |
src/core/diagnostics/status.ts |
Emits status events during runStatus and prints notification deliveries in reports. |
src/cli.ts |
Adds --notify-webhook option, creates webhook notifiers, and passes them into runStatus. |
tests/notifications/status-notifiers.test.ts |
New unit tests covering webhook adapter behavior, validation, and concurrency ordering. |
tests/diagnostics/status.test.ts |
Extends runStatus tests to assert notifier invocation and delivery reporting. |
tests/cli/status-command.test.ts |
Updates CLI test to pass --notify-webhook and assert notifier wiring + output. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Adds a provider-agnostic status notification adapter layer and wires it into the status diagnostic/CLI so pull request status events can be emitted asynchronously (with per-adapter delivery isolation), including a concrete webhook notifier.
Changes:
- Introduces
StatusNotifiercontracts +emitStatusNotificationand acreateWebhookStatusNotifierimplementation. - Extends
runStatus/formatStatusReportto emit and display notification delivery outcomes. - Adds
sf status --notify-webhook <url>support (repeatable) and corresponding test coverage.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tests/notifications/status-notifiers.test.ts | Adds unit tests for webhook notifier behavior, validation, and delivery isolation/concurrency. |
| tests/diagnostics/status.test.ts | Verifies runStatus emits status events to notifiers and preserves success on delivery failures. |
| tests/cli/status-command.test.ts | Ensures --notify-webhook is parsed and notifications appear in CLI output. |
| src/core/notifiers/statusNotifiers.ts | Implements notifier types, webhook adapter, URL/id normalization, and concurrent delivery emission. |
| src/core/diagnostics/status.ts | Integrates optional notifier emission into runStatus and renders notification results in reports. |
| src/cli.ts | Adds --notify-webhook option and wires it to webhook notifier creation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
Closes #47