Skip to content

ci: keep Cloud Agent install revision-agnostic - #258

Open
cursor[bot] wants to merge 3 commits into
masterfrom
cursor/bc-a4979b26-d4d4-4427-bbb3-61838360586c-595d
Open

ci: keep Cloud Agent install revision-agnostic#258
cursor[bot] wants to merge 3 commits into
masterfrom
cursor/bc-a4979b26-d4d4-4427-bbb3-61838360586c-595d

Conversation

@cursor

@cursor cursor Bot commented Aug 16, 2026

Copy link
Copy Markdown

Pull Request

Summary

  • Successor to ci: add versioned Cloud Agent dev environment (.cursor) #257 (aa0476f). Keeps the Cloud Agent environment, but makes install revision-agnostic.
  • .cursor/install.sh no longer R CMD INSTALLs the current tree. Environment builds snapshot install and do not rerun it, so a source install would freeze library(aFIPC) at the build revision. Documented checks already use testthat::test_local() / rcmdcheck against the checkout.
  • The toolchain gate now requires R and mirt / testthat / roxygen2 / rcmdcheck, and apt lines use /etc/os-release VERSION_CODENAME plus dpkg --print-architecture instead of hardcoded noble/amd64.
  • Documents .cursor/ in ARCHITECTURE.md §1/§8, AGENTS.md, and CLAUDE.md. Points the architecture repo URL at ContextualWisdomLab/aFIPC.
  • Why: ci: add versioned Cloud Agent dev environment (.cursor) #257 is the right product change (default Cloud Agent image has no R) but must not pin agents to a stale package copy.

Do not merge #257 at aa0476f. Land this successor instead.

Validation

  • R CMD check (or equivalent CI) succeeded — testthat::test_local()[ FAIL 0 | WARN 0 | SKIP 0 | PASS 55 ] after removing the source install.
  • Markdown/YAML/workflow lint checks succeeded — bash -n .cursor/install.sh; environment.json is valid JSON; [email protected] pending in CI.
  • No secrets or credentials were added.
  • Install idempotence: bash .cursor/install.sh succeeds when R 4.6.1 + CRAN deps are already present (aFIPC toolchain ready).

Risk and Rollback

Behavioral Impact

  • R/aFIPC.R unchanged
  • If changed, regression evidence is attached

Checklist

  • Docs updated (README.md, ARCHITECTURE.md, CONTRIBUTING.md) as needed — ARCHITECTURE.md, AGENTS.md, CLAUDE.md.
  • New/updated GitHub Actions use full commit SHA pinning — no workflow changes.
  • Security policy / contribution policy alignment verified — no new package dependencies; no secrets committed.
Open in Web View Automation 

cursoragent and others added 2 commits August 16, 2026 15:31
Add a versioned .cursor/environment.json plus .cursor/install.sh that
provision the R toolchain and CRAN dependencies (mirt, testthat,
rcmdcheck, roxygen2) as prebuilt binaries and install the checked-out
aFIPC package into the R user library.

- R comes from the CRAN 'release' channel to match the r.yml CI.
- CRAN packages come from r2u as Ubuntu binaries to avoid compiling mirt.
- install step is idempotent and self-contained.
- .cursor is added to .Rbuildignore so R CMD check stays clean.

Co-authored-by: Seongho Bae <[email protected]>
Stop R CMD INSTALL of the current tree in .cursor/install.sh so
environment-build snapshots cannot freeze library(aFIPC) at the
build revision. Detect Ubuntu codename/arch, require CRAN deps
before skipping the toolchain, and document .cursor/ in
ARCHITECTURE.md, AGENTS.md, and CLAUDE.md.

Co-authored-by: Seongho Bae <[email protected]>
@seonghobae
seonghobae marked this pull request as ready for review August 16, 2026 15:43
@seonghobae
seonghobae self-requested a review as a code owner August 16, 2026 15:43
@seonghobae
seonghobae self-requested a review August 16, 2026 15:43
@cursor

cursor Bot commented Aug 16, 2026

Copy link
Copy Markdown
Author

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: Cloud Agent install stays revision-agnostic

Prefer this PR over #257 (aa0476f). Close #257; do not merge it.

What was verified

  • Diff 35e4498...0718deb is 6 files, +68/−2. R/aFIPC.R and tests/ are unchanged.
  • All #257 blockers are addressed:
    1. .cursor/install.sh no longer R CMD INSTALLs the current tree.
    2. ARCHITECTURE.md §1/§8 documents .cursor/.
    3. Apt uses /etc/os-release VERSION_CODENAME and dpkg --print-architecture.
    4. toolchain_ready requires R and mirt / testthat / roxygen2 / rcmdcheck.
  • Local evidence on this head: bash -n .cursor/install.sh OK; environment.json is valid JSON (name + install); bash .cursor/install.sh is idempotent (aFIPC toolchain ready, R 4.6.1); .Rbuildignore excludes .cursor/; install.sh is mode 100755.
  • Linking-contract smoke: testthat::test_local(filter = "fixed-parameter-calibration")[ FAIL 0 | WARN 0 | SKIP 0 | PASS 24 ].
  • Docs lint matching CI ([email protected]) is clean on the documented set.
  • CodeRabbit CLI 0.7.3 is present here but coderabbit auth login --agent timed out (exit 124). This review is not a CodeRabbit result.

Residual (not merge-blocking)

  • .cursor/install.sh line 11 says the CRAN apt channel is “matching r.yml”. CI installs R via r-lib/actions/setup-r + public RSPM. The intent (release-channel R, no source-build of mirt) is right; soften that comment in a follow-up.
  • Line 50 R --version | head -1 under set -o pipefail can SIGPIPE. It did not fail here (exit 0).
  • CONTRIBUTING.md still has no Cloud Agent note. Optional.

Merge contract

Do not merge until required checks (R CMD check check, Code Quality quality, Security Scan including trivy-fs) are green on 0718deb and a non-author approval lands. Do not self-approve. Hosted jobs are still queued on the org runner; that is not a content defect.

Next product gap (separate PR)

Keep #189 as the issue #7 safety-net vehicle. Do not mix that work into this branch. Do not land Bolt PRs that edit R/aFIPC.R until that suite is on master.

This repository has no frontend. Do not add Figma or Storybook here.

Open in Web View Automation 

Sent by Cursor Automation: Fix Issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant