Vincent Koc
5504f1e9a1
test(reef): remove false-green live guard smoke ( #116393 )
2026-07-30 20:16:28 +08:00
Peter Steinberger
302f262e6b
refactor: deduplicate extension normalization primitives ( #115650 )
...
* refactor(plugins): reuse SDK normalization primitives
* fix(ci): repair code-mode matrix checks
* fix(ci): satisfy code-mode matrix gates
* fix(ci): use matrix evidence export
* fix(ci): validate matrix evidence artifact
2026-07-29 04:10:06 -04:00
Peter Steinberger
d6971f46ca
fix: make filesystem publication crash-durable ( #113453 )
...
* fix(fs): centralize directory durability
* chore: keep release notes in PR body
* test(sqlite): canonicalize read-only race paths
* test(fs): clean durability fixtures
* chore(lint): prune sqlite snapshot baseline
* fix(backup): reject unsupported commit sync
* fix(fs): enforce strict durability outcomes
* refactor(tls): flatten preserved-output failures
* fix(reef): require durable journal commits
* fix(fs): route durability through policy boundaries
* fix(reef): preserve Windows journal compatibility
* fix(fs): bind publication to canonical directories
* fix(ci): align durability boundary fixtures
2026-07-24 20:58:17 -07:00
Peter Steinberger
0546e15c2e
fix(reef): omit absent receipt categories from audit state ( #110177 )
2026-07-17 22:24:33 +01:00
Peter Steinberger
a2ec3f6904
refactor: separate external conversations from local sessions ( #109411 )
...
* feat: separate external conversations from sessions
* test: cover conversation tool authorization
* chore: refresh session schema baseline
* fix: persist effective conversation delivery text
* fix: bind conversation identity to delivery target
* fix: preserve pending conversation deliveries
* fix: make conversation delivery outcomes synchronous
* refactor: make conversation delivery durable
* fix: harden durable conversation retries
* fix: close durable conversation pre-send gaps
* fix: terminally reject invalid conversation deliveries
* refactor: route external conversations through gateway
* fix: namespace conversation delivery queue intents
* refactor: remove obsolete transcript replacement path
* test: prove conversation delivery v10 migration
* test: keep conversation action mock typed
* fix: clear conversation refactor CI gates
* test: align Reef delivery coverage
* chore: refresh Android conversation strings
* fix: harden external conversation state
* fix: close conversation race edges
* fix: preserve conversation delivery identity
* fix: replay durable conversation operations
* fix: unify agent schema at version 11
* chore: move release note context to PR
* fix: make required queue persistence force core delivery
* chore: refresh plugin SDK baseline
2026-07-17 00:09:51 -07:00
Peter Steinberger
83d82c9302
refactor(channels): persist runtime state in plugin SQLite ( #109380 )
...
* refactor(channels): move reef, msteams, matrix, zalouser file state to SQLite with doctor imports
* fix(channels): harden SQLite state migrations
* test(reef): use SQLite flow stores in receipt suites
* fix(reef): validate restored request policy
* fix(reef): retain replay state through relay window
* docs(reef): describe durable state import
* fix(reef): honor configured legacy state path
* chore: leave changelog to release flow
* fix(reef): use managed temp root in flow tests
* fix(matrix): omit undefined device id from state
2026-07-16 17:05:28 -07:00
xingzhou
2cd236385b
fix(reef): close provider streams after guard errors ( #109196 )
2026-07-16 15:53:23 -07:00
Peter Steinberger
39cddf847e
fix(reef): keep routine agent replies from disappearing ( #109160 )
...
* fix(reef): relax guard and surface rejections
* fix(reef): preserve ordered rejection notices
* fix(reef): bound rejection notice retries
* fix(reef): persist correlated rejection notices
* fix(reef): align receipt entry typing
* test(reef): type owner notice fixtures
* fix(reef): make rejection feedback restart-safe
* fix(reef): retry rejection state reads
* fix(reef): quarantine invalid receipts
* chore(reef): leave changelog to release
* fix(reef): bind receipts to recipient identity
* refactor(reef): keep receipt types private
* test(reef): preserve notice mock call typing
* fix(reef): reconcile keys before resend recovery
* fix(reef): keep rejection recovery durable
* fix(reef): preserve in-flight receipt upgrades
* test(reef): split receipt flow coverage
* fix(reef): cap automatic guard retries
2026-07-16 12:36:22 -07:00
Peter Steinberger
243eecbee1
refactor(reef): use Noble byte utilities
2026-07-14 14:20:59 -07:00
sunlit-deng
7aa1aacb8e
fix(reef): prevent oversized guard responses from consuming memory ( #106439 )
...
* fix(reef): bound guard provider response reads
* test(reef): strengthen guard response bound proof
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-13 18:02:11 -07:00
Peter Steinberger
882b2fe900
feat(channels): bundle Reef guarded claw-to-claw channel ( #106232 )
...
* feat(channels): bundle Reef guarded claw-to-claw channel
Moves the Reef channel extension from openclaw/reef into the bundled extensions tree with the wire protocol vendored under extensions/reef/protocol. Includes channelConfigs manifest metadata, runtime status reporting via setStatus/buildAccountSnapshot, abort-aware inbox shutdown, monotonic device-auth timestamps, and immutable-model guard admission (dated snapshots plus documented gpt-5.6 ids).
* fix(reef): pin zod exactly per dependency pin guard
* style(reef): satisfy extension lint gates
Curly braces in vendored protocol, explicit type re-exports, typed catch callbacks, Object.assign over map-spread, abort-aware loop restructure.
* fix(reef): CI gates — knip workspace, boundary tsconfig, facade imports, cycle break, contract baselines
- knip: reef workspace project includes vendored protocol/ (owns noble deps)
- tsconfig: conform to canonical extension package-boundary include/exclude; add @openclaw/plugin-sdk devDependency
- imports: channel-inbound/channel-outbound facades instead of deprecated subpaths
- protocol: home ReplayStore contract in envelope.ts to break the envelope<->replay type cycle
- baselines: reef in unguarded runtime-api list; regenerate bundled channel config metadata
* feat(reef): plugin catalog cover art, channel label, changelog revert
* fix(reef): drop unused error-class exports, register lint suppression
* fix(reef): knip entry surface for vendored protocol, explicit WebSocketLike export
2026-07-13 05:17:44 -07:00