sync: add AI review pipeline, parallel skill-files fetch, Redis cache improvements

- feat(review): add skill_reviews table, review API endpoints (pending/submit/stats), admin auth
- perf: parallel file fetching in skill-files API (was sequential → timeout)
- fix: handle Date serialization from Redis cache
- fix: align curation batch scripts with current browseReadyFilter

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
airano
2026-02-23 19:51:43 +03:30
parent 328520bb70
commit 447f9eff59
15 changed files with 1050 additions and 74 deletions

View File

@@ -285,7 +285,6 @@ async function main() {
FROM skills
WHERE is_blocked = false
AND is_duplicate = false
AND (skill_type IS NULL OR skill_type IN ('standalone', 'collection'))
AND quality_score IS NULL
AND raw_content IS NOT NULL
`);
@@ -305,7 +304,7 @@ async function main() {
FROM skills
WHERE is_blocked = false
AND is_duplicate = false
AND (skill_type IS NULL OR skill_type IN ('standalone', 'collection'))
AND is_duplicate = false
AND quality_score IS NULL
AND raw_content IS NOT NULL
ORDER BY github_stars DESC NULLS LAST
@@ -334,7 +333,7 @@ async function main() {
FROM skills
WHERE is_blocked = false
AND is_duplicate = false
AND (skill_type IS NULL OR skill_type IN ('standalone', 'collection'))
AND is_duplicate = false
AND quality_score IS NULL
AND raw_content IS NOT NULL
ORDER BY github_stars DESC NULLS LAST

View File

@@ -114,7 +114,6 @@ async function main() {
FROM skills
WHERE is_blocked = false
AND is_duplicate = false
AND (skill_type IS NULL OR skill_type IN ('standalone', 'collection'))
AND security_status IS NULL
AND raw_content IS NOT NULL
`);
@@ -135,7 +134,7 @@ async function main() {
FROM skills
WHERE is_blocked = false
AND is_duplicate = false
AND (skill_type IS NULL OR skill_type IN ('standalone', 'collection'))
AND is_duplicate = false
AND security_status IS NULL
AND raw_content IS NOT NULL
LIMIT 5
@@ -163,7 +162,7 @@ async function main() {
FROM skills
WHERE is_blocked = false
AND is_duplicate = false
AND (skill_type IS NULL OR skill_type IN ('standalone', 'collection'))
AND is_duplicate = false
AND security_status IS NULL
AND raw_content IS NOT NULL
ORDER BY github_stars DESC NULLS LAST