Commit Graph

5207 Commits

Author SHA1 Message Date
Peter Steinberger
c5208f9dfe feat(tooling): enforce indexed access checks in UI tests (#105283) 2026-07-12 11:35:00 +01:00
Peter Steinberger
f4659b7d4d fix(updater): scope restart log audits to managed checkout (#105030)
* fix(updater): scope restart log audits

* test(updater): declare log source argument

* fix(updater): preserve configured plugin logs

* fix(updater): normalize plugin log sources

* fix(updater): reuse managed plugin config

* fix(updater): resolve relative plugin roots

* fix(updater): handle unset gateway workdir

* fix(updater): audit effective plugin roots

* fix(updater): bind logs to managed runtime

* fix(updater): canonicalize log source roots
2026-07-12 11:21:00 +01:00
Peter Steinberger
7bb59c4511 ci: pin release validation Go toolchain (#105270) 2026-07-12 11:02:04 +01:00
Peter Steinberger
566043eb54 feat(tooling): enforce noUncheckedIndexedAccess from the base tsconfig (NUIA endgame) (#105239)
* feat(tooling): enforce noUncheckedIndexedAccess from the base tsconfig

Completes #104600: the flag moves to tsconfig.json, the five per-lane
copies are removed, and test lanes carry one documented opt-out at their
shared parent (the ~4,400 fixture-indexing sites are a tracked
lane-by-lane follow-up). Any future lane inherits the flag by default.
Synthetic probes verify src rejects unchecked reads while test files
compile; all nine lane commands green.

* fix(memory-core): give the batch-call sort a defined element type

Type-aware lint analyzes test files under the base flag (its tsconfig
extends the root, not the test parent), so the widened call[0] made the
bare toSorted() fire require-array-sort-compare.
2026-07-12 10:57:26 +01:00
Peter Steinberger
265ca345a1 ci: pin frozen iOS formatter (#105242)
* ci: pin frozen iOS formatter

* docs: clarify release CI dispatch

* ci: preserve frozen iOS formatter path

* style: format CI workflow guard
2026-07-12 10:49:26 +01:00
Peter Steinberger
e0f45bfbf0 feat(tooling): enforce indexed access checks in root tests (#105223)
* feat(tooling): enforce indexed access checks in root tests

* style(tooling): clarify scoped package guard
2026-07-12 10:42:07 +01:00
Peter Steinberger
48e7f76e3a fix(nodes): expose typed executable lookup to agents (#105182)
* fix(nodes): add typed executable lookup action

* test(nodes): refresh executable lookup snapshots
2026-07-12 10:36:33 +01:00
Peter Steinberger
4efe056d32 fix(ci): stop Telegram release checks from fetching history (#105219)
* fix(ci): bound Telegram provenance lookups

* docs(agents): note linked worktree invocations
2026-07-12 10:18:39 +01:00
Peter Steinberger
d79373fa14 ci: bound legacy QA smoke compatibility (#105213) 2026-07-12 10:15:33 +01:00
Peter Steinberger
acc57e4145 ci: isolate frozen Control UI tests (#105208) 2026-07-12 10:06:23 +01:00
Peter Steinberger
55254c3a0b feat(nodes): route alerts to the active computer (#105083)
* feat(nodes): route alerts by active computer

* fix(ci): allowlist node presence mobile coverage

* test(prompts): refresh node presence snapshots

* fix(macos): await presence reporter actor hop

* fix(macos): type presence test delivery state

* docs(nodes): add active presence guide

* docs(nodes): format presence troubleshooting
2026-07-12 10:05:50 +01:00
Peter Steinberger
f84b6f6091 test(release): harden shared UI and performance proof (#105061)
* ci(perf): pin PID-aware Kova evaluator

* test(ui): follow localized automation labels

* ci(perf): pin compatible Kova runner

* test(ui): bound chat hover browser wait

* docs(agents): require release validation helper

* ci(perf): retain redacted Kova reports

* style(ui): format chat hover test

* docs(agents): avoid dependency scripts in PR worktrees

* docs(agents): guard shared checkout branches

* docs(agents): quote gh api query endpoints
2026-07-12 09:55:21 +01:00
Peter Steinberger
204d2b176a refactor(agents): compress model prompts and tool instructions (#105095)
* refactor(agents): compress model prompt instructions

* test(agents): align compact prompt assertions

* test(gateway): align compact message prompt assertion

* chore(plugin-sdk): refresh prompt overlay API baseline

* docs(changelog): note prompt instruction compaction

* test(agents): align compact prompt contracts

* test(agents): align CLI prompt contracts

* style(agents): format CLI prompt tests

* fix(qa): prioritize shadow trial workflow

* test(agents): refresh rebased prompt snapshots
2026-07-12 09:45:30 +01:00
Peter Steinberger
91863a2ec5 fix: keep MCP Apps aligned with runtime tool policy (#105075)
* fix: harden MCP Apps runtime policy

* fix: preserve MCP App reserved tool names

* fix: restart gateway for whole MCP Apps changes
2026-07-12 09:41:07 +01:00
Peter Steinberger
68553bed84 fix: live updater survives launchd teardown and retargets wrapped gateways (#105022)
* fix(updater): tolerate launchd teardown and replace plist args safely

* test(updater): declare plist argument helper
2026-07-12 09:35:53 +01:00
Vincent Koc
648d742ee7 fix(ci): validate sqlite Codex transcripts 2026-07-12 16:15:44 +08:00
Peter Steinberger
6fc564278d feat(agents): sessions_search full-text recall over past session transcripts (#105057)
Adds a core sessions_search agent tool backed by a SQLite FTS5 index that
lives next to the transcript rows in the per-agent database. Indexing is
transactional: user/assistant text is indexed inside the same write
transaction that persists the event, deletes drop index rows in the same
transaction, and branch rewinds mark the session dirty so the next search
rebuilds it from the same visible-path resolution sessions_history uses
(which also lazily backfills doctor-migrated databases). Search executes
gateway-side behind an additive sessions.search method with a bounded
session-key allowlist; visibility, sandbox restrictions, and snippet
redaction mirror sessions_history.

Closes #100978
2026-07-12 09:15:41 +01:00
Vincent Koc
97c874d563 test(i18n): cover retry validation feedback 2026-07-12 16:15:23 +08:00
Vincent Koc
86af5f08b3 fix(release): support explicit provenance overrides 2026-07-12 16:12:23 +08:00
Peter Steinberger
91ca35ba58 ci: make locale parity advisory before release (#105140) 2026-07-12 09:11:57 +01:00
Peter Steinberger
b6c171901e fix(secrets): harden exec provider diagnostics (#105082) 2026-07-12 09:01:33 +01:00
Vincent Koc
8ac8754679 fix(ci): read Codex live sessions from sqlite 2026-07-12 15:50:47 +08:00
Vincent Koc
efdce6754d fix(ci): align scheduled e2e checks with sqlite sessions 2026-07-12 15:22:37 +08:00
Vincent Koc
b66929152c fix(ci): retry locale placeholder mismatches 2026-07-12 15:09:23 +08:00
Galin Iliev
68dcfe633d fix(msteams): emit native cjs runtime entrypoints (#102366)
Co-authored-by: Galin Iliev <Galin.Iliev@microsoft.com>
2026-07-11 23:48:05 -07:00
Vincent Koc
78d142e84f fix(i18n): scan typed fallback copy 2026-07-12 13:45:20 +08:00
Vincent Koc
b3fb295e94 fix(i18n): preserve localized helper inventory 2026-07-12 13:45:20 +08:00
Vincent Koc
484c3a18b2 fix(i18n): validate native locale artifacts 2026-07-12 13:45:20 +08:00
Vincent Koc
8f8b44a3ce fix(qa): isolate plugin tools MCP smoke 2026-07-12 07:37:47 +02:00
Peter Steinberger
096cb91175 feat(tooling): enforce noUncheckedIndexedAccess in core and ui lanes (NUIA phase 3c) (#104981)
* fix(ui): make indexed access explicit across the Control UI

Burns down all 322 ui-lane noUncheckedIndexedAccess errors: untrusted
markdown/diff/patch parsing gets miss-tolerant guards (renderer rules
degrade to empty output instead of throwing mid-render), accumulators
use canonical sparse initialization, DOM lookups stay null-guarded, and
length-checked constructions carry named invariants.

* feat(tooling): enforce noUncheckedIndexedAccess in the core and ui lanes

Flips the flag on for tsconfig.core.json and tsconfig.ui.json (covering
src, all packages including the two deferred ones, and ui) and retires
the strict-ratchet lane wholesale: config, script, projects reference,
check/CI wiring, changed-lane routing, and sync test. The assertion-ban
oxlint override stays as an independent surface.
2026-07-12 06:36:36 +01:00
Peter Steinberger
176647aa84 ci: gate frozen QA smoke by capability (#105006) 2026-07-12 06:32:26 +01:00
Peter Steinberger
23d4e48172 fix: harden live updater snapshot recovery (#105007)
* fix(updater): harden snapshot recovery

* fix(updater): avoid snapshot code execution
2026-07-12 06:29:41 +01:00
Peter Steinberger
36da65d050 fix(tests): relocate provider auth-literal parity test outside core source (#104995)
The parity test loaded the test-only bundled-plugin public-surface
helper from src/plugins, which the extension-test boundary forbids for
core source files; every PR touching the build-artifacts shard now
fails. Moving it to test/plugins keeps the dynamic-import lane
protection and passes both the boundary and parity suites.
2026-07-12 06:20:30 +01:00
Vincent Koc
a2c2c5576e fix(qa): restore OpenAI web search smoke 2026-07-12 07:17:48 +02:00
Vincent Koc
dc6b447c07 fix(release): verify named backport provenance 2026-07-12 13:12:30 +08:00
Peter Steinberger
b163dbb97d ci: harden current and frozen release checks (#104956)
* test(qa): wait for complete process pid fixture

* style(qa): format pid readiness predicate

* test(sqlite): allow schema version pragma

* ci: install target playwright for frozen UI checks
2026-07-11 22:08:49 -07:00
Peter Steinberger
2263272a32 fix(updater): build snapshot control client safely (#104964) 2026-07-11 22:02:50 -07:00
Peter Steinberger
4b82e1af19 test(plugins): move auth parity integration coverage (#104974) 2026-07-11 21:55:33 -07:00
Vincent Koc
f7e0a6147c refactor(pr): centralize prepare gate planning (#104961) 2026-07-12 12:32:20 +08:00
Peter Steinberger
f802a6f8bc fix: update managed macOS Gateways from runtime snapshots (#104946)
* fix(updater): migrate validated gateway snapshots

* test(updater): declare snapshot maintenance helpers
2026-07-11 21:20:08 -07:00
Vincent Koc
ef13c2fe98 refactor(codex): unify protocol artifact staging (#104948) 2026-07-12 12:09:17 +08:00
Vincent Koc
bd0ae71ebe test(release): declare ledger reference helper 2026-07-12 12:08:10 +08:00
Vincent Koc
d290f40000 style(release): format ledger repair test 2026-07-12 12:08:10 +08:00
Vincent Koc
e4a9398396 fix(release): allow generated ledger repair 2026-07-12 12:08:10 +08:00
Vincent Koc
b1cda07878 fix(release): preserve original PRs for named backports 2026-07-12 12:08:10 +08:00
Vincent Koc
ec11440176 refactor(i18n): extract locale sync planning (#104943) 2026-07-12 12:02:34 +08:00
Peter Steinberger
5b29c37137 ci: accept trusted unsigned release merge heads (#104838) 2026-07-11 20:42:03 -07:00
Peter Steinberger
a79554c281 ci: bound QA smoke profile runtime (#104909) 2026-07-11 20:41:18 -07:00
Vincent Koc
ddbec923d4 fix(plugin-sdk): cover the full public API baseline 2026-07-12 05:38:05 +02:00
Peter Steinberger
ac89350327 feat(apps): review durable approvals on mobile (#104913)
* feat(apps): Android, iPhone, and Watch approval clients

Squash-rebased #103912 segment onto the deep-links tip on current main.
Native approval surfaces: iOS approval presentation with gateway-switch
lease preservation and resolution fencing, watchOS inbox + approval
actions with shipped-shape payload codec, Android approval notices with
publication-tokened dismissal. Native i18n inventory regenerated.

(cherry picked from commit 428a76670ffeede54248b7bd7aa4438e2589851b)
(cherry picked from commit 80225d5707c3645eeea5435f266131037b50ede6)
(cherry picked from commit 2a23b714dc30d773a294aa45adc617e46b80732e)
(cherry picked from commit 9ff1153827769e2cbab7c11c153f0f8634662c28)
(cherry picked from commit 5b25723525bd562e5f97478af492f7b46ad30fd1)
(cherry picked from commit 8c80e8467b5fe89aad0d4c74a0573f1600ed3af9)
(cherry picked from commit ad4037bc9846bf6f082b41c129ee68aa344576c3)
(cherry picked from commit fdf767dd662cff3c8a5a6d571f38f153410651ca)
(cherry picked from commit 00c120376ffd992ea68ce29254a9bc0a25ed1740)
(cherry picked from commit f36a95213e)
(cherry picked from commit e2c25cbe2baacab44d21871d8cb6734704f065ac)
(cherry picked from commit 7c4fda519080486d341a9f4df36d63f9e24b1235)
(cherry picked from commit 1b3d4eda3dc5988012124597f9454ae21fb187a1)
(cherry picked from commit 2a60619722)
(cherry picked from commit 6f0c386567)
(cherry picked from commit 784a5857b7)
(cherry picked from commit cbf294e026841c9bc2799da0fc7db666a69c52db)

* fix(apps): harden approval reconciliation and watch states
2026-07-11 19:59:07 -07:00