You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For project-wide conventions, read [`.github/copilot-instructions.md`](../../.github/copilot-instructions.md): licensing, security defaults, architecture, Makefile targets, documentation policy, and how skills are organized.
16
+
17
+
**Do not duplicate** policy from that file or from skills. Use short pointers only in Cursor rules.
18
+
19
+
## Skills
20
+
21
+
When the task touches a language, build system, tests, security, or documentation, discover and read the relevant `SKILL.md` under [`.github/skills/`](../../.github/skills/) (browse the directory or follow routing in `copilot-instructions.md`). Do not assume a fixed list of skill files.
22
+
23
+
## Service guides
24
+
25
+
Before substantive changes in a component tree, find and read `Agents.md` in that service’s directory (search upward from edited paths or the component root). Not every folder has one; use it when present.
26
+
27
+
## Cursor workflow
28
+
29
+
- Prefer root `Makefile` test targets unless a narrower pytest run is explicitly required (details live in skills).
30
+
- Run commands in the real environment; investigate failures before giving up.
31
+
- Commits and pull requests only when the user asks (see user/global Cursor rules).
32
+
- Keep changes minimal and match existing conventions in the touched area.
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+6-24Lines changed: 6 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -129,33 +129,15 @@ make rebuild-core # Clean + build (useful after code changes)
129
129
130
130
## Testing Framework
131
131
132
-
**For comprehensive test creation guidance, see `.github/skills/testing/SKILL.md`** - detailed instructions on creating unit, functional, integration, UI, and smoke tests with both positive and negative cases.
132
+
Testing guidance is intentionally centralized in skills to avoid duplication.
133
133
134
-
**Test infrastructure** is fully pytest-based. Docker Compose lifecycle is managed by session-scoped fixtures in `tests/conftest.py`. Tests declare their service requirements via a module-level `SCENESCAPE_SPEC` using `FuncTestSpec` + `ServiceProfile`.
134
+
- Canonical test authoring and categorization guidance: `.github/skills/testing/SKILL.md`
135
+
- Canonical runtime verification and completion rules: `.github/skills/test-verification-gate/SKILL.md`
135
136
136
-
**Running Tests** (from repo root):
137
+
At this level, only rely on high-level routing:
137
138
138
-
```bash
139
-
make setup-tests # Build test images, secrets, venv
140
-
make run_basic_acceptance_tests # Smoke tests (functional + ui + unit + stability)
141
-
make run_standard_tests # Functional + UI + security + stability
142
-
make run_functional_tests # Functional tests only
143
-
make run_ui_tests # UI/Selenium tests only
144
-
make run_unit_tests # Unit tests only (sscape_tests)
145
-
make run_metric_tests # Tracker quality metrics
146
-
make run_performance_tests # Inference performance + geometry
147
-
make run_stability_tests HOURS=24 # Long-running stability
148
-
```
149
-
150
-
**Running tests directly with pytest** (from repo root, with tests/.venv activated):
151
-
152
-
```bash
153
-
pytest tests/sscape_tests # Unit tests
154
-
pytest tests/functional # All functional tests
155
-
pytest tests/functional/test_roi_mqtt.py # Single functional test
156
-
pytest tests/ -m basic_acceptance # Smoke suite only
157
-
pytest tests/ --junitxml=results.xml 2>&1| tee output.log # Save results to file
158
-
```
139
+
- Test infrastructure is pytest-based with Docker Compose lifecycle managed in `tests/conftest.py`.
140
+
- Prefer root `Makefile` test targets for execution unless a narrower, explicit pytest invocation is required.
echo"Warning: could not set restrictive permissions on $(SECRETSDIR) in CI; secrets may be more exposed on this filesystem. Ensure runner isolation controls are in place.";\
0 commit comments