Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .delivery-readiness.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
version: 1
recommended_checks:
- dependency_lock
- security_guidance
- support_guidance
- architecture_guidance
- limitations_guidance
- workflow_permissions
- action_pinning
6 changes: 4 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
name: CI
on: [push, pull_request]
permissions:
contents: read
jobs:
verify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with: { node-version: '24', cache: 'npm' }
- run: npm ci --no-fund
- run: npm run typecheck
Expand Down
25 changes: 21 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,38 @@ The rescue moves validation to the HTTP boundary, durably claims one order opera

See [the root-cause analysis](docs/ROOT_CAUSE_ANALYSIS.md), [before/after evidence](docs/BEFORE_AFTER.md), and [architecture](docs/ARCHITECTURE.md).

## Reproduce and validate
## Setup

Requires Node 24.

```sh
npm ci --no-fund
```

On Windows where `npm.ps1` is blocked, `npm.cmd` is equivalent. No private cache path is required.

## Run

Start the local synthetic API with:

```sh
npm run dev
```

The fixed route is `POST /webhooks/orders` with `eventId`, `orderId`, and positive integer `amountCents`; `GET /health` returns service status.

## Test and validation

Run the deterministic verification set with:

```sh
npm run typecheck
npm test
npm run build
npm audit
```

On Windows where `npm.ps1` is blocked, `npm.cmd` is equivalent. No private cache path is required.

The tests named `SYNTHETIC INTENTIONALLY FLAWED BASELINE` pass by asserting known-bad behavior. They are evidence, not approval of the baseline. The fixed route is `POST /webhooks/orders` with `eventId`, `orderId`, and positive integer `amountCents`; `GET /health` returns service status.
The tests named `SYNTHETIC INTENTIONALLY FLAWED BASELINE` pass by asserting known-bad behavior. They are evidence, not approval of the baseline.

## Limitations

Expand Down
Loading