Commit Graph
415 Commits
Author SHA1 Message Date
chichuan 9879bf4cf6 fix(ci): 恢复 blocked PR 的 App 自动合并 2026-09-04 22:21:32 +08:00
chichuan d0d9617bbd ci: cancel doomed pull-request jobs on first substantive failure
A failing pull-request admission run keeps every already-launched sibling
job running to completion: production data showed 14% of job-minutes went
to cancelled runs and failed runs burned 100+ doomed job-minutes after the
first red check, because GitHub has no cross-job fail-fast and matrices
deliberately keep fail-fast disabled so every broken shard reports.

Each substantive job now has a dedicated fail-fast-* tripwire that cancels
the whole run through gh run cancel the moment that job fails. One tripwire
per job is required because a job-level needs evaluates only after every
watched job completes. Tripwires depend on lint directly and fire only for
pull-request events after a successful lint classification: protected-main
pushes run to completion as the coverage-cache producer and keep the full
failure picture for triage. A cancelled admission run still fails the nine
required ruleset contexts, so the mechanism can never authorize a merge.

TestCIFailFastTripwiresWatchEverySubstantiveJob derives the watched set
from the live job graph: a new substantive job without a tripwire, or a
tripwire orphaned by a removed or exempted job, fails the contract tests.
2026-09-04 12:02:19 +08:00
chichuan 1b38caa7ff fix(ci): retry admitted-merge PR discovery past association-index lag
Protected-main pushes fire within seconds of the merge, before GitHub's
commit-to-PR association index necessarily lists the fresh merge commit.
Both production attempts since the reuse mechanism landed fell back to the
complete main suite with "expected one associated merged PR, found 0" even
though the PR records already bound the exact merge identity.

Discovery now re-polls on a bounded budget (twelve attempts five seconds
apart by default, tunable through DWS_ADMITTED_MERGE_RETRY_*) and also
consults the most recently updated closed main PRs under the identical
exact filter, since the merge transaction records merge_commit_sha on the
PR before the push event fires. Only zero-match discovery retries;
ambiguous results still throw immediately and an exhausted budget keeps
the complete protected-main suite, so fail-closed semantics are unchanged.
2026-09-04 12:01:55 +08:00
赤川 4c79021979 Merge branch 'main' into codex/fix-reviewer-router-dirty-preflight 2026-09-03 23:22:49 +08:00
chichuan 6707f7b6e2 ci: reuse admitted PR evidence on main
Refs #1280
2026-09-03 22:32:47 +08:00
chichuan e7776f191c fix(ci): defer non-mergeable router candidates
Reviewer Router treated mergeable=false dirty PRs as synchronous merge candidates, so an expected denial became an unsupported 403 and failed the repository-wide batch. Classify explicit non-ready states before merge and recover the same state transition race without hiding unproven App authorization failures.
2026-09-03 22:19:55 +08:00
chichuan 48fa6eaa3d ci: consolidate app race partitions into three lanes 2026-09-03 20:15:54 +08:00
chichuan 050515e62e fix(ci): focus multi-profile E2E on integration 2026-09-03 19:22:02 +08:00
chichuan cf19852025 ci: stabilize coverage recovery without more jobs 2026-09-03 16:02:59 +08:00
瑞达 43694b7074 Merge remote-tracking branch 'origin/main' into codex/oa-skill-eval
# Conflicts:
#	skills/multi/dingtalk-misc/references/oa.md
2026-09-02 15:36:46 +08:00
瑞达 bd6dc22e34 Merge branch 'main' into codex/oa-skill-eval
# Conflicts:
#	skills/multi/dingtalk-misc/SKILL.md
#	skills/multi/dingtalk-misc/references/oa.md
2026-09-01 16:04:56 +08:00
昭逸 977ad5dce7 policy(schema): review OA pending RPC redirect to #666
- allow oa.list_pending_approvals to redirect from list_pending_approvals to get_todo_tasks
- preserve the stable canonical command identity
- add regression coverage for the exact reviewed interface_ref mapping to #666
2026-09-01 15:45:00 +08:00
昭逸 94fb8c9e40 审批查询命令支持搜索和筛选 to #666 2026-09-01 14:28:25 +08:00
Anonymity-0 2f85ea37d6 Merge branch 'main' into feat/chat-file-upload-only 2026-08-30 22:58:35 +08:00
前津 5a5b62d3e6 refactor(chat): add conversation file upload command 2026-08-28 17:21:22 +08:00
前津 6027f28179 Merge remote-tracking branch 'upstream/main' into feat/chat-file-upload-only 2026-08-28 17:15:42 +08:00
瑞达 4ac45b2f84 skill(oa): tighten role-aware workflows 2026-08-28 13:48:37 +08:00
赤川 7bca7ab7cd Merge branch 'main' into feat/dws-event-todo 2026-08-28 13:43:03 +08:00
前津 7a27ee0266 feat(chat): restore upload-only conversation files 2026-08-28 12:31:59 +08:00
长真 78c960283f docs(chat): correct emotion favorite upload service and bizType to #85955640 2026-08-28 03:15:42 +08:00
炳昱 6e8f098161 docs(event): correct personal event counts 2026-08-27 18:27:00 +08:00
炳昱 80dc688f19 Merge remote-tracking branch 'upstream/main' into feat/dws-event-todo
# Conflicts:
#	README.md
#	README_zh.md
#	internal/app/event_command.go
#	internal/app/event_personal_attempts_test.go
#	skills/mono/SKILL.md
#	skills/mono/references/products/event.md
#	skills/multi/dingtalk-event/SKILL.md
#	test/unit/skill_docs_policy_test.go
2026-08-27 16:56:45 +08:00
xlb1130 e5e3c79986 Merge branch 'main' into feat/85955640-chat-emotion-favorite-file-path 2026-08-27 16:01:45 +08:00
RuiGong01 7939e8dc45 Merge branch 'main' into codex/dingtalk-minutes-skill-opt-v1 2026-08-27 12:44:47 +08:00
RuiGong01 ee0022ae03 Merge branch 'main' into codex/dingtalk-minutes-skill-opt-v1 2026-08-27 12:00:11 +08:00
克谨 5117623f2e Merge latest origin/main 2026-08-27 11:32:07 +08:00
RuiGong01 c17d6b7c96 Merge remote-tracking branch 'origin/main' into codex/dingtalk-minutes-skill-opt-v1
# Conflicts:
#	docs/shortcut-public-catalog.json
#	internal/app/schema_shortcut_contract_test.go
2026-08-27 10:24:19 +08:00
长真 04d1b31c69 feat(chat): support local image file favorite via --file-path
Allow `dws chat emotion favorite` to accept a local image through
--file-path as an alternative to --media-id. The local file is
validated (extension whitelist, size <= 10MB) and uploaded via the im
upload_media tool (bizType=chat_image, mediaIdV1 fail-closed), then
the existing favorite_personal_emotion flow is reused unchanged.

--media-id and --file-path are mutually exclusive and one of them is
required. Schema-wise this relaxes media-id from required to optional,
adds the file-path parameter as a reviewed mapping exclusion, and
declares the mutually-exclusive/require-one-of constraints with a
reviewed schema-compat transition.
2026-08-27 03:08:39 +08:00
克谨 5d0f52e155 Merge origin/main into five-product param aliases 2026-08-27 01:22:34 +08:00
克谨 6dc7df6709 feat: promote five-product shortcut param aliases 2026-08-27 01:10:18 +08:00
赤川 cc06f1218c Merge branch 'main' into codex/fix-reviewer-router-unknown-preflight 2026-08-26 22:53:19 +08:00
前津 c76bad4a13 fix(chat): classify quoted threads by container 2026-08-26 20:29:00 +08:00
chichuan 2583eb77cb fix(ci): defer unknown mergeability 2026-08-26 19:32:37 +08:00
前津 0b63c9b0e2 Merge remote-tracking branch 'upstream/main' into codex/pr1054-final 2026-08-26 19:27:26 +08:00
chichuan 46713654f0 fix(ci): recover behind PR merge denials 2026-08-26 18:02:48 +08:00
克谨 5427b04989 docs: add shortcut param hallucination gap analysis 2026-08-26 16:51:33 +08:00
前津 67342e3f52 feat(chat): split Thread commands 2026-08-26 16:43:33 +08:00
chichuan 3c8db7e11b ci: stop rerunning admission for auto-merge metadata 2026-08-26 15:34:00 +08:00
chichuan bfc680f744 Merge remote-tracking branch 'origin/main' into codex/fix-ci-merge-authority-light-gate 2026-08-26 14:45:53 +08:00
chichuan 9c363705e1 ci: keep workflow changes manual-only 2026-08-26 14:44:31 +08:00
chichuan ba1f207eb5 ci: add base-owned merge authority gate 2026-08-26 14:12:54 +08:00
半圭 fbafa14e17 Merge remote-tracking branch 'upstream/main' into pr-1090 2026-08-26 13:43:40 +08:00
Always 3fb21aab19 Merge branch 'main' into feat/drive-sync-batch2 2026-08-26 11:05:20 +08:00
chichuan d837da5f3a ci: fail closed on draft admission state 2026-08-26 10:35:59 +08:00
chichuan 7913c3a720 ci: add draft pull request fast gate 2026-08-26 10:24:57 +08:00
Always 9714019211 Merge branch 'main' into feat/drive-sync-batch2 2026-08-25 23:53:27 +08:00
chichuan ff6cf48df6 ci: cancel stale pull request revisions 2026-08-25 22:24:18 +08:00
chichuan c77046531e fix(ci): admit fork PRs without repository variables 2026-08-25 21:43:27 +08:00
chichuan 4a4062d09e fix(ci): bind required checks to GitHub Actions 2026-08-25 19:20:57 +08:00
chichuan 4815fcc7fc fix(ci): merge App-owned PRs synchronously 2026-08-25 18:13:38 +08:00