Default configuration for the Interlinked CLI harness.
Override in .interlinked/guard-rules.json (team) or .interlinked/guard-rules.local.json (personal).
Controls which checks suppress pre-existing findings when editing files.
| Setting | Default | Description |
|---|---|---|
enabled |
false |
Master switch for diff-aware filtering |
missing_return_types |
"baseline" |
Only report new findings via pre-edit baseline subtraction |
complexity |
"edit_region" |
Only report complex functions in the edited region |
no_test_file |
"new_files_only" |
Only fire on new file creation (Write), not edits |
undefined_env_vars |
"edit_content" |
Only report env vars introduced by the edit |
| Setting | Default | Description |
|---|---|---|
enabled |
false |
enabled |
export_surface |
true |
Detects breaking changes to exported symbols (renamed, removed, type-changed) |
import_resolution |
true |
Validates all imports resolve to real files — catches typos and deleted modules |
duplicate_symbols |
true |
Flags identical export names across files that could cause ambiguous imports |
co_dependency_staleness |
true |
Warns when a file's dependencies were recently edited but this file wasn't updated |
import_cycles |
true |
Detects circular import chains that can cause runtime issues |
new_import_cycle |
true |
Delta check: warns only on the specific edit that closes a new circular import chain (silent on cycles that already existed) |
interface_change_impact |
true |
Identifies files affected when an interface or type definition changes |
test_proximity |
true |
Suggests running related tests when editing source files |
smart_tsc |
true |
Runs tsc only on the edited file when export surface didn't change (avoids full project rebuild) |
blast_radius |
true |
Estimates how many files are affected by changes to a hub module |
stale_read_warning |
true |
Warns when reading a file that was modified earlier in the session but not re-read |
sibling_awareness |
true |
Suggests related files that may need updates when editing a module |
staleness_window_s |
300 |
Threshold setting |
blast_radius_threshold |
5 |
Threshold setting |
recently_failed |
true |
Warns when editing a file that had check failures earlier in the session |
completion_tracking |
true |
Tracks pending follow-up edits from export surface changes |
route_context |
true |
Adds HTTP route/endpoint context when editing handler files |
redundant_reread |
true |
Detects reading a file that was already read and hasn't changed |
dead_imports |
true |
Detects imports that are no longer used after an edit |
completion_reminder_threshold |
10 |
Threshold setting |
dead_exports |
true |
Detects exports with no importers in the project |
hallucinated_imports |
true |
Catches imports of symbols that don't exist in the target module |
cross_package_imports |
true |
Warns on imports that cross monorepo package boundaries incorrectly |
undefined_env_vars |
true |
Flags process.env references not documented in .env.example |
layer_violations |
false |
Enforces architectural layering rules (e.g., UI must not import from DB layer) |
impact_analysis |
true |
Full dependency graph analysis showing breaking changes and affected downstream files |
impact_high_threshold |
4 |
Threshold setting |
test_first |
true |
Nudge agent to write/run tests before editing source files |
cross_file_switch_discriminant |
true |
Flags the same switch discriminant (.kind/.type/.tag) appearing in multiple files — usually a polymorphism opportunity |
single_implementation_interface |
true |
Flags exported interfaces with exactly one implementor — possible premature abstraction |