Skip to content

Commit f1ce10a

Browse files
authored
docs(governance): align issue/commit granularity guidance (#7)
1 parent c8a3c4a commit f1ce10a

File tree

3 files changed

+59
-3
lines changed

3 files changed

+59
-3
lines changed

AGENTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ This repository is the source for generating C/C++ template repositories.
99
3. Treat setup scripts as cross-platform contracts (`sh`, `ps1`, `cmd`).
1010
4. Validate all model scaffolds before release.
1111
5. Preserve low-friction defaults and explicit error messaging.
12+
6. For GitHub Project-managed repos, implement only against clear issues; keep issues and commits small and issue-scoped by default (`one issue -> one small commit set`), with documented exceptions for non-diff, discovery-first, or unavoidable architecture-wide work.

templates/common/AGENTS.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,9 @@ This repository follows Tinman Doctrine.
2020
- Avoid secrets in commits and docs
2121
4. Delivery quality bar:
2222
- Keep changes small and focused
23+
- If work is tracked in GitHub Projects, implement only against a clear issue
24+
- Prefer small, unambiguous issues; split broad tasks into manageable subtasks
25+
- Keep commits small and issue-scoped; default to one issue -> one small commit set
26+
- Exceptions are allowed for non-diff tasks, discovery-first work, or unavoidable architecture-level changes; document rationale in the issue or PR
2327
- Ensure lint/tests/build pass for touched areas
2428
5. If local repo policy conflicts with doctrine snapshot, follow local repo files and call out the conflict explicitly.

templates/common/docs/doctrine/repo-management.md

Lines changed: 54 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Repo Governance Doctrine
22

33
Status: Stable
4-
Last Reviewed: 2026-02-28
4+
Last Reviewed: 2026-03-04
55

66
## Scope
77

@@ -18,8 +18,9 @@ This is policy and doctrine, not automation.
1818

1919
1. Commit signing policy
2020
2. Commit message policy
21-
3. Repo placement policy (Personal vs Organization)
22-
4. Visibility policy (Public vs Private vs Internal)
21+
3. GitHub Projects issue and commit granularity policy
22+
4. Repo placement policy (Personal vs Organization)
23+
5. Visibility policy (Public vs Private vs Internal)
2324

2425
## Commit Signing Policy
2526

@@ -126,6 +127,56 @@ For important repositories (templates, core libs, product repos), enforce both:
126127
- Signed commits
127128
- CI or hook-based commit message linting against this policy
128129

130+
## GitHub Projects Issue and Commit Granularity Policy
131+
132+
### Applicability
133+
134+
Mandatory when a repository is associated with a GitHub Project used for planning and execution.
135+
Advisory (not mandatory) for playground/experimental repositories that are not project-managed.
136+
137+
### Required outcome
138+
139+
- Work is issue-driven when the repo is project-managed.
140+
- Issues are small, specific, and unambiguous.
141+
- Commits are small and manageable by default.
142+
- Feature/fix/refactor delivery remains traceable from issue to implementation.
143+
144+
### Issue definition rules
145+
146+
- Define issue scope clearly (what to change and what is out of scope).
147+
- State expected result and completion criteria.
148+
- Avoid broad issue titles/descriptions that hide implementation decisions.
149+
- Split large work (feature, fix, refactor) into manageable issues or subtasks.
150+
- If an issue starts broad (research/discovery), split it into concrete sub-issues once implementation paths are known.
151+
152+
### Issue-to-commit mapping
153+
154+
- Default mapping: one issue -> one small commit set.
155+
- A commit set may contain multiple commits, but commits must remain within one issue scope.
156+
- Keep commit units logically staged and reviewable.
157+
- Reference the issue in commits/PRs where repository conventions support it.
158+
159+
### Exceptions
160+
161+
- Non-diff operational issues (for example, external settings or service configuration) may be completed without a repository commit.
162+
- Discovery-first issues may begin broad before decomposition.
163+
- Unavoidable architecture-level changes may require a larger commit set.
164+
- Even when larger changes are required, stage commits logically and document rationale in the issue or PR.
165+
166+
### Execution gating
167+
168+
- For project-managed repos, do not implement ad-hoc work without a corresponding issue.
169+
- Create or refine the issue first, then implement.
170+
- Close issues only after acceptance criteria are met.
171+
172+
### Enforcement baseline
173+
174+
For important repositories (templates, core libs, product repos), enforce:
175+
176+
- GitHub Projects usage discipline (work tracked by issues)
177+
- Issue templates that require scope + expected result + completion criteria
178+
- PR or CI checks that encourage issue linkage where feasible
179+
129180
## Repo Placement Policy (Personal vs Organization)
130181

131182
### Keep in personal account when

0 commit comments

Comments
 (0)