From a1ff683ff32934cfcb8577f53eebcbf7ac6ed84a Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Tue, 4 Aug 2026 13:04:32 +0900 Subject: [PATCH 1/5] docs(agents): code-owner gates disabled org-wide until multiple maintainers exist --- AGENTS.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index e83e8e3..0da0e6f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -122,3 +122,11 @@ working on this repo. Keep this block; re-runs replace it in place. - Resolve all review threads. - Ensure required checks are green. - Obtain approval before merge. + +## Code-owner review gates — disabled (on hold) + +As of 2026-08-04, code-owner review requirements (`require_code_owner_reviews` in branch +protection, `require_code_owner_review` in rulesets) are disabled across the ContextualWisdomLab +org: there is a single maintainer (solo developer), so a code-owner approval gate can never be +satisfied. This is ON HOLD until the org has multiple maintainers — do NOT re-enable these +settings or add CODEOWNERS-based merge gates before then. From 32a65bf7d6a47534851da992ed353887bbed72ec Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Tue, 4 Aug 2026 13:46:03 +0900 Subject: [PATCH 2/5] ci: build stringfish from source until binaries are rebuilt for RcppParallel 6.2 All CI legs fail at dyn.load(stringfish.so): the CRAN/P3M stringfish binaries reference legacy tbb::internal symbols removed from the oneTBB that RcppParallel 6.2.0 (new release) now ships (undefined symbol _ZN3tbb8internal25concurrent_vector_base_v3... on Linux, NFS_Allocate on macOS). Forcing cran::stringfish?source makes pak compile it against the installed RcppParallel so the symbols match on every platform. Co-Authored-By: Claude Fable 5 --- .github/workflows/R-CMD-check.yaml | 4 ++++ .github/workflows/test-fast.yaml | 7 ++++++- .github/workflows/test-suite.yaml | 7 ++++++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 4705d5a..ff90519 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -44,9 +44,13 @@ jobs: - uses: r-lib/actions/setup-r-dependencies@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2 with: + # stringfish binaries were built against the legacy TBB bundled with + # RcppParallel <6.2; force a source build so it links the oneTBB in + # RcppParallel 6.2.0. Drop once upstream binaries are rebuilt. extra-packages: | any::rcmdcheck any::testthat + cran::stringfish?source needs: check - name: Run Zh formula regression tests diff --git a/.github/workflows/test-fast.yaml b/.github/workflows/test-fast.yaml index fa70edf..dd13a9a 100644 --- a/.github/workflows/test-fast.yaml +++ b/.github/workflows/test-fast.yaml @@ -22,7 +22,12 @@ jobs: - uses: r-lib/actions/setup-r-dependencies@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2 with: - extra-packages: any::testthat + # stringfish binaries were built against the legacy TBB bundled with + # RcppParallel <6.2; force a source build so it links the oneTBB in + # RcppParallel 6.2.0. Drop once upstream binaries are rebuilt. + extra-packages: | + any::testthat + cran::stringfish?source needs: check - name: Install kaefa package for fast tests diff --git a/.github/workflows/test-suite.yaml b/.github/workflows/test-suite.yaml index d447513..3ea87f8 100644 --- a/.github/workflows/test-suite.yaml +++ b/.github/workflows/test-suite.yaml @@ -38,7 +38,12 @@ jobs: - uses: r-lib/actions/setup-r-dependencies@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2 with: - extra-packages: any::testthat + # stringfish binaries were built against the legacy TBB bundled with + # RcppParallel <6.2; force a source build so it links the oneTBB in + # RcppParallel 6.2.0. Drop once upstream binaries are rebuilt. + extra-packages: | + any::testthat + cran::stringfish?source needs: check - name: Install kaefa package From 3962af13e34e4f3c4b90156f5f3f20af5878e11a Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Tue, 4 Aug 2026 13:51:52 +0900 Subject: [PATCH 3/5] ci: rebuild stringfish from real CRAN source after dependency install The cran::stringfish?source extra-package ref did not stick: pak resolved the transitive stringfish dep back to the platform binary (windows leg installed stringfish_0.19.0.zip and failed again at LoadLibrary). Replace it with an explicit post-deps reinstall from cloud.r-project.org, which serves real source tarballs on every platform (P3M serves prebuilt binaries even through its source API on Linux). Co-Authored-By: Claude Fable 5 --- .github/workflows/R-CMD-check.yaml | 11 +++++++---- .github/workflows/test-fast.yaml | 14 ++++++++------ .github/workflows/test-suite.yaml | 14 ++++++++------ 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index ff90519..dddc4f9 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -44,15 +44,18 @@ jobs: - uses: r-lib/actions/setup-r-dependencies@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2 with: - # stringfish binaries were built against the legacy TBB bundled with - # RcppParallel <6.2; force a source build so it links the oneTBB in - # RcppParallel 6.2.0. Drop once upstream binaries are rebuilt. extra-packages: | any::rcmdcheck any::testthat - cran::stringfish?source needs: check + # stringfish binaries (CRAN/P3M) still link the legacy TBB from + # RcppParallel <6.2 and fail to load against RcppParallel 6.2.0's oneTBB. + # Rebuild from real CRAN source (P3M serves binaries even via its source + # API). Drop once upstream binaries are rebuilt. + - name: Rebuild stringfish from source (TBB mismatch with RcppParallel 6.2.0) + run: Rscript -e 'install.packages("stringfish", type = "source", repos = "https://cloud.r-project.org")' + - name: Run Zh formula regression tests run: | Rscript -e 'install.packages(".", repos = NULL, type = "source")' diff --git a/.github/workflows/test-fast.yaml b/.github/workflows/test-fast.yaml index dd13a9a..c5584e9 100644 --- a/.github/workflows/test-fast.yaml +++ b/.github/workflows/test-fast.yaml @@ -22,14 +22,16 @@ jobs: - uses: r-lib/actions/setup-r-dependencies@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2 with: - # stringfish binaries were built against the legacy TBB bundled with - # RcppParallel <6.2; force a source build so it links the oneTBB in - # RcppParallel 6.2.0. Drop once upstream binaries are rebuilt. - extra-packages: | - any::testthat - cran::stringfish?source + extra-packages: any::testthat needs: check + # stringfish binaries (CRAN/P3M) still link the legacy TBB from + # RcppParallel <6.2 and fail to load against RcppParallel 6.2.0's oneTBB. + # Rebuild from real CRAN source (P3M serves binaries even via its source + # API). Drop once upstream binaries are rebuilt. + - name: Rebuild stringfish from source (TBB mismatch with RcppParallel 6.2.0) + run: Rscript -e 'install.packages("stringfish", type = "source", repos = "https://cloud.r-project.org")' + - name: Install kaefa package for fast tests run: R CMD INSTALL . diff --git a/.github/workflows/test-suite.yaml b/.github/workflows/test-suite.yaml index 3ea87f8..bc252e4 100644 --- a/.github/workflows/test-suite.yaml +++ b/.github/workflows/test-suite.yaml @@ -38,14 +38,16 @@ jobs: - uses: r-lib/actions/setup-r-dependencies@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2 with: - # stringfish binaries were built against the legacy TBB bundled with - # RcppParallel <6.2; force a source build so it links the oneTBB in - # RcppParallel 6.2.0. Drop once upstream binaries are rebuilt. - extra-packages: | - any::testthat - cran::stringfish?source + extra-packages: any::testthat needs: check + # stringfish binaries (CRAN/P3M) still link the legacy TBB from + # RcppParallel <6.2 and fail to load against RcppParallel 6.2.0's oneTBB. + # Rebuild from real CRAN source (P3M serves binaries even via its source + # API). Drop once upstream binaries are rebuilt. + - name: Rebuild stringfish from source (TBB mismatch with RcppParallel 6.2.0) + run: Rscript -e 'install.packages("stringfish", type = "source", repos = "https://cloud.r-project.org")' + - name: Install kaefa package run: R CMD INSTALL . From c772f9ea6e361730bf77f032d078779532b009b0 Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Tue, 4 Aug 2026 16:28:55 +0900 Subject: [PATCH 4/5] ci: also rebuild qs2 from source (same TBB mismatch as stringfish) With stringfish rebuilt, the windows leg now fails identically one package later: qs2.dll (also LinkingTo RcppParallel) hits LoadLibrary 'specified procedure could not be found' against RcppParallel 6.2.0's oneTBB. Rebuild both from real CRAN source. Co-Authored-By: Claude Fable 5 --- .github/workflows/R-CMD-check.yaml | 4 ++-- .github/workflows/test-fast.yaml | 4 ++-- .github/workflows/test-suite.yaml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index dddc4f9..38fe0fd 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -53,8 +53,8 @@ jobs: # RcppParallel <6.2 and fail to load against RcppParallel 6.2.0's oneTBB. # Rebuild from real CRAN source (P3M serves binaries even via its source # API). Drop once upstream binaries are rebuilt. - - name: Rebuild stringfish from source (TBB mismatch with RcppParallel 6.2.0) - run: Rscript -e 'install.packages("stringfish", type = "source", repos = "https://cloud.r-project.org")' + - name: Rebuild stringfish and qs2 from source (TBB mismatch with RcppParallel 6.2.0) + run: Rscript -e 'install.packages(c("stringfish", "qs2"), type = "source", repos = "https://cloud.r-project.org")' - name: Run Zh formula regression tests run: | diff --git a/.github/workflows/test-fast.yaml b/.github/workflows/test-fast.yaml index c5584e9..5f7b4b2 100644 --- a/.github/workflows/test-fast.yaml +++ b/.github/workflows/test-fast.yaml @@ -29,8 +29,8 @@ jobs: # RcppParallel <6.2 and fail to load against RcppParallel 6.2.0's oneTBB. # Rebuild from real CRAN source (P3M serves binaries even via its source # API). Drop once upstream binaries are rebuilt. - - name: Rebuild stringfish from source (TBB mismatch with RcppParallel 6.2.0) - run: Rscript -e 'install.packages("stringfish", type = "source", repos = "https://cloud.r-project.org")' + - name: Rebuild stringfish and qs2 from source (TBB mismatch with RcppParallel 6.2.0) + run: Rscript -e 'install.packages(c("stringfish", "qs2"), type = "source", repos = "https://cloud.r-project.org")' - name: Install kaefa package for fast tests run: R CMD INSTALL . diff --git a/.github/workflows/test-suite.yaml b/.github/workflows/test-suite.yaml index bc252e4..a5ba288 100644 --- a/.github/workflows/test-suite.yaml +++ b/.github/workflows/test-suite.yaml @@ -45,8 +45,8 @@ jobs: # RcppParallel <6.2 and fail to load against RcppParallel 6.2.0's oneTBB. # Rebuild from real CRAN source (P3M serves binaries even via its source # API). Drop once upstream binaries are rebuilt. - - name: Rebuild stringfish from source (TBB mismatch with RcppParallel 6.2.0) - run: Rscript -e 'install.packages("stringfish", type = "source", repos = "https://cloud.r-project.org")' + - name: Rebuild stringfish and qs2 from source (TBB mismatch with RcppParallel 6.2.0) + run: Rscript -e 'install.packages(c("stringfish", "qs2"), type = "source", repos = "https://cloud.r-project.org")' - name: Install kaefa package run: R CMD INSTALL . From 5b9663a5cc53ad56d984d74fb7cf2bd431c5205a Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Tue, 4 Aug 2026 16:51:07 +0900 Subject: [PATCH 5/5] ci: prebuild stringfish/qs2 before dependency resolution in R-CMD-check The ubuntu (devel) leg fails inside setup-r-dependencies: R-devel has no P3M binaries, so SimDesign builds from source there and its byte-compile loads the broken stringfish before the post-deps rebuild step can run (same failure mode aFIPC hit). Move the rebuild before setup-r-dependencies, aFIPC-style: binary Rcpp/RcppParallel first, then stringfish+qs2 from real CRAN source. Two plain Rscript lines - no backslash continuation, the windows leg runs pwsh. Co-Authored-By: Claude Fable 5 --- .github/workflows/R-CMD-check.yaml | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 38fe0fd..3a340ae 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -42,6 +42,18 @@ jobs: http-user-agent: ${{ matrix.config.http-user-agent }} use-public-rspm: true + # stringfish/qs2 binaries (CRAN/P3M) still link the legacy TBB from + # RcppParallel <6.2 and fail to load against RcppParallel 6.2.0's oneTBB. + # On R-devel this breaks the SimDesign source build inside + # setup-r-dependencies itself, so prebuild BOTH from real CRAN source + # before dependency resolution (P3M serves binaries even via its source + # API); pak then keeps the installed same-version copies. Drop once + # upstream binaries are rebuilt. + - name: Prebuild stringfish and qs2 from source (TBB mismatch with RcppParallel 6.2.0) + run: | + Rscript -e 'install.packages(c("Rcpp", "RcppParallel"), repos = Sys.getenv("RSPM", unset = "https://cloud.r-project.org"))' + Rscript -e 'install.packages(c("stringfish", "qs2"), type = "source", repos = "https://cloud.r-project.org")' + - uses: r-lib/actions/setup-r-dependencies@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2 with: extra-packages: | @@ -49,13 +61,6 @@ jobs: any::testthat needs: check - # stringfish binaries (CRAN/P3M) still link the legacy TBB from - # RcppParallel <6.2 and fail to load against RcppParallel 6.2.0's oneTBB. - # Rebuild from real CRAN source (P3M serves binaries even via its source - # API). Drop once upstream binaries are rebuilt. - - name: Rebuild stringfish and qs2 from source (TBB mismatch with RcppParallel 6.2.0) - run: Rscript -e 'install.packages(c("stringfish", "qs2"), type = "source", repos = "https://cloud.r-project.org")' - - name: Run Zh formula regression tests run: | Rscript -e 'install.packages(".", repos = NULL, type = "source")'