Repository navigation
fix: remediate web Seroval and Undici pins (0.55.62) - #259
Conversation
Record pre-change RED and minimal Seroval/Undici pins. CI-only locks and restored-owner GREEN remain pending; bootstrap checks use the old installed tree. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Authenticate minimal CI lock delta and approved patch ages. Preserve six RED-first all-occurrence and installed-owner regressions; focused GREEN 35/35 and web full npm inventory exit 0. API graph remains unchanged and full-tree context findings remain explicit. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Hosted CI correctly caught API tests reading web packages before the web install step. Preserve all six assertions in existing Vitest lane with native owner resolution; focused web GREEN 6/6. Record RCA without skips, workflow changes or new exceptions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Exact-head independent technical reviewReviewed head: A separate read-only code-review agent examined this candidate and reported This is an independently executed automated technical review, not a human Parent independently verified all seven exact-head check entries complete The canonical delivery process requires green CI and review before merge; Only ordinary PR integration is intended. Final merged-artifact, |
Summary
Reserve 0.55.62 for minimal exact web Seroval 1.6.3 -> 1.6.11 and Undici
7.29.1 -> 7.30.1 patches, using authenticated CI-only locks and actual
installed-owner checks. Keep this PR DRAFT. Do not merge or deploy.
The full API package map is unchanged. The reviewed merged request-body and
logging-fixture corrections are preserved from master
727860866c53c7ec8d01d1ff5bae858f80a1715d. PR #251 is untouched.Linked Defect / Plan Reference
docs/WEB_SEROVAL_UNDICI_SECURITY_REMEDIATION.md, actual owners, CI artifacts and RCA.TDD Process
api/src/security/)RED: six real assertions fail on old versions in manifests, all lock
occurrences and all installed owner contexts. Tests were retained as an
ignored draft for the normal bootstrap publication, then added to source
after authenticated CI lock import. No temporary skip or hook bypass.
Initial GREEN: all 35 existing/new focused tests passed after clean restores.
Hosted CI then caught API tests reading web packages before the web install
step. All six new regressions now live in web's existing post-install Vitest
lane and pass there. No assertion, exclusion or workflow order was relaxed.
Feature / Bug-Fix Commit Checklist (standing rule)
Every behavioral change must include all that apply. Tick or strike through with N/A + reason.
api/test/e2e/exercising the feature through HTTP. New HTTP behavior coverage N/A; existing HTTP suite remains required regression evidence.scripts/live-test.ps1runnable against local + Docker + Azure. N/A, no endpoint behavior change and no live/cloud mutation authorized.docs/with architecture, RFC references, Mermaid diagrams, test coverage. Bounded ownership/validation/RCA report added; new protocol/diagram N/A.docs/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 changedValidation Output
CI regeneration run
40895972413
succeeded at bootstrap source
419596869f3f2de0aa605290d958dcda7ad57e80.Authenticated artifact 12906712562 ZIP digest:
sha256:a84a0114a0cd91bcb2596815fa7ce72f0711b65f3c8778f802f4ad759980e928.Every non-root package-map entry was compared. Only two web packages change;
API changes only release metadata. CI ages are 11.1289 and 14.0243 days.
Approved-feed integrity matches both public-registry sha512 values.
Exact-tip immutable push-source image:
ghcr.io/pranems/scimserver@sha256:57eeb05503aa9724b0e59c14dc55e6510826dcc1abcfcc1adc24f5d88f7ca2ae.The separate PR merge-ref image is
ghcr.io/pranems/scimserver@sha256:c6d22d61bea03c3356aaec642845a64c0130c3597f641a6564d3b8b40bdf30c5.Neither candidate is merged, deployed or a substitute for the independently
verified merged-base image. Source run:
40903132242.
PR run:
40903139752.
CodeQL check 123551914552 specifically reports no new alerts in changed
code; the repository's 107 pre-existing alerts remain a separate baseline.
Review remains required. GitHub acknowledges the installed CLI's
documented
@copilotrequests and the same ordinary bot-review mutation,but subsequent actual REST/GraphQL reads expose no review or pending
reviewer. No review comments currently exist to fix. Do not interpret that
absence as a completed review, COMMENTED bot review or human approval.
Keep this PR draft until a real hosted review is obtained and every
relevant comment has been addressed through normal protected commits.
No High/Critical-image-scan result is represented as browser-bundle clearance.
No new UI behavior means no synthetic Playwright coverage is claimed.
The existing HTTP native/OS worker warning, global pre-existing CodeQL
alerts, performance ratio 1.23928982 >1.10, customer data/restore, cleanup 403,
measured browser/human visual verification and Mermaid viewer conflict
remain separate holds.
Self-improvement: applied through every-occurrence and actual-owner tests.
Design disposition: accepted; existing exact overrides are cohesive and
an application refactor would be speculative. API full-inventory and broader
browser-bundle scan questions remain bounded follow-ups, not hidden passes.
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. N/A, no migration changes.Destructive Migration Override (skip if not applicable)
ALLOW_DESTRUCTIVE_MIGRATION=1in the CI environment for this PRN/A: this PR changes no database schema or migration.
Reviewer Hint
Diff areas worth special attention from the reviewer:
web/package.jsonand CI-owned locks: exactly two compatible web packageupdates, no API advisory upgrades.
web/src/test/web-advisory-pins.test.ts: all locked/installedoccurrences and both Seroval owner contexts plus jsdom's Undici.
inventory versus top-level inventory, image versus browser security.