diff --git a/analysis/README.md b/analysis/README.md index 0486604..39b938b 100644 --- a/analysis/README.md +++ b/analysis/README.md @@ -131,7 +131,7 @@ python3 scripts/convert_csv_to_json.py data/synthetic_1.4.0/readings.csv python3 scripts/export_model_for_js.py data/synthetic_1.4.0/readings.csv ``` -→ `json/` (one bicorder.json-spec reading per protocol); `bicorder_model.json` in this directory, read by `bicorder-app` at build time (requires step 3 first; see `INTEGRATION_GUIDE.md`) +→ `json/` (one bicorder.json-spec reading per protocol). The optional `export_model_for_js.py` refreshes the research-only `bicorder_model.json` in this directory (app integration removed in bicorder v1.3.0; requires step 3 first) --- @@ -348,7 +348,7 @@ This simple version-matching approach ensures compatibility without complex stru ### Files -- `bicorder_model.json` (~5KB) - Trained LDA model with coefficients and scaler parameters; read by `bicorder-app` at build time +- `bicorder_model.json` (~5KB) - Trained LDA model with coefficients and scaler parameters; research-only since v1.3.0 (the app no longer reads it) - `bicorder-app/src/bicorder-classifier.ts` - TypeScript classifier implementation in the web app - `ascii_bicorder.py` (updated) - Python script now calculates automated analysis values - `../bicorder.json` (updated) - Added bureaucratic ↔ relational gradient to analysis section @@ -361,7 +361,7 @@ The calculation happens automatically when generating bicorder output: python3 ascii_bicorder.py bicorder.json bicorder.txt ``` -For web integration, see `INTEGRATION_GUIDE.md`. The app (`bicorder-app/`) has its own classifier implementation and reads `bicorder_model.json` from this directory at build time. +For the history of the web integration, see `INTEGRATION_GUIDE.md`. The app (`bicorder-app/`) used to deploy its own TypeScript classifier and read `bicorder_model.json` from this directory at build time; that integration was removed in v1.3.0, so this model is now research-only. ### Key Features diff --git a/analysis/WORKFLOW.md b/analysis/WORKFLOW.md index 0042d5c..6c40440 100644 --- a/analysis/WORKFLOW.md +++ b/analysis/WORKFLOW.md @@ -25,7 +25,7 @@ The scripts automatically draw the gradients from the current state of the [bico 9. **scripts/univariate_analysis.py** - Per-protocol and per-gradient averages, distributions, and summary stats (replaces the ad-hoc averages workflow) 10. **scripts/compare_analyses.py** - Compare readings CSVs to a reference (Euclidean distance, RMSE, correlation); canonicalizes renamed gradients so versions can be compared 11. **scripts/visualize_clusters.py** - Additional cluster visualizations -12. **scripts/export_model_for_js.py** - Export trained model to `bicorder_model.json` (read by `bicorder-app` at build time) +12. **scripts/export_model_for_js.py** - Export trained model to `bicorder_model.json` (research-only since v1.3.0 — the app integration was removed) Version-agnostic helpers shared by these scripts live in **scripts/bicorder_common.py**: the historical gradient rename map, version detection (from the `bicorder_version`/`version` column, falling back to the `data/_/` directory convention), and training-CSV selection. When gradients are renamed in `../bicorder.json`, update `COLUMN_RENAMES` in that one module. diff --git a/analysis/scripts/export_model_for_js.py b/analysis/scripts/export_model_for_js.py index 1f97dcd..c06b821 100644 --- a/analysis/scripts/export_model_for_js.py +++ b/analysis/scripts/export_model_for_js.py @@ -1,6 +1,9 @@ #!/usr/bin/env python3 """ -Export the cluster classification model to JSON for use in JavaScript. +Export the cluster classification model to JSON. + +Research-only export: the bicorder-app integration was removed in bicorder +v1.3.0, so nothing in the app reads this model anymore. Reads dimension names directly from bicorder.json so the model always stays in sync with the current bicorder structure. Column renames and the