Skip to content

Releases: wysking/postgrad-study-engine

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 27 Oct 01:26
8b90d71

v0.5.1: compatible subject labels for open study records

save_study_record accepts subject as an input alias for subject_label.
Stored records continue to use subject_label. Normalization uses a copy, so
the original request and its canonical hash remain unchanged. Equal dual names
are accepted; conflicting or invalid values fail explicitly. CLI receipt
verification understands the normalized representation as well.

There are no new learner fields or assessment requirements. Formal evidence,
scheduling, stored Schema 1.0 and existing histories remain unchanged. Previous
failed receipts are not automatically retried, replaced or marked successful.

Core and optional-model CI gate this release. Existing private Vaults adopt its
exact commit through their reviewed lock-only upgrade process. Recovery of an
old invalid request is a separately reviewed case, preserving original facts and
the original failed receipt. No learner data is included in this release.

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 02:15
8ab4b3c

v0.5.0 — teach, observe, fit and check

Learners can now start an empty private Vault, run an authored course, archive
an actual observation, inspect today's evidence gaps and fit their own recall
model through one python -m scripts.study entry point. The public Core is
reusable across learners; evidence and fitted parameters stay in separate Vaults.

Included

  • Safe init, course registration and receipt-checked record / retry;
    today and a local, network-free HTML report.
  • A versioned regularized half-life fit with prior-only startup, auditable
    qualification/exclusions and chronological Brier/log-loss evaluation.
  • Observed-task skill risk, prerequisite hypotheses and at most two authored
    diagnostic probes. Suggestions do not become confirmed errors or mastery.
  • Optional pinned py-fsrs 6.3.2 integration requiring observed ease grades;
    an offline reference tutor, opt-in OpenAI Responses adapter and repository
    teaching Skill. API responses cannot create learning evidence automatically.
  • Nine-unit fictional course and a complete 14-day replay; a reproducible
    24-learner known-law synthetic parameter-recovery/held-out sanity report.
  • Reviewed post-v0.4.0 evidence qualification, diagnosis queue, scheduling
    eligibility and staged-write fixes. See migration notes.

Review and calibration

Review fixed nonuniform-grid posterior weights, duplicate/invalid model input,
compact-receipt versus actual-record verification, cross-course probe identity,
malformed API output handling and archived-unit FSRS admission. The
release review records verification and boundaries.

The synthetic report scores 480 held-out fictional
predictions: fitted Brier 0.131125 versus fixed-prior 0.203101. Its generator
uses the model's own functional law. Human calibration, learning gains and
time savings remain unverified.
Nothing switches the global scheduler to a
model-driven default. Paid OpenAI requests and FSRS optimizer dependencies have
not been live-tested; offline transport tests and the real FSRS default adapter
are exercised separately.

Start and adopt

Use a clean Git checkout of this release with Python 3.12:

python -m scripts.study demo --vault ../fictional-study-demo
python -m scripts.study today --vault ../fictional-study-demo --as-of 2026-08-15T09:00:00Z

Open the demo's reports/demo.html. For a real learner, initialize a separate
empty Vault and register actual course units; never import fictional attempts.
See first-time setup and model assumptions.

Event schema remains 1.0; historical evidence and receipts are not rewritten.
Existing Vaults require separately reviewed identity/course configuration and
an exact-commit lock upgrade. This public release performs no private adoption.

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 16:24
e42d470

v0.4.0

Compact study observations can now be saved with only a factual summary through
save_study_record. A registered knowledge unit, assessment result, confidence,
assistance level or measured duration is not required. Optional observed dates
remain dates; missing learning times are not inferred from transport timestamps.

A private Vault stores observations separately in records/study_records.jsonl
and publishes an independent recent-record index. Stable request identity,
canonical hashes, first receive time and byte-preserving appends support
idempotency and missing-receipt recovery. Records and matching receipts use the
existing single-writer staging and receipt-last publication path. Only a known
derived-index error may degrade; identity, storage and corrupt-record errors
remain failures.

Compatibility: existing formal-event operations and event Schema 1.0 remain
unchanged. Compact observations do not create attempts, change mastery, enter
the scheduler, or become a baseline. Automatic conversion or queued assessment
is outside this release. A consuming Vault must first persist the records path,
then adopt the exact published commit through a separate lock-only upgrade.

Validation: 136 fictional unit/integration tests on both CI operating systems,
including 18 compact-record boundary/recovery checks, plus empty demo-ledger
validation. The version-specific release job verifies final release and tag
identity and never overwrites a published version.

Limits: multi-file publication retains the existing abrupt-termination limit;
independent runner checkouts need serialized workflows. Historic failed
receipts retain the existing nonzero full-inbox exit status. A tool safety
refusal is independent of this feature and must not be repackaged or retried
through the new operation.

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 16 Oct 01:13
8a4881a

v0.3.1

Evidence qualification, diagnosis closure and mobile persistence now share stricter observable checks. Assisted or unverifiable success cannot inflate independent-solving evidence; unmeasured timed work and unrelated retrieval cannot close a target that they did not test. Future confirmation tasks wait until due, and known units cannot be scheduled under a different subject label.

Mobile operations stage outputs, publish receipts last and restore prior files on caught failures. Explicit same-request recovery preserves failure provenance. Cooperating local writers use an operating-system lock. Ledger appends preserve existing bytes; direct reducers reject duplicate IDs and invalid revision chains. New ambiguous draft-check confirmations require clear, related corroboration without invalidating historical 1.0 reads.

Compatibility: event/request/receipt Schema 1.0; evidence model heuristic-evidence-0.2; scheduler constrained-priority-0.2. Overall can be null when evidence is insufficient. Existing events and receipts are not migrated; scheduling weights are unchanged. Each Vault adopts an exact release commit in its own lock-only PR.

Validation: 118 fictional unit/integration tests on both CI operating systems, empty demo ledger validation, and separate boundary/behavioral checks. These checks establish software behavior, not measured learning improvement or third-party approval.

Limits: multi-file publication is not crash-safe; distinct runner checkouts need serialized workflows. Source facts still depend on honest observation and caller verification. New subject contracts, automatic longitudinal thinking reports and calibrated mastery models are outside this release.

v0.3.0

Choose a tag to compare

@wysking wysking released this 20 Sep 10:27

Initial public Core release with schemas, validation, state rebuilding, scheduling, mobile request processing, tests, and migration tooling.