pumuki 6.3.370 → 6.3.372

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -76,6 +76,16 @@ const NON_CODE_RULE_PATTERNS: ReadonlyArray<RegExp> = [
76
76
  /\btestflight\b/,
77
77
  /\bfastlane\b/,
78
78
  /\bdeployments?\b/,
79
+ /\banalytics[-\s]firebase[-\s]analytics\b/,
80
+ /\bapp[-\s]module\b.*\bcomposicio[-\s]?n\b.*\bfinal\b/,
81
+ /\bbuild[-\s]types?\b.*\bdebug\b.*\brelease\b/,
82
+ /\bbuild[-\s]variants?\b/,
83
+ /\bbuildconfig\b.*\bconstantes\b/,
84
+ /\bbuildsrc\b/,
85
+ /\bcore[-\s]modules?\b/,
86
+ /\bcompose[-\s]bom\b/,
87
+ /\bcrashlytics[-\s]firebase\b/,
88
+ /\bdatabase[-\s]database[-\s]class[-\s]abstracta\b/,
79
89
  /\bxcode\b.*\bversion\b/,
80
90
  /\bxcodebuild\b/,
81
91
  /\bvoiceover\b.*\b(test|screen reader)\b/,
@@ -230,6 +240,17 @@ const isNonCodeRule = (rule: SkillsCompiledRule): boolean => {
230
240
  return NON_CODE_RULE_PATTERNS.some((pattern) => pattern.test(haystack));
231
241
  };
232
242
 
243
+ const isMetaInstructionRule = (rule: SkillsCompiledRule): boolean => {
244
+ const normalizedId = normalizeText(rule.id);
245
+ return (
246
+ normalizedId.includes('.use-grep-for-') ||
247
+ normalizedId.includes('.use-read-on-') ||
248
+ normalizedId.includes('.use-references-') ||
249
+ normalizedId.includes('.references-') ||
250
+ normalizedId.includes('.then-use-references-')
251
+ );
252
+ };
253
+
233
254
  const hasDirectCodeDetectorCandidate = (rule: SkillsCompiledRule): boolean => {
234
255
  const haystack = normalizeText(`${rule.id} ${rule.description} ${rule.sourceSkill}`);
235
256
  return CODE_RULE_WITH_DIRECT_DETECTOR_PATTERNS.some((pattern) => pattern.test(haystack));
@@ -239,6 +260,20 @@ const classifyRule = (rule: SkillsCompiledRule): ClassifiedSkillsRule => {
239
260
  const evaluationMode = rule.evaluationMode ?? 'AUTO';
240
261
  const astNodeIds = resolveMappedHeuristicRuleIdsForCompiledRule(rule);
241
262
 
263
+ if (isMetaInstructionRule(rule)) {
264
+ return {
265
+ ruleId: rule.id,
266
+ platform: rule.platform,
267
+ sourceSkill: rule.sourceSkill,
268
+ sourcePath: rule.sourcePath,
269
+ evaluationMode,
270
+ severity: rule.severity,
271
+ status: 'NO_ES_REGLA_DE_CODIGO',
272
+ reason: 'Instruccion meta de uso de tooling o referencias; no debe emitirse como finding runtime.',
273
+ astNodeIds,
274
+ };
275
+ }
276
+
242
277
  if (astNodeIds.length > 0) {
243
278
  return {
244
279
  ruleId: rule.id,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pumuki",
3
- "version": "6.3.370",
3
+ "version": "6.3.372",
4
4
  "description": "Enterprise-grade AST Intelligence System with multi-platform support (iOS, Android, Backend, Frontend) and Feature-First + DDD + Clean Architecture enforcement. Includes dynamic violations API for intelligent querying.",
5
5
  "main": "index.js",
6
6
  "bin": {
package/skills.lock.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": "1.0",
3
3
  "compilerVersion": "1.0.0",
4
- "generatedAt": "2026-05-25T05:49:29.274Z",
4
+ "generatedAt": "2026-05-25T06:14:06.228Z",
5
5
  "bundles": [
6
6
  {
7
7
  "name": "android-guidelines",