Skip to content

NickStr11/cortex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

177 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cortex

Personal AI lab на Claude Code. Монорепо где платформа (.claude/) отделена от продуктов (tools/ — 10 штук).

⚠️ Это личный монорепо, не продукт и не темплейт. Читать для идей, копировать на свой риск. Многие пути hardcoded под Windows / D:\code\2026\2\cortex / ~/.claude/projects/D--code-2026-2-cortex/.


Что внутри

.claude/          → платформа (commands, skills, hooks, agents, templates)
tools/            → 10 самодостаточных продуктов (steam-sniper, max-transcribe, tg-monitor, ...)
scripts/          → утилиты (session-search.py, scan-skills.py, archive_old_context.py, ops.sh)
memory/           → subagents-playbook
docs/             → устойчивые правила (git-flow, python-rules, verify)
runtime/          → gitignored, сырые данные
archive/          → старые контексты

Четыре слоя контекста

Файл Где В git? Автозагрузка Срок жизни
CLAUDE.md репо месяцы (правила проекта)
MEMORY.md ~/.claude/projects/.../memory/ ❌ per-user недели (индекс на feedback-файлы)
CURRENT_CONTEXT.md ~/.claude/projects/.../ ❌ per-user ✅ (лимит ~5 строк в Фокусе) дни (активные треки)
CURRENT_CONTEXT_archive.md ~/.claude/projects/.../ ❌ per-user ❌ ручной просмотр месяцы (закрытое >7 дней)

Diary тоже в per-user folder — общая для всех worktree (5 параллельных копий ветки), без merge-конфликтов.

Архив автоматический. /handoff запускает scripts/archive_old_context.py который парсит > Закрыто YYYY-MM-DD блоки и переносит всё старше 7 дней из CURRENT_CONTEXT.md в CURRENT_CONTEXT_archive.md. Без этого CURRENT_CONTEXT раздувается до 50+ КБ за 1-2 месяца и убивает старт сессии.

Что читать первым

Стек

  • Python 3.12+, uv, pyright (strict), ruff, beartype
  • Claude Code CLI (primary), Codex CLI MCP (second opinion), Gemini (digests)
  • SQLite, GCP VM, VPS Timeweb

Инструменты (tools/)

Tool Что делает
steam-sniper Трекер цен на CS-скины с lis-skins.com, Telegram-алерты
max-transcribe Транскрипция голосовых из Max через Playwright + whisper
tg-transcribe Локальная транскрипция голосовых из Telegram (whisper.cpp + Vulkan, ~1-2с/voice)
tg-monitor Daily-дайджесты из Telegram через Gemini / NotebookLM
tg-bridge Bridge между Telegram-чатами
tg-pharma Аптечный bot (фарм-ассистент)
banana Image generation через Vertex AI (Nano Banana 2 Flash/Pro), $1.5к GCP кредитов
dreaming Еженедельный мета-анализ паттернов субагентов через Gemini 3.1 Pro, dry-run only
metrics Трекинг эффективности AI-агентов (Jules vs Codex)
kwork-monitor Мониторинг фриланс-площадки

Как это эволюционирует

Сессия → /handoff (или PreCompact при автосжатии)
       ↓
       /diary в per-user folder (structured, ~5 строк фокуса)
       ↓
       Автоархив >7д в CURRENT_CONTEXT_archive.md
       ↓
       Накопление 7+ записей diary
       ↓
       /reflect → ищет паттерны (нарушения / повторы / анти-паттерны)
       ↓
       Обновляет CLAUDE.md и MEMORY.md
       ↓
       Правило в каждом новом чате грузится в system prompt

Честно про «автономию»: это не автономия — это context tax (CLAUDE.md + MEMORY.md + CURRENT_CONTEXT.md) в каждый промпт. Юзер не должен помнить правила, но Claude читает их каждый раз. Цена за единообразие поведения. Архивация CURRENT_CONTEXT >7д держит этот tax под контролем — без неё файл растёт до 50+ КБ за пару месяцев и удваивает старт сессии.

Subagent stack

Агент Модель Назначение
architect Opus архитектура, варианты с трейдоффами
researcher Sonnet ресёрч 3+ шагов, confidence-маркеры
code-reviewer Sonnet ревью после крупного куска
max-transcriber Sonnet голосовые из Max

Плюс Codex CLI subagents (.codex/agents/) для тяжёлых проходов — security review, browser debugging, repo mapping. Полный список и model routing — в memory/subagents-playbook.md.

Hub-and-spoke: координатор не доверяет выводам субагентов слепо, верифицирует через прямой grep/read.

2026-04-29: security-auditor (закрыто Codex security_reviewer) и tg-digest-reader (закрыто инлайновым journalctl) удалены.

Quality gates

  • pre-commit git hook: 145 тестов за ~5с, secrets scan, ruff lint
  • Hooks lifecycle:
    • PreToolUse (secrets, gates перед Edit/Write/Bash)
    • PostToolUse (filesize check после Edit/Write)
    • PreCompact (structured diary при автосжатии — парсит transcript.jsonl, извлекает intent / files / commands / subagents / последний user-message без LLM)
    • SubagentStop (auto-log Task subagent выводов)
  • Domain-specific verification через tools/<x>/verify.sh — реальные HTTP/SSH/cron проверки для каждого продукта. Запуск: bash scripts/ops.sh verify-tools или индивидуально bash tools/steam-sniper/verify.sh --quick. Generic тесты ловят синтаксис, verify.sh — production state.

Setup на новом компе

npm install -g @anthropic-ai/claude-code
git clone https://github.com/NickStr11/dotfiles-claude ~/.dotfiles-claude
bash ~/.dotfiles-claude/setup.sh
git clone https://github.com/NickStr11/cortex && cd cortex
claude

Per-user данные (MEMORY.md, CURRENT_CONTEXT.md, diary) не клонируются — нужно начать новый дневник или восстановить из OneDrive backup.

Inspirations

  • Hermes Agent (NousResearch, github.com/NousResearch/hermes-agent) — изучен через recon-report. Взяли идеи: session search (изначально FTS5, после критики переписали на grep — overkill на 61 документе), read-only skill curator, dry-run для миграций, recon-template. Отвергли: runtime, gateway, autonomous skill mutation, plaintext SUDO_PASSWORD pattern.
  • agentskills.io — стандарт frontmatter для skills.
  • Karpathy LLM-wiki concept (gist) — 80% паттерна уже работает через diary + reflect + MEMORY.

Что отвергнуто явно

  • Vendor-neutral абстракции (один разработчик)
  • Future-proofing без явного триггера
  • Autonomous user modeling в стиле Honcho (aboutme.md глубже после 22 сессий психоанализа)
  • Autonomous skill mutation (single-writer + confirm надёжнее)
  • Hermes runtime/gateway/dashboard (мы context pack, не agent product)

Метрики

  • Репо инициирован 2026-02-22, активный дневник с 2026-03-19
  • ~47 diary за ~3 месяца (см. ~/.claude/projects/.../memory/diary/)
  • 10 tools, 17 скиллов, 4 Claude-субагента + 7 Codex CLI subagents
  • CLAUDE.md + MEMORY.md держим лимитом, не считаем строки
  • Index через session-search.py stats если нужно текущее

Changelog

Контроль версий для самого себя — чтобы при git pull на другом компе понимать что и зачем менялось.

2026-05-20 (session 048) — Harness upgrade: structured PreCompact + auto-archive

Что:

  • PreCompact hook переписан. Раньше при автосжатии писал бесполезный шаблон «контекст сжат». Теперь mechanical extraction из transcript.jsonl: intent (первое user-сообщение), тронутые файлы (полные пути), bash-команды (фильтр от ls/cat noise), запущенные субагенты (description + первые 200 символов prompt), web-запросы, последнее user-сообщение. Без LLM — для качественного summary запускать /handoff руками.
  • CURRENT_CONTEXT.md автоматический архив. Новый scripts/archive_old_context.py парсит > Закрыто YYYY-MM-DD и ### Session NNN артефакты блоки и переносит всё старше 7 дней в CURRENT_CONTEXT_archive.md (per-user, не автозагружается). Атомарная запись через temp + os.replace. Поддерживает --days N и --dry-run.
  • /handoff обновлён. Добавлен шаг 3 «архивация перед обновлением CURRENT_CONTEXT» с вызовом нового скрипта. Без него файл раздувался до 50+ КБ за месяц-два и удваивал старт сессии.
  • Skill agentic-harness-patterns добавлен. Distilled паттерны harness engineering из source-level анализа Claude Code (автор keli-wen, MIT). SKILL.md + 4 ключевых references (memory persistence, isolate, compress, agent orchestration). Lazy-load — references грузятся только при чтении из SKILL.md.
  • CURRENT_CONTEXT.md почищен вручную. 334 → 188 строк, 52 → 33 КБ. 13 секций «Session артефакты» и старые «Закрыто» унесены в архив. Перед коммитом было основание для скрипта.

Зачем:

  • Юзер заметил что /handoff идёт ~10 минут — большая часть времени на перечитывание раздутого CURRENT_CONTEXT. Чистка + ротация сокращают и старт сессии, и handoff.
  • PreCompact-страховка теперь даёт реальные данные в diary, не плейсхолдер.
  • Skill — материал для размышления когда вернёмся к проектированию субагентов / памяти.

Не сделано (по сознательной договорённости):

  • MCP-память (ipiton/agent-memory-mcp / doobidoo) — после чистки CURRENT_CONTEXT решили что текущая система покрывает 80% боли, новый слой пока не нужен. Вернёмся при подтверждённой потребности.
  • statewright FSM для субагентов — то же, отложено.
  • Делегирование diary subagentу для ускорения handoff — идея сохранена, обсудим после первого /handoff с новой системой и реальных цифр.

2026-05-04 (session 028) — Memory consolidation + cold-review дисциплина

Что:

  • 16 → 7 feedback файлов. Объединены: terse-action+quiet-startup+auto-checkpointfeedback_work-style.md; browser-stack+search-tools+data-via-vm+tool-switch-thresholdfeedback_tool-selection.md; pdf-russian+powershell-pipeline+restart-frictionfeedback_environment.md; external-audit-cadence+reflect-rules+future-agi-monitoring+новый cold-reviewfeedback_cadence.md. Без изменений: agent-teams, codex-parallel, no-startup-changes. Индекс MEMORY.md обновлён.
  • Cold-review subagent поймал 14 находок (2 BLOCKER + 6 ANNOYING + 6 MINOR). Починено 8: broken refs после консолидации в CLAUDE.md / subagents-playbook / personal_observations; стейл хуки grab-screenshot.py + output-secret-filter.py (заменены на no-op stubs до удаления в новой сессии); runtime/cache/ → per-user ~/.claude/projects/D--code-2026-2-cortex/cache/; /reflect путь к MEMORY.md уточнён на per-user.
  • Mandatory action в CLAUDE.md: после consolidate / refactor / удаления ≥3 файлов → запустить code-reviewer субагент в режиме cold-review (5 мин, sandbox). Защита от паттерна «я объявляю готово, потом subagent находит косяки».
  • 2 новых антипаттерна в subagents-playbook.md: Researcher завис на multi-source comparison (5+ репо) → code-reviewer шустрее; Researcher self-modification (попытка писать в .claude/hooks/) → нужен явный sandbox-блок «КРИТИЧЕСКИЕ ОГРАНИЧЕНИЯ» в начало каждого Agent-промпта.
  • 2 новых recipe в docs/learned-the-hard-way.md § 15: диагностика «subagent висит 10+ мин» (TaskStop + руками) и «SECURITY WARNING: Self-Modification» (sandbox-блок).
  • External benchmark vs топ публичных репо (addyosmani/agent-skills 27k★, mattpocock/skills 57k★, forrestchang/andrej-karpathy-skills 110k★, thedotmack/claude-mem 71k★, coleam00/Archon 20k★) — runtime/research/external-benchmark-2026-05-04.md. Path A (personal monorepo) подтверждён.
  • Recon ComposioHQ/awesome-codex-skills — 0 интегрировано, 4 на полке (changelog-generator, gh-fix-ci, gh-address-comments, sentry-triage).

Зачем:

  • 16 feedback файлов с пересечениями → 7 категорий проще обновлять и читать.
  • Cold-review дисциплина — лекарство против моего паттерна «всё работает» который потом не работает.
  • Cadence 1/2 нед в feedback_cadence.md — лекарство против перфекционизма: регулярная проверка вместо постоянной тревоги.

Не сделано (отложено в backlog):

  • Удалить stub-хуки grab-screenshot.py + output-secret-filter.py (после /clear или новой сессии)
  • LICENSE файл создать (в README указан MIT, файла нет)
  • Hardcoded paths в hooks fallback (D:\code\2026\2\cortex) и max-transcriber.md (C:\Users\User)

Целостность системы: 5/10 → 9/10 (по cold-review).

2026-05-01 (sessions 026 + 027) — Infra v2 + Steam Sniper wear-fix

  • 3-слойный setup: generic тесты + domain verify.sh per tool + learned-the-hard-way recipes (Артур-критика)
  • session-search переписан с FTS5 → grep (overengineering на 61 doc, Кент-критика)
  • Per-agent калибровка моделей субагентов
  • Researcher с confidence-маркерами после Hermes-кейса
  • Steam Sniper wear-fix в 3 итерации, 116/116 тестов
  • Codex CLI subagents перенесены из nickCodex-READY
  • Future-AGI observability на TG-digest pipeline
  • SubagentStop hook для auto-lessons capture

License

MIT — но это личный монорепо, не open-source product. Issues / PR не принимаются.

About

AI orchestration system — Claude + Jules + Codex via GitHub Issues

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors