Skip to content

fix(deps): patch dashboard security dependencies [OSWE-280] - #156

Merged
mergify[bot] merged 1 commit into
mainfrom
codex/OSWE-280-ui-security-dependencies
Oct 22, 2026
Merged

mergify[bot] merged 1 commit into
mainfrom
codex/OSWE-280-ui-security-dependencies

Conversation

@ericlitman

@ericlitman ericlitman commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

Summary

 ui/
-├── package.json       (floating Nitro; Vite 7)
-├── pnpm-lock.yaml     (affected dependency graph)
+├── package.json       (pinned Nitro; Vite 8.3.5)
+├── pnpm-lock.yaml     (October security updates)
 └── src/routeTree.gen.ts (regenerated by the updated router)

Update the dashboard dependency graph for the October security advisories. Keep Nitro on its existing working beta and use Vite 8 for the updated TanStack build plugins. The Python dependency update is in PR #155.

Evidence

  • Before: the combined dependency review exceeded the review provider's one-million-token input limit. The October audit found affected dashboard dependencies.
    After: this PR contains only the three UI files. Their blobs are identical to the validated combined head 25fc6409144dce36328d6d02b732fafb10b47b50; the union with PR fix(deps): patch Python security dependencies [OSWE-280] #155 reconstructs that head's exact tree a02c76b3c1ba1187ddee50b1afa106920686a372.
  • Fresh pnpm install --frozen-lockfile, pnpm run build, pnpm run typecheck, and pnpm run test pass on Node 22.23.4 / pnpm 11.9.0; all 50 tests pass. The build preserves the committed generated route tree.
  • Exact-head Agent CI, including Playwright E2E against the original Python dependency set, CodeQL, and title lint pass.
  • The previous security scan of this identical UI lockfile retains braces@3.0.3 / GHSA-vfj7-8cjw-p6xm; recorded scan.
  • Lint is not green: the fresh install does not expose the transitive ESLint binary to pnpm run lint; invoking the lock-resolved ESLint 10.6.0 reports the existing import-order error in toolExecutionDisplay.ts and 11 shadow warnings. The affected source is unchanged from the base. Vitest exits 0 with the previously recorded module is not defined diagnostic and delayed-close warning.

Merge Danger

Door: two-way

Revert the UI manifest, lockfile and generated route tree together.

Blast Radius: dashboard

The dependency changes affect UI rendering and the Vite/TanStack build pipeline. No deployment has been performed. The completed four-reviewer Unfret panel met its 3-reviewer quorum. Its sole blocking allegation was classified unconfirmed after the bounded investigation below; the authentic Unfret App check accepted the exact-head waiver. Mergify queueing follows fresh gate and thread verification. Shared reviewer inputs and policy are unchanged.

Linear: OSWE-280

Adjudication

OSWE-280 — exact-head adjudication for open-swe #156 at 1c7368b1d98e0785a7265013e3f4fdb3702e985a.

Published treatment: mandatory / critical. Consequence class: unconfirmed after one bounded source, package-integrity and reachable-path investigation. This is the only open blocking finding: v1:5ce131f564ebad96a4ecbfe41ae4c2bd9a4b785f74c0a1732db22e62fe9fa7fb.

The reported unexplained Linux binary has a documented upstream purpose in Rollup PR6467: fixing the release cross-toolchain and glibc compatibility. The exact optional pin is present in the official v4.64.12 tag. All three inspected npm tarballs match the lock and registry SHA-512 digests; all five registry ECDSA signatures verify. The published loader is byte-identical to the tagged loader and selects Rollup's own platform binary, with no LZMA load path found. LZMA has no install script, and this downstream lock omits the upstream cross-toolchain packages.

No reproduction or conclusive trace establishes compromise, unwanted execution, or an integrity defect. I apply the standing agent waiver for an unconfirmed finding after bounded investigation; the published mandatory treatment is retained until the exact-head gate accepts this waiver. No source change is justified by this finding. This does not assert that native binaries have been exhaustively audited: no execution, full disassembly, reproducible build, or independent Sigstore chain verification was performed.

The separately dismissed Mermaid allegation is change-unrelated: the prior Streamdown version already required an explicit plugin and the call site is unchanged. It requires no repair.

@ericlitman
ericlitman marked this pull request as ready for review October 22, 2026 23:17
@ericlitman

Copy link
Copy Markdown
Owner Author

@Mergifyio queue

@mergify

mergify Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Merge Queue Status

  • ✅ Entered queue — 2026-10-22 23:18 UTC · Rule: default · triggered by @ericlitman with the @mergifyio queue command
  • 🚫 Left the queue — 2026-10-22 23:18 UTC · at 1c7368b1d98e0785a7265013e3f4fdb3702e985a

This pull request spent 9 seconds in the queue, with no time running CI.

Reason

Pull request #156 has been dequeued by @ericlitman with a dequeue command

Requeued — the merge queue status continues in this comment ↓.

@mergify mergify Bot added the queued label Oct 22, 2026
@ericlitman

Copy link
Copy Markdown
Owner Author

@Mergifyio dequeue

@mergify mergify Bot added dequeued and removed queued labels Oct 22, 2026
@unfret-eal

unfret-eal Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

✅ Accepted risk

Accepted by ericlitman: OSWE-280 (authority 48fa77b)

🔴 Critical · rollup pulls an unexplained linux-x64 native binary

Details

Run: GET /unfret/run/panel:1c7368b1d98e0785a7265013e3f4fdb3702e985a:wJZ2gOwRc7I:TPJhkBxn5lc.

@unfret review · @unfret status · @unfret help

@unfret-eal unfret-eal Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛑 1 blocking finding
🔴 Critical · rollup pulls an unexplained linux-x64 native binary
Check

Comment thread ui/pnpm-lock.yaml
@ericlitman

Copy link
Copy Markdown
Owner Author

OSWE-280 — exact-head adjudication for open-swe #156 at 1c7368b1d98e0785a7265013e3f4fdb3702e985a.

Published treatment: mandatory / critical. Consequence class: unconfirmed after one bounded source, package-integrity and reachable-path investigation. This is the only open blocking finding: v1:5ce131f564ebad96a4ecbfe41ae4c2bd9a4b785f74c0a1732db22e62fe9fa7fb.

The reported unexplained Linux binary has a documented upstream purpose in Rollup PR6467: fixing the release cross-toolchain and glibc compatibility. The exact optional pin is present in the official v4.64.12 tag. All three inspected npm tarballs match the lock and registry SHA-512 digests; all five registry ECDSA signatures verify. The published loader is byte-identical to the tagged loader and selects Rollup's own platform binary, with no LZMA load path found. LZMA has no install script, and this downstream lock omits the upstream cross-toolchain packages.

No reproduction or conclusive trace establishes compromise, unwanted execution, or an integrity defect. I apply the standing agent waiver for an unconfirmed finding after bounded investigation; the published mandatory treatment is retained until the exact-head gate accepts this waiver. No source change is justified by this finding. This does not assert that native binaries have been exhaustively audited: no execution, full disassembly, reproducible build, or independent Sigstore chain verification was performed.

The separately dismissed Mermaid allegation is change-unrelated: the prior Streamdown version already required an explicit plugin and the call site is unchanged. It requires no repair.

@ericlitman

Copy link
Copy Markdown
Owner Author

@Mergifyio queue

@mergify

mergify Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Merge Queue Status

  • ✅ Entered queue — 2026-10-22 23:56 UTC · Rule: default · triggered by @ericlitman with the @mergifyio queue command
  • ✅ Checks skipped · PR is already up-to-date
  • ✅ Merged — 2026-10-22 23:56 UTC · at 4663a18d7ae5dae688e54ad53ef75ec15bf58c61

This pull request spent 10 seconds in the queue, with no time running CI.

Required conditions to merge
  • github-review-approved [🛡 GitHub repository ruleset rule Mergify automatic merge queue]
  • github-review-approved [🛡 GitHub repository ruleset rule Protect main]
  • all of [🛡 Merge Protections rule Queue ready pull requests]:
  • any of [🛡 GitHub repository ruleset rule Mergify automatic merge queue]:
    • check-success = @mergify/Mergify Merge Protections
    • check-neutral = @mergify/Mergify Merge Protections
    • check-skipped = @mergify/Mergify Merge Protections
  • any of [🛡 GitHub repository ruleset rule Protect main]:
    • check-success = @github-actions/Agent lint
    • check-neutral = @github-actions/Agent lint
    • check-skipped = @github-actions/Agent lint
  • any of [🛡 GitHub repository ruleset rule Protect main]:
    • check-success = @github-actions/Agent format check
    • check-neutral = @github-actions/Agent format check
    • check-skipped = @github-actions/Agent format check
  • any of [🛡 GitHub repository ruleset rule Protect main]:
    • check-success = @github-actions/Agent unit tests
    • check-neutral = @github-actions/Agent unit tests
    • check-skipped = @github-actions/Agent unit tests
  • any of [🛡 GitHub repository ruleset rule Protect main]:
    • check-success = @github-actions/Playwright E2E
    • check-neutral = @github-actions/Playwright E2E
    • check-skipped = @github-actions/Playwright E2E
  • any of [🛡 GitHub repository ruleset rule Protect main]:
    • check-success = @github-actions/lint-pr-title
    • check-neutral = @github-actions/lint-pr-title
    • check-skipped = @github-actions/lint-pr-title
  • any of [🛡 GitHub repository ruleset rule Protect main]:
    • check-success = @github-actions/Analyze (actions)
    • check-neutral = @github-actions/Analyze (actions)
    • check-skipped = @github-actions/Analyze (actions)
  • any of [🛡 GitHub repository ruleset rule Protect main]:
    • check-success = @github-actions/Analyze (javascript-typescript)
    • check-neutral = @github-actions/Analyze (javascript-typescript)
    • check-skipped = @github-actions/Analyze (javascript-typescript)
  • any of [🛡 GitHub repository ruleset rule Protect main]:
    • check-success = @github-actions/Analyze (python)
    • check-neutral = @github-actions/Analyze (python)
    • check-skipped = @github-actions/Analyze (python)
  • any of [🛡 GitHub repository ruleset rule Review gate]:
    • check-success = @mergify/Mergify Merge Protections
    • check-neutral = @mergify/Mergify Merge Protections
    • check-skipped = @mergify/Mergify Merge Protections

@mergify mergify Bot added the queued label Oct 22, 2026
@mergify
mergify Bot merged commit 4663a18 into main Oct 22, 2026
14 checks passed
@mergify mergify Bot removed the queued label Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant