Vincent Koc
c3e3f276f2
fix(release): preserve frozen candidate identity
2026-08-11 10:48:08 +08:00
Patrick Erichsen
abb856ece4
fix(release): restore frozen beta validation ( #121791 )
...
Punchcard-Session: coral-summit-brook-8j
2026-08-10 18:45:42 -07:00
Vincent Koc
546bb29055
fix(release): support frozen validation tooling
2026-08-11 07:20:44 +08:00
Dallin Romney
0296785c5f
fix(ci): validate frozen extended-stable candidates ( #120986 )
...
* fix(ci): support frozen extended-stable validation
* fix(ci): avoid map spread in release config projection
* refactor(ci): use suite config mutation for frozen candidates
* fix(ci): keep frozen candidate config private
* refactor(qa): expose config mutation
* fix(qa): preserve config mutation in runtime pairs
2026-08-10 17:40:46 +08:00
Peter Steinberger
88fc335323
fix(ci): support frozen script entrypoints ( #121208 )
...
* fix(ci): support frozen script entrypoints
* fix(ci): route frozen plugin tests through package script
* fix(release): support compiled candidate test helpers
* fix(release): support compiled upgrade helpers
* fix(release): mount trusted upgrade runtime
* fix(release): preserve trusted tsx resolution
2026-08-10 10:31:21 +08:00
Vincent Koc
af73dbcc83
fix(release): prefer SQLite upgrade survivor state ( #120983 )
2026-08-10 01:08:15 +08: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
Vincent Koc
9f2c2bd4c0
fix(release): keep upgrade survivor sessions fresh ( #120778 )
2026-08-09 08:05:36 +08:00
Vincent Koc
115e5a6f25
fix(release): isolate prepublish plugin startup probe ( #120749 )
2026-08-09 07:15:46 +08:00
Vincent Koc
b729806758
fix(release): preserve ClawHub fixture across restart ( #120709 )
2026-08-09 05:26:16 +08:00
Vincent Koc
33a5f37937
fix(release): repair survivor fixture assertion quoting ( #120680 )
2026-08-09 03:53:51 +08:00
Vincent Koc
b40f846757
fix(release): keep survivor plugin repair hermetic ( #120677 )
2026-08-09 03:34:42 +08:00
Vincent Koc
e81d7e62e8
fix(release): scope upgrade plugin credentials ( #120666 )
2026-08-09 03:00:36 +08:00
Peter Steinberger
d9080cfff8
fix(agents): transfer requester wake ownership across yield and deflake survivor registry setup ( #120538 )
2026-08-08 01:42:33 -07:00
Peter Steinberger
733512b612
fix(e2e): expose beta companions in survivor registries and unbind ReDoS timing from shell startup ( #120479 )
2026-08-07 22:12:00 -07:00
Peter Steinberger
fb0812c857
fix(qa): prevent false update-restart package failures ( #120300 )
...
* test(qa): expose update restart process exits
* test(qa): supervise update restart gateway
* test(qa): isolate supervised gateway environment
* test(qa): diagnose restart plugin convergence
* test(qa): mount trusted upgrade harness
* test(qa): include upgrade runtime companions
* test(qa): remove temporary restart diagnostics
* test(qa): enforce systemd restart budget
* test(qa): honor systemd stop timeout
* test(qa): tighten package fixture ownership
* test(qa): preserve unrelated lane shapes
* test(qa): complete service fixture boundaries
2026-08-07 14:46:59 -07:00
Vincent Koc
a0deb8edae
fix(release): provide prerelease plugin companions to package QA ( #120107 )
2026-08-07 13:31:41 +08:00
Vincent Koc
b4faa5aa5e
chore(gateway): cover update and setup RPCs
...
* test(gateway): cover update and setup RPCs
* test(gateway): cover target wizard lifecycle
* test(gateway): normalize QA fixture ownership
* test(gateway): include historical dist closure
* test(gateway): isolate historical update fixture
* test(qa): align target wizard lifecycle proof
* test(qa): read structured gateway call errors
2026-08-04 09:15:55 +08:00
Dallin Romney
44dc286ce7
fix(qa): use canonical service identity for update restart ( #117814 )
2026-08-02 17:18:01 +08:00
Vincent Koc
39156a99cd
fix(ci): restore beta release harnesses ( #116596 )
...
* test(release): model systemd ownership probes
* fix(ci): restore release Docker package probes
* fix(release): preserve Windows setup-node runtime
* fix(release): isolate Windows service validation
* fix(release): strip isolated Windows service identity
2026-07-31 09:17:35 +08:00
Peter Steinberger
62cbbcc800
fix(e2e): align service account state ( #116254 )
2026-07-29 23:00:16 -07:00
Peter Steinberger
19a98c873c
refactor(auth): finish SQLite-only auth profile cutover ( #114033 )
...
* refactor(auth): finish SQLite-only profile cutover
* test(auth): isolate SQLite shadow fixtures
* test(auth): satisfy OAuth refresh lint
* test(auth): infer legacy sidecar fixtures
* fix(auth): fail closed on unreadable stores
* fix(auth): recheck migration readiness on lookup
* fix(auth): preserve compatibility owner checks
* fix(auth): align SQLite cutover proof
* style(qa): format SQLite auth helpers
* fix(auth): recover interrupted SQLite migrations
* fix(auth): bind materialized SQLite refs
* style(auth): clarify receipt hash value
* fix(auth): preserve state-only OAuth routing
* fix(auth): snapshot receipted migration sources
* fix(auth): fail closed across recovery races
* fix(auth): close legacy recovery gaps
* fix(auth): serialize SQLite refresh recovery
2026-07-26 07:27:54 -04:00
joshavant
bd559a98ed
fix(cron): migrate scheduled authority provenance
2026-07-24 01:24:03 -05: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
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
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
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
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
Dallin Romney
71a02e16af
test(qa): prove gateway package self-upgrade ( #109399 )
2026-07-17 12:26:35 -07:00
Peter Steinberger
688a129ed0
fix: keep frozen Docker planning dependency-free ( #108340 )
...
* fix(release): keep frozen Docker planning dependency-free
* fix(release): gate frozen scenario command execution
2026-07-15 08:15:13 -07:00
xydt-tanshanshan
f638cbd0f9
fix(doctor): preserve allowlist entries for version-bound runtime plugins during stale config scan ( #107285 )
...
* fix(doctor): preserve allowlist entries for version-bound runtime plugins (codex) during stale config scan
* fix(doctor): restore codex to scanner stale expectation, protect at repair-sequencing
Scanner now flags codex in plugins.allow as stale so diagnostics are visible.
Repair-sequencing preserves the entry via preservePluginIds which already
includes VERSION_BOUND_RUNTIME_PLUGIN_IDS.
* fix(doctor): scope version-bound runtime plugin preservation to allow surface only
ClawSweeper P2: VERSION_BOUND_RUNTIME_PLUGIN_IDS was applied globally
across all stale config surfaces (deny, entries, slots, channels, etc.),
but only plugins.allow needs preservation. Move to a surface-scoped
parameter surfacePreservePluginIds so codex is preserved only in allow.
* fix(doctor): harden version-bound allowlist repair
* fix(doctor): retain version-bound plugin policy
* fix(doctor): align version-bound plugin diagnostics
Co-authored-by: hailory <hailory@xydigit.com >
---------
Co-authored-by: hailory <hailory@xydigit.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-14 22:14:11 -07:00
Vincent Koc
efdce6754d
fix(ci): align scheduled e2e checks with sqlite sessions
2026-07-12 15:22:37 +08:00
Peter Steinberger
fe261b0f59
chore(tooling): typecheck root test/** with a dedicated tsgo lane ( #104475 )
...
* chore(types): add declaration files for scripts/lib and scripts/e2e modules
* chore(types): add declaration files for top-level script modules (a-m)
* chore(types): add declaration files for top-level script modules (n-z)
* test: use a non-secret-shaped gateway token fixture
* test: type ci workflow guard helpers for the root test lane
* chore(tooling): typecheck root test/** with a dedicated tsgo lane
- test/tsconfig/tsconfig.test.root.json: root-test program (strict unused checks,
fixtures excluded; two Docker E2E clients that import built dist/** stay out,
same rationale as the scripts/e2e exclusion in tsconfig.scripts.json)
- tsgo:test:root wired into tsgo:test, check:test-types, scripts/check.mjs, and
the ci.yml test-types shard, mirroring the tsgo:scripts lane (#104348 )
- changed-lane routing: test/**/*.ts (excluding fixtures) and the lane tsconfig
now trigger 'typecheck test root' in check:changed; previously test/ paths ran
lint only, so harness type errors surfaced first in CI (#104287 envDir case)
- burn down all 1071 latent type errors in the program: precise param/local
types across test/scripts, test/vitest, test/e2e, and transitive scripts/e2e
program members; 205 sibling .d.mts declaration files for imported .mjs
modules (committed separately); zero any, zero ts-expect-error
- resolve the pre-existing testing star-export ambiguity in
scripts/e2e/parallels/common.ts with an explicit re-export
Closes #104388
* chore(types): correct declaration fidelity per structured review
- re-derive 51 .d.mts files from implementation data flow instead of
initializers: fix a wrong never return (runTestProjectsDelegation returns
the child), add encoding-sensitive exec/spawn overloads (plain-gh), restore
the full release profile union, make parsed paths string | null, add missing
parseArgs fields via help/non-help unions, add a missing sibling declaration
(budget-number-args), drop 15 unused lint directives
- precise install-record/tuple typing removes the type-aware oxlint
regressions the first declarations caused in scripts/e2e implementations
- route .mts declaration edits under test/ to the testRoot lane and reference
the test-root project from tsconfig.projects.json so tsgo:all covers it
(closes both review findings against the lane wiring)
* chore(scripts): keep telegram runner dist typing structural for the boundary guard
* chore(types): declare runtime pack and gateway readiness exports added on main
* test: pin the importTargetPlan form of the plugin-contract plan import
The guard expectation still referenced the raw await import( form that
7ae5996bb3 (#103975 ) replaced with the importTargetPlan fallback helper;
the assertion fails on current main.
2026-07-11 06:15:41 -07:00
Vincent Koc
155e196e22
fix(release): preserve beta validation evidence ( #103796 )
...
* fix(release): proxy upgrade fixtures to npm
(cherry picked from commit 30f54a5fe1 )
* fix(release): require installer doctor evidence
(cherry picked from commit 0782a94452 )
* test(qa): scope aborted restart outcome to Codex
(cherry picked from commit ac54f80430 )
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-10 09:05:14 -07:00
Josh Avant
cee2aca409
Scope agent cron operations to the calling agent ( #96883 )
...
* Scope agent cron operations to caller
* Scope OpenClaw tools MCP cron by session
* Address cron scope review feedback
* Preserve unscoped cron update retargeting
* Move cron caller identity into gateway context
* Clarify Gateway restart guidance
* Add cron caller identity regression proof
2026-06-26 21:41:14 -05:00
Vincent Koc
961130c707
refactor(e2e): remove stale upgrade survivor setup
2026-06-23 06:27:49 +08:00
Vincent Koc
6c4028e073
fix(scripts): resolve Windows cmd shim launcher
2026-06-21 11:15:14 +02:00
Vincent Koc
a37dd0210b
fix(e2e): bound upgrade survivor probe retries
2026-06-19 07:52:44 +02:00
Vincent Koc
d9c66b9c6d
fix(e2e): bound upgrade survivor probe body reads
2026-06-19 06:02:31 +02:00
Vincent Koc
cc3d346c15
fix(e2e): validate upgrade survivor budgets
2026-06-18 22:52:19 +02:00
Vincent Koc
7f1fa65399
fix(e2e): reject declared oversized probe bodies
2026-06-18 21:37:07 +02:00
Vincent Koc
2a6c0ab5bf
fix(release): reject loose upgrade recipe baselines
2026-06-16 22:44:22 +02:00
Shakker
a450ff036a
fix: repair origin main CI failures
2026-06-10 23:49:41 +01:00
Vincent Koc
a7b0d325af
fix(sessions): repair shipped stale transcript paths
2026-06-11 07:30:34 +09:00
Vincent Koc
0923ee251e
fix(sessions): rewrite migrated transcript paths
2026-06-11 06:41:37 +09:00
Vincent Koc
2d404f1b86
fix(release): align survivor session migration assertion
2026-06-11 05:57:55 +09:00
Vincent Koc
2f02bbcbb3
fix: harden legacy session SQLite migration
2026-06-09 18:44:42 +09:00
Vincent Koc
8cba5f7efd
fix(e2e): bound upgrade survivor logs
2026-06-07 10:38:29 +02:00
Vincent Koc
8cb018e1f7
fix(e2e): require strict survivor readiness
2026-06-07 08:58:53 +02:00