Motivation
Map authoring is slow, and the tooling duplicates JSON-path/schema knowledge. Runtime-adjacent dead paths, CSV import, vertical-edge generation, validation, and HTML tools need one canonical data location and a reliable manual workflow before considering future editor/AI ideas.
Proposed change
Inventory every map-data tool and user, then identify one canonical data/ location/schema. Move authoring-only behavior out of runtime app/logic, delete confirmed dead paths, and share one concrete JSON parsing/validation implementation where appropriate. Give tools deterministic paths or explicit CLI arguments, protect canonical data from partial/destructive writes, document the source-plan-to-validated-data-PR workflow, and add tests for import, validation, generated connectors, malformed inputs, and non-destructive failure.
Affected modules or data
app/logic/data_entry.py, tools/csv_import.py, tools/generate_vertical_edges.py, tools/validate_data.py, HTML tools, canonical data/, and tool tests
- Coordinate with accepted navigation and Flask-adapter seams
Acceptance criteria
Testing requirements
Exercise malformed input, dry-run/preview behavior where applicable, generated connector validation, and failure safety. Include data-validator evidence.
Dependencies and risks
This follows the accepted navigation/data seams. It intentionally excludes AI model training, graphical editor redesign, SQLite migration, and automatic university-wide mapping.
Motivation
Map authoring is slow, and the tooling duplicates JSON-path/schema knowledge. Runtime-adjacent dead paths, CSV import, vertical-edge generation, validation, and HTML tools need one canonical data location and a reliable manual workflow before considering future editor/AI ideas.
Proposed change
Inventory every map-data tool and user, then identify one canonical
data/location/schema. Move authoring-only behavior out of runtimeapp/logic, delete confirmed dead paths, and share one concrete JSON parsing/validation implementation where appropriate. Give tools deterministic paths or explicit CLI arguments, protect canonical data from partial/destructive writes, document the source-plan-to-validated-data-PR workflow, and add tests for import, validation, generated connectors, malformed inputs, and non-destructive failure.Affected modules or data
app/logic/data_entry.py,tools/csv_import.py,tools/generate_vertical_edges.py,tools/validate_data.py, HTML tools, canonicaldata/, and tool testsAcceptance criteria
just validate-datapass.Testing requirements
Exercise malformed input, dry-run/preview behavior where applicable, generated connector validation, and failure safety. Include data-validator evidence.
Dependencies and risks
This follows the accepted navigation/data seams. It intentionally excludes AI model training, graphical editor redesign, SQLite migration, and automatic university-wide mapping.