Document the .workflow/ workflow in AGENTS.md + fix three pre-existing British spellings in NEWS.md#175
Open
gregfaletto wants to merge 2 commits into
Open
Document the .workflow/ workflow in AGENTS.md + fix three pre-existing British spellings in NEWS.md#175gregfaletto wants to merge 2 commits into
gregfaletto wants to merge 2 commits into
Conversation
… workflow docs Adds a "Working in this repo as a coding agent" section to AGENTS.md that (1) mandates following the ExecPlan workflow at .workflow/PLANS.md for any non-trivial PR, (2) defines "non-trivial" by reference to IMPLEMENTER_AGENT.md's "When to use this subagent" criteria, and (3) catalogs each of the ten .workflow/*.md documents with a one-paragraph description of what each one covers. Closes a discoverability gap: .workflow/ is .gitignored, and AGENTS.md (the top-level orientation doc that an agent reads first) previously had zero references to it. An agent following only AGENTS.md had no way to know the workflow exists. The reverse pointer already existed -- .workflow/PLANS.md treats AGENTS.md as required reading -- but the asymmetry meant new agents could spend a session missing the multi-subagent review cycle, the per-PR CRAN gate's full command sequence (including air format ., spell_check, urlchecker), and the PLAN.md living-document format with Progress / Surprises & Discoveries / Decision Log / Outcomes & Retrospective sections. AGENTS.md is .Rbuildignored so this change is purely repo-local and does not affect the package build, CRAN tarball, or any user-visible behaviour. No version bump, NEWS entry, or inst/CITATION update needed. CRAN gate: 0 errors / 0 warnings / 0 notes (with _R_CHECK_SYSTEM_CLOCK_= false; the time-server NOTE is environment-dependent and unrelated). devtools::spell_check() reports the same 3 pre-existing flags it would on origin/main (NEWS.md "behaviour", "lex", "randomised" -- pre-existing from #166 and #167, not introduced by this PR; follow-up PR will fix). urlchecker::url_check() reports all URLs reachable. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
devtools::spell_check() was flagging three pre-existing British spellings in NEWS.md that landed via PRs #166 (idCohorts vectorize) and #167 (my_scale vectorize) because the per-PR gate I'd been running on those PRs only used `devtools::check(args = "--as-cran")` and not also `devtools::spell_check()` -- a gap that a future agent won't have, since PR #175 documents the full per-PR gate in AGENTS.md. Conversions to the package's US-English convention: - "Vectorised" -> "Vectorized" (NEWS.md:7) - "behaviour" -> "behavior" (NEWS.md:13) - "lex-sorted" -> "lexicographically-sorted" (NEWS.md:15) - "randomised" -> "randomized" (NEWS.md:34) devtools::spell_check() now reports "No spelling errors found". CRAN gate: 0 errors / 0 warnings / 0 notes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
.workflow/ ExecPlan workflow from AGENTS.md and catalog the workflow docs
gregfaletto
added a commit
that referenced
this pull request
May 29, 2026
…DLIST, test trim Round-1 review converged on five action items (one sentinel BLOCKER + four reviewer robustness/cosmetic items). Round-2 commit applies the four items that touch tracked files; PLAN.md prose corrections and PR description draft live in .plans/ (gitignored). (Sentinel BLOCKER, Check 1.) Extracted .resolve_event_study_offsets_and_first_inds(x, R, T) as a private internal helper near the top of R/event_study.R. Both private dispatchers (.event_study_etwfe_betwfe at the etwfe/betwfe entry and .event_study_fetwfe at the fetwfe entry) previously contained a byte-identical 10-line offset-resolution block (verified by `diff` returning empty). They now use a 3-line unpack of the helper's return. Same drift-risk profile as the v1.9.5 #56 item 1 incident (mask expression copy-pasted between two event-study sites; only one updated on a later fix); the helper parks the fall-back contract in one place so future changes (e.g., a "cohort_probs names are factor levels" branch) land atomically. (Reviewer §3.3, robustness.) Removed the no-op bare `bacondecomp::divorce` reference at tests/testthat/test-event-study-present-in-print-summary-174.R:68. The next-line `data(divorce, package = "bacondecomp")` is the canonical bind; the bare reference forced lazy-data evaluation but did nothing with the value. (Reviewer §4.1, cosmetic.) Added five PR-introduced tokens to inst/WORDLIST: getFirstInds, inds, len, prepXints, tryCatch. The Greek- letters block at the top is preserved; the rest is alphabetically sorted case-insensitively. devtools::spell_check() now flags only the three pre-existing British spellings (behaviour, lex, randomised) which are PR #175's territory. Validation: - _R_CHECK_SYSTEM_CLOCK_=false devtools::check(args = "--as-cran"): 0/0/0 - devtools::test(): FAIL 0 / WARN 0 / PASS 2456 - devtools::document() idempotent - urlchecker::url_check() clean - Both new test files (test-event-study-no-silent-swallow-174.R and test-event-study-present-in-print-summary-174.R) pass byte-equivalently after the helper extraction, verifying the dispatcher behavior is unchanged. - Round-2 drift sentinel returned Verdict: CLEAN. - Round-2 post-execution reviewer returned LGTM, ready for Greg's review. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two related docs-hygiene changes:
1.
AGENTS.mdworkflow pointer + catalog. Adds a "Working in this repo as a coding agent" section toAGENTS.mdthat (1) mandates following the ExecPlan workflow at.workflow/PLANS.mdfor any non-trivial PR, (2) defines "non-trivial" by reference toIMPLEMENTER_AGENT.md§ "When to use this subagent", and (3) catalogs each of the ten.workflow/*.mddocuments with a one-paragraph description.Closes a discoverability gap:
.workflow/is.gitignored, andAGENTS.md(the top-level orientation doc an agent reads first) previously had zero references to it. An agent following onlyAGENTS.mdhad no way to know the workflow exists. The reverse pointer already existed —.workflow/PLANS.mdtreatsAGENTS.mdas required reading — but the asymmetry meant new agents could spend a session missing the multi-subagent review cycle, the per-PR CRAN gate's full command sequence (includingair format .,spell_check,urlchecker), and thePLAN.mdliving-document format.2. Pre-existing British spellings in
NEWS.md→ US English.devtools::spell_check()was flagging three British spellings inNEWS.mdintroduced by my PRs #166 (idCohortsvectorize) and #167 (my_scalevectorize) — exactly because my per-PR gate on those PRs only randevtools::check(args = "--as-cran")and not alsospell_check, a gap that this PR'sAGENTS.mdupdate now documents. Conversions:"Vectorised" → "Vectorized","behaviour" → "behavior","lex-sorted" → "lexicographically-sorted","randomised" → "randomized".devtools::spell_check()now reports"No spelling errors found.".Neither change touches package source;
AGENTS.mdis.Rbuildignored andNEWS.mdis documentation only. No version bump, noinst/CITATIONupdate.CRAN gate: 0 errors / 0 warnings / 0 notes on both commits.