Commit graph

1453 commits

Author SHA1 Message Date
joshavant
bd559a98ed fix(cron): migrate scheduled authority provenance 2026-07-24 01:24:03 -05:00
Peter Steinberger
3b7b2a2a1f
chore: update dependencies and migrate major contracts (#112963)
* build(deps): complete latest dependency migrations

* fix(deps): satisfy updated dependency types

* fix(deps): hold incompatible build tooling

* fix(deps): preserve portable tooling contracts

* build(deps): allow reviewed fresh transitive releases

* fix(deps): repair major upgrade validation

* build(deps): regenerate current dependency graph

* fix(logging): keep tslog adapter type private

* fix(agents): narrow grep subprocess handle

* fix(codex): prefer pinned managed binary

* fix(codex): fence managed native provenance

* build(deps): align codex ACP with managed harness

* fix(slack): use socket-mode Undici runtime

* fix(slack): detect cross-runtime responses

* fix(slack): bridge package-owned fetch types

* fix(deps): retain tslog v4 JSON contract

* build(plugin-sdk): refresh logging API manifest
2026-07-23 21:21:01 -07:00
Peter Steinberger
c5a2220d37
refactor(sessions): restructure per-agent SQLite schema (#113071)
* refactor(sessions): restructure agent session schema

* fix(sessions): preserve sharing across node ownership

* refactor: split session node artifact helpers

* test: track session cleanup temp directories

* fix(sessions): preserve fresher alias artifacts

* fix(sessions): reject placeholder membership writes

* test(sessions): align schema ownership fixtures

* fix(sessions): align incognito and heartbeat ownership

* test(sessions): preserve retained window rehoming coverage
2026-07-23 10:21:05 -07:00
Peter Steinberger
acd92f6a3d
chore(deps): refresh repository dependencies (#112453)
* build(deps): update QA broker dependency

* build(deps): refresh repository dependencies

* build(deps): reconcile rebased shrinkwraps

* test(plugins): remove stale loader test state

* test(deps): stabilize updated dependency coverage

* fix(swift): use caller-isolated TaskLocal overload

* build(deps): regenerate rebased shrinkwraps

* test(msteams): preserve DNS validation in fetch helper

* fix(deps): avoid vulnerable optional image stack

* test(deps): validate generated LRU override

* refactor(ui): extract chat resizable divider

* test(ui): update divider ownership path

* fix(matrix): retain restart-compatible SDK

* style(cron): format update test
2026-07-23 16:17:13 +00:00
Peter Steinberger
525a7f4c96
ci(release): restore full validation after config migrations (#112740)
* fix(browser): preserve scoped CDP authority policy

* test(release): migrate canonical config fixtures

* ci(release): repair acceptance harness drift

* ci(release): extend Anthropic setup budget

* test(release): align remaining CI contracts

* test(release): align Docker and QA contract tests

* docs(release): preserve validation evidence inputs

* test(plugins): align unprepared metadata reads

* ci(release): separate QA live suite filters

* test(release): bind cron MCP cleanup device
2026-07-23 08:46:55 -04:00
Peter Steinberger
a2be4efb63
refactor(transcripts): store meeting captures in SQLite (#112910)
* refactor(transcripts): move meeting transcripts to sqlite

* perf(transcripts): batch legacy utterance staging

* fix(transcripts): report recovery moves on migration failure

* fix(transcripts): refresh archive membership after recovery

* fix(transcripts): omit failed summary export paths

* fix(transcripts): type restore metadata tuple

* fix(transcripts): align migration contract gates

* fix(transcripts): verify case-aliased export ownership

* fix(transcripts): allowlist doctor verifier sqlite query

* fix(transcripts): preflight partial artifact recovery

* fix(transcripts): stabilize exports and legacy path checks

* fix(transcripts): resolve case-renamed doctor ownership

* fix(transcripts): harden canonical export recovery

* fix(transcripts): preserve pending import boundaries

* refactor(transcripts): split migration insert transaction

* perf(transcripts): query selected summary existence
2026-07-23 07:18:55 -04:00
Peter Steinberger
ec8f957f2e
fix(release): test candidate external channel plugins (#112899) 2026-07-23 00:53:23 -04:00
Peter Steinberger
b3e2af7eb2
refactor(scripts): remove orphaned secret provider proof (#112875) 2026-07-23 00:29:44 -04:00
Dallin Romney
74cc99f2d1
fix(release): publish extended-stable Docker channels safely (#112494)
* fix(release): isolate extended-stable Docker aliases

* fix(release): harden Docker channel promotion

* docs(release): pin Docker policy into tagged tree

* refactor(release): isolate Docker channel promotion

* fix(release): queue Docker publications

* fix(release): harden docker channel promotion

* docs(release): tighten extended-stable guidance

* fix(release): promote Docker aliases after verification

* chore(release): format maintainer instructions

* refactor(release): separate release version policy

* docs(release): clarify extended-stable gateway scope

* fix(release): harden Docker channel promotion
2026-07-23 10:03:11 +09:00
Peter Steinberger
62c148d7d0
refactor(e2e): remove stale proof scripts (#112776) 2026-07-22 15:31:36 -07:00
Josh Avant
3acc168c4f
fix(cron): persist explicit scheduled tool authority (#112483)
* fix(cron): persist explicit scheduled tool authority

* test(cron): cover explicit scheduled authority

* fix(cron): preserve legacy authority on routine edits

* test(cron): add explicit authority e2e matrix

* test(cron): harden explicit authority live proof
2026-07-22 02:28:49 -05:00
Peter Steinberger
edecdbd05e
refactor(config): config-surface reduction tranche 3 — product consolidations (review request) (#111527)
* refactor(config): consolidate media model lists

* refactor(config): unify memory configuration

* refactor(config): consolidate TTS ownership

* refactor(config): move typing policy to agents

* refactor(config): retire product-level config surfaces

* refactor(config): share scoped tool policy type

* chore(config): refresh generated baselines

* fix(config): honor agent typing overrides

* fix(config): migrate sibling config consumers

* refactor(infra): keep base64url decoder private

* fix(config): strip invalid legacy TTS values

* chore(config): refresh rebased baseline hash

* fix(doctor): route legacy messages.tts.realtime voice to talk during tts move

* refactor(config): polish final layout names

* refactor(config): freeze retired tuning defaults

* feat(config): add fast mode default symmetry

* refactor(config): key agent entries by id

* docs(config): update final layout reference

* test(config): cover final layout migrations

* chore(config): refresh final layout baselines

* fix(config): align final layout runtime readers

* fix(config): align remaining readers

* fix(config): stabilize final layout migrations

* fix(config): finalize config projection proof

* fix(config): address final layout review

* docs(release): preserve historical config names

* fix(config): complete keyed agent migration

* fix(config): close final migration gaps

* fix(config): finish full-branch review

* fix(config): complete runtime secret detection

* fix(config): close final review findings

* fix(config): finish canonical docs and heartbeat migration

* fix(config): integrate latest main after rebase

* refactor(env): isolate test-only controls

* refactor(env): isolate build and development controls

* refactor(env): collapse process identity indirection

* refactor(env): remove duplicate config and temp aliases

* docs(env): define the operator-facing allowlist

* ci(env): ratchet production variable count

* fix(env): remove stale provider helper import

* fix(env): make ratchet sorting explicit

* test(env): keep test seam in dead-code audit

* test(env): cover ratchet growth and boundary; document surface budgets

* docs(config): document tier-eval consolidations

* docs(config): clarify speech preference ownership

* test(memory): align retired tuning fixtures

* refactor(memory): freeze engine heuristics

* refactor(config): apply tier-eval tranche

* refactor(tts): move persona shaping to providers

* refactor(compaction): move prompt policy to providers

* test(config): align hookified prompt fixtures

* chore(deadcode): classify test-only exports

* chore(github): remove unused spawn helper

* chore(deadcode): classify queue diagnostics

* chore(deadcode): remove unused lane snapshot export

* chore(plugin-sdk): ratchet consolidated surface

* fix(config): integrate latest main after rebase
2026-07-21 20:28:43 -07:00
wangmiao0668000666
998f0ed27d
fix(e2e): keep phase log tails UTF-8 safe (#109923)
* fix(e2e): keep phase log tails UTF-8 safe

The phase runner keeps a bounded in-memory log tail per phase and writes it
to stderr when a phase fails. The byte-based cut can land inside a multi-byte
UTF-8 character, and decoding from that offset emits U+FFFD replacement
characters at the start of the diagnostics tail. Reuse the decodeUtf8Tail
helper from scripts/e2e/lib/text-file-utils.mjs (#109669) so the retained
window starts on a character boundary.

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

* fix(e2e): declare decodeUtf8Tail in text-file-utils types

phase-runner.ts imports decodeUtf8Tail from text-file-utils.mjs; the
adjacent declaration file must export it or check-test-types fails with
TS2305.

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

* refactor(e2e): reuse tailText wrapper for phase log tails

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

* test(e2e): focus phase tail regression

Co-authored-by: wangmiao0668000666 <wang.miao86@xydigit.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-20 19:45:35 -07:00
Peter Steinberger
c7e7ac2728
refactor: remove expired plugin compatibility surfaces (#111451)
* docs(secrets): remove retired web credential paths

* refactor(web): remove retired provider compatibility paths

* refactor(providers): delete retired compatibility routes

* refactor(secrets): remove retired credential aliases

* refactor(plugin-sdk): delete retired compatibility surfaces

* docs(plugin-sdk): remove retired migration guidance

* chore(plugin-sdk): refresh rebased surface budgets

* chore(plugin-sdk): refresh API removal baseline

* refactor(compat): migrate retired internal callers

* chore(plugin-sdk): refresh current-main baselines

* test(config): migrate plugin-owned secret assertions

* test(gateway): narrow plugin secret refs

* fix(plugin-sdk): preserve private boundary type identity

* chore(compat): remove stale sweep references

* chore(lint): lower max-lines budget

* refactor(secrets): remove unused web helper

* build(plugin-sdk): drop removed compat entries

* chore(plugin-sdk): refresh rebased API baseline

* chore(plugin-sdk): use Linux API baseline hash

* fix(plugin-sdk): preserve private bundled build entries

* fix(plugin-sdk): package private runtime facades

* fix(plugins): preserve external credential contracts
2026-07-19 11:04:48 -07:00
Peter Steinberger
7aedca21b2
test(release): align built-in timing proofs (#111483) 2026-07-19 09:42:16 -07:00
Peter Steinberger
783a5d21cf
refactor(config): purge numeric tuning knobs behind built-in defaults (#111382) 2026-07-19 07:35:45 -07:00
Jason (Json)
baa8b9b24f
test(telegram): add MCP App Funnel proof fixture (#111238) 2026-07-19 00:14:36 -06:00
Peter Steinberger
98410d986e
refactor(state): move device identity into canonical SQLite state (#110392)
* refactor: store device identities in SQLite

* style: satisfy Swift identity lint limits

* test: harden device identity migration fixtures

* fix: harden SQLite device identity recovery

* chore: remove stale identity helper

* refactor: isolate device identity repair

* chore: remove stale migration import

* test: validate migrated identity key types

* fix: harden device identity repair

* style: format device identity assertion

* fix: derive repaired identity key from PEM

* style: remove redundant PEM conversions

* fix: align native identity store with schema v4

* fix(state): satisfy SQLite identity CI gates

* fix(state): coordinate native identity migration

* test(doctor): include native identity claim path

* fix(infra): preserve coordinator release error

* fix(state): clear identity validation gates

* refactor(apple): remove identity test-only APIs

* refactor(apple): remove dead identity error type

* test(apple): use canonical identity test seam

* test(macos): isolate gateway readiness identity
2026-07-18 17:43:56 +01:00
Peter Steinberger
3d1b771035
fix(ci): catch script declaration drift before merge (#110248)
* fix(ci): verify script declaration contracts

* fix(ci): harden declaration export analysis

* fix(ci): cover opaque script module exports

* test(ci): cover cyclic script declaration barrels
2026-07-18 02:54:26 +01:00
Dallin Romney
a9dc393f7e
test(qa): prove Codex auth product migration (#109291) 2026-07-17 16:10:23 -07:00
Peter Steinberger
84f5d6d978
fix(release): persist streamed Telegram result metadata 2026-07-17 22:11:23 +01:00
Peter Steinberger
b7dd330bd3
test(release): avoid secret-like fixture literal 2026-07-17 21:55:27 +01:00
Peter Steinberger
e7801deb57
fix(release): fail fast on flaky beta QA 2026-07-17 21:55:27 +01:00
Peter Steinberger
20866a3fde
test(release): clarify synthetic QA credentials 2026-07-17 21:55:27 +01:00
Peter Steinberger
596ff439c8
test(release): preserve npm onboarding diagnostics 2026-07-17 21:55:27 +01:00
Dallin Romney
71a02e16af
test(qa): prove gateway package self-upgrade (#109399) 2026-07-17 12:26:35 -07:00
Peter Steinberger
600ff3acb4
fix(ci): preserve private plugins in Docker E2E (#110062) 2026-07-17 16:21:20 +01:00
qingminlong
ce4a16b0d3
fix(e2e): keep text file tails UTF-8 safe (#109669)
* fix(e2e): keep text file tails UTF-8 safe

* fix: preserve malformed UTF-8 tail bytes

Co-authored-by: qingminlong <0668001063@xydigit.com>

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-17 01:57:57 -07:00
Peter Steinberger
ec42788cef
perf(ci): cache packaged dependency reify in the docker e2e functional image (#109665)
* perf(ci): cache packaged dependency reify in the docker e2e functional image

Split the shared functional E2E image into manifest -> deps -> app stages so
the 328-package npm reify is layer-keyed on package.json + npm-shrinkwrap.json
alone. Per-PR tarballs (changed dist bytes, unchanged deps) now hit the cached
dependency layer on warm builders (Blacksmith sticky docker layers, local
buildkit) instead of re-running npm install on every build; the per-PR work
drops to manifest extract + package extract + packaged postinstall.

The deps stage reify also matches the shipped shrinkwrap exactly; the previous
npm install -g <tarball> path silently drifted ~15 transitive packages to newer
registry versions and lost the node-domexception -> @nolyfill/domexception
alias. npm install (not npm ci) because the generated shrinkwrap does not
guarantee npm ci's strict manifest sync (p-retry pins @types/retry@0.12.0 while
the shrinkwrap resolves 0.12.5).

Local proof (Apple Silicon, docker-container builder): per-PR warm image build
59s -> 43s with the 29s npm layer CACHED; lane total 164s -> 139s warm,
229s -> 160s cold; system-agent-first-run lane passes end to end, and the
installed tree matches the old image structure except for the documented
version-drift fixes.

* test: update e2e image guard for the staged dependency layer

The guard pinned the retired npm install -g invocation; assert the new
invariants instead: manifest-keyed deps layer, no global-prefix install,
deps COPY into /app, and postinstall ordered before the self-link so its
prune walks cannot cycle.
2026-07-16 22:34:13 -07:00
Peter Steinberger
b6535fb8de
fix(release): stop writing retired smoke state 2026-07-17 04:14:39 +01:00
Peter Steinberger
905395a3ff
fix(release): stop recreating retired workspace state 2026-07-17 03:41:32 +01:00
Leon-SK668
1f5c8239d7
fix(scripts): preserve emoji in request log previews (#109481)
* fix(scripts): preserve emoji in request log previews

* fix(scripts): keep mock preview standalone

* refactor(scripts): reuse UTF-16 truncation helper

Co-authored-by: Leon-SK668 <0668001470@xydigit.com>

* test(scripts): cover raw Node mock loading

Co-authored-by: Leon-SK668 <0668001470@xydigit.com>

* docs(scripts): note raw Node type stripping contract

Co-authored-by: Leon-SK668 <0668001470@xydigit.com>

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-16 18:49:36 -07:00
Dallin Romney
08ba5f90c8
fix(ci): detect frozen Codex binding stores (#109377) 2026-07-16 15:46:32 -07:00
Dallin Romney
b5eb8977dc
test(qa): prove Codex cold install product path (#109267) 2026-07-16 13:10:41 -07:00
Peter Steinberger
46c3dba537
chore: gate releases on Codex progress follow-through (#108828)
* test(release): gate Codex progress follow-through

* test(release): register Codex follow-through entry

* test(release): harden Codex follow-through proof

* test(release): preserve legacy Codex follow-through proof
2026-07-16 09:01:00 -07:00
Peter Steinberger
8fe4eeea9e
fix(exec): stop isolated state dirs from moving live approvals (#108742)
* fix(exec): isolate approval state directories

* chore: drop release-owned changelog entry

* chore: refresh native i18n inventory

* fix(ci): pin XcodeGen for Periphery scans
2026-07-16 08:57:32 -07:00
zengLingbiao
b273fd41c4
fix(e2e): bound ClickClack fixture plugin fetch requests (#108826)
* fix(e2e): bound ClickClack fixture plugin fetch requests

* test(e2e): exercise ClickClack response deadline

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-16 08:35:51 -07:00
Alix-007
0159f54268
fix(e2e): bound Pond gateway connections (#108973)
* fix(e2e): bound Pond gateway connections

* fix(e2e): declare Pond gateway RPC types

* fix(e2e): close Pond socket when setup fails

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-16 08:18:44 -07:00
Peter Steinberger
509f5d3409
fix: bound npm fixture upstream response bodies (#108960)
* test: bound npm fixture upstream responses

* test: auto-clean npm fixture temp dirs

* style: format npm fixture assertion test

* test: simplify plugin fixture temp cleanup
2026-07-16 04:53:43 -07:00
Peter Steinberger
e0ffbd90d9
fix(ci): isolate bounded metadata retries (#108804)
* fix(ci): bound Mantis runner IP retries

* fix(e2e): isolate Windows metadata retries

* fix(ci): validate complete runner IPv4

Co-authored-by: Alix-007 <li.long15@xydigit.com>

---------

Co-authored-by: Alix-007 <li.long15@xydigit.com>
2026-07-16 03:39:31 -07:00
Peter Steinberger
e95577ded7
fix(e2e): bound macOS Discord host requests (#108880) 2026-07-16 03:36:20 -07:00
Alix-007
f0720a856d
fix(e2e): time out npm registry upstream requests (#108718) 2026-07-16 02:06:25 -07:00
Alix-007
81e626a6d1
fix(e2e): bound MinGit asset downloads (#108741) 2026-07-16 02:02:09 -07:00
Alix-007
b7270eccc6
fix(e2e): bound Windows prerequisite metadata fetches (#108698) 2026-07-16 01:51:26 -07:00
Peter Steinberger
a7d5386896
improve: speed up ring-zero QA smoke (#108694)
* ci: speed up ring-zero QA smoke

* ci: scope QA sticky cache to Docker lane

* ci: keep QA dependency setup on actions cache

* test: restore modern Docker QA proof
2026-07-16 01:12:40 -07:00
Peter Steinberger
7a398fe6f8
fix(update): preserve plugin policy on failures (#108661) 2026-07-16 00:38:44 -07:00
Alix-007
862f915b55
fix(e2e): keep gateway suspension probes within deadline (#108063)
* fix(e2e): bound gateway network HTTP probes

* test(e2e): align timeout proof with repo guards

* test(e2e): use a typed stalled response
2026-07-15 22:52:59 -07:00
Alix-007
3009338a9a
fix(e2e): stop multi-node health checks hanging past deadline (#108065)
* fix(e2e): bound multi-node health probes

* test(e2e): track multi-node timeout temp files
2026-07-15 22:47:43 -07:00
Peter Steinberger
bae9752c5a
refactor(deadcode): enforce repository hard zero (#108641) 2026-07-15 22:40:00 -07:00
Peter Steinberger
e7cba0e4d5
fix: provider dead exports no longer block changed checks (#108592)
* fix(ci): clean provider dead exports

* test(extensions): satisfy provider contract types

* refactor(openai): tighten provider runtime factory
2026-07-15 22:33:54 -07:00