Commit Graph

15 Commits

Author SHA1 Message Date
Gio Della-Libera
e79faff8aa feat(claws): materialize CLAW.md prompts (#113454)
* fix(claws): align prompt lifecycle validation

* test(claws): cover Unicode frontmatter

* feat(claws): materialize CLAW.md prompts

* fix(claws): preserve portable provenance import
2026-07-27 08:30:50 -07:00
Gio Della-Libera
e9b3252ae8 feat(claws): separate portable and OpenClaw profiles (#112773)
* feat(claws): add portable agent policy settings

* fix(claws): align portable agent policy

* fix(claws): preserve host policy boundaries

* feat(claws): separate portable and OpenClaw profiles

* test(claws): align profile fixtures with portable schema

* fix(claws): align portable profile boundaries
2026-07-24 12:06:02 -07:00
Gio Della-Libera
8bed69a26f fix(claws): normalize cron defaults during removal (#113045)
Fixes Claw cron removal by normalizing scheduler default cron tool authority before comparing Claw-managed cron config. This lets a live Gateway cron job with the persisted default `payload.toolsAllow: ["*"]` match a Claw manifest that omitted the default cap, while preserving explicit tool caps.

Validation:
- `git diff --check origin/main...HEAD`
- `pnpm exec oxlint --deny-warnings src/claws/cron.ts src/claws/lifecycle-state.test.ts`
- `node scripts/run-vitest.mjs src/claws/lifecycle-state.test.ts src/claws/cron.test.ts`
- Hosted exact-head gates passed for `410ac9e74cb3f009713107e65390accb8303ec31`: CI#30024039807, Workflow Sanity#30024039519
- ClawSweeper exact review run 30024149686 completed successfully for this head

Co-authored-by: Gio Della-Libera <235387111+giodl73-repo@users.noreply.github.com>
2026-07-23 09:44:19 -07:00
Gio Della-Libera
9636f2aa2d Add CLAW.md manifest support (#111391)
* Add CLAW.md manifest support

* test(claws): cover CLAW.md manifests

* docs(claws): document CLAW.md packages

* fix(claws): harden claw markdown parsing

* fix(claws): bound claw document reads
2026-07-22 18:37:08 -07:00
Gio Della-Libera
7d159fdc77 Apply consented grouped Claw updates (#102982)
* Apply consented grouped Claw updates

* test(claws): cover update application

* docs(claws): document consented updates

* fix(claws): preserve uncertain update state

* fix(claws): preserve inherited lifecycle guards

* fix(claws): derive update package contracts

* fix(claws): type update package lookup

* test(claws): complete update capability fixtures

* refactor(claws): share cron payload builder for updates

* refactor(claws): extract update plan summary

* fix(claws): activate cron after update dependencies

* fix(claws): preserve state after uncertain cron update

* fix(claws): persist partial update provenance

* fix(claws): preserve update ownership metadata

* test(claws): track update apply temp dirs

* test(claws): align update cron mock result

* fix(claws): update apply writes agent entries

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-07-22 17:42:42 -07:00
Gio Della-Libera
f004d76a0e Plan grouped Claw agent updates (#102959)
* Plan grouped Claw agent updates

* test(claws): cover update planning

* docs(claws): document update preview

* fix(claws): bind update capability effects

* fix(claws): redact update capability effects

* fix(claws): bind capability previews to exact changes

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-07-22 13:44:09 -07:00
Gio Della-Libera
31ff00fe82 Add experimental Claw lifecycle diagnostics (#102427)
* Add experimental Claw lifecycle diagnostics

* test(claws): cover lifecycle diagnostics

* docs(claws): document doctor diagnostics

* test(claws): derive future state schema version

* test(claws): clean doctor restack fixture

* test(claws): align doctor drift fixture with agent entries

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-07-22 11:55:47 -07:00
Gio Della-Libera
b56006babf Manage Claw MCP server ownership (#102406)
* Manage Claw MCP server ownership

* test(claws): cover MCP resource lifecycle

* docs(claws): document MCP resources

* fix(claws): preserve lifecycle status contracts

* fix(claws): reconcile missing MCP removals

* fix(claws): recheck restored MCP before releasing provenance

* fix(claws): protect restored MCP identity

* refactor(claws): isolate MCP removal lifecycle

* fix(claws): export lifecycle status record

* style(claws): remove obsolete lifecycle lint exemption

* fix(claws): read MCP status from agent entries

* test(claws): clean MCP restack fixtures

* fix(claws): repair MCP state schema restack

* test(claws): remove stale MCP status import

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-07-22 08:37:44 -07:00
Gio Della-Libera
96e3051838 Manage Claw cron jobs through the gateway (#102383)
* Manage Claw cron jobs through the gateway

* test(claws): cover scheduled work lifecycle

* docs(claws): document scheduled work

* fix(claws): preserve modified cron jobs

* fix(claws): internalize cron gateway payloads

* fix(claws): make cron removal convergent

* style(claws): satisfy intermediate lifecycle lint

* refactor(claws): extract lifecycle state contracts

* test(claws): clean cron restack fixtures

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-07-22 08:04:54 -07:00
Gio Della-Libera
6134fdfdcd Export installed agents as grouped Claw packages (#102306)
* Export installed agents as grouped Claw packages

* test(claws): cover exact agent export

* docs(claws): document agent export

* fix(claws): use current bounded file reader

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-07-22 06:40:29 -07:00
Gio Della-Libera
137dabc929 Add plan-first Claw status and remove (#102296)
* Add plan-first Claw status and remove

* test(claws): cover status and removal

* docs(claws): document status and removal

* fix(claws): report incomplete root state

* test(claws): complete adoption plan fixtures

* fix(claws): revalidate package removal ownership

* style(plugins): format lifecycle uninstall

* fix(claws): align agent removal preconditions

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-07-21 19:53:08 -07:00
Gio Della-Libera
ba467fbd3e Install ClawHub packages for new Claw agents (#102228)
* Install ClawHub packages for new Claw agents

* test(claws): cover skill and plugin installation

* docs(claws): document package artifacts

* fix(claws): bind package trust preflight

* fix(claws): bind package capability consent

* fix(claws): satisfy package type guards

* test(claws): update package installer fixtures

* test(claws): complete package plan fixtures

* test(claws): model complete ClawHub results

* fix(claws): serialize plugin ownership changes

* fix(claws): cover legacy plugin lifecycle updates

* fix(claws): preserve legacy ClawHub update selectors

* test(claws): type lifecycle lease mock

* refactor(claws): isolate plugin update lifecycle

* fix(claws): declare managed installer coordination

* test(claws): preserve partial collision result

* test(claws): clean installer temp dirs

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-07-21 18:55:10 -07:00
Gio Della-Libera
ebe2420482 Create Claw-managed workspace files (#101973)
* Create Claw-managed workspace files

* test(claws): cover managed workspace files

* docs(claws): document workspace files

* docs(claws): correct workspace manifest example

* fix(claws): preserve failed workspace ownership boundaries

* test(claws): align symlink escape diagnostic

* test(claws): canonicalize workspace alias fixture

* test(claws): clean workspace temp dirs

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-07-21 17:36:33 -07:00
Gio Della-Libera
88a7306308 Create Claw agent and root install record (#101755)
* Create Claw agent and root install record

* test(claws): cover consented agent creation

* docs(claws): document consented agent creation

* fix(claws): normalize agent collisions at commit

* test(claws): expect partial normalized collision

* test(claws): isolate normalized collision state

* test(claws): reject normalized agent collisions

* test(claws): align capability output expectation

* fix(claws): align add plan call with current schema

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-07-21 17:24:24 -07:00
Gio Della-Libera
138d2a5627 Add grouped Claw schema and read-only add plan (#101328)
* Add grouped Claw schema and read-only add plan

* test(claws): cover grouped schema and preview

* docs(claws): document experimental preview

* fix(claws): harden preview consent

* fix(claws): satisfy tool filter lint

* fix(claws): bind plans to validated sources
2026-07-21 14:50:36 -07:00