fix: open security alerts - #424
Merged
Merged
Conversation
Early-return command dispatches (/memory, /trust, /goal non-kick) wrote their parts and returned without ever entering the session runner, so the busy→idle status transition never fired and the run CLI — which exits its event loop only on the idle event — hung forever (#409). The response parts also lacked time.end, which run mode requires before printing text. Run the early-return writes as a micro-turn via SessionRunState.startIfIdle (idle sessions get the busy→idle transition; busy sessions keep today's inline semantics so the /goal busy guards still read true status), and stamp time {start,end} on the response parts. Goal kick dispatch stays outside the turn: its guards read the live session status. Regression: test/cli/run/early-return-command.test.ts (4 arms, all exit 0 with non-empty output).
…he-poisoning alert" This reverts commit a157c9e.
Delivery issue409
chore(specgit): re-init harness, align policy check IDs
Delivery issue410
Dependency upgrades (Dependabot): dompurify 3.4.13 across ui/session-ui and root catalog, astro 7.1.0 for web, nitro 3.0.260429-beta across the four console/stats/enterprise apps, @hey-api/openapi-ts 0.97.3 for sdk/js with SDK regeneration. CodeQL source fixes: user-attachments URL prefix validation before fetch (SSRF), OAuth error-page HTML escaping in snowflake-cortex, rejection-sampling PKCE verifiers (xai/codex/snowflake-cortex modulo bias), bounded pattern input in provider-error and linear data-URL parsing in acp/tool (ReDoS), and least-privilege permissions on ci-typecheck. Fallout adaptation: regenerated client types made response optional and one oauth callback param required — httpapi-sdk test, terminal, server-session, and dialog-connect-provider updated accordingly; web/.wrangler deploy artifact now ignored. Acceptance tests pin data-URL parsing and context-overflow classification.
The dev-lineage workflow installs specgit locally (npm install --no-save), which npm resolves against this repo's root package.json and fails with EUNSUPPORTEDPROTOCOL on the Bun catalog: protocol. This PR targets main, so run the main-line global install instead.
LeXwDeX
marked this pull request as ready for review
August 24, 2026 06:09
The dev-lineage policy lists canonical ids (unit-tests/e2e-tests) that do not exist as check-run names on the main-line CI matrix, so the acceptance waiter can never observe them. This PR targets main; require the main-line check names.
…rness alignment) # Conflicts: # .specgit.yaml
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Aug 24, 2026
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 freeto 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#423
Why
GitHub /security 面板存在三类开放告警:Dependabot 依赖漏洞(dompurify/astro/nitro/@hey-api/openapi-ts)、CodeQL 代码扫描(1 critical SSRF + 多条 high)、以及 1 条 Secret Scanning(Google API Key,凭据轮换由人工在 Google Cloud Console 处理,不在本 PR 范围)。本交付批量消除代码与依赖侧债务。
What changed
Evidence
bun install --frozen-lockfile一致性通过bun typecheck通过;根 turbo typecheck 29/29bun run test:dag-core:全部关键行为与覆盖率底线通过Checklist
specgit finishexits 0.