MIP-0084 tasks¶
Ordered delivery of MIP-0084 as stacked PRs
(/marola-devkit:mip-tasks, stack). Branch mip-0084/<k>-<slug> in the repo the row lands in;
rows of one repo stack on that repo's previous row. Each row's delivers cell starts with the repo
its PR lands in (read by tasks-to-issues). §n are the MIP's; "the MIP's tests" are its §7 names.
A devkit bump moves the flake input, every @v…/devkit-ref: in .github/workflows/ and the
marketplace ref in .claude/settings.json together.
| # | slug | delivers | tests (must exist before the PR) | depends on |
|---|---|---|---|---|
| 1 | route-tool | marola-devkit — §5.2: skills/routing/scripts/route.py (stdlib), with query, explain, path, wiring, fetch, status, bench; reads refs/marola/routing-bundle, else origin/routing-bundle, else a matching local graph; wiring.py --json; a route *args recipe |
route_test.py with the MIP's nine names. route bench over today's pruned graph and MIP-0076's 8 questions, at least 7 of 8 with wiring (table in the PR) |
– |
| 2 | session-check | marola-devkit — §5.4: skills/routing/scripts/session-check.sh. Settles §11's first question live (user-settings env seen by a project hook) and records the answer in the script's header |
session-check.sh --self-test with the MIP's nine names, in tests/self-tests.sh. Live notes for §11 in the PR |
– |
| 3 | skill-move | marola-devkit — §5.1: routing moves to skills/routing/SKILL.md, naming route and, in a Project thread, running it from the umbrella's clone; dropped from the plugin; docs/4-reference_plugin.md and 4-reference_tools.md rows; just route-usage (§5.5) |
claude plugin validate .. The plugin no longer lists routing (claude plugin list output in the PR). route-usage --self-test on fixture transcripts |
1, 2 |
| 4 | devkit-route-release | marola-devkit — CHANGELOG.md and the flake's version; human: tag the next minor |
just quality, nix flake check |
1, 2, 3 |
| 5 | bundle-job | marola — §5.3: ci.yml's graph job publishes routing-bundle on push to main and daily, gated by route bench against the committed routing-bench.yaml; a bundle-publish job pushing it as marola-bundle-bot; .github/rulesets/routing-bundle.json restricting the branch to that App; human: the App, its id and key in marola, and ruleset-sync apply --manifest; CI-CD.md row |
actionlint. A run publishing to a scratch branch (link). A push to routing-bundle with a person's token rejected (output in the PR). On the PR's own run, bundle-publish is skipped and ci-ok passes |
4 |
| 6 | umbrella-vendor | marola — devkit bumped to row 4's tag; routing vendored into .claude/skills/ with its skills.lock row; the SessionStart entry in .claude/settings.json; AGENTS.md's "The repos" names route; DEV-FLOW.md's cloud setup script; AGENT-SKILLS.md corrected per row 2. Tries §11's cloud-proxy question once (not a blocker) |
skills-vendor check, agents_repos_check.sh, docs-lint, just quality. §7 "Live" in the bare-shell and claude.ai/code setups (transcript excerpts in the PR) |
5 |
| 7 | app-vendor | marola-app — devkit bump; the vendored skill, lock row, hook entry and AGENTS.md line |
skills-vendor check, just quality. A session started in marola-app lists the skill and prints the hook's lines |
4, 5 |
| 8 | site-vendor | marola-site — as row 7 | as row 7 | 4, 5 |
| 9 | corpus-vendor | marola-corpus — as row 7 | as row 7 | 4, 5 |
| 10 | ml-vendor | marola-ml — as row 7 | as row 7 | 4, 5 |
| 11 | oods-vendor | marola-oods — as row 7 | as row 7 | 4, 5 |
| 12 | live-close | marola — §7 "Live" in all three setups and in a Project thread; the MIP's Status to Implemented. Two weeks later, just route-usage findings appended as a comment on the MIP's issue |
the 8 questions, at least 7 of 8 right first per setup, with no Nix and no graphify on the bare-shell machine (table in the PR) | 6, 7, 8, 9, 10, 11 |