Commit Graph

2196 Commits

Author SHA1 Message Date
Tianyi Cui
8bb8ac8b3c docs(tasks): condense background task prose
The background-task change repeated its lifecycle design across implemented RFCs, package READMEs, JSDoc, test commentary, and model-visible schemas. That repetition obscured the contracts that maintainers must preserve and added avoidable prompt tokens.

Rewrite the implemented RFCs around the current design, keep authorization, exact-owner cleanup, wait/abort ordering, producer quiescence, and teardown-failure guarantees at their owning surfaces, and remove peer surveys, review history, control-flow narration, and emphatic restatement.

Shorten the task and subagent schema wording, synchronize the bilingual tool cookbook, and regenerate the config, service, RFC, tool, and replay snapshot derivatives. Runtime behavior is unchanged; test edits update prose-only assertions and descriptions.
2026-07-15 21:08:58 +08:00
NI0317
3735f8c955 docs(cookbook): add operator guide for dsh-code-review maintenance
Entry point for the skill's operator and for any future handoff: what the
private periodic tool produces, where the saved candidate diff and SKILL.md
land on the operator's machine, and how the promote helper turns the
operator's decision into a draft PR from a clean master checkout. Companion
to the maintenance RFC.
2026-07-15 21:05:52 +08:00
NI0317
9a4efada5d docs(rfc): propose periodic human-review maintenance for dsh-code-review
A private out-of-repo maintainer tool turns adopted human review feedback
into candidate skill updates. Only the resulting SKILL.md diff enters this
repository through normal PR review; the tool source, adapter binaries,
provider credentials, and scheduler stay on the maintainer's machine to
keep this repository focused on shipped product code. Kept in proposed/
until end-to-end verification against master lands a candidate PR; the
acceptance criteria list the exact observations that unlock promotion.
2026-07-15 21:05:43 +08:00
NI0317
d0910a2ed7 docs(skill): distill adopted review feedback 2026-07-15 21:05:18 +08:00
Tianyi Cui
3233064537 Merge remote-tracking branch 'origin/master' into codex/simp-hide-web-provider-helpers 2026-07-15 20:59:36 +08:00
Tianyi Cui
f7ece5bc93 Merge branch 'codex/simp-ui-identity-residue' into codex/simp-name-front-door-defaults 2026-07-15 20:59:35 +08:00
Tianyi Cui
8446fc6d85 Merge remote-tracking branch 'origin/master' into codex/simp-prune-sandbox-surface 2026-07-15 20:59:35 +08:00
Tianyi Cui
c7b3187d24 Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue 2026-07-15 20:59:34 +08:00
Tianyi Cui
b7d3083ace Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id 2026-07-15 20:59:34 +08:00
Tianyi Cui
fac0a0a72b Merge branch 'codex/simp-compaction-surface' into codex/simp-agent-entry-state 2026-07-15 20:59:34 +08:00
Tianyi Cui
61da1de4df Merge branch 'codex/simp-trim-hook-snapshot-noise' into codex/simp-compaction-surface 2026-07-15 20:59:34 +08:00
Tianyi Cui
ece33b9876 Merge branch 'codex/simp-shared-acp-test-launcher' into codex/simp-trim-hook-snapshot-noise 2026-07-15 20:59:34 +08:00
Tianyi Cui
65fb93b666 Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher 2026-07-15 20:59:33 +08:00
Tianyi Cui
60f33b03f1 Merge branch 'codex/simp-session-log-representation' into codex/simp-snapshot-fixture-inventory 2026-07-15 20:59:33 +08:00
Tianyi Cui
791e038644 Merge remote-tracking branch 'origin/master' into codex/simp-session-log-representation 2026-07-15 20:59:33 +08:00
Tianyi Cui
b045b553a9 Merge pull request #315 from deepseek-harness/codex/fix-pr172-review-findings
fix(i18n): enforce translation prompt and pairing contracts
2026-07-15 20:54:51 +08:00
Tianyi Cui
4f37c91beb Merge remote-tracking branch 'origin/master' into codex/simp-hide-web-provider-helpers 2026-07-15 20:51:05 +08:00
Tianyi Cui
abd1d7d89f Merge remote-tracking branch 'origin/master' into codex/simp-prune-sandbox-surface 2026-07-15 20:51:04 +08:00
Tianyi Cui
78614b670d Merge branch 'codex/simp-ui-identity-residue' into codex/simp-name-front-door-defaults 2026-07-15 20:50:56 +08:00
Tianyi Cui
d6cc898a30 Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue 2026-07-15 20:50:50 +08:00
Tianyi Cui
273dfca1a5 Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id 2026-07-15 20:50:50 +08:00
Tianyi Cui
c6817b5585 Merge branch 'codex/simp-compaction-surface' into codex/simp-agent-entry-state 2026-07-15 20:50:50 +08:00
Tianyi Cui
11af4e0cc6 Merge branch 'codex/simp-trim-hook-snapshot-noise' into codex/simp-compaction-surface 2026-07-15 20:50:50 +08:00
Tianyi Cui
04fb43c5bd Merge branch 'codex/simp-shared-acp-test-launcher' into codex/simp-trim-hook-snapshot-noise 2026-07-15 20:50:50 +08:00
Tianyi Cui
ac6e397336 Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher 2026-07-15 20:50:50 +08:00
Tianyi Cui
f56f39cb0f Merge branch 'codex/simp-session-log-representation' into codex/simp-snapshot-fixture-inventory 2026-07-15 20:50:49 +08:00
Tianyi Cui
1c3bb4f8a8 Merge remote-tracking branch 'origin/master' into codex/simp-session-log-representation 2026-07-15 20:50:40 +08:00
Tianyi Cui
3383c20c63 fix(i18n): refine Chinese prose and prompt validation 2026-07-15 20:39:24 +08:00
Tianyi Cui
168a3b9fe7 Merge remote-tracking branch 'origin/master' into HEAD
# Conflicts:
#	scripts/verify-translation-pairing.ts
2026-07-15 20:24:23 +08:00
Tianyi Cui
47fa26d2a0 Merge pull request #334 from deepseek-harness/worktree-windows-gates
ci: add native Windows gate lanes
2026-07-15 20:13:15 +08:00
imccyu
32cfd6c513 fix: normalize remaining Windows gate paths 2026-07-15 19:59:00 +08:00
imccyu
47858df1ef ci(windows): defer coverage lane 2026-07-15 19:58:34 +08:00
Tianyi Cui
29d545eb21 Refresh front-door config catalog 2026-07-15 19:52:45 +08:00
Tianyi Cui
732735b27f docs: align default fallback test comments 2026-07-15 19:52:09 +08:00
Tianyi Cui
54fb96ef04 refactor: name front door defaults 2026-07-15 19:52:09 +08:00
imccyu
82794c5681 ci(windows): exclude runtime smoke from static gates 2026-07-15 19:24:30 +08:00
Huanqi Cao
30a209aab5 fix(e2e): reach child quiescence before temp-dir cleanup in built-bin smokes
The acp built-bin smoke killed its child and immediately rm'd the temp
consumer dir; POSIX tolerates unlinking a live process's cwd, Windows fails
EBUSY while the child still holds its cwd and session-log handles (the CI
windows job's only red step). Await the child's exit after SIGKILL and give
both smokes' rm a brief retry for the OS handle-release lag.
2026-07-15 19:13:05 +08:00
Huanqi Cao
ae8aedb2fd fix: normalize glob paths with split(sep).join('/') on Windows
glob/globSync returns host-separator paths on Windows. Nine scripts that consume these paths for split('/'), manifest-key comparison, startsWith/includes exclusion checks, or committed-output rendering now normalize with .map(s => s.split(sep).join('/')) at ingestion. This replaces the previous replaceAll('\\\\', '/') with an explicit, self-documenting OS-separator-to-POSIX conversion.
2026-07-15 19:11:20 +08:00
imccyu
ae7b132f62 fix: launch pnpm gates without a Windows shell 2026-07-15 18:11:24 +08:00
Huanqi Cao
be4a441ecd ci(windows): non-blocking via continue-on-error; drop the warning wrapper and the demo test
The ::warning:: wrapper kept the lane job green on failure — honest
about not gating merges, but a Windows regression was visible only as
an annotation buried in the run summary. GitHub has no yellow job
state, so the choice is green+annotation (too hidden) or a red X on a
non-required job (visible, still non-blocking). Take the red X:
job-level continue-on-error, plain 'Run gates' step, one less wrapper.
The step stays on the runner's native pwsh — never shell: bash — per
the MSYS-parent leak recorded in the windows-support RFC.

Also remove the temporary Windows-only failing demo test that
exercised the wrapper's annotation path (REVERT ME commit a496b9ae).
2026-07-15 18:11:03 +08:00
Huanqi Cao
cb69ca80d6 ci(windows): run the observational gate wrapper in pwsh — an MSYS parent leaks into the suite
The lane-split merge moved the Run gates step to `shell: bash`, which
broke it twice over. First, GHA's bash shell runs with -e, so a failing
gate aborted the step before the ::warning::/exit 0 lines — the lane
went red X instead of the intended yellow warning. Second, and worse,
Git Bash as the PARENT of the gate run leaks MSYS environment into the
suite itself, producing 8 real test failures the pwsh-launched runs
(and the DSec VM runs) never saw:

- bash exports PWD; the MSYS runtime rewrites it to Windows form for
  native children, dsh-bash-local's adaptEnv passes it through, and the
  executor's MSYS bash adopts it — `pwd` prints `D:/a/...` where the
  tests (and the executor's MSYS dialect) expect `/d/a/...` (7 tests).
- cygwin enables SeBackupPrivilege on the runner's admin token; children
  inherit the enabled state, and libuv's FILE_FLAG_BACKUP_SEMANTICS read
  opens then pierce the dwShareMode=0 lock the jsonl EBUSY test holds —
  loadLive resolves instead of rejecting (1 test).

Evidence: run 28918325498 (pwsh step, pre-merge) failed only the two
hooks dispose tests since fixed by f8fd8c00; run 28921741006 (bash
step) fixed those and failed exactly the 8 above, with zero relevant
source diff between them.

Fix: run the wrapper in pwsh — a native command's failure doesn't abort
pwsh, so $LASTEXITCODE capture + ::warning:: + exit 0 works without an
errexit dance, and the gates start from a native Windows shell as they
do everywhere else Windows CI has been validated.

Docs: the windows-support RFC drops the stale continue-on-error wording
(replaced by the warning wrapper) and records the launch-environment
limitation — native shell required today; making an MSYS parent a
supported launch environment (PWD scrub in adaptEnv, privilege-explicit
tests) is a future improvement direction.
2026-07-15 18:09:38 +08:00
Huanqi Cao
007001677d ci(windows): split the Windows lane to mirror Linux's lane structure
The Windows CI was a single job running the full ci-windows inventory
(check:ci:windows), while Linux splits into 5 lanes (static/lint/coverage/
snapshot/artifacts) per the parallel-gates RFC. The single-job shape was a
transitional artifact from when Windows CI was added as a non-required
observation lane; its rationale ('keep gate parallelism modest so coverage
is not starved') conflated run-gates intra-job concurrency
(DSH_GATE_CONCURRENCY) with GitHub job fan-out — orthogonal concerns.

Split Windows into 4 lanes mirroring Linux (snapshot absent: its goldens
are Linux-recorded and self-skip on Windows). Each lane is a separate
GitHub job so a Windows regression is attributable to one lane, not
buried in one job's log. Concurrency is NOT throttled versus Linux: the
lane is non-blocking (continue-on-error), and the observational stance
is to actively expose Windows-arm issues rather than hide them behind
reduced parallelism.

- scripts/run-gates.ts: add ci-windows:static/lint/coverage/artifacts
  modes; ci-windows (full inventory) is retained as the local one-process
  entry, symmetric with Linux's ci-primary.
- .github/workflows/ci.yml: windows job becomes a matrix over the 4 lanes.
- package.json: check:ci:windows:{static,lint,coverage,artifacts} scripts.
- AGENTS.md + windows-support RFC: document the per-lane, non-blocking,
  unthrottled stance.

Verified: scripts/caohuanqi-private/run-ci.py --windows (full
check:ci:windows) — all gates green except the known hooks-claude
bridge.spec waitFor timeout (pre-existing Windows subprocess-timing
flake, unrelated).
2026-07-15 18:08:33 +08:00
Huanqi Cao
fd5931752c ci: add Windows test job (windows-2025)
Add a Windows CI job alongside the existing Linux checks.  Runs the full
test suite (without the Linux-only coverage gate) plus typecheck, lint,
doc-sync, build, hygiene, and demo smoke under PowerShell.  Developer
Mode is enabled via registry for symlink support (fs-local tests,
verify-node-next-types).

Per the windows-support RFC transition plan: step (2) — non-required
Windows CI job to observe stability.
2026-07-15 18:06:26 +08:00
Tianyi Cui
02da758a68 Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue 2026-07-15 17:55:57 +08:00
Tianyi Cui
6245094fe1 Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id 2026-07-15 17:55:57 +08:00
Tianyi Cui
d48edf818f Merge branch 'codex/simp-compaction-surface' into codex/simp-agent-entry-state 2026-07-15 17:55:57 +08:00
Tianyi Cui
87c900dfb2 Document compaction result diagnostics 2026-07-15 17:55:48 +08:00
Tianyi Cui
2176e25910 Merge branch 'codex/simp-trim-hook-snapshot-noise' into codex/simp-compaction-surface 2026-07-15 17:55:13 +08:00
Tianyi Cui
cf5d6ddf59 Merge branch 'codex/simp-shared-acp-test-launcher' into codex/simp-trim-hook-snapshot-noise 2026-07-15 17:55:06 +08:00
Tianyi Cui
0b585e1d27 Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher 2026-07-15 17:55:06 +08:00