Vincent Koc
b392dbbbcc
build(android): regenerate runtime-owned locale resources
2026-07-12 13:26:39 +02:00
Vincent Koc
0454ba70d1
build(i18n): reconcile retained Android catalogs
2026-07-12 13:26:39 +02:00
Vincent Koc
fdf1250ece
fix(i18n): close Android scanner blind spots
2026-07-12 13:26:39 +02:00
Vincent Koc
4bc1a0343e
fix(i18n): harden Android localization scans
2026-07-12 13:26:39 +02:00
Vincent Koc
5b7f50c077
fix(i18n): parse nested Kotlin interpolation
2026-07-12 13:26:39 +02:00
Vincent Koc
1b87391658
fix(android): close locale review gaps
2026-07-12 13:26:39 +02:00
Vincent Koc
71db13d4c3
fix(android): localize command and overview models
2026-07-12 13:26:39 +02:00
Vincent Koc
5dbcfac2a4
fix(android): prefer real locale translations
2026-07-12 13:26:39 +02:00
Vincent Koc
d91ae52040
test(android): scan values resource aliases
2026-07-12 13:26:39 +02:00
Vincent Koc
56ca704433
test(android): include XML resource references
2026-07-12 13:26:39 +02:00
Vincent Koc
bd52ff5f5f
test(android): cover settings model localization
2026-07-12 13:26:39 +02:00
Vincent Koc
37c4b740b2
fix(i18n): exclude generated Android resources
2026-07-12 13:26:39 +02:00
Vincent Koc
b5844bbba2
test(android): harden localization coverage checks
2026-07-12 13:26:39 +02:00
Vincent Koc
c03d64558f
feat(android): generate native localization resources
2026-07-12 13:26:39 +02:00
Peter Steinberger
e864155d74
ci(performance): accept disabled gateway health proof ( #105324 )
2026-07-12 12:22:13 +01:00
Peter Steinberger
eb2669cefd
ci(performance): accept optional Kova cleanup evidence ( #105292 )
2026-07-12 11:53:09 +01:00
Peter Steinberger
a20314d6cc
ci: preserve frozen Android build contract ( #105299 )
2026-07-12 11:48:02 +01:00
Peter Steinberger
5f856a26ba
fix(release): package unreleased ref candidates ( #105291 )
...
* fix(release): package unreleased ref candidates
* docs(agents): preserve PR artifact enums
2026-07-12 11:45:03 +01:00
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