gendesign/scripts
lekss361 297eb29d65 feat(claude): env-vars refactor + stale-claim cron (Phase 2 finalization)
#11: slash-commands и _autonomous_pickup.md теперь читают persistent User-scope
env vars напрямую (FORGEJO_TOKEN_<ROLE>) вместо file-based из ~/.claude/secrets/.

Один раз: scripts/setup-bot-env.ps1 (запускается user'ом локально, кладёт
токены из vault в Windows User registry). После этого окна grab credentials
через [System.Environment]::GetEnvironmentVariable() — никаких файлов.

Все 5 work-as-*.md обновлены (analyst/backend/frontend/reviewer/qa).

#12: stale-claim cleanup — cron каждые 30 минут.

- scripts/cleanup-stale-claims.sh — bash, parses Forgejo API + Python для JSON
- .forgejo/workflows/stale-claims.yml — cron schedule `*/30 * * * *`

Освобождает issues застрявшие в status/wip >4h:
  - assignees=[]
  - +status/ready -status/wip
  - comment "stale claim released, worker likely crashed"

Использует secret FORGEJO_BOT_QA_TOKEN (минимум прав = write:issue).

Setup: secret нужно завести в Forgejo Actions UI после merge —
git.gendsgn.ru/lekss361/gendesign/-/settings/actions/secrets.

Refs: PRs #608, #609. Closes TODO с PR #608 (stale-claim cron).
2026-05-28 00:24:45 +03:00
..
auth fix(auth): scripts/auth/*.sh — правильный SNIPPET path (#589) 2026-05-26 08:39:24 +00:00
claude-hooks chore(claude-config): align with 2026 best practices (#495) 2026-05-24 08:48:42 +00:00
bootstrap_glitchtip.sh fix(infra): bootstrap_glitchtip — \gexec instead of DO block (psql var trap) (#219) 2026-05-16 15:54:29 +00:00
bootstrap_schema_migrations.sh feat(infra): auto-apply data/sql/*.sql migrations in deploy pipeline (#150) (#151) 2026-05-15 08:06:54 +03:00
cleanup-merged-worktrees.sh chore(claude): agents view readiness — cleanup, .worktreeinclude, workflow (#497) 2026-05-24 09:20:26 +00:00
cleanup-stale-claims.sh feat(claude): env-vars refactor + stale-claim cron (Phase 2 finalization) 2026-05-28 00:24:45 +03:00
cleanup-worktrees-aggressive.py chore(claude): aggressive worktree cleanup via Forgejo PR API (#498) 2026-05-24 09:34:48 +00:00
cleanup_ghosts.py fix(worker): port objective_etl from psycopg2 → psycopg v3 2026-05-11 12:07:57 +03:00
migrate_kg_to_obsidian.py fix(worker): port objective_etl from psycopg2 → psycopg v3 2026-05-11 12:07:57 +03:00
setup-bot-env.ps1 feat(claude): env-vars refactor + stale-claim cron (Phase 2 finalization) 2026-05-28 00:24:45 +03:00
setup-couchdb.sh feat(deploy): split obsidian stack from main + path-filtered GHA 2026-05-11 09:51:31 +03:00