Commit Graph
2428 Commits
Author SHA1 Message Date
Patrick Erichsen a9a80bbf6d feat(cli): support skills.sh install references (#3226)
* feat(cli): support skills.sh install references

* fix(cli): preserve repo sync alias installs

* fix(cli): verify skills.sh artifact identity on update

* fix(cli): bind scanned verification to canonical alias
2026-07-25 08:59:25 -05:00
Patrick Erichsen cb9c6d8381 feat: add external skills.sh detail and install flow (#3231)
* feat: integrate external skills.sh listings

* test: record permanent Test external flow

* fix: distinguish GitHub alias source fingerprints

* fix: match controlled skills.sh source URL

* test: disambiguate external detail heading

* fix: use folder hash for controlled skills.sh fixture

* test: prepare controlled external fixture for proof

* fix: preserve OpenClaw external trust state
2026-07-25 05:17:04 -05:00
Patrick Erichsen 65ea02f4ca feat: add canonical mixed skill search (#3264)
* feat: add canonical mixed skill search

* test: add permanent Test search proof
2026-07-25 02:06:41 -05:00
Patrick Erichsen 5fbd52e137 feat: add skills.sh trending rank overlay (#3256)
* feat: add skills.sh trending rank overlay

* test: prove trending overlay in permanent Test

* fix: preflight trending hydration bound

* fix: exclude known quarantines from trending hydration

* fix: preserve authoritative trending quarantine state

* fix: read legacy leaderboard captures for trending

* fix: bound trending drift to one mirror batch

* fix: preserve trending hydration overflow

* fix: keep trending replays hydration-free
2026-07-25 01:23:58 -05:00
Patrick Erichsen 906428a557 test: isolate GitHub Skill Sync proof jobs (#3257) 2026-07-24 21:36:16 -05:00
Gio Della-LiberaandPatrick Erichsen 5a3b050751 Add gated Claw hosted feed and lifecycle proof (#3092)
* feat(claws): publish hosted feed with OpenClaw proof

* test(claws): prove package-local profile feed flow

* fix(claws): encode scoped package artifact routes

* fix(claws): enforce feed rollback and binding

* test(claws): pin hosted OpenClaw contract proof

* test(claws): add Convex feed runtime smoke

* chore(schema): refresh experimental feed declarations

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-07-24 19:29:12 -05:00
Gio Della-LiberaandPatrick Erichsen 6efbcb768f Add gated Claw discovery and API projection (#3091)
* feat(claws): add gated discovery APIs

* test(claws): distinguish latest and exact summaries

* fix(claws): bound public release projection

* chore(claws): refresh schema declarations

* fix(claws): select release projection by family

* fix(claws): hide unpublished release summaries

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-07-24 19:10:55 -05:00
Patrick Erichsen fd610627e0 feat: ingest and render skill presentation metadata (#3261)
* feat: ingest skill presentation metadata

* feat: render skill icons and clean titles

* feat: add skill presentation backfill

* fix: preserve hosted icons during backfill

* docs: clarify backfill icon ownership

* fix: track skill presentation provenance
deploy/prod/20260724-233949Z-fd61062 prod/v2026.07.24.2
2026-07-24 18:36:28 -05:00
Patrick Erichsen bb6ed6eae6 fix: match homepage hero accent (#3260) 2026-07-24 18:25:47 -05:00
Gio Della-Libera 85a3fde608 feat(claws): add gated publication and profile validation (#3090)
Gate Claw publication before storage access or mutation, validate bounded exact package/profile bytes and archive hierarchy, implement the managed CLAW.md body envelope, and prevent disabled-family list/search starvation.

Validated at exact head a9f1bb419f with all repository CI, CodeQL, secret scanning, focused tests, real local Convex schema/function validation, and clean final autoreview.

Co-authored-by: Gio Della-Libera <giodl73@gmail.com>
2026-07-24 18:14:12 -05:00
Gio Della-LiberaandPatrick Erichsen cfcb6bf0a6 Add experimental portable Claw package schema (#3089)
* feat(claws): add experimental package schema

* fix(claws): use canonical memory search config

* feat(claws): separate portable and harness profiles

* fix(claws): require portable profile pointers

* fix(schema): align portable claw validation

* fix(schema): reject ambiguous runner options

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-07-24 16:58:37 -05:00
Patrick Erichsen 62a697ef1e feat: add permanent Test ranking metrics import (#3259)
* feat: add Test ranking metrics import

* fix: harden ranking metric table replacement

* fix: reserve Test for ranking imports

* fix: bind ranking rollback to imported state

* fix: persist rollback guard before import

* fix: quiesce ranking metric writes during imports

* fix: bind ranking imports to target identities

* fix: lock ranking target identities during imports
2026-07-24 16:00:27 -05:00
Patrick Erichsen 258c82d4a9 fix(deps): upgrade postcss past path traversal advisory (#3258) 2026-07-24 15:48:16 -05:00
Patrick Erichsen 17f8118d7c fix: restore rollout automation checks (#3253) 2026-07-24 15:39:16 -05:00
Patrick Erichsen ead9d9409c chore(deps): migrate to Carapace v0.2.0 deploy/prod/20260724-203241Z-ead9d94 prod/v2026.07.24.1 2026-07-24 15:27:21 -05:00
Patrick Erichsen 0f84533e9c feat: add permanent skills.sh mirror storage (#3227)
* feat: add staged skills.sh mirror storage

* ci: allow guarded CLAW-563 Test deploy

* ci: expose guarded Test deploy diagnostics

* ci: defer branch guard to deploy step

* ci: deploy CLAW-563 PR head to Test

* ci: admit CLAW-563 PR Test job

* fix: make mirror source recovery durable

* ci: trigger labeled mirror load

* feat: activate mirror search queries

* fix: tighten mirror source typing

* fix: bypass protected Test mirror proof

* feat: attribute skill metrics by source

* feat: present stars as bookmarks

* style: format mirror proof changes

* fix: bypass protected mirror readback

* fix: resume mirror past missing scanner pages

* fix: fetch skills.sh mirror audits from api

* fix: validate structural skills.sh identities

* fix: resolve ambiguous skills.sh mirror identities

* feat: stabilize skills.sh mirror ingestion

* fix: account mirror identity conflicts in proof

* fix: quarantine invalid skills.sh detail ids

* fix: resume skills.sh mirror proof

* fix: preserve skills.sh mirror provenance

* fix: recover exact skills.sh mirror runs

* fix: recover stale skills.sh mirror runs

* fix: normalize skills.sh mirror topic facets

* feat: prove complete skills.sh leaderboard mirror

* fix: canonicalize skills.sh source page hashes

* test: enable skills.sh rollout in mirror tests

* ci: skip unrelated Test deploy pull requests

* fix: preserve Vercel preview marker in Test deploy

* fix: tighten Test deploy and metric reconciliation

* fix: bound mirror detail proof pages

* fix: delegate controlled mirror rate limits

* fix: preserve mirror reconciliation progress

* fix: release mirror retry responses

* fix: preserve stale mirror replay state

* fix: authenticate mirror source starts

* fix: delegate mirror identity rate limits

* ci: trigger mirror proof when labeled

* ci: couple mirror deploy and proof opt-in

* fix: admit permanent Vercel Test runtime

* fix: pass Test target to Vercel runtime

* test: align bookmark sync browser labels

* fix: preserve skills.sh source accounting

* fix: preflight active mirror runs

* fix: bind mirror snapshot accounting

* fix: reject truncated replay hashes

* fix: preserve live mirror overlay metadata
2026-07-24 14:32:00 -05:00
Patrick Erichsen 306035cad7 feat: generalize GitHub Skill Sync engine (#3249) 2026-07-23 15:50:49 -07:00
Patrick Erichsen 588be4e858 fix: repair both sides of skill lineage cycles (#3248) 2026-07-23 15:01:02 -07:00
Patrick Erichsen edd4e01a07 feat: replace creators directory with official orgs (#3247) 2026-07-23 14:07:20 -07:00
Patrick Erichsen a402451282 fix: prevent and repair skill lineage cycles (#3246)
* fix: prevent self-referential skill merges

* fix: add guarded skill lineage repair
2026-07-23 13:39:39 -07:00
Patrick Erichsen 9339df42f0 fix(ui): default homepage catalog to list view (#3245) 2026-07-23 13:16:35 -07:00
Patrick Erichsen 9c63ed9b6b fix(ui): show stats on trending cards (#3243) 2026-07-23 12:38:09 -07:00
Patrick Erichsen fec0f5bd23 feat: count successful OpenClaw plugin installs (#3242) 2026-07-23 12:12:58 -07:00
Patrick Erichsen c8066fe89c chore: update social preview headline 2026-07-23 11:16:20 -07:00
Patrick Erichsen eb3050fdcc fix(ui): restore official terminology deploy/prod/20260723-181221Z-eb3050f prod/v2026.07.23.1 2026-07-23 10:59:05 -07:00
Patrick Erichsen 594a7be992 fix: update auth core security patch (#3238) 2026-07-23 08:55:08 -07:00
Patrick Erichsen fe8eff20ee feat: keep external skill rollouts production-dark (#3236)
* feat: add fail-closed skill rollout gates

* fix: preserve scan queue pagination semantics
2026-07-23 08:36:41 -07:00
Patrick Erichsen 688329b343 fix(deps): update Next.js security override (#3234) 2026-07-23 00:04:53 -07:00
Patrick Erichsen 7aff40d26a feat: support npx skills discovery (#3233) 2026-07-22 22:37:34 -07:00
Patrick Erichsen 97bc586209 fix: terminalize orphaned publish attempts (#3224) 2026-07-22 12:34:05 -07:00
Patrick Erichsen 904038cbb4 fix(security): prevent ClawScan timeout worker leaks (#3223) 2026-07-22 12:33:49 -07:00
Patrick Erichsen 89f5e62ef7 feat: add controlled skills.sh scanned installs (#3221)
* feat: add controlled skills.sh scanned installs

* fix: resolve exact skills.sh install references

* fix: verify exact skills.sh catalog references
2026-07-22 02:00:19 -07:00
Patrick Erichsen ee9fac51cd feat: add controlled skills.sh metadata canary (#3217) 2026-07-21 23:21:19 -07:00
Patrick Erichsen a9775fc39b ci: restore static and unit baseline gates (#3219)
* test: use valid artifact fixture hashes

* chore(deps): override newly vulnerable transitive packages
2026-07-21 22:19:53 -07:00
Patrick Erichsen eb47a7c177 fix: remove skill slug alias quotas (#3218) deploy/prod/20260722-050654Z-eb47a7c prod/v2026.07.22.2 2026-07-21 21:49:59 -07:00
Jesse Merhi 987ad8bdec feat: add 30-day activity trends to abuse signal drawer (#3216)
Adds 30-day download and install trend charts to the abuse signal drawer, places them near the top for immediate context, and improves development fixtures for realistic manual validation.
2026-07-22 14:49:52 +10:00
Patrick Erichsen b34a0d69ff feat: add dark skills.sh catalog control plane (#3211)
Ships the fail-closed skills.sh catalog control plane validated by the bounded 500-row permanent Test gate. No production ingestion, schedule, visibility, or bulk scanning is enabled.
2026-07-21 20:50:07 -07:00
Jesse Merhi 7ef2b15cfb Dedupe abuse signal alerts and add bulk review (#3214)
* fix: dedupe abuse alerts and add bulk review

* fix: use white bulk selection checks
deploy/prod/20260722-033423Z-7ef2b15 prod/v2026.07.22.1
2026-07-22 13:25:54 +10:00
Patrick Erichsen f9713e81cd fix(security): handle artifact directory markers (#3206) 2026-07-21 17:55:22 -07:00
Jesse Merhi a09d42484a fix: require six times P99 for sustained signals (#3204) 2026-07-22 00:14:12 +10:00
Jesse Merhi 723f1551e9 fix: make abuse signal snoozes evidence-aware (#3203) deploy/prod/20260721-054036Z-723f155 prod/v2026.07.21.3 2026-07-21 15:24:57 +10:00
Patrick Erichsen 8d8e99a65f feat: make owner version deletion reversible (#3199) 2026-07-20 21:18:35 -07:00
Jesse Merhi 8a8e692730 fix: alert when signal scans stop retrying (#3202) deploy/prod/20260721-041248Z-8a8e692 prod/v2026.07.21.2 2026-07-21 13:58:09 +10:00
Patrick Erichsen f754faa390 chore(autoreview): sync TruffleHog scanning (#3201) 2026-07-20 20:42:00 -07:00
Peter Steinberger 81f2dfc856 fix: preserve graphemes in webhook titles 2026-07-20 19:58:37 -07:00
Peter Steinberger 15702c1c01 docs: note Discord webhook title limit 2026-07-20 19:58:37 -07:00
Patrick Erichsen 492708207a fix: bound Discord webhook titles 2026-07-20 19:58:37 -07:00
Jesse Merhi a68f707f0b fix(moderation): cap signal scan retries (#3197)
* fix(moderation): replace stale signal scans

* fix(moderation): bound stale scan recovery

* fix(moderation): cap signal scan retries

* fix(management): show terminal signal scan failures

* docs: add signal failure UI proof

* fix(moderation): preserve signal retry status
deploy/prod/20260721-023642Z-a68f707 prod/v2026.07.21.1
2026-07-21 12:23:56 +10:00
34ad6ab0ac fix: owner-qualified skill reports for ambiguous slugs (#3172)
* fix: allow owner-qualified skill reports for ambiguous slugs

Report API/CLI previously resolved bare slugs only, so collisions
collapsed into "Skill not found" and blocked listing reports.
Accept ownerHandle/owner query/body and optional skillId, and surface
the standard ambiguous-slug guidance.

Fixes #3111

* fix: keep skill report target owner-scoped

---------

Co-authored-by: norbert-bounty-scout <bountybot@hermes.nousresearch.com>
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-07-20 17:07:45 -07:00
Patrick Erichsen 1a964d7441 ci: retry transient GitHub package fixture failures (#3194)
* fix(ci): retry transient GitHub fixture failures

* test(ci): use first-party GitHub package fixture
2026-07-20 16:59:07 -07:00