Do-not-build register
The do-not-build register records product and architecture directions that OpenAgents retired, deferred, rejected, or superseded. It keeps agents and maintainers from repeatedly proposing work whose replacement already exists.
The public, machine-readable contract is
/api/contracts/do-not-build-v1.json.
It is the authority for the current decisions, exact matching phrases, and
decision history.
What each entry records
Every entry has:
- A stable
DNB-###ID. - The scope covered by the decision.
- A current decision state:
retired,deferred,rejected, orsuperseded. - The decision date and evidence.
- The principle the proposal violated.
- The supported replacement path.
- An owner and a concrete reconsideration trigger.
- An append-only decision history.
How screening works
Screening uses the explicit multi-word phrases in each entry. It does not expand a product name into a broad keyword rule. A proposal that mentions Bun, Spark, Copilot, Rust, or Claude Code for an unrelated reason is not blocked.
FastFollow integrations can call
OpenAgents.DoNotBuildRegister.screen_fast_follow/2. A match returns
{:suppressed, entry} and records fast_follow_proposal_suppressed with the
entry ID, decision state, and a content fingerprint. Proposal text is not sent
to analytics.
Reconsider a decision
Do not reopen matching work from a new assertion alone.
- Add evidence that did not exist when the current decision was made.
- Write an explicit decision record.
- Update the register by appending a complete history item and making it the current decision.
- Review the change before starting implementation.
Supplying new evidence and a decision-record reference to the FastFollow
screen moves the result to {:review_required, entry}. It does not silently
override the committed register.
Initial decisions
The first register covers:
- Hosted Spark custody.
- NIP-90 data-vending-machine markets without demonstrated demand.
- Bun in the production trust path.
- GetAfter as a second forge.
- Presence-based mining and pay-for-online rewards.
- Copilot as an executor target.
- A monolithic all-in-one business operating system.
- A standalone Rust Sarah service.
- Claude Code or another rival-owned runtime as a hard dependency.