Commit Graph

6387 Commits

Author SHA1 Message Date
Peter Steinberger
9668b668c5 fix(testing): preserve changed-gate diagnostics 2026-07-13 18:50:35 -07:00
Peter Steinberger
c4c72aa086 fix(testing): reset reused changed-gate worktrees 2026-07-13 18:50:35 -07:00
Vincent Koc
7df623f528 refactor(agents): inline side-question auth type (#106973) 2026-07-14 09:37:35 +08:00
Vincent Koc
e330e4a17d refactor(agents): privatize system prompt helpers (#106965) 2026-07-14 09:27:10 +08:00
Peter Steinberger
b9c4815403 refactor(config): add canonical group-policy scope-tree resolver and migrate the first six channels (#106846)
* feat(config): add canonical group-policy scope-tree resolver

* chore(plugin-sdk): refresh API baseline hash for scope-tree exports

* refactor(channels): migrate googlechat, imessage, and whatsapp group policy onto the scope tree

* chore(plugin-sdk): refresh API baseline hash for groups scope-tree builder

* refactor(channels): migrate line, qqbot, and mattermost group policy onto the scope tree

* chore(plugin-sdk): refresh API baseline hash for case-insensitive scope key helper

* chore(plugin-sdk): refresh API baseline hash after rebase onto current main

* chore(plugin-sdk): refresh API baseline hash after rebase

* chore(plugin-sdk): refresh API baseline hash after rebase

* chore(plugin-sdk): refresh API baseline hash after rebase
2026-07-13 18:24:52 -07:00
tzy-17
f9e2702324 fix(wizard): make failed Hermes imports safely retryable (#103290)
* fix(wizard): defer config commit until after migration apply succeeds

Onboarding migration import commits the config file to disk before the
migration provider's apply() runs. If apply() legitimately reports an
error on any item, runSetupMigrationImport() throws, but the config is
already committed with wizard metadata stamped on it. On the very next
onboarding attempt, the freshness gate sees that stamped config and
refuses to run the import, telling the user a fresh setup is required.

Move the commitConfigFile call to after assertApplySucceeded(), so a
failed apply never leaves wizard metadata on disk that blocks the next
retry behind the fresh-setup gate.

The in-memory config still has wizard metadata applied before the apply
context is constructed (so the apply function can reference a concrete
target), but the disk write only happens after apply succeeds.

Fixes #103262

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(lint): remove useless assignment in migration config commit

The `targetConfig = await params.commitConfigFile(targetConfig)` line
assigns to `targetConfig` but the value is never read afterwards.
Remove the assignment, keeping the side-effect call.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(wizard): preserve config patches from provider apply after commit

Restore the targetConfig assignment from commitConfigFile so that config
patches written by the provider during apply (e.g. auth profile
selections) are carried forward. Without this, the pre-apply snapshot
silently replaces the post-apply config, losing provider-authored
patches.

Fixes #103262

* fix: remove useless assignment to satisfy lint

commitConfigFile persists the config to disk; the returned config with
patches is already on disk, making the in-memory assignment unnecessary.

* fix(wizard): make Hermes import retries recoverable

* chore: keep release notes release-owned

* fix(wizard): keep retry identity stable across acknowledgement

* fix(wizard): satisfy Hermes retry quality gates

* test(wizard): use managed migration temp dirs

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-13 18:19:43 -07:00
Vincent Koc
c80920ce09 refactor(agents): privatize provider request helpers (#106955) 2026-07-14 09:14:50 +08:00
Peter Steinberger
dc61172e51 refactor(agents): remove dead internal test seams (#106956)
* refactor(channels): remove dead action discovery reset

* refactor(agents): remove dead internal test seams
2026-07-13 18:14:30 -07:00
Vincent Koc
dbf48c0df9 refactor(cron): privatize task history helpers (#106950) 2026-07-14 09:04:16 +08:00
Peter Steinberger
23c19510b1 perf(test): skip irrelevant suppression ASTs (#106928) 2026-07-13 18:03:06 -07:00
Peter Steinberger
8a66398b2b fix(release): harden validation orchestration (#106873)
* fix(release): harden validation orchestration

* fix(ci): repair release gate regressions

* docs(agents): record PR review guard mode

* test(ci): stabilize release gate coverage

* refactor(agents): remove session factory test export
2026-07-13 17:53:10 -07:00
Peter Steinberger
8590655190 refactor(ui): use Web Awesome controls throughout Control UI (#106865)
* refactor(ui): add Web Awesome foundation

* refactor(ui): migrate shared menus and chat controls

* refactor(ui): migrate page controls to Web Awesome

* refactor(ui): migrate workboard controls to Web Awesome

* fix(ui): harden Web Awesome interactions

* test(ui): type Web Awesome dropdown state

* fix(ui): preserve menu focus and selection

* fix(ui): restore agent picker focus

* fix(ui): track keyboard menu dismissal

* fix(ui): ignore stale session menu closes

* fix(ui): complete Web Awesome keyboard migration

* fix(ui): repair Web Awesome lockfile graph

* docs(ui): keep release note in PR body

* fix(ui): satisfy Web Awesome migration gates

* perf(ui): keep Web Awesome theme in startup stylesheet

* fix(ui): replace reopened Web Awesome session menus

* fix(ui): keep replacement session menus open
2026-07-13 17:46:28 -07:00
Peter Steinberger
b4c311e51b fix(release): keep frozen package inventory self-contained (#106886)
* fix(release): keep frozen package inventory self-contained

* fix(release): declare frozen inventory helper
2026-07-13 17:15:32 -07:00
Peter Steinberger
1bdb7b8535 refactor(agents): trim internal type exports (#106925) 2026-07-14 01:14:44 +01:00
joshavant
cac32bb5d1 fix(ios): declare Health update purpose 2026-07-13 19:12:21 -05:00
Peter Steinberger
f693ac1b65 refactor(config): share canonical deep merge 2026-07-13 17:06:26 -07:00
Peter Steinberger
d7f38ab678 refactor(agents): trim CLI and facade exports (#106917)
* refactor(agents): trim CLI and facade exports

* refactor(agents): privatize compaction planning helpers
2026-07-14 01:02:26 +01:00
Peter Steinberger
34c63c3c3a fix(release): support evidence-backed late closeout 2026-07-14 00:27:34 +01:00
Josh Avant
2e6fd00871 fix(android): release screenshots stall on gateway scene (#106884)
* chore(android): prepare 2026.7.2 Play release

* fix(android): unblock gateway release screenshots
2026-07-13 18:26:59 -05:00
Peter Steinberger
33f4856875 refactor(telegram): privatize pure helper surface (#106892) 2026-07-14 00:21:51 +01:00
Peter Steinberger
cf8b57e7d0 feat(skills): scan session history for workshop ideas (#106766)
* feat: scan past sessions for skill proposals

* feat(ui): add progressive skill history scans

* fix(ui): keep skill history scans synchronized

* refactor: split skill history scan ownership

* style: fix mock helper formatting

* style: format skill history scan

* build: refresh skill history schema baselines

* build: refresh plugin SDK baseline after rebase

* perf(ui): keep startup request budget bounded

* fix(skills): satisfy history scan integration gates

* fix(ui): bound control ui startup chunks

* build: refresh plugin SDK API baseline

* build(ui): refresh self-learning translation memory

* refactor(ui): split skill workshop state

* fix(ci): refresh skill workshop gates

* fix(ci): satisfy skill history lint

* build: refresh plugin SDK baseline after main rebase
2026-07-13 16:15:50 -07:00
Vincent Koc
b952394bd0 fix(ci): heal current main blockers 2026-07-13 16:10:55 -07:00
Vincent Koc
9f06eb23e8 refactor(googlechat): privatize monitor access helpers (#106871) 2026-07-14 06:44:42 +08:00
Peter Steinberger
0f9cc945e3 fix: Windows installer fails after winget installs Node.js (#106862)
* fix(installer): recover winget Node path

* docs(changelog): note winget installer recovery
2026-07-13 15:43:19 -07:00
Peter Steinberger
0b96300fc6 refactor(shared): privatize internal helpers (#106868) 2026-07-13 15:40:31 -07:00
Peter Steinberger
334e7f3f21 feat(apps): add native mobile Automations parity (#106355)
* fix(apps): address native Skills review feedback

* feat(apps): add native Automations parity

* fix(ios): preserve automation editor selection

* fix(android): page automation discovery

* chore(apps): refresh native source inventory

* fix(ios): refresh invalid automation diagnostics

* chore(apps): sync native localization

* fix(cron): stabilize paginated snapshots

* refactor(cron): split pagination helpers

* fix(apps): address final native review feedback

* chore(apps): refresh native source inventory

* fix(ios): dedupe automation list actions

* chore: keep release note in PR context

* fix(ci): repair current main architecture gates

* fix(ios): default new skill requirement fields

* fix(ios): retain queued automation reservations
2026-07-13 15:35:32 -07:00
Peter Steinberger
4319ddbe8c feat(control-ui): import Codex and Claude Code memory (#106406)
* feat(control-ui): import coding assistant memory

* test(migrate): clean memory import temp dirs

* chore: move memory import note to PR body

* build: refresh memory import generated artifacts

* fix(control-ui): complete memory import checks

* build(control-ui): localize memory recovery labels

* fix(control-ui): harden memory import recovery

* refactor(migrate): keep memory import surfaces bounded

* fix(control-ui): use canonical agent row type

* fix(codex): drop dead migration type exports

* fix(migrate): restrict imported memory permissions

* fix(control-ui): preserve memory import recovery state

* fix(control-ui): retain memory import results

* build(control-ui): preserve translation memory history

* fix(control-ui): bind memory import state to agent

* fix(control-ui): unlock memory import after refresh

* test(gateway): preserve memory method suffix

* fix(migrate): bind reviewed memory imports

* fix(migrate): make memory imports retry-safe

* perf(ui): keep memory import lazy

* build: refresh generated artifacts after rebase

* chore: keep migration runtime within LOC guard

* build: refresh Swift protocol model
2026-07-13 15:30:06 -07:00
Peter Steinberger
4568606490 refactor(telegram): privatize doctor helpers (#106861) 2026-07-13 15:29:06 -07:00
Peter Steinberger
70833dab7f ci: scope PR Node tests to changed targets (#106633)
* ci: scope PR Node tests to changed targets

* ci: bound targeted Node test plans

* test: cover changed path manifest input

* fix(ui): preserve model providers lazy boundary

* ci: cover public SDK re-export consumers

* ci: reject unresolved changed test targets

* ci: cover public SDK wrapper imports

* ci: preserve global checks in targeted plans

* docs(ci): clarify targeted boundary coverage

* test(plugins): declare computed runtime dependencies
2026-07-13 15:26:02 -07:00
Vincent Koc
a8548a1191 refactor(shared): narrow entry status API (#106856) 2026-07-14 06:24:21 +08:00
Peter Steinberger
03455c9cd0 refactor(auto-reply): privatize finalization timeout (#106853) 2026-07-13 15:17:11 -07:00
Peter Steinberger
e69df7ef22 refactor(cli): privatize internal exports (#106848) 2026-07-13 15:09:26 -07:00
Peter Steinberger
3c58dba07b refactor(ui): privatize chat settings patch tracker (#106842) 2026-07-13 14:58:59 -07:00
Vincent Koc
d08228eee1 refactor(shared): privatize requirement helpers (#106837) 2026-07-14 05:50:55 +08:00
Peter Steinberger
2d362a9b01 fix(ui): show mock task transcripts (#106774) 2026-07-13 14:39:47 -07:00
Peter Steinberger
70ab6b324d refactor(lobster): use canonical core export 2026-07-13 14:39:18 -07:00
Josh Avant
65aa778171 fix: recover message sessions after reply finalization stalls (#106792)
* fix(auto-reply): bound reply finalization ownership

* fix(auto-reply): clean finalization exports

* fix(auto-reply): satisfy finalization lint
2026-07-13 16:36:35 -05:00
Vincent Koc
0f3dc25a3e refactor(cli): privatize precomputed help parser (#106692) 2026-07-14 05:33:19 +08:00
Peter Steinberger
9b64c861e5 fix(chat): prevent reasoning races after model changes (#106534)
* fix(chat): serialize session setting changes

* fix(chat): bind settings mutations to gateway routes

* fix(chat): align settings lanes with shared requests

* fix(ios): preserve injected session mutations

* fix(chat): preserve authoritative settings refreshes

* fix(chat): reconcile authoritative settings state

* fix(ci): satisfy session settings quality gates

* fix(android): regenerate native string resources

* fix(ci): update session settings export baseline

* fix(ci): reconcile dead export baseline

* fix(android): resume outbox after settings lane

* chore(i18n): refresh native source inventory

* chore(i18n): refresh rebased native inventory

* chore(i18n): sync control UI locales

* chore: keep release notes in pull request

* style(macos): fix settings comment format

* fix(ai): keep Google thinking type internal
2026-07-13 14:27:54 -07:00
Peter Steinberger
821ec6da45 refactor(agents): remove duplicate session tool exports (#106828) 2026-07-13 14:24:29 -07:00
Peter Steinberger
f1331bcea2 build(knip): model agent sessions SDK entry (#106807) 2026-07-13 13:58:03 -07:00
Peter Steinberger
995c75baa0 fix(ci): restore current-main quality gates (#106751)
* fix(ci): restore Control UI quality gates

* fix(ci): repair dead export cleanup fallout

* fix(ci): repair latest main quality gates

* fix(ci): satisfy current-main gate contracts

* docs: format Cloud Workers guide

* test: isolate context lookup module
2026-07-13 13:54:03 -07:00
Peter Steinberger
6d84622920 refactor(agents): privatize model catalog types (#106801) 2026-07-13 13:45:48 -07:00
Peter Steinberger
90a545b9e6 refactor(slack): trim internal exports (#106794) 2026-07-13 13:37:21 -07:00
Peter Steinberger
359c8917ec refactor(commands): privatize setup types (#106771)
* refactor(commands): privatize setup types

* chore(deadcode): refresh export baseline
2026-07-13 12:57:29 -07:00
Peter Steinberger
a3804782dc ci(ui): raise startup request budget 2026-07-13 12:51:36 -07:00
Peter Steinberger
6d299f383c refactor(memory-core): remove unused exports 2026-07-13 12:44:33 -07:00
Peter Steinberger
eb60b2208c refactor(feishu): remove unused exports 2026-07-13 12:44:33 -07:00
Peter Steinberger
35a02653c8 refactor(qqbot): remove unused exports 2026-07-13 12:44:33 -07:00
Peter Steinberger
bad37249f5 refactor(agents): privatize auth planning types (#106756)
* refactor(agents): privatize auth planning types

* chore(deadcode): refresh export baseline
2026-07-13 12:31:28 -07:00