Skip to content

Commit e6fc825

Browse files
committed
docs: address comprehensive review feedback
- Add precedence hierarchy for conflict resolution - Clarify multi-directory change handling - Add README/docs links for new contributors - Add explicit test coverage and regression requirements - Define user-visible changes with examples - Add validation workflow guidance
1 parent 6f339f9 commit e6fc825

File tree

3 files changed

+34
-5
lines changed

3 files changed

+34
-5
lines changed

.github/copilot-instructions.md

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,34 @@ For project context and directory routing, read root `AGENTS.md` first.
77

88
`AGENTS.md` files provide directory scope/guardrails and should not duplicate Copilot policy text.
99

10+
## Precedence hierarchy (conflict resolution)
11+
When guidance conflicts across files, apply in this order:
12+
1. `.github/copilot-instructions.md` (this file)
13+
2. Applicable `.github/instructions/*.instructions.md` files
14+
3. Nearest local `AGENTS.md` for edited path
15+
4. Root `AGENTS.md`
16+
1017
## Mandatory flow
1118
1. Read root `AGENTS.md`.
12-
2. Read nearest local `AGENTS.md` for edited files.
13-
3. Most specific AGENTS wins when multiple apply.
19+
2. For each edited file, read its nearest local `AGENTS.md`.
20+
3. If multiple directories changed, apply each scope's local AGENTS to corresponding files.
21+
4. Most specific AGENTS wins for each file.
1422

1523
## Contribution expectations
1624
- Keep diffs minimal and scoped to the task.
1725
- Preserve NumPy-compatible API behavior by default.
18-
- For behavior/API changes: update tests, and docs/examples when user-visible.
19-
- For bug fixes: prefer adding regression coverage.
26+
- For behavior/API changes: update tests, and docs/examples when user-visible (API signature/behavior, errors, examples output).
27+
- For bug fixes: add regression test coverage.
28+
29+
## Test and validation requirements
30+
- Add unit/integration tests for changed code paths.
31+
- For bug fixes: include regression tests.
32+
- Keep tests deterministic and scoped to changed behavior.
2033

2134
## Authoring rules
2235
- Use source-of-truth files for mutable details.
2336
- Do not invent or hardcode versions, flags, or matrix values.
37+
- Prefer single-purpose commits; avoid opportunistic refactors.
2438

2539
## Source-of-truth files
2640
All paths relative to project root:

.github/instructions/testing.instructions.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,17 @@ applyTo: "{dpnp/tests/**,tests_external/**}"
44

55
# Testing Instructions for GitHub Copilot
66

7-
- Add regression tests for bug fixes.
7+
## Test coverage requirements
8+
- Add unit/integration tests for all changed code paths.
9+
- For bug fixes: include regression tests that cover the fixed scenario.
10+
11+
## Test quality
812
- Keep tests deterministic and scoped to changed behavior.
913
- Prefer smallest test surface proving correctness.
14+
15+
## Validation workflow
16+
Ensure tests pass locally before PR submission:
17+
```bash
18+
pytest dpnp/tests/ # core tests
19+
pytest tests_external/ # integration tests
20+
```

AGENTS.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ Entry point for agent context in this repo.
55
## What this repository is
66
`dpnp` is the Data Parallel Extension for NumPy: a NumPy-compatible Python API with accelerated execution backends and cross-platform packaging/CI.
77

8+
For detailed documentation, build instructions, and contribution guidelines, see:
9+
- `README.md` (project overview and quickstart)
10+
- `CONTRIBUTING.md` (if exists, or refer to project docs)
11+
812
## How to work in this repo
913
- Keep changes small and single-purpose (bug fix, perf, docs, or infra).
1014
- Preserve NumPy-compatible API behavior by default; call out intentional behavior changes in PR text.

0 commit comments

Comments
 (0)