Skip to content
Merged
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: 5 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: Tests

on:
push:
branches: [main, node-graph]
branches: [main]
pull_request:
branches: [main, node-graph]
branches: [main]

jobs:
changes:
Expand Down Expand Up @@ -166,9 +166,9 @@ jobs:
- name: Verify the graph acceptance burndown is monotone
# The charter's second process rule, executable: the number of red
# properties in the microcosm-graph acceptance suite never rises
# against origin/node-graph. The tool fetches that ref itself when the
# CI checkout does not carry it, and warns rather than failing when the
# branch is gone, so this cannot break main after the shard merges.
# against origin/main. The tool fetches that ref itself when the CI
# checkout does not carry it, and warns rather than failing when the
# baseline is unavailable.
run: uv run python tools/graph_acceptance_burndown.py --verify
- name: Sync workspace
run: uv sync --all-packages --locked
Expand Down
1 change: 1 addition & 0 deletions changelog.d/graph-ratchet-baseline-main.changed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The graph acceptance burndown ratchet and the test workflow now baseline on `main`; the `node-graph` integration branch has merged.
4 changes: 2 additions & 2 deletions docs/graph-acceptance.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Three process rules keep the suite honest:
implementation PR fails CI, so a test can never be green by accident.
2. **Monotone burndown.** `tools/graph_acceptance_burndown.py --verify`
fails if the number of `xfail` markers in the suite is higher than on
`origin/node-graph`. Nobody re-reds a property.
`origin/main` (`origin/node-graph` until the shard merged). Nobody re-reds a property.
3. **Implementer ≠ author.** The lane that writes a property's test is a
different lane from the one that makes it pass, and implementation
pull requests never edit the suite. Ownership is in the last section.
Expand Down Expand Up @@ -219,6 +219,6 @@ pull request reviewed by the Fable main.
- **Max:** the rulings in the review's "Decisions that are yours" as they
come due, and the `node-graph → main` merge.

Branch: `node-graph`, off `origin/main` at `4c6cc58c`. Work lands as pull
Branch: `node-graph`, off `origin/main` at `4c6cc58c`; merged into `main` on 2026-09-02 in #836 with every property green. Work lands as pull
requests into `node-graph`; `node-graph` merges to `main` when the suite has
zero `xfail` markers and H1–H2 are green.
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ def _repository(tmp_path: Path, sources: dict[str, str]) -> Path:
)
for name, text in sources.items():
(root / "packages" / "microcosm-graph" / "tests" / name).write_text(text)
subprocess.run(["git", "init", "-q", "-b", "node-graph"], cwd=root, check=True)
subprocess.run(["git", "init", "-q", "-b", "main"], cwd=root, check=True)
subprocess.run(["git", "add", "-A"], cwd=root, check=True)
subprocess.run(
[
Expand All @@ -197,7 +197,7 @@ def _repository(tmp_path: Path, sources: dict[str, str]) -> Path:
check=True,
)
subprocess.run(
["git", "update-ref", "refs/remotes/origin/node-graph", "HEAD"],
["git", "update-ref", "refs/remotes/origin/main", "HEAD"],
cwd=root,
check=True,
)
Expand Down
6 changes: 3 additions & 3 deletions tools/graph_acceptance_burndown.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
marker on a helper would all fool a text search, and the number this prints is
the number the charter is scored on.

``--verify`` compares against ``origin/node-graph``, file by file, and exits 1
``--verify`` compares against ``origin/main``, file by file, and exits 1
if any file's count rose. A file that does not exist on the baseline is
reported as new and constrains nothing; a file that does is a ratchet. It also
refuses a marker that is not ``strict=True`` (a non-strict marker hides an
Expand Down Expand Up @@ -40,8 +40,8 @@
CHARTER = "docs/graph-acceptance.md"

#: The branch the ratchet compares against, and how to fetch it if absent.
BASELINE_REF = "origin/node-graph"
BASELINE_REFSPEC = "+refs/heads/node-graph:refs/remotes/origin/node-graph"
BASELINE_REF = "origin/main"
BASELINE_REFSPEC = "+refs/heads/main:refs/remotes/origin/main"

#: Charter ids this suite owns. Group V (the visuals) belongs to another lane
#: and is not an ``xfail`` in this suite.
Expand Down
Loading