Replace paraphrased constitution with the 1224-line master.
Copy CODING_CONSTITUTION.md from the AgentStore docs/development path and split the seven always-on .mdc files from that exact text.
This commit is contained in:
+21
-11
@@ -2,17 +2,27 @@
|
||||
alwaysApply: true
|
||||
---
|
||||
|
||||
# Periscope Cursor Engineering Rules
|
||||
# 32. PYTHON IS THE DEFAULT LANGUAGE
|
||||
|
||||
Mandatory for every Cursor agent working on Periscope. This section is copied from `docs/development/CODING_CONSTITUTION.md` and must not contradict that master.
|
||||
Python is the default implementation language for Periscope.
|
||||
|
||||
## 2. Python
|
||||
Use Python for:
|
||||
|
||||
* orchestration;
|
||||
* datasheet processing;
|
||||
* document parsing;
|
||||
* LLM integration;
|
||||
* requirement extraction;
|
||||
* evidence management;
|
||||
* project management;
|
||||
* CLI;
|
||||
* API integration;
|
||||
* reporting;
|
||||
* test orchestration;
|
||||
* external tool integration;
|
||||
* high-level analysis.
|
||||
|
||||
Do not rewrite Python into Rust merely because Rust exists in the project.
|
||||
|
||||
---
|
||||
|
||||
- Python 3.12+, Pydantic 2.x, FastAPI on the backend.
|
||||
- Parsers and graph builders are pure functions without hidden I/O, except documented loaders (`build_graph` from paths).
|
||||
- All shared data structures are Pydantic models in `backend/periscopex/models.py` (or the native successor once rewritten).
|
||||
- Tests live under `tests/` against `simple_project/` as ground truth. Emmaforo behavior is a live spec, not a license to skip unit tests.
|
||||
- Extraction prompts live in `skills/` and run in-process. Bump `default_model_version` in `skills_manifest.json` when skill prompts change; never call Anthropic Console.
|
||||
- Use stdlib hashing (`hashlib.scrypt` in `local_users.hash_password`) for local passwords. Do not invent a homemade hash.
|
||||
- `repo_paths.py` locates taxonomy, skills, vendor, changelog. Do not hard-code `/app` without the Docker heuristic that also requires `vendor/`.
|
||||
- Format and lint with the repo’s existing tools. Do not drive-by reformat unrelated files.
|
||||
|
||||
Reference in New Issue
Block a user