/** * inventory-collector tests (SMI-5392). * * Controls the harness directory table by mocking `../install/paths.js` so each * `ClientId` points at a real tmp fixture. CLIENT_NATIVE_PATHS is a mutable * object the collector reads at call time, so per-test fixtures are visible * without re-importing the module. * * IC-1: same skill under two harnesses (distinct realpaths) -> two entries. * IC-2: a symlinked alias across harnesses -> two entries, one per harness * (GH #1912 / SMI-5717 — cross-harness membership is preserved; only * the expensive SKILL.md parse is memoized by realpath). * IC-3: readable SKILL.md -> content_hash + version; missing SKILL.md -> nulls. * IC-8: guards the memoization itself — SkillParser.parse is called exactly * once across two harnesses sharing a realpath (GH #1912 / SMI-5717). * IC-9: two aliases to the same realpath WITHIN one harness still collapse * to a single row for that harness — the fix for IC-2 must not * regress this pre-existing, correct within-harness dedup (SMI-5717). * IC-10: a symlinked pair with DIFFERENT dirent names on each end and NO * SKILL.md (so skill_id falls back to the directory name) — guards * that the fallback is computed per-harness, not cached inside * readSkillFields() (the actual Correction 1 bug: IC-1/IC-2/IC-8 all * happen to use a `name:` front-matter field and matching dirent * names on both ends, so they'd still pass even if the fallback were * wrongly cached) (SMI-5717). */ export {}; //# sourceMappingURL=inventory-collector.test.d.ts.map