-
Notifications
You must be signed in to change notification settings - Fork 9
chore(governance): PR template with Red-then-green DoD (G-1) #1349
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
dec7f1a
chore(governance): PR template with Red-then-green DoD (G-1)
SharedQA 9e10fee
chore(governance): replace non-existent `make check`; define the ratchet
SharedQA 9ce4c1f
chore(governance): scope template to backend/data; drop FE checklist
SharedQA 4f039e7
Merge remote-tracking branch 'origin/main' into u-1349
SharedQA e841784
Merge branch 'main' into claude/pr-template-dod
SharedQA File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| ## What & why | ||
|
|
||
| <!-- One paragraph. Link the FEATURE / issue this PR satisfies. --> | ||
|
|
||
| **Linked:** <!-- #issue / TAF-XXX --> | ||
|
|
||
| ## Definition of Done | ||
|
|
||
| > **Red-then-green:** a fix lands with a test that **failed before** it and **passes after**. The expected value comes from the spec, never from what the code currently returns. | ||
|
|
||
| - [ ] Requirement linked & scope matches the FEATURE / issue | ||
| - [ ] Added/updated a test that is **red without this change, green with it** | ||
| - [ ] Tests are at the right layer (unit / contract / e2e) and assert **intended** behavior, not current output | ||
| - [ ] Local checks pass **before push** — Rust: `cargo fmt --check`, `cargo clippy -- -D warnings`, `cargo test`; .NET: `dotnet test`; Docs: `cpt validate` | ||
| - [ ] Coverage held or raised vs the base branch — the **ratchet** (CI fails if coverage drops below the base) | ||
| - [ ] Negative paths covered (null / empty / error / unauthorized) — no silent failure | ||
| - [ ] Docs / spec (DESIGN / FEATURE) updated | ||
|
|
||
| ### Data (dbt / connectors / SQL) — or check N/A: [ ] | ||
|
|
||
| - [ ] New connector: its data actually reaches the unified `silver:class_*` set | ||
| - [ ] Changed silver schema: dependent **gold views still resolve** (no missing column) | ||
| - [ ] New/changed model: strict **`contract: {enforced: true}`** with declared `data_type` (prevents type drift) | ||
| - [ ] Changed a metric: added/updated a **golden-value** regression test (parity with prior values) | ||
| - [ ] ReplacingMergeTree `order_by` dedup keys **cannot be NULL** (NULL ≠ NULL → double counting) | ||
| - [ ] Source freshness covered where applicable | ||
|
|
||
| ### API (serving layer) — or check N/A: [ ] | ||
|
|
||
| <!-- The React frontend lives in the insight-front repo; its render-contract / | ||
| Vitest / Playwright checklist belongs in that repo's PR template. --> | ||
|
|
||
| - [ ] **Honest NULLs:** when there's no data the API returns `NULL` / a `ComingSoon` flag, never `0` | ||
| - [ ] **Error vs empty:** a real failure is returned as an error status (e.g. HTTP 500), distinct from an empty-but-OK result, so the UI can tell them apart (not a silent empty body) | ||
|
|
||
| ## Evidence | ||
|
|
||
| <!-- Paste the test summary + coverage % (before → after) and any gate output. --> | ||
|
|
||
| ```text | ||
|
|
||
| ``` | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.