Repository navigation
fix(api): qualify qs and fast-uri advisory patches (0.55.64) - #261
Conversation
Stack on exact unmerged PR 260. Reserve 0.55.64, assess actual consumers, retain Hono lifecycle blocker. CI bootstrap only; immutable RED fixture awaits authenticated locks, final clean restore and protected Validate publication. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
CI-only artifact 12918583682 changes only qs 6.16.1 and fast-uri 4.2.3. Approved-feed bytes match locked SHA512 and clean restore preserves both lock hashes. Final actual-consumer focus 57/57, complete API inventory exit 0. Keep Hono compatibility blocked, stacked parent unmerged and all release holds intact. Design accepted: cohesive flat pins; self-improvement applied: actual-consumer boundaries and four independent URI regressions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove the redundant request-body assertion discovered during consolidation and retain the interrupted pre-publication receipt. Focused ESLint exits 0 without warnings and all 57 dependency checks pass. No runtime or dependency change; design accepted as cohesive, static-quality improvement applied. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Preserve both histories, the two bounded API patches, merged web pins and actual-owner regressions. Confirm exact parent-union graphs and clean restored inventories; new-head Validate, independent review and CI remain required. No deployment or release admission. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Refreshed independent technical review of the integrationExact head: Result: no significant introduced defects found. The bounded refresh verified the ordinary two-parent merge preserves API source, regression tests, schema and test tree match original #261; The reviewer ran no tests, installs, inventories, restores or services, This author-posted receipt records independently executed automated technical |
Summary
Patch five assessed API advisory records with qs 6.16.1 and fast-uri 4.2.3,
using actual locked and installed consumers rather than an engine-only check.
Leave the Hono adapter advisory explicitly blocked.
Current integration: proposed 0.55.64 now targets reviewed master
287ea671abf1619d7b172c495310769078bd685bafter #259 and #260 merged.Ordinary merge
1334c7cd7d95a30c79166a91e83c9f6b67af5240preservesoriginal #261
f4fcfe3c, reviewed master and every constituent commit.API retains its bounded advisory correction and four root contexts; web
inherits merged Seroval 1.6.11 and Undici 7.30.1. #251 and #262 stay separate.
qs's three real owners accept the patch; body-parser already requires it.
Actual nested Ajv 8.20.0 requires
^3.0.1, which does NOT accept eitherthe previous forced 4.1.5 or new 4.2.3. Compiler and resolver tests provide
bounded compatibility evidence for the existing forced-major seam.
@prisma/dev0.24.3 exact-pins the adapter to 1.19.11. Its actualinitialization/error/request/shutdown lifecycle has not been qualified on
2.1.3, and this task forbids starting its database/server. The override stays
1.19.15; GHSA-rmxm-3fg6-px4f remains active, not suppressed.
No runtime source, endpoint, API response contract, UI behavior, schema,
authentication, live service, Docker engine or deployment is changed.
Protected Validate and all seven exact-head hosted checks pass. Fresh
separately executed technical review found no significant introduced
defects. This is not a release-complete claim or fabricated human/GitHub
approval.
Linked Defect / Plan Reference
TDD Process
api/src/security/)Pre-manifest RED: 11 assertion failures / three passes across 14 cases.
Subsequent real-old-byte replay validates the corrected URI fixtures:
four advisory mechanisms fail while the actual Ajv compiler passes.
Final clean authenticated-restore focus: 57/57, including 19 new cases and
38 existing pin/inventory checks. The RCA records the original fixture
mistakes rather than presenting them as valid compatibility evidence.
Feature / Bug-Fix Commit Checklist (standing rule)
Every behavioral change must include all that apply. Tick or strike through with N/A + reason.
api/src/scripts/check-api-advisory-consumers.spec.ts; no service/controller implementation changes.api/test/e2e/exercising the feature through HTTPLive Integration Tests - new section inN/A: no service/database starts or live mutation permitted; no runtime API change.scripts/live-test.ps1runnable against local + Docker + Azuredocs/with architecture, RFC references, Mermaid diagrams, test coveragedocs/INDEX.md[Unreleased]entry with full test counts and feature summarySession_starter.mdanddocs/CONTEXT_INSTRUCTIONS.mdapi/package.json(and any other version refs) when behavior changedResponse Contract Tests - API responses contain ONLY documented fields (key allowlist assertion at unit + E2E + live)N/A for new assertions: no response/runtime fields change; existing complete API tests retained without weakening.Validation Output
Current integrated source
union: API equals original
f4fcfe3c; web equals reviewed master287ea671, except coordinated 0.55.64 root metadata. Zero non-root drift.npm --prefix api ci --no-audit --no-fund: PASS, both lock hashes unchanged.The web installed graph is physically unchanged, so no redundant restore.
npm --prefix api ls --all --jsonandnpm --prefix web ls --all --json: both EXIT 0.1334c7cdagainst287ea671:no significant introduced defects. Parent preservation, all manifest/lock
entries, inherited source/schema/regressions and integration docs checked.
No tests or artifact download were performed by the reviewer.
$env:PREPUSH_MODE='Validate'; git push origin fix/api-advisory-pins-20261029:PASS, 28/28 gates in 1045.4 seconds, exit 0. Published exact head is
1334c7cd7d95a30c79166a91e83c9f6b67af5240; worktree remains clean.API 6,248 passed /215 suites; HTTP 2,514 passed /118 suites,
plus 42 existing skipped tests /2 skipped suites; web 1,661 passed
/125 files. Existing worker warnings remain, without teardown, timeout,
exclusion or forceExit changes.
checks successful:
push Build Test Image 40969764640,
PR Build Test Image 40969771306,
CodeQL 40969771263
and docs freshness 40969771265.
Both builds pass validation, container smoke and existing HIGH/CRITICAL
Trivy steps. Test-image digests:
push
sha256:ef0131a329581bf6d284faf422a6d3354c22dd89aa78b05fcbee417998a060e2;PR
sha256:2a9237ba45f18cb72623cd21fc721721a7d3a9b90e7d2a405dcf5af15fb15d7c.Neither is an admitted merged-master release artifact or deployment.
comment 6510494070.
Fresh review-thread query found no threads or further page.
PASS at exact
1334c7cd. Artifact12938963537, ZIP SHA-25627821e7c6f7e0247bdb80028418c79c663ff98476a7bf052be538ea787c6a42d,authenticated before extraction into an absolute owned destination.
Both regenerated locks are byte-identical to their exact committed
Git blobs, with unchanged seven-day floor and zero changed packages.
No import, source change, reinstall or second protected push is needed.
on Windows CRLF checkout bytes. Complete JSON structures and exact Git
blobs matched CI; only checkout line endings differ. The corrected check
requires exact committed-byte equality and separately proves newline-only
checkout differences. A changed-content negative control is rejected.
Archive authentication remains raw-byte verification, never normalized.
heads/status-path entries unchanged from the previous checkpoint.
This is status monitoring, not a backup or hash of dirty contents.
Historical independent advisory candidate
The following results belong to original
f4fcfe3c, before reviewed masterwas integrated. They remain provenance, not proof for
1334c7cd.Exact commands and results:
npm --prefix api test -- --runInBand src/scripts/check-api-advisory-consumers.spec.tsnpm --prefix api test -- --runInBand src/scripts/check-api-advisory-consumers.spec.ts -t 'actual nested Ajv|rejects encoded|preserves relative|rejects host|escapes suffix'npm --prefix api ci --no-audit --no-fundandnpm --prefix web ci --no-audit --no-fundnpm --prefix api test -- --runInBand src/scripts/check-api-advisory-consumers.spec.ts src/scripts/check-dependency-override-context.spec.ts src/scripts/check-dependency-pins.spec.tsnpx eslint src\scripts\check-api-advisory-consumers.spec.tsfromapinpm --prefix api ls --all --jsonnode scripts\check-lockfile-provenance.mjspwsh -NoProfile -File scripts\audit-doc-freshness.ps1node scripts\audit-doc-content.mjs$env:PREPUSH_MODE='Validate'; git pushf4fcfe3ccac83de6548ed9991ed44048ee8d660a.Supply-chain evidence: regeneration run
40923567650,
source
eb797fd69ef2b371e3a1812198fe6f159eeafc1c,artifact
12918583682, authenticated ZIP SHA-256bb3b81a1a4dd2eeb14f04e4838d50f6f883fae666057d0ece60e05d42ff29edf.Approved-feed tarball bytes match both locked SHA-512 digests; CI ages
14.815 and 9.784 days exceed the unchanged seven-day floor.
Bootstrap Build Test Image
40923545248failed on the deliberately stale twolock entries. The retained failure is fixed by the authenticated CI locks,
not waived. An initial final-hook attempt was stopped before publication to
remove one new unnecessary type assertion. Its partial receipt is not the
authoritative final validation.
Exact-tip hosted results, all at
f4fcfe3ccac83de6548ed9991ed44048ee8d660a:-SkipCoupling); not PR coupling coverageThe PR check view currently exposes three successful contexts:
validate,build-and-pushandCodeQL. These three runs/four jobs arethe actual available coverage, not the master-targeted PR matrix.
Immutable test image:
ghcr.io/pranems/scimserver@sha256:d6b90a9df5ac5d0575012c3364cf53b2ad462f6a347ada5d80e48dc26057c3ed.Docker build artifact
12921733626, GitHub digestsha256:269e566b3a72af21e823e701d44436f6c75bf70b92057229728936e2c9a943fe.This is not a merged-master/latest-admitted deployment candidate.
Historical hosted-review request: the ordinary
@copilotrequest returned this PR URL,but actual review requests, reviews and review threads are empty. The
uncorrected
copilotlogin attempt failed resolution and was correctedonce; there were no repeated unchanged requests or comment automation.
No independent review was claimed by that historical receipt. Current
separate technical review is recorded above; no release approval is claimed.
Standing Rules Acknowledgment
U+2014) anywhere in the diff. Verified viaSelect-String -Pattern ([char]0x2014).git commit --amendon history that has been pushed.api/src/security/forbidden-source-patterns.spec.tswill catch known anti-patterns.api/src/scripts/lint-migrations.tsenforces this.Destructive Migration Override (skip if not applicable)
ALLOW_DESTRUCTIVE_MIGRATION=1in the CI environment for this PRN/A: no migration or schema changes.
Reviewer Hint
Diff areas worth special attention from the reviewer:
compiler/resolver behavioral qualification.
performance/customer-data/cleanup-403/live/browser/visual/native/renderer/
latest-admission holds and user-stopped authentication work.
Design accepted: cohesive flat pins; a new runtime abstraction is speculative.
#260 is now reviewed and normally merged. This PR was retargeted to master
only afterwards. Current independent technical review and exact-head CI,
not a provider-specific request or an author approval, govern merge.
No protection change, admin bypass, billing/account change or repeated
unchanged automation request is authorized.