MIP-0080 tasks¶
Ordered delivery of MIP-0080 as one PR per repo
(/marola-devkit:mip-tasks, stack). Branch mip-0080/<k>-<slug> in the repo the row lands in.
Each row's delivers cell starts with the repo its PR lands in (MIP-0070's spelling, read by
tasks-to-issues). §n are the MIP's. Rows 1 and 2 are a devkit release; rows 3–5 take it with a
devkit bump, which moves the flake input, every @v…/devkit-ref: in .github/workflows/ and the
marketplace ref in .claude/settings.json together. Row 6 is independent of the others. Issues
are filed by a human (MIP-0063 §5.6); the rows are numbered until then.
| # | slug | delivers | tests (must exist before the PR) | depends on |
|---|---|---|---|---|
| 1 | skills-vendor | marola-devkit — §5.2: scripts/skills-vendor.py (stdlib), on PATH as skills-vendor, with skills-check, skills-outdated and skills-update *args recipes in devkit.just; plugins/marola-devkit/skills/skills.lock (§5.1, four rows, commit: null); skills-check in the devkit's just quality; docs/4-reference_tools.md row; sharingan step 1 ends with skills-update --init |
skills-vendor --self-test (in tests/self-tests.sh) with the MIP's §7 names: check_* (4), init_writes_null_commit_and_changes_no_bytes, update_* (5), outdated_* (3), lock_found_from_subdirectory. nix flake check. just skills-check green in the devkit |
– |
| 2 | skills-update-workflow | marola-devkit — §5.3: reusable .github/workflows/skills-update.yml (14-day cooldown, hold skipped, one PR on chore/skills-update, label skills-update, SKILL.md diff per skill in the body); skills-update in labels.yml; docs/4-reference_workflows.md row; CHANGELOG.md entry and the flake's version; human: tag the next minor |
actionlint. A workflow_dispatch run from a scratch branch with one row's commit 30 days back opens a PR with that skill's diff only (run and PR links in the PR) |
1 |
| 3 | site-lock | marola-site — devkit bumped to row 2's tag; .claude/skills/skills.lock (14 rows, commit: null, licences from the files beside each skill); skills-check in just quality; skills-update.yml caller on the weekly cron and workflow_dispatch; AGENTS.md's vendored-skills sentence names the lock |
just quality green; skills-check red on a test branch that edits one vendored SKILL.md (run link) |
2 |
| 4 | umbrella-lock | marola — devkit bumped to row 2's tag; .claude/skills/skills.lock (citation-cff); skills-check in quality-other; the caller workflow; one line in docs/3-Ways-of-working/AGENT-SKILLS.md §1 |
just quality green; skills-check red on a test branch that edits citation-cff/SKILL.md |
2 |
| 5 | ww3-lock | h0ffmann/ww3-gpu — devkit bumped; .claude/skills/skills.lock (four rows, each with local_edits pointing at a .patch holding the audience paragraph); skills-check in its quality recipe; the caller workflow |
skills-check green; skills-update humanizer --sha <current> reapplies the patch and leaves no diff |
2 |
| 6 | refresh-reads-locks | marola-dev/marola-skills — §5.4 step 3: refresh.py reads skills.lock from each watched own repo, takes upstream/path/commit from it and compares every locked file; name matching stays the fallback; the index shows "pinned at / upstream at" |
refresh.py --self-test adds upstream_from_lock and name_match_fallback_without_lock |
– |
| 7 | first-pins | marola-devkit, marola-site, marola, h0ffmann/ww3-gpu — one just skills-update <name> per row, reviewed by hand, which writes the first real commit values and closes marola-dev/marola-devkit#39 and #40 through the tool |
skills-check green after each; skills-outdated reports every row as up to date or held |
3, 4, 5 |
| 8 | mip-implemented | marola — MIP-0080 flipped to Implemented with every PR number | mip_graph.py --check |
6, 7 |