pumuki 6.3.205 → 6.3.206
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.
|
@@ -372,6 +372,17 @@ const isScopedPreWriteGlobalEnforcementOnly = (params: {
|
|
|
372
372
|
(finding) => finding.code === 'SKILLS_GLOBAL_ENFORCEMENT_INCOMPLETE_CRITICAL'
|
|
373
373
|
);
|
|
374
374
|
|
|
375
|
+
const isRangePrePushWithoutSupportedCodeSddOnly = (params: {
|
|
376
|
+
stage: LifecycleAuditStage;
|
|
377
|
+
scope: LifecycleAuditScope;
|
|
378
|
+
findings: ReadonlyArray<LifecycleAuditFinding>;
|
|
379
|
+
}): boolean =>
|
|
380
|
+
params.stage === 'PRE_PUSH' &&
|
|
381
|
+
params.scope.kind === 'range' &&
|
|
382
|
+
params.scope.matchingExtensions.length === 0 &&
|
|
383
|
+
params.findings.length > 0 &&
|
|
384
|
+
params.findings.every((finding) => finding.code === 'SDD_CHANGE_MISSING');
|
|
385
|
+
|
|
375
386
|
const toScopedAuditAdvisoryFinding = (
|
|
376
387
|
finding: LifecycleAuditFinding
|
|
377
388
|
): LifecycleAuditFinding => ({
|
|
@@ -384,6 +395,18 @@ const toScopedAuditAdvisoryFinding = (
|
|
|
384
395
|
blocking: false,
|
|
385
396
|
});
|
|
386
397
|
|
|
398
|
+
const toRangeNoSupportedCodeAuditAdvisoryFinding = (
|
|
399
|
+
finding: LifecycleAuditFinding
|
|
400
|
+
): LifecycleAuditFinding => ({
|
|
401
|
+
...finding,
|
|
402
|
+
severity: 'INFO',
|
|
403
|
+
code: 'AUDIT_RANGE_NO_SUPPORTED_CODE_ADVISORY',
|
|
404
|
+
message:
|
|
405
|
+
'Range PRE_PUSH audit found no supported code files in the branch delta; SDD baseline debt is retained as advisory for this atomic split slice. ' +
|
|
406
|
+
finding.message,
|
|
407
|
+
blocking: false,
|
|
408
|
+
});
|
|
409
|
+
|
|
387
410
|
export const runLifecycleAudit = async (params: {
|
|
388
411
|
stage: LifecycleAuditStage;
|
|
389
412
|
auditMode: 'gate' | 'engine';
|
|
@@ -463,13 +486,23 @@ export const runLifecycleAudit = async (params: {
|
|
|
463
486
|
scope,
|
|
464
487
|
findings,
|
|
465
488
|
});
|
|
489
|
+
const rangePrePushWithoutSupportedCodeSddOnly = isRangePrePushWithoutSupportedCodeSddOnly({
|
|
490
|
+
stage: params.stage,
|
|
491
|
+
scope,
|
|
492
|
+
findings,
|
|
493
|
+
});
|
|
466
494
|
const gateAllowed = originalGateExitCode === 0;
|
|
467
495
|
const effectiveFindings = scopedGlobalEnforcementOnly
|
|
468
496
|
? findings.map(toScopedAuditAdvisoryFinding)
|
|
497
|
+
: rangePrePushWithoutSupportedCodeSddOnly
|
|
498
|
+
? findings.map(toRangeNoSupportedCodeAuditAdvisoryFinding)
|
|
469
499
|
: gateAllowed
|
|
470
500
|
? findings.map(toGateAllowedAuditAdvisoryFinding)
|
|
471
501
|
: findings;
|
|
472
|
-
const gateExitCode =
|
|
502
|
+
const gateExitCode =
|
|
503
|
+
scopedGlobalEnforcementOnly || rangePrePushWithoutSupportedCodeSddOnly
|
|
504
|
+
? 0
|
|
505
|
+
: originalGateExitCode;
|
|
473
506
|
const effectiveSnapshotOutcome =
|
|
474
507
|
gateExitCode === 0 && snapshotOutcome === 'BLOCK' ? 'PASS' : snapshotOutcome;
|
|
475
508
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pumuki",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.206",
|
|
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": {
|