Skip to content

v0.14.0 — Cross-platform content modularization

Choose a tag to compare

@Redtropig Redtropig released this 17 Jul 17:18
· 63 commits to main since this release
b457131

Platform-specific content now has an open-ended, mechanism-stable home: methodology stays shared and single-source; platform detail loads only where it applies. Adding a platform = adding content (a sidecar file / a region / a table row) — never changing mechanism code. Scripts remain single-source bash with runtime branching (Git-Bash baseline, unchanged).

Added

  • Cross-platform content modularization. Two dedicated channels: skills/<skill>/platform/<os>.md sidecars for operational depth (loaded on demand behind an inline same-skill pointer; decision-shaping facts — availability, verdict rules — stay inline), and <!-- os-<name>-start/end --> regions in the injected meta-skill, mechanically dropped by SessionStart unless <name> matches the runtime HA_OS (fail-slim: unknown names never fatten the injection). First sidecar: cpp-sanitizers/platform/windows.md (substitute-tool preference table).
  • SessionStart banner Platform: line (HA_OS taxonomy: windows (Git-Bash) | darwin | linux; unknown pre-set values pass through verbatim).
  • ha_platform_init respects a pre-set HA_OS (tests inject platform states; users may override classification) — the Windows PATH shield stays keyed on the real uname.
  • validate-anchor: joint flat sequencing across both conditional-region families, os-name taxonomy whitelist, inert-marker detection outside the meta-skill, and [12/12] platform-sidecar ↔ SKILL.md pointer integrity (bidirectional).

Changed

  • cpp-sanitizers Windows substitute detail moved to platform/windows.md (SKILL.md keeps the availability matrix and the never-CLEAN verdict rule inline); /sanitize pointer updated accordingly. CLAUDE.md invariant #2 wording generalized to conditional regions; the skill-authoring rules gain the platform decision-weight split. The meta-skill is pinned eol=lf (it is awk-consumed by the injection filter).

Verification

All local suites green on Windows/Git-Bash (validate-anchor 148/0 incl. 4 new checks; 13/13 hook-contract suites with the slimming test extended to a {generic, cpp} × {HA_OS=windows, HA_OS=linux} matrix; 15/15 unit; windows-compat 19/0; hook-timing PASSED; adversarial marker probes rejected nested/mismatched/unclosed grammars with exact diagnostics). CI 9/9 on ubuntu / macos (BSD awk) / windows arms + ShellCheck. Generic injection grew by the Platform line only (+27 chars, platform-neutral measurement 6266/12000).

Full changelog: v0.13.0...v0.14.0