Use this checklist for every architecture proposal, RFC, ADR, roadmap item, and pull request that adds or materially changes platform capabilities.
Parent: architecture-governance.md · Process: design-review-process.md · Duplication: non-duplication-policy.md
Copy the sections below into an issue, ADR, or PR description and complete every item before requesting review.
Why does this capability exist?
Which existing platform capability does this extend?
Select all that apply and explain the extension path:
Preference: A proposal that extends an existing capability is preferred over introducing a new subsystem. If proposing a new subsystem, justify in section 3.
Does this duplicate any existing artifact?
Check each category. If yes, explain why extending the existing capability is insufficient. If justification is weak, reject or redesign.
| Category | Duplicate? | Existing artifact | Why extension is insufficient |
|---|---|---|---|
| Crate | ☐ Yes ☐ No | ||
| Package | ☐ Yes ☐ No | ||
| Provider | ☐ Yes ☐ No | ||
| Plugin | ☐ Yes ☐ No | ||
| Runtime service | ☐ Yes ☐ No | ||
| API (REST/gRPC/CLI) | ☐ Yes ☐ No | ||
| SDK surface | ☐ Yes ☐ No | ||
| Control Center feature | ☐ Yes ☐ No | ||
| Architecture concept | ☐ Yes ☐ No |
Search before proposing:
crates/README.md and workspace memberspackages/registry/ official packagesSee non-duplication-policy.md for rejection criteria.
Where does this belong?
Select one primary placement (secondary placements optional):
packages/registry/)Do not introduce new architectural layers unless absolutely necessary. New layers require an ADR and architecture maintainer approval.
Reference: platform-architecture.md layered model.
How does this integrate with the Unified Entity Model?
EntityRegistry / entity APIsAvoid disconnected object models (RobotRecord, parallel inventories, blueprint-local registries).
Reference: entity-model.md, entity-best-practices.md.
Does it respect platform security contracts?
New attack surface:
| Surface | Description | Mitigation |
|---|---|---|
Reference: security-architecture.md, distributed-decision-security.md.
Does it interfere with distributed decision layers?
Document interactions with:
Explain precedence, offline behavior, and conflict resolution if applicable.
Can this break existing surfaces?
| Surface | At risk? | Prevention |
|---|---|---|
| REST / gRPC APIs | ☐ | |
| SDKs (Rust, Python, TS) | ☐ | |
| CLI commands / JSON output | ☐ | |
| Examples / golden tests | ☐ | |
| Entity Model contracts | ☐ | |
| Recovery / Readiness / Trust | ☐ | |
| Control Center | ☐ |
How will this be tested?
List concrete test files or scenarios: _______
Can this be demonstrated?
Provide at least one:
.sd under examples/)If it cannot be demonstrated, reconsider whether it belongs in the platform.
Long-term cost estimate
| Cost type | Estimate (Low / Medium / High) | Notes |
|---|---|---|
| Maintenance | ||
| Documentation | ||
| Testing | ||
| Future compatibility | ||
| Migration |
Does this affect release posture?
If any checked, justify why value outweighs cost.
Stream impact: workspace / sdk / desktop / proto — see versioning.md.
Reviewers complete after reading the proposal. Use one row per dimension.
| Dimension | Score (1–5) | Notes |
|---|---|---|
| Problem clarity | ||
| Architecture fit | ||
| Entity integration | ||
| Security | ||
| Maintainability | ||
| Testability | ||
| Documentation | ||
| Backward compatibility | ||
| Performance | ||
| Complexity (5 = simple) |
Overall recommendation (select one):
Reviewer(s): _____
**Date:** _______
**Linked ADR / issue / PR:** _________
| # | Gate | Fail if |
|---|---|---|
| 1 | Purpose | Problem vague or non-production |
| 2 | Existing architecture | New subsystem without extension path |
| 3 | Duplication | Duplicate with no justification |
| 4 | Architecture fit | Wrong layer or unnecessary new layer |
| 5 | Entity model | Parallel object model without justification |
| 6 | Security | Bypasses trust, authority, or safety |
| 7 | Distributed autonomy | Breaks reflex/local/fleet precedence |
| 8 | Non-regression | Breaks APIs without migration plan |
| 9 | Testability | No CI test plan |
| 10 | Demonstrability | No example or demo path |
| 11 | Maintainability | Unowned or high cost unjustified |
| 12 | Release impact | Cost exceeds value |