Historical implementation and verification notes

These dated implementation records describe earlier environments and increments. Use the current maintainer guide and support matrix for this edition. Historical test counts and access conditions are not current setup instructions.

Increment 0.6.0: repository audit and portability

The audit reads all baseline tracked source files and adds a registry-backed architecture/integrity check, complete early-module teaching pages, reusable authoring and accessibility records, instructor adoption/assessment/pacing guidance, model-use summaries, citation and contribution templates. See docs/maintenance/reviews/baseline-0.6.0.md for scope and pending original-source reconciliation.

Verification now validates notebook format and runs real Jupyter kernels, retaining executed copies separately from clean source. Source-archive membership must equal tracked files. Added HTTP prefix tests and isolated installed-wheel inference exercise packaging and writable cache placement. Reading tables gain captions, scoped headers, and named keyboard-focusable regions.

Install the verification extra in the selected environment and register that environment before kernel execution:

python -m pip install -e ".[visualization,regression,verification]" -c environments/constraints-tested.txt
python -m ipykernel install --user --name ml-ai-core
python scripts/check_repository.py
python scripts/check_notebook.py --group core --kernel ml-ai-core

For frameworks use the separate environment and kernel in .github/workflows/checks.yml. Do not mix tested NumPy profiles. The complete workflow gathers actual reports/executed copies before building the site.

Modules 6–14 use checkout runs/ caches by default, an installed-package user cache otherwise, or ML_AI_RUNS_DIR set before import. Existing output-directory arguments remain explicit. The wheel check verifies actual installed inference independently from editable-source imports.

Manual keyboard/screen-reader/zoom, rendered notebook/app/figure review, learner piloting, and authoritative course crosswalk confirmation remain pending. The terminal used in that early audit was unavailable; its commit-specific GitHub Actions logs provided the runtime evidence. Historical entries below describe their own increments, not current missing modules.

Increment 0.5.0: Modules 6–14

All remaining implementations/teaching packages are present: five pages per module (entry, foundation, practice, feedback, instructor), a commented seven-code-cell notebook, and a public script calling shared behavior. Nine new notebooks add 63 cells to the prior 27. New lessons use actual external records, not created synthetic datasets.

The local terminal remained unavailable. Initial classical integration passed 55 tests on Windows/Linux. Initial Linux CPU framework integration passed nine actual-framework tests, including all six additional scripts, training/reload, local generation, adapter gradients/replay, app forms, and HTTP health. Final notebook/site/archive integration must pass its own commit-specific run.

Sources and profiles

Reviewed dataset hashes/attribution are recorded in the source registry. The official SMS citation is 2011, distinct from its 2012 donation date. The attached link document could not be reread through the unavailable terminal; live official sources were checked directly rather than claiming an inaccessible attachment review.

The local model is HuggingFaceTB/SmolLM2-135M-Instruct, revision 12fd25f77366fa6b3b4b768ec3050bf629380bac (Apache-2.0 card/license). Safetensors and disabled remote code are used. No paid API/token is required.

Core retains prior Windows/Linux dependencies. The isolated Linux CPU profile uses NumPy 2.1.3, pandas 2.2.3, scikit-learn 1.8.0, TensorFlow CPU 2.19.1, PyTorch CPU 2.6.0, Transformers 4.46.3, and Streamlit 1.44.1. These are exercised choices, not a full transitive lock or latest-version claim. Other framework platforms are not inferred.

Module decisions and initial observations

Module decisions and initial observations — table 1
Module Evidence and limits
6 Grouped real chemistry profiles; baseline/logistic/trees; validation-only choice. Logistic at threshold 0.3 initially gave TP19/FP30/FN10/TN184 and balanced accuracy about 0.7575 on 243 final rows. Classroom label, not certification.
7 Training scaling, predefined K, validation silhouette, original-unit profiles. Initially K=2. Quality excluded; cluster IDs are not ranks. Static observations do not validate an RL policy.
8 Actual TensorFlow training/checkpoint/reload. Initial neural balanced accuracy about 0.5927 versus 0.6295 for the fixed-threshold linear reference; more complexity is not presumed better.
9 Training vocabulary, embedding/pooling, lexical reference. Initial neural model missed all 30 positives: balanced accuracy 0.5 despite 87.5% accuracy. Lexical reference recovered six positives.
10 Actual local generation and strict parsing on eight balanced real messages. Initial schema success 0/8 is retained, not repaired into credited success.
11 Eight actual gradient steps; 2,304 rank-2 adapter parameters; prompt masking; real disjoint text IDs; numeric replay. Initial base/adapted final completion loss about 2.5106/2.5081 is mechanics evidence, not validated behavior.
12 Shared checked inference, actual-record defaults, two app forms, measured durations, four-batch replay. Source order of 243 real rows is not event time, so no temporal-drift/SLA claim is made.
13 Historic benchmark, full-row overlap removal, five numeric inputs including age, validation threshold, group audit. Income labels/categories do not justify decisions about people or establish fairness.
14 Actual model scoring over three legal plans, strict read-only tools, one-call budget, outside-model checks, source evidence. Legal plans can still misunderstand intent; unrestricted autonomy is not claimed.

Verification design

Both curated notebook groups execute in fresh namespaces. Their actual reports are copied to generated folders. Site assembly depends on both jobs and fails if evidence is missing; no placeholder result files are invented.

All new public scripts execute from another working directory. Trained neural models and adapters replay after save/load. AppTest exercises both forms; a separate server must return HTTP health. Error controls mutate actual records or authored requests, not training datasets.

Final assembly checks links/semantic structure, original-source ZIP byte matching, external-cache digests/attribution, extracted CLI, and package build. App source is included; external records/model caches remain separate.

The first complete assembly passed notebooks/site/archive checks but its final wheel step failed because a clean Python 3.12 runner lacked setuptools while build isolation was disabled. The step now uses the declared PEP 517 build environment; no offline-build claim is made for this release check.

Remaining readiness work

Manual keyboard, screen-reader, zoom/reflow, rendered visual, notebook/app interface, macOS, Windows framework, and hosted routes remain pending. Automated checks are not accessibility conformance or production validation.

Domain transfer does not by itself demonstrate genuine IT-record application. Instructor mappings are evidence opportunities; no unseen original wording or master's-level ABET attainment is invented. Learner piloting, formal assessment review, merging, publication, and visibility changes remain separate.

Increment 0.4.0: regression and reliable evaluation

Module 5 adds a real-data one-day-ahead forecasting study, a separately labeled synthetic fixture, explicit stage scripts, a commented notebook, foundation support, original practice/feedback, and instructor adaptation/alignment.

The local execution environment was unavailable. Development used GitHub's file/commit APIs and actual Windows/Linux GitHub Actions runs. Do not describe these as local executions. The initial implementation at d62e7b6 passed all 46 tests, including real UCI acquisition and the complete workflow. Scikit-learn 1.8.0 is added to the tested constraints.

Module 5 decisions and observations

Module 5 outcome evidence

Module 5 outcome evidence — table 2
Outcome Original alignment Course alignment Advisory ABET opportunity Evidence
M05.1 O05.1 CLO1/CLO4 support A1 Equation/residual/loss arithmetic
M05.2 O05.2 CLO2, CLO4 A2 Trained pipeline and baselines
M05.3 O05.3 CLO2, CLO4 A1, A2 Feature availability and leakage audit
M05.4 O05.4; explicit evaluation added CLO4, CLO8 A1, A2 Chronological/frozen evaluation
M05.5 O05.4 CLO2, CLO8 A3 Reproducibility and stakeholder memo

This follows the separate planning register. Advisory mappings are evidence opportunities, not attainment or accreditation claims.

Increment 0.4.0 verification record

The final commit's CI must verify all 46 behavior tests (including 15 regression checks), five curated notebooks/27 plain-Python cells, the generated reading/report site, links/structure, and the extracted source CLI. The build records its actual page/archive counts. The initial core implementation already passed Windows/Linux; that does not substitute for checking the final integration commit. No local wheel build or manual figure review is claimed for this increment.

The source archive excludes downloaded external data; a separate attributed cache ZIP supports offline replay. Checks compare every source-archive entry with checked-out bytes, run the extracted CLI, and verify external cache digests. CI runs for pull requests and main updates, avoiding redundant push/PR runs for one branch change.

Increment 0.3.0: exploration and visual communication

Module 4 is implemented with four measurable outcomes, a foundation bridge, shared script/notebook exploration, original practice/discussion, worked feedback, and adaptable criteria. Modules 1–3 remain available in sequence or by direct link. Module 5 is next; Modules 5–14 remain future work.

The local environment adds Matplotlib 3.10.8 and Seaborn 0.13.2 to Python 3.12.14, NumPy 2.3.5, and pandas 2.2.3. Node.js 24.22.1/Marked 17.0.5 build the reading site. Plotting uses the headless Agg backend and local data; no display server or dataset download is required. The optional visualization extra is exercised by CI and required for a complete site build.

Module 4 observations and decisions

Module 4 alignment and evidence

This implements the existing curriculum proposal, using its identifiers. Original-outcome references point to the supplied private M4 source register; that source is not published. Course and ABET labels retain the advisory definitions in the separate planning crosswalk. They are evidence opportunities, not attainment or accreditation claims.

Module 4 alignment and evidence — table 3
Module outcome Original alignment Course alignment Planned advisory ABET opportunity Evidence
M04.1: preprocessing rationale O04.1 CLO3 A1 Row accounting and sensitivity explanation
M04.2: labeled, appropriate plots O04.2 CLO8 A2, A3 Plotting code, three figures, matching tables and scales
M04.3: evidence-based interpretation O04.3 CLO3, CLO8 A1, A3 Exact values, anomaly discussion, causal limits
M04.4: stakeholder communication O04.2–O04.3 CLO8 A3 Memo, useful descriptions, and limitations

Increment 0.3.0 verification

Remote Windows/Linux results must be inspected after pushing this increment. Manual keyboard/browser, screen-reader, zoom/reflow, notebook-interface, macOS, and hosted-route testing remain pending; no conformance is claimed.

Increment 0.2.0: Modules 1–3 in sequence

Modules 1 and 2 now precede the existing Module 3. Each has an entry page, measurable outcomes, runnable shared-code script/notebook examples, original practice, discussion/solo reflection, public worked feedback, adaptable criteria, and a skippable extension. Modules 4–14 and the model-training/deployment cases remain future work.

Development environment: Linux, Python 3.12.14, NumPy 2.3.5, pandas 2.2.3; Node.js 24.22.1 and Marked 17.0.5 for static Markdown rendering.

Instructional decisions

Local checks

Remote Windows/Linux CI must be inspected for this commit after pushing. The preceding 0.1 increment passed both platforms; that does not substitute for checking this expanded sequence.

Remaining verification

Keyboard/browser interaction, rendered visual/zoom/reflow review, screen-reader task completion, notebook installation/interface operation, macOS execution, and hosted notebook routes are pending. Automated checks do not certify accessible independent use. Record actual environments and barriers during a learner pilot.

Next implementation: Module 4, exploration and visual communication, followed by Modules 5–14 in order. Named numeric/text evidence must accompany every figure.

Increment 0.1.0 history

The initial pilot implemented Module 3, reusable NumPy/pandas data preparation, controlled downloads, eleven reading pages, ten tests, and a four-code-cell notebook. Subsequent work retains that functionality while establishing the beginner sequence.

Notebook verification references

The kernel execution/checking path follows the nbclient execution API and IPython environment-specific kernel registration. Source notebooks are validated with nbformat before execution; saved executed copies are distinct build artifacts. Their visual presentation still needs the manual inspection recorded in the review log.

Mixed-background enhancement verification

Use Python 3.12 with separate core/framework environments. Start with scripts/preflight.py. scripts/check_repository.py also checks source Markdown links. Execute both registered notebook groups with scripts/check_notebook.py; the core group includes the independent phishing case. All new construction cells execute in those kernels. The phishing CLI supports separate prepare/train/validate/evaluate/report stages and an all command.

Run core tests with ML_AI_REAL_DATA=1; run test_continuation_heavy.py with ML_AI_HEAVY=1 in the framework environment. Source/data hashes remain required. Build the site after both notebook groups. Install the pinned Node toolchain with npm ci --ignore-scripts; install Chromium with npx playwright install --with-deps chromium; run node scripts/check_browser.mjs after site generation. It writes selected automated browser evidence to runs/browser-review. A Linux host needs Chromium shared libraries; CI installs them. Screen-reader and live hosted-service checks remain separate.

The site builder recognizes Markdown link titles beginning site-download:. On GitHub those source links point to artifact-access instructions; in generated HTML the title maps to the actual local download. Validate both representations with check_source_links.py and check_site.py. Do not replace one check with the other.