Establish CONTRACTS.md at the EVOLV root as the canonical map of where every
contract, rule, and standard lives. Surface it from CLAUDE.md so every fresh
agent or colleague lands there first.
Reshape .claude/refactor/ to reflect that the platform refactor is done:
live standards stay at the top level; the plan artifacts (CONTINUE_HERE.md,
TASKS.md) move into Archive/ with WARNING banners.
Drop content that drifted out of date or duplicated the new standards stack:
- docs/DEVELOPER_GUIDE.md (pre-refactor walkthrough; superseded by
wiki/Architecture, wiki/Getting-Started, .claude/rules/node-architecture,
.claude/refactor/MODULE_SPLIT + per-node CONTRACT.md + src/commands/).
- .agents/decisions/ (15 DECISION files): load-bearing decisions belong in
commit messages and PR descriptions; live open items in OPEN_QUESTIONS.md.
- .agents/improvements/TOP10_*.md: moved to Archive/.
Bump generalFunctions to 49c77f2 — adds CONTRACT.md inside the library:
different shape from per-node CONTRACT.md files (library API, not msg.topic),
with stability tags and pointers to .claude/refactor/CONTRACTS.md §N.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
| [`WIKI_TEMPLATE.md`](./WIKI_TEMPLATE.md) | The 14-section visual-first template every per-node wiki uses. |
| [`WIKI_HOME_TEMPLATE.md`](./WIKI_HOME_TEMPLATE.md) | The shape of each per-node `wiki/Home.md`. |
| [`OPEN_QUESTIONS.md`](./OPEN_QUESTIONS.md) | Live decisions log — append-only. Most entries are resolved; unresolved entries are what's actually in play. |
## Workflow rules for spawned agents
## How to use them
If you are an agent working on a refactor task:
1.**Reading code in a node.** The node's `CONTRACT.md` and `src/commands/index.js`
are the per-node contract; the files above are the platform contract those
per-node files implement.
2.**Writing new code in a node.** Match `MODULE_SPLIT.md` for layout, `CONVENTIONS.md`
for style, `CONTRACTS.md` for the base-class API surface, and add to
`OPEN_QUESTIONS.md` if you discover something unclear rather than inventing
a decision.
3.**Touching `generalFunctions`.** Any new export needs a `CONTRACT.md` entry
in `nodes/generalFunctions/CONTRACT.md` and, if it introduces a new platform
shape, a section in `CONTRACTS.md` here.
4.**Updating a wiki page.** Generated sections (topic-contract, data-model)
are produced by `npm run wiki:all` per submodule — never hand-edit between
the `BEGIN AUTOGEN` / `END AUTOGEN` markers.
1. Read this file, `CONVENTIONS.md`, `CONTRACTS.md`, and the relevant
section of `MODULE_SPLIT.md` before changing code.
2. Stay within the scope of one task. Don't expand scope without flagging.
3. Run the affected node's tests after every meaningful change. Commands:
```
cd nodes/<nodeName> && node --test test/basic test/integration test/edge
```
4. Don't change `generalFunctions` exports unless your task is in tier 1.
5. If you discover something unclear, append it to `OPEN_QUESTIONS.md`
with a short note. Do **not** invent a decision.
6. Comments: small, function-level, *why* not *what*. See `CONVENTIONS.md`.
7. When done, summarise: files changed, tests run, anything deferred to
`OPEN_QUESTIONS.md`.
## Archive
[`Archive/`](./Archive/) holds the refactor *plan* (now done): `CONTINUE_HERE.md`,
`TASKS.md`. They describe how the platform got from pre-refactor to the
current shape. They are **not** authoritative for new work — the files above are.
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.