mike-audit
Record provenance for an Agentic MIKE+ step via the mike-plus MCP server — a manifest.json tying the model copy, inputs, edits, run QA status, result files and figures together, each file with a sha25
SKILL.mdskills/mike-audit/SKILL.md
GitHubMIKE+ Audit
One JSON per case, written last. It is what makes "we ran X and got Y" checkable a month later, and it is the record a platform layer (SWMM / MIKE+ / LSTM side by side) can index.
Tool
mike_manifest_write—{out_json, case?, model?, inputs?[], results?[], figures?[], run?, edits?[], tool_calls?[], notes?}→ writes the manifest and returns{manifest, missing_files[], n_files, run_status}.model: the.sqliteCOPY that was run.inputs: rain.dfs0(incl. ones made bymike_rain_to_dfs0), CSVs, hotstart files.results: theresult_filesreturned bymike_run(or the two res1d of a compare).figures: every PNG frommike_plot_*.run: pass the wholemike_runreturn; the QA fields (status, completed, errors, warnings, issues, log_file, elapsed_s, active_simulation, result_files) are kept, the log tail is dropped.edits: themike_set_valuesreturns (they carry table / muids / before / after).tool_calls: ordered{tool, args, ok}records of what you called.notes: the user's plain-language goal + anything not done and why.
Manifest shape (schema: agentic-mike/manifest/1)
created_utc, engine=mikeplus, case,
model{path, exists, bytes, sha256}, inputs[], results[], figures[] (same shape),
run{status, errors, warnings, ...}, edits[], tool_calls[], notes,
environment{python, platform, mikeplus_mcp}
Conventions
- Write it even when the run failed:
run.status,errorsandnotesare the evidence of why. missing_filesmust be[]before you say the case is complete; a listed path means you referenced something that is not on disk.- Put it at
runs/<case>/manifest.json; one case = one manifest (overwrite on re-run of the same case, or use a new case name). - Never edit a manifest by hand; re-run the tool.
Orchestration
... mike_run -> mike_results_* -> mike_plot_* ...
mike_manifest_write {out_json: runs/<case>/manifest.json, model, inputs, results, figures, run, edits, notes}