qwen-code/scripts
Shaojin Wen 35daec35ea
fix(verify-pr): keep the verdict line a plain paragraph and check the comment footer (#16002)
* fix(verify-pr): keep the verdict line a plain paragraph and check the comment footer

Three verification rounds on PR #15984 shipped their opening verdict as a
single Markdown heading: the round title and the whole ~950-character
verdict paragraph shared one `#` line, which GitHub renders as one giant
H1 — a wall of bold text instead of a readable lead. All three comments
also went out without the attribution footer the publish contract
requires.

The skill only said "verdict line first" without pinning the Markdown
shape, and the consistency checker only checked that the verdict word
and head OID appear in the first ten lines, so both defects passed every
gate.

- The skill now pins the verdict line to a plain paragraph (a round
  title may lead it as plain text, never as a heading), with the
  measured #15984 example and a template.
- Local rounds assemble the exact posted body — report content plus the
  resolved footer — into comment.md, post that file, and read the
  comment back against it byte for byte; report.md stays footer-free by
  contract.
- The checker warns when the lead line is a heading carrying the
  verdict or an over-long heading (GFM indents of up to three spaces
  included), and when comment.md lacks a well-formed attribution
  footer. Warnings, not errors: a cosmetic defect must not make the CI
  publisher refuse an otherwise consistent verdict.
- Pin tests reproduce the shipped shape from the real round-3 comment,
  and the workflow meta-test pins the new skill text.

* fix(verify-pr): accept CRLF line endings in the comment-body checks

Review of #16002 reproduced a Windows-authored comment.md failing the
anchored footer regex: splitting only on \n left a stray \r on the
footer line, so a valid attribution was reported missing and the local
publish gate sent the artifact back for unnecessary repair. GitHub
renders CRLF and LF identically.

Normalize CRLF (and lone CR) to LF before the line-based checks on
report.md and comment.md, and pin LF/CRLF parity: the same valid footer
passes under both endings, a missing footer and a heading lead still
warn under CRLF, and the reviewer's CLI probe is covered end to end.
2026-10-31 11:02:46 +00:00
..
codemod feat(opentui): bundle assets, CI matrix and parity tooling (Batch 7) (#10770) 2026-09-02 08:36:20 +00:00
installation fix(cli): preserve previews and verify installed OpenTUI distribution (#15655) 2026-10-27 00:23:29 +08:00
lib feat(verify-pr): add a local preflight and a verdict check (#15614) 2026-10-27 01:49:59 +08:00
patches fix(release): unblock Managed runtime 0.26.3 backfill (#15825) 2026-10-29 11:54:45 +08:00
sandbox-prototype feat(core): Add Landlock execution fallback (#12278) 2026-09-29 03:45:46 +00:00
sandbox-runtime feat(core): Route runtime tools through bwrap (#12269) 2026-09-20 23:41:24 +00:00
startup-benchmark perf(cli): keep running in place when env files only hold model credentials (#12680) 2026-09-25 10:13:38 +00:00
tests fix(verify-pr): keep the verdict line a plain paragraph and check the comment footer (#16002) 2026-10-31 11:02:46 +00:00
tui-parity feat(cli): align OpenTUI Vim, history and live output with Ink (#15067) 2026-10-22 14:52:40 +00:00
acp-http-smoke.mjs feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
assert-release-version.mjs refactor(build,release): Use pnpm workspace builds and publishing (#12400) 2026-09-21 15:38:36 +00:00
audit-runtime-critical.js ci: keep the critical-audit gate honest when npm cannot answer (#7743) 2026-07-26 06:59:13 +00:00
benchmark-api-latency.mjs ci: make the Prettier lane a real gate (#11117) 2026-09-07 00:44:01 +00:00
build-hosted-installation-assets.js fix(installer): auto-detect SYSTEM account and default PATH scope to machine (#4903) 2026-06-10 21:02:10 +08:00
build-managed-harness-images.mjs test(managed-agent): Add shared Harness Kubernetes qualification tools (#15519) 2026-10-25 20:48:38 +08:00
build-standalone-release.js fix(release): extend standalone runtime download retries (#15673) 2026-10-27 11:51:23 +08:00
build.js feat(generated-ui): bundle Generated UI behind an experimental flag (#14888) 2026-10-21 11:52:03 +08:00
build_landlock_run.mjs feat(core): Add Landlock execution fallback (#12278) 2026-09-29 03:45:46 +00:00
build_package.js fix(build): clean stale outputs before tsc --build to prevent TS5055 (#4453) 2026-05-23 23:06:31 +08:00
build_sandbox.js ci(pnpm): install with pnpm everywhere and retire package-lock.json (#11859) 2026-09-20 02:11:25 +00:00
build_vscode_companion.js Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
check-build-status.js fix(cli): scope startup warnings to dev sessions (#8456) 2026-08-29 13:22:34 +00:00
check-contract-open-prs.js refactor(managed-agent): Split server into Maven modules (#15871) 2026-10-30 14:56:35 +00:00
check-contract-version.js ci(sdk-java): stop the API contract version from regressing or stalling (#13804) (#13808) 2026-10-10 05:43:18 +00:00
check-core-subpath-exports.mjs perf(cli): import core modules directly instead of the package root (#10957) 2026-09-06 11:21:50 +00:00
check-desktop-isolation.js chore(desktop): rename packages/desktop-shell to packages/desktop (#12653) 2026-09-25 05:41:25 +00:00
check-failsafe-reports.js refactor(managed-agent): Split server into Maven modules (#15871) 2026-10-30 14:56:35 +00:00
check-flyway-migrations.js feat(managed-agent): consolidate persistence into a 32-table baseline (#14069) 2026-10-14 00:58:38 +00:00
check-flyway-open-prs.js refactor(managed-agent): Split server into Maven modules (#15871) 2026-10-30 14:56:35 +00:00
check-i18n.ts fix(cli): localize approval mode UI labels (#6592) 2026-07-11 00:07:03 +00:00
check-lockfile.js ci(pnpm): install with pnpm everywhere and retire package-lock.json (#11859) 2026-09-20 02:11:25 +00:00
check-release-tarball-exec-bits.mjs fix(release): cover every spawned vendored binary in the tarball exec-bit gate (#15008) 2026-10-21 15:39:07 +00:00
check-serve-fast-path-bundle.js refactor(serve): separate ACP control plane and channel harness (#11916) 2026-09-16 07:24:11 +00:00
check-tui-dep-direction.mjs feat(cli): OpenTUI migration infra batch — locked deps, dependency-direction arch check, framework-neutral streaming model (#10134) 2026-08-28 02:44:46 +00:00
clean-package-build-artifacts.js feat(channels): add IMAP and SMTP email channel (#12939) 2026-10-03 02:54:25 +00:00
clean.js feat(desktop): Add desktop app package with Qwen ACP SDK integration (#3778) 2026-06-11 21:57:20 +08:00
cli-entry.js feat(memory): add scoped external import jobs for CLI and HTTP (#14281) 2026-10-24 10:04:55 +00:00
contract-version-utils.js refactor(managed-agent): Split server into Maven modules (#15871) 2026-10-30 14:56:35 +00:00
copy-browser-use-assets.js feat(cua): streamline computer use and port native reliability fixes (#14846) 2026-10-21 14:03:31 +08:00
copy_bundle_assets.js feat(cua): streamline computer use and port native reliability fixes (#14846) 2026-10-21 14:03:31 +08:00
copy_files.js feat(cua): streamline computer use and port native reliability fixes (#14846) 2026-10-21 14:03:31 +08:00
create-managed-runtime-package.js refactor(managed-agent): Split server into Maven modules (#15871) 2026-10-30 14:56:35 +00:00
create-standalone-package.js feat(managed-agent): Start daemon and Managed locally with one command (#14928) 2026-10-22 16:25:18 +00:00
create_alias.sh fix: ambiguous literals (#461) 2025-08-27 15:23:21 +08:00
daemon-dev.js feat(serve): add workspace-scoped Skills runtime (#10697) 2026-09-05 08:03:24 +00:00
dev.js feat(cua): streamline computer use and port native reliability fixes (#14846) 2026-10-21 14:03:31 +08:00
esbuild-shims.js perf(cli): code-split lowlight to cut startup V8 parse cost (#4070) 2026-05-15 17:26:18 +08:00
export-omni-trajectory.js feat(omni): integrate multimodal media pipeline into main (#12019) 2026-09-16 12:15:45 +00:00
flyway-migration-utils.js refactor(managed-agent): Split server into Maven modules (#15871) 2026-10-30 14:56:35 +00:00
generate-changelog.js feat(release): user-facing bilingual digest for release notes (#9216) 2026-08-17 00:12:04 +00:00
generate-git-commit-info.js # 🚀 Sync Gemini CLI v0.2.1 - Major Feature Update (#483) 2025-09-01 14:48:55 +08:00
generate-managed-agent-configuration-reference.mjs docs(managed-agent): generate the server configuration reference from its metadata (#15939) 2026-10-31 03:23:30 +08:00
generate-model-catalog.ts feat(core): resolve model limits and modalities from a models.dev catalog (#11959) 2026-10-02 14:39:11 +00:00
generate-release-notes.js fix(release): bound summary concurrency and refresh release PRs (#15500) 2026-10-25 13:58:22 +08:00
generate-settings-schema.ts feat(goal): stop a Goal at a turn or an active-time budget (#11457) 2026-09-11 01:01:02 +00:00
get-release-version.js refactor(ci): extract release workflow scripts (#11165) 2026-09-08 07:09:09 +00:00
harness-kubernetes-preflight.py test(managed-agent): Add shared Harness Kubernetes qualification tools (#15519) 2026-10-25 20:48:38 +08:00
keep-manifest-layout.js fix(release): keep manifest layout when bumping versions (#12487) 2026-09-23 02:54:57 +00:00
lint-scope.js perf(ci): scope PR lint and reuse static build outputs (#15381) 2026-10-24 12:42:37 +08:00
lint.js fix(lint): group incremental Prettier by the nearest config directory (#15531) 2026-10-25 23:41:48 +08:00
local_telemetry.js Merge tag 'v0.3.0' into chore/sync-gemini-cli-v0.3.0 2025-09-11 16:26:56 +08:00
managed-agent-dev.js refactor(managed-agent): Split server into Maven modules (#15871) 2026-10-30 14:56:35 +00:00
managed-local-package.js feat(managed-agent): Start daemon and Managed locally with one command (#14928) 2026-10-22 16:25:18 +00:00
managed-runtime-release.js fix(release): authenticate managed OSS preflight (#15504) 2026-10-25 16:51:21 +08:00
measure-flicker.mjs ci: make the Prettier lane a real gate (#11117) 2026-09-07 00:44:01 +00:00
opentui-package-assets.js fix(cli): run OpenTUI on private Bun 1.4.4 (#15387) 2026-10-25 11:50:17 +08:00
package-managed-agent-reference.mjs docs(managed-agent): generate the server configuration reference from its metadata (#15939) 2026-10-31 03:23:30 +08:00
pnpm-package.js perf(dev): add pnpm worktree bootstrap foundation (#10449) 2026-09-08 03:07:40 +00:00
pre-commit.js Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
prepare-package.js feat(cli): ship private Bun and preserve interpreter boundaries (#14959) 2026-10-23 10:27:53 +08:00
prepare.js feat(web-shell): git status chip, visual working-tree diff, and sidebar git status (#7054) 2026-07-18 10:06:07 +00:00
pty-e2e.sh feat(opentui): bundle assets, CI matrix and parity tooling (Batch 7) (#10770) 2026-09-02 08:36:20 +00:00
release-packages.mjs feat(cua): streamline computer use and port native reliability fixes (#14846) 2026-10-21 14:03:31 +08:00
release-script-utils.js ci(sdk-java): guard Flyway version uniqueness and watch red main runs (#12965) 2026-10-02 06:49:12 +00:00
render-managed-harness-kubernetes.mjs test(managed-agent): Add shared Harness Kubernetes qualification tools (#15519) 2026-10-25 20:48:38 +08:00
review-audit-layers.mts feat(review): cover modeled-system defect layers in the reverse audit (#8956) 2026-08-12 18:15:11 +00:00
rocketmq-lite-broker.sh fix(ci): hold chosen RocketMQ ports until the JVMs bind them (#14860) 2026-10-21 00:53:58 +08:00
run-java-daemon-sdk-e2e.ts ci: reduce SDK Java runner queueing (#8441) 2026-08-03 16:21:05 +00:00
run-macos-ci-group.js test(web-shell): include transcript coverage in recovery fixture (#15883) 2026-10-30 18:24:19 +08:00
run-managed-agent-server-e2e.ts test(managed-agent): gate the B2 attempt/stream identities and live SSE view (#15993) 2026-10-31 09:56:45 +00:00
run-managed-harness-qualification.mjs test(managed-agent): Add shared Harness Kubernetes qualification tools (#15519) 2026-10-25 20:48:38 +08:00
sandbox_command.js fix(cli): Harden settings failures and sandbox command streams (#13140) 2026-10-03 12:02:48 +00:00
sdk-node-exporter-stub.js chore(deps): Clear high-severity CVE baseline and harden the security gate (#9584) 2026-08-21 07:43:32 +00:00
setup-worktree.js chore(pnpm): scope build approvals, pin the ACP zod peer, add a freshness lane (#11797) 2026-09-14 04:45:19 +00:00
sign-release.sh feat(cli): add standalone auto-update support (#4629) 2026-06-04 22:53:12 +08:00
start.js fix(cli): scope startup warnings to dev sessions (#8456) 2026-08-29 13:22:34 +00:00
telemetry.js feat(core): support QWEN_HOME env var to customize config directory (#2953) 2026-05-09 15:51:52 +08:00
telemetry_gcp.js fix(mcp): update OAuth client names and improve MCP commands 2026-02-08 10:46:48 +08:00
telemetry_utils.js feat(core): support QWEN_HOME env var to customize config directory (#2953) 2026-05-09 15:51:52 +08:00
test-rewind-e2e.sh fix(test): update rewind E2E Test 1 assertion after isRealUserTurn fix (#3622) 2026-04-26 06:49:42 +08:00
test-standalone-runtimes.mjs fix(test): budget the standalone runtime suite for the release pool (#15102) 2026-10-25 15:47:18 +08:00
test-windows-paths.js chore: consistently import node modules with prefix (#3013) 2025-08-25 20:11:27 +00:00
tmux-compare.sh feat(opentui): bundle assets, CI matrix and parity tooling (Batch 7) (#10770) 2026-09-02 08:36:20 +00:00
unused-keys-only-in-locales.json feat: add /diff command and git diff statistics utility (#3491) 2026-05-10 11:15:59 +08:00
upload-aliyun-oss-assets.js ci: host PR evidence outside Git (#9985) 2026-08-29 04:36:57 +00:00
verify-capture.mjs refactor!: retire @qwen-code/webui (#9812) 2026-09-05 09:13:54 +00:00
verify-installation-release.js feat(release): add gated bun/OpenTUI preview flavor to standalone releases (#10814) 2026-09-02 12:01:56 +00:00
verify-pr-check.mjs fix(verify-pr): keep the verdict line a plain paragraph and check the comment footer (#16002) 2026-10-31 11:02:46 +00:00
verify-pr-guard.mjs feat(verify-pr): attribute failures, close the publish guard, enumerate coverage (#15764) 2026-10-28 11:57:28 +00:00
verify-pr-prepare.mjs feat(verify-pr): reuse the current tree behind a clean-head prepare gate (#15913) 2026-10-30 22:50:30 +08:00
verify-pr-watch-gate.mjs feat(verify-pr): add a local preflight and a verdict check (#15614) 2026-10-27 01:49:59 +08:00
version.js fix(release): keep manifest layout when bumping versions (#12487) 2026-09-23 02:54:57 +00:00
vitest-global-setup.js feat(channels): add IMAP and SMTP email channel (#12939) 2026-10-03 02:54:25 +00:00
workspaces.js refactor(build,release): Use pnpm workspace builds and publishing (#12400) 2026-09-21 15:38:36 +00:00