Repository navigation
PAY-001A: add bounded request validation and safe logging - #158
Merged
Merged
Conversation
✅ Deploy Preview for luminous-fox-7c393f ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Contributor
Author
Exact-head merge gate
|
10 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #157
Outcome
Adds the shared PAY-001A server safety foundation for future race, merchandise, refund, lookup, and admin endpoint migrations.
usd, canonical calendar dates, canonical HTTPS DNS URLs plus explicit loopback development URLs, and conservative ASCII email syntax.Security invariants reviewed
toJSON.1e2is indistinguishable from100; exponent-form strings are rejected and endpoints receive integer values only.Verification
Node 20.19.5:
node_modules/jest/bin/jest.js --runInBand requestValidation.test.js safeLogging.test.js— 2 suites / 179 tests passed.node_modules/jest/bin/jest.js --runInBandfromfunctions/— 11 suites passed, 1 intentionally skipped; 457 tests passed, 1 skipped.node_modules/eslint/bin/eslint.js .fromfunctions/— passed.git diff --cached --check— passed before commit.Officer impact
No current officer screen, duty, or procedure changes. Later endpoint-wiring work will update the affected officer guides.
Officer documentation
None — this pull request adds a pure server library that no current endpoint imports.
Deployment evidence
Source, tests, review, and merge/hosted-CI evidence only. This pull request does not wire or deploy a Function and does not change a website, Firebase, Stripe, provider, or production behavior. A green deploy workflow must not be described as endpoint deployment.
Remaining work
PAY-001B/C/D must add exact endpoint and nested schemas, business-specific limits, server event/custom-field validation, immutable schema/price/waiver snapshots, no-side-effect endpoint tests, protected deployment, and staged/live verification.