2. Architecture Constraints
Technical Constraints
| Constraint | Description |
|---|---|
Plugin SDK |
Must implement the opencode |
Language |
TypeScript/JavaScript (opencode plugin SDK is JS-native) |
Config format |
File-based YAML loaded from opencode config directory. No database. |
Runtime dependencies |
Zero external HTTP calls. All enforcement logic runs locally. Must work fully offline. |
No secrets |
Plugin never handles passwords, tokens, or API keys. No integration with age or other secret stores. |
Hook limitation |
|
Business Constraints
| Constraint | Rationale |
|---|---|
Open-source (Apache 2.0) |
opencode plugin SDK requires Apache 2.0; contribution target is LLM-Coding/Semantic-Anchors repo |
Coexists with prompt instructions |
Plugin amplifies AGENTS.md rules — does not replace them. Both layers work together. |
Ships with role-based presets |
Must be useful out-of-the-box for the 12 Semantic-Anchors roles |
Local-first |
v1 is |
Organizational Constraints
| Constraint | Source | Description |
|---|---|---|
No performance monitoring |
Works Council |
Plugin must not be used to measure individual developer performance. Aggregated, anonymized metrics only. |
Policy review required |
Works Council |
Steering rules must be reviewable before deployment. "Policy as Code" must be human-readable. |
GDPR-compliant logging |
Data Privacy Officer |
Bypass and violation logs must not contain personally identifiable information (PII) beyond what opencode already captures. |
Audit trail for compliance |
Compliance Officer |
Steering violations and bypasses must be logged with timestamp, rule ID, and tool name — but not developer identity. |
Process Constraints
| Constraint | Description |
|---|---|
Anchor-first development |
The plugin’s own development must follow the Semantic Anchors methodology (Intent, Negative, Verification, Source anchors). |
Source Anchor: read docs, cite verbatim |
Every claim must be verifiable through a verbatim quoted source. No speculation about error causes or concepts without a source citation. |
Take before Buy before Make |
Before writing any code, check whether an existing solution exists (including forks, open-source components, integration of existing parts). Custom development is the last resort. |
Tests mandatory |
Every rule and hook must have corresponding unit tests. Enforcement logic must be verifiable. |
Step Confirmation |
Every design/implementation step requires explicit user confirmation ("Weiter?") before proceeding. |
Markdown for design docs, .adoc only at contribution |
Design documents are written in |
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.