-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.cursorrules
More file actions
24 lines (19 loc) · 1.32 KB
/
Copy path.cursorrules
File metadata and controls
24 lines (19 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Global Rules for AI Assistants in this Workspace
## Python Execution
- ALWAYS use the Anaconda Python binary: ``/opt/anaconda3/bin/python3
- You can also use the shell alias `py` which is mapped to this binary.
- NEVER use the system default `python` or `python3`.
## Data Architecture
- Respect the Numbered Chain: `01_ingest` -> `02_process` -> `03_analyze` -> `04_deliver`.
- All processed data must land in `data/raw/` or `data/enriched/`.
- All public UI data must land in `output/`.
## Identity Resolution
- All contributor metrics must be resolved through `metadata/identities.json`.
- Do not use raw names or emails from Git/Social logs in final artifacts.
## Time Boundary (T-1)
- To prevent partial-day data skew, all time-based metric cutoffs (`now`, `anchor`) must be strictly truncated to the end of the previous day (T-1).
- Any exported `generated_at` string should also output the T-1 date, and frontends should display "Data as of: [T-1 Date]".
## Core vs Ecosystem Definitions
- "Core" explicitly means ONLY: `bitcoin/bitcoin`, `bitcoin-core/gui`, and `bitcoin-core/secp256k1`.
- Because forks share commits, always use a SET-based union of commit hashes across all three Core repos when calculating unique core commits.
- "Ecosystem" refers to the other tracked ecosystem repositories (e.g., guix.sigs, HWI, qa-assets, ...).