Repository navigation
fix: resolve issues #84, #85, #86, #87 - #150
Merged
udoyechinenyevictoria merged 2 commits intoOct 22, 2026
Merged
Conversation
|
@miryatukura-jpg Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
@KingFRANKHOOD is attempting to deploy a commit to the Favour Chigozirim's projects Team on Vercel. A member of the Team first needs to authorize it. |
…eserve fund-accounts step id, fix canonical JSON ordering - Issue Esureorg#84: add optional account/asset/step fields to AssertionResult, populated from the assertion definition via withSubjectRefs() in the gateway so clients can identify assertion targets without re-parsing the scenario. - Issue Esureorg#85: skip the onRequest rate-limiter for GET /health so liveness probes remain reachable even when a client address has exhausted its application quota. All other routes, including /ready, remain covered. - Issue Esureorg#86: add RESERVED_STEP_IDS set (containing "fund-accounts") and reject any user-defined step that collides with a runner-owned id during scenario validation, preventing ambiguous report identifiers. - Issue Esureorg#87: replace localeCompare with a plain Unicode code-unit comparator in canonicalJson so key ordering is deterministic across all host locales and ICU collation environments. ASCII-only field names are unaffected, keeping existing stored hashes valid.
miryatukura-jpg
force-pushed
the
fix/issues-84-85-86-87
branch
from
October 20, 2026 15:41
4c5fe87 to
388f462
Compare
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.
Summary
This PR addresses four backend issues in
esure-backend.#84 — Attach explicit subject references to assertion results
Added optional
account,asset, andstepfields toAssertionResultindomain.ts. TheevaluateAssertionmethod instellar-gateway.tsnow populates these fields from the assertion definition for every assertion variant. No generated secrets or raw account objects are included; only the logical IDs from the scenario definition are copied.#85 — Keep liveness probes independent of application request quotas
The
onRequesthook inapp.tsnow exemptsGET /healthfrom the global rate limiter. All other routes (includingGET /readyand all run/catalogue routes) retain their existing limits. A comment documents why readiness (/ready) is not exempted: it performs a database check whose cost should count against the caller's quota, and its failure mode (503 "unavailable") is meaningfully different from a 429 liveness false-alarm.#86 — Reserve the generated
fund-accountsstep identifierscenario-schema.tsnow defines aRESERVED_STEP_IDSset (currently{"fund-accounts"}) and rejects any user step whoseidcollides with a reserved identifier before any network activity occurs. The error message identifies the conflicting step ID and advises renaming it. The reserved-ID set is documented so future runner-generated steps can extend it safely.#87 — Make canonical JSON ordering independent of locale
canonicalJsoninscenario-loader.tsnow sorts object keys with a locale-independent byte-order comparison (</>) instead oflocaleCompare. The new ordering is equivalent to RFC 7159 / ECMA-404 code-unit order and is stable across all JavaScript runtimes regardless of host locale or ICU collation data. A compatibility note documents that existing persisted hashes are unaffected because all built-in scenario keys are lowercase ASCII.Closes
Closes #84
Closes #85
Closes #86
Closes #87
🤖 Generated with Claude Code