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
Peter Steinberger
154d1277e1
fix(qa): repair package Telegram harness boundaries ( #108499 )
...
* fix(qa): keep packaged entry off private transport
* fix(qa): lazy-load private transport runtime
* fix(qa): pass relative package artifact path
* fix(qa): isolate packaged bus protocol
* fix(qa): mount package scenario catalog
2026-07-15 19:24:55 -07:00
Peter Steinberger
3ee408b7b5
fix(qa): isolate Crabline from package live lanes ( #108472 )
...
* fix(qa): isolate Crabline from package live lanes
* fix(qa): narrow optional smoke runtime
* ci(release): avoid unrelated Crabline install
2026-07-15 15:09:07 -07:00
Peter Steinberger
f2fa99a414
fix(ci): install Crabline for package Telegram harness ( #108468 )
2026-07-15 14:41:04 -07:00
Dallin Romney
77d07dc3e9
refactor(qa): migrate Telegram scenarios into QA Lab ( #108430 )
...
* refactor(qa): migrate Telegram scenarios into QA Lab
* refactor(qa): remove retired Telegram runner exports
2026-07-15 12:55:00 -07:00
Peter Steinberger
a99b5a686b
fix(ci): authenticate live Codex Docker release probe ( #108400 )
...
* test(codex): route live Docker probe through OpenAI auth
* test(docker): assert bounded Codex error handling
2026-07-15 10:32:15 -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
jincheng-xydt
b2e42e3645
fix(update): preserve pnpm and Bun global installs ( #107802 )
...
* fix(update): preserve pnpm and bun global installs
* fix(update): anchor pnpm updates to invoking install
* fix(update): recover skipped pnpm lifecycle
* fix(update): fail closed on ambiguous pnpm ownership
* fix(update): tolerate pnpm probe warnings
* fix(update): bind pnpm installs to project owners
* fix(update): isolate pnpm mutations from caller pins
* docs(changelog): credit pnpm 11 report
Co-authored-by: jincheng-xydt <xu.jincheng@xydigit.com >
* chore(changelog): defer release note ownership
* fix(update): make package-root fallback explicit
* test(update): split pnpm scenario coverage
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-15 08:03:35 -07:00
Peter Steinberger
3d76a4af92
refactor(deadcode): privatize runtime test seams ( #108338 )
...
* refactor(sessions): privatize runtime test seams
* refactor(commitments): privatize extraction test seams
* refactor(flows): privatize doctor health seams
* refactor(tasks): privatize registry test seams
* build(commitments): bundle Docker test support
* chore(deadcode): shrink runtime export baseline
2026-07-15 07:27:10 -07:00
morluto
1a34950d9c
fix(commitments): keep heartbeats responsive with large queues ( #105780 )
...
* fix(commitments): migrate store to sqlite
Replace steady-state JSON persistence with typed shared-state rows and a doctor-only verified import for shipped legacy data.
Co-authored-by: morluto <76467478+morluto@users.noreply.github.com >
* fix(commitments): satisfy migration gates
* fix(commitments): type sqlite counts defensively
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-15 03:58:03 -07:00
Peter Steinberger
75db23f3fc
fix: prevent stale rescue approvals from executing ( #108147 )
...
* fix(system-agent): persist rescue approvals in sqlite
Co-authored-by: Yung-Chen Tang <46495124+yungchentang@users.noreply.github.com >
* fix(system-agent): narrow rescue expiry clock
* test(system-agent): isolate rescue docker inference
* test(system-agent): align rescue docker doctor contract
* test(system-agent): accept canonical model shape
* fix(system-agent): refuse remote doctor repairs
* fix(infra): break rescue migration import cycle
* test(system-agent): lock rescue publish ordering
* test(system-agent): align rescue harness assertions
---------
Co-authored-by: Yung-Chen Tang <46495124+yungchentang@users.noreply.github.com >
2026-07-15 01:53:00 -07:00
Dallin Romney
e9c8cad99e
fix(ci): support frozen Codex binding sidecars ( #108158 )
2026-07-15 01:38:30 -07:00
Dallin Romney
c421a3b2e6
feat: add reusable Parallels Windows test setup ( #107881 )
...
* test: route Parallels Windows setup
* test: own Parallels Windows baseline setup
* docs: point Windows proof to Parallels sidecar
2026-07-14 23:15:57 -07:00
Peter Steinberger
c8733ea674
fix(release): run candidate smoke from trusted tooling
2026-07-15 06:56:04 +01:00
Peter Steinberger
9275f476f4
fix(release): retry flaky fresh Parallels lanes
2026-07-15 06:24:32 +01: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
Peter Steinberger
a6a0716486
feat(setup): rename Crestodian to OpenClaw system agent
...
User-facing name is now OpenClaw (the system speaks); internal code name is
system-agent. Gateway methods crestodian.* -> openclaw.chat/openclaw.setup.*,
agent tool -> openclaw, reserved agent ids openclaw + retired crestodian.
openclaw setup routes: onboarding flags -> onboard, -m/--yes -> system agent,
bare configured interactive -> OpenClaw chat, unconfigured -> onboarding.
Hidden crestodian CLI and /crestodian TUI aliases kept; docs moved to
docs/cli/openclaw.md with redirect stub. macOS/Android strings in lockstep.
Refs #107237
2026-07-14 11:03:02 -07:00
Jesse Merhi
00364ee777
improve: warn before non-ClawHub plugin installs ( #102197 )
...
Merged via squash.
Prepared head SHA: e08d9e737d
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com >
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com >
Reviewed-by: @jesse-merhi
2026-07-15 03:25:36 +10:00
Peter Steinberger
1551fc9e43
test(e2e): isolate Pond baseline MCP tool ( #107128 )
2026-07-13 21:45:36 -07:00
Peter Steinberger
92962af779
refactor: prune unsupported OPENCLAW env overrides ( #105970 )
...
* refactor: prune unsupported env overrides
* refactor: prune unsupported env overrides
* chore: keep dead export baseline current
* fix: preserve packaged telemetry override
2026-07-13 00:36:02 -07:00
Peter Steinberger
adf6b08ab4
refactor: consolidate duration parsing and formatting ( #105988 )
...
* refactor: consolidate duration handling
* docs: leave release notes to release workflow
* fix: preserve build timing precision
* ci: align plugin sdk surface budgets
2026-07-12 23:38:22 -07:00
Vincent Koc
7c62ae1000
refactor(parallels): remove unused macOS exec helpers ( #105538 )
2026-07-12 19:02:54 +02:00
Vincent Koc
ef29fe1270
refactor(scripts): remove telegram runner testing alias ( #105502 )
2026-07-12 17:50:24 +02:00
Vincent Koc
796fc409f6
fix(e2e): echo dynamic mobile markers
2026-07-12 15:22:19 +02:00
Peter Steinberger
6ec82a907a
fix(ci): support frozen session-store proof ( #105337 )
...
* fix(ci): support frozen session-store proof
Keep current targets SQLite-strict while validating pre-cutover release targets through their persisted JSON session contract.
* style(test): format frozen session fixture
2026-07-12 12:46:01 +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
e580275464
feat(tooling): enforce noUncheckedIndexedAccess in the scripts lane (NUIA phase 5) ( #105180 )
...
* feat(tooling): enforce noUncheckedIndexedAccess in the scripts lane
Burns down all 153 scripts-lane errors (bench aggregation, release
checks, i18n inventories, argv indexing) and flips the flag in
tsconfig.scripts.json. Direct-Node-executed release harness scripts use
local narrowing instead of workspace imports, which do not resolve
under plain node execution. Benchmark measured loops untouched.
* fix(scripts): import expect helpers via relative package sources
tsconfig path aliases resolve from cwd under tsx, so release wrapper
scripts running against old release target cwds could not resolve
@openclaw/normalization-core (not a linked root dependency). Relative
package-source imports match the established pattern on the adjacent
lines and are cwd-independent; old-target planning verified directly.
2026-07-12 10:17:00 +01:00
Vincent Koc
648d742ee7
fix(ci): validate sqlite Codex transcripts
2026-07-12 16:15:44 +08: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
a2c2c5576e
fix(qa): restore OpenAI web search smoke
2026-07-12 07:17:48 +02:00
Vincent Koc
5019d378af
fix(e2e): install lifecycle signal handlers before sampling
2026-07-12 04:28:22 +02:00
Peter Steinberger
0ae352a648
fix(test): reclassify sqlite flip proof harness ( #104784 )
2026-07-11 16:38:37 -07:00