Skip to content

Add AGENTS.md, devcontainer, and fill documentation gaps#86

Merged
frankier merged 5 commits into
mainfrom
agents-devcontainer
Jul 7, 2026
Merged

Add AGENTS.md, devcontainer, and fill documentation gaps#86
frankier merged 5 commits into
mainfrom
agents-devcontainer

Conversation

@frankier

@frankier frankier commented Jul 4, 2026

Copy link
Copy Markdown
Member

Summary

  • AGENTS.md: short conventions doc for coding agents and human contributors — codifies the repo's existing style (ConfigTools bag-of-config-bits constructors, trait/dispatch over branching, composable wrappers, reuse of FittedItemBanks.jl/PsychometricsBazaarBase.jl), build/test/docs commands, and a git-worktree → PR workflow. It stays high-level and points to the README, docs, and docstrings for detail.
  • Devcontainer (.devcontainer/): Julia 1.12 via the official juliaup feature plus gh CLI; postCreate instantiates and precompiles. Verified with devcontainer up: builds, and using ComputerAdaptiveTesting succeeds inside (Julia 1.12.6).
  • Documentation gap-filling so AGENTS.md's pointers actually resolve:
    • Docstrings for Responses (module, Response, BareResponses, AbilityLikelihood, mutators), TrackedResponses, PosteriorAbilityEstimator, ModeAbilityEstimator, MeanAbilityEstimator, LogItemBank, DichotomousPointsWithLogsItemBank, and a Sim module docstring.
    • Block comments explaining the ability-estimator taxonomy (src/Aggregators/ability_estimator.jl) and why the Base.Broadcast recursion_relation patch in src/hacks.jl exists.
    • docs/src/api.md now includes the Stateful, DecisionTree, Compat, and Comparison modules; README repo layout expanded; contributing page links AGENTS.md.

Testing

  • Full test suite passes locally: 146/146 (aqua, jet, ability estimators, smoke, decision tree, stateful, compat).
  • Package precompiles and loads with the new docstrings, both on the host and inside the devcontainer.

🤖 Generated with Claude Code

- AGENTS.md: development conventions (DRY/config-bits style, dispatch over
  branching, sister-package reuse), build/test commands, and a
  worktree-then-PR git workflow, with pointers to README/docs/docstrings.
- .devcontainer: Julia 1.12 via juliaup feature + gh CLI; verified to build,
  instantiate, and load the package.
- Docstrings/block comments for previously undocumented core pieces:
  Responses, TrackedResponses, ability estimator taxonomy, Sim module,
  hacks.jl broadcast patch rationale, logitembank.
- docs/src/api.md: include Stateful, DecisionTree, Compat, Comparison
  modules; README repo layout updated; contributing.md links AGENTS.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown

Benchmark Results

main 86784b8... main / 86784b8...
next_item_rules/4pl/mean_point_mepv_10 2.36 ± 0.011 ms 2.38 ± 0.013 ms 0.991 ± 0.0069
next_item_rules/4pl/mean_point_mepv_bare 0.916 ± 0.0064 ms 0.917 ± 0.0055 ms 0.998 ± 0.0092
next_item_rules/4pl/mode_point_mepv_10 1.92 ± 0.0066 ms 1.92 ± 0.0086 ms 0.999 ± 0.0056
next_item_rules/4pl/mode_point_mepv_bare 0.845 ± 0.0046 ms 0.838 ± 0.0044 ms 1.01 ± 0.0077
time_to_load 2.14 ± 0.012 s 2.13 ± 0.0086 s 1 ± 0.007

Benchmark Plots

A plot of the benchmark results have been uploaded as an artifact to the workflow run for this PR.
Go to "Actions"->"Benchmark a pull request"->[the most recent run]->"Artifacts" (at the bottom).

@coveralls

coveralls commented Jul 4, 2026

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 28846266998

Warning

Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes.
Quick fix: rebase this PR. Learn more →

Coverage remained the same at 32.982%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 1898
Covered Lines: 626
Line Coverage: 32.98%
Coverage Strength: 1458.45 hits per line

💛 - Coveralls

frankier and others added 3 commits July 4, 2026 14:26
Follows https://code.claude.com/docs/en/devcontainer: installs the official
claude-code devcontainer feature and mounts a per-project named volume at
/home/vscode/.claude so authentication and settings persist across rebuilds
(chowned to vscode in postCreate, since fresh volumes mount root-owned).

Verified with `devcontainer up`: claude 2.1.197 runs as the vscode user with
a writable ~/.claude, and Julia 1.12.6 still loads the package.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR improves contributor ergonomics and documentation quality across the ComputerAdaptiveTesting.jl codebase by adding a contributor/agent conventions guide, a ready-to-use devcontainer, and filling in missing docstrings and documentation references so that API/docs pointers resolve cleanly.

Changes:

  • Added AGENTS.md documenting repository conventions, workflows, and common commands.
  • Added a .devcontainer/ configuration for a Julia 1.12-based development environment with automated instantiate/precompile.
  • Filled documentation gaps via new/expanded docstrings and expanded Documenter API coverage for additional submodules.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/Sim/Sim.jl Adds a module docstring describing the Sim loop entry points.
src/Responses.jl Adds DocStringExtensions usage and docstrings for core response/likelihood types and mutators.
src/logitembank.jl Adds DocStringExtensions usage and docstrings for log-space item bank wrappers.
src/hacks.jl Adds explanatory block comment for the broadcast/inference monkeypatch.
src/Aggregators/Aggregators.jl Adds docstring for TrackedResponses.
src/Aggregators/ability_estimator.jl Adds taxonomy comment and docstrings for key estimator types.
README.md Expands repo layout documentation, including pointing to AGENTS.md.
docs/src/stateful.md Marks @docs blocks as non-canonical to avoid canonicalization conflicts.
docs/src/contributing.md Links contributors to AGENTS.md and notes devcontainer availability.
docs/src/api.md Expands autodocs module list to include more submodules.
docs/make.jl Switches to ignoring ComputerAdaptiveTesting.Compat in doc checks.
AGENTS.md Introduces repo conventions document for agents and humans.
.devcontainer/devcontainer.json Introduces devcontainer configuration (Julia, gh, claude-code) and post-create setup.
.devcontainer/devcontainer-lock.json Locks devcontainer feature versions/digests for reproducibility.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/Aggregators/ability_estimator.jl
Comment thread AGENTS.md
Comment on lines +36 to +38
- **Docstrings**: use DocStringExtensions (`$(TYPEDEF)`, `$(SIGNATURES)`);
see `src/NextItemRules/prelude/abstract.jl` for house style. New public API
must appear in `docs/src/api.md`.
"mounts": [
"source=claude-code-config-${devcontainerId},target=/home/vscode/.claude,type=volume"
],
"postCreateCommand": "sudo chown vscode:vscode /home/vscode/.claude && julia --project=. -e 'using Pkg; Pkg.instantiate(); Pkg.precompile()'",
@frankier frankier merged commit 6a4544f into main Jul 7, 2026
3 checks passed
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.

3 participants