Commit Graph
2421 Commits
Author SHA1 Message Date
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
Patrick Erichsen aca16d7885 fix: allow transfers to replace owned redirects (#3189) 2026-07-20 16:57:21 -07:00
Patrick Erichsen 3097319ef6 fix: publish complete skill artifacts (#3196)
* fix: preserve complete skill artifacts

* test: align artifact metadata expectations

* fix: harden complete skill artifact handling

* fix: close complete artifact review gaps

* fix: preserve legacy skill file metadata hints

* fix: close artifact presentation review gaps

* fix(cli): preserve legacy skill file collector export

* refactor: centralize artifact upload helpers

* fix: preserve artifact scan and publish bounds

* fix: scan complete published text artifacts

* fix: harden artifact download presentation

* test: avoid secret-like fixture text

* refactor: preview artifacts by content

* chore(deps): patch transitive audit advisories
deploy/prod/20260720-230649Z-3097319 prod/v2026.07.20.2
2026-07-20 15:54:47 -07:00
Patrick Erichsen 39a8db49fd fix(build): use exported Monaco worker path (#3195) 2026-07-20 14:54:04 -07:00
Patrick Erichsen 3ff331925b fix(cli): clarify pending publication results (#3193) 2026-07-20 12:58:04 -07:00
Patrick Erichsen b0984d33c0 feat(observability): log prepublication queue health (#3192) 2026-07-20 12:22:56 -07:00
Yiğit ERDOĞAN 1821e80950 fix: show one year instead of 12 months in relative timestamps (#3174)
Listings updated 360-364 days ago rendered as "12mo ago" because 30-day
months do not tile a 365-day year, leaving a five-day gap that still
divided into twelve whole months.

Derive years from whole months so they roll over at 12, matching
formatRelativeUpdatedAt in routes/user/$handle.tsx, which already caps
months at 11.
2026-07-20 12:03:07 -07:00
Patrick Erichsen a9c8efdd93 fix(security): extend prepublication ClawScan timeout (#3190) 2026-07-20 11:39:57 -07:00