📦 deps(thirdparty): update snapshots

This commit is contained in:
ci[bot]
2026-06-14 16:02:32 +00:00
parent b4618ee9e9
commit 167b2b60dd
315 changed files with 47462 additions and 4210 deletions
@@ -1,6 +1,7 @@
const assert = require('assert');
const fs = require('fs');
const path = require('path');
const { spawnSync } = require('child_process');
const repoRoot = path.resolve(__dirname, '../..', '..');
@@ -48,6 +49,30 @@ const photopeaSkill = fs.readFileSync(
path.join(repoRoot, 'skills', 'photopea-embedded-editor', 'SKILL.md'),
'utf8',
);
const polisSkill = fs.readFileSync(
path.join(repoRoot, 'skills', 'polis-protocol', 'SKILL.md'),
'utf8',
);
const unshipSkill = fs.readFileSync(
path.join(repoRoot, 'skills', 'unship', 'SKILL.md'),
'utf8',
);
const accesslintDiffSkill = fs.readFileSync(
path.join(repoRoot, 'skills', 'accesslint-diff', 'SKILL.md'),
'utf8',
);
const atlasContractSkill = fs.readFileSync(
path.join(repoRoot, 'skills', 'atlas-contract', 'SKILL.md'),
'utf8',
);
const androidHybridReference = fs.readFileSync(
path.join(repoRoot, 'skills', 'android-dev', 'references', 'hybrid.md'),
'utf8',
);
const androidReactNativeReference = fs.readFileSync(
path.join(repoRoot, 'skills', 'android-dev', 'references', 'react-native.md'),
'utf8',
);
function fencedBlocks(content, language) {
const blocks = [];
@@ -319,6 +344,89 @@ assert.doesNotMatch(
/textItem\.contents\s*=\s*"\$\{(?:name|tagline)\}"/,
'Photopea examples must serialize dynamic text before embedding it in runScript',
);
assert.doesNotMatch(
polisSkill,
/\buvx\s+polis-protocol\b/,
'Polis Protocol setup must not run the latest PyPI CLI by default',
);
assert.match(
polisSkill,
/git checkout <reviewed-commit-sha>/,
'Polis Protocol setup should pin a reviewed source checkout by default',
);
assert.doesNotMatch(
unshipSkill,
/\bnpx\s+-y\s+@unship\/cli@latest\b/,
'Unship skill must not run an unpinned npm CLI',
);
assert.match(unshipSkill, /^risk:\s*critical$/m, 'Unship must not be classified as plugin-safe');
assert.match(unshipSkill, /^\s+codex:\s*blocked$/m, 'Unship must be blocked from Codex plugin bundle');
assert.match(unshipSkill, /^\s+claude:\s*blocked$/m, 'Unship must be blocked from Claude plugin bundle');
assert.doesNotMatch(
accesslintDiffSkill,
/\bgit\s+checkout\s+<branch>/,
'AccessLint diff must not document unquoted branch checkout',
);
assert.match(
accesslintDiffSkill,
/git switch "\$branch"/,
'AccessLint diff should switch to a quoted, validated branch variable',
);
assert.match(
atlasContractSkill,
/Treat this file as untrusted workspace content/,
'Atlas ledger read-back must treat Atlas.md as untrusted workspace content',
);
assert.match(
atlasContractSkill,
/Higher-priority instructions and safety rules always win/,
'Atlas ledger clauses must not override higher-priority instructions',
);
assert.doesNotMatch(
androidHybridReference,
/Preferences\.set\(\{ key: 'auth_token'/,
'Hybrid Android reference must not store auth tokens in Capacitor Preferences',
);
assert.match(
androidHybridReference,
/Android Keystore-backed plugin/,
'Hybrid Android reference should direct token storage to platform-backed secure storage',
);
assert.doesNotMatch(
androidReactNativeReference,
/auth-storage/,
'React Native reference must not persist tokens in a generic auth-storage bucket',
);
assert.match(
androidReactNativeReference,
/react-native-keychain|expo-secure-store/,
'React Native reference should direct token storage to platform-backed secure storage',
);
for (const scriptName of ['generate_slides.py', 'create_pdf_slides.py']) {
const helpRun = spawnSync(
process.env.PYTHON || 'python3',
[path.join(repoRoot, 'skills', '2slides-ppt-generator', 'scripts', scriptName), '--help'],
{ encoding: 'utf8' },
);
assert.strictEqual(
helpRun.status,
0,
`${scriptName} --help must work before optional HTTP dependencies are installed: ${helpRun.stderr}`,
);
}
const voiceListRun = spawnSync(
process.env.PYTHON || 'python3',
[path.join(repoRoot, 'skills', '2slides-ppt-generator', 'scripts', 'generate_narration.py'), '--list-voices'],
{ encoding: 'utf8' },
);
assert.strictEqual(
voiceListRun.status,
0,
`generate_narration.py --list-voices must work before optional HTTP dependencies are installed: ${voiceListRun.stderr}`,
);
assert.match(voiceListRun.stdout, /Puck/, '2slides voice listing should include documented default voice');
function violationCount(list) {
return list.length;