Which component do I need?¶
Start with the scientific task. Repositories are boundaries of responsibility, not five interchangeable products.
I want to analyze data
Interactively: start with Fathom. It operates SPM-Kit Core through visual perspectives.
Programmatically, in notebooks, batch jobs, CI or HPC: start with SPM-Kit Core.
I want to test an algorithm
Against a known numerical surface: generate truth with Phantoms, then execute the comparison through Validation.
Against external software or a published reference: start with Validation and freeze reference independence, parameters and tolerance before execution.
I need a native-format fixture
Use Data Hunter to find candidates, then manually review format, rights and content. A raw-only file can exercise a Core reader; it cannot validate an analysis result.
I want to contribute a dataset
Begin with Data Hunter's evidence taxonomy and lawful provenance. If accepted, design the narrow fixture or Validation campaign separately. Do not upload restricted or personally sensitive data.
I want reproducible analysis over many files
Use Core through Python or `spmkit batch`/`fbatch`. Preserve versions, command, channel, units, preprocessing and input hashes. Fathom remains useful for inspecting representative cases.
I want to add a reader
Implement the versioned `spmkit.plugins.v1` reader contract in Core. Use a lawful native file as a parser fixture, add synthetic edge cases and define a later external validation path.
I want to add a scientific capability
Implement a pure Core function first, create a known recovery case with Phantoms, define an external evidence route with Validation, expose CLI/API, and add a Fathom panel only after numerical behavior is stable.
I want to propose physical validation
Start in Validation. Define the mensurand, calibrated reference, uncertainty, traceability, lawful data handling, blinded or independent design and pass/fail policy. Data Hunter may locate leads but cannot certify them.
Static decision table¶
| Need | Primary component | Companion | Allowed conclusion | Not allowed |
|---|---|---|---|---|
| inspect an image or curve visually | Fathom | Core | the configured Core result was inspected interactively | the view is physically validated |
| Python/CLI/HPC analysis | Core | Fathom for spot-checking | the public function/command produced the result | all formats/models are equally mature |
| known synthetic answer | Phantoms | Validation | a numerical truth and corruption sequence are known | physical validity |
| external reference comparison | Validation | Core/Phantoms | the frozen comparison met or failed its rule | universal equivalence |
| public-data discovery | Data Hunter | human review | a record may support a named role | dataset certification |
| format fixture | Data Hunter → Core | Validation later | reader behavior can be exercised | analysis correctness |
| dataset contribution | Data Hunter → Validation | Core | a reviewed case can enter design | automatic acceptance/redistribution |
| plugin development | Core | Phantoms/Validation/Fathom | a versioned contract can be implemented | stable 1.0 API promise |
Still unsure?¶
Use SPM-Kit Core if the task is a calculation. Use Fathom if the task is operating that calculation visually. Use the three companion repositories only when the task is evidence discovery, known truth or external validation.