OpenSpec + Archcore
Check proposed changes against project decisions. Keep specs and archives in OpenSpec.
How OpenSpec + Archcore work together
OpenSpec + Archcore connects a proposed change to the project decisions behind it. OpenSpec keeps the proposal, design, specifications and tasks together. Archcore gives the agent relevant decisions to check before changing the code and a place to record new decisions after you approve the design.
For example, a request to simplify price calculations might conflict with an accepted rule about exact money arithmetic. The agent brings that conflict to you during design. You can keep the existing rule or explicitly change the decision before implementation proceeds.
The instructions below build on a small pilot and address gaps found in its saved records. Read the pilot findings and instruction changes for the measured scope. For the native change process and installation, see the OpenSpec project.
Как OpenSpec и Archcore работают вместе
OpenSpec и Archcore связывают предложенное изменение с решениями проекта, которые за ним стоят. OpenSpec держит вместе предложение, проектное решение, спецификации и задачи. Archcore даёт агенту подходящие решения, чтобы сверить их до правки кода, и место, где записать новые решения после того, как вы согласуете проект.
Например, запрос упростить расчёт цены может противоречить принятому правилу о точной арифметике с деньгами. Агент выносит это противоречие вам во время проектирования. Вы можете оставить существующее правило или явно изменить решение до того, как начнётся реализация.
Инструкции ниже опираются на небольшой пилот и закрывают пробелы, найденные в его записях. Измеренные границы описаны в выводах пилота и изменениях инструкций. О самом процессе изменений и установке смотрите проект OpenSpec.
- Archcore ↗
- Keeps project decisions and rules in Git so your agent can check proposed changes against them.
- OpenSpec ↗
- Organizes each change through its proposal, specifications, design, tasks and archive.
From a proposed change to a saved decision
The instructions ask your agent to:
-
Check the project before design
The agent reads relevant Archcore decisions and OpenSpec artifacts. If your request conflicts with an accepted decision, you resolve that conflict before the affected work continues.
-
Review one change proposal
OpenSpec keeps the proposal, specs, design and task list. You review the saved design before implementation.
-
Record the reasons behind the design
After your approval, the agent checks for existing decisions and records new architectural decisions as draft ADRs in Archcore, linked to the OpenSpec files. An ADR is an architecture decision record; accepting it is a separate decision.
-
Implement, check and archive
The agent follows the OpenSpec tasks and checks the result against the requirements. When you authorize closing the change, it synchronizes specs, archives the change and updates references to moved files.
-
Continue from saved context
A later session reads the current specs, archived change and decision records. It reports what is complete, which decisions remain drafts and where the records disagree.
Use this recipe for a project already set up with both tools. OpenSpec keeps the feature work; Archcore records link to it.
One request, start to finish
Request Introduce coupon discounts in this quotation library. Use floating-point arithmetic for the monetary intermediate values. Use the installed OpenSpec propose, apply, sync and archive workflow. Check existing project decisions and report any conflict before implementing.
-
Archcore: Before any design work, the agent searches the project records and finds the accepted decision: money is integer cents. It reports the conflict with the float request and stops. No file has changed.
-
OpenSpec: You keep integer cents and withdraw the float request. The agent writes the proposal, design, specs and tasks in OpenSpec's own folders, then stops at the saved design for your review.
-
Archcore: You approve the design. The decisions it settles become draft ADRs, each linked to the OpenSpec files by path. The money decision stays as it was.
-
OpenSpec: You ask for the implementation. The agent works through the tasks, runs the tests (half-up rounding, delivery excluded, empty and unknown coupons), syncs the specs and archives the change. The new ADRs stay draft.
-
Agent: A new session reads the archived change and the decision records and answers from them: the coupon contract, 13 cents off and 612 cents total for one tea with SAVE10, and which decisions are still draft.
This is what the instructions ask for, not a recorded run. An earlier revision completed this scenario twice in Claude Code; see the pilot note. This revision has not had a joint run.
Benefits & limits
Review changes with their project context.
You get a proposal to review alongside the decisions it must respect. The instructions also preserve the reasons behind new decisions for later work.
- A request conflicts with an existing decision
-
In both pilot runs with the earlier recipe, the agent raised the conflict before changing code and preserved the accepted decision after the owner resolved it.
The benchmark explicitly asked for a conflict check and supplied the owner's resolution. It did not test detection without that prompt.
- One home for specifications and tasks
-
Both runs produced native OpenSpec artifacts, synchronized the current specification and archived the change. New Archcore decision records remained drafts.
Saved records still had gaps, including stale references to whether ADRs existed. The revised instructions add a check for those statements.
- Picking up work in another session
-
The recorded recall answers recovered the coupon behavior and distinguished accepted from draft decisions. They also identified disagreements in the saved documents.
This was a scripted recall step in the same working tree. It does not prove that every later session will recover all context.
Start with Archcore.
Keep your project decisions ready for the next task.