Recorded cat porc#84
Conversation
Coverage Report for CI Build 28704916407Warning Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes. Coverage decreased (-5.8%) to 32.982%Details
Uncovered Changes
Coverage Regressions6 previously-covered lines in 2 files lost coverage.
Coverage Stats
💛 - Coveralls |
Benchmark Results
Benchmark PlotsA plot of the benchmark results have been uploaded as an artifact to the workflow run for this PR. |
* Clear recorded data on run_cat startup
* Use power_summary(...) as main method for all printing * Add StdDevEstimator as a std dev measure * Add way to make recording entry before any items are administered * Add all kinds printing for Recorder and Recording * Format numbers to 3dp in Recording
22823d9 to
ba600a7
Compare
* Delete a lot of comments * Remove vestigial dependency on RDataGet * Use derivatives stuff from PsychometricsBazaarBase
ba600a7 to
06f3c03
Compare
There was a problem hiding this comment.
Pull request overview
This PR introduces a higher-level “recorded CAT” runner/recorder flow in Sim, standardizes human-readable printing via power_summary, and expands/renames parts of the next-item criterion API.
Changes:
- Add
RecordedCatLoopplus recorder initialization hooks to capture initial state and produce richer summaries/tables. - Replace many
show(::MIME"text/plain")implementations withpower_summaryand routeCatConfigBaseprinting through it. - Fix/extend next-item criterion exports (including correcting
Scalarized*type names) and add new pointwise information criteria.
Reviewed changes
Copilot reviewed 28 out of 30 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| test/ability_estimator_2d.jl | Updates tests to use the corrected Scalarized*Criterion type names. |
| src/TerminationConditions.jl | Switches termination-condition printing to power_summary. |
| src/Sim/Sim.jl | Exports/loads RecordedCatLoop and wires show to power_summary for Sim objects. |
| src/Sim/run.jl | Adds init_callback support to initialize recording/state at CAT start. |
| src/Sim/recorder.jl | Major recorder redesign: initial-state handling, richer summaries, dataframe/table output, request enrichment. |
| src/Sim/recorded_loop.jl | New convenience wrapper to build/run a CatLoop + CatRecorder together. |
| src/Sim/loop.jl | Adds init_callback and callback collation; adds power_summary for CatLoop. |
| src/Rules.jl | Routes CatRules show through power_summary. |
| src/Responses.jl | Adds length(::BareResponses) used by recorder logic. |
| src/NextItemRules/strategies/sequential.jl | Converts strategy printing to power_summary. |
| src/NextItemRules/strategies/randomesque.jl | Converts strategy printing to power_summary. |
| src/NextItemRules/strategies/pointwise.jl | Converts strategy printing to power_summary. |
| src/NextItemRules/strategies/balance.jl | Converts strategy printing to power_summary. |
| src/NextItemRules/prelude/next_item_rule.jl | Converts rule printing to power_summary. |
| src/NextItemRules/porcelain/porcelain.jl | Fixes misspelled Scalarized* constructor usage; adds pointwise information porcelain helpers. |
| src/NextItemRules/NextItemRules.jl | Updates exports/imports (power_summary, Differentiation) and adds new criterion exports. |
| src/NextItemRules/criteria/state/ability_variance.jl | Uses domdims and converts printing to power_summary. |
| src/NextItemRules/criteria/pointwise/information.jl | Moves derivatives to Differentiation and converts printing to power_summary. |
| src/NextItemRules/criteria/pointwise/information_support.jl | Replaces local derivative helpers with Differentiation usage. |
| src/NextItemRules/combinators/scalarizers.jl | Renames scalarized criterion types to correctly-spelled names. |
| src/NextItemRules/combinators/expectation.jl | Converts printing to power_summary. |
| src/DerivedMeasures.jl | New module providing derived estimators/samplers used by the recorder request enrichment. |
| src/ConfigBase.jl | Makes show(::CatConfigBase) delegate to power_summary. |
| src/ComputerAdaptiveTesting.jl | Includes DerivedMeasures in the top-level package module. |
| src/Aggregators/tracked.jl | Adds get_integrator accessor for tracked integrators. |
| src/Aggregators/optimizers.jl | Converts optimizer printing to power_summary. |
| src/Aggregators/Aggregators.jl | Adds get_integrator export and converts integrator printing to power_summary. |
| src/Aggregators/ability_estimator.jl | Converts ability estimator printing to power_summary. |
| Project.toml | Adds new dependencies (DataAPI/PrettyPrinting/PrettyTables) and bumps compat for FittedItemBanks/PsychometricsBazaarBase. |
| .gitignore | Ignores a local Claude settings file. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| function consume!(cb, dict, key) | ||
| if haskey(dict, key) | ||
| cb(dict[key]) | ||
| delete!(dict, key) | ||
| end | ||
| end |
| end | ||
| =# | ||
|
|
||
| MeanAbilityEstimator, ModeAbilityEstimator |
| if haskey(kwargs, :dims) | ||
| dims = pop!(kwargs, :dims) | ||
| end |
| @info "ability_distribution" rules source | ||
| @requiresome composite = get_composite(rules, source) | ||
| @info "composite" composite |
| @info "ability_distribution" rules_source DistributionAbilityEstimator | ||
| @requiresome dist_est = _walk_find_type_first(rules_source, DistributionAbilityEstimator) |
| scalarizer::MatrixScalarizerT | ||
| end | ||
|
|
||
| function compute_criterion(ssc::Union{ScalarizedItemCriteron, ScalarizedStateCriteron}, | ||
| function compute_criterion(ssc::Union{ScalarizedItemCriterion, ScalarizedStateCriterion}, |
No description provided.