Skip to content

MIP-0086 tasks

Ordered delivery of MIP-0086, one PR (or one person's act) per row; §n are the MIP's. Parent issue: marola-dev/marola#787. Rows reuse the issues #765, #740 and #762 already filed, rewritten for the two Apps when the MIP is Accepted; rows 1, 3, 10, 12 and 16 are new. Rows 4–9 and 16 can run in any order once 2 is released and bumped. Rows 13 and 14 keep their own merge-policy design in #740 and

762; this MIP gives them only their identity.

# slug delivers tests (must exist before the PR) depends on
1 apps-setup a person — §5.11 stage 0: rename marola-pointer-sync to marola-merge-bot and confirm its ID; rename marola-gemini-bot to marola-pr-bot; give the merge bot Workflows write and install it on the consumers; create PR_BOT_* (org), MERGE_BOT_* (marola, marola-devkit) and AUTO_MERGE=true beside the old names; list every filter on the old bot logins in the issue the ID before and after, recorded in the issue –
2 bot-token marola-devkit (marola-dev/marola-devkit#79) — §5.4 bot-token action and its release.py pin, §5.6 merge-key-check in just quality, gemini-review on PR_BOT_* falling back to GEMINI_*, notify-umbrella on the PR bot; the old-login filters from row 1 updated; a release bot-token's live self-test workflow, merge-key-check --self-test 1
3 merge-bypass marola-devkit — §5.7 ruleset-sync's @consumers extra holding marola-merge-bot as a pull-request-only bypass actor, marola's per-repo extra dropped; then a person runs just rulesets-apply over the consumers after its dry run ruleset-sync --self-test (the @consumers extra applied to a consumer only, kept by apply, drift when missing); the dry run's diff in the PR 1
4 pointer-sync marola (#766) — pointer-sync.yml opens as the PR bot, ci.yml's site-data push as the PR bot, pointer-sync-merge.yml on MERGE_BOT_* and AUTO_MERGE actionlint; a live sync PR opened by marola-pr-bot[bot] and merged by marola-merge-bot[bot] 2, 3
5 site-data marola-app (marola-dev/marola-app#91) — ci.yml and docker-smoke.yml push site-data and send site-data-updated as the PR bot actionlint; a live push by the bot 2
6 steward marola-app (marola-dev/marola-app#92) — Scala Steward on the PR bot a live Steward PR by the bot 2
7 compile-prompt marola-ml (marola-dev/marola-ml#37) — the compiled-prompt PR opened by the PR bot a live PR by the bot 2
8 bump-opener marola-devkit (marola-dev/marola-devkit#80) — bump-consumers.yml split into a keyless prepare job and a publish job that opens bump PRs as the merge bot (Workflows write, allowlisted; §5.6) bump-consumers.sh --self-test (prepare makes no gh call, publish runs no nix or wiring); merge-key-check passes; the next release's bump PRs by marola-merge-bot[bot] 2, 3
9 refresh-token marola-skills (marola-dev/marola-skills#13, its refresh.yml part) — github.token and a workflow_dispatch of its CI a live refresh PR whose CI ran –
10 docs marola — CI-CD.md: the two Apps, §5.3's rule, §5.9's runbook, AUTO_MERGE; NEW-REPO steps 14–15 rewritten (§3); AGENTS.md's devkit paragraph docs-lint, docs-build 4–9
11 retire-pats a person (#765) — delete MAROLA_CROSS_REPO_PAT, MAROLA_BUMP_PAT, STEWARD_GH_TOKEN and the GEMINI_*/POINTER_SYNC_* names; revoke the PATs #765's grep over every repo's main; every consumer on row 2's tag 4–9, 16
12 leak-drill a person — §7's drill on marola-merge-bot: mint, suspend, show the token fails, unsuspend; §5.9 corrected if it does not the run, recorded in the issue 3
13 deps-merge #740 and its sub-issues — the cooldown, then deps-merge minting as the merge bot without Workflows (§5.5) #740's named test 3, 4
14 bump-merge #762 (marola-dev/marola-devkit#77) — soak, canary, semver, scope guard on AUTO_MERGE #762's named test 8, 12
15 mip-implemented marola — MIP-0086 flipped to Implemented with every PR mip_graph.py --check 1–12, 16
16 notify-callers every notify-umbrella caller (marola-app, marola-site, marola-corpus, marola-ml, marola-oods) — one PR each (marola-app#95, marola-corpus#16, marola-ml#40, marola-oods#34, marola-site#111) passing pr_bot_key: ${{ secrets.PR_BOT_KEY }} instead of token: ${{ secrets.MAROLA_CROSS_REPO_PAT }} the next push to main dispatches with the App (the run's log) 2