plainproof 0.2.0__tar.gz → 0.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {plainproof-0.2.0 → plainproof-0.2.1}/CITATION.cff +5 -2
- {plainproof-0.2.0 → plainproof-0.2.1}/PKG-INFO +7 -7
- {plainproof-0.2.0 → plainproof-0.2.1}/README.md +6 -6
- {plainproof-0.2.0 → plainproof-0.2.1}/pyproject.toml +1 -1
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/fetch_heldout.sh +3 -3
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/cli.py +3 -2
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof.egg-info/PKG-INFO +7 -7
- {plainproof-0.2.0 → plainproof-0.2.1}/.gitignore +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/LICENSE +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/LICENSE-docs.md +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/MANIFEST.in +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/data/edm-v2-e0/study/calibration-v2.json +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/data/edm-v2-e0/study/calibration-v2.receipt.json +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/data/edm-v2-e0/study/calibration.json +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/data/edm-v2-e0/study/calibration.receipt.json +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/data/edm-v2-e0/study/pilot.json +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/data/edm-v2-e0/study/tune.json +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/docs/PREREG_EDM_V2.md +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/docs/PROTOCOL_E0.md +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0/error-vs-d.csv +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0/figures/error-vs-d.png +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0/freeze.json +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0/results-numbers.json +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0/signature-table.md +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0b/figures/probe-auc-vs-d.png +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0b/freeze.json +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0b/numbers.json +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0b/probe-auc-vs-d.csv +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0b/probe-table.md +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/reports/receipts/assist2009-dev-2pl.receipt.json +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/reports/receipts/bobcat-gate.json +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/reports/receipts/bobcat-run-settings.json +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/reports/receipts/catirt-install-receipt.txt +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/requirements.txt +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/bobcat/check_checkpoint.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/bobcat/fetch_bobcat.sh +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/bobcat/retrain.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/bobcat_gate.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/catirt_sprt_steps.R +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/fit_assist2009.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/heldout.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/install_catirt.R +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/pilot.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/plot_error_vs_d.R +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/r_env.sh +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/report.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/repro_paths.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/study.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0b/plot_probe_auc.R +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0b/report.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0b/run.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/published_cat_reference_v1/bobcat_support.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/published_cat_reference_v1/compare_selection_v1.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/rscript.sh +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/scripts/verify_frozen.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/setup.cfg +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/setup.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/__init__.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/bank_from_fit.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/fit.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/irt.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/planted.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/reliability.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/signature.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/simulator.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/sprt.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/stopping.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof.egg-info/SOURCES.txt +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof.egg-info/dependency_links.txt +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof.egg-info/entry_points.txt +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof.egg-info/requires.txt +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof.egg-info/top_level.txt +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/substitutions.json +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/tests/conftest.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/tests/fixtures/edm_v2_catirt_sprt/bank.csv +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/tests/fixtures/edm_v2_catirt_sprt/config.csv +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/tests/fixtures/edm_v2_catirt_sprt/resp.csv +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/tests/fixtures/edm_v2_catirt_sprt/steps.csv +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/tests/fixtures/edm_v2_catirt_sprt/terminal.csv +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/tests/test_edm_v2_e0.py +0 -0
- {plainproof-0.2.0 → plainproof-0.2.1}/tests/test_edm_v2_e0b.py +0 -0
|
@@ -5,10 +5,13 @@ authors:
|
|
|
5
5
|
- family-names: Vettrivel
|
|
6
6
|
given-names: Vishnu
|
|
7
7
|
license: MIT
|
|
8
|
-
version: 0.2.
|
|
8
|
+
version: 0.2.1
|
|
9
9
|
doi: 10.5281/zenodo.23647649
|
|
10
10
|
identifiers:
|
|
11
|
+
- type: doi
|
|
12
|
+
value: 10.5281/zenodo.23647996
|
|
13
|
+
description: version 0.2.0 with the sealed held-out outputs
|
|
11
14
|
- type: doi
|
|
12
15
|
value: 10.5281/zenodo.23647650
|
|
13
|
-
description: version 0.1.0
|
|
16
|
+
description: version 0.1.0 (code only)
|
|
14
17
|
repository-code: https://github.com/cloudronin/plainproof
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: plainproof
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: Reproduction tool for the paper 'How many follow-up questions distinguish genuine understanding from apparent mastery?'. Not a general library. Its sealed checks can stop a run on purpose.
|
|
5
5
|
Author: Vishnu Vettrivel
|
|
6
6
|
License-Expression: MIT
|
|
@@ -19,9 +19,9 @@ Dynamic: license-file
|
|
|
19
19
|
|
|
20
20
|
# plainproof
|
|
21
21
|
|
|
22
|
-
[](https://doi.org/10.5281/zenodo.23647996)
|
|
23
23
|
|
|
24
|
-
Archived on Zenodo:
|
|
24
|
+
Archived on Zenodo with the sealed held-out outputs: DOI [10.5281/zenodo.23647996](https://doi.org/10.5281/zenodo.23647996) (v0.2.0, code plus `e0-heldout.tar`, `e0b-heldout.tar` and `SHA256SUMS`); all versions: DOI [10.5281/zenodo.23647649](https://doi.org/10.5281/zenodo.23647649); version 0.1.0 (code only): DOI [10.5281/zenodo.23647650](https://doi.org/10.5281/zenodo.23647650). Also on PyPI: `pip install plainproof`.
|
|
25
25
|
|
|
26
26
|
Reproduction package for **"How many follow-up questions distinguish genuine understanding from apparent mastery?"** (EDM 2027 submission, simulation study). It asks how many adaptive follow-up questions a classification test needs to tell genuine understanding from apparent mastery at a calibrated confidence target, and how that changes as a learner outsources a share *d* of the follow-ups to an AI. A second, sealed study (E0b) tests whether planted hard probe items separate outsourcing learners from honest ones.
|
|
27
27
|
|
|
@@ -35,7 +35,7 @@ plainproof init ~/plainproof # writes the working directory: sealed scrip
|
|
|
35
35
|
cd ~/plainproof
|
|
36
36
|
plainproof test # 43 tests: SPRT against catIrt 0.5.1's saved steps, exact stopping time, simulator, signatures, probes
|
|
37
37
|
plainproof verify # every sealed file against both freezes (undoes the documented substitutions, then sha256)
|
|
38
|
-
plainproof fetch heldout # the sealed held-out outputs, hash-checked
|
|
38
|
+
plainproof fetch heldout # the sealed held-out outputs from Zenodo, hash-checked
|
|
39
39
|
plainproof figures # tables and figures from the held-out summaries (needs R 4.x on PATH; base graphics only)
|
|
40
40
|
```
|
|
41
41
|
|
|
@@ -63,8 +63,8 @@ The ASSISTments terms of use forbid passing the data on, so this package never c
|
|
|
63
63
|
| E0b sealed freeze `reports/edm-v2-e0b/freeze.json` | `3fa0b8d457d813f59abd5255f9303e44deb2119ee79d6a9b92439a6c1cbf58ed` |
|
|
64
64
|
| E0 held-out summary (`e0-heldout.tar` → `heldout/summary.json`) | `aff9a8c49d48821c0e9343cd058c4e0e2f1659ffabcaa719824412f3b14abc90` |
|
|
65
65
|
| E0b held-out summary (`e0b-heldout.tar` → `heldout/summary.json`) | `617be427feac24df2e342da00d34e91c78d5de91592cee390ef3516ae9e2ff3f` |
|
|
66
|
-
| `e0-heldout.tar` (release asset) | `bd06a11eb7163da102cad6ea0df12ea79e52ff94aab1dc35d28ec3910af2be22` |
|
|
67
|
-
| `e0b-heldout.tar` (release asset) | `68219f228c41da972fe4c8f92c218e01f85f08eed864185f237cecda05314bbf` |
|
|
66
|
+
| `e0-heldout.tar` (Zenodo 23647996; also a release asset) | `bd06a11eb7163da102cad6ea0df12ea79e52ff94aab1dc35d28ec3910af2be22` |
|
|
67
|
+
| `e0b-heldout.tar` (Zenodo 23647996; also a release asset) | `68219f228c41da972fe4c8f92c218e01f85f08eed864185f237cecda05314bbf` |
|
|
68
68
|
| ASSISTments 2009 file at BOBCAT e6b6245e | `c07ca9fa0f08207b06488cec527725938fe96e81e3c1762839e1ad0b84f974cc` |
|
|
69
69
|
| 2PL item fit (regenerated in step b) | `12a3b167cd9c9b78b3c3c7faf71b2e464b0943a454f6418faf0f99b1114cb7fc` |
|
|
70
70
|
| catIrt 0.5.1 CRAN binary used for the fixture | `f5418f447e91d184791e668bd2a135ea5da40c981d4a76826018295b6ea9f079` |
|
|
@@ -88,7 +88,7 @@ What each `plainproof` command runs, from the working directory (`REPRO_DATA` de
|
|
|
88
88
|
```sh
|
|
89
89
|
python -m pytest -n auto -q tests # plainproof test
|
|
90
90
|
python scripts/verify_frozen.py # plainproof verify
|
|
91
|
-
ZENODO_URL=https://
|
|
91
|
+
ZENODO_URL=https://zenodo.org/records/23647996/files bash scripts/fetch_heldout.sh # plainproof fetch heldout (mirror: .../releases/download/v0.2.0)
|
|
92
92
|
python scripts/edm_v2_e0/report.py data/edm-v2-e0/heldout/summary.json # plainproof figures (E0 tables)
|
|
93
93
|
bash scripts/rscript.sh scripts/edm_v2_e0/plot_error_vs_d.R reports/edm-v2-e0/error-vs-d.csv reports/edm-v2-e0/figures/error-vs-d.png <E0 summary sha256>
|
|
94
94
|
python scripts/edm_v2_e0b/report.py data/edm-v2-e0b/heldout/summary.json
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# plainproof
|
|
2
2
|
|
|
3
|
-
[](https://doi.org/10.5281/zenodo.23647996)
|
|
4
4
|
|
|
5
|
-
Archived on Zenodo:
|
|
5
|
+
Archived on Zenodo with the sealed held-out outputs: DOI [10.5281/zenodo.23647996](https://doi.org/10.5281/zenodo.23647996) (v0.2.0, code plus `e0-heldout.tar`, `e0b-heldout.tar` and `SHA256SUMS`); all versions: DOI [10.5281/zenodo.23647649](https://doi.org/10.5281/zenodo.23647649); version 0.1.0 (code only): DOI [10.5281/zenodo.23647650](https://doi.org/10.5281/zenodo.23647650). Also on PyPI: `pip install plainproof`.
|
|
6
6
|
|
|
7
7
|
Reproduction package for **"How many follow-up questions distinguish genuine understanding from apparent mastery?"** (EDM 2027 submission, simulation study). It asks how many adaptive follow-up questions a classification test needs to tell genuine understanding from apparent mastery at a calibrated confidence target, and how that changes as a learner outsources a share *d* of the follow-ups to an AI. A second, sealed study (E0b) tests whether planted hard probe items separate outsourcing learners from honest ones.
|
|
8
8
|
|
|
@@ -16,7 +16,7 @@ plainproof init ~/plainproof # writes the working directory: sealed scrip
|
|
|
16
16
|
cd ~/plainproof
|
|
17
17
|
plainproof test # 43 tests: SPRT against catIrt 0.5.1's saved steps, exact stopping time, simulator, signatures, probes
|
|
18
18
|
plainproof verify # every sealed file against both freezes (undoes the documented substitutions, then sha256)
|
|
19
|
-
plainproof fetch heldout # the sealed held-out outputs, hash-checked
|
|
19
|
+
plainproof fetch heldout # the sealed held-out outputs from Zenodo, hash-checked
|
|
20
20
|
plainproof figures # tables and figures from the held-out summaries (needs R 4.x on PATH; base graphics only)
|
|
21
21
|
```
|
|
22
22
|
|
|
@@ -44,8 +44,8 @@ The ASSISTments terms of use forbid passing the data on, so this package never c
|
|
|
44
44
|
| E0b sealed freeze `reports/edm-v2-e0b/freeze.json` | `3fa0b8d457d813f59abd5255f9303e44deb2119ee79d6a9b92439a6c1cbf58ed` |
|
|
45
45
|
| E0 held-out summary (`e0-heldout.tar` → `heldout/summary.json`) | `aff9a8c49d48821c0e9343cd058c4e0e2f1659ffabcaa719824412f3b14abc90` |
|
|
46
46
|
| E0b held-out summary (`e0b-heldout.tar` → `heldout/summary.json`) | `617be427feac24df2e342da00d34e91c78d5de91592cee390ef3516ae9e2ff3f` |
|
|
47
|
-
| `e0-heldout.tar` (release asset) | `bd06a11eb7163da102cad6ea0df12ea79e52ff94aab1dc35d28ec3910af2be22` |
|
|
48
|
-
| `e0b-heldout.tar` (release asset) | `68219f228c41da972fe4c8f92c218e01f85f08eed864185f237cecda05314bbf` |
|
|
47
|
+
| `e0-heldout.tar` (Zenodo 23647996; also a release asset) | `bd06a11eb7163da102cad6ea0df12ea79e52ff94aab1dc35d28ec3910af2be22` |
|
|
48
|
+
| `e0b-heldout.tar` (Zenodo 23647996; also a release asset) | `68219f228c41da972fe4c8f92c218e01f85f08eed864185f237cecda05314bbf` |
|
|
49
49
|
| ASSISTments 2009 file at BOBCAT e6b6245e | `c07ca9fa0f08207b06488cec527725938fe96e81e3c1762839e1ad0b84f974cc` |
|
|
50
50
|
| 2PL item fit (regenerated in step b) | `12a3b167cd9c9b78b3c3c7faf71b2e464b0943a454f6418faf0f99b1114cb7fc` |
|
|
51
51
|
| catIrt 0.5.1 CRAN binary used for the fixture | `f5418f447e91d184791e668bd2a135ea5da40c981d4a76826018295b6ea9f079` |
|
|
@@ -69,7 +69,7 @@ What each `plainproof` command runs, from the working directory (`REPRO_DATA` de
|
|
|
69
69
|
```sh
|
|
70
70
|
python -m pytest -n auto -q tests # plainproof test
|
|
71
71
|
python scripts/verify_frozen.py # plainproof verify
|
|
72
|
-
ZENODO_URL=https://
|
|
72
|
+
ZENODO_URL=https://zenodo.org/records/23647996/files bash scripts/fetch_heldout.sh # plainproof fetch heldout (mirror: .../releases/download/v0.2.0)
|
|
73
73
|
python scripts/edm_v2_e0/report.py data/edm-v2-e0/heldout/summary.json # plainproof figures (E0 tables)
|
|
74
74
|
bash scripts/rscript.sh scripts/edm_v2_e0/plot_error_vs_d.R reports/edm-v2-e0/error-vs-d.csv reports/edm-v2-e0/figures/error-vs-d.png <E0 summary sha256>
|
|
75
75
|
python scripts/edm_v2_e0b/report.py data/edm-v2-e0b/heldout/summary.json
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "plainproof"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.1"
|
|
8
8
|
description = "Reproduction tool for the paper 'How many follow-up questions distinguish genuine understanding from apparent mastery?'. Not a general library. Its sealed checks can stop a run on purpose."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# Download the sealed held-out outputs and check their sha256 before use. Default source:
|
|
3
|
-
# (
|
|
2
|
+
# Download the sealed held-out outputs and check their sha256 before use. Default source: Zenodo record 23647996
|
|
3
|
+
# (DOI 10.5281/zenodo.23647996); set ZENODO_URL to another base URL, e.g. the v0.2.0 GitHub release assets, to use a mirror.
|
|
4
4
|
set -euo pipefail
|
|
5
|
-
DOI_URL=${ZENODO_URL:-https://
|
|
5
|
+
DOI_URL=${ZENODO_URL:-https://zenodo.org/records/23647996/files}
|
|
6
6
|
D=${REPRO_DATA:-data}; mkdir -p "$D/edm-v2-e0" "$D/edm-v2-e0b"
|
|
7
7
|
for f in e0-heldout.tar e0b-heldout.tar; do curl -fsSL -o "$D/$f" "$DOI_URL/$f"; done
|
|
8
8
|
cd "$D" && printf '%s %s\n%s %s\n' bd06a11eb7163da102cad6ea0df12ea79e52ff94aab1dc35d28ec3910af2be22 e0-heldout.tar 68219f228c41da972fe4c8f92c218e01f85f08eed864185f237cecda05314bbf e0b-heldout.tar | shasum -a 256 -c
|
|
@@ -21,8 +21,9 @@ import subprocess
|
|
|
21
21
|
import sys
|
|
22
22
|
from pathlib import Path
|
|
23
23
|
|
|
24
|
-
# The sealed held-out outputs. Their sha256 values are checked
|
|
25
|
-
|
|
24
|
+
# The sealed held-out outputs, on Zenodo (record 23647996, DOI 10.5281/zenodo.23647996). Their sha256 values are checked
|
|
25
|
+
# by scripts/fetch_heldout.sh before use. Fallback mirror: ZENODO_URL=https://github.com/cloudronin/plainproof/releases/download/v0.2.0
|
|
26
|
+
HELDOUT_BASE_URL = 'https://zenodo.org/records/23647996/files'
|
|
26
27
|
PAYLOAD = Path(__file__).resolve().parent / 'payload'
|
|
27
28
|
|
|
28
29
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: plainproof
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: Reproduction tool for the paper 'How many follow-up questions distinguish genuine understanding from apparent mastery?'. Not a general library. Its sealed checks can stop a run on purpose.
|
|
5
5
|
Author: Vishnu Vettrivel
|
|
6
6
|
License-Expression: MIT
|
|
@@ -19,9 +19,9 @@ Dynamic: license-file
|
|
|
19
19
|
|
|
20
20
|
# plainproof
|
|
21
21
|
|
|
22
|
-
[](https://doi.org/10.5281/zenodo.23647996)
|
|
23
23
|
|
|
24
|
-
Archived on Zenodo:
|
|
24
|
+
Archived on Zenodo with the sealed held-out outputs: DOI [10.5281/zenodo.23647996](https://doi.org/10.5281/zenodo.23647996) (v0.2.0, code plus `e0-heldout.tar`, `e0b-heldout.tar` and `SHA256SUMS`); all versions: DOI [10.5281/zenodo.23647649](https://doi.org/10.5281/zenodo.23647649); version 0.1.0 (code only): DOI [10.5281/zenodo.23647650](https://doi.org/10.5281/zenodo.23647650). Also on PyPI: `pip install plainproof`.
|
|
25
25
|
|
|
26
26
|
Reproduction package for **"How many follow-up questions distinguish genuine understanding from apparent mastery?"** (EDM 2027 submission, simulation study). It asks how many adaptive follow-up questions a classification test needs to tell genuine understanding from apparent mastery at a calibrated confidence target, and how that changes as a learner outsources a share *d* of the follow-ups to an AI. A second, sealed study (E0b) tests whether planted hard probe items separate outsourcing learners from honest ones.
|
|
27
27
|
|
|
@@ -35,7 +35,7 @@ plainproof init ~/plainproof # writes the working directory: sealed scrip
|
|
|
35
35
|
cd ~/plainproof
|
|
36
36
|
plainproof test # 43 tests: SPRT against catIrt 0.5.1's saved steps, exact stopping time, simulator, signatures, probes
|
|
37
37
|
plainproof verify # every sealed file against both freezes (undoes the documented substitutions, then sha256)
|
|
38
|
-
plainproof fetch heldout # the sealed held-out outputs, hash-checked
|
|
38
|
+
plainproof fetch heldout # the sealed held-out outputs from Zenodo, hash-checked
|
|
39
39
|
plainproof figures # tables and figures from the held-out summaries (needs R 4.x on PATH; base graphics only)
|
|
40
40
|
```
|
|
41
41
|
|
|
@@ -63,8 +63,8 @@ The ASSISTments terms of use forbid passing the data on, so this package never c
|
|
|
63
63
|
| E0b sealed freeze `reports/edm-v2-e0b/freeze.json` | `3fa0b8d457d813f59abd5255f9303e44deb2119ee79d6a9b92439a6c1cbf58ed` |
|
|
64
64
|
| E0 held-out summary (`e0-heldout.tar` → `heldout/summary.json`) | `aff9a8c49d48821c0e9343cd058c4e0e2f1659ffabcaa719824412f3b14abc90` |
|
|
65
65
|
| E0b held-out summary (`e0b-heldout.tar` → `heldout/summary.json`) | `617be427feac24df2e342da00d34e91c78d5de91592cee390ef3516ae9e2ff3f` |
|
|
66
|
-
| `e0-heldout.tar` (release asset) | `bd06a11eb7163da102cad6ea0df12ea79e52ff94aab1dc35d28ec3910af2be22` |
|
|
67
|
-
| `e0b-heldout.tar` (release asset) | `68219f228c41da972fe4c8f92c218e01f85f08eed864185f237cecda05314bbf` |
|
|
66
|
+
| `e0-heldout.tar` (Zenodo 23647996; also a release asset) | `bd06a11eb7163da102cad6ea0df12ea79e52ff94aab1dc35d28ec3910af2be22` |
|
|
67
|
+
| `e0b-heldout.tar` (Zenodo 23647996; also a release asset) | `68219f228c41da972fe4c8f92c218e01f85f08eed864185f237cecda05314bbf` |
|
|
68
68
|
| ASSISTments 2009 file at BOBCAT e6b6245e | `c07ca9fa0f08207b06488cec527725938fe96e81e3c1762839e1ad0b84f974cc` |
|
|
69
69
|
| 2PL item fit (regenerated in step b) | `12a3b167cd9c9b78b3c3c7faf71b2e464b0943a454f6418faf0f99b1114cb7fc` |
|
|
70
70
|
| catIrt 0.5.1 CRAN binary used for the fixture | `f5418f447e91d184791e668bd2a135ea5da40c981d4a76826018295b6ea9f079` |
|
|
@@ -88,7 +88,7 @@ What each `plainproof` command runs, from the working directory (`REPRO_DATA` de
|
|
|
88
88
|
```sh
|
|
89
89
|
python -m pytest -n auto -q tests # plainproof test
|
|
90
90
|
python scripts/verify_frozen.py # plainproof verify
|
|
91
|
-
ZENODO_URL=https://
|
|
91
|
+
ZENODO_URL=https://zenodo.org/records/23647996/files bash scripts/fetch_heldout.sh # plainproof fetch heldout (mirror: .../releases/download/v0.2.0)
|
|
92
92
|
python scripts/edm_v2_e0/report.py data/edm-v2-e0/heldout/summary.json # plainproof figures (E0 tables)
|
|
93
93
|
bash scripts/rscript.sh scripts/edm_v2_e0/plot_error_vs_d.R reports/edm-v2-e0/error-vs-d.csv reports/edm-v2-e0/figures/error-vs-d.png <E0 summary sha256>
|
|
94
94
|
python scripts/edm_v2_e0b/report.py data/edm-v2-e0b/heldout/summary.json
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plainproof-0.2.0 → plainproof-0.2.1}/scripts/published_cat_reference_v1/compare_selection_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|