Skip to content

MIP-0085 tasks

Ordered delivery of MIP-0085 as stacked PRs (/marola-devkit:mip-tasks, stack). Branch mip-0085/<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. Every row needs MIP-0084 implemented: the bundle branch, route.py and the bench gate.

# slug delivers tests (must exist before the PR) depends on
1 bench-30 marola — §5.1: routing-bench.yaml grows to about 30 questions, five or more per type, each with its expected answer; the bundle job's gate becomes per type route bench on today's bundle, per-type scores in the PR as the baseline. A person approves the question file (§11) 0084-T1, 0084-T5
2 symbol-query marola-devkit — §5.2: identifier splitting, the stop list and entry-point tags in route.py and the bundle build route_test.py's query_splits_identifiers, stop_words_dropped, entry_point_boosted. Bench symbol score up, no other type down (table in the PR) 1
3 wiring-contracts marola-devkit — §5.3: wiring.py's contract table, contract lines in wiring.allow, the fifth table wiring --self-test's contract_copy_linked. Run over the umbrella: board.schema.json's copy linked (block in the PR) 0084-T1
4 impact marola-devkit — §5.5: route impact route_test.py's impact_reverse_depth, impact_adds_contract_readers, impact_prints_lower_bound. Bench impact score (table in the PR) 1, 3
5 doc-code marola-devkit — §5.4: scripts/doc_code.py with --check and the 50% shrink guard (§8); route docs, route code doc_code --self-test with the MIP's six names plus shrink_guard_refuses. route_test.py's docs_and_code_directions. Bench doc↔code score 1
6 decisions marola-devkit — §5.6: scripts/decisions.py with --check; route why; docs-lint's decided_without_marker decisions --self-test with the MIP's four names; docs_lint.py --self-test adds decided_without_marker; route_test.py's why_ranks_bm25. Bench decision score 1
7 meaning-spike marola-devkit — §5.7: BM25, potion-base-2M and potion-base-8M on the bench's meaning questions; throwaway code on the branch; the report as an appendix to MIP-0085 in the umbrella. Settles §11's tokenizer question first the report: right first per candidate, bundle size added, query latency; the §5.7 rule applied, the winner named or "none" 1
8 meaning-ship marola-devkit — row 7 named BM25 (decided 2026-10-20): route query --meaning ranks nodes by BM25 over each node's text (identifiers split, the docstring and leading comment, the file path), built at bundle time into a bundle file; no model, no routing-bundle-large route_test.py's meaning_absent_says_so and a BM25 ranking test. Bench meaning score up, no other type down (table in the PR) 7
9 devkit-index-release marola-devkit — CHANGELOG.md and the flake's version; human: tag the next minor just quality, nix flake check 2, 3, 4, 5, 6, (8)
10 umbrella-indexes marola — devkit bumped to row 9's tag; committed docs/2-Building-marola/DOC-CODE.md and docs/MIPs/DECISIONS.md; both --checks in quality-other; pointer-sync.sh regenerates DOC-CODE.md; pointer-sync-merge.yml's allow list gains exactly that file; TEMPLATE.md's Decided convention; the bundle job adds the new indexes; the vendored routing skill names the new subcommands just quality green with both gates. pointer-sync.sh --self-test adds doc_code_regenerated_with_pointers. One automatic pointer-sync merge carrying a regenerated DOC-CODE.md (link) 9
11 live-close marola — §7 "Done means" on the published bundle; the MIP's Status to Implemented the 30-question bench, per-type table in the PR 10