Skip to content

PCA-209: make Skills v2 hashes newline-portable - #18

Merged
jjuniper-dev merged 1 commit into
mainfrom
pca-209-v2-portable-hashing
Sep 27, 2026
Merged

jjuniper-dev merged 1 commit into
mainfrom
pca-209-v2-portable-hashing

Conversation

@jjuniper-dev

Copy link
Copy Markdown
Owner

PCA-209 portability patch discovered by post-merge Windows verification.

Problem:

  • v2.0.0 registry source hashes were calculated from raw file bytes.
  • Git CRLF checkout on Windows changed raw bytes without changing skill text.
  • Linux CI passed while a fresh Windows checkout correctly exposed source_sha256 mismatches.

Fix:

  • canonicalize text to UTF-8 + LF before SHA-256 in registry build, validation, and skill resolution
  • add a CRLF/LF equivalence regression test
  • advance registry release revision to v2.0.1
  • refresh portability evidence and WF60 example

Verification on the Windows host that exposed the defect:

  • strict repository validation: PASS
  • 24 skills / 11 v2 contracts
  • unittest: 4/4 PASS
  • LF vs CRLF canonical hash test: PASS
  • Codex/Claude portability proof: PASS
  • git diff --check: PASS

Jira authority: PCA-209.

@jjuniper-dev
jjuniper-dev merged commit d5dd60c into main Sep 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant