Retrospective: INT1 (integration of M1b and M4)#
Status: complete (2026-09-28) on main. M1b (the CUDA sssp backend) was finished and
accepted on main; M4 (the project infrastructure) was finished and accepted on the branch
m4-infra, which ran in parallel. INT1 merges the two, makes the documentation site cover
M1b, applies the author’s credit and citation facts, and records the merge policy in force.
The branch m2-cycle (M2a, cycle_count on the CPU) is not part of INT1; it is merged in M2b.
What was done#
Commit |
What |
|---|---|
|
|
|
|
|
|
|
the site covers M1b: an API page for the new Doxygen group |
|
the author’s facts of 2026-09-27: ESCHER (IPDPS 2026) title and authors, TruCy as a submitted manuscript, S M Ferdous’s affiliation without an e-mail address, the placeholder-identity commits credited to S M Shovan, no funding line; |
|
the merge policy (ADR 0019) in |
|
CHANGELOG |
Things the merge brought together that needed no edit: M1b’s ADRs (0003, 0009, 0015-0018) and
retrospective reach the site through the globs of docs/adr/index.md and
docs/developer/retrospectives/index.md, and their rows were already in docs/adr/README.md;
M1b’s CUDA headers (stream.hpp, buffer.hpp, copy.hpp, memory.hpp) are in the core
group, so the Breathe page docs/api/cpp/core.md renders them (stream_ref,
cuda_async_memory_resource, pinned_host_memory_resource, to_vector); the sssp page of
M1b builds under -W -n with one exception (below); parity/README.md merged without a
conflict and is included by docs/developer/parity.md.
Deviations (each a pragmatic choice with the plan’s intent)#
Plan |
What was done |
Why |
|---|---|---|
Sections 8.9 and 10.1: squash merges only |
ADR 0019: merge commits for milestone and integration pull requests, squash for external contributions, no rebase merging; the |
the parity certificates, retrospectives and ADRs cite milestone-branch SHAs (for example the M1b gate records and M4’s trial merges); a squash would leave them outside |
M4 notes: the sssp page links |
the link goes through the repository URL ( |
files outside |
Section 3.2: |
TruCy is |
the author asked for a manuscript, not an article; CFF 1.2.0 has no |
(no plan item) the parity harness tests in |
|
the machine rules: test suites take the shared lock |
Validation#
Fresh clone of main at 59fc861 (the commit before this retrospective), GPU 1 for the tests,
the shared lock for every heavy step:
Check |
Result |
|---|---|
|
all checks passed in 2 minutes: clang-format; |
|
all steps passed in 8 minutes: build; |
|
builds the site with every M1b page: ADRs 0003, 0009, 0015-0019, the M1b retrospective (and this one), the CUDA headers on the core page ( |
|
valid against CFF 1.2.0 |
|
empty; |
read-only GitHub API ( |
the settings marked done in the guide’s checklist; no ruleset or branch protection on |
Open items and notes for the next steps#
The
mainruleset (repository settings guide, step 9) waits for the first pull request: every required check (including the threecuda-buildjobs,siteandDCO) must have run once. The next milestone merge (M2b, the branchm2-cycle) is the natural first pull request; it is merged with a merge commit (ADR 0019).Hosted runs.
cuda-build.ymlanddocs.ymlhave not run on GitHub yet (onlylintandcpuhave, on the M1a history); the first push ofmainruns them. The labels of.github/labels.ymlare applied by thelabelsworkflow on that push. After it, run thedocsworkflow once with Run workflow for the external-link job (M4 open item).Settings still open (guide): the optional restriction of repository creation in the organization (step 1.3), CodeQL (optional, step 6.5), the Discussions categories and the pinned roadmap (step 12), Read the Docs and Zenodo (checkpoint A4).
ADR numbers. The next free number is 0020;
m2-cyclemust not reuse 0019 when it is merged in M2b.The algorithm table still exists three times (README, landing page, algorithms index) until
scripts/regen.pygenerates it (M3); INT1 edited all three by hand.cycle_countis described as “planned; the CPU backends in progress on a branch” until M2b mergesm2-cycle; M2b updates the three tables, the roadmap and the short plan.Author decisions still open (
GOVERNANCE.md): O3 (the NOTICE institution line and years) and whether a co-author wrote code of the originals outside git. The funding acknowledgement is added by the author later.