Current section
Files
Jump to
Current section
Files
priv/toolchain/platforms/README.md
# Platform profiles
The check's engine (`../check_join.py`) is platform-neutral set
logic; everything platform-shaped lives here, one profile per
platform:
- `<name>.json` — detection + config the engine consumes:
- `detect`: `[{file, pattern}]` — the profile is ACTIVE when any
pattern matches in its file; the matched line is captured as
evidence and reported (detection is witnessed, not assumed);
- `code_file_regex`: which repo paths witness code facts (drives
NEEDS-EXTRACTION for delta files);
- `surface_file_regex` / `credential_file_regex`: files whose delta
marks the surface / credential class changed;
- `fk_suffix`: how a `belongs_to`-style relationship names its
column (pin validation);
- `person_signal` / `audit_store` / `auth_plug`: the derivation
regexes (engine defaults apply when omitted);
- `reference_roots` / `reference_file_suffixes`: where dormancy
reference-counting looks;
- `sketch: true`: unproven — the report says so.
- `<name>.md` — the extraction record shapes for that platform,
read by the agent when the instrument names the platform. The
generic law stays in `../extraction.md`.
Multiple profiles can be active at once (their configs union). No
active profile = the engine runs docs-side checks only and reports
the degradation honestly — it never guesses a platform.
Adding a platform is data + one guide file, not engine code. Keep
detection evidence-based (a dependency line in a manifest, not a
directory name), and mark new profiles `sketch` until a real repo has
run them.