Repository navigation
health digest 2026-09-28 #6702
Description
Read-only digest, window 2026-09-21 12:20Z → 2026-09-28 12:20Z. Previous: #6385 (already closed by @Hmbown 09-23).
Recommended actions (ranked by impact)
mainis red at HEAD0bfe04e1.Test (windows-latest)fails onplugins::builtin::snapshot_tests::concurrent_first_startups_share_one_complete_embedded_snapshot(0 passed; 1 failed, log). Only one failure this week, so possibly flaky. The scheduledMarketplace connection :: catalogjob also fails withCore active skill inventory changed; review and run npm run sync:skills(log). Week:mainCI 72 success / 31 failure / 53 cancelled of 156 (last week 106/130 failed).- Approve the contribution gate for 5 open PRs that have never run CI. Every workflow run on feat(web): move the contribute page onto the dictionary spine (#5337) #6701, feat(web): move the docs vocabulary page onto the dictionary spine (#5337) #6683, feat(web): move session-media onto the docs shell dictionary (#5337) #6625, feat(routing): compatible Decisions transport with durable shadow receipts #6604 and fix(compaction): survive a provider request-body 413 while making room #6642 is
action_required, so the requiredLint,Test (windows-latest)andnpm wrapper smokechecks never reported. All five showBLOCKEDdespite a green rollup. feat(providers): add Yolo-Auto compatible host #6408 also has CodeQL stuck ataction_required. - Fix the flaky tests. 21 runs failed then passed on a same-commit rerun (19
CI, 2Pet conformance). Worst: macOS PTYlaunch_card_pty::launch_recent_click_then_enter…(also brokemain94130d91),terminal_routes_serve_a_live_engine_session_over_http, thefleet::managertrio, theVersion drifttmpdir race (rm: … Directory not empty), and the timing-based persistence-backlog budget (enqueue_elapsed_ns=25881412 exceeds 25000000). See §3. - Stop stale generated web artifacts from reaching PRs.
Web Frontend :: Lint & Type Checkfailed 79 times (61 PR, 18main, green onmainsince 09-27). Causes: stalefacts.generated.ts, generateddocs/INSTALL.mdoutput,sync-latest-release/gt-catalogdrift, not test logic. docs(i18n): complete the Tier-3 developer and internal docs for EPIC #5482 #6663, docs(i18n): complete the Tier-2 should-have docs for EPIC #5482 #6662, perf(tui): stop walking the whole item store to list or open a thread #6646 and chore(deps): bump rquickjs from 0.12.2 to 0.14.0 #6630 fail on this job right now. Runningnpm run prebuildin a pre-commit hook or a bot would remove most of these. - Triage the issue backlog. 167 open (+52; 119 opened, 67 closed), 88 unlabeled, 24
needs-triage, 11 external-author issues idle > 14 d (§6). Also drop the phantom/searchcommand fromdocs/CONFIGURATION.md:3077.
1. Open PRs (none stale > 7 d)
12 open, none stale; #6393 (draft) crosses 7 d in ~9 h. 0 unresolved review threads on any.
| PR | Author | Age | Mergeable / state | Required checks | Other failing | Gate |
|---|---|---|---|---|---|---|
| #6701 | Lstarsky0 | 0d | MERGEABLE / BLOCKED | never ran | – | action_required ×6 |
| #6683 | Lstarsky0 | 1d | MERGEABLE / BLOCKED | never ran | – | action_required ×5 |
| #6663 | SparkofSpike | 2d | MERGEABLE / UNSTABLE | pass | link ×2, Lint & Type Check, Version drift | PR-closes ×1 |
| #6662 | SparkofSpike | 2d | MERGEABLE / UNSTABLE | pass | link, Lint & Type Check | PR-closes ×1 |
| #6646 | gaord | 2d | CONFLICTING | pass | Lint & Type Check | – |
| #6642 | SparkofSpike | 2d | CONFLICTING | never ran | – | action_required ×6 |
| #6630 | dependabot | 2d | MERGEABLE / UNSTABLE | pass | Lint & Type Check | – |
| #6629 | dependabot | 2d | MERGEABLE / CLEAN | pass | – | – |
| #6625 | Lstarsky0 | 2d | MERGEABLE / BLOCKED | never ran | – | action_required ×5 |
| #6604 | Andrea-Bruno | 2d | MERGEABLE / BLOCKED | never ran | – | action_required ×6 |
| #6408 | harryvgiunta | 5d | MERGEABLE / BLOCKED | Test (windows-latest) FAIL | link, Version drift, Test (macos), macOS budget | CodeQL ×1 |
| #6393 | AdityaVG13 (draft) | 6.6d | CONFLICTING | pass | Test (macos) cancelled | – |
Required (ruleset 15930115): Lint, Test (windows-latest), npm wrapper smoke (ubuntu-latest). buildkite/codewhale-ci reports on no open PR.
Commands
gh pr list -R Hmbown/CodeWhale --state open --limit 100 --json number,author,createdAt,updatedAt,isDraft,mergeable,mergeStateStatus,headRefOid,comments
gh api graphql # per PR: commits(last:1){statusCheckRollup{contexts}} reviewThreads{isResolved} -> 0 unresolved on all 12
gh api repos/Hmbown/CodeWhale/rules/branches/main # required_status_checks: Lint, Test (windows-latest), npm wrapper smoke (ubuntu-latest)
gh api "repos/Hmbown/CodeWhale/actions/runs?head_sha=<sha>" # per PR head
gh api --paginate "repos/Hmbown/CodeWhale/actions/runs?status=action_required" # 95 total2. Stale branches: 0
11 remote branches (last week listed 35 stale; all pruned). The oldest branch without an open PR is release/0.9.12-prep-20260830 (last commit 2026-08-30 20:58Z, 28.6 days; its PR #5744 is closed). No snapshot/* branches.
Branch list
git fetch --prune; gh api repos/Hmbown/CodeWhale/branches --paginate; git log -1 --format='%cs %an' origin/<b>
2026-08-30 release/0.9.12-prep-20260830 2026-09-22 claude/chromewhale-codewhale-chrome-sz16nj
2026-09-22 claude/trusting-shannon-sgusdh 2026-09-23 docs/404-release-note-receipt
2026-09-25 feat/parity-small-wins 2026-09-25 feat/thread-provider-switch
2026-09-25 feat/workbar 2026-09-25 fix/6508-head-tail-truncation
2026-09-26 dependabot/cargo/rquickjs-0.14.0 2026-09-26 dependabot/cargo/toml_edit-0.25.15spec-1.1.0
2026-09-28 main
3. CI flake ranking (7 d)
GitHub Actions had 6,503 runs in the window (fetched in 6-hour REST windows; no window hit the 1,000-run cap).
CIonmain: 156 runs (72 success, 31 failure, 53 cancelled).CIon PRs: 508 runs (196 success, 95 failure, 206 cancelled, 11 action_required).Web Frontend: 79 failures.- Buildkite
codewhale-ci: 0 builds in the window. The token works. The last build is fix(tui): unblock TUI on bare-separator @-mention completion (#1921) #1929 (failed, 2026-09-09).
Failed jobs by name:
| Job | Failures |
|---|---|
| Test (windows) | 70 |
| Web Lint & Type Check | 61 |
| Test (macos) | 47 |
| Lint | 27 |
| Version drift | 25 |
| Test (ubuntu) | 22 |
| macOS budget and eval | 12 |
| OpenHarmony cargo check | 6 |
Of the Test job failures, 18 were compile errors rather than test failures (13 of them on Windows).
Flaky tests: failed on attempt 1, then passed on a rerun of the same SHA.
| Rerun-passes / total fails | Test | Example |
|---|---|---|
| 3 / 7 | launch_card_pty::launch_recent_click_then_enter_resumes_without_another_mouse_event (macOS) |
log |
| 3 / 5 | runtime_api::tests::terminal_routes_serve_a_live_engine_session_over_http |
log |
| 4 / – | Version drift :: Check release helper contracts (tmpdir rm race) |
log |
| 2 / 2 | fleet::manager::tests::{concurrent_manager_loops_launch_each_attempt_once, live_restart_fences_old_process…, separate_manager_interrupt…} |
log |
| 2 / – | Pet conformance :: android (emulator runner) |
log |
| 1 / 4 | core::engine::tool_media::tests::tool_media_publication_is_immutable_and_replay_preserves_manifest |
log |
| 1 / 3 | launch_card_pty::fleet_roles_open_the_shared_model_picker_and_escape_returns_to_the_same_role |
log |
| 1 / – | macOS budget :: persistence-backlog RSS budget (timing) |
log |
| 1 each | apply_patch::…patch_normalizes_rust_in_an_already_clean_file, runtime_threads::…runtime_event_sequences_serialize_across_real_processes, fleet::manager::…standalone_restart… |
– |
PR closes an issue flipped fail→pass on the same SHA 18× (link check re-run after body edits; not a test).
Most frequent failing tests (79 distinct test names; each failed consistently on its commit, so these were broken commits, not flakes):
| Jobs | SHAs | Test | Example |
|---|---|---|---|
| 25 | 25 | runtime_api::tests::diagnostics_list_and_read_bounded_windows (Windows only, 09-23 13:07–19:45 only) |
log |
| 14 | 7 | tui::ui::tests::keyless_engine_error_stays_visible_after_a_config_ack (win+mac, all main) |
log |
| 8 | 8 | fleet::host::tests::runtime_surface_review_documented_ssh_host_loads (Windows) |
log |
| 6 | 2 | commands::tests::command_ownership_contract_is_enforced |
log |
| 6 | 2 | tui::ui::frame::one_owner_tests::context_cap_warns_once_in_the_posture_bar |
log |
| 4 | 2 | runtime_api::computer_display::tests::live::* (3 tests, ubuntu+mac) |
log |
Commands
gh api --paginate "repos/Hmbown/CodeWhale/actions/runs?created=<6h window>&per_page=100" # 28 windows, 6503 unique runs
gh api "repos/.../actions/runs/<id>/jobs?filter=latest" # 215 failed CI/Web/OHOS/Pet runs -> failed jobs + steps
gh api "repos/.../actions/jobs/<id>/logs" | rg 'test (\S+) \.\.\. FAILED' # 193 test-job logs
# flaky: 82 successful reruns (run_attempt>1); gh api runs/<id>/attempts/<n> -> 21 had a failed earlier attempt
curl -H "Authorization: Bearer $BUILDKITE_READ_TOKEN" ".../pipelines/codewhale-ci/builds?created_from=2026-09-21T12:20:00Z" # -> []4. Drift checks (fresh --depth 1 clone of main @ 0bfe04e1)
| Check | Result |
|---|---|
python3 scripts/check-dead-code-budget.py |
PASS: 260 suppressions (allow=175, expect=85), exactly at budget. The metric now also counts expect; allow was 174 last week. Headroom is still zero. |
Cargo.toml workspace |
0.10.0 |
CHANGELOG.md top |
## [Unreleased], then ## [0.10.0] - 2026-09-22 ✓ |
npm/codewhale, npm/runtime-sdk |
0.10.0 ✓ |
npm/deepseek-tui |
0.8.49 (lagging, unchanged) |
web/package.json |
0.1.0 (not release-tracked) |
scripts/release/check-versions.sh --range-audit-advisory |
Version state OK: workspace=0.10.0, npm=0.10.0, npm-binary=0.10.0, lockfile in sync. |
Docs vs product. The code registers 108 commands and 98 aliases (CommandInfo plus contract ContractInfo under crates/tui/src/commands/**). I compared them against backticked /cmd mentions in docs/ and web/.
- In code, not documented (23):
/advisor /anchor /balance /branch /exit /feat015ctx /fork /home /import-claude /logout /lsp /new /overview /pin /remote-env /save /structcopy /system /transcript /tree /verbose /voicecontrol /voicesend. The session commands/branch /fork /new /save /tree /remote-envappear because the parser now also readsContractInfo./laneand/retryare now documented. - Documented, not in code:
/searchindocs/CONFIGURATION.md:3077(user-facing). The rest are in design or archive docs:/permission /loop /schedule /auto-mode-config /yolo(docs/design/*), and/plan /diagnostics(CHANGELOG_ARCHIVE.md). - Fixed since last week:
/rcand/relayare real commands again./dryrun,/preview_requestand/relaunchare gone from the docs. - Settings:
ConfigCategory::ALLstill has 7 categories (Appearance, ModelsProviders, Work, ToolsMcp, Trust, Motion, Advanced) and/setupSTEP_SPECSstill has 10 steps. No docs page enumerates either list (unchanged).
Commands
git clone --depth 1 https://github.com/Hmbown/CodeWhale.git fresh && cd fresh
python3 scripts/check-dead-code-budget.py; bash scripts/release/check-versions.sh --range-audit-advisory
python3 # regex (CommandInfo|ContractInfo){ name, aliases } over crates/tui/src/commands (non-test), vs `/cmd` in docs/**, web/** (excl node_modules/.next)
rg -n 'const ALL: \[ConfigCategory|STEP_SPECS: \[' crates/tui/src/tui5. Security posture
| Source | Open |
|---|---|
Dependabot alerts (GraphQL vulnerabilityAlerts(states:OPEN) and REST /dependabot/alerts?state=open) |
0 |
CodeQL (/code-scanning/alerts?state=open) |
unavailable: 403 Resource not accessible by integration. GITHUB_CODEWHALE_SECURITY_PAT is still not provisioned (3rd week). |
6. Open issues: 167 (+52 vs last week)
| Label | Count |
|---|---|
| (unlabeled) | 88 |
| enhancement | 49 |
| needs-triage | 24 |
| bug | 13 |
| rust | 9 |
| documentation / tui / cleanup | 5 each |
| tools / reliability | 3 each |
| agent-ready / responses-api | 2 each |
| bot-authored, subagents, question, external-memory, model-lab | 1 each |
No human comment in more than 14 days: 27 (measured by the latest non-bot comment, or creation date if none).
- External authors (11): feat(desktop): first-class desktop app for project and agent workflows #4986 (JoeKerF), Design: unify route-specific tool projection before request dispatch #5633 and Design: scope MCP secret providers to the owning runtime #5637 (h3c-hexin), Mid-turn guidance: deliver a committed queued follow-up as a steer at the next checkpoint (peek tool rejected) #5625 (ronohara), Replace internal
gitCLI reads with gix (gitoxide) #5618 (LmeSzinc), Request: zero-sandbox / --no-sandbox mode for local dev #4955 (eugenicum), 输出内容中的文件,能不能支持点击后打开预览,这样不用再去目录中找 #2342 (caeserchen), FreeBSD support (npm binary / pkg) #1097 (Gabriel-Degret, FreeBSD), 未适配中文输入法 #2323 (cmdcorp6534), Continuous Self-Learning from Dialog (Automatic Skill Evolution) #5860 (Edouard-Legoupil), EPIC(docs): review, partially restructure, and fully localize documentation to Chinese #5482 (SparkofSpike, EPIC, 0 comments in 42 d). - Oldest: Model Lab: turn local session traces into datasets, evals and fine-tuning jobs #1977 (127 d) and Add an indexed codebase_search tool (BM25 or embeddings) #4066 (83 d), both 0 comments. The other 14 are @Hmbown planning issues.
Commands
gh issue list -R Hmbown/CodeWhale --state open --limit 1000 --json number,labels,createdAt,comments,author # 167
# idle = now - max(createdAt, non-github-actions comments) > 14d -> 27
gh issue list --state closed --search "closed:>=2026-09-21" -> 67 ; --state all --search "created:>=2026-09-21" -> 119
Activity
docs(search): remove the nonexistent in-session search command