Commit Graph

306 Commits

Author SHA1 Message Date
joshavant cde0af4c60 test(auto-reply): isolate prepared harness delivery proof 2026-08-11 05:00:17 -05:00
Josh Lehman 2ae316e2f3 fix(ui): session titles flicker during archive transitions (#121868)
* fix(ui): preserve session titles through archive transitions

* oc-ba3: fix archive title CI regressions
2026-08-10 23:48:02 -07:00
Peter Steinberger 1220a7609a refactor: consolidate promise-like guards (#121861)
* feat(normalization-core): add promise-like guard

* refactor: consolidate promise-like guards

* fix(normalization-core): keep isPromiseLike non-throwing on hostile then getters

ClawSweeper finding on #121861: the diagnostics-path local guard caught throwing
then getters; the canonical guard must classify, never throw.

* test(normalization-core): annotate intentional hostile-thenable fixture
2026-08-10 22:50:48 -07:00
Peter Steinberger ebfd3ba154 improve: cut CI critical path without more workers (#121807)
* test(ci): remove redundant builds from critical path

Amp-Thread-ID: https://ampcode.com/threads/T-019fee8d-665d-707b-a380-23f2a6a1ce03
Co-authored-by: Peter Steinberger <steipete@gmail.com>

* docs(ci): format runner table

Amp-Thread-ID: https://ampcode.com/threads/T-019fee8d-665d-707b-a380-23f2a6a1ce03
Co-authored-by: Peter Steinberger <steipete@gmail.com>

---------

Co-authored-by: Amp <amp@ampcode.com>
2026-08-10 20:21:20 -07:00
Peter Steinberger 750d0dcd9e improve(ui): make warm session switching instant (#121625)
* perf(ui): make warm session switching instant

Amp-Thread-ID: https://ampcode.com/threads/T-019fe957-0e49-707f-859f-9600ef536125

* fix(ui): harden retained session ownership

Amp-Thread-ID: https://ampcode.com/threads/T-019fe957-0e49-707f-859f-9600ef536125

* test(ui): scope retained session assertions

Amp-Thread-ID: https://ampcode.com/threads/T-019fe957-0e49-707f-859f-9600ef536125

* fix(ui): align generated image preview checks

* fix(ui): preserve early transcript reading position

Amp-Thread-ID: https://ampcode.com/threads/T-019fe957-0e49-707f-859f-9600ef536125

* fix(ui): adopt latest-navigation-wins router

Amp-Thread-ID: https://ampcode.com/threads/T-019fe957-0e49-707f-859f-9600ef536125

* fix(ui): restore retained pane reactivity

Amp-Thread-ID: https://ampcode.com/threads/T-019fe957-0e49-707f-859f-9600ef536125

* test(auto-reply): align item lifecycle expectations

* fix(ci): repair current-main validation gates

Amp-Thread-ID: https://ampcode.com/threads/T-019fe957-0e49-707f-859f-9600ef536125

---------

Co-authored-by: Amp <amp@ampcode.com>
2026-08-10 16:17:25 -07:00
Peter Steinberger 1ced7441eb refactor(agents): move announce, completion, recovery, and registry families into concept directories (#121553)
* refactor(agents): move announce family into subagents/announce/

* refactor(agents): move completion and main-session recovery families

* refactor(agents): move registry family into subagents/registry

* refactor(agents): update registry state type imports

* style(agents): format moved subagent imports

* test(agents): preserve isolated registry test routing

* fix(scripts): recognize relocated subagent announce seams
2026-08-10 16:06:39 -07:00
Peter Steinberger e63bd3e9a4 fix: make gateway stress results reflect real concurrency (#121677)
* fix(qa): preserve gateway rpc concurrency

Amp-Thread-ID: https://ampcode.com/threads/T-019fec02-d170-73eb-aec8-b364ab706745
Co-authored-by: Peter Steinberger <steipete@gmail.com>

* fix(agents): clean detached session lifecycle

Amp-Thread-ID: https://ampcode.com/threads/T-019fec02-d170-73eb-aec8-b364ab706745
Co-authored-by: Peter Steinberger <steipete@gmail.com>

* fix(gateway): classify metadata startup sequencing

Amp-Thread-ID: https://ampcode.com/threads/T-019fec02-d170-73eb-aec8-b364ab706745
Co-authored-by: Peter Steinberger <steipete@gmail.com>

* fix(types): heal main test typecheck

Amp-Thread-ID: https://ampcode.com/threads/T-019fec02-d170-73eb-aec8-b364ab706745
Co-authored-by: Peter Steinberger <steipete@gmail.com>

* fix(qa): type gateway rpc request mock

Amp-Thread-ID: https://ampcode.com/threads/T-019fec02-d170-73eb-aec8-b364ab706745
Co-authored-by: Peter Steinberger <steipete@gmail.com>

* fix(qa): preserve terminal transport state

Amp-Thread-ID: https://ampcode.com/threads/T-019fec02-d170-73eb-aec8-b364ab706745
Co-authored-by: Peter Steinberger <steipete@gmail.com>

* test(gateway): allow qa transport owner

Amp-Thread-ID: https://ampcode.com/threads/T-019fec02-d170-73eb-aec8-b364ab706745
Co-authored-by: Peter Steinberger <steipete@gmail.com>

* test(ui): isolate attachment handoff lifecycle

Amp-Thread-ID: https://ampcode.com/threads/T-019fec02-d170-73eb-aec8-b364ab706745
Co-authored-by: Peter Steinberger <steipete@gmail.com>

---------

Co-authored-by: Amp <amp@ampcode.com>
2026-08-10 19:54:55 +00:00
Peter Steinberger 8a5978154f fix(ui): handle keyboard context menu shortcuts (#121628)
* fix(ui): handle keyboard context menu shortcuts

* fix(ci): repair shared validation regressions

* fix(ci): repair setup admission lint

* fix(ci): settle setup admission tests
2026-08-10 12:39:22 -07:00
Peter Steinberger 896592b747 test(vitest): give config creators nameable return types
A vitest/vite type bump made inferred creator return types reach
vite-internal names (TS4058/TS4082), failing check-test-types repo-wide.
Annotate the scoped/extension config roots and the spread-rebuilding
creators with ViteUserConfig; also drop an unused workflow read, mutating
sorts, and an untyped record index left by 1f591bba56.
2026-08-10 09:35:51 -07:00
Peter Steinberger 188a248449 fix(test): restore root-matrix unit-fast cleanup (#121356) 2026-08-09 19:44:44 -07:00
Peter Steinberger f44c5e2e5e fix(plugins): surface manifest-only bundled capabilities (#121354)
Use a manifest-first inventory with independent coverage for manifest-only bundled capabilities.

Retire the undocumented thread-ownership plugin while Doctor removes stale references.

Document Talk voice and persist only provider-scoped voice selection.

Closes #121353
2026-08-09 19:43:49 -07:00
Peter Steinberger 1c95854163 refactor(media): fold per-kind alias shells into per-concern modules (#121302)
* refactor(media): fold per-kind alias shells into per-concern modules

* test(ci): retarget media test inventories after shell fold
2026-08-09 18:19:38 -07:00
Peter Steinberger bd6c6aaef2 refactor(ws): consolidate raw WebSocket payload decoding (#121268)
* refactor(ws): consolidate raw data conversion

* fix(scripts): keep gateway client source-loadable

* refactor(ws): share plugin frame decoding
2026-08-09 16:32:18 -07:00
Peter Steinberger ce53f7e82e refactor(agents)!: remove the session write lease (#121113)
* refactor(agents): remove session write lease

* refactor(plugin-sdk): deprecate session write lease

* refactor(doctor): remove session lock checks

* test(agents): remove session lease fixtures

* test(agents): align writer rebound assertion

* refactor(infra): remove retired session lock exports

* test(tooling): preserve embedded abort race shard
2026-08-09 15:30:48 -07:00
Peter Steinberger 0ef798d28d fix(gateway): keep hello authorization aligned with RPC access (#120888)
* fix(gateway): separate socket and device token scopes

* chore(i18n): refresh native source baseline

* style(ios): keep gateway channel within lint limit

* refactor(gateway): simplify scope metadata decoding

* ci(ui): isolate real-gateway e2e suites

* docs(ci): align runner table formatting

* chore(plugin-sdk): refresh api baseline

* ci(ui): route real-gateway retries to hosted runners

* chore(plugin-sdk): repair generated api baseline

* test(ui): select Labs toggles by title

* fix(gateway): preserve stored scopes without wire metadata
2026-08-09 14:50:07 -07:00
Peter Steinberger c70aee247e refactor(scripts): migrate JavaScript tools to TypeScript (#121005)
* refactor(scripts): migrate JavaScript tools to TypeScript

* fix(ci): keep changed-scope preflight zero-install

* fix(ci): preserve zero-install script owners

* fix(ci): complete script migration follow-through

* fix(release): keep stable closeout zero-install

* fix(scripts): preserve standalone execution boundaries

* fix(scripts): repair standalone loader boundaries

* fix(scripts): normalize gateway observation ids

* fix(scripts): keep Docker packager standalone

* test(scripts): preserve rebase cleanup helpers

* test(sessions): use tracked temp directory
2026-08-09 07:21:35 -07:00
Peter Steinberger 8b0735e89f refactor(memory)!: remove the QMD backend; builtin is the only memory engine (#120936)
* refactor(memory): remove qmd backend

Make builtin the sole memory-core engine, rename the retained session helper barrel, retire QMD config with doctor migrations, and remove QMD runtime/UI/policy surfaces.

* docs(memory): remove qmd backend guidance

Delete the QMD concept page, rewrite memory documentation for builtin retrieval, and remove QMD from navigation and taxonomy source.

* refactor(memory): remove qmd-only leftovers

* refactor(memory): finish qmd integration cleanup

* build(deps): align root string-width types

* build(deps): model root string-width tooling

* refactor(memory): align qmd removal ui and docs

* fix(memory): preserve qmd external paths in doctor

* test(memory): remove obsolete backend probe case

* test(plugin-sdk): refresh private type baseline
2026-08-09 03:05:47 -07:00
Peter Steinberger 5ea44f5916 refactor(ui): remove dead Control UI weight (#120870)
* refactor(ui): remove dead Control UI weight

* test(ui): trim redundant preview fixture

* fix(ui): preserve agent file preview behavior
2026-08-08 22:22:32 -07:00
Josh Avant a345ede685 fix(codex): preserve configured MCP tools in scheduled turns (#120366) 2026-08-08 19:25:39 -05:00
Vincent Koc a901261754 fix(test): keep fork E2E setup builds observable (#120653)
* fix(test): stream E2E setup build progress

* fix(test): keep E2E setup builds in runner group

* fix(test): own E2E setup streams and signals

* test(ci): route E2E setup regression correctly
2026-08-09 02:53:38 +08:00
Peter Steinberger 40385bb5c1 test(e2e): isolate shared build artifacts (#120628) 2026-08-08 09:21:50 -07:00
joshavant 07680362ff Revert "refactor(agents): propagate exact attribution across runtimes"
This reverts commit df31882c38.
2026-08-07 18:40:17 -05:00
joshavant d4c9a4d8f1 Revert "feat(audit): preserve exact agent execution provenance"
This reverts commit 79b8775bc9.
2026-08-07 18:40:17 -05:00
Vincent Koc 79b8775bc9 feat(audit): preserve exact agent execution provenance 2026-08-07 15:27:14 +08:00
Vincent Koc df31882c38 refactor(agents): propagate exact attribution across runtimes 2026-08-07 13:44:39 +08:00
Peter Steinberger 6e4d387fed fix(test): keep TUI PTY suites in their owner lane (#119787) 2026-08-05 18:28:17 -07:00
Peter Steinberger b5d41f9005 fix(test): bound direct gateway server runs (#119184) 2026-08-04 03:38:39 -07:00
Vincent Koc 4bdf9ca789 fix(tui): block terminal controls in system messages (#118998)
* fix(tui): sanitize rendered system messages

* test(tui): keep PTY safety proof within lint budget

* test(tui): clarify terminal safety PTY proof

* test(tui): de-churn terminal safety harness

* fix(tui): sanitize connection status output

* test(tui): split PTY harness support

* fix(tui): sanitize selector and footer output

* fix(tui): harden terminal display boundaries

* fix(tui): harden terminal display boundaries

* fix(tui): harden terminal output boundaries

* test(tui): repair terminal safety proof

* test(tui): harden terminal safety oracle

* test(tui): type OSC terminator candidates

* fix(tui): authenticate current terminal rendering

* fix(tui): harden terminal output safety evidence

* test(tui): keep PTY cell type internal

* test(tui): reject literal tabs in PTY oracle

* test(tui): reject literal backspace in PTY oracle
2026-08-04 16:35:41 +08:00
Vincent Koc 45643863d7 fix(test): isolate shared state between test files (#118781)
* fix(test): isolate session suspension state

* fix(test): isolate nonzero worker exit coverage

* fix(test): keep suspension reset generations monotonic

* fix(test): isolate archived session UI mocks

* fix(deps): patch fast-uri and undici advisories

* fix(test): isolate stateful UI suites
2026-08-04 15:26:22 +08:00
Peter Steinberger 4553fada9c fix(test): keep ui-e2e global setup lint-clean (#118763) 2026-08-03 09:55:37 -07:00
Peter Steinberger 73535e4ede improve(ui): cut E2E shard runtime by reusing the bundle (#118697)
* test(ui): reuse bundled runtime across e2e files

* test(ui): isolate bundled E2E build output

* test(ui): align bundled E2E output paths

* test(ui): register E2E setup entrypoints

* test(ui): preserve bundled E2E gateway semantics

---------

Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-03 08:01:44 -07:00
Peter Steinberger c40faefcf5 fix(test): wait for gateway readiness and isolate reset-heavy suite (#117725)
* fix(ci): isolate gateway readiness and subagent reset tests

* fix(ci): isolate gateway readiness and subagent reset tests

* fix(test): wait for gateway readiness in shared fixture

* test(agents): isolate announce loop guard suite

* fix(test): observe gateway exit during readiness

* test: narrow gateway readiness process contract
2026-08-03 00:12:34 -07:00
Peter Steinberger 7aaf3023fc fix(agents): make subagent restart recovery deterministic
Make subagent restart recovery registry-owned, durable before side effects, generation-fenced, and deterministic across cold restarts.
2026-08-03 11:57:51 +08:00
Peter Steinberger 0a1d103189 refactor(test): consolidate extension vitest configs (#118366) 2026-08-02 19:55:36 -07:00
Peter Steinberger cbd4b8dec8 fix(memory): keep wiki search inside protected recall visibility (#118265)
* fix(memory): unify wiki session authorization

* build: expose memory core boundary declarations
2026-08-02 18:22:17 -07:00
Peter Steinberger d6f66b69ff improve(tests): consolidate embedded runner integration setup (#118326)
* test(agents): consolidate embedded runner integration harnesses

* test(agents): keep shared runner in owner config

* test(agents): keep compaction mock private

---------

Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-02 18:10:53 -07:00
Peter Steinberger ddb6a80bf7 test(agents): focus incomplete-turn owner coverage (#118269)
* test(agents): focus incomplete-turn owner coverage

* test(agents): satisfy incomplete-turn checks

* test(agents): simplify replay side-effect state

* test(agents): retain incomplete-turn entry coverage

---------

Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-02 17:08:08 -07:00
Peter Steinberger 6e87d3b5f3 test: gateway and CLI process-test hygiene (#118042)
* test: gateway and CLI process-test hygiene

* test: preserve CLI process timeout diagnostics
2026-08-02 10:12:30 -07:00
Peter Steinberger 57c6f76221 fix(test): prevent CLI process loader hangs (#117830) 2026-08-01 22:22:26 -07:00
Vincent Koc acf28495b1 fix(ci): repair plugin prerelease validation (#117562) 2026-08-02 03:29:21 +08:00
Peter Steinberger deabae48d3 fix(ci): keep PTY tests observable and wait for completed turns (#117405)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 07:46:46 -07:00
Jacob Tomlinson 20ac22f647 fix(codex): guide recovery from unimported agent auth (#116807)
* fix(codex): diagnose unimported agent auth

Add agent-scoped Codex migration guidance and expose a validated --agent target so non-default credentials cannot be imported into the default agent store.

Fixes #116763

* fix(codex): surface auth migration before route planning

* fix(codex): scope auth migration recovery

* fix(codex): preserve API key auth fallback

* test: repair memory importer routing expectation

* test: drop superseded memory routing repair

* test(tui): report PTY progress verbosely

---------

Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
2026-08-01 07:08:02 -06:00
Peter Steinberger ad409a8285 fix(ui): preserve session, tool, archive, and focus ownership (#117191)
* fix(ui): unify tool, session, and keyboard interaction owners

* refactor(ui): separate archived session regression coverage

* test(ui): isolate memory plugin mutation mock registries

---------

Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-07-31 22:45:53 -07:00
Peter Steinberger 7e78de747b refactor(ui): replace duplicated locale bundles with canonical translation memory (#117157)
* refactor(ui): generate locale bundles from canonical translation memory

* fix(ui): keep server-only locale config out of browser test helpers
2026-07-31 19:40:27 -07:00
Peter Steinberger 2fcb47ad1e refactor(test): derive changed-test routes from canonical owners (#117099)
* refactor(test): derive changed-test routes from canonical owners

* fix(test): type workflow owner descriptors for lint
2026-07-31 16:40:46 -07:00
Peter Steinberger 4976eb38ab fix(ui): honor Gateway readiness abort and subscription ownership (#117048)
* fix(ui): keep canceled gateway waits retired

* test(ui): bind Gateway readiness test helper callback

* test(ui): isolate server locale preference singleton

---------

Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-07-31 15:06:55 -07:00
Peter Steinberger 262f26355a fix(tui): keep reset transitions isolated from stale input (#116873)
* fix(tui): fence reset session transitions

* fix(tui): explain blocked reset input

* test(tui): isolate reset transition PTY proof

* fix(tui): preserve input across session transitions

* test(tui): synchronize preserved reset draft proof

* test(tui): control reset submit timing

* test(tui): close reset PTY with EOF

* test(tui): exit reset PTY without submit buffering

* test(tui): synchronize reset PTY shutdown

* test(tui): widen reset PTY exit window

* test(tui): stabilize reset transition PTY proof

* test(tui): keep reset PTY harness bounded

* test(tui): split reset PTY fixture wiring
2026-07-31 14:18:34 -07:00
Vincent Koc b3ce00b480 refactor(schema): share config validation runtime (#116622) 2026-07-31 12:40:48 +08:00
Peter Steinberger d6dafac8a1 test(ui): isolate registry-sensitive suites (#115860) 2026-07-29 07:44:48 -04:00
loong 7bdd1f646b fix(memory-host-sdk): resolve stable execPath for worker fork to survive Homebrew Node upgrades (#99318)
* fix(memory): survive Homebrew Node upgrades

Co-authored-by: 袁龙辉0668001277 <yuan.longhui@xydigit.com>

* test(whatsapp): isolate last-route coverage

* fix(deepinfra): preserve offline model compatibility

* test(memory): isolate migration cleanup lifecycle

* test: stabilize aggregate extension gates

* ci: retrigger pull request workflow

* test: preserve inherited Node options

* test(cli): tolerate cold hosted startup

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-29 06:49:02 -04:00