Work plan — QuantEcon/actions: v0.17.0 shipped; next the v0 move and wave 6's gate and workers
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 15/100
調査の方向性
Start by refreshing this plan against live state, then read the listed follow-up issues and their decision comments. The body says wave 1 is complete and proposes multiple wave 2 workstreams, including a staged release and release gate; the maintainer chooses which sessions to start. Done means completing an explicitly selected workstream and updating this plan to match the resulting live state.
索引モデルが issue の本文から書いたものです。
説明
Continuing from #212 (closed as superseded on 2026-11-04). This plan comes from the maintainer's decision session of 2026-11-04 and the whole-tracker audit run the same morning. It is worked by parallel Claude Code sessions, each owning one area and one pull request at a time, with an organiser session coordinating them. Six waves have run since 2026-11-04. This body is the single source of truth for the work. Revise it in place against live state before working from it.
Where we stand (verified 2026-11-10 05:20 UTC)
| What | State | Measured |
|---|---|---|
main |
0f4ee09 (#290) |
05:18 UTC, git ls-remote |
| Latest release | v0.17.0, tag on fae622c, with its GitHub Release (#289). It carries wave 5 and #274. Nothing in it is marked ⚠️ BREAKING |
05:18 UTC |
v0 |
e40924a (v0.16.0), moved 2026-11-10 02:10 UTC with the maintainer's approval. It moves to v0.17.0 once a lecture-matrix run on main passes, again with approval |
05:18 UTC, git ls-remote |
| v0.17.0 canary | All green in QuantEcon/test-actions-lecture-intro; PR 82's closing comment has the table. #270's five execution-cache checks passed. #216: the Cloudflare preview's URLs came with no fallback warning. #224: setup-latex and setup-environment's install-latex each missed, then hit with no download. The 30-minute download limit also fired for real on a stalled Ubuntu mirror. publish.yml deployed. The branches and the tag are deleted |
~03:55 UTC |
| Lecture matrix | The scheduled run of 2026-11-09 (79) failed one leg on a GitHub 504 for a lecture's data (#285). Its rerun went 8/8 green, which cleared the v0.16.0 move. Run 80 (42744092827) started after #274's first promotion, on e38afc2, still with the 180-min ceiling. Its setup-environment and build-lectures are byte-identical to v0.17.0's. Six of eight legs are green; both lecture-python.myst legs are still running. If it passes, it can clear the v0.17.0 move |
05:14 UTC |
| Container images | :latest is now promoted only after the smoke test (#274). The first promotion (run 42743671096) moved quantecon to d6d17495… and quantecon-build to d7676921…. The first live prune (#290, run 42753845919) deleted 255 and 138 old versions, leaving 78 per image |
05:00 UTC |
| Open PRs | #279 (the maintainer's CHANGELOG footer fix; theirs to merge) | 05:18 UTC |
| Sessions | The organiser, mini:actions. Wave 6's gate and workers sessions launched 2026-11-10 05:17 UTC, and are doing their issue checks. The containers session finished and closed |
05:18 UTC |
Front of the plan:
- Read run 80's result. If it passes, ask the maintainer to move
v0to v0.17.0. If alecture-python.mystleg times out at the old 180 min, dispatch a fresh matrix run onmain, which has #288's 240 min, and decide on that one. - Wave 6's checks, as they arrive: #136 and #135 from the gate session, and #145 from the workers session. Each question goes to the maintainer one at a time, and the agreed check is posted on its issue.
- After
v0moves to v0.17.0: a docs PR for PLAN's release line, and on the next day, a look at the lecture sites' first runs. - The lecture sites' first runs on v0.16.0, from 2026-11-11. They are the first callers to meet #267's refusal of a line break in a single-value input.
Wave 5 and wave 6 (2026-11-07 to 2026-11-10)
| Item | Outcome |
|---|---|
| #270, #160's step 2 | #280: the execution cache's key hashes the environment, and the templates restore the execution cache. Closed |
| #216 | #281: preview-cloudflare's deploy-url uses the address Cloudflare serves the project at, read from wrangler's record of the deploy. Closed |
| #224 | #283 (a new setup-latex action) and #284 (setup-environment's install-latex on the same cache). Closed |
| #142 phase 2 | #274: main's build pushes candidates, smoke-tests them, and promotes both images to :latest together only if every test passes. Closed, with tracker #188 |
| #286 | #287: the lecture matrix files a cancelled run only when no newer run exists. Closed |
| #141, #196 | #288: each leg's duration in the run's summary, with warnings, and a 240-min ceiling for lecture-python.myst. Closed. The lecture's own cost is QuantEcon/lecture-python.myst#1118: imp_sample takes 39% of its CPU execution time |
| #277 | #290: a monthly pruner for old image versions, with a pins file. Closed after the first live run |
| #135, #136 | In progress: the gate session builds #136's fixture and then #135's gate.yml in the canary. It is the first worker allowed to write there |
| #145 | In progress: the workers session builds a sibling preview-workers action |
The maintainer's calls of 2026-11-07 to 2026-11-10
| Call | Where it shows |
|---|---|
| Wave 5: three sessions, for #270, #224 and #216, each checking its issue first | #280, #281, #283, #284 |
#270: keep build-jupyter-cache's full _build save (review M3); Changed, with no marker; the execution fallbacks mirror the build cache's |
#280 |
#224: a new setup-latex action, then setup-environment. The package list is required. download-timeout-minutes defaults to 30, where 0 means no limit, and setup-environment has a fixed 30. No saves from tag refs |
#283, #284 |
#216: read the subdomain from wrangler's pages-deploy-detailed record, and warn and fall back otherwise; Fixed, with no marker |
#281 |
The canary's set-up for wave 6: a release-gate environment restricted to main, holding gate-only tokens; a qe-preview-canary Worker on the org's Cloudflare account, with a per-Worker token |
#135, #145 |
| Wave 6: containers, gate and workers. Containers ran first; gate and workers launched once credit allowed | this plan |
| The lecture matrix takes #274's superseded-run rule; a run superseded by a dispatch files nothing either | #286, #287 |
After the 504 on 2026-11-09: rerun the failed leg, and move v0 to v0.16.0 if green |
#285 |
#277: keep main's newest 10 builds and everything from the last 90 days; branch dispatches go after 14 days; a monthly workflow, dry run by default; a pins file; at most 50 deletions per image per run; a Changed entry with no marker. The first live run was watched |
#290, #277 |
| #141 and #196: a 240-min ceiling and two warnings, with no issue filed; one PR for both; the lecture-side questions filed in lecture-python.myst | #288, QuantEcon/lecture-python.myst#1118 |
| v0.17.0: release, tag and canary at once | #289 |
| File #291 (Cloudflare Pages previews never 404), at low priority | #291 |
| Close tracker #188 once nothing is open under it | #188 |
The calls of 2026-11-05 to 2026-11-07 are in this issue's revision of 2026-11-07 01:00 UTC (see its edit history) and in the PRs they name. The 2026-11-04 decisions still govern the gate work, so they stay below.
The 2026-11-04 decisions
| # | Decision | Recorded on |
|---|---|---|
| 1 | Release gate: a gate.yml in the canary (QuantEcon/test-actions-lecture-intro), not a new repo. #136 is the gate fixture's content; #135 is gate.yml, with no v0-next tag |
#143, #135, #136 |
| 2 | Previews outside a PR: an opt-in input in both preview actions, with a reserved dispatch- alias prefix, an event allow-list and a deployed output |
#143, #227, #193 |
| 3 | Gate candidates: only commits reachable from main or a v* tag; secrets in a canary environment restricted to the canary's main |
#143 |
| 4 | Gate builds are frozen: a committed image digest, cold builds, intersphinx off | #143 |
| 5 | publish-gh-pages is in the gate (deploy only); release-asset packaging is tested in this repo's harness (done in #257) |
#143 |
| 6 | HTML-only previews hide the download buttons | #146, #148 |
| 7 | A parallel PDF check on PRs, which each site can switch off | #146, #230 |
| 8 | Run the #221 handover, then merge #220 and #221 | done |
| 9 | Scheduled image rebuilds: pin the Ubuntu base by digest, Dependabot proposes base moves, drop the weekly schedule, correct the docs (done in #255) | #234 |
| 10 | #177: add visibility; keep require-access as a deprecated alias (removed in v0.16.0 by #276) |
#177 |
| 11 | Next release: a small v0.13.0 soon | done |
| 12 | This issue replaces #212 | this plan |
Releases
- v0.13.0 to v0.16.0: shipped 2026-11-05 to 2026-11-07, each staged on the canary before
v0moved. - v0.17.0: shipped 2026-11-10, carrying wave 5 and #274 (#289). The canary is green, and
v0moves after a matrix run passes. - Next, v0.18.0: #290's entry is under
[Unreleased]. Wave 6'spreview-workers(#145) will be the first action change in it.
Follow-ups found during the waves
- The image-size report is not exactly reproducible. The lean image's on-disk figure varied by 111,355 bytes with identical layers, depending on the runner's overlay2.
publish-gh-pagesand a/in the tag. Undermode: all, it fails only at the release step, after the deploy. Left for the maintainer.- The two
deploy-cloudflarecallers are pinned tov0.12.0and pass neithervisibilitynorrequire-access. Each needsvisibility: privatewhen it moves to v0.16.0 or later. setup-latexandsetup-environmentshare one LaTeX cache key (the same script), so a job of each with the samecache-versionreuses the other's archives. This is by design; the v0.17.0 canary showed it.- Low priority, filed: #291 (Cloudflare Pages previews never 404) and #282 (a stub-API wrangler harness).
Explicitly not doing
- #147's template items (the concurrency fallback,
paths-ignore). - A
v0-nexttag (dropped by decision 1 of 2026-11-04). - Committing the 2026-11-04 audit bundle to
.qe/dev/log/. That is the maintainer's call. - #18's caching. It is parked until a repository passes
environment-update; its comment of 2026-11-07 gives the remedies in order.
Resuming
The organiser session is mini:actions, and the workers are mini:actions-<name>. The briefs live in the maintainer's checkout under .claude/briefs/ and are not committed:
HANDOVER.mdis the organiser's start-up file, andstart.shstarts a fresh organiser;common.mdholds the current worker rules, including the two-part issue check, and<name>.mdeach worker's brief;proposal-checks/holds each issue's check;release-templates/holds the last release's PR body, notes and canary files.
A fresh session can work from this issue, the merged PRs and the decision records alone: each PR body states its design, what it checked and what it leaves out.
Claude Code (on behalf of mmcky), organiser session
- 主要言語
- Shell
- スター
- 0
- フォーク
- 1
- 平均マージ
- 18時間 51分
- マージ済み PR(30日)
- 58
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
QuantEcon/actions のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
low-priority
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
documentation
難易度 1/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
infrastructure low-priority
難易度 4/5 3〜5日 初心者へのやさしさ 39/100
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 1/100
メンテナーはふだん 1 日以内に返信
QuantEcon/actions の issue をすべて見る
似ている issue
-
S3: friction & debt ws:testing
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
MedakaLang/medaka#5184 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 70/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
MadiroGlobalHealth/UVL-EMR#580 ·
メンテナーはふだん 1 日以内に返信
-
The Verify with line of the Windows and Linux checksums fails an intact install once a path has two versions対応中かも @claude が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
btclib-org/portanode#876 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Change osia installオープン
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
Kuadrant/testsuite-pipelines#216 ·
メンテナーはふだん 1 日以内に返信