Skip to content

adr-distilled.md — Architectural Directives

Auto-generated from the project's ADRs by the adr-distiller. Do not edit directly — edit the source ADRs and re-run /zolletta-metaskill adr-distiller or /zolletta-metaskill review. Each directive links to its source ADR for full context. Only Accepted decisions are included.

  • ADR-0001 We use a single meta-skill with subcommand dispatch.
  • ADR-0002 Setup writes a single .zolletta-metaskill/settings.json file containing all project-wide configuration.
  • ADR-0003 We adopt the Diátaxis framework for the project's documentation.
  • ADR-0004 All scanning scripts use Python 3.12+ standard library only.
  • ADR-0005 The review skill launches one subagent per command, all in parallel as background subagents.
  • ADR-0006 Every subcommand runs a setup guard: if settings.json is missing, run full setup first; if pyproject.toml/composer.json changed, re-extract only the tool config.
  • ADR-0007 We introduce a LanguageEngine protocol with a ModuleInfo data model.
  • ADR-0008 All subfolders containing a sub-skill are grouped under a skills/ directory.
  • ADR-0009 Inline shell detection commands in setup are replaced by standalone, testable Python scripts under src/zolletta_metaskill/setup/ (stdlib only, JSON output, unit-tested).
  • ADR-0010 An ADR distiller extracts Accepted ADRs into adr-distilled.md (one-line directives with source links), kept in sync via an mtime cache, and read by review subagents as architectural context.
  • ADR-0011 We do not integrate an external dependency inspector tool into Zolletta-metaskill.
  • ADR-0012 We do not add a property-based testing sensor to Zolletta-metaskill.
  • ADR-0013 We do not add a fuzz testing sensor to Zolletta-metaskill.
  • ADR-0014 We add a conditional mutation-testing sensor: setup detects mutmut (Python) / Infection (PHP) availability; the testing-style skills run it on the changed scope when installed, opted-in, and the coverage run is green, with deterministic survived-mutant extraction by mutmut_survived_reporter.py
  • ADR-0015 All review scripts share one CLI contract: --json only; scan roots, toggles, and thresholds come from .zolletta-metaskill/settings.json via ProjectConfig.
  • ADR-0017 Adopt the Balanced Coupling model in the patterns review as deterministic triage (integration_graph_scanner.py emits internal edges) plus a judgment pass that flags only unbalanced-and-volatile integrations.