Land the design doc and fix the two broken required checks - #1
Merged
Merged
Conversation
Ilyes512
force-pushed
the
planning-phase
branch
2 times, most recently
from
August 6, 2026 19:30
aefca23 to
7c28c8e
Compare
Ilyes512
marked this pull request as ready for review
August 6, 2026 19:58
4 tasks done
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
force-pushed
the
planning-phase
branch
from
August 6, 2026 20:21
81be9f1 to
dba80c7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
docs/design.md, the design forlabelsync, 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.jsonturned out to be broken:ci.ymlever emitted it. Every pull request tomainwould wait indefinitely on a check that does not exist. Added the job — it runs theintegrationbuild tag thatTaskfile.dist.ymlalready passes, and is a green no-op until integration tests exist.markdownlint-cli2only 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 thepaths-filterinmd.ymlmatch 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 satisfiesdocs/design.md§ Validation: globally unique colours, descriptions under 100 characters, explicitgroups.It also declares
dependencies,github-actions,goanddocker— four labels.github/dependabot.ymlapplies 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
M0milestone the design took for granted.Verification
task md:check→0 issues in 0 files(previously: a usage error).Closes #11