pumuki 6.3.276 → 6.3.277
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/CHANGELOG.md +4 -0
- package/VERSION +1 -1
- package/docs/operations/RELEASE_NOTES.md +4 -0
- package/integrations/gate/evaluateAiGate.ts +32 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [6.3.277] - 2026-05-18
|
|
4
|
+
|
|
5
|
+
- `PUMUKI-INC-146`: PRE_WRITE now resolves the effective iOS test-quality scope from staged paths first when a staged slice exists, falling back to the worktree only when there is no staged code. This prevents unstaged Swift test files from forcing `skills.ios.critical-test-quality` onto unrelated staged iOS/SwiftUI production commits, while preserving the hard block for staged Swift test slices.
|
|
6
|
+
|
|
3
7
|
## [6.3.276] - 2026-05-18
|
|
4
8
|
|
|
5
9
|
- `PUMUKI-INC-146`: PRE_WRITE no longer requires `skills.ios.critical-test-quality` for iOS/SwiftUI production-only slices that do not touch test files. The rule remains hard-blocking when the PRE_WRITE scope includes Swift test paths (`/Tests/`, `/UITests/`, `*Test.swift`, `*Tests.swift`, `*.spec.swift`), preserving XCTest/Swift Testing quality enforcement without blocking unrelated visual/product commits.
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
v6.3.
|
|
1
|
+
v6.3.277
|
|
@@ -4,6 +4,10 @@ This file tracks the active deterministic framework line used in this repository
|
|
|
4
4
|
Canonical release chronology lives in `CHANGELOG.md`.
|
|
5
5
|
This file keeps only the operational highlights and rollout notes that matter while running the framework.
|
|
6
6
|
|
|
7
|
+
### 2026-05-18 (v6.3.277)
|
|
8
|
+
|
|
9
|
+
- `PUMUKI-INC-146`: PRE_WRITE uses staged paths as the effective slice for `skills.ios.critical-test-quality` when staged files exist. Unstaged Swift tests no longer contaminate a staged production-only iOS commit, but staged Swift tests still require the critical test-quality rule and remain fail-closed.
|
|
10
|
+
|
|
7
11
|
### 2026-05-18 (v6.3.276)
|
|
8
12
|
|
|
9
13
|
- `PUMUKI-INC-146`: PRE_WRITE keeps `skills.ios.critical-test-quality` fail-closed for real Swift test slices, but stops applying that test-quality critical rule to iOS/SwiftUI production-only slices. RuralGo wordmark/splash-style commits should still be blocked by real iOS AST/skills violations, SDD, context or evidence issues, but not by missing XCTest quality coverage when no test file is in scope.
|
|
@@ -401,6 +401,35 @@ const collectWorktreeChangedPaths = (repoRoot: string): ReadonlyArray<string> =>
|
|
|
401
401
|
}
|
|
402
402
|
};
|
|
403
403
|
|
|
404
|
+
const collectStagedChangedPaths = (repoRoot: string): ReadonlyArray<string> => {
|
|
405
|
+
try {
|
|
406
|
+
const output = execFileSync(
|
|
407
|
+
'git',
|
|
408
|
+
['diff', '--cached', '--name-only'],
|
|
409
|
+
{
|
|
410
|
+
cwd: repoRoot,
|
|
411
|
+
encoding: 'utf8',
|
|
412
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
413
|
+
}
|
|
414
|
+
);
|
|
415
|
+
const files = output
|
|
416
|
+
.split('\n')
|
|
417
|
+
.map((line) => normalizeChangedPath(line))
|
|
418
|
+
.filter((line) => line.length > 0);
|
|
419
|
+
return [...new Set(files)];
|
|
420
|
+
} catch {
|
|
421
|
+
return [];
|
|
422
|
+
}
|
|
423
|
+
};
|
|
424
|
+
|
|
425
|
+
const collectPreWriteEffectiveChangedPaths = (repoRoot: string): ReadonlyArray<string> => {
|
|
426
|
+
const stagedPaths = collectStagedChangedPaths(repoRoot);
|
|
427
|
+
if (stagedPaths.length > 0) {
|
|
428
|
+
return stagedPaths;
|
|
429
|
+
}
|
|
430
|
+
return collectWorktreeChangedPaths(repoRoot);
|
|
431
|
+
};
|
|
432
|
+
|
|
404
433
|
const isIosTestQualityPath = (filePath: string): boolean => {
|
|
405
434
|
const normalized = normalizeChangedPath(filePath).toLowerCase();
|
|
406
435
|
if (!normalized.endsWith('.swift')) {
|
|
@@ -414,7 +443,9 @@ const isIosTestQualityPath = (filePath: string): boolean => {
|
|
|
414
443
|
};
|
|
415
444
|
|
|
416
445
|
const hasPreWriteIosTestQualityScope = (repoRoot: string): boolean =>
|
|
417
|
-
|
|
446
|
+
collectPreWriteEffectiveChangedPaths(repoRoot).some((filePath) =>
|
|
447
|
+
isIosTestQualityPath(filePath)
|
|
448
|
+
);
|
|
418
449
|
|
|
419
450
|
const resolvePreWriteCriticalSkillsRules = (params: {
|
|
420
451
|
platform: PreWriteSkillsPlatform;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pumuki",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.277",
|
|
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": {
|