polyglot-code-guard 0.4.0__tar.gz → 0.5.0__tar.gz
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.
- {polyglot_code_guard-0.4.0/src/polyglot_code_guard.egg-info → polyglot_code_guard-0.5.0}/PKG-INFO +10 -7
- {polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0}/README.md +5 -5
- {polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0}/pyproject.toml +5 -2
- {polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0/src/polyglot_code_guard.egg-info}/PKG-INFO +10 -7
- {polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0}/src/polyglot_code_guard.egg-info/SOURCES.txt +1 -0
- {polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0}/src/polyguard/__init__.py +1 -1
- polyglot_code_guard-0.5.0/src/polyguard/py.typed +0 -0
- {polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0}/src/polyguard/runner.py +458 -54
- {polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0}/tests/test_coverage_paths.py +41 -4
- {polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0}/tests/test_runner.py +685 -16
- {polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0}/LICENSE +0 -0
- {polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0}/setup.cfg +0 -0
- {polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0}/src/polyglot_code_guard.egg-info/dependency_links.txt +0 -0
- {polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0}/src/polyglot_code_guard.egg-info/entry_points.txt +0 -0
- {polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0}/src/polyglot_code_guard.egg-info/requires.txt +0 -0
- {polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0}/src/polyglot_code_guard.egg-info/top_level.txt +0 -0
- {polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0}/src/polyguard/SKILL.md +0 -0
- {polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0}/src/polyguard/cli.py +0 -0
{polyglot_code_guard-0.4.0/src/polyglot_code_guard.egg-info → polyglot_code_guard-0.5.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: polyglot-code-guard
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: Fail-closed, multi-language test verification for AI-generated code.
|
|
5
5
|
Author: Furox-Art
|
|
6
6
|
License-Expression: MIT
|
|
@@ -12,8 +12,11 @@ Classifier: Development Status :: 3 - Alpha
|
|
|
12
12
|
Classifier: Intended Audience :: Developers
|
|
13
13
|
Classifier: Operating System :: OS Independent
|
|
14
14
|
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
15
18
|
Classifier: Topic :: Software Development :: Testing
|
|
16
|
-
Requires-Python: >=3.
|
|
19
|
+
Requires-Python: >=3.11
|
|
17
20
|
Description-Content-Type: text/markdown
|
|
18
21
|
License-File: LICENSE
|
|
19
22
|
Requires-Dist: tomli>=2; python_version < "3.11"
|
|
@@ -73,16 +76,16 @@ Exit code is **0** for PASS and **1** for FAIL. Missing tests, missing toolchain
|
|
|
73
76
|
| Python | \`compileall\`, then \`pytest -q\` | Pytest passed-test summary |
|
|
74
77
|
| Rust | \`cargo test --all-targets\` | Cargo test-result summary |
|
|
75
78
|
| Go | \`go test -json ./...\` | Passing test events in JSON stream |
|
|
76
|
-
| JavaScript / TypeScript | Direct Vitest/Jest/Mocha/TAP CLI when declared, otherwise `node --test
|
|
79
|
+
| JavaScript / TypeScript | Direct Vitest/Jest/Mocha/TAP CLI when declared, otherwise `node --test --test-reporter=junit <absolute discovered test-file paths>`; TypeScript also runs `tsc --noEmit` when configured | Node fallback: JUnit testcase records cross-checked against a pre-execution snapshot; only that explicit file list runs; missing-name records and file-path collisions fail closed; declared runners: recognized runner summary |
|
|
77
80
|
| Java | Maven `clean test` or Gradle `clean test` | Parsed Surefire/Gradle JUnit XML; at least one pass, zero failures |
|
|
78
81
|
| C# | dotnet test with a Polyguard TRX prefix | Parsed TRX counters; at least one pass, zero failures |
|
|
79
82
|
| PHP | PHPUnit with --log-junit | Parsed JUnit XML; at least one pass, zero failures |
|
|
80
83
|
| Ruby | RSpec, or Ruby's Minitest runner | RSpec/Minitest success summary |
|
|
81
84
|
| Swift | `swift test --parallel` | Recognized Swift Testing/XCTest runner summary with a positive passed-test count |
|
|
82
|
-
| C | CMake build and CTest |
|
|
83
|
-
| C++ | CMake build and CTest |
|
|
85
|
+
| C | CMake build and CTest | Counts per-test `Passed` records; aggregate pass percentages do not prove execution |
|
|
86
|
+
| C++ | CMake build and CTest | Counts per-test `Passed` records; aggregate pass percentages do not prove execution |
|
|
84
87
|
|
|
85
|
-
C and C++ are separate language identifiers in configuration. JavaScript and TypeScript share the same project plan; TypeScript type checking does not replace running tests. Project-defined npm `test` scripts are never treated as test-execution evidence.
|
|
88
|
+
C and C++ are separate language identifiers in configuration. JavaScript and TypeScript share the same project plan; TypeScript type checking does not replace running tests. The Node built-in test-runner fallback uses its JUnit reporter and requires Node.js 18.15 or later. Polyguard passes only the test-file paths found in its pre-execution snapshot, rather than allowing Node to recursively discover files in generated or pruned directories. TypeScript test files (`.ts`, `.cts`, and `.mts`) additionally require a Node release with built-in type stripping enabled. When a supported runner dependency is declared, Polyguard invokes that runner's CLI and parses its recognized success summary. Project-defined npm `test` scripts are never treated as test-execution evidence.
|
|
86
89
|
|
|
87
90
|
### Monorepos and workspaces
|
|
88
91
|
|
|
@@ -137,7 +140,7 @@ python -m pip install -e ".[test]"
|
|
|
137
140
|
python -m pytest -q
|
|
138
141
|
\`\`\`
|
|
139
142
|
|
|
140
|
-
Integration fixtures are created in temporary directories and run through Polyguard's actual project discovery and command execution path.
|
|
143
|
+
Integration fixtures are created in temporary directories and run through Polyguard's actual project discovery and command execution path. All required local toolchains must be installed; missing toolchains make the corresponding integration tests fail rather than skip. The repository-wide pytest hook also fails the session if any test is skipped. The native-integration CI job verifies toolchain availability and runs the complete fixture suite. The CI workflow also runs runner tests on Linux, Windows, and macOS, plus a dedicated SwiftPM fixture on macOS.
|
|
141
144
|
|
|
142
145
|
## AI coding-agent skill
|
|
143
146
|
|
|
@@ -49,16 +49,16 @@ Exit code is **0** for PASS and **1** for FAIL. Missing tests, missing toolchain
|
|
|
49
49
|
| Python | \`compileall\`, then \`pytest -q\` | Pytest passed-test summary |
|
|
50
50
|
| Rust | \`cargo test --all-targets\` | Cargo test-result summary |
|
|
51
51
|
| Go | \`go test -json ./...\` | Passing test events in JSON stream |
|
|
52
|
-
| JavaScript / TypeScript | Direct Vitest/Jest/Mocha/TAP CLI when declared, otherwise `node --test
|
|
52
|
+
| JavaScript / TypeScript | Direct Vitest/Jest/Mocha/TAP CLI when declared, otherwise `node --test --test-reporter=junit <absolute discovered test-file paths>`; TypeScript also runs `tsc --noEmit` when configured | Node fallback: JUnit testcase records cross-checked against a pre-execution snapshot; only that explicit file list runs; missing-name records and file-path collisions fail closed; declared runners: recognized runner summary |
|
|
53
53
|
| Java | Maven `clean test` or Gradle `clean test` | Parsed Surefire/Gradle JUnit XML; at least one pass, zero failures |
|
|
54
54
|
| C# | dotnet test with a Polyguard TRX prefix | Parsed TRX counters; at least one pass, zero failures |
|
|
55
55
|
| PHP | PHPUnit with --log-junit | Parsed JUnit XML; at least one pass, zero failures |
|
|
56
56
|
| Ruby | RSpec, or Ruby's Minitest runner | RSpec/Minitest success summary |
|
|
57
57
|
| Swift | `swift test --parallel` | Recognized Swift Testing/XCTest runner summary with a positive passed-test count |
|
|
58
|
-
| C | CMake build and CTest |
|
|
59
|
-
| C++ | CMake build and CTest |
|
|
58
|
+
| C | CMake build and CTest | Counts per-test `Passed` records; aggregate pass percentages do not prove execution |
|
|
59
|
+
| C++ | CMake build and CTest | Counts per-test `Passed` records; aggregate pass percentages do not prove execution |
|
|
60
60
|
|
|
61
|
-
C and C++ are separate language identifiers in configuration. JavaScript and TypeScript share the same project plan; TypeScript type checking does not replace running tests. Project-defined npm `test` scripts are never treated as test-execution evidence.
|
|
61
|
+
C and C++ are separate language identifiers in configuration. JavaScript and TypeScript share the same project plan; TypeScript type checking does not replace running tests. The Node built-in test-runner fallback uses its JUnit reporter and requires Node.js 18.15 or later. Polyguard passes only the test-file paths found in its pre-execution snapshot, rather than allowing Node to recursively discover files in generated or pruned directories. TypeScript test files (`.ts`, `.cts`, and `.mts`) additionally require a Node release with built-in type stripping enabled. When a supported runner dependency is declared, Polyguard invokes that runner's CLI and parses its recognized success summary. Project-defined npm `test` scripts are never treated as test-execution evidence.
|
|
62
62
|
|
|
63
63
|
### Monorepos and workspaces
|
|
64
64
|
|
|
@@ -113,7 +113,7 @@ python -m pip install -e ".[test]"
|
|
|
113
113
|
python -m pytest -q
|
|
114
114
|
\`\`\`
|
|
115
115
|
|
|
116
|
-
Integration fixtures are created in temporary directories and run through Polyguard's actual project discovery and command execution path.
|
|
116
|
+
Integration fixtures are created in temporary directories and run through Polyguard's actual project discovery and command execution path. All required local toolchains must be installed; missing toolchains make the corresponding integration tests fail rather than skip. The repository-wide pytest hook also fails the session if any test is skipped. The native-integration CI job verifies toolchain availability and runs the complete fixture suite. The CI workflow also runs runner tests on Linux, Windows, and macOS, plus a dedicated SwiftPM fixture on macOS.
|
|
117
117
|
|
|
118
118
|
## AI coding-agent skill
|
|
119
119
|
|
|
@@ -4,10 +4,10 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "polyglot-code-guard"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.5.0"
|
|
8
8
|
description = "Fail-closed, multi-language test verification for AI-generated code."
|
|
9
9
|
readme = "README.md"
|
|
10
|
-
requires-python = ">=3.
|
|
10
|
+
requires-python = ">=3.11"
|
|
11
11
|
license = "MIT"
|
|
12
12
|
authors = [{ name = "Furox-Art" }]
|
|
13
13
|
keywords = ["testing", "code-verification", "polyglot", "ai-generated-code", "quality-gate"]
|
|
@@ -16,6 +16,9 @@ classifiers = [
|
|
|
16
16
|
"Intended Audience :: Developers",
|
|
17
17
|
"Operating System :: OS Independent",
|
|
18
18
|
"Programming Language :: Python :: 3",
|
|
19
|
+
"Programming Language :: Python :: 3.11",
|
|
20
|
+
"Programming Language :: Python :: 3.12",
|
|
21
|
+
"Programming Language :: Python :: 3.13",
|
|
19
22
|
"Topic :: Software Development :: Testing",
|
|
20
23
|
]
|
|
21
24
|
dependencies = ["tomli>=2; python_version < '3.11'"]
|
{polyglot_code_guard-0.4.0 → polyglot_code_guard-0.5.0/src/polyglot_code_guard.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: polyglot-code-guard
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: Fail-closed, multi-language test verification for AI-generated code.
|
|
5
5
|
Author: Furox-Art
|
|
6
6
|
License-Expression: MIT
|
|
@@ -12,8 +12,11 @@ Classifier: Development Status :: 3 - Alpha
|
|
|
12
12
|
Classifier: Intended Audience :: Developers
|
|
13
13
|
Classifier: Operating System :: OS Independent
|
|
14
14
|
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
15
18
|
Classifier: Topic :: Software Development :: Testing
|
|
16
|
-
Requires-Python: >=3.
|
|
19
|
+
Requires-Python: >=3.11
|
|
17
20
|
Description-Content-Type: text/markdown
|
|
18
21
|
License-File: LICENSE
|
|
19
22
|
Requires-Dist: tomli>=2; python_version < "3.11"
|
|
@@ -73,16 +76,16 @@ Exit code is **0** for PASS and **1** for FAIL. Missing tests, missing toolchain
|
|
|
73
76
|
| Python | \`compileall\`, then \`pytest -q\` | Pytest passed-test summary |
|
|
74
77
|
| Rust | \`cargo test --all-targets\` | Cargo test-result summary |
|
|
75
78
|
| Go | \`go test -json ./...\` | Passing test events in JSON stream |
|
|
76
|
-
| JavaScript / TypeScript | Direct Vitest/Jest/Mocha/TAP CLI when declared, otherwise `node --test
|
|
79
|
+
| JavaScript / TypeScript | Direct Vitest/Jest/Mocha/TAP CLI when declared, otherwise `node --test --test-reporter=junit <absolute discovered test-file paths>`; TypeScript also runs `tsc --noEmit` when configured | Node fallback: JUnit testcase records cross-checked against a pre-execution snapshot; only that explicit file list runs; missing-name records and file-path collisions fail closed; declared runners: recognized runner summary |
|
|
77
80
|
| Java | Maven `clean test` or Gradle `clean test` | Parsed Surefire/Gradle JUnit XML; at least one pass, zero failures |
|
|
78
81
|
| C# | dotnet test with a Polyguard TRX prefix | Parsed TRX counters; at least one pass, zero failures |
|
|
79
82
|
| PHP | PHPUnit with --log-junit | Parsed JUnit XML; at least one pass, zero failures |
|
|
80
83
|
| Ruby | RSpec, or Ruby's Minitest runner | RSpec/Minitest success summary |
|
|
81
84
|
| Swift | `swift test --parallel` | Recognized Swift Testing/XCTest runner summary with a positive passed-test count |
|
|
82
|
-
| C | CMake build and CTest |
|
|
83
|
-
| C++ | CMake build and CTest |
|
|
85
|
+
| C | CMake build and CTest | Counts per-test `Passed` records; aggregate pass percentages do not prove execution |
|
|
86
|
+
| C++ | CMake build and CTest | Counts per-test `Passed` records; aggregate pass percentages do not prove execution |
|
|
84
87
|
|
|
85
|
-
C and C++ are separate language identifiers in configuration. JavaScript and TypeScript share the same project plan; TypeScript type checking does not replace running tests. Project-defined npm `test` scripts are never treated as test-execution evidence.
|
|
88
|
+
C and C++ are separate language identifiers in configuration. JavaScript and TypeScript share the same project plan; TypeScript type checking does not replace running tests. The Node built-in test-runner fallback uses its JUnit reporter and requires Node.js 18.15 or later. Polyguard passes only the test-file paths found in its pre-execution snapshot, rather than allowing Node to recursively discover files in generated or pruned directories. TypeScript test files (`.ts`, `.cts`, and `.mts`) additionally require a Node release with built-in type stripping enabled. When a supported runner dependency is declared, Polyguard invokes that runner's CLI and parses its recognized success summary. Project-defined npm `test` scripts are never treated as test-execution evidence.
|
|
86
89
|
|
|
87
90
|
### Monorepos and workspaces
|
|
88
91
|
|
|
@@ -137,7 +140,7 @@ python -m pip install -e ".[test]"
|
|
|
137
140
|
python -m pytest -q
|
|
138
141
|
\`\`\`
|
|
139
142
|
|
|
140
|
-
Integration fixtures are created in temporary directories and run through Polyguard's actual project discovery and command execution path.
|
|
143
|
+
Integration fixtures are created in temporary directories and run through Polyguard's actual project discovery and command execution path. All required local toolchains must be installed; missing toolchains make the corresponding integration tests fail rather than skip. The repository-wide pytest hook also fails the session if any test is skipped. The native-integration CI job verifies toolchain availability and runs the complete fixture suite. The CI workflow also runs runner tests on Linux, Windows, and macOS, plus a dedicated SwiftPM fixture on macOS.
|
|
141
144
|
|
|
142
145
|
## AI coding-agent skill
|
|
143
146
|
|
|
File without changes
|