SALT-MAP Lite is a local-first CSV consistency triage tool.
It scans CSV files for suspicious table states, groups low-level findings into root-cause trees, and generates:
- Markdown reports for humans
- JSON full trees for machines, AI tools, and data pipelines
Current positioning:
Local-first CSV consistency triage before lookup, join, reporting, or AI ingestion.
SALT-MAP Lite v0.2 runs locally. Your CSV is not uploaded to a cloud service.
git clone https://github.com/Void-Ghost000/salt-map-lite.git
cd .\salt-map-lite
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
.\scripts\run_user_csv.ps1 `
-InputPath .\sample_data\bad_employee_lookup.csv `
-IntegrityMode warnTo analyze your own CSV:
.\scripts\run_user_csv.ps1 `
-InputPath "C:\path\to\your_file.csv" `
-IntegrityMode warnReports are generated in:
outputs/
Each CSV produces:
<name>_v02_report.mdfor human review<name>_v02_report.jsonfor machines, AI tools, or data pipelines
Current version: v0.2.0-alpha.1
Engineering status:
- v0.0 flat CSV report: PASS
- v0.1 root-cause tree report: PASS
- v0.1a structural polish: PASS
- v0.1a BYO CSV drop-in demo: PASS
- v0.2 semantic profile and hashing foundation: PASS
- v0.2 profile-aware evidence reports: PASS
- v0.2 stable finding and group IDs: PASS
- v0.2 deterministic integrity gate: STRICT PASS
- v0.2 PowerShell runner and release documentation: PASS
- v0.2 controlled local test suite: 40 passed
Many spreadsheet and CSV failures are not loud formula errors.
They are silent data inconsistencies:
00123versus123EMP-001versusEMP-001- numbers stored as text
- dirty whitespace
- duplicated normalized keys
- missing values
#N/Aor#VALUE!values- numeric outliers
- suspicious magnitude shifts
- simple total mismatches
Humans may visually tolerate these differences.
Lookup, join, deduplication, reporting pipelines, and AI ingestion often do not.
Run:
.\scripts\run_demo.ps1
This generates sample reports in:
reports/
Put one or more .csv files into:
input/
Then run:
.\scripts\run_user_csv.ps1 `
-IntegrityMode warnRun one specific file:
.\scripts\run_user_csv.ps1 `
-InputPath .\input\your_file.csv `
-IntegrityMode warnRun with an explicit semantic profile:
.\scripts\run_user_csv.ps1 `
-InputPath .\input\your_file.csv `
-ProfilePath .\profiles\lookup_join.json `
-IntegrityMode enforceIntegrity modes:
off: no integrity manifestwarn: retain formal reports and emit diagnostics on integrity failureenforce: reject formal reports and emit diagnostics on integrity failure
v0.2 profile-aware evidence report:
python .\salt_map_lite_v02.py `
.\sample_data\bad_employee_lookup.csv `
--profile .\profiles\lookup_join.json `
--integrity-mode warn `
--out .\reports\v02_report.md `
--json-out .\reports\v02_report.jsonCross-platform shell example:
python salt_map_lite_v02.py \
./your_file.csv \
--integrity-mode warn \
--out ./outputs/report.md \
--json-out ./outputs/report.jsonLegacy v0.1a root-cause tree report:
python .\salt_map_lite_tree.py `
.\sample_data\bad_employee_lookup.csv `
--out .\reports\bad_employee_lookup_tree_report.md `
--json-out .\reports\bad_employee_lookup_tree_report.jsonLegacy v0.0 flat report:
python .\salt_map_lite.py `
.\sample_data\bad_employee_lookup.csv `
--out .\reports\bad_employee_lookup_report.mdThe Markdown report is designed for human review.
It includes:
- summary
- root-cause group summary
- collapsible root-cause tree
- child findings
- flat findings appendix
- claim boundary
- missing evidence
The JSON report is designed for machines, AI tools, and pipelines.
It includes:
- groups
- findings
- state IDs
- raw values
- normalized values
- related rows
- downstream risks
- evidence tier
- machine action hints
v0.1a includes built-in checks for:
- missing values
- Excel-style error values
- dirty text
- leading-zero key risk
- normalized duplicate keys
- duplicate key candidates
- column type mixing
- numeric outliers
- magnitude anomalies
- simple domain checks
- simple arithmetic mismatch
SALT-MAP Lite identifies suspicious rows, cells, columns, values, and grouped root-cause risks.
It does not identify the original user action without before/after files or action logs.
It is a triage map, not final proof.
SALT-MAP Lite v0.2 does not currently provide:
- XLSX workbook parsing
- Excel formula recalculation
- Formula dependency graph analysis
- Before/after action attribution
- Automatic repair
- Excel add-in workflow
- Cloud-hosted processing
- Full SALT replay or counterfactual ablation
- Actual runtime append-only event recording
The integrity gate verifies the declared generated manifest and hash-chain consistency.
It does not prove the actual runtime execution path, semantic correctness, original user intent, or causality.
SALT-MAP Lite runs locally.
Your CSV stays on your machine unless you choose to share it.
Install dependencies:
pip install -r requirements.txt
Run tests:
python -m pytest -q
Run demo:
.\scripts\run_demo.ps1
Run BYO CSV demo:
.\scripts\run_user_csv.ps1
SALT-MAP Lite is a vertical MVP derived from the SALT / HSRAG-SAIT causal-state mapping direction.
It is not HSRAG core.
Apache-2.0
SALT-MAP Lite v0.2 supports three integrity modes:
off: no integrity manifest.warn: retain formal reports and emit diagnostics if integrity fails.enforce: reject formal reports and emit diagnostics if integrity fails.
Run with warn mode:
.\scripts\run_user_csv.ps1 `
-InputPath .\sample_data\bad_employee_lookup.csv `
-IntegrityMode warnRun with enforce mode and an explicit profile:
.\scripts\run_user_csv.ps1 `
-InputPath .\sample_data\bad_employee_lookup.csv `
-ProfilePath .\profiles\lookup_join.json `
-IntegrityMode enforceThe integrity chain verifies the declared generated manifest and hash-chain consistency.
It does not prove the actual runtime execution path, semantic correctness, or causality.
See docs/integrity_gate.md for the exact mode and claim contract.