Skip to content

chore(governance): record Classic Pages settings - #71

Merged
zoeyrose merged 2 commits into
mainfrom
chore/classic-pages-governance
Aug 14, 2026
Merged

chore(governance): record Classic Pages settings#71
zoeyrose merged 2 commits into
mainfrom
chore/classic-pages-governance

Conversation

@zoeyrose

@zoeyrose zoeyrose commented Aug 14, 2026

Copy link
Copy Markdown
Member

Summary

  • record the provider-managed atrinik/classic Pages site and exact github-pages environment as manual desired state
  • validate repository/site/source/workflow-marker/environment identity and fail closed on drift
  • permit only the exact legacy main-root source while the immutable deployment marker is absent from the default branch
  • require the Actions source as soon as the reviewed Classic workflow marker lands
  • document the read-only preflight, post-merge source switch, bootstrap, verification, and rollback boundary

Closes #70.
Related to atrinik/classic#311.
Consuming workflow: atrinik/classic#317

Coordinates

  • Base: main at 4e24785c734d819af47422c0747cbe35c7251c40
  • Head: chore/classic-pages-governance at 2a358367540be20a1db79efffe1851c1ee9651ba
  • Worktree: /workspaces/atrinik/workspace/worktrees/github-settings/issue-70-classic-pages
  • Commits: a208b71 chore(governance): record Classic Pages settings; 2a35836 fix(governance): constrain empty environment secrets

Validation

  • bin/validate
  • tests/validate-manual-environments.sh
  • tests/verify-manual-settings.sh
  • bash -n bin/validate bin/verify-manual-settings tests/validate-manual-environments.sh tests/verify-manual-settings.sh
  • shellcheck bin/validate bin/verify-manual-settings tests/validate-manual-environments.sh tests/verify-manual-settings.sh
  • bin/verify-manual-settings against live GitHub: expected PENDING legacy Pages source; both environments and other manual settings converged
  • bin/publish plan: no unexpected deletion or policy relaxation; manual settings remain explicitly non-applied
  • git diff --check 4e24785c734d819af47422c0747cbe35c7251c40..HEAD

A fresh complete post-fix review found zero known actionable findings. The schema regression suite confirms that only the exact github-pages environment may declare an empty secret set.

Activation boundary

This PR does not mutate live Pages. It may merge before the consuming Classic PR. After both are merged, an organization owner must follow the documented runbook to switch only atrinik/classic Pages to the Actions source, run the live verifier, and bootstrap the report from the recorded final generated-data commit.

@zoeyrose
zoeyrose marked this pull request as ready for review August 14, 2026 17:40
@zoeyrose

Copy link
Copy Markdown
Member Author

Final whole-diff review is complete at 2a358367540be20a1db79efffe1851c1ee9651ba.

  • zero known actionable findings remain
  • schema validation, fake-live verification, Bash syntax, ShellCheck, and diff checks passed
  • read-only live verification reports the expected pending legacy Pages source and converged github-pages/discord-release environments
  • the publisher remained in plan mode and proposed no unexpected deletion or policy relaxation
  • all latest-head checks passed; rendered body, unchanged base, mergeability, comments, and review threads were rechecked

This PR is ready to merge. It does not mutate the live Pages source; activation remains the documented post-merge owner operation after the consuming Classic PR lands.

@zoeyrose zoeyrose moved this to Review in Atrinik work Aug 14, 2026
zoeyrose added a commit to atrinik/classic that referenced this pull request Aug 14, 2026
## Summary

- repair the trusted daily benchmark to run the exact complete
`client-benchmark` matrix and preserve explicit early-failure
diagnostics
- replace generated-branch persistence with a bounded, digest-validated,
no-JavaScript Pages site and versioned JSON checkpoint
- retain detailed points separately from compact trend/state, enforce
90-point, cohort, file, and byte bounds, and physically prune aged files
- validate the last successful Pages deployment or the recorded final
generated-data commit before deterministic projection
- isolate benchmark/projection, Pages deployment, and alert permissions;
remove every report-path `contents: write`
- reconcile regression issues idempotently only after a successful
deployment
- document interpretation, bootstrap, rerun/backfill, recovery, provider
outage, and post-merge activation

Supports #311. The issue remains the manual post-merge close path
because its 30-consecutive-point rollout criterion cannot be satisfied
by merging code.

Governance companion: atrinik/github-settings#71

## Coordinates

- Base: `main` at `1f98d430a03e6d9fbf6f27f4ca1356542d905d08`
- Head: `feat/benchmark-pages` at
`aaf359d3aae4c41f2c5d89395b9f4410b1b7a62e`
- Worktree:
`/workspaces/atrinik/workspace/worktrees/classic/issue-311-benchmark-pages`
- Commits: `2279042 feat(ci): publish branchless performance reports`;
`aaf359d fix(ci): harden performance checkpoint recovery`
- Frozen bootstrap commit: `bab40ecefefa5b6052d42eab6390c504b9482e81`

## Validation

- `python3 -m unittest discover -s tools/tests -p 'test_*.py'` — 233
passed
- `python3 -m compileall -q tools/ci tools/tests`
- `python3 tools/verify_import_history.py` — five imported histories
verified
- `actionlint .github/workflows/*.yml`
- exact frozen-data bootstrap rehearsal — generation 1 retained
historical run `31755454661` plus a fresh compatible projection
- `git diff --check 1f98d43..HEAD`

Two complete whole-diff review rounds finished with zero known
actionable findings. The focused tests cover byte-stable reconstruction,
split projection, manifest/detailed-point/report binding, higher-attempt
replacement, watermarks and global pruning, HTML escaping/no JavaScript,
tamper and stale-file failure, synthetic alert regression/recovery,
partial-operation retry deduplication, ambiguous issue ownership, exact
matrix/trust restrictions, pinned Actions, and job permission isolation.

## Verification and activation

Gameplay runtime is not applicable: this change owns CI evidence
projection and static publication, not client/server behavior. Before
merge, use the validation commands above.

After this PR and the governance companion merge, an organization owner
follows the governance runbook to switch the exact Classic Pages site to
the Actions source. Then dispatch `Daily Classic client performance`
from `main` once with `checkpoint_source=final-benchmark-data`, verify
the raw/checkpoint artifacts and deployed endpoints, and use
`checkpoint_source=pages` for every later manual run. Do not delete or
update `benchmark-data`; its final commit remains rollback evidence.

The prior site remains live on benchmark, predecessor, projection,
validation, or deployment failure. Human rollout evidence—manual
bootstrap, scheduled continuity, synthetic live alert transition, and at
least 30 compatible daily points—remains tracked on #311 after merge.
@zoeyrose
zoeyrose merged commit 19895ca into main Aug 14, 2026
5 checks passed
@zoeyrose
zoeyrose deleted the chore/classic-pages-governance branch August 14, 2026 19:19
@github-project-automation github-project-automation Bot moved this from Review to Done in Atrinik work Aug 14, 2026
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 2.0.2 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

chore(governance): record Classic Pages deployment settings

1 participant