Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,16 @@ close the pull request as merged by that commit. This exception changes only who
creates the reviewed commit; it does not waive the branch, CI, review, or
clean-head gates.

## Protected master

GitHub branch protection requires a pull request, an up-to-date passing
`portable` check, resolved conversations, and linear history on `master`.
Force pushes and deletion are disabled. Administrator enforcement remains off
only so the privacy-safe local squash procedure above can preserve the required
noreply identity. Use that bypass solely after all branch, local CI, hosted CI,
remote-diff review, feedback, and clean-head gates pass; never use it for an
ordinary direct implementation push.

## Milestone delivery loop

For every roadmap increment:
Expand Down
10 changes: 9 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,18 @@ Telosieve welcomes narrowly scoped research, security, documentation, integratio
1. Start from current `master` with a clean worktree.
2. Create a focused branch and state atomic acceptance criteria.
3. Update implementation, behavioral tests, evidence, documentation, risks, compatibility, and roadmap state together.
4. Run `./scripts/ci-local.sh`. While the repository is private, this is the sole authoritative CI gate; absent hosted checks are policy-compliant and must not be described as passing.
4. Run `./scripts/ci-local.sh`; the complete local gate and applicable hosted
`portable` check must both pass.
5. Open a pull request describing impact, validation, limitations, and any unresolved evidence gap.
6. Address material review findings and rerun the complete local gate at the reviewed head.

The protected `master` branch requires an up-to-date passing `portable` check,
a pull request, resolved review conversations, and linear history. Force pushes
and branch deletion are disabled. Repository-administrator bypass exists only
for the documented privacy-safe local squash procedure in
[Release Strategy](docs/RELEASE.md); it does not authorize ordinary direct
pushes or omitted review.

Do not add hosted CI, publish packages, change repository visibility, weaken fail-closed behavior, introduce mutation credentials, or broaden product claims without the separately documented approval gates.

## Engineering expectations
Expand Down
13 changes: 13 additions & 0 deletions docs/IMPLEMENTATION_PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -1179,3 +1179,16 @@ Evidence: [Public Opening Decision](PUBLIC_OPENING_DECISION.md),
[Release Strategy](RELEASE.md), [GitHub Pages Website](GITHUB_PAGES.md),
`.github/workflows/`, `scripts/validate-hosted-workflows.py`, `CHANGELOG.md`, and
`RELEASE_NOTES_v0.2.0-rc.4.md`.

## Post-M68 - protected default branch

- [x] Protect `master` with mandatory pull requests, strict up-to-date portable
CI, resolved conversations, linear history, and stale-approval dismissal.
- [x] Disable force pushes and branch deletion.
- [x] Retain administrator bypass only for the documented privacy-safe local
squash path, without weakening branch, CI, review, or clean-head gates.
- [x] Verify the effective protection through the GitHub branch-protection API
and record the contributor and release procedure.

Evidence: [Release Strategy](RELEASE.md), `AGENTS.md`, `CONTRIBUTING.md`, and
GitHub branch protection for `master`.
20 changes: 20 additions & 0 deletions docs/RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,26 @@ public-history, Pages, and supply-chain checks on pull requests and
and reproducible-build qualifications. Release requires both applicable hosted
checks and a successful clean-head local gate.

### Protected `master`

GitHub branch protection on `master` requires:

- a pull request, with stale approvals dismissed;
- the strict, up-to-date `portable` GitHub Actions check;
- resolved review conversations and linear history; and
- force-push and branch-deletion prevention.

The required approval count is zero because this owner-operated research
repository does not yet have an independent maintainer quorum. This does not
remove the pull-request or complete remote-diff review requirement.

Administrator enforcement is deliberately disabled only for the narrow
privacy-safe merge procedure in `AGENTS.md`: after the reviewed feature head
passes local and hosted CI, the owner may create the squash commit locally with
the repository noreply identity and push that reviewed commit to `master`.
Using the bypass for unreviewed implementation, failed CI, force-pushing,
deletion, or omitted pull-request evidence is prohibited.

The bundle-signature protocol authenticates exact candidate bytes against a
separately supplied context, time, signer, key identifier, and public key. Test
keys are ephemeral. Promotion still requires approved operational signing
Expand Down