docs: bicorder_model.json is research-only (app integration removed in v1.3.0)

Verified: bicorder-app has no classifier implementation and reads
bicorder_model.json nowhere (src, build config); ascii_bicorder.py doesn't
use it either. Corrected the stale 'read by bicorder-app at build time'
claims in README, WORKFLOW, and the export script docstring.
This commit is contained in:
Nathan Schneider committed 2026-10-02 08:39:26 -06:00
1 parent f136df46db
commit 71c1977b77
3 files changed
+8 -5

No files matched your search

+3 -3
View File
@@ -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
+1 -1
View File
@@ -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/<type>_<version>/` directory convention), and training-CSV selection. When gradients are renamed in `../bicorder.json`, update `COLUMN_RENAMES` in that one module.
+4 -1
View File
@@ -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