pumuki 6.3.171 → 6.3.172

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.
package/VERSION CHANGED
@@ -1 +1 @@
1
- v6.3.171
1
+ v6.3.172
@@ -181,6 +181,30 @@ const buildRuleIdNormalization = (params: {
181
181
  };
182
182
  };
183
183
 
184
+ const isScopedPreWriteGlobalEnforcementOnly = (params: {
185
+ stage: LifecycleAuditStage;
186
+ scope: GateScope;
187
+ findings: ReadonlyArray<LifecycleAuditFinding>;
188
+ }): boolean =>
189
+ params.stage === 'PRE_WRITE' &&
190
+ params.scope.kind === 'staged' &&
191
+ params.findings.length > 0 &&
192
+ params.findings.every(
193
+ (finding) => finding.code === 'SKILLS_GLOBAL_ENFORCEMENT_INCOMPLETE_CRITICAL'
194
+ );
195
+
196
+ const toScopedAuditAdvisoryFinding = (
197
+ finding: LifecycleAuditFinding
198
+ ): LifecycleAuditFinding => ({
199
+ ...finding,
200
+ severity: 'INFO',
201
+ code: 'AUDIT_SCOPED_GLOBAL_ENFORCEMENT_ADVISORY',
202
+ message:
203
+ 'Scoped PRE_WRITE audit evaluated only the staged supported files; global skills enforcement debt is retained as advisory for repo-wide work. ' +
204
+ finding.message,
205
+ blocking: false,
206
+ });
207
+
184
208
  export const runLifecycleAudit = async (params: {
185
209
  stage: LifecycleAuditStage;
186
210
  auditMode: 'gate' | 'engine';
@@ -236,7 +260,7 @@ export const runLifecycleAudit = async (params: {
236
260
  auditMode: 'gate' as const,
237
261
  };
238
262
 
239
- const gateExitCode = await activeDependencies.runPlatformGate(gateParams);
263
+ const rawGateExitCode = await activeDependencies.runPlatformGate(gateParams);
240
264
  const evidence = activeDependencies.readEvidence(repoRoot);
241
265
  const filesScanned =
242
266
  typeof evidence?.snapshot.files_scanned === 'number' &&
@@ -247,10 +271,19 @@ export const runLifecycleAudit = async (params: {
247
271
  typeof evidence?.snapshot.outcome === 'string' ? evidence.snapshot.outcome : null;
248
272
  const findings = extractAuditFindings({
249
273
  evidence,
250
- gateExitCode,
274
+ gateExitCode: rawGateExitCode,
251
275
  stage: params.stage,
252
276
  snapshotOutcome,
253
277
  });
278
+ const scopedPreWriteGlobalEnforcementOnly = isScopedPreWriteGlobalEnforcementOnly({
279
+ stage: params.stage,
280
+ scope,
281
+ findings,
282
+ });
283
+ const effectiveFindings = scopedPreWriteGlobalEnforcementOnly
284
+ ? findings.map(toScopedAuditAdvisoryFinding)
285
+ : findings;
286
+ const gateExitCode = scopedPreWriteGlobalEnforcementOnly ? 0 : rawGateExitCode;
254
287
 
255
288
  return {
256
289
  command: 'pumuki audit',
@@ -265,14 +298,14 @@ export const runLifecycleAudit = async (params: {
265
298
  files_scanned: filesScanned,
266
299
  untracked_matching_extensions_count: untrackedMatchingExtensionsCount,
267
300
  snapshot_outcome: snapshotOutcome,
268
- findings_count: findings.length,
269
- blocking_findings_count: findings.filter((finding) => finding.blocking).length,
301
+ findings_count: effectiveFindings.length,
302
+ blocking_findings_count: effectiveFindings.filter((finding) => finding.blocking).length,
270
303
  rules_coverage: evidence?.snapshot.rules_coverage ?? null,
271
304
  rule_id_normalization: buildRuleIdNormalization({
272
- findings,
305
+ findings: effectiveFindings,
273
306
  rulesCoverage: evidence?.snapshot.rules_coverage,
274
307
  }),
275
- findings,
308
+ findings: effectiveFindings,
276
309
  policy_reconcile_hint: POLICY_RECONCILE_HINT,
277
310
  };
278
311
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pumuki",
3
- "version": "6.3.171",
3
+ "version": "6.3.172",
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": {