context: offконтекст выключен

Same repository. Same agent. Same task. Nothing is connected to anything, so every answer starts from zero — and this is the state your repositories are in right now.Тот же репозиторий. Тот же агент. Та же задача. Ничего ни с чем не связано, поэтому любой ответ начинается с нуля — и ровно в этом состоянии твои репозитории находятся прямо сейчас.

↑ switch it back on, top right↑ включи обратно, справа вверху
depthглубина
contextконтекст
0 factsфактов

An agent just opened your repository. It knows nothing about it.

↓ scroll — you are going down↓ листай — ты пойдёшь вниз
layer 01 · documentationслой 01 · документация

First answer: index the docs and serve them back.

Postgres with pgvector, an async task queue, semantic search over swappable embedding providers. Built at the exact moment 16,000 MCP servers existed and the whole industry answered every context problem the same way: build another server for it.Postgres с pgvector, асинхронная очередь задач, семантический поиск на сменных провайдерах эмбеддингов. Построено ровно тогда, когда в мире было 16 000 MCP-серверов, и вся индустрия отвечала на любую проблему с контекстом одинаково: построй под неё ещё один сервер.

where it bottomed outгде упёрлосьDocumentation was never what agents got wrong. They got the project’s own conventions wrong.Документация никогда не была тем, в чём агенты ошибались. Они ошибались в конвенциях самого проекта.
A query reaching its three nearest documents while the answer it needed sits outside the index entirelyindexed documentationquery3 nearest · 0.89the conventionof this reponever indexed.never retrieved.the thing itgot wrong.
the index answers the question it was asked · not the one that matteredиндекс отвечает на заданный вопрос · а не на тот, который имел значение
layer 02 · standardsслой 02 · стандарты

So build the same server a second time.

Docs swapped for language standards, a review pass driven by them, an admin panel, a crawler. The shape was disproved by construction, not by argument — which is the only way anyone actually stops believing something.Документация заменена на стандарты языка, поверх — проход ревью по ним, админка, краулер. Форма опровергнута постройкой, а не спором — единственный способ, которым кто-либо действительно перестаёт во что-то верить.

where it bottomed outгде упёрлосьRetrieval is not behaviour. An agent that can look a rule up still does not follow it.Извлечение — не поведение. Агент, умеющий найти правило, всё ещё ему не следует.
Two identical stacks, fourteen months apart, differing only in the top boxnov 2025jan 2026documentationMCP serverasync indexerpgvectorPostgresstandardsMCP serverasync indexerpgvectorPostgresidentical below the first boxbuilttwice tobe sure
fourteen months apart · one box differentчетырнадцать месяцев спустя · отличается один блок
layer 03 · procedureслой 03 · процедураgoodai-base

If lookup does not change behaviour, procedure does.

70 skills and ~30 rules behind one installer that syncs seven agent tools. Underneath it, six phases of research into agent discipline — including one called anti-rationalization: stopping an agent from talking itself out of the work it was given.70 скиллов и ~30 правил за одним инсталлером, синхронящим семь агентских инструментов. Под ними — шесть фаз исследования дисциплины агента, среди них фаза под названием анти-рационализация: не дать агенту уговорить себя не делать выданную работу.

what it still does not solveчего он по-прежнему не решаетSkills are portable. Project knowledge is not. Every repository still started cold.Навыки переносимы. Знание проекта — нет. Каждый репозиторий всё равно начинался холодным.
layer 04 · supervisionслой 04 · надзорhelyx

If agents run for hours, the human needs somewhere to stand.

One forum topic per project, a persistent session behind each, short- and long-term memory with a project scanner, voice, polls, and live CLI progress and permission prompts routed to the topic that asked. Sessions survive in tmux, reachable through a tunnel from a phone. 775 commits.Один форум-топик на проект, за каждым — постоянная сессия, короткая и долгая память со сканером проекта, голос, опросы, живой прогресс CLI и запросы разрешений в тот топик, который их вызвал. Сессии живут в tmux и достаются через туннель с телефона. 775 коммитов.

what it still does not solveчего он по-прежнему не решаетSupervising an agent that does not understand the repository only moves the ignorance closer to you.Надзор за агентом, который не понимает репозиторий, лишь придвигает незнание ближе к тебе.
A Telegram forum group where each project — helyx, keryx, goodai-base — is its own topic
one topic per projectпо топику на проект
The agent recalls a past decision from memory, then asks permission for a destructive migration with Yes / Always / No
it recalls, then it asks — and takes no for an answerвспоминает, потом спрашивает — и принимает отказ
bedrock · i · the brainкоренная порода · i · мозгkeryx

Stop shipping context as a service. Put it in the repository.

A versioned .metaproject/, all Markdown and JSON, all readable in a diff. A language-aware dependency graph for TS/JS, Java and Python — cycles, orphans, shortest paths, affected-set blast radius, a PageRank repo map under a token budget, an optional tree-sitter symbol and call graph. An architecture wiki with code↔wiki backlinks. And a memory with eleven typed entry kinds, bitemporal as-of queries, non-destructive supersede, trigram dedup and consolidation into patterns — a Mem0-shaped memory rebuilt so that it never needs a model to work at all.Версионируемый .metaproject/: только Markdown и JSON, всё читается в диффе. Языково-осведомлённый граф зависимостей для TS/JS, Java и Python — циклы, сироты, кратчайшие пути, радиус поражения, PageRank-карта репозитория под токен-бюджет, опциональный граф символов и вызовов на tree-sitter. Архитектурная вики с обратными ссылками код↔вики. И память с одиннадцатью типами записей, битемпоральными запросами на дату, недеструктивным замещением, дедупом по триграммам и свёрткой в паттерны — память формы Mem0, пересобранная так, чтобы вообще не нуждаться в модели.

The keryx dashboard: a health score, attention signals and the enabled modules
keryx dash · the read-only control surface: health 93, 649 graph files, 39 wiki pages, 8 memory entries, 9 moduleskeryx dash · read-only панель управления: здоровье 93, 649 файлов графа, 39 страниц вики, 8 записей памяти, 9 модулей
bedrock · ii · the harnessкоренная порода · ii · рантаймkeryx

Then take the runtime too.

A provider-neutral loop — Anthropic, Ollama, any OpenAI-compatible gateway, and an offline fake provider so a run can be deterministic. Durable JSONL sessions that resume across a restart and fork with their ancestry intact. A policy engine with three answers, not two — allow, ask, deny — over seven risk classes: read, write, shell, network, credential, delegate, destructive. Shell and destructive are default-deny. Every turn runs under a budget of 48 unique tool signatures, at most 40 of them reads.Провайдер-нейтральный цикл — Anthropic, Ollama, любой OpenAI-совместимый шлюз и офлайновый фейковый провайдер, чтобы прогон был детерминированным. Устойчивые JSONL-сессии, переживающие перезапуск и умеющие ветвиться с сохранением родословной. Policy engine с тремя ответами, а не двумя — allow, ask, deny — по семи классам риска: чтение, запись, шелл, сеть, доступы, делегирование, разрушение. Шелл и разрушение запрещены по умолчанию. Каждый ход идёт под бюджетом в 48 уникальных сигнатур инструментов, из них не больше 40 на чтение.

The keryx shell answering a blast-radius question with the graph_affected tool
keryx shell · a blast-radius question answered through the project graph — one tool call, 12.1 secondskeryx shell · вопрос о радиусе поражения, отвеченный через граф проекта — один вызов инструмента, 12,1 секунды
bedrock · iii · containmentкоренная порода · iii · заключениеkeryx

A policy is a promise. A kernel is not.

Underneath the policy engine sits an OS sandbox: Seatbelt on macOS, bubblewrap on Linux. Network off or on, a loopback domain allowlist, credential masking behind a per-run sentinel, TLS termination where the masking demands it. When a launcher or a posture is missing it fails closed rather than quietly doing less — which is the whole difference between a security feature and a security theatre.Под policy engine — песочница операционной системы: Seatbelt на macOS, bubblewrap на Linux. Сеть выключена или включена, петлевой список разрешённых доменов, маскирование доступов за пораундовым часовым, терминация TLS там, где маскирование этого требует. Если лаунчера или позы нет — она падает закрытой, а не тихо делает меньше. В этом вся разница между защитой и её имитацией.

The keryx shell asking the user a structured question with selectable options
ask · the middle answer of the policy engine: it stops and asks with structured options instead of guessingask · средний ответ policy engine: он останавливается и спрашивает структурированными вариантами вместо того, чтобы угадать
bedrock · iv · proofкоренная порода · iv · доказательствоkeryx

An agent does not get to say it is finished.

Completion is gated on evidence: a run that cannot produce what its flow requires does not get to claim it did. A run can be recorded as a recomputable hash surface and replayed against a fixture, which names the exact field that moved. The security scanner ships a labeled red-team corpus and fails the build when any detector breaches its committed false-negative threshold. And there is a measurement rig underneath all of it — gold sets, ablation runs, retrieval scoring, leakage checks — built to find out whether the context layer actually helps, rather than to assume it does. The repository this is measured on stands at 1,133 commits and 72 tagged releases, with 68 versions published to npm, latest 0.2.80.Завершение открывается доказательством: прогон, не сумевший выдать то, что требует его флоу, не получает права заявить, что справился. Прогон записывается как пересчитываемая хеш-поверхность и проигрывается против фикстуры, которая называет ровно то поле, которое сдвинулось. У сканера безопасности есть размеченный red-team корпус, и сборка падает, если любой детектор пробил зафиксированный порог ложноотрицательных. А под всем этим — измерительный стенд: эталонные наборы, абляции, оценка извлечения, проверки утечки — построенный, чтобы выяснить, помогает ли слой контекста на самом деле, а не чтобы предположить, что помогает. Репозиторий, на котором это измеряется, стоит на 1 133 коммитах и 72 тегах релизов, в npm опубликовано 68 версий, последняя — 0.2.80.

The same keryx shell running the same tools against a different provider
--provider · the same loop, the same tools, the same policy — with the model swapped out from under it--provider · тот же цикл, те же инструменты, та же политика — с заменённой под ними моделью
layer 06 · restraintслой 06 · сдержанность

Four capabilities that ship switched off.

A shared work context — a budgeted Facts / Work / Know-how read, and a wrap-up proposing what a session learned. Promotion into real project knowledge always passes a human, and a security-flagged proposal refuses to pass until someone records that they read the findings. · A scratchpad any agent can borrow — an agent from another vendor entirely can open a working slate inside your project and close it into your review pipeline. · Someone else’s CLI as a child process — a bounded, read-only task handed to a vendor coding agent inside a disposable worktree with a stripped environment. · Agent discipline as a research programme — six phases, of which the sharpest is anti-rationalization.Общий контекст работы — бюджетированное чтение «Факты / Работа / Знание» и свёртка, предлагающая то, что узнала сессия. Повышение до настоящего знания проекта всегда проходит через человека, а предложение с отметкой безопасности не проходит, пока кто-то не зафиксирует, что прочитал находки. · Черновик, который можно одолжить — агент совсем другого вендора открывает рабочий лист внутри твоего проекта и закрывает его в твой же конвейер ревью. · Чужой CLI как дочерний процесс — ограниченная задача только на чтение, выданная вендорскому агенту в одноразовом воркtree со срезанным окружением. · Дисциплина агента как исследовательская программа — шесть фаз, из которых самая острая называется анти-рационализация.

why that mattersпочему это важноEvery one is off by default and says so in its own documentation — including the one whose author writes plainly that it has never been run against a live vendor process, and that no vendor sanction is claimed. Shipping power with the switch off, and naming what you have not proved, is rarer than shipping the power.Каждая выключена по умолчанию и прямо пишет об этом в собственной документации — включая ту, про которую автор честно указывает, что она ни разу не запускалась против живого вендорского процесса и никакой санкции вендора не заявлено. Выпустить силу с выключателем в положении «выкл» и назвать вслух то, что не доказано, встречается реже, чем выпустить силу.
Four capabilities, each shipped in the off positionnine modules are on after init. these four are not.shared work contextsacoffvendor CLI as a child agentexternal agentsoffremote entry over HTTPkeryx serveoffread-only tool servermcpoff
shipped, documented, and switched offвыпущено, задокументировано и выключено

The agent is ephemeral. The project brain is durable.

this page remembers you

Reading memory…

Hit context: off in the corner. That is what every agent sees, in every repository, on every task, right now.Нажми контекст: выкл в углу. Именно это видит каждый агент, в каждом репозитории, на каждой задаче, прямо сейчас.

back at the surfaceобратно на поверхность

Two doors. Both of them answer.

$npm install -g @mrciphersmith/keryx

Every figure above about these repositories was read from the GitHub and npm APIs on 6 September 2026, not typed in. The snapshot is committed next to the code and refreshed nightly; if a number here is wrong, the source is wrong with it.Каждое число выше об этих репозиториях прочитано из API GitHub и npm 6 сентября 2026 г., а не вписано руками. Снапшот лежит в репозитории рядом с кодом и обновляется каждую ночь; если число здесь неверно, значит неверен и источник.

The scope matters — the unscoped name belongs to an unrelated project. The binary it installs is called keryx.Скоуп имеет значение — имя без скоупа принадлежит постороннему проекту. Ставится бинарник под именем keryx.