diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index d34de54..2fec043 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -13,7 +13,7 @@ Link the relevant requirement, research note, issue, and ADR, or explain why non ## Checklist - [ ] The branch contains one coherent change and no unrelated churn. -- [ ] Tests and repository hygiene checks pass. +- [ ] Required local tests and repository hygiene checks pass, and their exact evidence is listed above. - [ ] Security, privacy, compatibility, and licensing effects were considered. - [ ] Requirements, operational docs, ADRs, project memory, and status were updated where their facts changed. - [ ] Stale or conflicting memory and documentation were removed rather than preserved as a diary. diff --git a/.github/workflows/native-sender-package.yml b/.github/workflows/native-sender-package.yml index 2dadd58..9ef988e 100644 --- a/.github/workflows/native-sender-package.yml +++ b/.github/workflows/native-sender-package.yml @@ -2,12 +2,6 @@ name: Native sender package on: workflow_dispatch: - pull_request: - paths: - - "native/sender/**" - - "native/window-capture-helper/**" - - "scripts/package-native-sender.ps1" - - ".github/workflows/native-sender-package.yml" push: branches: - main diff --git a/.github/workflows/repository-hygiene.yml b/.github/workflows/repository-hygiene.yml index 571c243..0dc0e33 100644 --- a/.github/workflows/repository-hygiene.yml +++ b/.github/workflows/repository-hygiene.yml @@ -1,10 +1,10 @@ name: CI on: - pull_request: push: branches: - main + workflow_dispatch: permissions: contents: read @@ -20,7 +20,7 @@ jobs: - name: Validate tracked project state run: sh scripts/check-project-state.sh env: - SCREENER_BASE_SHA: ${{ github.event.pull_request.base.sha || github.event.before }} + SCREENER_BASE_SHA: ${{ github.event.before }} - name: Set up Go uses: actions/setup-go@v6 with: diff --git a/AGENTS.md b/AGENTS.md index 71d70af..1ad19c1 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -29,6 +29,7 @@ ## Git Workflow - Work on a short-lived branch for each coherent change. Use `feat/`, `fix/`, `docs/`, `refactor/`, `test/`, `chore/`, or `spike/` prefixes. +- Treat GitHub Actions as an acceptance-boundary resource: feature branches and pull requests use local gates and do not trigger workflows; run Actions only for `main` integration, releases, or explicit manual dispatch. Do not retry zero-step or infrastructure failures. - Keep work-in-progress and checkpoint branches local. Do not push a branch merely for backup, agent handoff, or intermediate review; after local validation and review, push it once to open the final pull request. Direct changes to `main` require an explicit exception. - Default to squash-merging each coherent, non-stacked pull request so `main` receives one meaningful `feat`, `fix`, `docs`, or other conventional commit. Use a merge commit only for an explicitly stacked dependency whose parent ancestry must remain intact; do not use ordinary merge by habit. - Delete a remote branch only after verifying that its pull request is merged, its current head still equals the merged pull request head, and no open pull request uses it as a head or base. Keep branches required by an active stacked pull request chain. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 75f8ec1..144f495 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,9 +7,9 @@ 3. For non-trivial design, implementation, or bug fixing, inspect the repository and research current primary sources before changing code. Record durable findings under `docs/research/`. 4. Implement the smallest complete change. Add tests and concise rationale comments in proportion to risk. 5. Update requirements, ADRs, project memory, status, and operational docs when their source facts changed. Replace stale text instead of appending a diary. -6. Run `sh scripts/check-project-state.sh` on macOS/Linux/Git Bash or `./scripts/check-project-state.ps1` on PowerShell, plus `npm run check` and any relevant manual browser/network checks. +6. Run `sh scripts/check-project-state.sh` on macOS/Linux/Git Bash or `./scripts/check-project-state.ps1` on PowerShell, plus `npm run check` and any relevant manual browser/network checks. Record this local evidence in the pull request; GitHub Actions are reserved for `main` integration, releases, and explicit manual runs. 7. Make focused commits using `type(scope): summary` where practical, then push the branch. -8. Open a pull request using the repository template. Resolve review comments and required checks before merging. +8. Open a pull request using the repository template. Resolve review comments and required local checks before merging. 9. Prefer squash merge for a single coherent change; preserve separate commits when they carry independently useful history. Delete the merged branch. Direct commits to `main` are reserved for an explicit user-approved exception. Never force-push shared branches or rewrite shared history without explicit approval.