From 00dcf83c126a3785aeff17dee20080271c4e45bd Mon Sep 17 00:00:00 2001 From: Defame1297 Date: Mon, 28 Sep 2026 18:40:16 +0000 Subject: [PATCH] fix: escape literal BOM characters that trip apm's hidden-Unicode scan MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit lib-boundary-resolver.sh and the provider-adapter-author BOM fixtures carried literal U+FEFF characters, which apm install reports as "files contain hidden characters". Both sites feed the text to Python, which interprets the '' escape identically, so behaviour is unchanged: the resolver's strip_bom and all five validate-adapter BOM cases pass. No core package bump: the fixture writes the same bytes, so the edit is not substantive under the apm-workflow version policy. Refs #94 Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01KkT7RSDwDbmrM9T34b6sTi --- .../provider-adapter-author/tests/validate-adapter.bats | 4 ++-- .../skills/factory-audit/scripts/lib-boundary-resolver.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/core/.apm/skills/provider-adapter-author/tests/validate-adapter.bats b/plugins/core/.apm/skills/provider-adapter-author/tests/validate-adapter.bats index 2204e35..4fb5f37 100644 --- a/plugins/core/.apm/skills/provider-adapter-author/tests/validate-adapter.bats +++ b/plugins/core/.apm/skills/provider-adapter-author/tests/validate-adapter.bats @@ -298,14 +298,14 @@ EOF @test "a doubled UTF-8 BOM does not hide the @import line" { ADAPTER="$TMPDIR/CLAUDE.md" - python3 -c "import sys; open(sys.argv[1], 'wb').write(('@AGENTS.md\n').encode('utf-8'))" "$ADAPTER" + python3 -c "import sys; open(sys.argv[1], 'wb').write(('\ufeff\ufeff@AGENTS.md\n').encode('utf-8'))" "$ADAPTER" run bash "$SCRIPT" "$ADAPTER" "$AGENTS_MD" assert_success } @test "a BOM in front of a mid-file @import line does not hide it" { ADAPTER="$TMPDIR/CLAUDE.md" - python3 -c "import sys; open(sys.argv[1], 'wb').write(('# Claude notes\n\n@AGENTS.md\n').encode('utf-8'))" "$ADAPTER" + python3 -c "import sys; open(sys.argv[1], 'wb').write(('# Claude notes\n\n\ufeff@AGENTS.md\n').encode('utf-8'))" "$ADAPTER" run bash "$SCRIPT" "$ADAPTER" "$AGENTS_MD" assert_success } diff --git a/plugins/kyberforge/.apm/skills/factory-audit/scripts/lib-boundary-resolver.sh b/plugins/kyberforge/.apm/skills/factory-audit/scripts/lib-boundary-resolver.sh index cf099e8..d4a1ecd 100755 --- a/plugins/kyberforge/.apm/skills/factory-audit/scripts/lib-boundary-resolver.sh +++ b/plugins/kyberforge/.apm/skills/factory-audit/scripts/lib-boundary-resolver.sh @@ -1016,7 +1016,7 @@ FRONTMATTER_RE = re.compile( def strip_bom(text): - return text[1:] if text.startswith(u'') else text + return text[1:] if text.startswith(u'\ufeff') else text class FrontmatterError(Exception):