用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/lukemcqueen/hermes-cortex --skill migration-deploy-verification命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Cross-server agent health monitoring using binary status vectors — deploy health endpoints on each agent, poll from orchestrator, alert on state transitions.
Wire a self-hosted Langfuse instance to Hermes Agent — generate API keys, configure env vars, enable the bundled plugin, install SDK, and verify traces flow.
Use before enforcement code changes or shared-repo commits.
基于 SOC 职业分类
正在显示 SKILL.md
| name | migration-deploy-verification |
| description | Use when a repo migration is missing from the live DB. |
| version | 1.0.0 |
| category | devops |
| platforms | ["linux","macos"] |
Versioned SQL migrations in this fleet deploy through a chain of FIVE independent links. Any one link missing silently breaks the whole chain — the repo can carry the fix while every host keeps the old broken function.
ops/services/<svc>/schema/vNNN__*.sql (1) repo file committed
→ register() line in cortex-update.sh (2) deploy map
→ ${CORTEX_DEPLOY_HOME}/services/<svc>/schema/vNNN__*.sql (3) deployed dir
→ migrate.py (globs the DEPLOYED dir) (4) migration runner
→ <svc>.schema_version row (5) live DB applied
ops/services/<svc>/migrate.py discovers migrations with
schema_dir.glob("*.sql") where schema_dir is its sibling deployed
directory (~/.hermes-cortex/services/<svc>/schema/). A migration committed
to the repo but missing its register() line never reaches the deployed dir,
so the version-gated runner NEVER applies it — even though the file "exists"
in the repo and tests pass against the repo path.
# 1. Repo has the migration?
ls ops/services/<svc>/schema/vNNN__*.sql
# 2. Deploy map has it? (MISSING = the bug)
grep -n 'register.*vNNN' ops/scripts/cortex-update.sh
# 3. Deployed dir has it?
ls ~/.hermes-cortex/services/<svc>/schema/
# 4. Runner sees it — run from the DEPLOYED path, not the repo:
python3 ~/.hermes-cortex/services/<svc>/migrate.py # expect "up to date (version N)" or applies
# 5. Live DB applied it?
docker exec -i mycortex-postgres psql -U mycortex -d mycortex -t -A \
-c "SELECT version, applied_at, applied_by FROM <svc>.schema_version ORDER BY version;"
schema_version.applied_by=mycortex + applied_at EARLIER than the commit
timestamp = someone applied the SQL to the DB by hand (or pointed migrate.py
at the repo dir). The local host LOOKS fixed ("schema_version is at N!"), but
every other host is still broken — the deploy map was never updated. A
"root cause confirmed" report can be partially stale: verify the live DB
before trusting the narrative, then fix the durable gap (link 2).
Real case 2026-08-07: tasks v003 (cancelled→column NULL) and v004 (ON
CONFLICT column preservation) sat in the repo with their L1 test while
cortex-update.sh shipped only v001+v002. Local DB was hand-migrated 9
minutes before the commit; fleet hosts stayed at version 2 with the broken
WHEN 'cancelled' THEN 'done' derivation (any cancel → tasks_check
violation). The deploy-map gap was the real remaining bug.
ops/scripts/cortex-update.sh:
register "ops/services/<svc>/schema/vNNN__foo.sql" "${CORTEX_DEPLOY_HOME}/services/<svc>/schema/vNNN__foo.sql"
bash ~/hermes-cortex/ops/scripts/cortex-update.shtasks schema up to date (version N) — no-opbash tests/test-tasks-schema.sh
style): fresh DB v001→vNNN, assert schema_version == count of repo v*.sql files, assert the fixed behaviour (e.g. cancelled→column NULL).Use this skill when:
references/tasks-v003-v004-deploy-gap-2026-08-07.md — full session trace: masking, diagnosis, fix, verification evidence