32 lines
1.9 KiB
Markdown
32 lines
1.9 KiB
Markdown
# AI Agent Router — Chanora Minimal Spec
|
|
|
|
Purpose: keep AI context small. Do not load the old full bundle unless explicitly asked for audit reconstruction.
|
|
|
|
## Load Order
|
|
1. Always load this file first.
|
|
2. Load exactly one phase file: `P0_MVP_AGENT_SPEC.md`, `P1_BETA_AGENT_SPEC.md`, or `P2_PRODUCTION_AGENT_SPEC.md`.
|
|
3. Load `SOP_AGENT_OPERATIONS.md` only when changing architecture, release, security, privacy, diagnostics, build, or test gates.
|
|
4. Use `phase_index.json` for machine lookup. Do not paste full source docs into context.
|
|
|
|
## Phase Meaning
|
|
- P0 = MVP buildable product. Default implementation target.
|
|
- P1 = beta hardening and extended quality. Do not implement unless asked.
|
|
- P2 = production/public-release readiness. Do not implement until P0 and P1 gates pass.
|
|
- SOP = standing operating rules for agents, reviews, testing, release, traceability, and refusal conditions.
|
|
|
|
## Non-Negotiable Product Contract
|
|
- Product: Chanora, a cross-platform TeamSpeak 3-compatible client application.
|
|
- Stack: Flutter UI + Rust core + typed Flutter/Rust bridge + `tsclientlib` adapter.
|
|
- Platforms: Windows, macOS, Linux, Android, iOS.
|
|
- MVP server model: external TS3-compatible servers only; no Chanora-operated backend.
|
|
- MVP connection model: one active server connection per client instance.
|
|
- Privacy: no telemetry, no automatic diagnostic upload, no crash reporting unless later approved.
|
|
- Diagnostics: local, user-initiated export only.
|
|
- Storage: secrets in platform secure storage; non-secrets in bundled SQLite via `rusqlite`.
|
|
- Localization: English + Chinese Simplified at MVP; preserve server content verbatim.
|
|
- Design: Material 3 + Chanora Design System.
|
|
- License: Apache-2.0 OR MIT.
|
|
|
|
## Hard Stop Rules
|
|
Stop and ask for explicit approval before adding: telemetry, crash reporting, automatic upload, multiple active server connections, a Chanora backend, unsupported platform targets, unapproved hotkey/audio packages, or legal/trademark wording changes.
|