convex-retention
Use when adding or changing ClawHub Convex tables, TTL fields, cleanup crons, retention policy, auth/session cleanup, metric dedupe cleanup, or depr…
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Convex Retention
Overview
ClawHub retention is code-owned. Every current Convex table must be classified in
convex/lib/retentionPolicy.ts, and ephemeral tables need an indexed, bounded cleanup path unless
their lifecycle is handled by usage-time validation or a documented component.
Checklist
- Use
clawhub-convexand readconvex/_generated/ai/guidelines.mdfirst. - Add every new schema table to
RETENTION_POLICIES; theRecord<TableNames, RetentionPolicy>type
is the enforcement gate.
- For ephemeral tables, prefer an explicit expiration field plus index, then prune with
.withIndex()
and .take(...).
- For new generic TTL tables, prefer
expirationTimeto match Convex Auth. Keep existingexpiresAt,
dayStart, and processedAt fields unless that table already needs a real migration.
- Use
RETENTION_STANDARD_BATCH_SIZEfor ordinary retention jobs. Keep incident-tested special cases,
such as skillStatEvents, on their documented caps.
- Cron jobs should schedule bounded cleanup entrypoints only. Large one-off production migrations or
destructive backfills still start with convex-migration-helper.
- Do not bulk-clear active auth state. Expired
authSessionsandauthRefreshTokensare pruned by
convex/retention.ts.
Verification
- Add or update focused tests for policy classification and cleanup behavior.
- Run the focused Vitest slice for touched cleanup modules.
- Run
bunx convex codegenafter schema/API changes. - Run a real Convex runtime check such as
bunx convex dev --once --typecheck=disable.
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。