Add AGENTS.md, devcontainer, and fill documentation gaps#86
Conversation
- 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>
Benchmark Results
Benchmark PlotsA plot of the benchmark results have been uploaded as an artifact to the workflow run for this PR. |
Coverage Report for CI Build 28846266998Warning Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes. Coverage remained the same at 32.982%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
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>
There was a problem hiding this comment.
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.mddocumenting 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.
| - **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()'", |
Summary
.devcontainer/): Julia 1.12 via the official juliaup feature plus gh CLI; postCreate instantiates and precompiles. Verified withdevcontainer up: builds, andusing ComputerAdaptiveTestingsucceeds inside (Julia 1.12.6).Responses(module,Response,BareResponses,AbilityLikelihood, mutators),TrackedResponses,PosteriorAbilityEstimator,ModeAbilityEstimator,MeanAbilityEstimator,LogItemBank,DichotomousPointsWithLogsItemBank, and aSimmodule docstring.src/Aggregators/ability_estimator.jl) and why theBase.Broadcastrecursion_relationpatch insrc/hacks.jlexists.docs/src/api.mdnow includes theStateful,DecisionTree,Compat, andComparisonmodules; README repo layout expanded; contributing page links AGENTS.md.Testing
🤖 Generated with Claude Code