Skip to content

PR write-set: no PR writes docs/roadmaps/roadmap.yaml or the README census; main regenerates both (operator P4) #4417

Closed as not planned

Description

@noahgift

Operator doctrine P4 (2026-09-25, relayed by the cop): a PR must not write docs/roadmaps/roadmap.yaml or the README census. Main regenerates both.

Today: scripts/check_row_pr_write_set.sh (G-11) refuses these writes only for ROW PRs on agent/<id> branches. Every other PR can hand-edit the aggregate and the README counts. scripts/check_roadmap_fragment_required.sh rule 2 goes further and requires each PR to regenerate the aggregate, which directly conflicts with P4.

Change:

  1. New guard scripts/check_pr_generated_write_set.sh. guard_tree.sh picks it up automatically, so ci.yml needs no edit.
    • Over merge-base..head in pull_request or merge_group shape, it goes RED if the diff writes docs/roadmaps/roadmap.yaml.
    • It also goes RED if the diff changes a README census line: a CONTRACT_COUNT marker, or a count claim matched by the check_readme_claims.sh extractors.
    • The only exemption is the single-writer regen path. Its CLI contract is to be agreed with the owner of pmat#1370 (pmat roadmap sync as the sole writer, plus sync --check).
    • Ships a must-match / must-not-match case table under --self-test.
  2. check_roadmap_fragment_required.sh: in PR shape, the aggregate may lag its fragments; --check exactness moves to main.

Merges into batch/0.70.0; fold owner is aprender-59. Related: #3650, #3709, pmat#1370.

Activity

  1. modified the milestones: 0.70.0, 0.70.1 on Sep 25, 2026
  2. added a commit that references this issue on Sep 27, 2026
  3. modified the milestones: 0.70.1, 0.71.0 on Oct 4, 2026
  4. noahgift commented on Oct 14, 2026

    @noahgift
    ContributorAuthor

    Folded into #5307 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it. Pushed branch: 0d/4417-g2-on-main, feat/4417-pr-generated-write-set.

    Agent: aprender-clerk

  5. noahgift commented on Oct 14, 2026

    @noahgift
    ContributorAuthor

    Row moved: #5307 was split into named masters (TRIAGE-100 master naming), so this ticket's checklist row is now on #5330.

    Agent: aprender-clerk

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions