Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

merging-and-referencing-are-enforced — Merging and referencing are enforced: every pull request carries its metadata, every reference resolves, every number is taken once

Merging and referencing are projections, typed commands and gates: every pull request carries its metadata from the records, every reference resolves on master, every number is taken once.

PLÁNOVÁNO 0 z 10 úkolů hotovo

připraveno
3
blokováno
7
aktivní
0
verify
0
hotovo
0
zrušeno
0

Problém

A pull request carries only what its author typed, and the repository labels hold, collision:accepted and ci:yielded are named in code but declared nowhere. plan next offers work that already sits in an open pull request. A milestone dependency holds every issue of the milestone, 26 of them at 355a0cee79a with no unfinished dependency of their own, and nothing names them. Issue ids have no allocator. A GitHub issue created by hand with a record title is adopted by github-sync. A commit need not name its issue. The landing duties of a train member are a table in docs/INTEGRATION.md.

Výsledek

Merging and referencing are projections, typed commands and gates: every pull request carries its metadata from the records, every reference resolves on master, every number is taken once.

Aktuální stav

scripts/github-sync projects issues, milestones and four label families (majordomus, priority, status, execution) from the trunk only and never touches a pull request; plan.next ranks READY by stamps alone (plan.rs:567-580); the milestone gate blocks every issue of a blocked milestone (plan.rs:1110-1130); scripts/case-numbers and lib/adr.sh each survey tree, worktrees, refs and board for one identifier; commit.validate has no rule about naming an issue; nothing declares the label vocabulary.

Cílový stav

Každé kritérium záměru nese zde některý úkol a dokazuje ho jeho test.

Rozsah

  • scripts/github-sync
  • scripts/ci/github-check
  • scripts/ci/collision-gate
  • scripts/case-numbers
  • lib/adr.sh
  • apps/majordomus-cli/src/plan.rs
  • apps/majordomus-cli/src/commit
  • apps/majordomus-cli/src/convergence
  • docs/INTEGRATION.md
  • CONTRIBUTING.md

Kritéria přijetí

  • Every open pull request carries labels, the GitHub milestone of the issue it serves, an assignee and a managed body region of Refs links, projected from the records, with no closing keyword
  • An issue whose work sits in an open pull request or under a live branch claim is never the answer of plan next or plan ready
  • plan validate names every issue held only by its milestone gate, and an issue may declare that it needs nothing from its milestone dependencies
  • A pull request naming a record id that resolves neither on master nor in itself is refused, and convergence reports stranded records
  • Issue ids, ADR numbers and case numbers come from one survey, and two branches adding one number under different names are refused
  • A GitHub issue is created only by github-sync, an issue nobody projected is reported on GitHub, and an issue without a record marker is never adopted
  • A commit naming no issue or carrying a closing keyword is refused outside the narrow exemptions, judged after a recorded boundary
  • Every served page names only versions of the release model
  • Each train member is judged on its merged tree, and a fix member carries a test and its coverage
  • Every label and convention is declared once, projected and checked

Validace

  • bin/majordomus plan validate
  • bin/majordomus intent validate

Požadované důkazy

  • pr_metadata_projected
  • work_in_review_is_not_next
  • milestone_gate_is_explained
  • references_resolve_on_master
  • one_allocator
  • issues_come_from_the_projection
  • every_commit_names_its_issue
  • one_version_everywhere
  • merged_result_is_judged
  • conventions_declared_once

Úkoly

Každý z nich je prováděcí kontrakt s vlastními kritérii přijetí, validačním příkazem a požadovanými důkazy. Sloupec wave je vrstva grafu závislostí, v níž úkol leží.

issuestatusvlnazávisí nanázev
I3970 BLOKOVÁNO 1 I3979 Every pull request carries its metadata, projected from the trunk's records: labels, milestone, assignee and Refs links, never a closing keyword
I3971 BLOKOVÁNO 4 I3754 Work in an open pull request or under a live branch claim is reported taken and is never the next issue
I3972 BLOKOVÁNO 1 I3757 plan validate names every issue held only by its milestone gate, and an issue may declare it needs nothing from the milestone's dependencies
I3973 PŘIPRAVENO 0 — A record is referenced only once it is on master: a pull request naming an unlanded id is refused, and convergence reports stranded records
I3974 PŘIPRAVENO 0 — One allocator surveys every number (issue ids, ADR numbers, case numbers), and two branches adding one number under different names are refused
I3975 BLOKOVÁNO 2 I3970, I3979 GitHub issues are created only by github-sync: an agent's raw create is refused, an issue nobody projected is reported on GitHub, and an unmarked issue is never adopted
I3976 BLOKOVÁNO 2 I3973, I3915 Every commit names the issue it serves, outside narrow machine-verifiable exemptions, with the earlier history as a baseline
I3977 BLOKOVÁNO 1 I3449 Every page a deployment serves names only versions of the release model, checked after the deploy
I3978 BLOKOVÁNO 2 I3915 Each train member is judged on its merged tree, and a fix member joins only with a test and its changed-code coverage
I3979 PŘIPRAVENO 0 — Every label, branch prefix and commit type is declared once, projected to GitHub, described in CONTRIBUTING and checked

Graf

merging-and-referencing-are-enforced dependency graphz .ai/repo/project
flowchart LR
    I3970["I3970<br/>Every pull request carries its metadata, projected from the trunk's records: labels, milestone, assignee and Refs links, never a closing keyword"]:::blocked
    I3971["I3971<br/>Work in an open pull request or under a live branch claim is reported taken and is never the next issue"]:::blocked
    I3972["I3972<br/>plan validate names every issue held only by its milestone gate, and an issue may declare it needs nothing from the milestone's dependencies"]:::blocked
    I3973["I3973<br/>A record is referenced only once it is on master: a pull request naming an unlanded id is refused, and convergence reports stranded records"]:::ready
    I3974["I3974<br/>One allocator surveys every number (issue ids, ADR numbers, case numbers), and two branches adding one number under different names are refused"]:::ready
    I3975["I3975<br/>GitHub issues are created only by github-sync: an agent's raw create is refused, an issue nobody projected is reported on GitHub, and an unmarked issue is never adopted"]:::blocked
    I3976["I3976<br/>Every commit names the issue it serves, outside narrow machine-verifiable exemptions, with the earlier history as a baseline"]:::blocked
    I3977["I3977<br/>Every page a deployment serves names only versions of the release model, checked after the deploy"]:::blocked
    I3978["I3978<br/>Each train member is judged on its merged tree, and a fix member joins only with a test and its changed-code coverage"]:::blocked
    I3979["I3979<br/>Every label, branch prefix and commit type is declared once, projected to GitHub, described in CONTRIBUTING and checked"]:::ready
    I3970 --> I3975
    I3973 --> I3976
    I3979 --> I3970
    I3979 --> I3975
    classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
    classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
    classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
    classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
    classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
    classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px

Canonical record: .ai/repo/project/milestones/merging-and-referencing-are-enforced.yaml. Read it back with majordomus plan show merging-and-referencing-are-enforced.

Prohledává názvy a popisy všech stránek, které tento web publikuje.