Commit Graph

6428 Commits

Author SHA1 Message Date
Peter Steinberger
f4b7a19624 fix: avoid remote boxes for focused validation (#107166)
* fix: avoid remote boxes for focused validation

* fix: preserve explicit remote proof routing

* fix: delegate when local diff refs are unavailable
2026-07-14 00:53:17 -07:00
Peter Steinberger
a951cd2df2 chore(docs-i18n): generalize max reasoning note 2026-07-14 03:51:18 -04:00
Peter Steinberger
4dff4e95b1 refactor(node-host): trim internal exports (#107270) 2026-07-14 00:49:54 -07:00
Peter Steinberger
1d4188138e fix(docs-i18n): centralize translation safeguards 2026-07-14 03:47:37 -04:00
Peter Steinberger
63f497a428 fix(build): refresh cached CLI help per build 2026-07-14 00:21:36 -07:00
Peter Steinberger
ced9a4ae22 refactor(zalouser): trim internal exports (#107247) 2026-07-14 00:20:48 -07:00
Peter Steinberger
69a578034f test: isolate provider auth parity suite (#107167) 2026-07-14 00:16:49 -07:00
Peter Steinberger
84500db379 refactor(plugin-sdk): isolate HTML entity runtime 2026-07-14 00:16:37 -07:00
Peter Steinberger
e91d0fc8b7 refactor(tui): remove dead exports (#107241) 2026-07-14 00:07:41 -07:00
Peter Steinberger
b58a75d726 refactor(html): share entity decoding 2026-07-14 00:00:05 -07:00
Peter Steinberger
ab95871dd5 refactor(tlon): remove dead exports (#107233) 2026-07-13 23:59:46 -07:00
Peter Steinberger
69eb20871d chore(codex): update Codex CLI to 0.144.4 (#107208)
* chore(codex): update Codex CLI to 0.144.4

* fix(codex): validate interrupt params through request map
2026-07-13 23:58:19 -07:00
Peter Steinberger
75cd0efb04 refactor(line): remove dead exports (#107231) 2026-07-13 23:54:12 -07:00
Peter Steinberger
a2b4c4e17d refactor(signal): trim dead exports (#107217) 2026-07-13 23:43:46 -07:00
Peter Steinberger
ec72fda21c refactor(scripts): use dependency metadata parsers 2026-07-13 23:33:30 -07:00
Peter Steinberger
cbb5e97dd4 refactor(whatsapp): trim internal exports (#107206) 2026-07-13 23:23:11 -07:00
Peter Steinberger
834810b3d6 refactor(imessage): trim internal exports (#107196)
* refactor(imessage): trim internal exports

* test(imessage): type inbound dispatch mock
2026-07-13 23:05:24 -07:00
Peter Steinberger
304beb22e1 refactor(concurrency): use p-map skip results 2026-07-13 22:43:26 -07:00
Peter Steinberger
df5097b6e7 fix(native): keep platform validation warning-free (#107101)
* build(android): keep Gradle warning-free

* ci(native): pin XcodeGen tooling

* test(macos): avoid concurrency warnings
2026-07-13 22:33:12 -07:00
Peter Steinberger
d8d2f83cc1 feat(terminal): open Codex/Claude catalog sessions in a terminal on their owning host
Catalog session rows (sidebar context menu + click), the built-in viewer
header, and a new "Open Codex/Claude sessions in" preference can launch the
native CLI (codex resume / claude --resume) in the operator terminal on the
machine that owns the session.

- Gateway-local sessions spawn through the existing terminal launch policy
  (sandbox/enabled gates preserved) with the resume command in the session cwd.
- Paired-node sessions run through a new seq-ordered node PTY relay: a
  duplex node-host command streams PTY output via node.invoke.progress and
  receives keystrokes/resize via a new node.invoke.input event, behind the
  unchanged terminal.* client protocol (TerminalSessionManager gains a backend
  abstraction; node relay reuses the streaming-invoke controller).
- Owner boundary: each plugin owns its resume command and builds argv from a
  validated thread id; the gateway routes node opens through the node command
  allowlist and plugin invoke policy (no advertisement-only trust), and nodes
  re-verify session eligibility before spawning.
- UI setting catalogOpenTarget + canOpenTerminal capability gate every entry
  point; capability requires the owning host to actually have the CLI.

Node PATH is normalized before command-availability probes, Windows .cmd/.bat
shims spawn via ComSpec, and catalog terminal opens reattach persisted tabs
before opening the new tab.
2026-07-13 22:20:50 -07:00
Peter Steinberger
bdc91cb4af refactor(memory-wiki): trim internal exports (#107157) 2026-07-13 22:19:01 -07:00
Peter Steinberger
069915f173 test: accelerate sqlite state cli tests (#107150) 2026-07-13 22:12:21 -07:00
Peter Steinberger
e278a34331 feat(macos): refresh DMG installer artwork (#107142) 2026-07-13 22:09:36 -07:00
Vincent Koc
ee6d6e7e78 refactor(extensions): remove dead local exports (#107146) 2026-07-14 13:09:20 +08:00
Peter Steinberger
9c2dc92dd8 refactor(msteams): trim internal exports (#107148) 2026-07-13 22:01:56 -07:00
Peter Steinberger
2e58c2bc53 test: accelerate sqlite reliability suite (#107134) 2026-07-13 21:50:36 -07:00
Peter Steinberger
4023eb92d2 feat(android): add foreground Voice Wake (#107081)
* feat(android): add foreground voice wake

* chore(android): refresh voice wake artifacts

* fix(android): refresh voice wake capability readiness

* chore(android): sync voice wake translations

* chore: keep release notes in PR context
2026-07-13 21:48:29 -07:00
Peter Steinberger
1551fc9e43 test(e2e): isolate Pond baseline MCP tool (#107128) 2026-07-13 21:45:36 -07:00
Peter Steinberger
1dc9d47130 refactor(voice-call): remove dead internal exports (#107130) 2026-07-13 21:42:11 -07:00
Peter Steinberger
96c0e89291 refactor(scripts): share repository file discovery 2026-07-13 21:35:24 -07:00
Peter Steinberger
80399ed19b refactor(matrix): trim internal exports (#107126) 2026-07-13 21:33:55 -07:00
Vincent Koc
3a55f8d800 refactor(agents): remove dead test surfaces (#107113) 2026-07-14 12:23:41 +08:00
Peter Steinberger
07284af748 test: omit live-only tooling leaf shards (#107088) 2026-07-13 20:56:14 -07:00
Peter Steinberger
fe715a1b88 refactor(daemon): trim internal exports (#107075) 2026-07-13 20:43:08 -07:00
Peter Steinberger
c19b7d2823 refactor(mattermost): trim internal exports (#107062) 2026-07-13 20:27:52 -07:00
Vincent Koc
4bff6b188e refactor(agents): privatize computer tool helpers (#107048) 2026-07-14 11:13:48 +08:00
Vincent Koc
d4ee32185c refactor(agents): simplify image resize policy (#107027) 2026-07-14 10:46:01 +08:00
Vincent Koc
6a5736baa5 refactor(runtime): remove redundant provider aliases (#107013) 2026-07-14 10:33:23 +08:00
Peter Steinberger
44fcbc612d refactor(qa-lab): trim dead export surface (#107016)
* refactor(qa-lab): narrow report and config exports

* refactor(qa-lab): keep live test seams private

* refactor(qa-lab): remove dead runtime wrappers

* chore(deadcode): refresh QA Lab export baseline
2026-07-13 19:32:13 -07:00
Peter Steinberger
48eebe090f fix(testing): make changed-gate bundles self-contained 2026-07-13 19:03:31 -07:00
Peter Steinberger
4645a850d5 fix(testing): omit changed-gate history from bundles 2026-07-13 18:50:35 -07:00
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