{"version":"2.1.235","anchor":"hardlink-detection-in-read-permission-decisions-ships-as-sha","canonical_anchor":"hardlink-detection-in-read-permission-decisions-ships-as-sha","heading":"Hardlink detection in read-permission decisions ships as shadow telemetry only, gated by tengu_playful_lobster (fallback: on)","tier":"internal","area":"Permissions","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.235\/e\/hardlink-detection-in-read-permission-decisions-ships-as-sha","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.235","markdown":"### Hardlink detection in read-permission decisions ships as shadow telemetry only, gated by `tengu_playful_lobster` (fallback: on)\n\nRead-permission checks now detect hardlinked files and log it as shadow telemetry, without changing the decision\n\n**Unclear.** No reading has been taken of either `tengu_playful_lobster` or `tengu_playful_lobster_fired` yet, so it's unclear what enforcement, if any, this telemetry is meant to precede.\n\nWhen a file read is auto-allowed by the edit-implies-read rule or the working-directory rule, the permission evaluator now also stats the resolved path and checks whether it's a hardlinked file (`nlink > 1`). If so it fires `tengu_playful_lobster_fired` with the triggering step, the permission mode, and a hardcoded `mode: \"shadow\"`, deduped per mode and path with a cap. The actual allow\/deny outcome is unchanged; this only measures how often hardlinked files pass through these rules.\n\n- Flag `tengu_playful_lobster`: Not enough to say (read for one account on one subscription tier against v2.1.235; this account: no value returned, anonymous baseline: no value returned, compiled default: on)\n- Area: Permissions\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 3\/5\n- Present in the build but not switched on"}