@stsepelin/checktrail 0.1.0-alpha.1
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/CONTRIBUTING.md +42 -0
- package/LICENSE +21 -0
- package/README.md +355 -0
- package/SECURITY.md +46 -0
- package/dist/src/actionlint-evidence.d.ts +2 -0
- package/dist/src/actionlint-evidence.js +166 -0
- package/dist/src/actionlint-inputs.d.ts +5 -0
- package/dist/src/actionlint-inputs.js +123 -0
- package/dist/src/actionlint-runner.d.ts +1 -0
- package/dist/src/actionlint-runner.js +122 -0
- package/dist/src/actionlint.d.ts +19 -0
- package/dist/src/actionlint.js +80 -0
- package/dist/src/adapters.d.ts +49 -0
- package/dist/src/adapters.js +430 -0
- package/dist/src/architecture.d.ts +107 -0
- package/dist/src/architecture.js +230 -0
- package/dist/src/clang-evidence.d.ts +2 -0
- package/dist/src/clang-evidence.js +194 -0
- package/dist/src/clang-protocol.d.ts +3 -0
- package/dist/src/clang-protocol.js +25 -0
- package/dist/src/clang-runner.d.ts +1 -0
- package/dist/src/clang-runner.js +159 -0
- package/dist/src/clang.d.ts +44 -0
- package/dist/src/clang.js +197 -0
- package/dist/src/cli.d.ts +2 -0
- package/dist/src/cli.js +338 -0
- package/dist/src/config.d.ts +33 -0
- package/dist/src/config.js +140 -0
- package/dist/src/contract-schema.d.ts +85 -0
- package/dist/src/contract-schema.js +56 -0
- package/dist/src/contract-worker.d.ts +1 -0
- package/dist/src/contract-worker.js +123 -0
- package/dist/src/contracts.d.ts +22 -0
- package/dist/src/contracts.js +123 -0
- package/dist/src/django-evidence.d.ts +2 -0
- package/dist/src/django-evidence.js +100 -0
- package/dist/src/django-runner.d.ts +1 -0
- package/dist/src/django-runner.js +80 -0
- package/dist/src/django.d.ts +9 -0
- package/dist/src/django.js +50 -0
- package/dist/src/dotnet-compiler.d.ts +1 -0
- package/dist/src/dotnet-compiler.js +87 -0
- package/dist/src/dotnet-evidence.d.ts +2 -0
- package/dist/src/dotnet-evidence.js +127 -0
- package/dist/src/dotnet-runner.d.ts +1 -0
- package/dist/src/dotnet-runner.js +167 -0
- package/dist/src/dotnet.d.ts +65 -0
- package/dist/src/dotnet.js +120 -0
- package/dist/src/engine.d.ts +19 -0
- package/dist/src/engine.js +239 -0
- package/dist/src/environment.d.ts +6 -0
- package/dist/src/environment.js +36 -0
- package/dist/src/eslint-evidence.d.ts +2 -0
- package/dist/src/eslint-evidence.js +98 -0
- package/dist/src/eslint-runner.d.ts +1 -0
- package/dist/src/eslint-runner.js +61 -0
- package/dist/src/eslint.d.ts +2 -0
- package/dist/src/eslint.js +40 -0
- package/dist/src/evidence.d.ts +2 -0
- package/dist/src/evidence.js +313 -0
- package/dist/src/external-adapter.d.ts +164 -0
- package/dist/src/external-adapter.js +265 -0
- package/dist/src/external-evidence.d.ts +2 -0
- package/dist/src/external-evidence.js +127 -0
- package/dist/src/external-runner.d.ts +1 -0
- package/dist/src/external-runner.js +122 -0
- package/dist/src/fastapi-evidence.d.ts +2 -0
- package/dist/src/fastapi-evidence.js +126 -0
- package/dist/src/fastapi-runner.d.ts +1 -0
- package/dist/src/fastapi-runner.js +84 -0
- package/dist/src/fastapi.d.ts +10 -0
- package/dist/src/fastapi.js +52 -0
- package/dist/src/fetch-pack.d.ts +16 -0
- package/dist/src/fetch-pack.js +154 -0
- package/dist/src/finding-policy-schema.d.ts +146 -0
- package/dist/src/finding-policy-schema.js +70 -0
- package/dist/src/finding-policy.d.ts +62 -0
- package/dist/src/finding-policy.js +206 -0
- package/dist/src/git-selection.d.ts +3 -0
- package/dist/src/git-selection.js +229 -0
- package/dist/src/go-directives.d.ts +1 -0
- package/dist/src/go-directives.js +32 -0
- package/dist/src/go-scope.d.ts +11 -0
- package/dist/src/go-scope.js +122 -0
- package/dist/src/golangci-evidence.d.ts +2 -0
- package/dist/src/golangci-evidence.js +92 -0
- package/dist/src/golangci-runner.d.ts +1 -0
- package/dist/src/golangci-runner.js +124 -0
- package/dist/src/golangci.d.ts +2 -0
- package/dist/src/golangci.js +35 -0
- package/dist/src/guidance.d.ts +98 -0
- package/dist/src/guidance.js +247 -0
- package/dist/src/index.d.ts +31 -0
- package/dist/src/index.js +16 -0
- package/dist/src/inventory.d.ts +4 -0
- package/dist/src/inventory.js +94 -0
- package/dist/src/java-compiler.d.ts +1 -0
- package/dist/src/java-compiler.js +110 -0
- package/dist/src/java-evidence.d.ts +2 -0
- package/dist/src/java-evidence.js +114 -0
- package/dist/src/java-runner.d.ts +1 -0
- package/dist/src/java-runner.js +79 -0
- package/dist/src/java.d.ts +25 -0
- package/dist/src/java.js +102 -0
- package/dist/src/jest-evidence.d.ts +2 -0
- package/dist/src/jest-evidence.js +117 -0
- package/dist/src/jest-runner.d.ts +1 -0
- package/dist/src/jest-runner.js +46 -0
- package/dist/src/jest.d.ts +2 -0
- package/dist/src/jest.js +36 -0
- package/dist/src/junit.d.ts +18 -0
- package/dist/src/junit.js +157 -0
- package/dist/src/laravel-evidence.d.ts +2 -0
- package/dist/src/laravel-evidence.js +175 -0
- package/dist/src/laravel-runner.d.ts +1 -0
- package/dist/src/laravel-runner.js +168 -0
- package/dist/src/laravel.d.ts +8 -0
- package/dist/src/laravel.js +50 -0
- package/dist/src/local-tool.d.ts +1 -0
- package/dist/src/local-tool.js +19 -0
- package/dist/src/mcp.d.ts +14 -0
- package/dist/src/mcp.js +362 -0
- package/dist/src/mutation.d.ts +118 -0
- package/dist/src/mutation.js +370 -0
- package/dist/src/mypy-evidence.d.ts +2 -0
- package/dist/src/mypy-evidence.js +63 -0
- package/dist/src/mypy.d.ts +2 -0
- package/dist/src/mypy.js +59 -0
- package/dist/src/node-reporter.d.ts +1 -0
- package/dist/src/node-reporter.js +28 -0
- package/dist/src/nuxt-evidence.d.ts +2 -0
- package/dist/src/nuxt-evidence.js +160 -0
- package/dist/src/nuxt-protocol.d.ts +52 -0
- package/dist/src/nuxt-protocol.js +29 -0
- package/dist/src/nuxt-runner.d.ts +1 -0
- package/dist/src/nuxt-runner.js +165 -0
- package/dist/src/nuxt.d.ts +24 -0
- package/dist/src/nuxt.js +105 -0
- package/dist/src/output.d.ts +3 -0
- package/dist/src/output.js +48 -0
- package/dist/src/phpstan-evidence.d.ts +2 -0
- package/dist/src/phpstan-evidence.js +81 -0
- package/dist/src/phpstan.d.ts +2 -0
- package/dist/src/phpstan.js +51 -0
- package/dist/src/phpunit-evidence.d.ts +2 -0
- package/dist/src/phpunit-evidence.js +53 -0
- package/dist/src/phpunit.d.ts +2 -0
- package/dist/src/phpunit.js +58 -0
- package/dist/src/pint-evidence.d.ts +2 -0
- package/dist/src/pint-evidence.js +79 -0
- package/dist/src/pint-runner.d.ts +1 -0
- package/dist/src/pint-runner.js +53 -0
- package/dist/src/pint.d.ts +2 -0
- package/dist/src/pint.js +37 -0
- package/dist/src/playwright-evidence.d.ts +2 -0
- package/dist/src/playwright-evidence.js +127 -0
- package/dist/src/playwright-reporter.d.ts +10 -0
- package/dist/src/playwright-reporter.js +37 -0
- package/dist/src/playwright-runner.d.ts +1 -0
- package/dist/src/playwright-runner.js +61 -0
- package/dist/src/playwright.d.ts +2 -0
- package/dist/src/playwright.js +35 -0
- package/dist/src/policy-pack.d.ts +21 -0
- package/dist/src/policy-pack.js +41 -0
- package/dist/src/pytest-evidence.d.ts +2 -0
- package/dist/src/pytest-evidence.js +116 -0
- package/dist/src/pytest-runner.d.ts +1 -0
- package/dist/src/pytest-runner.js +48 -0
- package/dist/src/pytest.d.ts +2 -0
- package/dist/src/pytest.js +25 -0
- package/dist/src/report-validation.d.ts +129 -0
- package/dist/src/report-validation.js +27 -0
- package/dist/src/review.d.ts +270 -0
- package/dist/src/review.js +349 -0
- package/dist/src/ruby.d.ts +2 -0
- package/dist/src/ruby.js +25 -0
- package/dist/src/ruff-evidence.d.ts +2 -0
- package/dist/src/ruff-evidence.js +99 -0
- package/dist/src/ruff.d.ts +2 -0
- package/dist/src/ruff.js +40 -0
- package/dist/src/runner.d.ts +8 -0
- package/dist/src/runner.js +117 -0
- package/dist/src/runtime-inventory.d.ts +112 -0
- package/dist/src/runtime-inventory.js +200 -0
- package/dist/src/rust-dep-info.d.ts +1 -0
- package/dist/src/rust-dep-info.js +46 -0
- package/dist/src/rust-evidence.d.ts +2 -0
- package/dist/src/rust-evidence.js +157 -0
- package/dist/src/rust-runner.d.ts +1 -0
- package/dist/src/rust-runner.js +161 -0
- package/dist/src/rust.d.ts +7 -0
- package/dist/src/rust.js +39 -0
- package/dist/src/sarif.d.ts +86 -0
- package/dist/src/sarif.js +113 -0
- package/dist/src/schemas.d.ts +393 -0
- package/dist/src/schemas.js +222 -0
- package/dist/src/staticcheck-evidence.d.ts +2 -0
- package/dist/src/staticcheck-evidence.js +75 -0
- package/dist/src/swift.d.ts +2 -0
- package/dist/src/swift.js +20 -0
- package/dist/src/task-store.d.ts +37 -0
- package/dist/src/task-store.js +349 -0
- package/dist/src/tool-versions.d.ts +3 -0
- package/dist/src/tool-versions.js +260 -0
- package/dist/src/types.d.ts +157 -0
- package/dist/src/types.js +37 -0
- package/dist/src/typescript-build-evidence.d.ts +2 -0
- package/dist/src/typescript-build-evidence.js +86 -0
- package/dist/src/typescript-build-runner.d.ts +1 -0
- package/dist/src/typescript-build-runner.js +132 -0
- package/dist/src/typescript-build.d.ts +2 -0
- package/dist/src/typescript-build.js +41 -0
- package/dist/src/typescript.d.ts +2 -0
- package/dist/src/typescript.js +54 -0
- package/dist/src/validation-task-worker.d.ts +1 -0
- package/dist/src/validation-task-worker.js +205 -0
- package/dist/src/validation-tasks-protocol.d.ts +69 -0
- package/dist/src/validation-tasks-protocol.js +57 -0
- package/dist/src/validation-tasks.d.ts +11 -0
- package/dist/src/validation-tasks.js +144 -0
- package/dist/src/vitest-evidence.d.ts +2 -0
- package/dist/src/vitest-evidence.js +112 -0
- package/dist/src/vitest-runner.d.ts +1 -0
- package/dist/src/vitest-runner.js +48 -0
- package/dist/src/vitest.d.ts +2 -0
- package/dist/src/vitest.js +36 -0
- package/dist/src/vue-router-capture.d.ts +42 -0
- package/dist/src/vue-router-capture.js +87 -0
- package/dist/src/vue-router-evidence.d.ts +2 -0
- package/dist/src/vue-router-evidence.js +126 -0
- package/dist/src/vue-router-protocol.d.ts +63 -0
- package/dist/src/vue-router-protocol.js +44 -0
- package/dist/src/vue-router-runner.d.ts +1 -0
- package/dist/src/vue-router-runner.js +88 -0
- package/dist/src/vue-router.d.ts +23 -0
- package/dist/src/vue-router.js +108 -0
- package/dist/src/vue-tsc-runner.d.ts +1 -0
- package/dist/src/vue-tsc-runner.js +24 -0
- package/dist/src/workspace.d.ts +7 -0
- package/dist/src/workspace.js +53 -0
- package/docs/ACCEPTANCE.md +56 -0
- package/docs/ACTIONLINT.md +112 -0
- package/docs/ARCHITECTURE-POLICY.md +82 -0
- package/docs/ARCHITECTURE.md +122 -0
- package/docs/CLANG.md +113 -0
- package/docs/CLIENTS.md +109 -0
- package/docs/CONTRACTS.md +73 -0
- package/docs/DEPENDENCIES.md +42 -0
- package/docs/DJANGO.md +70 -0
- package/docs/DOTNET.md +114 -0
- package/docs/ENVIRONMENTS.md +52 -0
- package/docs/ESLINT.md +68 -0
- package/docs/EVALUATION.md +124 -0
- package/docs/EXECUTION.md +250 -0
- package/docs/EXTERNAL-ADAPTERS.md +170 -0
- package/docs/EXTERNAL-EVALUATION.md +155 -0
- package/docs/EXTERNAL-RUFF-EVALUATION.md +85 -0
- package/docs/FASTAPI.md +73 -0
- package/docs/FINDING-POLICY.md +67 -0
- package/docs/GO-RACE.md +19 -0
- package/docs/GO-SCOPE.md +63 -0
- package/docs/GOLANGCI-LINT.md +64 -0
- package/docs/GUIDANCE.md +46 -0
- package/docs/IMPACT-MEASUREMENT.md +97 -0
- package/docs/INSTALLATION.md +102 -0
- package/docs/JAVA.md +79 -0
- package/docs/JEST.md +36 -0
- package/docs/JUNIT.md +31 -0
- package/docs/LANGUAGES.md +113 -0
- package/docs/LARAVEL.md +111 -0
- package/docs/MCP-COMPATIBILITY.md +68 -0
- package/docs/MUTATIONS.md +93 -0
- package/docs/MYPY.md +37 -0
- package/docs/NATIVE-CI.md +96 -0
- package/docs/NUXT.md +123 -0
- package/docs/PACK-DISTRIBUTION.md +98 -0
- package/docs/PERFORMANCE.md +71 -0
- package/docs/PEST.md +36 -0
- package/docs/PHPSTAN.md +48 -0
- package/docs/PHPUNIT.md +32 -0
- package/docs/PINT.md +41 -0
- package/docs/PLAN.md +265 -0
- package/docs/PLAYWRIGHT.md +73 -0
- package/docs/POLICY-PACKS.md +106 -0
- package/docs/PRIOR-WORKFLOW-EVALUATION.md +116 -0
- package/docs/PUBLICATION.md +28 -0
- package/docs/PYTEST.md +51 -0
- package/docs/RELEASE.md +115 -0
- package/docs/RENAMING.md +55 -0
- package/docs/REVIEW-EXCHANGE.md +136 -0
- package/docs/RUBY.md +50 -0
- package/docs/RUFF.md +39 -0
- package/docs/RUNTIME-INVENTORY.md +56 -0
- package/docs/RUST.md +74 -0
- package/docs/SARIF.md +64 -0
- package/docs/STATUS.md +530 -0
- package/docs/SWIFT.md +48 -0
- package/docs/TASK-STORAGE.md +141 -0
- package/docs/TOOL-IDENTITY.md +30 -0
- package/docs/TYPESCRIPT-BUILD.md +55 -0
- package/docs/VALIDATION-TASKS.md +119 -0
- package/docs/VITEST.md +36 -0
- package/docs/VUE-ROUTER.md +130 -0
- package/docs/VUE-TSC.md +26 -0
- package/docs/WORKSPACES.md +81 -0
- package/docs/licenses/nodable-entities-3.0.0.txt +21 -0
- package/docs/measurements/client-claude-before-schema-fix-darwin-arm64-node26.json +60 -0
- package/docs/measurements/client-claude-darwin-arm64-node26.json +55 -0
- package/docs/measurements/client-codex-darwin-arm64-node26.json +175 -0
- package/docs/measurements/evaluation-corpus-repo-verifier.json +332 -0
- package/docs/measurements/evaluation-darwin-arm64-node26.json +1236 -0
- package/docs/measurements/evaluation-linux-arm64-node22.json +1236 -0
- package/docs/measurements/external-eslint-darwin-arm64-node26.json +11866 -0
- package/docs/measurements/external-eslint-linux-arm64-node22.json +11866 -0
- package/docs/measurements/external-eslint-preservation.json +1527 -0
- package/docs/measurements/external-ruff-darwin-arm64-node26.json +1031 -0
- package/docs/measurements/external-ruff-linux-arm64-node22.json +1031 -0
- package/docs/measurements/hosted-ci-52ba415.json +1005 -0
- package/docs/measurements/impact-darwin-arm64-node26.json +6685 -0
- package/docs/measurements/impact-linux-arm64-node22.json +6690 -0
- package/docs/measurements/performance-darwin-arm64-node26.json +845 -0
- package/docs/measurements/performance-linux-arm64-node22.json +845 -0
- package/docs/measurements/required-native-profiles.json +500 -0
- package/package.json +72 -0
- package/packs/actionlint.json +8 -0
- package/packs/cpp.json +8 -0
- package/packs/dotnet.json +8 -0
- package/packs/go.json +7 -0
- package/packs/java.json +8 -0
- package/packs/javascript-node.json +7 -0
- package/packs/nuxt.json +7 -0
- package/packs/php-pest.json +7 -0
- package/packs/php-phpunit.json +7 -0
- package/packs/python-pytest.json +7 -0
- package/packs/ruby.json +7 -0
- package/packs/rust.json +7 -0
- package/packs/swift.json +7 -0
- package/packs/vue-router.json +7 -0
- package/packs/vue.json +11 -0
- package/schemas/actionlint-config.schema.json +19 -0
- package/schemas/architecture-policy.schema.json +51 -0
- package/schemas/architecture-report.schema.json +123 -0
- package/schemas/architecture-summary.schema.json +82 -0
- package/schemas/clang-database.schema.json +23 -0
- package/schemas/config.schema.json +69 -0
- package/schemas/contract-bundle.schema.json +78 -0
- package/schemas/contract-report.schema.json +114 -0
- package/schemas/contract-summary.schema.json +72 -0
- package/schemas/dependency-graph.schema.json +65 -0
- package/schemas/django-config.schema.json +16 -0
- package/schemas/dotnet-config.schema.json +60 -0
- package/schemas/external-manifest.schema.json +97 -0
- package/schemas/external-reference.schema.json +10 -0
- package/schemas/external-request.schema.json +56 -0
- package/schemas/external-result.schema.json +111 -0
- package/schemas/fastapi-config.schema.json +27 -0
- package/schemas/finding-baseline.schema.json +92 -0
- package/schemas/finding-comparison-summary.schema.json +95 -0
- package/schemas/finding-comparison.schema.json +121 -0
- package/schemas/guidance-context.schema.json +34 -0
- package/schemas/guidance-report.schema.json +176 -0
- package/schemas/guidance-summary.schema.json +68 -0
- package/schemas/java-config.schema.json +24 -0
- package/schemas/junit.schema.json +69 -0
- package/schemas/laravel-config.schema.json +11 -0
- package/schemas/mutation-recipe.schema.json +31 -0
- package/schemas/mutation-report.schema.json +238 -0
- package/schemas/mutation-summary.schema.json +98 -0
- package/schemas/nuxt-config.schema.json +51 -0
- package/schemas/plan-summary.schema.json +63 -0
- package/schemas/plan.schema.json +244 -0
- package/schemas/policy-pack.schema.json +41 -0
- package/schemas/report-summary.schema.json +100 -0
- package/schemas/report.schema.json +463 -0
- package/schemas/review-assessment.schema.json +133 -0
- package/schemas/review-context-summary.schema.json +31 -0
- package/schemas/review-context.schema.json +254 -0
- package/schemas/review-receipt-summary.schema.json +104 -0
- package/schemas/review-receipt.schema.json +271 -0
- package/schemas/review-selection.schema.json +30 -0
- package/schemas/runtime-comparison-summary.schema.json +68 -0
- package/schemas/runtime-comparison.schema.json +127 -0
- package/schemas/runtime-inventory.schema.json +99 -0
- package/schemas/vue-router-config.schema.json +67 -0
- package/server.json +47 -0
package/docs/STATUS.md
ADDED
|
@@ -0,0 +1,530 @@
|
|
|
1
|
+
# Implementation status
|
|
2
|
+
|
|
3
|
+
This is an experimental foundation with public source at
|
|
4
|
+
[stsepelin/checktrail](https://github.com/stsepelin/checktrail).
|
|
5
|
+
Check the [installation guide](INSTALLATION.md) for package availability and setup.
|
|
6
|
+
All 13 hosted jobs passed at `52ba415`; the exact run and earlier cache/path
|
|
7
|
+
failures are recorded in `NATIVE-CI.md`. The `0.1.0-alpha.1` preview changes
|
|
8
|
+
release metadata and documentation; its publication is a separate gate.
|
|
9
|
+
|
|
10
|
+
## Implemented
|
|
11
|
+
|
|
12
|
+
- Exact required-test accounting across prepared CI language profiles and native
|
|
13
|
+
container helpers, including dedicated Ruby/Swift jobs. Skipped, missing,
|
|
14
|
+
duplicate, TODO or failing cases cannot satisfy these profiles. Hosted profiles
|
|
15
|
+
passed at `52ba415`; see `NATIVE-CI.md` for the distinction from optional local tests.
|
|
16
|
+
|
|
17
|
+
- External Ruff integration evaluation against pinned upstream Python fixtures and
|
|
18
|
+
snapshots, with native/verifier location comparisons on macOS/Linux and explicit
|
|
19
|
+
incomplete/excluded accounting. See `EXTERNAL-RUFF-EVALUATION.md` for scope.
|
|
20
|
+
|
|
21
|
+
- Standard JSON Schema patterns for guidance URLs and exported Vue/Nuxt paths,
|
|
22
|
+
strict compilation of published schemas, and regression checks for URL/path
|
|
23
|
+
prefixes and request boundaries. The original external-evaluation runtime is
|
|
24
|
+
preserved separately; its holdout evidence is not relabeled as this revision.
|
|
25
|
+
|
|
26
|
+
- Fresh offline package verification through actual Claude Code health/discovery
|
|
27
|
+
and Codex app-server direct MCP calls, including native passing/failing/incomplete
|
|
28
|
+
outcomes. Versioned profiles and limitations are in `CLIENTS.md`.
|
|
29
|
+
|
|
30
|
+
- External ESLint integration evaluation against independently authored synthetic
|
|
31
|
+
upstream cases, a frozen verifier, exact diagnostic accounting and paired native
|
|
32
|
+
comparisons on macOS/Linux. See `EXTERNAL-EVALUATION.md` for results and limits.
|
|
33
|
+
|
|
34
|
+
- Optional durable library worker using the shared validation engine, startup-only
|
|
35
|
+
permissions, polling, cancellation and parent-disconnect cleanup. Native
|
|
36
|
+
macOS/Linux and offline installed-package checks are in `VALIDATION-TASKS.md`;
|
|
37
|
+
standard MCP Tasks is still not advertised.
|
|
38
|
+
|
|
39
|
+
- Optional library-only local task storage with bounded projected results, atomic
|
|
40
|
+
transitions, exclusive ownership and process-crash recovery. CLI/MCP integration
|
|
41
|
+
and standard Tasks remain pending; see `TASK-STORAGE.md`.
|
|
42
|
+
|
|
43
|
+
- CLI and reusable engine: inspect, plan, run, adapter inventory.
|
|
44
|
+
- Recursive project discovery across eleven ecosystem families, including
|
|
45
|
+
polyglot roots and nested project boundaries.
|
|
46
|
+
- Registered execution checks for native Node tests, Python unittest, Go formatting,
|
|
47
|
+
vet and tests, and PHP syntax. Python runner selection is explicit; Node default
|
|
48
|
+
selection requires the exact `node --test` script. Explicit TypeScript checking
|
|
49
|
+
uses a compiler installed within the root and verifies compiler file inclusion.
|
|
50
|
+
- Explicit ESLint validation with per-file configuration/rule evidence, exact
|
|
51
|
+
path accounting, native diagnostic counts and cache-preserving execution.
|
|
52
|
+
- Explicit Vitest execution with per-file/per-assertion evidence, disabled
|
|
53
|
+
automatic dependency installation, and guards against focused tests, snapshot
|
|
54
|
+
updates and unhandled-error bypasses.
|
|
55
|
+
- Explicit Playwright native test/project evidence, snapshot and focus controls,
|
|
56
|
+
flaky-test failure and prepared Chromium browser assertions; see `PLAYWRIGHT.md`.
|
|
57
|
+
- Explicit Jest execution with native file/assertion counters, collection-only
|
|
58
|
+
rejection, disabled snapshot updates and conservative skipped-test handling.
|
|
59
|
+
- Explicit Vue SFC/TypeScript checks with file inclusion accounting and rejection
|
|
60
|
+
of template-codegen disabling, including inherited configuration.
|
|
61
|
+
- Explicit pytest execution with native lifecycle events, collection/file
|
|
62
|
+
accounting and failure handling for fixtures and unexpected passes.
|
|
63
|
+
- Explicit Ruff validation with exact file accounting, conservative enabled-rule
|
|
64
|
+
evidence and disabled fixes/cache reuse.
|
|
65
|
+
- Explicit mypy validation with source/count evidence, module-level broad
|
|
66
|
+
suppression detection and a verified native options-API version gate.
|
|
67
|
+
- Tool identity evidence in detailed plans/reports, using bounded native version
|
|
68
|
+
probes and labeled package metadata; unknown identities prevent a passing check.
|
|
69
|
+
- Constrained configured golangci-lint profile with native JSON, source accounting
|
|
70
|
+
and suppression guards; see `GOLANGCI-LINT.md`.
|
|
71
|
+
- Go native package/file accounting, per-package test participation and explicit
|
|
72
|
+
Staticcheck analysis with surfaced suppressions. See `GO-SCOPE.md`.
|
|
73
|
+
- Explicit Go race tests, with a native race diagnostic regression and an atomic
|
|
74
|
+
update counterpart that asserts the combined result.
|
|
75
|
+
- Explicit PHPStan checking with per-file debug accounting, native JSON counters
|
|
76
|
+
and no result-cache reuse.
|
|
77
|
+
- Explicit workspace dependencies, Git base selection with transitive consumer
|
|
78
|
+
expansion, conservative full-plan fallback and post-run Git identity checks.
|
|
79
|
+
- Project-specific environment requirements and operator startup permissions;
|
|
80
|
+
values stay out of plans/command metadata. See `ENVIRONMENTS.md`.
|
|
81
|
+
- Normalized ESLint/Ruff/PHPStan diagnostics and SARIF 2.1.0 export with
|
|
82
|
+
incomplete/stale execution metadata; see `SARIF.md`.
|
|
83
|
+
- Explicit Pint test-mode execution with exact native file/fixer accounting and
|
|
84
|
+
version-gated PHAR integration; see `PINT.md`.
|
|
85
|
+
- Explicit Pest execution with fresh JUnit evidence, CI selection, disabled TIA
|
|
86
|
+
and snapshot-creation rejection; see `PEST.md`.
|
|
87
|
+
- Explicit PHPUnit execution with streamed JUnit evidence and file/assertion
|
|
88
|
+
accounting; standalone CLI/library JUnit imports carry distinct provenance.
|
|
89
|
+
- Strict declarative config, JSON schemas for plans/reports and summary projections.
|
|
90
|
+
- Operator-controlled execution trust and output detail; no tool-argument elevation.
|
|
91
|
+
- Process time/output limits, POSIX group cancellation, narrow environment
|
|
92
|
+
inheritance, source fingerprints and post-run invalidation.
|
|
93
|
+
- Current MCP stdio serving through the official v2 SDK, with both modern and
|
|
94
|
+
legacy negotiation integration tests, schema-validated tools and bounded in-memory reports.
|
|
95
|
+
- MCP request cancellation, concurrent-run rejection and worker cleanup on stdin
|
|
96
|
+
EOF, SIGINT and SIGTERM, exercised with real processes.
|
|
97
|
+
- Original synthetic examples, contribution/security guidance, MIT license,
|
|
98
|
+
package allowlist and CI definition with pinned action commits.
|
|
99
|
+
|
|
100
|
+
## Optional advisory review exchange
|
|
101
|
+
|
|
102
|
+
Selected-source contexts and imported human/model assessments are available through
|
|
103
|
+
library, CLI and MCP. Exact file bytes, context digests, current source, quotations
|
|
104
|
+
and declared file accounting are checked. Source and assessment prose require
|
|
105
|
+
operator-enabled review disclosure; model claims and token/cost metadata remain
|
|
106
|
+
unverified declarations and never affect native validation.
|
|
107
|
+
|
|
108
|
+
Synthetic regression cases passed on macOS arm64 Node 26.8.1 and Linux arm64
|
|
109
|
+
Node 22.23.2. Fresh offline installation passed library/CLI/MCP calls with container
|
|
110
|
+
networking disabled and read-only source mounts. Guard mutations reproduced
|
|
111
|
+
forged-source freshness and ungranted disclosure failures, then passed after
|
|
112
|
+
restoration. No model inference or review-quality improvement is claimed. See
|
|
113
|
+
`REVIEW-EXCHANGE.md`; independent M5 evaluation and durable Tasks remain pending.
|
|
114
|
+
|
|
115
|
+
## Nuxt SSR testing assembly
|
|
116
|
+
|
|
117
|
+
The opt-in Nuxt 4.5.2 / Nitro 2.13.4 profile builds a fresh testing assembly and
|
|
118
|
+
observes the actual router after in-process SSR requests complete. Native cases
|
|
119
|
+
passed on macOS arm64 Node 26.8.1 and Linux arm64 Node 22.23.2. Fresh offline
|
|
120
|
+
installation passed library/CLI/MCP verification with networking disabled and a
|
|
121
|
+
read-only public fixture, including a broken route-name contract. A reproduced
|
|
122
|
+
lifecycle regression now accounts for later awaited render hooks; cancellation
|
|
123
|
+
was tested against an observed live startup and verified temporary-directory
|
|
124
|
+
removal. The profile covers selected SSR requests, not browser hydration, every
|
|
125
|
+
route parameter or production equivalence. See `NUXT.md` for reproduction and limits.
|
|
126
|
+
The hosted Nuxt job passed at `52ba415`; see `NATIVE-CI.md`.
|
|
127
|
+
|
|
128
|
+
## Vue Router testing assembly
|
|
129
|
+
|
|
130
|
+
The opt-in native Vue Router 5.3.1 / Vue 3.5.43 profile passed on macOS arm64
|
|
131
|
+
Node 26.8.1 and Linux arm64 Node 22.23.2. It checks declared native resolution
|
|
132
|
+
chains and requires every final route record to participate in a probe. A fresh
|
|
133
|
+
offline package install passed library/CLI/MCP checks with the public synthetic
|
|
134
|
+
example, including a deliberately broken route contract. This does not establish
|
|
135
|
+
production assembly equivalence, navigation/guard behavior or Nuxt support. See
|
|
136
|
+
`VUE-ROUTER.md` for reproduction and projection limits.
|
|
137
|
+
|
|
138
|
+
## Impact measurement
|
|
139
|
+
|
|
140
|
+
The paired impact harness runs full and Git-selected native Node checks on identical
|
|
141
|
+
source/policy snapshots, verifies named failing consumer assertions and records raw
|
|
142
|
+
execution cost. It includes a deliberately misdeclared dependency graph whose
|
|
143
|
+
selected pass omits failures found by the full run. See `IMPACT-MEASUREMENT.md` for
|
|
144
|
+
macOS/Linux observations and limits; this is not independent held-out evaluation or
|
|
145
|
+
a general speedup/graph-completeness claim.
|
|
146
|
+
|
|
147
|
+
## Release preparation
|
|
148
|
+
|
|
149
|
+
`server.json` and npm `mcpName` describe the `0.1.0-alpha.1` preview.
|
|
150
|
+
The metadata passed the pinned official registry schema; a native SDK-client test
|
|
151
|
+
starts its command and verifies execution remains disabled. This does not establish
|
|
152
|
+
registry acceptance or npm publication. Hosted source evidence is recorded
|
|
153
|
+
separately in `NATIVE-CI.md`. See `RELEASE.md`.
|
|
154
|
+
|
|
155
|
+
## Pinned pack distribution
|
|
156
|
+
|
|
157
|
+
An explicit `fetch-pack` CLI/library operation retrieves bounded data-only policy
|
|
158
|
+
JSON over verified HTTPS, checks its digest/schema and publishes a new local file
|
|
159
|
+
without overwriting existing files. Local HTTPS regression cases exercise complete
|
|
160
|
+
transfers, failure paths, cancellation, privacy and simultaneous publication. These
|
|
161
|
+
cases passed on macOS Node 26 and Linux arm64 Node 22, including installed-package
|
|
162
|
+
CLI/library calls in a container with external networking disabled. No MCP
|
|
163
|
+
download tool or automatic network resolution was added. See `PACK-DISTRIBUTION.md`.
|
|
164
|
+
|
|
165
|
+
## External executable adapters
|
|
166
|
+
|
|
167
|
+
The local pinned-bundle protocol is implemented across library, CLI and MCP
|
|
168
|
+
startup configuration. Node, Python and compiled Go fixtures ran on macOS; Linux
|
|
169
|
+
fixtures additionally exercised PHP. The Linux verification used Node 22.23.2,
|
|
170
|
+
Python 3.12.13, Go 1.26.5 and PHP 8.5.6 with networking disabled. Fresh offline
|
|
171
|
+
package installation passed through the library, CLI and MCP using the public
|
|
172
|
+
Node example. These runs verify the protocol and fixtures, not arbitrary plugins.
|
|
173
|
+
See `EXTERNAL-ADAPTERS.md` for reproducible commands and trust limitations.
|
|
174
|
+
The hosted job passed native and installed-package checks at `52ba415`;
|
|
175
|
+
see `NATIVE-CI.md`.
|
|
176
|
+
|
|
177
|
+
## Verification and boundaries
|
|
178
|
+
|
|
179
|
+
The foundation suite has been run successfully on Node 22, 24 and 26 on macOS.
|
|
180
|
+
The current host suite explicitly skips native PHP and Python tools absent from
|
|
181
|
+
the host; separate container evidence is described below. `npm run check` (type checking, lint and tests)
|
|
182
|
+
and `npm run format:check` pass. A built npm tarball was installed into a fresh
|
|
183
|
+
temporary consumer; its CLI version and JavaScript validation smoke checks passed.
|
|
184
|
+
Packed contents were inspected against the package allowlist. Runtime dependency
|
|
185
|
+
metadata for the installed MCP server/core packages and Zod declares MIT licenses.
|
|
186
|
+
The expanded lifecycle, evidence and TypeScript tests also pass on Node 22 and 24.
|
|
187
|
+
A fresh offline tarball installation verified the public library import, packaged
|
|
188
|
+
TypeScript validation and CLI version with production dependencies only (plus the
|
|
189
|
+
consumer's separately installed TypeScript compiler).
|
|
190
|
+
|
|
191
|
+
Native Node, Python and Go execution has been exercised on macOS. PHP is not on
|
|
192
|
+
the host PATH, so the default host suite explicitly skips it. The same PHP adapter
|
|
193
|
+
integration test passed against PHP 8.4.23 in an already-installed official Linux
|
|
194
|
+
container with networking disabled and a read-only synthetic project mount. It
|
|
195
|
+
accepted valid PHP and rejected malformed PHP. `node scripts/verify-php-container.mjs`
|
|
196
|
+
reproduces that separate check after building; it requires the local `php:8.4-cli`
|
|
197
|
+
image and never pulls an image. The verifier itself does not start containers.
|
|
198
|
+
|
|
199
|
+
The automated suite checks CLI exit behavior, SDK wire calls, schema drift,
|
|
200
|
+
execution trust, literal arguments, environment filtering, path escape, nested
|
|
201
|
+
discovery, missing tools, timeout/cancellation, output limits and changed source.
|
|
202
|
+
Parser fixtures include zero tests, all-skipped tests, inconsistent counts,
|
|
203
|
+
duplicate summaries, malformed output and unfinished Go test/package streams.
|
|
204
|
+
Node's implicit passing result for an empty file is explicitly rejected using
|
|
205
|
+
file-level summary events.
|
|
206
|
+
|
|
207
|
+
The CI definition targets Node 22/24/26 on Linux and Node 24 on macOS, with Python,
|
|
208
|
+
Go and PHP provisioned and preflighted. The full matrix passed at `52ba415`;
|
|
209
|
+
see `NATIVE-CI.md`. Windows process execution is explicitly unsupported.
|
|
210
|
+
|
|
211
|
+
The SDK package version alone did not establish modern protocol serving. Tests
|
|
212
|
+
pinning 2026-07-28 initially rejected the legacy-only connection entry point. The
|
|
213
|
+
implementation now uses the SDK's `serveStdio` factory and the pinned-version
|
|
214
|
+
tests pass. The named Claude Code and Codex application-client profiles now have
|
|
215
|
+
separate fresh-install evidence in `CLIENTS.md`; other application profiles remain
|
|
216
|
+
unverified.
|
|
217
|
+
|
|
218
|
+
TypeScript integration exercises version 6.0.3: valid source, a real TS2322 error,
|
|
219
|
+
`noCheck` bypass prevention, excluded source with a zero exit code, paths containing
|
|
220
|
+
spaces, a root-hoisted compiler, no emitted/incremental files, missing tools and
|
|
221
|
+
an escaping dependency symlink. A missing file-list entry is incomplete. A separate `javascript.typescript-build` adapter now validates project references
|
|
222
|
+
with fresh in-memory declaration/build outputs; see `TYPESCRIPT-BUILD.md`.
|
|
223
|
+
|
|
224
|
+
ESLint 10.10.0 integration exercises synthetic JavaScript errors, warnings and
|
|
225
|
+
syntax failures; ignored/unconfigured files; disabled rules; broken configuration;
|
|
226
|
+
hoisted tools; literal filenames; and preservation of an existing lint cache.
|
|
227
|
+
CLI and MCP return equivalent check results for passed, failed and incomplete
|
|
228
|
+
cases while keeping diagnostics out of summaries. Malformed evidence and duplicate
|
|
229
|
+
or missing paths cannot produce a passing check. See `ESLINT.md` for support limits.
|
|
230
|
+
The ESLint tests and shared local-tool resolution regression tests pass on Node
|
|
231
|
+
22, 24 and 26 on macOS. A fresh offline tarball installation also passed ESLint
|
|
232
|
+
validation through both the exported library and installed CLI, using a separately
|
|
233
|
+
provisioned consumer ESLint installation.
|
|
234
|
+
|
|
235
|
+
Vitest 5.0.1 / Vite 8.3.0 integration verifies positive assertion counts, failure
|
|
236
|
+
counts, skipped/todo tests, omitted files, snapshot preservation, focused-test
|
|
237
|
+
rejection, unhandled rejections and missing environment dependencies. Structured
|
|
238
|
+
parser tests reject mismatched totals, duplicate/unexpected files and nonterminal
|
|
239
|
+
assertions. Configuration cannot make a missing dependency trigger installation.
|
|
240
|
+
The Vitest integration and parser tests pass on Node 22, 24 and 26 on macOS.
|
|
241
|
+
See `VITEST.md` for scope and compatibility limits.
|
|
242
|
+
|
|
243
|
+
Jest 30.5.2 integration verifies passing and failing assertions, files under
|
|
244
|
+
`__tests__`, import failures, empty files, intentional skips, focus omissions,
|
|
245
|
+
config exclusions and snapshot preservation. Collection-only configuration and
|
|
246
|
+
result processors cannot turn unexecuted tests into passing evidence. Pending
|
|
247
|
+
tests make the result incomplete; see `JEST.md` for this conservative boundary.
|
|
248
|
+
|
|
249
|
+
The [MCP compatibility record](MCP-COMPATIBILITY.md) distinguishes ordinary async
|
|
250
|
+
execution from the unimplemented durable Tasks extension. The optional routing
|
|
251
|
+
probe reproduces SDK 2.0.0 rejecting modern `tasks/get` and `tasks/cancel` with
|
|
252
|
+
`-32601` before registered handlers, while accepting `tasks/update`. The server
|
|
253
|
+
does not advertise this extension.
|
|
254
|
+
|
|
255
|
+
Vue integration exercises vue-tsc 3.3.11, Vue 3.5.43 and TypeScript 6.0.3 against
|
|
256
|
+
valid SFCs, script and template type errors, excluded source, inherited template
|
|
257
|
+
check disabling and no-emission checks. See `VUE-TSC.md` for limits.
|
|
258
|
+
|
|
259
|
+
Pytest 9.1.1 / Python 3.12.13 passed the native integration cases in a prepared
|
|
260
|
+
Linux container with no network and read-only synthetic source. The host has no
|
|
261
|
+
pytest and explicitly skips that native case. Parser/planning tests still run.
|
|
262
|
+
See `PYTEST.md` for the event contract and reproduction steps.
|
|
263
|
+
|
|
264
|
+
Ruff 0.16.8 passed native diagnostics, exclusions, disabled rules, per-file
|
|
265
|
+
ignore and no-fix/cache-preservation cases in the prepared Linux container. The
|
|
266
|
+
host lacks Ruff and skips that native case explicitly. See `RUFF.md` for the
|
|
267
|
+
conservative per-file-ignore accounting and text-format compatibility limits.
|
|
268
|
+
|
|
269
|
+
Mypy 2.3.1 / Python 3.12.13 passed native assignment, broad suppression, missing
|
|
270
|
+
import, unused-ignore and cache/no-install cases in the prepared Linux container.
|
|
271
|
+
The default host native test skips because mypy is absent. Other mypy versions
|
|
272
|
+
are explicitly unavailable until the native options API is verified; see `MYPY.md`.
|
|
273
|
+
|
|
274
|
+
The Jest, Vue, tool-identity and MCP regression tests also pass on Node 22.23.2
|
|
275
|
+
and 24.21.0 on macOS. A fresh offline npm tarball installation passed all eight
|
|
276
|
+
JavaScript check families through the public library import, installed CLI and
|
|
277
|
+
MCP stdio server with protocol 2026-07-28. `node scripts/smoke-package.mjs`
|
|
278
|
+
reproduces this against synthetic consumer projects and separately provisioned
|
|
279
|
+
local native tools; it validates the package file allowlist before installation.
|
|
280
|
+
|
|
281
|
+
Go 1.27.1 on macOS arm64 passed the race adapter regression: concurrent writes
|
|
282
|
+
failed with a native race report, while atomic updates passed with the exact
|
|
283
|
+
expected count. This does not cover unexecuted paths or all build tags.
|
|
284
|
+
|
|
285
|
+
PHPStan 2.2.14 / PHP 8.5.6 passed return-type, excluded-file and configuration-error
|
|
286
|
+
fixtures in the official Composer container with no network. The current
|
|
287
|
+
verification script creates synthetic fixtures inside Linux to avoid host bind-mount
|
|
288
|
+
visibility uncertainty observed when replacing fixtures between invocations.
|
|
289
|
+
The host skips this native test because PHP is absent. See `PHPSTAN.md` for the
|
|
290
|
+
locked development tool preparation and separate verification command.
|
|
291
|
+
|
|
292
|
+
PHPUnit 13.3.4 / PHP 8.5.6 passed assertion, exception, skip, empty, assertionless
|
|
293
|
+
and multiple-file cases in the isolated Composer container. JUnit parser/CLI
|
|
294
|
+
tests also cover malformed XML, entity declarations, nesting/size limits,
|
|
295
|
+
duplicate cases and aggregate counts. Imported reports are explicitly distinct
|
|
296
|
+
from live validation; see `PHPUNIT.md` and `JUNIT.md`.
|
|
297
|
+
|
|
298
|
+
Pest 5.2.1 and Pint 1.32.1 native regressions run in the same PHP 8.5.6 container
|
|
299
|
+
with Node 22.23.2. See `PEST.md` and `PINT.md` for evidence and limits. The fresh
|
|
300
|
+
offline package consumer also exercises JUnit through library and CLI exports.
|
|
301
|
+
|
|
302
|
+
Git 2.54.0 (Apple Git 157) on macOS exercised committed/index/working changes,
|
|
303
|
+
newline paths, renames, executable modes, linked worktrees, unresolved merges,
|
|
304
|
+
excluded tracked files and unsafe filter configuration. A changed producer selects
|
|
305
|
+
and fails its real synthetic consumer test; CLI and MCP return equivalent scope.
|
|
306
|
+
See `WORKSPACES.md` for bounds and fallback rules.
|
|
307
|
+
|
|
308
|
+
Playwright native tests also pass against real prepared Chromium: the correct DOM
|
|
309
|
+
assertion passes, its wrong-text counterpart fails, and an absent browser is
|
|
310
|
+
unavailable. A fresh offline package consumer passed Playwright alongside the
|
|
311
|
+
other JavaScript adapters through library, CLI and MCP. Targeted mutations of
|
|
312
|
+
focused-test rejection, snapshot-check protection and Git consumer expansion each
|
|
313
|
+
caused their named native regression tests to fail; original code was restored.
|
|
314
|
+
|
|
315
|
+
The Go scope, Staticcheck and TypeScript solution tests also pass on Node 24.21.0.
|
|
316
|
+
The fresh package smoke now includes the TypeScript solution adapter through
|
|
317
|
+
library, CLI and MCP, in addition to the earlier JavaScript families.
|
|
318
|
+
|
|
319
|
+
Exact finding reconciliation now covers baseline and exception ownership,
|
|
320
|
+
expiration, duplicate occurrence counts, stale entries and explicit expansion
|
|
321
|
+
ratchets. Native ESLint fixtures exercise partial repair while another issue
|
|
322
|
+
remains. CLI and MCP preserve the native failed outcome even when the separate
|
|
323
|
+
comparison passes; MCP tests also verify retained-report, path and output bounds.
|
|
324
|
+
See `FINDING-POLICY.md` for artifact freshness limits.
|
|
325
|
+
|
|
326
|
+
Runtime inventory comparison now handles exact assembly registrations,
|
|
327
|
+
attributes, multiplicity and order through CLI/library/MCP. Its synthetic tests
|
|
328
|
+
cover routes, listeners, middleware, schedules and bindings. Imported snapshots
|
|
329
|
+
are explicitly distinguished from verified native runtime collection; see
|
|
330
|
+
`RUNTIME-INVENTORY.md`.
|
|
331
|
+
|
|
332
|
+
Pinned local JSON packs and additive operator-selected overlays now compose
|
|
333
|
+
registered checks without changing trust or output settings. Native Node/ESLint
|
|
334
|
+
fixtures verify required-check preservation, missing environment permission,
|
|
335
|
+
MCP startup restrictions, content-integrity failures and hidden mid-run policy
|
|
336
|
+
changes. Public check profiles and their limits are documented in `POLICY-PACKS.md`.
|
|
337
|
+
|
|
338
|
+
Captured producer/consumer contract validation now uses strict JSON Schema
|
|
339
|
+
2020-12 with Ajv and format assertions, without coercion, default insertion or
|
|
340
|
+
field removal. Bounded workers isolate schema computation from MCP's event loop;
|
|
341
|
+
pathological-pattern, cancellation and shutdown tests verify lifecycle behavior.
|
|
342
|
+
A native synthetic producer demonstrates a string-to-integer contract break and
|
|
343
|
+
its repair. Artifact provenance and limitations are recorded in `CONTRACTS.md`.
|
|
344
|
+
The pinned Ajv and ajv-formats packages are now runtime dependencies; their versions
|
|
345
|
+
were unchanged from development use. Both declare MIT licenses.
|
|
346
|
+
|
|
347
|
+
The opt-in FastAPI route profile is verified with FastAPI 0.141.1, Starlette 1.6.0
|
|
348
|
+
and Python 3.12.13 in a network-disabled official Linux container. Native tests
|
|
349
|
+
cover framework defaults, exact duplicates, HTTP/WebSocket identity boundaries,
|
|
350
|
+
startup-added routes, cleanup failures and unsupported mounts. The collector emits
|
|
351
|
+
runtime artifacts for the supported flat projection; it does not infer routing
|
|
352
|
+
semantics or authorization. See `FASTAPI.md`.
|
|
353
|
+
|
|
354
|
+
The Django profile is verified against Django 6.1.1 on the same Python 3.12.13
|
|
355
|
+
Linux fixture runtime. It captures nested resolvers and setup-time registrations,
|
|
356
|
+
retains regex endpoint mode, and rejects unsupported route/converter shapes.
|
|
357
|
+
See `DJANGO.md` for the projection's limits. Framework profiles are loaded only
|
|
358
|
+
when selected, so an unused malformed profile cannot block another Python check.
|
|
359
|
+
|
|
360
|
+
The Laravel testing assembly profile is verified against Laravel 13.32.0 and PHP
|
|
361
|
+
8.5.6 with Node 22.23.2 in a network-disabled Linux container. It captures five
|
|
362
|
+
declared projections, including wildcard listeners and container factory targets,
|
|
363
|
+
and initializes Artisan before collecting `withSchedule()` registrations. Native
|
|
364
|
+
cases compare changed/fixed assemblies and reject unsupported, empty or failed
|
|
365
|
+
capture. The tests read the public synthetic Laravel example files directly.
|
|
366
|
+
See `LARAVEL.md`; this does not establish application authorization correctness or
|
|
367
|
+
complete container/object-state equivalence.
|
|
368
|
+
|
|
369
|
+
Public FastAPI and Django examples are also exercised through their native Linux
|
|
370
|
+
collectors, including their deliberately duplicated-registration counterparts.
|
|
371
|
+
Reproduce with `node scripts/verify-framework-container.mjs`.
|
|
372
|
+
|
|
373
|
+
Explicit architecture policies are implemented through CLI/library/MCP, with
|
|
374
|
+
literal project/layer matching, cycle components, input limits and complete
|
|
375
|
+
project/edge accounting. Results are labeled imported dependency evidence; native
|
|
376
|
+
import-graph extraction is not implemented. See `ARCHITECTURE-POLICY.md`.
|
|
377
|
+
|
|
378
|
+
The public built-package integration fixture compiles a TypeScript producer, packs
|
|
379
|
+
and installs it offline with lifecycle scripts disabled, then checks the installed
|
|
380
|
+
consumer through TypeScript and Node tests. A mismatched declaration/runtime case
|
|
381
|
+
proves why both checks matter. Complete failed Node, unittest and Go test evidence
|
|
382
|
+
now retains counters alongside failure status; malformed/interrupted evidence
|
|
383
|
+
still cannot invent counts. Native regressions cover all three parser families.
|
|
384
|
+
|
|
385
|
+
Rust/Cargo 1.98.1 compilation is verified in the official Alpine Linux image with
|
|
386
|
+
Node 22.23.2, networking disabled and synthetic fixtures. Native dep-info accounts
|
|
387
|
+
for inventoried Rust files, including spaces and build-script source; missing
|
|
388
|
+
feature targets, unlinked files and missing test-mode compilation prevent pass.
|
|
389
|
+
This profile does not run tests or support multi-package workspaces. See `RUST.md`
|
|
390
|
+
and `node scripts/verify-rust-container.mjs`.
|
|
391
|
+
|
|
392
|
+
Ruby syntax checking is verified with MRI 4.0.7 in an isolated Alpine container and
|
|
393
|
+
MRI 2.6.10 on the available macOS host. The profile includes Ruby DSL manifests,
|
|
394
|
+
disables gems and preload flags, and requires native success evidence per file.
|
|
395
|
+
Sentinel fixtures verify top-level/BEGIN code is not evaluated by syntax checking.
|
|
396
|
+
This adds no Ruby test, gem-resolution or Rails coverage. See `RUBY.md`.
|
|
397
|
+
|
|
398
|
+
Swift grammar checking is verified with Apple Swift 6.4 on arm64 macOS. It parses
|
|
399
|
+
inventoried source and Package.swift without evaluating the manifest, records the
|
|
400
|
+
native compiler and driver evidence, and excludes generated .build contents. The
|
|
401
|
+
native fixture explicitly distinguishes valid syntax from incorrect types. See
|
|
402
|
+
`SWIFT.md`; SwiftPM builds, type checks, tests and Linux support remain unverified.
|
|
403
|
+
|
|
404
|
+
Advisory guidance is now available through CLI/library/MCP using exact public
|
|
405
|
+
check/topic triggers. It returns review questions and references, never automated
|
|
406
|
+
findings or a passing result. Targeted mutation experiments use a separate
|
|
407
|
+
advisory report and the shared validator in fresh temporary copies. The initial
|
|
408
|
+
profile supports dependency-free flat Node tests and distinguishes native assertion
|
|
409
|
+
failures from syntax/import/runtime errors, changed identities and incomplete
|
|
410
|
+
execution. See `GUIDANCE.md` and `MUTATIONS.md` for limits and evidence.
|
|
411
|
+
|
|
412
|
+
The advisory guidance/mutation regression cases pass on Node 22.23.2, 24.21.0
|
|
413
|
+
and 26.8.1 on macOS. A fresh offline tarball install exercises their public library,
|
|
414
|
+
CLI and MCP surfaces, alongside the existing package smoke checks. Mutation MCP
|
|
415
|
+
cancellation keeps planning responsive and removes the temporary copy. Removing
|
|
416
|
+
the native assertion classification guard made the named runtime-error regression
|
|
417
|
+
fail; the original build was restored after the experiment.
|
|
418
|
+
|
|
419
|
+
Production npm dependency metadata and notice hashes now reconcile with the
|
|
420
|
+
installed tree and lockfile using `scripts/audit-dependencies.mjs`. A missing
|
|
421
|
+
bundled notice is supplemented from its pinned upstream commit, with the source
|
|
422
|
+
file comparison and manifest-version discrepancy recorded in `DEPENDENCIES.md`.
|
|
423
|
+
Development tools, native binaries and images remain outside this audit.
|
|
424
|
+
|
|
425
|
+
The C/C++ profile is verified with Apple Clang 21.0.0 on arm64 macOS and Alpine
|
|
426
|
+
Clang 22.1.3 on arm64 Linux. It executes prepared compilation-database argument
|
|
427
|
+
arrays without a build system, reconciles native SARIF and dependency evidence,
|
|
428
|
+
and requires inventoried translation units and headers to be observed. Native
|
|
429
|
+
cases exercise relative `__FILE__` preservation, configuration variants, headers
|
|
430
|
+
with spaces, generated/symlinked inputs, compiler errors and missing tools.
|
|
431
|
+
See `CLANG.md`; linking, code generation and test execution are not covered.
|
|
432
|
+
A fresh offline package install also passes this profile through library, CLI and
|
|
433
|
+
MCP on the verified macOS compiler. Removing the source-coverage reconciliation
|
|
434
|
+
made the omitted-source native regression fail; the original build was restored.
|
|
435
|
+
The dedicated Clang container job passed in the first hosted run; see `NATIVE-CI.md`.
|
|
436
|
+
|
|
437
|
+
The Java classpath profile is verified with Temurin JDK 25.0.4+7 on arm64 Linux.
|
|
438
|
+
Native fixtures cover public records, a type-error/fix pair, release mismatches,
|
|
439
|
+
raw-type warnings, empty/package files, multiple top-level types, excluded source,
|
|
440
|
+
pinned binary dependencies, disabled annotation processors, hidden manifest
|
|
441
|
+
classpaths and source-bearing JAR rejection. Static application initialization
|
|
442
|
+
was not executed and no class outputs appeared in the project. The prepared
|
|
443
|
+
container runs with its network disabled.
|
|
444
|
+
|
|
445
|
+
Fresh offline package installation passed the Java public library, CLI and MCP
|
|
446
|
+
checks. Removing the declared-type analysis guard made the native missing-analysis
|
|
447
|
+
regression fail; the original implementation was restored and native verification
|
|
448
|
+
rerun. `scripts/verify-java-container.mjs` reproduces both native and packaged checks.
|
|
449
|
+
The hosted amd64 job passed at `52ba415`; macOS has no prepared JDK.
|
|
450
|
+
See `NATIVE-CI.md`.
|
|
451
|
+
This is Java compilation under explicit settings, not Maven/Gradle, Kotlin/Scala,
|
|
452
|
+
JPMS, application tests or annotation-processor support. See `JAVA.md`.
|
|
453
|
+
|
|
454
|
+
A synthetic performance harness measures fresh-process planning and validation,
|
|
455
|
+
verifies expected execution counts, and records raw timings and artifact digests.
|
|
456
|
+
The recorded macOS/Node 26 and Linux/Node 22 samples are documented in
|
|
457
|
+
`PERFORMANCE.md`. Engine CPU and peak memory exclude child processes; these are
|
|
458
|
+
initial workload measurements, not speed guarantees or detection-quality evidence.
|
|
459
|
+
|
|
460
|
+
The C# compilation profile is verified on arm64 Linux with .NET SDK 10.0.401,
|
|
461
|
+
Roslyn assembly version 5.9.0.0 and runtime/reference pack 10.0.12. Native cases
|
|
462
|
+
exercise records, partial types, empty files, language-version restrictions,
|
|
463
|
+
nullable warnings, explicit symbols, unsafe settings, friend-assembly identity,
|
|
464
|
+
missing generated source and compiler suppressions. A compiled synthetic
|
|
465
|
+
reference includes both a module initializer and an incremental generator;
|
|
466
|
+
validation reads its metadata without executing them. The initializer has an
|
|
467
|
+
explicit execution control proving its observable marker works.
|
|
468
|
+
|
|
469
|
+
The semantic-accounting guard mutation caused the missing-analysis regression to
|
|
470
|
+
fail. Removing the assembly-file guard produced a false pass using an unpinned
|
|
471
|
+
`.netmodule`; the regression caught it. Both guards were restored. Fresh offline
|
|
472
|
+
installation passed the C# library, CLI and MCP checks. Reproduce native and
|
|
473
|
+
packaged verification with `scripts/verify-dotnet-container.mjs`. The hosted
|
|
474
|
+
amd64 job passed at `52ba415`; see `DOTNET.md` for compilation limits and
|
|
475
|
+
unsupported build, language and test profiles.
|
|
476
|
+
|
|
477
|
+
## GitHub Actions workflow verification
|
|
478
|
+
|
|
479
|
+
The `infrastructure.actionlint` profile uses the official actionlint 1.7.12
|
|
480
|
+
release. Native macOS arm64 and Linux arm64 tests passed for workflow errors,
|
|
481
|
+
YAML failures, local action assets, reusable inputs, literal environment settings,
|
|
482
|
+
repository ignore bypass and per-file evidence accounting. A manual mutation
|
|
483
|
+
removing the native completion-count guard made an omitted completion record pass;
|
|
484
|
+
the accounting regression caught that false pass. The guard was restored.
|
|
485
|
+
|
|
486
|
+
The explicitly prepared Linux image verifies its downloaded release archive's
|
|
487
|
+
SHA-256 digest. Network-disabled runs with read-only repository and consumer
|
|
488
|
+
mounts passed native tests and a fresh offline-installed package's library, CLI
|
|
489
|
+
and MCP surfaces. The hosted amd64 job passed at `52ba415`; see `NATIVE-CI.md`.
|
|
490
|
+
See `ACTIONLINT.md` and `scripts/verify-actionlint-container.mjs` for reproduction and
|
|
491
|
+
profile limits. Other infrastructure tools remain unsupported.
|
|
492
|
+
|
|
493
|
+
## Development evaluation
|
|
494
|
+
|
|
495
|
+
A separate original corpus now measures Node assertion, TypeScript type-contract
|
|
496
|
+
and GitHub Actions workflow cases against the shared engine and direct native
|
|
497
|
+
commands. Reports preserve every case, expected diagnostic signals, incomplete
|
|
498
|
+
observations, source/tool/artifact identities and raw timings. macOS arm64/Node 26
|
|
499
|
+
and network-disabled Linux arm64/Node 22 observations agree on classifications.
|
|
500
|
+
See `EVALUATION.md` and `docs/measurements/evaluation-*.json` for the actual counts.
|
|
501
|
+
|
|
502
|
+
This is post-implementation development evidence, not independent held-out
|
|
503
|
+
research or comparison with a private prior workflow. The measured TypeScript
|
|
504
|
+
improvement comes from forcing analysis on when the fixture disables it; the
|
|
505
|
+
other differences concern execution completeness and declared profile limits.
|
|
506
|
+
No general review-quality improvement, production false-positive rate or model
|
|
507
|
+
performance claim follows from these samples.
|
|
508
|
+
|
|
509
|
+
## Next implementation work
|
|
510
|
+
|
|
511
|
+
1. Broaden runtime matrices and native PHP tooling.
|
|
512
|
+
2. Framework-specific scope and integration contracts.
|
|
513
|
+
3. Framework integration and additional verified linter profiles.
|
|
514
|
+
4. Additional ecosystem adapters and their native evidence.
|
|
515
|
+
5. Semantic framework rules and native runtime collectors. Public check profiles,
|
|
516
|
+
finding ratchets and local private policy overlays are implemented; existing
|
|
517
|
+
private instruction files have not been migrated.
|
|
518
|
+
6. Durable Tasks support after a compatible SDK passes the routing probe; the
|
|
519
|
+
lifecycle and persistence acceptance gates are in `MCP-COMPATIBILITY.md`.
|
|
520
|
+
|
|
521
|
+
Complete dependency/tool/environment fingerprints, automatically inferred workspace graphs,
|
|
522
|
+
remote/executable private plugins, native import-graph collection, remote serving, durable Tasks,
|
|
523
|
+
sandbox execution, automatic fixes and model-assisted review are not implemented.
|
|
524
|
+
The inventory intentionally does not read `.gitignore`; its fixed exclusions and
|
|
525
|
+
limits are documented in the README. Bundled adapter behavior is versioned with
|
|
526
|
+
the engine until adapters receive independent releases.
|
|
527
|
+
|
|
528
|
+
Tests and source fingerprints do not prove program correctness or secrecy against
|
|
529
|
+
malicious project code. The result means that the selected checks ran with the
|
|
530
|
+
reported evidence. It never means the entire repository has been reviewed.
|
package/docs/SWIFT.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Swift syntax profile
|
|
2
|
+
|
|
3
|
+
`swift.syntax` parses every inventoried `.swift` file, including `Package.swift`,
|
|
4
|
+
using installed `swiftc -frontend -parse -no-color-diagnostics`. It does not run
|
|
5
|
+
SwiftPM or evaluate the package manifest. The `.build` tree is excluded as generated
|
|
6
|
+
dependency/build output and remains visible in inventory exclusions.
|
|
7
|
+
|
|
8
|
+
This is grammar validation only. It does not type-check, resolve imports or package
|
|
9
|
+
dependencies, evaluate macros, link products, execute application code or run tests.
|
|
10
|
+
A syntactically valid `Int` initialized with a string can pass this profile; a native
|
|
11
|
+
regression test deliberately demonstrates that boundary. Active compilation
|
|
12
|
+
conditions follow the native parser's environment, not an all-platform matrix.
|
|
13
|
+
|
|
14
|
+
Planning only enumerates source. Running the compiler retains the operator trust
|
|
15
|
+
gate and the common literal-argument, process-tree cancellation, time/output and
|
|
16
|
+
source-freshness safeguards. Every planned file needs a zero exit and empty
|
|
17
|
+
stdout/stderr. Compiler errors fail; unexpected success output is incomplete.
|
|
18
|
+
Compiler identity is required. Apple Swift's separate driver-version stderr banner
|
|
19
|
+
is accepted only in its exact verified shape; arbitrary warnings are not ignored.
|
|
20
|
+
|
|
21
|
+
The native profile is verified with Apple Swift 6.4 on arm64 macOS, using the
|
|
22
|
+
available compiler build recorded in detailed version-probe output. Its version is
|
|
23
|
+
recorded as `6.4`, without inventing a patch component. Linux, SwiftPM build/test,
|
|
24
|
+
type checking and compiler plugins need separate execution evidence.
|
|
25
|
+
|
|
26
|
+
The public fixture is `examples/swift`:
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
node dist/src/cli.js run --root examples/swift --trust-project
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The native test copies those public files to a temporary workspace, verifies that
|
|
33
|
+
top-level file-writing code is not executed, checks that `.build` is not generated,
|
|
34
|
+
and exercises broken grammar, repaired syntax and the type-checking limitation.
|
|
35
|
+
No dependencies are installed. As with every tool invocation, an arbitrary compiler
|
|
36
|
+
wrapper still runs with the operator's privileges; this is not sandboxing.
|
|
37
|
+
|
|
38
|
+
References: installed `swiftc -frontend -help` and the
|
|
39
|
+
[official compiler option definitions](https://github.com/swiftlang/swift/blob/main/include/swift/Option/Options.td).
|
|
40
|
+
|
|
41
|
+
The dedicated macOS CI job prints the runner's Swift version and invokes
|
|
42
|
+
`node scripts/verify-required-native-tests.mjs swift`. The exact native regression
|
|
43
|
+
must execute and pass; a skipped or missing compiler test fails this job. The
|
|
44
|
+
runner also rejects TODOs, duplicate required names and other failures in the
|
|
45
|
+
selected test file. Local Apple Swift 6.4 execution passes this required-test
|
|
46
|
+
path. The hosted job passed at `52ba415`; see `NATIVE-CI.md`. The hosted runner's
|
|
47
|
+
compiler is not pinned, so that result does not establish support for other
|
|
48
|
+
compiler versions.
|