30 lines
1.4 KiB
Markdown
30 lines
1.4 KiB
Markdown
# ss-tools Constitution
|
|
|
|
## Core Principles
|
|
|
|
### I. SPA-First Architecture
|
|
The frontend MUST be a Static Single Page Application (SPA) served by the Python backend. No Node.js server is permitted in production. The backend serves the `index.html` entry point for all non-API routes.
|
|
|
|
### II. API-Driven Communication
|
|
All data retrieval and state changes MUST be performed via the backend REST API or WebSockets. The frontend should not access the database or filesystem directly.
|
|
|
|
### III. Modern Stack Consistency
|
|
The project strictly uses SvelteKit (Frontend), FastAPI (Backend), and Tailwind CSS (Styling). New dependencies must be justified and approved.
|
|
|
|
### IV. Semantic Protocol Adherence (GRACE-Poly)
|
|
All code generation and modification MUST adhere to the Semantic Protocol defined in `semantic_protocol.md`.
|
|
- **Anchors**: Use `[DEF:id:Type]` and `[/DEF:id]` to define semantic boundaries.
|
|
- **Contracts**: Define `@PRE` and `@POST` conditions in headers.
|
|
- **Logging**: Use structured logging with `[AnchorID][State]` format.
|
|
- **Immutability**: Respect architectural decisions in headers.
|
|
|
|
## Governance
|
|
|
|
### Compliance
|
|
All Pull Requests and code modifications must be verified against this Constitution. Violations of Core Principles are considered critical defects.
|
|
|
|
### Amendments
|
|
Changes to this Constitution require a formal RFC process and approval from the project lead.
|
|
|
|
**Version**: 1.0.0 | **Ratified**: 2025-12-20
|