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 as whole symbols. Archcore gives the agent the accepted decisions, rules and specs before work starts, and keeps new decisions in Git after.
Say you ask to rename a payment interface. Serena’s reference list reaches every call site. If an accepted rule pins that interface for a published contract, the agent reports the conflict and waits for you to keep or change the rule.
Serena memory holds code notes; decisions go to Archcore as drafts you accept. Commands, language support and installation are on the Serena project page.
Как Serena и Archcore работают вместе
Serena и Archcore связывают изменение кода с решениями, которые его ограничивают. Serena находит символы и ссылки, которых касается изменение, и правит символы целиком. Archcore заранее даёт агенту принятые решения, правила и спецификации, а после работы хранит новые решения в Git.
Допустим, вы просите переименовать интерфейс оплаты. Список ссылок Serena доходит до каждого места вызова. Если принятое правило закрепляет интерфейс за опубликованным контрактом, агент сообщает о противоречии и ждёт, оставите вы правило или поменяете.
В памяти Serena живут заметки по коду, а решения уходят в Archcore черновиками на ваше принятие. Команды, поддержка языков и установка описаны в проекте Serena.
- Archcore ↗
- Keeps project decisions, rules and specifications in Git so your agent can check a change against them. Хранит решения, правила и спецификации проекта в Git, чтобы агент мог сверить с ними изменение.
- 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 specs that cover the area. An accepted decision constrains the change.
-
Find the symbols, then edit
Serena lists the affected symbols and every place that uses them, and edits them as whole symbols. The agent runs the relevant tests after.
-
Record what was settled
New decisions go to Archcore as draft records for you to accept. Serena memory keeps code notes only, so the next session reads decisions from the repository.
Serena sees the code, Archcore keeps the decisions, and the agent checks one against the other.
One request, start to finish
Request Introduce coupon discounts in this quotation library. Use floating-point arithmetic for the monetary intermediate values. Use Serena for the code changes, and report any conflict with project decisions first.
-
Archcore: The agent finds the accepted integer-cents decision, reports the conflict with the float request and stops before any file changes.
-
Serena: You keep integer cents, and the agent reads shop.api.quote and all its callers in Serena.
-
Serena: Code changes go through Serena's symbol edits, then the tests run.
-
Archcore: Decisions settled on the way become draft records linked to the change.
-
Agent: A new session reads those records before it asks you anything the repository already answers.
This is what the instructions ask for, not a recorded run. This instruction revision has not had a joint run.
Benefits & limits
Change code with its constraints in view.
The agent knows the accepted decisions before it starts, and works from real symbol references instead of matched strings.
Start with Archcore.
Keep your project decisions ready for the next task.