Serena + Archcore
Check code changes against project decisions. Navigate and edit code by symbol with Serena.
How Serena + Archcore work together
Serena + Archcore connects a code change to the decisions that constrain it. Serena finds the symbols and references the change touches, and edits them at the symbol level. Archcore supplies the accepted decisions, rules and specifications before the work starts, and keeps new decisions in Git afterwards.
For example, a request to rename a payment interface reaches every call site through Serena’s reference list. If an accepted rule pins that interface for a published contract, the agent reports the conflict and stops the affected work until you decide. You keep the rule or you change it, and the change follows.
The instructions also separate the two kinds of memory. Serena memory holds code notes for its own use; architecture and product decisions go to Archcore as draft records for your acceptance. For Serena’s own commands, language support and installation, see the Serena project.
Как Serena и Archcore работают вместе
Serena и Archcore связывают изменение кода с решениями, которые его ограничивают. Serena находит символы и ссылки на них, которых касается изменение, и правит их на уровне символов. Archcore даёт принятые решения, правила и спецификации до начала работы и хранит новые решения в Git после неё.
Например, запрос переименовать интерфейс оплаты доходит до каждого места вызова через список ссылок Serena. Если принятое правило закрепляет этот интерфейс для опубликованной договорённости, агент сообщает о противоречии и останавливает затронутую работу до вашего решения. Вы либо оставляете правило, либо меняете его — и тогда изменение идёт дальше.
Инструкции также разделяют два вида памяти. Память Serena хранит заметки по коду для её собственных нужд; архитектурные и продуктовые решения уходят в Archcore черновыми записями на ваше принятие. О командах самой Serena, поддержке языков и установке смотрите проект Serena.
- Archcore ↗
- Keeps project decisions, rules and specifications in Git so your agent can check a change against them.
- Serena ↗
- Finds symbols and their references in the code, and applies edits at the symbol level.
From a code request to a recorded decision
The instructions ask your agent to:
-
Read the decisions first
Before changing code, the agent searches Archcore for accepted decisions, rules and specifications that cover the area. An accepted decision is treated as a constraint on the change.
-
Look up the symbols
The agent activates your project in Serena, then inspects the affected symbols and their references. A rename, a move or a cross-file refactor starts from that reference list rather than from a text search.
-
Edit and check
Serena applies symbol-level edits where it can model the change safely. Prose, configuration and generated files stay on ordinary file edits. The agent then runs the relevant tests and reports diagnostics beside them.
-
Record what was settled
New architectural decisions are written to Archcore as draft records, linked to the change. Accepting a record is a separate step that needs your approval.
-
Continue in the next session
A later session reads the saved records before repeating questions. Serena memory stays available for code notes, but it does not hold the project's decisions.
Serena keeps the code-level view. Archcore keeps the decisions, and the instructions ask the agent to check one against the other.
Benefits & limits
Change code with its constraints in view.
The agent brings accepted decisions into a code change before it starts, and works from real symbol references instead of matched strings. Decisions worth keeping end up in the repository.
Start with Archcore.
Keep your project decisions ready for the next task.