Skip to content

Land the design doc and fix the two broken required checks - #1

Merged
Ilyes512 merged 2 commits into
mainfrom
planning-phase
Aug 6, 2026
Merged

Ilyes512 merged 2 commits into
mainfrom
planning-phase

Conversation

@Ilyes512

@Ilyes512 Ilyes512 commented Aug 2, 2026 •

Copy link
Copy Markdown
Member

What

Adds docs/design.md, the design for labelsync, and fixes two required status checks that could never pass.

Why

The issue tracker has been seeded with a staged tree of 46 issues whose bodies link to sections of the design document by anchor. Those links only resolve once the document is on the default branch.

While verifying the checks would go green, both required checks in .github/rulesets/Main.json turned out to be broken:

  • "Integration tests" was listed as required, but no job in ci.yml ever emitted it. Every pull request to main would wait indefinitely on a check that does not exist. Added the job — it runs the integration build tag that Taskfile.dist.yml already passes, and is a green no-op until integration tests exist.
  • "Markdown gate" was failing because markdownlint-cli2 only recognises .markdownlint-cli2.yaml. The repo had .markdownlint-cli2.yml, so the config was never loaded and the tool exited with a usage error rather than linting anything. Renaming it also makes the paths-filter in md.yml match the filename it already referenced.

With the config actually loading, the design document had 7 real markdown errors — a <br> inside a table cell and an ordered list that skipped a number. Both fixed.

Also

Adds labels.yml, this repository's label catalogue. It is both the source of truth for the labels used by the issue tree and the worked example the documentation refers to, so it deliberately satisfies docs/design.md § Validation: globally unique colours, descriptions under 100 characters, explicit groups.

It also declares dependencies, github-actions, go and docker — four labels .github/dependabot.yml applies but which did not exist in the repo, meaning Dependabot was silently dropping them.

The second commit records the build order the tracker encodes: the critical path, which waves of work open up in parallel, and the M0 milestone the design took for granted.

Verification

  • task md:check → 0 issues in 0 files (previously: a usage error).
  • No Go source changed.
  • Both required checks should now report on this PR.

Closes #11

@Ilyes512
Ilyes512 force-pushed the planning-phase branch 2 times, most recently from aefca23 to 7c28c8e Compare August 6, 2026 19:30
@Ilyes512 Ilyes512 changed the title Initial plan Land the design doc and fix the two broken required checks Aug 6, 2026
@Ilyes512
Ilyes512 marked this pull request as ready for review August 6, 2026 19:58
@Ilyes512 Ilyes512 closed this Aug 6, 2026
@Ilyes512 Ilyes512 reopened this Aug 6, 2026
Add docs/design.md, the design for labelsync: config schema, the reconciler,
colour allocation, the GitHub API surface, rate limiting, the CLI tree, exit
codes, and the build order. It lives on the default branch so the issue
tracker can link to its sections by anchor.

Two required status checks in .github/rulesets/Main.json could never pass:

- "Integration tests" was required but no job emitted it, so every PR to main
  waited forever on a check that did not exist. Added the job; it runs the
  `integration` build tag that Taskfile.dist.yml already passes and is a green
  no-op until integration tests exist.
- markdownlint-cli2 only recognises `.markdownlint-cli2.yaml`, so the config
  was never loaded and the tool exited with a usage error — taking the
  "Markdown gate" check down with it. Renamed from `.yml`, which also makes
  the paths-filter in md.yml match the file it already referenced.

Add labels.yml, the repository's label catalogue. It doubles as the worked
example the docs refer to, and deliberately satisfies docs/design.md's
validation rules — globally unique colours, descriptions under 100 characters.
It also declares the four labels .github/dependabot.yml applies but that did
not exist, which Dependabot was silently dropping.
The seven milestones are now real GitHub milestones, plus an M0 the design
took for granted: sentinel errors, XDG paths, the Cobra spine, and the output
writer are assumed throughout but did not exist.

Add the build order the tracker encodes — the critical path, which waves of
work open up in parallel, and why internal/github is the clean split when more
than one person is working at once.
@Ilyes512
Ilyes512 merged commit dc409f9 into main Aug 6, 2026
@Ilyes512
Ilyes512 deleted the planning-phase branch August 6, 2026 20:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Emit the "Integration tests" status check the ruleset requires

1 participant