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.
Files changed (81) hide show
  1. {plainproof-0.2.0 → plainproof-0.2.1}/CITATION.cff +5 -2
  2. {plainproof-0.2.0 → plainproof-0.2.1}/PKG-INFO +7 -7
  3. {plainproof-0.2.0 → plainproof-0.2.1}/README.md +6 -6
  4. {plainproof-0.2.0 → plainproof-0.2.1}/pyproject.toml +1 -1
  5. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/fetch_heldout.sh +3 -3
  6. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/cli.py +3 -2
  7. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof.egg-info/PKG-INFO +7 -7
  8. {plainproof-0.2.0 → plainproof-0.2.1}/.gitignore +0 -0
  9. {plainproof-0.2.0 → plainproof-0.2.1}/LICENSE +0 -0
  10. {plainproof-0.2.0 → plainproof-0.2.1}/LICENSE-docs.md +0 -0
  11. {plainproof-0.2.0 → plainproof-0.2.1}/MANIFEST.in +0 -0
  12. {plainproof-0.2.0 → plainproof-0.2.1}/data/edm-v2-e0/study/calibration-v2.json +0 -0
  13. {plainproof-0.2.0 → plainproof-0.2.1}/data/edm-v2-e0/study/calibration-v2.receipt.json +0 -0
  14. {plainproof-0.2.0 → plainproof-0.2.1}/data/edm-v2-e0/study/calibration.json +0 -0
  15. {plainproof-0.2.0 → plainproof-0.2.1}/data/edm-v2-e0/study/calibration.receipt.json +0 -0
  16. {plainproof-0.2.0 → plainproof-0.2.1}/data/edm-v2-e0/study/pilot.json +0 -0
  17. {plainproof-0.2.0 → plainproof-0.2.1}/data/edm-v2-e0/study/tune.json +0 -0
  18. {plainproof-0.2.0 → plainproof-0.2.1}/docs/PREREG_EDM_V2.md +0 -0
  19. {plainproof-0.2.0 → plainproof-0.2.1}/docs/PROTOCOL_E0.md +0 -0
  20. {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0/error-vs-d.csv +0 -0
  21. {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0/figures/error-vs-d.png +0 -0
  22. {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0/freeze.json +0 -0
  23. {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0/results-numbers.json +0 -0
  24. {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0/signature-table.md +0 -0
  25. {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0b/figures/probe-auc-vs-d.png +0 -0
  26. {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0b/freeze.json +0 -0
  27. {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0b/numbers.json +0 -0
  28. {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0b/probe-auc-vs-d.csv +0 -0
  29. {plainproof-0.2.0 → plainproof-0.2.1}/reports/edm-v2-e0b/probe-table.md +0 -0
  30. {plainproof-0.2.0 → plainproof-0.2.1}/reports/receipts/assist2009-dev-2pl.receipt.json +0 -0
  31. {plainproof-0.2.0 → plainproof-0.2.1}/reports/receipts/bobcat-gate.json +0 -0
  32. {plainproof-0.2.0 → plainproof-0.2.1}/reports/receipts/bobcat-run-settings.json +0 -0
  33. {plainproof-0.2.0 → plainproof-0.2.1}/reports/receipts/catirt-install-receipt.txt +0 -0
  34. {plainproof-0.2.0 → plainproof-0.2.1}/requirements.txt +0 -0
  35. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/bobcat/check_checkpoint.py +0 -0
  36. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/bobcat/fetch_bobcat.sh +0 -0
  37. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/bobcat/retrain.py +0 -0
  38. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/bobcat_gate.py +0 -0
  39. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/catirt_sprt_steps.R +0 -0
  40. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/fit_assist2009.py +0 -0
  41. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/heldout.py +0 -0
  42. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/install_catirt.R +0 -0
  43. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/pilot.py +0 -0
  44. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/plot_error_vs_d.R +0 -0
  45. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/r_env.sh +0 -0
  46. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/report.py +0 -0
  47. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/repro_paths.py +0 -0
  48. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0/study.py +0 -0
  49. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0b/plot_probe_auc.R +0 -0
  50. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0b/report.py +0 -0
  51. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/edm_v2_e0b/run.py +0 -0
  52. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/published_cat_reference_v1/bobcat_support.py +0 -0
  53. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/published_cat_reference_v1/compare_selection_v1.py +0 -0
  54. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/rscript.sh +0 -0
  55. {plainproof-0.2.0 → plainproof-0.2.1}/scripts/verify_frozen.py +0 -0
  56. {plainproof-0.2.0 → plainproof-0.2.1}/setup.cfg +0 -0
  57. {plainproof-0.2.0 → plainproof-0.2.1}/setup.py +0 -0
  58. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/__init__.py +0 -0
  59. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/bank_from_fit.py +0 -0
  60. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/fit.py +0 -0
  61. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/irt.py +0 -0
  62. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/planted.py +0 -0
  63. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/reliability.py +0 -0
  64. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/signature.py +0 -0
  65. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/simulator.py +0 -0
  66. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/sprt.py +0 -0
  67. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof/stopping.py +0 -0
  68. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof.egg-info/SOURCES.txt +0 -0
  69. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof.egg-info/dependency_links.txt +0 -0
  70. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof.egg-info/entry_points.txt +0 -0
  71. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof.egg-info/requires.txt +0 -0
  72. {plainproof-0.2.0 → plainproof-0.2.1}/src/plainproof.egg-info/top_level.txt +0 -0
  73. {plainproof-0.2.0 → plainproof-0.2.1}/substitutions.json +0 -0
  74. {plainproof-0.2.0 → plainproof-0.2.1}/tests/conftest.py +0 -0
  75. {plainproof-0.2.0 → plainproof-0.2.1}/tests/fixtures/edm_v2_catirt_sprt/bank.csv +0 -0
  76. {plainproof-0.2.0 → plainproof-0.2.1}/tests/fixtures/edm_v2_catirt_sprt/config.csv +0 -0
  77. {plainproof-0.2.0 → plainproof-0.2.1}/tests/fixtures/edm_v2_catirt_sprt/resp.csv +0 -0
  78. {plainproof-0.2.0 → plainproof-0.2.1}/tests/fixtures/edm_v2_catirt_sprt/steps.csv +0 -0
  79. {plainproof-0.2.0 → plainproof-0.2.1}/tests/fixtures/edm_v2_catirt_sprt/terminal.csv +0 -0
  80. {plainproof-0.2.0 → plainproof-0.2.1}/tests/test_edm_v2_e0.py +0 -0
  81. {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.0
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.0
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
- [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.23647650.svg)](https://doi.org/10.5281/zenodo.23647650)
22
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.23647996.svg)](https://doi.org/10.5281/zenodo.23647996)
23
23
 
24
- Archived on Zenodo: version 0.1.0 is DOI [10.5281/zenodo.23647650](https://doi.org/10.5281/zenodo.23647650); all versions are DOI [10.5281/zenodo.23647649](https://doi.org/10.5281/zenodo.23647649). Also on PyPI: `pip install plainproof`.
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://github.com/cloudronin/plainproof/releases/download/v0.1.0 bash scripts/fetch_heldout.sh # plainproof fetch heldout
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
- [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.23647650.svg)](https://doi.org/10.5281/zenodo.23647650)
3
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.23647996.svg)](https://doi.org/10.5281/zenodo.23647996)
4
4
 
5
- Archived on Zenodo: version 0.1.0 is DOI [10.5281/zenodo.23647650](https://doi.org/10.5281/zenodo.23647650); all versions are DOI [10.5281/zenodo.23647649](https://doi.org/10.5281/zenodo.23647649). Also on PyPI: `pip install plainproof`.
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://github.com/cloudronin/plainproof/releases/download/v0.1.0 bash scripts/fetch_heldout.sh # plainproof fetch heldout
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.0"
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: the v0.1.0 GitHub release assets
3
- # (cited by DOI 10.5281/zenodo.23647650); set ZENODO_URL (or any mirror base URL) to fetch from elsewhere.
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://github.com/cloudronin/plainproof/releases/download/v0.1.0}
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 by scripts/fetch_heldout.sh before use.
25
- HELDOUT_BASE_URL = 'https://github.com/cloudronin/plainproof/releases/download/v0.1.0'
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.0
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
- [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.23647650.svg)](https://doi.org/10.5281/zenodo.23647650)
22
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.23647996.svg)](https://doi.org/10.5281/zenodo.23647996)
23
23
 
24
- Archived on Zenodo: version 0.1.0 is DOI [10.5281/zenodo.23647650](https://doi.org/10.5281/zenodo.23647650); all versions are DOI [10.5281/zenodo.23647649](https://doi.org/10.5281/zenodo.23647649). Also on PyPI: `pip install plainproof`.
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://github.com/cloudronin/plainproof/releases/download/v0.1.0 bash scripts/fetch_heldout.sh # plainproof fetch heldout
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