From dc9bc23e2567355c84fafcaef9fe3272691fa652 Mon Sep 17 00:00:00 2001 From: CoderDeltaLAN Date: Sat, 20 Jun 2026 20:03:51 +0100 Subject: [PATCH] docs: clarify symlink command behavior --- docs/EXIT-CODES.md | 3 +++ docs/OUTPUTS.md | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/docs/EXIT-CODES.md b/docs/EXIT-CODES.md index b97cc60..1f7880a 100644 --- a/docs/EXIT-CODES.md +++ b/docs/EXIT-CODES.md @@ -66,6 +66,7 @@ Notes: - `budget` uses deterministic local metrics only. - `budget` does not perform tokenizer-specific counting, remote tokenization, LLM calls, pricing estimates, or optimization claims. - `Approximate words` is not a model token count. +- Symlinked supported instruction-file paths fail hard with exit code `2` instead of being followed or silently skipped. ### `dedupe` @@ -80,6 +81,7 @@ Notes: - `dedupe` is read-only. - `dedupe` uses deterministic local normalization only. - `dedupe` detects repeated normalized lines across supported instruction files, not broad semantic duplication. +- Symlinked supported instruction-file paths fail hard with exit code `2` instead of being followed or silently skipped. ### `conflicts` @@ -94,6 +96,7 @@ Notes: - `conflicts` is read-only. - `conflicts` uses deterministic local pattern families only. - `conflicts` detects implemented opposite-guidance patterns, not broad semantic contradiction. +- Symlinked supported instruction-file paths fail hard with exit code `2` instead of being followed or silently skipped. ### `explain` diff --git a/docs/OUTPUTS.md b/docs/OUTPUTS.md index b7150f1..879b8fc 100644 --- a/docs/OUTPUTS.md +++ b/docs/OUTPUTS.md @@ -255,6 +255,8 @@ Current `budget` exit-code behavior: `Approximate words` is a local whitespace-based approximation, not a model token count. +Budget rejects symlinked supported instruction-file paths with exit code `2` instead of producing a partial report. This is deliberate: budget totals should not follow or count external symlink targets as if they were repository-local instruction files. + ## Dedupe output contract Current `dedupe` console output includes: @@ -275,6 +277,8 @@ Current `dedupe` exit-code behavior: `dedupe` is read-only. It detects repeated normalized lines across supported instruction files. It does not perform semantic duplication analysis. +Dedupe rejects symlinked supported instruction-file paths with exit code `2` instead of producing a partial report. This is deliberate: duplicate-line reports should compare repository-local instruction text and should not follow symlink targets outside the reviewed tree. + ## Conflicts output contract Current `conflicts` console output includes: @@ -295,6 +299,8 @@ Current `conflicts` exit-code behavior: `conflicts` is read-only. It detects implemented deterministic pattern families for opposite guidance. It does not perform broad semantic contradiction analysis. +Conflicts rejects symlinked supported instruction-file paths with exit code `2` instead of producing a partial report. This is deliberate: conflict reports should not mix repository-local guidance with symlink targets whose review boundary may be unclear. + ## Explain output contract Current `explain` console output includes either: