@zxyycom/vibe-check 0.0.1 → 0.0.2
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/README.md +47 -74
- package/dist/esm/cache/cache-json-by-key.mjs +189 -0
- package/dist/esm/cache/cache-json-by-key.mjs.map +1 -0
- package/dist/esm/check/check.mjs.map +1 -1
- package/dist/esm/check/finding-presentation.mjs +40 -0
- package/dist/esm/check/finding-presentation.mjs.map +1 -0
- package/dist/esm/check/inherited-collection.mjs +1 -1
- package/dist/esm/check/inherited-collection.mjs.map +1 -1
- package/dist/esm/check-settlement/fact-validation.mjs +17 -23
- package/dist/esm/check-settlement/fact-validation.mjs.map +1 -1
- package/dist/esm/check-settlement/outcome-normalization.mjs +9 -19
- package/dist/esm/check-settlement/outcome-normalization.mjs.map +1 -1
- package/dist/esm/check-settlement/reason-shape.mjs +12 -0
- package/dist/esm/check-settlement/reason-shape.mjs.map +1 -0
- package/dist/esm/check-settlement/record-store.mjs +14 -17
- package/dist/esm/check-settlement/record-store.mjs.map +1 -1
- package/dist/esm/check-settlement/session.mjs +8 -2
- package/dist/esm/check-settlement/session.mjs.map +1 -1
- package/dist/esm/data-boundary/closed-values.mjs +16 -0
- package/dist/esm/data-boundary/closed-values.mjs.map +1 -1
- package/dist/esm/data-boundary/value-shapes.mjs +9 -0
- package/dist/esm/data-boundary/value-shapes.mjs.map +1 -1
- package/dist/esm/index.mjs +9 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/learned-critical-path/duration-model/bounded-history.mjs +56 -0
- package/dist/esm/learned-critical-path/duration-model/bounded-history.mjs.map +1 -0
- package/dist/esm/learned-critical-path/duration-model/prediction.mjs +122 -0
- package/dist/esm/learned-critical-path/duration-model/prediction.mjs.map +1 -0
- package/dist/esm/learned-critical-path/duration-model/preparation.mjs +41 -0
- package/dist/esm/learned-critical-path/duration-model/preparation.mjs.map +1 -0
- package/dist/esm/learned-critical-path/duration-model/recording.mjs +109 -0
- package/dist/esm/learned-critical-path/duration-model/recording.mjs.map +1 -0
- package/dist/esm/learned-critical-path/duration-model/storage.mjs +187 -0
- package/dist/esm/learned-critical-path/duration-model/storage.mjs.map +1 -0
- package/dist/esm/learned-critical-path/selection-layers.mjs +28 -0
- package/dist/esm/learned-critical-path/selection-layers.mjs.map +1 -0
- package/dist/esm/learned-critical-path/static-decision.mjs +55 -0
- package/dist/esm/learned-critical-path/static-decision.mjs.map +1 -0
- package/dist/esm/learned-critical-path/strategy.mjs +179 -0
- package/dist/esm/learned-critical-path/strategy.mjs.map +1 -0
- package/dist/esm/machine-output/v4/atomic-publication.mjs +1 -15
- package/dist/esm/machine-output/v4/atomic-publication.mjs.map +1 -1
- package/dist/esm/package-checks/code-quality-findings/finding-waiver-authoring.mjs +40 -0
- package/dist/esm/package-checks/code-quality-findings/finding-waiver-authoring.mjs.map +1 -0
- package/dist/esm/package-checks/code-quality-findings/finding-waiver-evidence.mjs +48 -0
- package/dist/esm/package-checks/code-quality-findings/finding-waiver-evidence.mjs.map +1 -0
- package/dist/esm/package-checks/code-quality-findings/policy.mjs +20 -0
- package/dist/esm/package-checks/code-quality-findings/policy.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/area-policy.mjs +15 -7
- package/dist/esm/package-checks/duplicate-detection/area-policy.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/cache/identity.mjs +1 -1
- package/dist/esm/package-checks/duplicate-detection/cache/identity.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/default-check.mjs +1 -1
- package/dist/esm/package-checks/duplicate-detection/default-check.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/execution.mjs +44 -18
- package/dist/esm/package-checks/duplicate-detection/execution.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/finding-messages.mjs +59 -0
- package/dist/esm/package-checks/duplicate-detection/finding-messages.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/finding-waiver-identity.mjs +55 -0
- package/dist/esm/package-checks/duplicate-detection/finding-waiver-identity.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/availability.mjs +1 -1
- package/dist/esm/package-checks/duplicate-detection/jscpd/availability.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/jscpd/command-resolution.mjs +1 -1
- package/dist/esm/package-checks/duplicate-detection/jscpd/command-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/jscpd/json-report.mjs +15 -5
- package/dist/esm/package-checks/duplicate-detection/jscpd/json-report.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/jscpd/scanner.mjs +5 -4
- package/dist/esm/package-checks/duplicate-detection/jscpd/scanner.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/options-resolution.mjs +22 -47
- package/dist/esm/package-checks/duplicate-detection/options-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/options-validation.mjs +20 -25
- package/dist/esm/package-checks/duplicate-detection/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/options.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/records.mjs +27 -6
- package/dist/esm/package-checks/duplicate-detection/records.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/execution.mjs +10 -17
- package/dist/esm/package-checks/file-metrics/execution.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/finding-messages.mjs +22 -0
- package/dist/esm/package-checks/file-metrics/finding-messages.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/options-resolution.mjs +11 -43
- package/dist/esm/package-checks/file-metrics/options-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/options-validation.mjs +15 -25
- package/dist/esm/package-checks/file-metrics/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/records.mjs +2 -9
- package/dist/esm/package-checks/file-metrics/records.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/scc/availability.mjs +1 -1
- package/dist/esm/package-checks/file-metrics/scc/availability.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/scc/parser.mjs +4 -4
- package/dist/esm/package-checks/file-metrics/scc/parser.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/scc/scanner.mjs +2 -2
- package/dist/esm/package-checks/file-metrics/scc/scanner.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/analysis.mjs +56 -15
- package/dist/esm/package-checks/function-metrics/analysis.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/analyzer/analysis-context.mjs +550 -0
- package/dist/esm/package-checks/function-metrics/analyzer/analysis-context.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/analysis-model.mjs +332 -0
- package/dist/esm/package-checks/function-metrics/analyzer/analysis-model.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/contracts.mjs +7 -0
- package/dist/esm/package-checks/function-metrics/analyzer/contracts.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.mjs +24 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/lizardnd.mjs +113 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/lizardnd.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/protocol.mjs +180 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/protocol.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/registry.mjs +121 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/registry.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/pipeline.mjs +217 -0
- package/dist/esm/package-checks/function-metrics/analyzer/pipeline.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/port-facade.mjs +96 -0
- package/dist/esm/package-checks/function-metrics/analyzer/port-facade.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/reader-registry.mjs +76 -0
- package/dist/esm/package-checks/function-metrics/analyzer/reader-registry.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/csharp.mjs +88 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/csharp.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/erlang.mjs +466 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/erlang.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/fortran.mjs +289 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/fortran.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/gdscript.mjs +38 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/gdscript.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/go.mjs +44 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/go.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/java-body-states.mjs +113 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/java-body-states.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/java.mjs +247 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/java.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/javascript.mjs +16 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/javascript.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/kotlin.mjs +103 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/kotlin.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/lua.mjs +55 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/lua.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/objc.mjs +100 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/objc.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/perl.mjs +367 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/perl.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/php-states.mjs +260 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/php-states.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/php.mjs +53 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/php.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/plsql.mjs +306 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/plsql.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/python.mjs +402 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/python.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/r.mjs +214 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/r.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/ruby.mjs +75 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/ruby.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/rust.mjs +32 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/rust.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/scala.mjs +47 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/scala.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/solidity.mjs +22 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/solidity.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/st.mjs +142 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/st.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/swift.mjs +94 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/swift.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/tsx.mjs +149 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/tsx.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/ttcn.mjs +79 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/ttcn.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/typescript.mjs +606 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/typescript.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/vue.mjs +31 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/vue.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/zig.mjs +23 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/zig.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/clike.mjs +492 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/clike.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/code-reader.mjs +542 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/code-reader.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/golike.mjs +141 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/golike.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/js-style-regex.mjs +62 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/js-style-regex.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/rubylike.mjs +154 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/rubylike.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/script-language.mjs +36 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/script-language.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer-adapter.mjs +56 -0
- package/dist/esm/package-checks/function-metrics/analyzer-adapter.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker-contract.mjs +2 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker-contract.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker-port.mjs +108 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker-port.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker.mjs +24 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/constructor.mjs +2 -2
- package/dist/esm/package-checks/function-metrics/constructor.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/execution.mjs +51 -33
- package/dist/esm/package-checks/function-metrics/execution.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/finding-messages.mjs +75 -0
- package/dist/esm/package-checks/function-metrics/finding-messages.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/finding-waiver-identity.mjs +28 -0
- package/dist/esm/package-checks/function-metrics/finding-waiver-identity.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/measurement-model.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/measurement.mjs +161 -26
- package/dist/esm/package-checks/function-metrics/measurement.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/options-resolution.mjs +30 -63
- package/dist/esm/package-checks/function-metrics/options-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/options-validation.mjs +27 -32
- package/dist/esm/package-checks/function-metrics/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/options.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/records.mjs +31 -1
- package/dist/esm/package-checks/function-metrics/records.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/target-files.mjs +6 -67
- package/dist/esm/package-checks/function-metrics/target-files.mjs.map +1 -1
- package/dist/esm/package-checks/{file-metrics/scc → host-environment}/csv.mjs +1 -0
- package/dist/esm/package-checks/host-environment/csv.mjs.map +1 -0
- package/dist/esm/package-checks/host-environment/git.mjs +1 -1
- package/dist/esm/package-checks/host-environment/git.mjs.map +1 -1
- package/dist/esm/package-checks/host-environment/process.mjs +5 -0
- package/dist/esm/package-checks/host-environment/process.mjs.map +1 -0
- package/dist/esm/package-checks/json-schema-validation/final-data.mjs.map +1 -1
- package/dist/esm/package-checks/json-schema-validation/options-validation.mjs +15 -17
- package/dist/esm/package-checks/json-schema-validation/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/json-schema-validation/options.mjs.map +1 -1
- package/dist/esm/package-checks/json-validation/final-data.mjs.map +1 -1
- package/dist/esm/package-checks/json-validation/options-validation.mjs +4 -10
- package/dist/esm/package-checks/json-validation/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/maintenance-reminders/final-data.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/default-check.mjs +9 -3
- package/dist/esm/package-checks/markdown-link-validation/default-check.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/execution.mjs +27 -24
- package/dist/esm/package-checks/markdown-link-validation/execution.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/filesystem-probes.mjs +82 -53
- package/dist/esm/package-checks/markdown-link-validation/filesystem-probes.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/final-data.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/finding-messages.mjs +36 -0
- package/dist/esm/package-checks/markdown-link-validation/finding-messages.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/local-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/local-resolver.mjs +2 -2
- package/dist/esm/package-checks/markdown-link-validation/local-resolver.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/options-resolution.mjs +26 -4
- package/dist/esm/package-checks/markdown-link-validation/options-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/options-validation.mjs +24 -11
- package/dist/esm/package-checks/markdown-link-validation/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/options.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/parse-facts-cache-payload.mjs +185 -0
- package/dist/esm/package-checks/markdown-link-validation/parse-facts-cache-payload.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/parse-facts-cache.mjs +131 -0
- package/dist/esm/package-checks/markdown-link-validation/parse-facts-cache.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/resolver-engine.mjs +58 -57
- package/dist/esm/package-checks/markdown-link-validation/resolver-engine.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/source-reader.mjs +54 -0
- package/dist/esm/package-checks/markdown-link-validation/source-reader.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/unavailable-reasons.mjs +16 -0
- package/dist/esm/package-checks/markdown-link-validation/unavailable-reasons.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/collection.mjs +1 -1
- package/dist/esm/package-checks/project-files/collection.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/configuration.mjs +2 -10
- package/dist/esm/package-checks/project-files/configuration.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/gitlink-revision.mjs +1 -1
- package/dist/esm/package-checks/project-files/gitlink-revision.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/gitlink-worktree.mjs +1 -1
- package/dist/esm/package-checks/project-files/gitlink-worktree.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/public-collection.mjs +56 -0
- package/dist/esm/package-checks/project-files/public-collection.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/revision-worktree-files.mjs +1 -1
- package/dist/esm/package-checks/project-files/revision-worktree-files.mjs.map +1 -1
- package/dist/esm/package-checks/secret-detection/classification.mjs +15 -0
- package/dist/esm/package-checks/secret-detection/classification.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/default-check.mjs +39 -0
- package/dist/esm/package-checks/secret-detection/default-check.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/execution.mjs +172 -0
- package/dist/esm/package-checks/secret-detection/execution.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/final-data.mjs +33 -0
- package/dist/esm/package-checks/secret-detection/final-data.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/finding-waiver-identity.mjs +30 -0
- package/dist/esm/package-checks/secret-detection/finding-waiver-identity.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/input-preparation.mjs +153 -0
- package/dist/esm/package-checks/secret-detection/input-preparation.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/options-resolution.mjs +40 -0
- package/dist/esm/package-checks/secret-detection/options-resolution.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/options-validation.mjs +22 -0
- package/dist/esm/package-checks/secret-detection/options-validation.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/options.mjs +2 -0
- package/dist/esm/package-checks/secret-detection/options.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/records.mjs +31 -0
- package/dist/esm/package-checks/secret-detection/records.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/secretlint/adapter.mjs +85 -0
- package/dist/esm/package-checks/secret-detection/secretlint/adapter.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/authoring.mjs +12 -172
- package/dist/esm/project-definition/check-tree/authoring.mjs.map +1 -1
- package/dist/esm/project-definition/check-tree/check-fields-authoring.mjs +171 -0
- package/dist/esm/project-definition/check-tree/check-fields-authoring.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/collection-authoring.mjs +16 -0
- package/dist/esm/project-definition/check-tree/collection-authoring.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/materialization.mjs +9 -1
- package/dist/esm/project-definition/check-tree/materialization.mjs.map +1 -1
- package/dist/esm/project-definition/check-tree/resolution.mjs +45 -13
- package/dist/esm/project-definition/check-tree/resolution.mjs.map +1 -1
- package/dist/esm/project-definition/check-tree/scheduling-authoring.mjs +73 -0
- package/dist/esm/project-definition/check-tree/scheduling-authoring.mjs.map +1 -0
- package/dist/esm/project-definition/declarative-snapshot.mjs +73 -0
- package/dist/esm/project-definition/declarative-snapshot.mjs.map +1 -0
- package/dist/esm/project-definition/output-defaults.mjs +18 -1
- package/dist/esm/project-definition/output-defaults.mjs.map +1 -1
- package/dist/esm/project-definition/output-validation.mjs +15 -15
- package/dist/esm/project-definition/output-validation.mjs.map +1 -1
- package/dist/esm/project-definition/progress-rendering-output.mjs +52 -0
- package/dist/esm/project-definition/progress-rendering-output.mjs.map +1 -0
- package/dist/esm/project-definition/project-definition-validation.mjs +100 -16
- package/dist/esm/project-definition/project-definition-validation.mjs.map +1 -1
- package/dist/esm/project-definition/project-definition.mjs +52 -47
- package/dist/esm/project-definition/project-definition.mjs.map +1 -1
- package/dist/esm/project-definition/resource-unit-mapping.mjs +21 -0
- package/dist/esm/project-definition/resource-unit-mapping.mjs.map +1 -0
- package/dist/esm/project-definition/scheduler-policy.mjs +2 -0
- package/dist/esm/project-definition/scheduler-policy.mjs.map +1 -0
- package/dist/esm/project-run/admission-strategy-provider/custom-strategy-preparation.mjs +54 -0
- package/dist/esm/project-run/admission-strategy-provider/custom-strategy-preparation.mjs.map +1 -0
- package/dist/esm/project-run/admission-strategy-provider/prepared-admission-strategy.mjs +2 -0
- package/dist/esm/project-run/admission-strategy-provider/prepared-admission-strategy.mjs.map +1 -0
- package/dist/esm/project-run/admission-strategy-provider/provider.mjs +23 -0
- package/dist/esm/project-run/admission-strategy-provider/provider.mjs.map +1 -0
- package/dist/esm/project-run/aggregation.mjs +7 -5
- package/dist/esm/project-run/aggregation.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/callback.mjs +35 -8
- package/dist/esm/project-run/check-execution/callback.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/console-capture.mjs +220 -0
- package/dist/esm/project-run/check-execution/console-capture.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/dependencies.mjs +21 -3
- package/dist/esm/project-run/check-execution/dependencies.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/execution-finalization.mjs +54 -13
- package/dist/esm/project-run/check-execution/execution-finalization.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/execution-settlement.mjs +13 -9
- package/dist/esm/project-run/check-execution/execution-settlement.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/flag-controls.mjs +87 -0
- package/dist/esm/project-run/check-execution/flag-controls.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/lifecycle.mjs +2 -0
- package/dist/esm/project-run/check-execution/lifecycle.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/messages.mjs +5 -0
- package/dist/esm/project-run/check-execution/messages.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/plan.mjs +9 -5
- package/dist/esm/project-run/check-execution/plan.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/preflight.mjs +18 -32
- package/dist/esm/project-run/check-execution/preflight.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/resolved-checks.mjs +100 -58
- package/dist/esm/project-run/check-execution/resolved-checks.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/resolved-execution-result.mjs +2 -0
- package/dist/esm/project-run/check-execution/resolved-execution-result.mjs.map +1 -0
- package/dist/esm/project-run/{completion.mjs → completion/completion.mjs} +16 -38
- package/dist/esm/project-run/completion/completion.mjs.map +1 -0
- package/dist/esm/project-run/{machine-publication.mjs → completion/machine-publication.mjs} +1 -1
- package/dist/esm/project-run/completion/machine-publication.mjs.map +1 -0
- package/dist/esm/project-run/completion/result-resolver.mjs +36 -0
- package/dist/esm/project-run/completion/result-resolver.mjs.map +1 -0
- package/dist/esm/project-run/controls/contract.mjs.map +1 -1
- package/dist/esm/project-run/controls/outputs-override-validation.mjs +67 -47
- package/dist/esm/project-run/controls/outputs-override-validation.mjs.map +1 -1
- package/dist/esm/project-run/controls/validation-result.mjs.map +1 -1
- package/dist/esm/project-run/controls/validation.mjs +75 -11
- package/dist/esm/project-run/controls/validation.mjs.map +1 -1
- package/dist/esm/project-run/diagnostic-logging/logger.mjs +100 -161
- package/dist/esm/project-run/diagnostic-logging/logger.mjs.map +1 -1
- package/dist/esm/project-run/diagnostic-logging/observation-rendering.mjs +159 -0
- package/dist/esm/project-run/diagnostic-logging/observation-rendering.mjs.map +1 -0
- package/dist/esm/project-run/invocation/candidate.mjs +61 -0
- package/dist/esm/project-run/invocation/candidate.mjs.map +1 -0
- package/dist/esm/project-run/invocation/creation.mjs +79 -0
- package/dist/esm/project-run/invocation/creation.mjs.map +1 -0
- package/dist/esm/project-run/invocation/paths.mjs +77 -0
- package/dist/esm/project-run/invocation/paths.mjs.map +1 -0
- package/dist/esm/project-run/invocation/progress.mjs +30 -0
- package/dist/esm/project-run/invocation/progress.mjs.map +1 -0
- package/dist/esm/project-run/{invocation.mjs → invocation/run.mjs} +78 -92
- package/dist/esm/project-run/invocation/run.mjs.map +1 -0
- package/dist/esm/project-run/invocation/scheduler.mjs +57 -0
- package/dist/esm/project-run/invocation/scheduler.mjs.map +1 -0
- package/dist/esm/project-run/{output-configuration.mjs → outputs/configuration.mjs} +3 -2
- package/dist/esm/project-run/outputs/configuration.mjs.map +1 -0
- package/dist/esm/project-run/outputs/status.mjs +105 -0
- package/dist/esm/project-run/outputs/status.mjs.map +1 -0
- package/dist/esm/project-run/progress-rendering/presentation.mjs +112 -18
- package/dist/esm/project-run/progress-rendering/presentation.mjs.map +1 -1
- package/dist/esm/project-run/progress-rendering/renderer-formatting.mjs +108 -19
- package/dist/esm/project-run/progress-rendering/renderer-formatting.mjs.map +1 -1
- package/dist/esm/project-run/progress-rendering/renderer-lifecycle.mjs +30 -4
- package/dist/esm/project-run/progress-rendering/renderer-lifecycle.mjs.map +1 -1
- package/dist/esm/project-run/progress-rendering/renderer.mjs +5 -2
- package/dist/esm/project-run/progress-rendering/renderer.mjs.map +1 -1
- package/dist/esm/project-run/project-context.mjs +1 -1
- package/dist/esm/project-run/project-context.mjs.map +1 -1
- package/dist/esm/project-run/result.mjs +2 -0
- package/dist/esm/project-run/result.mjs.map +1 -1
- package/dist/esm/project-run/run.mjs +1 -1
- package/dist/esm/project-run/run.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/admission-core/compiled-graph.mjs +166 -0
- package/dist/esm/project-run/task-scheduler/admission-core/compiled-graph.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/core.mjs +163 -0
- package/dist/esm/project-run/task-scheduler/admission-core/core.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/input.mjs +119 -0
- package/dist/esm/project-run/task-scheduler/admission-core/input.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/projection.mjs +124 -0
- package/dist/esm/project-run/task-scheduler/admission-core/projection.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-index.mjs +99 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-index.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-query.mjs +198 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-query.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-seed.mjs +151 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-seed.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-transition.mjs +121 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-transition.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection.mjs +65 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-scope-layers.mjs +25 -0
- package/dist/esm/project-run/task-scheduler/admission-scope-layers.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-selection-policy.mjs +55 -0
- package/dist/esm/project-run/task-scheduler/admission-selection-policy.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/critical-path-ranking.mjs +46 -0
- package/dist/esm/project-run/task-scheduler/critical-path-ranking.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/custom-admission-policy.mjs +110 -0
- package/dist/esm/project-run/task-scheduler/custom-admission-policy.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/execution-state.mjs +34 -5
- package/dist/esm/project-run/task-scheduler/execution-state.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/forced-block-effect-replay.mjs +46 -0
- package/dist/esm/project-run/task-scheduler/forced-block-effect-replay.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/graph-validation.mjs +54 -26
- package/dist/esm/project-run/task-scheduler/graph-validation.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/graph.mjs +79 -3
- package/dist/esm/project-run/task-scheduler/graph.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/measurement/diagnostics.mjs +207 -0
- package/dist/esm/project-run/task-scheduler/measurement/diagnostics.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/measurement/integrals.mjs +116 -0
- package/dist/esm/project-run/task-scheduler/measurement/integrals.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/measurement/policy.mjs +67 -0
- package/dist/esm/project-run/task-scheduler/measurement/policy.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/measurement/summary.mjs +123 -0
- package/dist/esm/project-run/task-scheduler/measurement/summary.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/measurement/timing.mjs +158 -0
- package/dist/esm/project-run/task-scheduler/measurement/timing.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler-admission-decision.mjs +90 -62
- package/dist/esm/project-run/task-scheduler/scheduler-admission-decision.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/scheduler-blocker-summary.mjs +20 -6
- package/dist/esm/project-run/task-scheduler/scheduler-blocker-summary.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/scheduler-decision-inspection.mjs +5 -105
- package/dist/esm/project-run/task-scheduler/scheduler-decision-inspection.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/scheduler-decision-model.mjs +0 -9
- package/dist/esm/project-run/task-scheduler/scheduler-decision-model.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/scheduler-decision.mjs +48 -28
- package/dist/esm/project-run/task-scheduler/scheduler-decision.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/scheduler-observation.mjs +89 -0
- package/dist/esm/project-run/task-scheduler/scheduler-observation.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler-task-lifecycle.mjs +94 -0
- package/dist/esm/project-run/task-scheduler/scheduler-task-lifecycle.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler-terminal-measurement.mjs +66 -0
- package/dist/esm/project-run/task-scheduler/scheduler-terminal-measurement.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler.mjs +171 -114
- package/dist/esm/project-run/task-scheduler/scheduler.mjs.map +1 -1
- package/docs/api-mechanics.md +64 -137
- package/docs/changelog.md +157 -0
- package/docs/checks/duplicate-detection.md +111 -59
- package/docs/checks/file-metrics.md +46 -43
- package/docs/checks/function-metrics.md +100 -163
- package/docs/checks/json-schema-validation.md +43 -36
- package/docs/checks/json-validation.md +38 -25
- package/docs/checks/maintenance-reminders.md +41 -29
- package/docs/checks/markdown-link-validation.md +82 -54
- package/docs/checks/secret-detection.md +129 -0
- package/docs/examples/artifacts/mixed-outcomes/definition.ts +5 -5
- package/docs/guides/cache-results.md +63 -0
- package/docs/guides/callbacks.md +34 -0
- package/docs/guides/check-dependencies.md +121 -0
- package/docs/guides/collecting-project-files.md +59 -0
- package/docs/guides/extending-check-lifecycle.md +112 -0
- package/docs/guides/finding-waivers.md +45 -0
- package/docs/guides/learned-scheduling.md +83 -0
- package/docs/guides/presenting-findings.md +54 -0
- package/docs/guides/run-outputs.md +145 -0
- package/docs/guides/scheduling.md +208 -0
- package/docs/guides/simulating-admission.md +55 -0
- package/docs/output.md +11 -20
- package/licenses/Lizard-1.24.0-MIT.txt +30 -0
- package/{third-party-licenses/momoa-3.3.12-LICENSE → licenses/Lizard-1.24.0-lizard.py-Apache-2.0.txt} +1 -0
- package/licenses/Pygments-2.18.0-BSD-2-Clause.txt +25 -0
- package/licenses/analyzer-translations-NOTICE.md +24 -0
- package/licenses/lizard-1.24.0-provenance.json +957 -0
- package/package.json +18 -6
- package/src/cache/cache-json-by-key.ts +304 -0
- package/src/check/check.ts +67 -17
- package/src/check/finding-presentation.ts +67 -0
- package/src/check/inherited-collection.ts +1 -1
- package/src/check-settlement/fact-validation.ts +29 -39
- package/src/check-settlement/outcome-normalization.ts +17 -35
- package/src/check-settlement/reason-shape.ts +20 -0
- package/src/check-settlement/record-store.ts +18 -15
- package/src/check-settlement/session.ts +12 -3
- package/src/data-boundary/closed-values.ts +29 -0
- package/src/data-boundary/value-shapes.ts +12 -0
- package/src/index.ts +70 -2
- package/src/learned-critical-path/duration-model/bounded-history.ts +108 -0
- package/src/learned-critical-path/duration-model/prediction.ts +181 -0
- package/src/learned-critical-path/duration-model/preparation.ts +77 -0
- package/src/learned-critical-path/duration-model/recording.ts +208 -0
- package/src/learned-critical-path/duration-model/storage.ts +252 -0
- package/src/learned-critical-path/selection-layers.ts +72 -0
- package/src/learned-critical-path/static-decision.ts +105 -0
- package/src/learned-critical-path/strategy.ts +299 -0
- package/src/machine-output/v4/atomic-publication.ts +1 -16
- package/src/package-checks/code-quality-findings/finding-waiver-authoring.ts +46 -0
- package/src/package-checks/code-quality-findings/finding-waiver-evidence.ts +95 -0
- package/src/package-checks/code-quality-findings/policy.ts +23 -0
- package/src/package-checks/duplicate-detection/area-policy.ts +24 -13
- package/src/package-checks/duplicate-detection/cache/identity.ts +1 -1
- package/src/package-checks/duplicate-detection/default-check.ts +1 -1
- package/src/package-checks/duplicate-detection/execution.ts +82 -22
- package/src/package-checks/duplicate-detection/finding-messages.ts +75 -0
- package/src/package-checks/duplicate-detection/finding-waiver-identity.ts +68 -0
- package/src/package-checks/duplicate-detection/jscpd/availability.ts +1 -1
- package/src/package-checks/duplicate-detection/jscpd/command-resolution.ts +1 -1
- package/src/package-checks/duplicate-detection/jscpd/json-report.ts +24 -5
- package/src/package-checks/duplicate-detection/jscpd/scanner.ts +6 -7
- package/src/package-checks/duplicate-detection/options-resolution.ts +32 -57
- package/src/package-checks/duplicate-detection/options-validation.ts +23 -31
- package/src/package-checks/duplicate-detection/options.ts +21 -1
- package/src/package-checks/duplicate-detection/records.ts +65 -12
- package/src/package-checks/file-metrics/execution.ts +16 -17
- package/src/package-checks/file-metrics/finding-messages.ts +29 -0
- package/src/package-checks/file-metrics/options-resolution.ts +19 -52
- package/src/package-checks/file-metrics/options-validation.ts +23 -32
- package/src/package-checks/file-metrics/records.ts +11 -23
- package/src/package-checks/file-metrics/scc/availability.ts +1 -1
- package/src/package-checks/file-metrics/scc/parser.ts +4 -4
- package/src/package-checks/file-metrics/scc/scanner.ts +2 -2
- package/src/package-checks/function-metrics/analysis.ts +76 -21
- package/src/package-checks/function-metrics/analyzer/analysis-context.ts +749 -0
- package/src/package-checks/function-metrics/analyzer/analysis-model.ts +421 -0
- package/src/package-checks/function-metrics/analyzer/contracts.ts +54 -0
- package/src/package-checks/function-metrics/analyzer/extension-output.ts +261 -0
- package/src/package-checks/function-metrics/analyzer/extensions/extension-base.ts +33 -0
- package/src/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.ts +27 -0
- package/src/package-checks/function-metrics/analyzer/extensions/lizardnd.ts +144 -0
- package/src/package-checks/function-metrics/analyzer/extensions/protocol.ts +345 -0
- package/src/package-checks/function-metrics/analyzer/extensions/registry.ts +157 -0
- package/src/package-checks/function-metrics/analyzer/pipeline.ts +311 -0
- package/src/package-checks/function-metrics/analyzer/port-facade.ts +142 -0
- package/src/package-checks/function-metrics/analyzer/reader-registry.ts +84 -0
- package/src/package-checks/function-metrics/analyzer/readers/csharp.ts +110 -0
- package/src/package-checks/function-metrics/analyzer/readers/erlang.ts +501 -0
- package/src/package-checks/function-metrics/analyzer/readers/fortran.ts +294 -0
- package/src/package-checks/function-metrics/analyzer/readers/gdscript.ts +42 -0
- package/src/package-checks/function-metrics/analyzer/readers/go.ts +53 -0
- package/src/package-checks/function-metrics/analyzer/readers/java-body-states.ts +141 -0
- package/src/package-checks/function-metrics/analyzer/readers/java.ts +270 -0
- package/src/package-checks/function-metrics/analyzer/readers/javascript.ts +19 -0
- package/src/package-checks/function-metrics/analyzer/readers/kotlin.ts +120 -0
- package/src/package-checks/function-metrics/analyzer/readers/lua.ts +68 -0
- package/src/package-checks/function-metrics/analyzer/readers/objc.ts +107 -0
- package/src/package-checks/function-metrics/analyzer/readers/perl.ts +340 -0
- package/src/package-checks/function-metrics/analyzer/readers/php-states.ts +246 -0
- package/src/package-checks/function-metrics/analyzer/readers/php.ts +63 -0
- package/src/package-checks/function-metrics/analyzer/readers/plsql.ts +306 -0
- package/src/package-checks/function-metrics/analyzer/readers/python.ts +431 -0
- package/src/package-checks/function-metrics/analyzer/readers/r.ts +234 -0
- package/src/package-checks/function-metrics/analyzer/readers/ruby.ts +88 -0
- package/src/package-checks/function-metrics/analyzer/readers/rust.ts +47 -0
- package/src/package-checks/function-metrics/analyzer/readers/scala.ts +60 -0
- package/src/package-checks/function-metrics/analyzer/readers/solidity.ts +32 -0
- package/src/package-checks/function-metrics/analyzer/readers/st.ts +161 -0
- package/src/package-checks/function-metrics/analyzer/readers/swift.ts +116 -0
- package/src/package-checks/function-metrics/analyzer/readers/tsx.ts +165 -0
- package/src/package-checks/function-metrics/analyzer/readers/ttcn.ts +90 -0
- package/src/package-checks/function-metrics/analyzer/readers/typescript.ts +593 -0
- package/src/package-checks/function-metrics/analyzer/readers/vue.ts +43 -0
- package/src/package-checks/function-metrics/analyzer/readers/zig.ts +35 -0
- package/src/package-checks/function-metrics/analyzer/shared/clike.ts +541 -0
- package/src/package-checks/function-metrics/analyzer/shared/code-reader.ts +682 -0
- package/src/package-checks/function-metrics/analyzer/shared/golike.ts +143 -0
- package/src/package-checks/function-metrics/analyzer/shared/js-style-regex.ts +75 -0
- package/src/package-checks/function-metrics/analyzer/shared/rubylike.ts +161 -0
- package/src/package-checks/function-metrics/analyzer/shared/script-language.ts +50 -0
- package/src/package-checks/function-metrics/analyzer-adapter.ts +84 -0
- package/src/package-checks/function-metrics/analyzer-worker-contract.ts +10 -0
- package/src/package-checks/function-metrics/analyzer-worker-port.ts +150 -0
- package/src/package-checks/function-metrics/analyzer-worker.ts +31 -0
- package/src/package-checks/function-metrics/constructor.ts +2 -2
- package/src/package-checks/function-metrics/execution.ts +94 -39
- package/src/package-checks/function-metrics/finding-messages.ts +95 -0
- package/src/package-checks/function-metrics/finding-waiver-identity.ts +36 -0
- package/src/package-checks/function-metrics/measurement-model.ts +15 -1
- package/src/package-checks/function-metrics/measurement.ts +221 -36
- package/src/package-checks/function-metrics/options-resolution.ts +39 -75
- package/src/package-checks/function-metrics/options-validation.ts +30 -39
- package/src/package-checks/function-metrics/options.ts +27 -11
- package/src/package-checks/function-metrics/records.ts +73 -7
- package/src/package-checks/function-metrics/target-files.ts +10 -70
- package/src/package-checks/{file-metrics/scc → host-environment}/csv.ts +1 -2
- package/src/package-checks/host-environment/git.ts +2 -2
- package/src/package-checks/host-environment/process.ts +10 -0
- package/src/package-checks/json-schema-validation/final-data.ts +8 -0
- package/src/package-checks/json-schema-validation/options-validation.ts +16 -23
- package/src/package-checks/json-schema-validation/options.ts +23 -0
- package/src/package-checks/json-validation/final-data.ts +5 -0
- package/src/package-checks/json-validation/options-validation.ts +4 -18
- package/src/package-checks/maintenance-reminders/final-data.ts +18 -0
- package/src/package-checks/markdown-link-validation/default-check.ts +9 -3
- package/src/package-checks/markdown-link-validation/execution.ts +51 -57
- package/src/package-checks/markdown-link-validation/filesystem-probes.ts +108 -51
- package/src/package-checks/markdown-link-validation/final-data.ts +5 -0
- package/src/package-checks/markdown-link-validation/finding-messages.ts +48 -0
- package/src/package-checks/markdown-link-validation/local-resolution.ts +17 -9
- package/src/package-checks/markdown-link-validation/local-resolver.ts +5 -2
- package/src/package-checks/markdown-link-validation/options-resolution.ts +31 -3
- package/src/package-checks/markdown-link-validation/options-validation.ts +27 -19
- package/src/package-checks/markdown-link-validation/options.ts +15 -0
- package/src/package-checks/markdown-link-validation/parse-facts-cache-payload.ts +246 -0
- package/src/package-checks/markdown-link-validation/parse-facts-cache.ts +154 -0
- package/src/package-checks/markdown-link-validation/resolver-engine.ts +75 -65
- package/src/package-checks/markdown-link-validation/source-reader.ts +86 -0
- package/src/package-checks/markdown-link-validation/unavailable-reasons.ts +42 -0
- package/src/package-checks/project-files/collection.ts +1 -1
- package/src/package-checks/project-files/configuration.ts +3 -14
- package/src/package-checks/project-files/gitlink-revision.ts +1 -1
- package/src/package-checks/project-files/gitlink-worktree.ts +1 -1
- package/src/package-checks/project-files/public-collection.ts +92 -0
- package/src/package-checks/project-files/revision-worktree-files.ts +1 -1
- package/src/package-checks/secret-detection/classification.ts +30 -0
- package/src/package-checks/secret-detection/default-check.ts +50 -0
- package/src/package-checks/secret-detection/execution.ts +247 -0
- package/src/package-checks/secret-detection/final-data.ts +57 -0
- package/src/package-checks/secret-detection/finding-waiver-identity.ts +37 -0
- package/src/package-checks/secret-detection/input-preparation.ts +233 -0
- package/src/package-checks/secret-detection/options-resolution.ts +65 -0
- package/src/package-checks/secret-detection/options-validation.ts +27 -0
- package/src/package-checks/secret-detection/options.ts +36 -0
- package/src/package-checks/secret-detection/records.ts +77 -0
- package/src/package-checks/secret-detection/secretlint/adapter.ts +123 -0
- package/src/project-definition/check-tree/authoring.ts +29 -230
- package/src/project-definition/check-tree/check-fields-authoring.ts +227 -0
- package/src/project-definition/check-tree/collection-authoring.ts +13 -0
- package/src/project-definition/check-tree/materialization.ts +9 -1
- package/src/project-definition/check-tree/resolution.ts +80 -22
- package/src/project-definition/check-tree/scheduling-authoring.ts +114 -0
- package/src/project-definition/declarative-snapshot.ts +87 -0
- package/src/project-definition/output-defaults.ts +32 -1
- package/src/project-definition/output-validation.ts +15 -15
- package/src/project-definition/progress-rendering-output.ts +121 -0
- package/src/project-definition/project-definition-validation.ts +117 -18
- package/src/project-definition/project-definition.ts +198 -61
- package/src/project-definition/resource-unit-mapping.ts +25 -0
- package/src/project-definition/scheduler-policy.ts +553 -0
- package/src/project-run/admission-strategy-provider/custom-strategy-preparation.ts +80 -0
- package/src/project-run/admission-strategy-provider/prepared-admission-strategy.ts +27 -0
- package/src/project-run/admission-strategy-provider/provider.ts +45 -0
- package/src/project-run/aggregation.ts +10 -5
- package/src/project-run/check-execution/callback.ts +50 -8
- package/src/project-run/check-execution/console-capture.ts +262 -0
- package/src/project-run/check-execution/dependencies.ts +43 -6
- package/src/project-run/check-execution/execution-finalization.ts +99 -25
- package/src/project-run/check-execution/execution-settlement.ts +19 -11
- package/src/project-run/check-execution/flag-controls.ts +132 -0
- package/src/project-run/check-execution/lifecycle.ts +21 -0
- package/src/project-run/check-execution/messages.ts +8 -0
- package/src/project-run/check-execution/plan.ts +12 -8
- package/src/project-run/check-execution/preflight.ts +23 -43
- package/src/project-run/check-execution/resolved-checks.ts +165 -126
- package/src/project-run/check-execution/resolved-execution-result.ts +22 -0
- package/src/project-run/{completion.ts → completion/completion.ts} +17 -57
- package/src/project-run/{machine-publication.ts → completion/machine-publication.ts} +4 -4
- package/src/project-run/completion/result-resolver.ts +60 -0
- package/src/project-run/controls/contract.ts +25 -2
- package/src/project-run/controls/outputs-override-validation.ts +83 -60
- package/src/project-run/controls/validation-result.ts +17 -6
- package/src/project-run/controls/validation.ts +107 -12
- package/src/project-run/diagnostic-logging/logger.ts +132 -207
- package/src/project-run/diagnostic-logging/observation-rendering.ts +203 -0
- package/src/project-run/invocation/candidate.ts +86 -0
- package/src/project-run/invocation/creation.ts +116 -0
- package/src/project-run/invocation/paths.ts +154 -0
- package/src/project-run/invocation/progress.ts +38 -0
- package/src/project-run/{invocation.ts → invocation/run.ts} +125 -120
- package/src/project-run/invocation/scheduler.ts +75 -0
- package/src/project-run/{output-configuration.ts → outputs/configuration.ts} +6 -5
- package/src/project-run/outputs/status.ts +161 -0
- package/src/project-run/progress-rendering/presentation.ts +118 -26
- package/src/project-run/progress-rendering/renderer-formatting.ts +166 -19
- package/src/project-run/progress-rendering/renderer-lifecycle.ts +38 -3
- package/src/project-run/progress-rendering/renderer.ts +13 -2
- package/src/project-run/project-context.ts +3 -2
- package/src/project-run/result.ts +49 -3
- package/src/project-run/run.ts +7 -6
- package/src/project-run/task-scheduler/admission-core/compiled-graph.ts +316 -0
- package/src/project-run/task-scheduler/admission-core/core.ts +278 -0
- package/src/project-run/task-scheduler/admission-core/input.ts +138 -0
- package/src/project-run/task-scheduler/admission-core/projection.ts +164 -0
- package/src/project-run/task-scheduler/admission-core/selection-index.ts +165 -0
- package/src/project-run/task-scheduler/admission-core/selection-query.ts +295 -0
- package/src/project-run/task-scheduler/admission-core/selection-seed.ts +252 -0
- package/src/project-run/task-scheduler/admission-core/selection-transition.ts +236 -0
- package/src/project-run/task-scheduler/admission-core/selection.ts +140 -0
- package/src/project-run/task-scheduler/admission-core/trace.ts +177 -0
- package/src/project-run/task-scheduler/admission-scope-layers.ts +44 -0
- package/src/project-run/task-scheduler/admission-selection-policy.ts +116 -0
- package/src/project-run/task-scheduler/critical-path-ranking.ts +76 -0
- package/src/project-run/task-scheduler/custom-admission-policy.ts +128 -0
- package/src/project-run/task-scheduler/execution-state.ts +97 -6
- package/src/project-run/task-scheduler/forced-block-effect-replay.ts +68 -0
- package/src/project-run/task-scheduler/graph-validation.ts +77 -31
- package/src/project-run/task-scheduler/graph.ts +111 -3
- package/src/project-run/task-scheduler/measurement/diagnostics.ts +261 -0
- package/src/project-run/task-scheduler/measurement/integrals.ts +177 -0
- package/src/project-run/task-scheduler/measurement/policy.ts +105 -0
- package/src/project-run/task-scheduler/measurement/summary.ts +175 -0
- package/src/project-run/task-scheduler/measurement/timing.ts +190 -0
- package/src/project-run/task-scheduler/scheduler-admission-decision.ts +143 -134
- package/src/project-run/task-scheduler/scheduler-blocker-summary.ts +34 -9
- package/src/project-run/task-scheduler/scheduler-decision-inspection.ts +28 -170
- package/src/project-run/task-scheduler/scheduler-decision-model.ts +36 -40
- package/src/project-run/task-scheduler/scheduler-decision.ts +68 -36
- package/src/project-run/task-scheduler/scheduler-observation.ts +124 -0
- package/src/project-run/task-scheduler/scheduler-task-lifecycle.ts +150 -0
- package/src/project-run/task-scheduler/scheduler-terminal-measurement.ts +95 -0
- package/src/project-run/task-scheduler/scheduler.ts +216 -171
- package/types/cache/cache-json-by-key.d.ts +53 -0
- package/types/check/check.d.ts +62 -17
- package/types/check/finding-presentation.d.ts +25 -0
- package/types/check/inherited-collection.d.ts +1 -1
- package/types/check-settlement/reason-shape.d.ts +5 -0
- package/types/check-settlement/record-store.d.ts +2 -2
- package/types/check-settlement/session.d.ts +3 -1
- package/types/data-boundary/closed-values.d.ts +8 -0
- package/types/data-boundary/value-shapes.d.ts +3 -0
- package/types/index.d.ts +22 -7
- package/types/learned-critical-path/duration-model/bounded-history.d.ts +34 -0
- package/types/learned-critical-path/duration-model/prediction.d.ts +32 -0
- package/types/learned-critical-path/duration-model/preparation.d.ts +28 -0
- package/types/learned-critical-path/duration-model/recording.d.ts +28 -0
- package/types/learned-critical-path/duration-model/storage.d.ts +12 -0
- package/types/learned-critical-path/selection-layers.d.ts +14 -0
- package/types/learned-critical-path/static-decision.d.ts +3 -0
- package/types/learned-critical-path/strategy.d.ts +35 -0
- package/types/package-checks/code-quality-findings/finding-waiver-authoring.d.ts +7 -0
- package/types/package-checks/code-quality-findings/finding-waiver-evidence.d.ts +34 -0
- package/types/package-checks/code-quality-findings/policy.d.ts +4 -0
- package/types/package-checks/duplicate-detection/area-policy.d.ts +1 -1
- package/types/package-checks/duplicate-detection/finding-messages.d.ts +7 -0
- package/types/package-checks/duplicate-detection/finding-waiver-identity.d.ts +3 -0
- package/types/package-checks/duplicate-detection/jscpd/command-resolution.d.ts +1 -1
- package/types/package-checks/duplicate-detection/options.d.ts +18 -1
- package/types/package-checks/duplicate-detection/records.d.ts +20 -3
- package/types/package-checks/file-metrics/finding-messages.d.ts +4 -0
- package/types/package-checks/file-metrics/records.d.ts +5 -10
- package/types/package-checks/file-metrics/scc/parser.d.ts +4 -4
- package/types/package-checks/function-metrics/analysis.d.ts +1 -1
- package/types/package-checks/function-metrics/analyzer/analysis-context.d.ts +174 -0
- package/types/package-checks/function-metrics/analyzer/analysis-model.d.ts +135 -0
- package/types/package-checks/function-metrics/analyzer/contracts.d.ts +48 -0
- package/types/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.d.ts +13 -0
- package/types/package-checks/function-metrics/analyzer/extensions/lizardnd.d.ts +28 -0
- package/types/package-checks/function-metrics/analyzer/extensions/protocol.d.ts +99 -0
- package/types/package-checks/function-metrics/analyzer/extensions/registry.d.ts +34 -0
- package/types/package-checks/function-metrics/analyzer/pipeline.d.ts +67 -0
- package/types/package-checks/function-metrics/analyzer/port-facade.d.ts +38 -0
- package/types/package-checks/function-metrics/analyzer/reader-registry.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/csharp.d.ts +22 -0
- package/types/package-checks/function-metrics/analyzer/readers/erlang.d.ts +22 -0
- package/types/package-checks/function-metrics/analyzer/readers/fortran.d.ts +29 -0
- package/types/package-checks/function-metrics/analyzer/readers/gdscript.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/go.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/java-body-states.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/java.d.ts +44 -0
- package/types/package-checks/function-metrics/analyzer/readers/javascript.d.ts +14 -0
- package/types/package-checks/function-metrics/analyzer/readers/kotlin.d.ts +23 -0
- package/types/package-checks/function-metrics/analyzer/readers/lua.d.ts +16 -0
- package/types/package-checks/function-metrics/analyzer/readers/objc.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/perl.d.ts +28 -0
- package/types/package-checks/function-metrics/analyzer/readers/php-states.d.ts +41 -0
- package/types/package-checks/function-metrics/analyzer/readers/php.d.ts +22 -0
- package/types/package-checks/function-metrics/analyzer/readers/plsql.d.ts +24 -0
- package/types/package-checks/function-metrics/analyzer/readers/python.d.ts +50 -0
- package/types/package-checks/function-metrics/analyzer/readers/r.d.ts +22 -0
- package/types/package-checks/function-metrics/analyzer/readers/ruby.d.ts +16 -0
- package/types/package-checks/function-metrics/analyzer/readers/rust.d.ts +20 -0
- package/types/package-checks/function-metrics/analyzer/readers/scala.d.ts +20 -0
- package/types/package-checks/function-metrics/analyzer/readers/solidity.d.ts +19 -0
- package/types/package-checks/function-metrics/analyzer/readers/st.d.ts +37 -0
- package/types/package-checks/function-metrics/analyzer/readers/swift.d.ts +30 -0
- package/types/package-checks/function-metrics/analyzer/readers/tsx.d.ts +15 -0
- package/types/package-checks/function-metrics/analyzer/readers/ttcn.d.ts +22 -0
- package/types/package-checks/function-metrics/analyzer/readers/typescript.d.ts +35 -0
- package/types/package-checks/function-metrics/analyzer/readers/vue.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/zig.d.ts +19 -0
- package/types/package-checks/function-metrics/analyzer/shared/clike.d.ts +101 -0
- package/types/package-checks/function-metrics/analyzer/shared/code-reader.d.ts +176 -0
- package/types/package-checks/function-metrics/analyzer/shared/golike.d.ts +39 -0
- package/types/package-checks/function-metrics/analyzer/shared/js-style-regex.d.ts +16 -0
- package/types/package-checks/function-metrics/analyzer/shared/rubylike.d.ts +40 -0
- package/types/package-checks/function-metrics/analyzer/shared/script-language.d.ts +17 -0
- package/types/package-checks/function-metrics/analyzer-adapter.d.ts +26 -0
- package/types/package-checks/function-metrics/analyzer-worker-contract.d.ts +5 -0
- package/types/package-checks/function-metrics/analyzer-worker-port.d.ts +24 -0
- package/types/package-checks/function-metrics/analyzer-worker.d.ts +1 -0
- package/types/package-checks/function-metrics/constructor.d.ts +1 -1
- package/types/package-checks/function-metrics/execution.d.ts +5 -2
- package/types/package-checks/function-metrics/finding-messages.d.ts +9 -0
- package/types/package-checks/function-metrics/finding-waiver-identity.d.ts +2 -0
- package/types/package-checks/function-metrics/measurement-model.d.ts +13 -1
- package/types/package-checks/function-metrics/measurement.d.ts +22 -7
- package/types/package-checks/function-metrics/options.d.ts +23 -10
- package/types/package-checks/function-metrics/records.d.ts +24 -5
- package/types/package-checks/function-metrics/target-files.d.ts +4 -3
- package/types/package-checks/host-environment/csv.d.ts +2 -0
- package/types/package-checks/host-environment/git.d.ts +1 -1
- package/types/package-checks/host-environment/process.d.ts +5 -0
- package/types/package-checks/json-schema-validation/final-data.d.ts +8 -0
- package/types/package-checks/json-schema-validation/options.d.ts +31 -3
- package/types/package-checks/json-validation/final-data.d.ts +5 -0
- package/types/package-checks/maintenance-reminders/final-data.d.ts +18 -0
- package/types/package-checks/markdown-link-validation/default-check.d.ts +9 -3
- package/types/package-checks/markdown-link-validation/execution.d.ts +1 -3
- package/types/package-checks/markdown-link-validation/final-data.d.ts +5 -0
- package/types/package-checks/markdown-link-validation/finding-messages.d.ts +4 -0
- package/types/package-checks/markdown-link-validation/local-resolution.d.ts +12 -6
- package/types/package-checks/markdown-link-validation/local-resolver.d.ts +2 -1
- package/types/package-checks/markdown-link-validation/options.d.ts +15 -0
- package/types/package-checks/markdown-link-validation/parse-facts-cache-payload.d.ts +24 -0
- package/types/package-checks/markdown-link-validation/parse-facts-cache.d.ts +13 -0
- package/types/package-checks/markdown-link-validation/resolver-engine.d.ts +6 -4
- package/types/package-checks/markdown-link-validation/source-reader.d.ts +11 -0
- package/types/package-checks/markdown-link-validation/unavailable-reasons.d.ts +4 -0
- package/types/package-checks/project-files/public-collection.d.ts +16 -0
- package/types/package-checks/secret-detection/classification.d.ts +12 -0
- package/types/package-checks/secret-detection/default-check.d.ts +11 -0
- package/types/package-checks/secret-detection/execution.d.ts +14 -0
- package/types/package-checks/secret-detection/final-data.d.ts +15 -0
- package/types/package-checks/secret-detection/finding-waiver-identity.d.ts +5 -0
- package/types/package-checks/secret-detection/input-preparation.d.ts +24 -0
- package/types/package-checks/secret-detection/options-resolution.d.ts +6 -0
- package/types/package-checks/secret-detection/options-validation.d.ts +3 -0
- package/types/package-checks/secret-detection/options.d.ts +32 -0
- package/types/package-checks/secret-detection/records.d.ts +35 -0
- package/types/package-checks/secret-detection/secretlint/adapter.d.ts +28 -0
- package/types/project-definition/check-tree/authoring.d.ts +11 -14
- package/types/project-definition/check-tree/check-fields-authoring.d.ts +25 -0
- package/types/project-definition/check-tree/collection-authoring.d.ts +2 -0
- package/types/project-definition/check-tree/resolution.d.ts +8 -3
- package/types/project-definition/check-tree/scheduling-authoring.d.ts +19 -0
- package/types/project-definition/declarative-snapshot.d.ts +7 -0
- package/types/project-definition/output-defaults.d.ts +7 -0
- package/types/project-definition/output-validation.d.ts +2 -1
- package/types/project-definition/progress-rendering-output.d.ts +41 -0
- package/types/project-definition/project-definition.d.ts +61 -16
- package/types/project-definition/resource-unit-mapping.d.ts +4 -0
- package/types/project-definition/scheduler-policy.d.ts +497 -0
- package/types/project-run/admission-strategy-provider/custom-strategy-preparation.d.ts +9 -0
- package/types/project-run/admission-strategy-provider/prepared-admission-strategy.d.ts +23 -0
- package/types/project-run/admission-strategy-provider/provider.d.ts +13 -0
- package/types/project-run/aggregation.d.ts +1 -1
- package/types/project-run/check-execution/callback.d.ts +5 -1
- package/types/project-run/check-execution/console-capture.d.ts +18 -0
- package/types/project-run/check-execution/dependencies.d.ts +1 -1
- package/types/project-run/check-execution/execution-finalization.d.ts +17 -7
- package/types/project-run/check-execution/execution-settlement.d.ts +5 -2
- package/types/project-run/check-execution/flag-controls.d.ts +27 -0
- package/types/project-run/check-execution/lifecycle.d.ts +20 -0
- package/types/project-run/check-execution/messages.d.ts +2 -0
- package/types/project-run/check-execution/plan.d.ts +2 -3
- package/types/project-run/check-execution/preflight.d.ts +6 -5
- package/types/project-run/check-execution/resolved-checks.d.ts +32 -38
- package/types/project-run/check-execution/resolved-execution-result.d.ts +21 -0
- package/types/project-run/{completion.d.ts → completion/completion.d.ts} +4 -4
- package/types/project-run/{machine-publication.d.ts → completion/machine-publication.d.ts} +3 -3
- package/types/project-run/completion/result-resolver.d.ts +4 -0
- package/types/project-run/controls/contract.d.ts +25 -2
- package/types/project-run/controls/outputs-override-validation.d.ts +2 -1
- package/types/project-run/controls/validation-result.d.ts +12 -4
- package/types/project-run/diagnostic-logging/logger.d.ts +34 -4
- package/types/project-run/diagnostic-logging/observation-rendering.d.ts +7 -0
- package/types/project-run/invocation/candidate.d.ts +12 -0
- package/types/project-run/{invocation-creation.d.ts → invocation/creation.d.ts} +3 -3
- package/types/project-run/invocation/paths.d.ts +40 -0
- package/types/project-run/invocation/progress.d.ts +11 -0
- package/types/project-run/invocation/run.d.ts +43 -0
- package/types/project-run/invocation/scheduler.d.ts +16 -0
- package/types/project-run/outputs/configuration.d.ts +3 -0
- package/types/project-run/outputs/status.d.ts +48 -0
- package/types/project-run/progress-rendering/presentation.d.ts +9 -5
- package/types/project-run/progress-rendering/renderer-formatting.d.ts +8 -0
- package/types/project-run/progress-rendering/renderer-lifecycle.d.ts +6 -1
- package/types/project-run/progress-rendering/renderer.d.ts +7 -1
- package/types/project-run/project-context.d.ts +2 -1
- package/types/project-run/result.d.ts +37 -3
- package/types/project-run/run.d.ts +6 -5
- package/types/project-run/task-scheduler/admission-core/compiled-graph.d.ts +31 -0
- package/types/project-run/task-scheduler/admission-core/core.d.ts +57 -0
- package/types/project-run/task-scheduler/admission-core/input.d.ts +4 -0
- package/types/project-run/task-scheduler/admission-core/projection.d.ts +22 -0
- package/types/project-run/task-scheduler/admission-core/selection-index.d.ts +61 -0
- package/types/project-run/task-scheduler/admission-core/selection-query.d.ts +28 -0
- package/types/project-run/task-scheduler/admission-core/selection-seed.d.ts +9 -0
- package/types/project-run/task-scheduler/admission-core/selection-transition.d.ts +4 -0
- package/types/project-run/task-scheduler/admission-core/selection.d.ts +20 -0
- package/types/project-run/task-scheduler/admission-scope-layers.d.ts +8 -0
- package/types/project-run/task-scheduler/admission-selection-policy.d.ts +31 -0
- package/types/project-run/task-scheduler/critical-path-ranking.d.ts +19 -0
- package/types/project-run/task-scheduler/custom-admission-policy.d.ts +6 -0
- package/types/project-run/task-scheduler/execution-state.d.ts +43 -1
- package/types/project-run/task-scheduler/forced-block-effect-replay.d.ts +9 -0
- package/types/project-run/task-scheduler/graph-validation.d.ts +3 -2
- package/types/project-run/task-scheduler/graph.d.ts +15 -0
- package/types/project-run/task-scheduler/measurement/diagnostics.d.ts +47 -0
- package/types/project-run/task-scheduler/measurement/integrals.d.ts +27 -0
- package/types/project-run/task-scheduler/measurement/policy.d.ts +10 -0
- package/types/project-run/task-scheduler/measurement/summary.d.ts +3 -0
- package/types/project-run/task-scheduler/measurement/timing.d.ts +33 -0
- package/types/project-run/task-scheduler/scheduler-admission-decision.d.ts +13 -1
- package/types/project-run/task-scheduler/scheduler-decision-inspection.d.ts +20 -19
- package/types/project-run/task-scheduler/scheduler-decision-model.d.ts +38 -22
- package/types/project-run/task-scheduler/scheduler-decision.d.ts +4 -1
- package/types/project-run/task-scheduler/scheduler-observation.d.ts +14 -0
- package/types/project-run/task-scheduler/scheduler-task-lifecycle.d.ts +18 -0
- package/types/project-run/task-scheduler/scheduler-terminal-measurement.d.ts +9 -0
- package/dist/esm/package-checks/file-metrics/scc/csv.mjs.map +0 -1
- package/dist/esm/package-checks/function-metrics/lizard/availability.mjs +0 -64
- package/dist/esm/package-checks/function-metrics/lizard/availability.mjs.map +0 -1
- package/dist/esm/package-checks/function-metrics/lizard/csv.mjs +0 -17
- package/dist/esm/package-checks/function-metrics/lizard/csv.mjs.map +0 -1
- package/dist/esm/package-checks/function-metrics/lizard/parser.mjs +0 -138
- package/dist/esm/package-checks/function-metrics/lizard/parser.mjs.map +0 -1
- package/dist/esm/package-checks/function-metrics/lizard/scanner.mjs +0 -35
- package/dist/esm/package-checks/function-metrics/lizard/scanner.mjs.map +0 -1
- package/dist/esm/package-checks/host-environment/process/command.mjs +0 -13
- package/dist/esm/package-checks/host-environment/process/command.mjs.map +0 -1
- package/dist/esm/project-run/completion.mjs.map +0 -1
- package/dist/esm/project-run/invocation-creation.mjs +0 -111
- package/dist/esm/project-run/invocation-creation.mjs.map +0 -1
- package/dist/esm/project-run/invocation.mjs.map +0 -1
- package/dist/esm/project-run/machine-publication.mjs.map +0 -1
- package/dist/esm/project-run/output-configuration.mjs.map +0 -1
- package/dist/esm/project-run/output-status.mjs +0 -43
- package/dist/esm/project-run/output-status.mjs.map +0 -1
- package/src/package-checks/function-metrics/lizard/availability.ts +0 -90
- package/src/package-checks/function-metrics/lizard/csv.ts +0 -20
- package/src/package-checks/function-metrics/lizard/parser.ts +0 -179
- package/src/package-checks/function-metrics/lizard/scanner.ts +0 -62
- package/src/package-checks/host-environment/process/command.ts +0 -21
- package/src/project-run/invocation-creation.ts +0 -160
- package/src/project-run/output-status.ts +0 -69
- package/types/package-checks/file-metrics/scc/csv.d.ts +0 -1
- package/types/package-checks/function-metrics/lizard/availability.d.ts +0 -11
- package/types/package-checks/function-metrics/lizard/csv.d.ts +0 -1
- package/types/package-checks/function-metrics/lizard/parser.d.ts +0 -17
- package/types/package-checks/function-metrics/lizard/scanner.d.ts +0 -15
- package/types/package-checks/host-environment/process/command.d.ts +0 -7
- package/types/project-run/invocation.d.ts +0 -34
- package/types/project-run/output-configuration.d.ts +0 -3
- package/types/project-run/output-status.d.ts +0 -21
|
@@ -0,0 +1,553 @@
|
|
|
1
|
+
/** 自定义准入 policy 对当前 Task 的唯一提议。 */
|
|
2
|
+
export type AdmissionProposal =
|
|
3
|
+
| Readonly<{ readonly kind: "select"; readonly taskId: string }>
|
|
4
|
+
| Readonly<{ readonly kind: "wait" }>;
|
|
5
|
+
|
|
6
|
+
/** 独立模拟 immutable Scheduler admission graph 的 exact input。 */
|
|
7
|
+
export interface AdmissionGraphInput {
|
|
8
|
+
/** 要模拟的已规范化静态图 DTO;模拟器会先验证其 closed shape 与引用。 */
|
|
9
|
+
readonly graph: SchedulerGraphSnapshot;
|
|
10
|
+
/** standalone state 的 root 并行上限。 */
|
|
11
|
+
readonly maxParallel: number;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/** 一次假设性 Task settlement 的公开二值结果;它不是 Task execution result。 */
|
|
15
|
+
export type AdmissionSettlementOutcome = "satisfied" | "unsatisfied";
|
|
16
|
+
|
|
17
|
+
/** 可从同一静态图形成 independent initial states 的 standalone handle。 */
|
|
18
|
+
export interface AdmissionGraph {
|
|
19
|
+
/** 从同一已验证 graph 形成一个新的全 pending immutable state。 */
|
|
20
|
+
initialState(this: void): AdmissionState;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** 不可变且 opaque 的 hypothetical admission boundary。 */
|
|
24
|
+
export interface AdmissionState {
|
|
25
|
+
/** 当前 dynamic admission facts;读取不会控制真实 Scheduler。 */
|
|
26
|
+
readonly inspection: AdmissionInspection;
|
|
27
|
+
/** 当前 pending Task 的可选性分区;按 canonical taskId 顺序输出。 */
|
|
28
|
+
readonly catalog: AdmissionCatalog;
|
|
29
|
+
/** 只模拟一次 admission,不启动、预检或执行 Task。 */
|
|
30
|
+
select(this: void, taskId: string): AdmissionTransitionResult;
|
|
31
|
+
/** 只模拟一个当前 running Task 的二值结算。 */
|
|
32
|
+
settle(
|
|
33
|
+
this: void,
|
|
34
|
+
taskId: string,
|
|
35
|
+
outcome: AdmissionSettlementOutcome
|
|
36
|
+
): AdmissionTransitionResult;
|
|
37
|
+
/** 不构造 catalog 的单 Task select legality query。 */
|
|
38
|
+
validateSelection(this: void, taskId: string): AdmissionSelectionValidation;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/** 当前 immutable state 的公开动态 inspection。 */
|
|
42
|
+
export interface AdmissionInspection {
|
|
43
|
+
/** 当前 root、active scope 与 running count 形成的 capacity 快照。 */
|
|
44
|
+
readonly capacity: Readonly<{
|
|
45
|
+
/** 合成当前 active scope 限制后的有效并行上限。 */
|
|
46
|
+
readonly effectiveMaxParallel: number;
|
|
47
|
+
/** standalone graph 的 root 并行上限。 */
|
|
48
|
+
readonly maxParallel: number;
|
|
49
|
+
/** 当前 hypothetical running Task 数。 */
|
|
50
|
+
readonly running: number;
|
|
51
|
+
}>;
|
|
52
|
+
/** 下一合法动作类别:选择 Task、等待 running Task,或 state 已完成。 */
|
|
53
|
+
readonly nextBoundary: "select" | "wait" | "complete";
|
|
54
|
+
/** 当前 hypothetical running Task IDs,按 graph 的 canonical Task 顺序。 */
|
|
55
|
+
readonly runningTaskIds: readonly string[];
|
|
56
|
+
/** 当前 named resource occupancy;按 resourceId 规范排序。 */
|
|
57
|
+
readonly resources: readonly Readonly<{
|
|
58
|
+
/** 尚可原子取得的 units。 */
|
|
59
|
+
readonly available: number;
|
|
60
|
+
/** graph 声明的总 units。 */
|
|
61
|
+
readonly capacity: number;
|
|
62
|
+
/** 当前 running Tasks 已占用的 units。 */
|
|
63
|
+
readonly inUse: number;
|
|
64
|
+
/** named resource 的稳定 ID。 */
|
|
65
|
+
readonly resourceId: string;
|
|
66
|
+
}>[];
|
|
67
|
+
/** 每个静态 scope 的当前 lifecycle,按 scopeId 规范排序。 */
|
|
68
|
+
readonly scopes: readonly AdmissionScopeLifecycle[];
|
|
69
|
+
/** 可映射为 satisfied/unsatisfied 的 hypothetical settlements。 */
|
|
70
|
+
readonly settledTasks: readonly AdmissionSettledTask[];
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/** 一个静态 scope 的推导 lifecycle。 */
|
|
74
|
+
export interface AdmissionScopeLifecycle {
|
|
75
|
+
/** scope 尚未激活、当前 active,或 terminal Task 已结算后的 closed 状态。 */
|
|
76
|
+
readonly lifecycle: "inactive" | "active" | "closed";
|
|
77
|
+
/** graph 中声明的稳定 scope ID。 */
|
|
78
|
+
readonly scopeId: string;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/** 可公开映射为 binary outcome 的 Task settlement。 */
|
|
82
|
+
export interface AdmissionSettledTask {
|
|
83
|
+
/** 本次 hypothetical settlement 是否满足 dependents 的前置关系。 */
|
|
84
|
+
readonly outcome: AdmissionSettlementOutcome;
|
|
85
|
+
/** 已结算 Task 的稳定 ID。 */
|
|
86
|
+
readonly taskId: string;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** 所有 pending Task 的 canonical selectable/non-selectable partition。 */
|
|
90
|
+
export interface AdmissionCatalog {
|
|
91
|
+
/** 当前 pending 但不可 select 的 Tasks 及其 primary reason。 */
|
|
92
|
+
readonly nonSelectableTasks: readonly AdmissionNonSelectableTask[];
|
|
93
|
+
/** 当前可合法 select 的 pending Task IDs。 */
|
|
94
|
+
readonly selectableTaskIds: readonly string[];
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/** catalog 中一个 pending Task 的 primary non-selection reason。 */
|
|
98
|
+
export interface AdmissionNonSelectableTask {
|
|
99
|
+
/** 该 Task 当前不可 select 的 canonical primary reason。 */
|
|
100
|
+
readonly reason: AdmissionSelectionRejectionReason;
|
|
101
|
+
/** 当前仍 pending 的稳定 Task ID。 */
|
|
102
|
+
readonly taskId: string;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/** pending Task 因当前 admission legality 不可 select 的 closed reason。 */
|
|
106
|
+
export type AdmissionSelectionRejectionReason =
|
|
107
|
+
| Readonly<{ readonly kind: "depends-on-pending"; readonly taskIds: readonly string[] }>
|
|
108
|
+
| Readonly<{ readonly kind: "mutex-held"; readonly mutexIds: readonly string[] }>
|
|
109
|
+
| Readonly<{
|
|
110
|
+
readonly kind: "root-capacity-reached";
|
|
111
|
+
readonly maxParallel: number;
|
|
112
|
+
readonly running: number;
|
|
113
|
+
}>
|
|
114
|
+
| Readonly<{
|
|
115
|
+
readonly kind: "scope-capacity-reached";
|
|
116
|
+
readonly maxParallel: number;
|
|
117
|
+
readonly running: number;
|
|
118
|
+
readonly scopeId: string;
|
|
119
|
+
}>
|
|
120
|
+
| Readonly<{
|
|
121
|
+
readonly kind: "resource-capacity-insufficient";
|
|
122
|
+
readonly resources: readonly Readonly<{
|
|
123
|
+
readonly available: number;
|
|
124
|
+
readonly capacity: number;
|
|
125
|
+
readonly inUse: number;
|
|
126
|
+
readonly required: number;
|
|
127
|
+
readonly resourceId: string;
|
|
128
|
+
}>[];
|
|
129
|
+
}>
|
|
130
|
+
| Readonly<{ readonly kind: "observes-pending"; readonly taskIds: readonly string[] }>;
|
|
131
|
+
|
|
132
|
+
/** validateSelection/select 共同使用的完整 selection validation failure surface。 */
|
|
133
|
+
export type AdmissionSelectionValidationRejectionReason =
|
|
134
|
+
| AdmissionSelectionRejectionReason
|
|
135
|
+
| Readonly<{ readonly kind: "not-pending"; readonly status: "running" | "settled" }>
|
|
136
|
+
| Readonly<{ readonly kind: "state-complete" }>
|
|
137
|
+
| Readonly<{ readonly kind: "unknown-task" }>;
|
|
138
|
+
|
|
139
|
+
/** select 或 settle 公开 transition 的完整 rejection surface。 */
|
|
140
|
+
export type AdmissionRejectionReason =
|
|
141
|
+
| AdmissionSelectionValidationRejectionReason
|
|
142
|
+
| Readonly<{ readonly kind: "invalid-settlement-outcome" }>
|
|
143
|
+
| Readonly<{ readonly kind: "not-running"; readonly status: "pending" | "settled" }>;
|
|
144
|
+
|
|
145
|
+
/** 任意 taskId 的只读 selection validation result。 */
|
|
146
|
+
export type AdmissionSelectionValidation =
|
|
147
|
+
| Readonly<{ readonly accepted: true }>
|
|
148
|
+
| Readonly<{
|
|
149
|
+
readonly accepted: false;
|
|
150
|
+
readonly reason: AdmissionSelectionValidationRejectionReason;
|
|
151
|
+
}>;
|
|
152
|
+
|
|
153
|
+
/** accepted successor 或 closed rejection 的 immutable transition result。 */
|
|
154
|
+
export type AdmissionTransitionResult =
|
|
155
|
+
| Readonly<{ readonly accepted: true; readonly state: AdmissionState }>
|
|
156
|
+
| Readonly<{ readonly accepted: false; readonly reason: AdmissionRejectionReason }>;
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* 自定义准入 policy 每轮获得的不可变普通数据快照。
|
|
160
|
+
*
|
|
161
|
+
* 它只提供完整调度图及当前可观察的准入事实,不能启动、取消或结算 Task。
|
|
162
|
+
*/
|
|
163
|
+
export interface AdmissionPolicyContext {
|
|
164
|
+
/** 已规范化的完整静态调度图;Task metadata 是拓扑和 priority 的唯一来源。 */
|
|
165
|
+
readonly graph: SchedulerGraphSnapshot;
|
|
166
|
+
/** 当前 real decision boundary 的同型假设状态;不能 reservation 或控制 Task。 */
|
|
167
|
+
readonly admissionState: AdmissionState;
|
|
168
|
+
/** 已满足 relation/mutex 条件的 pending Task 及其本轮 capacity 可准入性。 */
|
|
169
|
+
readonly candidates: readonly Readonly<{
|
|
170
|
+
readonly canAdmit: boolean;
|
|
171
|
+
readonly taskId: string;
|
|
172
|
+
}>[];
|
|
173
|
+
/** 当前 root 与已激活 scope 合成后的 capacity 事实。 */
|
|
174
|
+
readonly capacity: Readonly<{
|
|
175
|
+
readonly effectiveMaxParallel: number;
|
|
176
|
+
readonly maxParallel: number;
|
|
177
|
+
readonly running: number;
|
|
178
|
+
}>;
|
|
179
|
+
/** 当前已激活 scope 的 canonical IDs。 */
|
|
180
|
+
readonly activeScopeIds: readonly string[];
|
|
181
|
+
/** 当前正在执行的 Task IDs。 */
|
|
182
|
+
readonly runningTaskIds: readonly string[];
|
|
183
|
+
/** 当前已结算的 Task IDs;不携带 Check result、data 或 message。 */
|
|
184
|
+
readonly settledTaskIds: readonly string[];
|
|
185
|
+
/** 调用前已 flush 的有界累计事实与 captured action-observation prefix。 */
|
|
186
|
+
readonly measurement: AdmissionPolicyMeasurement;
|
|
187
|
+
/** 本轮与生命周期有关的最小只读事实。 */
|
|
188
|
+
readonly runtime: Readonly<{
|
|
189
|
+
readonly abortRequested: boolean;
|
|
190
|
+
readonly cancelled: boolean;
|
|
191
|
+
}>;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/** custom prepared strategy 在 graph ready 后读取的最小只读事实。 */
|
|
195
|
+
export interface CustomAdmissionPreparationContext {
|
|
196
|
+
/** 已规范化、递归冻结的完整静态调度图。 */
|
|
197
|
+
readonly graph: SchedulerGraphSnapshot;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/** prepared custom strategy 为当前 Run 返回的同步选择与可选 terminal completion。 */
|
|
201
|
+
export interface PreparedCustomAdmissionStrategy {
|
|
202
|
+
/** Scheduler 每轮同步调用;不得返回 Promise 或 thenable。 */
|
|
203
|
+
readonly decide: (this: void, context: AdmissionPolicyContext) => AdmissionProposal;
|
|
204
|
+
/** Scheduler 的 generic Hooks 完成后,才以 sealed terminal context 调用一次。 */
|
|
205
|
+
readonly complete?: (this: void, context: SchedulerMeasurementContext) => void | Promise<void>;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/** custom 的 closed authoring grammar。 */
|
|
209
|
+
export type CustomAdmissionStrategy =
|
|
210
|
+
| Readonly<{
|
|
211
|
+
readonly kind: "simple";
|
|
212
|
+
readonly decide: (this: void, context: AdmissionPolicyContext) => AdmissionProposal;
|
|
213
|
+
}>
|
|
214
|
+
| Readonly<{
|
|
215
|
+
readonly kind: "prepared";
|
|
216
|
+
readonly prepare: (
|
|
217
|
+
this: void,
|
|
218
|
+
context: CustomAdmissionPreparationContext
|
|
219
|
+
) => PreparedCustomAdmissionStrategy | Promise<PreparedCustomAdmissionStrategy>;
|
|
220
|
+
}>;
|
|
221
|
+
|
|
222
|
+
/** Definition authoring 的 closed admission policy。 */
|
|
223
|
+
export type AdmissionPolicy =
|
|
224
|
+
| Readonly<{ readonly kind: "static" }>
|
|
225
|
+
| Readonly<{
|
|
226
|
+
readonly kind: "custom";
|
|
227
|
+
readonly strategy: CustomAdmissionStrategy;
|
|
228
|
+
}>;
|
|
229
|
+
|
|
230
|
+
/** 定义级的 Check 调度预算与 admission policy。 */
|
|
231
|
+
export type SchedulerMeasurementTimingUnavailableReason =
|
|
232
|
+
| "clock-threw"
|
|
233
|
+
| "clock-non-finite"
|
|
234
|
+
| "clock-backward"
|
|
235
|
+
| "interval-invalid"
|
|
236
|
+
| "integral-invalid";
|
|
237
|
+
|
|
238
|
+
export type SchedulerMeasurementTiming =
|
|
239
|
+
| Readonly<{ readonly availability: "available" }>
|
|
240
|
+
| Readonly<{
|
|
241
|
+
readonly availability: "unavailable";
|
|
242
|
+
readonly reason: SchedulerMeasurementTimingUnavailableReason;
|
|
243
|
+
}>;
|
|
244
|
+
|
|
245
|
+
/** 所有公开 Scheduler context 共用的图 DTO;Task identity 一律为 `taskId`。 */
|
|
246
|
+
export interface SchedulerGraphSnapshot {
|
|
247
|
+
/** 全部 named resource capacities,按 resourceId 规范排序。 */
|
|
248
|
+
readonly resourceCapacities: readonly Readonly<{
|
|
249
|
+
/** named resource 的稳定 ID。 */
|
|
250
|
+
readonly resourceId: string;
|
|
251
|
+
/** 本次 invocation 可供原子 claim 的总 units。 */
|
|
252
|
+
readonly units: number;
|
|
253
|
+
}>[];
|
|
254
|
+
/** 全部静态 scopes 的 normalized lifecycle 边界。 */
|
|
255
|
+
readonly scopes: readonly Readonly<{
|
|
256
|
+
/** 选择其中任一列出的 Task 后会激活该 scope。 */
|
|
257
|
+
readonly activationTaskIds: readonly string[];
|
|
258
|
+
/** scope 的稳定 ID。 */
|
|
259
|
+
readonly id: string;
|
|
260
|
+
/** scope active 时允许的最大并行 Task 数。 */
|
|
261
|
+
readonly maxParallel: number;
|
|
262
|
+
/** 结算后关闭该 scope 的 terminal Task ID。 */
|
|
263
|
+
readonly terminalTaskId: string;
|
|
264
|
+
}>[];
|
|
265
|
+
/** 全部 normalized Tasks 及静态 admission metadata。 */
|
|
266
|
+
readonly tasks: readonly Readonly<{
|
|
267
|
+
/** 同一 selection layer 中用于静态排序的 priority。 */
|
|
268
|
+
readonly admissionPriority: number;
|
|
269
|
+
/** 必须以 completed settlement 满足的直接 dependency Task IDs。 */
|
|
270
|
+
readonly dependsOn: readonly string[];
|
|
271
|
+
/** 与 running Tasks 不能同时持有的 mutex IDs。 */
|
|
272
|
+
readonly mutex: readonly string[];
|
|
273
|
+
/** 只要求先结算、但不要求 completed 的直接 observed Task IDs。 */
|
|
274
|
+
readonly observes: readonly string[];
|
|
275
|
+
/** admission 时必须一次性取得的 named resource claims。 */
|
|
276
|
+
readonly resourceClaims: readonly Readonly<{
|
|
277
|
+
/** 被 claim 的 named resource ID。 */
|
|
278
|
+
readonly resourceId: string;
|
|
279
|
+
/** 该 Task 运行期间占用的 units。 */
|
|
280
|
+
readonly units: number;
|
|
281
|
+
}>[];
|
|
282
|
+
/** 所属静态 scope ID;不属于 scope 时为 null。 */
|
|
283
|
+
readonly scopeId: string | null;
|
|
284
|
+
/** Task 在全部 Scheduler DTO 中使用的稳定 ID。 */
|
|
285
|
+
readonly taskId: string;
|
|
286
|
+
}>[];
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/** 一条已关闭 occupancy interval 对累计值的有界贡献。 */
|
|
290
|
+
export interface SchedulerMeasurementIntervalContribution {
|
|
291
|
+
/** admission-viable 且当时可准入的 pending Task 数对 interval 的时间积分。 */
|
|
292
|
+
readonly admissiblePendingTaskMs: number;
|
|
293
|
+
/** 已接受 wait action 在 interval 内实际延续的毫秒数。 */
|
|
294
|
+
readonly acceptedWaitMs: number;
|
|
295
|
+
/** 因 root、scope 或 named resource capacity 不足而阻塞的 pending Task·ms。 */
|
|
296
|
+
readonly capacityBlockedTaskMs: number;
|
|
297
|
+
/** effectiveMaxParallel 对 interval 的 capacity-slot·ms 积分。 */
|
|
298
|
+
readonly effectiveCapacitySlotMs: number;
|
|
299
|
+
/** 因 mutex conflict 而阻塞的 pending Task·ms。 */
|
|
300
|
+
readonly mutexBlockedTaskMs: number;
|
|
301
|
+
/** root maxParallel 对 interval 的 capacity-slot·ms 积分。 */
|
|
302
|
+
readonly rootCapacitySlotMs: number;
|
|
303
|
+
/** running Task 数对 interval 的 Task·ms 积分。 */
|
|
304
|
+
readonly taskSlotMs: number;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
/** 已关闭 action-observation interval 的 timing 边界;不可用 timing 不伪造数值贡献。 */
|
|
308
|
+
export type SchedulerMeasurementActionObservationInterval =
|
|
309
|
+
| Readonly<{
|
|
310
|
+
readonly availability: "available";
|
|
311
|
+
readonly contribution: SchedulerMeasurementIntervalContribution;
|
|
312
|
+
}>
|
|
313
|
+
| Readonly<{
|
|
314
|
+
readonly availability: "unavailable";
|
|
315
|
+
readonly reason: SchedulerMeasurementTimingUnavailableReason;
|
|
316
|
+
}>;
|
|
317
|
+
|
|
318
|
+
/** 一条 policy action 之后发生的离散 Scheduler effect。 */
|
|
319
|
+
export type SchedulerMeasurementEffect =
|
|
320
|
+
| Readonly<{ readonly kind: "admitted"; readonly taskId: string }>
|
|
321
|
+
| Readonly<{
|
|
322
|
+
readonly kind: "settled";
|
|
323
|
+
readonly settlementKind:
|
|
324
|
+
| "completed"
|
|
325
|
+
| "prerequisite-unsatisfied"
|
|
326
|
+
| "failed"
|
|
327
|
+
| "blocked"
|
|
328
|
+
| "cancelled-before-start";
|
|
329
|
+
readonly taskId: string;
|
|
330
|
+
}>;
|
|
331
|
+
|
|
332
|
+
/** 上一 accepted policy action 之后的已 flush state observation,不声明 causality 或 critical path。 */
|
|
333
|
+
export type SchedulerMeasurementActionObservation =
|
|
334
|
+
| Readonly<{
|
|
335
|
+
readonly effects: readonly SchedulerMeasurementEffect[];
|
|
336
|
+
readonly interval: SchedulerMeasurementActionObservationInterval;
|
|
337
|
+
readonly kind: "select";
|
|
338
|
+
/** invocation 内的 accepted action 序号,从一开始。 */
|
|
339
|
+
readonly sequence: number;
|
|
340
|
+
readonly taskId: string;
|
|
341
|
+
}>
|
|
342
|
+
| Readonly<{
|
|
343
|
+
readonly effects: readonly SchedulerMeasurementEffect[];
|
|
344
|
+
readonly interval: SchedulerMeasurementActionObservationInterval;
|
|
345
|
+
readonly kind: "wait";
|
|
346
|
+
/** invocation 内的 accepted action 序号,从一开始。 */
|
|
347
|
+
readonly sequence: number;
|
|
348
|
+
readonly taskId: null;
|
|
349
|
+
}>;
|
|
350
|
+
|
|
351
|
+
/** custom policy 的有界 decision-boundary measurement reader。 */
|
|
352
|
+
export interface AdmissionPolicyMeasurement {
|
|
353
|
+
/** 当前 decision boundary 的累计标量;完整逐 Task table 只属于终态 measurement。 */
|
|
354
|
+
readonly cumulative: SchedulerDecisionMeasurementCumulative;
|
|
355
|
+
/** 当前 invocation 已捕获且不可变的 action observation prefix 长度。 */
|
|
356
|
+
readonly measurementCount: number;
|
|
357
|
+
/** 只读取当前 context 冻结的 observation prefix;越界 index 返回 `undefined`。 */
|
|
358
|
+
readonly measurementAt: (
|
|
359
|
+
this: void,
|
|
360
|
+
index: number
|
|
361
|
+
) => SchedulerMeasurementActionObservation | undefined;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
/** policy 决策时的有界累计事实;刻意不含 terminal per-Task table。 */
|
|
365
|
+
interface SchedulerDecisionMeasurementCumulativeFacts {
|
|
366
|
+
/** normalized declarative Definition 的匹配 fingerprint;不包含 controls 或 runtime facts。 */
|
|
367
|
+
readonly declarativeFingerprint: string;
|
|
368
|
+
/** 当前 boundary 前已累计的离散 Scheduler 计数。 */
|
|
369
|
+
readonly discrete: Readonly<{
|
|
370
|
+
/** Scheduler 已接受的 wait proposals 数。 */
|
|
371
|
+
readonly acceptedWaitCount: number;
|
|
372
|
+
/** 已实际 admission 的不同 Task 数。 */
|
|
373
|
+
readonly admittedCount: number;
|
|
374
|
+
/** 已观察到的最大同时 running Task 数。 */
|
|
375
|
+
readonly maxRunning: number;
|
|
376
|
+
}>;
|
|
377
|
+
/** 可来自不同 boundary、不能相加的 admission queue 峰值。 */
|
|
378
|
+
readonly peaks: SchedulerMeasurementPeakCounts;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
interface AvailableSchedulerDecisionMeasurementCumulative extends SchedulerDecisionMeasurementCumulativeFacts {
|
|
382
|
+
/** available 表示本 branch 的累计 timingFacts 可读。 */
|
|
383
|
+
readonly timing: Readonly<{ readonly availability: "available" }>;
|
|
384
|
+
/** decision boundary 前已累计的 timing integrals。 */
|
|
385
|
+
readonly timingFacts: Readonly<{
|
|
386
|
+
/** 已接受 wait action 累计延续的毫秒数。 */
|
|
387
|
+
readonly acceptedWaitMs: number;
|
|
388
|
+
/** effective capacity slot 的累计毫秒积分。 */
|
|
389
|
+
readonly effectiveCapacitySlotMs: number;
|
|
390
|
+
/** root capacity slot 的累计毫秒积分。 */
|
|
391
|
+
readonly rootCapacitySlotMs: number;
|
|
392
|
+
/** running Task slot 的累计毫秒积分。 */
|
|
393
|
+
readonly taskSlotMs: number;
|
|
394
|
+
}>;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
interface UnavailableSchedulerDecisionMeasurementCumulative extends SchedulerDecisionMeasurementCumulativeFacts {
|
|
398
|
+
readonly timing: Readonly<{
|
|
399
|
+
readonly availability: "unavailable";
|
|
400
|
+
readonly reason: SchedulerMeasurementTimingUnavailableReason;
|
|
401
|
+
}>;
|
|
402
|
+
readonly timingFacts?: never;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
/** custom policy 在 decision boundary 读取的有界累计 measurement;不含终态逐 Task table。 */
|
|
406
|
+
export type SchedulerDecisionMeasurementCumulative =
|
|
407
|
+
| AvailableSchedulerDecisionMeasurementCumulative
|
|
408
|
+
| UnavailableSchedulerDecisionMeasurementCumulative;
|
|
409
|
+
|
|
410
|
+
export interface SchedulerMeasurementPeakCounts {
|
|
411
|
+
/** 任一 boundary 上全部 admission-viable pending Tasks 的最大数量。 */
|
|
412
|
+
readonly admissionViablePendingTaskCount: number;
|
|
413
|
+
/** 任一 boundary 上可立即准入的 pending Tasks 最大数量。 */
|
|
414
|
+
readonly admissiblePendingTaskCount: number;
|
|
415
|
+
/** 任一 boundary 上 capacity-blocked pending Tasks 最大数量。 */
|
|
416
|
+
readonly capacityBlockedTaskCount: number;
|
|
417
|
+
/** 任一 boundary 上 mutex-blocked pending Tasks 最大数量。 */
|
|
418
|
+
readonly mutexBlockedTaskCount: number;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
export interface SchedulerMeasurementAdmission {
|
|
422
|
+
/** 该 Task 在 admission-viable pending 期间的互斥 delay 分类积分。 */
|
|
423
|
+
readonly admissionDelay: Readonly<{
|
|
424
|
+
/** Task 可准入但仍 pending 的累计毫秒数。 */
|
|
425
|
+
readonly admissiblePendingMs: number;
|
|
426
|
+
/** Task 因 capacity 不足仍 pending 的累计毫秒数。 */
|
|
427
|
+
readonly capacityBlockedMs: number;
|
|
428
|
+
/** Task 因 mutex conflict 仍 pending 的累计毫秒数。 */
|
|
429
|
+
readonly mutexBlockedMs: number;
|
|
430
|
+
}>;
|
|
431
|
+
/** Scheduler monotonic-clock timestamp in milliseconds, or no admission occurred. */
|
|
432
|
+
readonly admittedAtMonotonicMs: number | null;
|
|
433
|
+
/** Scheduler monotonic-clock timestamp in milliseconds, or no settlement occurred. */
|
|
434
|
+
readonly settledAtMonotonicMs: number | null;
|
|
435
|
+
/** 被测 Task 的稳定 ID。 */
|
|
436
|
+
readonly taskId: string;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
export interface SchedulerMeasurementTimingFacts {
|
|
440
|
+
/** 已接受 wait action 累计延续的毫秒数。 */
|
|
441
|
+
readonly acceptedWaitMs: number;
|
|
442
|
+
/** 进入过 admission-viable pending 集合的逐 Task timing facts。 */
|
|
443
|
+
readonly admissions: readonly SchedulerMeasurementAdmission[];
|
|
444
|
+
/** effective capacity slot 的累计毫秒积分。 */
|
|
445
|
+
readonly effectiveCapacitySlotMs: number;
|
|
446
|
+
/** Terminal Scheduler monotonic-clock timestamp in milliseconds. */
|
|
447
|
+
readonly endedAtMonotonicMs: number;
|
|
448
|
+
/** root capacity slot 的累计毫秒积分。 */
|
|
449
|
+
readonly rootCapacitySlotMs: number;
|
|
450
|
+
/** Scheduler 同步 shell control operations 内累计的毫秒数。 */
|
|
451
|
+
readonly schedulerControlPathMs: number;
|
|
452
|
+
/** decision diagnostic observation work 内累计的毫秒数。 */
|
|
453
|
+
readonly schedulerDecisionObservationMs: number;
|
|
454
|
+
/** First Scheduler monotonic-clock timestamp in milliseconds. */
|
|
455
|
+
readonly startedAtMonotonicMs: number;
|
|
456
|
+
/** running Task slot 的累计毫秒积分。 */
|
|
457
|
+
readonly taskSlotMs: number;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
interface SchedulerRawMeasurementFacts {
|
|
461
|
+
/** normalized declarative Definition 的匹配 fingerprint;不包含 controls 或 runtime facts。 */
|
|
462
|
+
readonly declarativeFingerprint: string;
|
|
463
|
+
/** 即使 timing unavailable 也保留的离散终态事实。 */
|
|
464
|
+
readonly discrete: Readonly<{
|
|
465
|
+
/** Scheduler 已接受的 wait proposals 数。 */
|
|
466
|
+
readonly acceptedWaitCount: number;
|
|
467
|
+
/** 已实际 admission 的不同 Task 数。 */
|
|
468
|
+
readonly admittedCount: number;
|
|
469
|
+
/** 最后一次 admission 后当时仍 active 的完整 Task ID 集合。 */
|
|
470
|
+
readonly completionTailActiveTaskIds: readonly string[];
|
|
471
|
+
/** 最后结算的 Task ID;没有 settlement 时为 null。 */
|
|
472
|
+
readonly lastSettledTaskId: string | null;
|
|
473
|
+
/** 已观察到的最大同时 running Task 数。 */
|
|
474
|
+
readonly maxRunning: number;
|
|
475
|
+
}>;
|
|
476
|
+
/** 可来自不同 boundary、不能相加的 admission queue 峰值。 */
|
|
477
|
+
readonly peaks: SchedulerMeasurementPeakCounts;
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
interface AvailableSchedulerRawMeasurement extends SchedulerRawMeasurementFacts {
|
|
481
|
+
/** available 表示完整终态 timingFacts 可读。 */
|
|
482
|
+
readonly timing: Readonly<{ readonly availability: "available" }>;
|
|
483
|
+
/** 基于 Scheduler monotonic clock 形成的完整终态 timing facts。 */
|
|
484
|
+
readonly timingFacts: SchedulerMeasurementTimingFacts;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
interface UnavailableSchedulerRawMeasurement extends SchedulerRawMeasurementFacts {
|
|
488
|
+
readonly timing: Readonly<{
|
|
489
|
+
readonly availability: "unavailable";
|
|
490
|
+
readonly reason: SchedulerMeasurementTimingUnavailableReason;
|
|
491
|
+
}>;
|
|
492
|
+
readonly timingFacts?: never;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
/** Scheduler-owned terminal 一阶事实;全部二级 summary 都由 Hook 投影。 */
|
|
496
|
+
export type SchedulerRawMeasurement =
|
|
497
|
+
| AvailableSchedulerRawMeasurement
|
|
498
|
+
| UnavailableSchedulerRawMeasurement;
|
|
499
|
+
|
|
500
|
+
/**
|
|
501
|
+
* 一次 Scheduler 终态 Hook 可读取的递归冻结上下文;不包含 Task 值、错误或可变 engine 对象。
|
|
502
|
+
*/
|
|
503
|
+
export interface SchedulerMeasurementContext {
|
|
504
|
+
/** 本次 Scheduler 实际使用的 normalized frozen graph。 */
|
|
505
|
+
readonly graph: SchedulerGraphSnapshot;
|
|
506
|
+
/** 不含 Task value、Check result 或 error 的终态 execution 投影。 */
|
|
507
|
+
readonly execution: Readonly<{
|
|
508
|
+
/** 至少实际启动过一次的 Task IDs,按首次 admission 顺序。 */
|
|
509
|
+
readonly admittedTaskIds: readonly string[];
|
|
510
|
+
/** graph 中每个 Task 的终态 Scheduler settlement,按 canonical Task 顺序。 */
|
|
511
|
+
readonly settledTasks: readonly Readonly<{
|
|
512
|
+
/** Scheduler settlement kind;completed 不等同于 Check passed。 */
|
|
513
|
+
readonly kind:
|
|
514
|
+
| "completed"
|
|
515
|
+
| "prerequisite-unsatisfied"
|
|
516
|
+
| "failed"
|
|
517
|
+
| "blocked"
|
|
518
|
+
| "cancelled-before-start";
|
|
519
|
+
/** 已结算 Task 的稳定 ID。 */
|
|
520
|
+
readonly taskId: string;
|
|
521
|
+
}>[];
|
|
522
|
+
}>;
|
|
523
|
+
/** Scheduler-owned 一阶计数与可选 timing facts。 */
|
|
524
|
+
readonly rawMeasurement: SchedulerRawMeasurement;
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
/** 一次 terminal Scheduler measurement 的 caller-owned sync/async consumer。 */
|
|
528
|
+
export type SchedulerMeasurementHook =
|
|
529
|
+
| ((this: void, context: SchedulerMeasurementContext) => void)
|
|
530
|
+
| ((this: void, context: SchedulerMeasurementContext) => Promise<void>);
|
|
531
|
+
|
|
532
|
+
/** 定义级的 Scheduler 预算、admission policy 与终态 measurement consumer。 */
|
|
533
|
+
export interface SchedulerPolicy {
|
|
534
|
+
/** normalized static or custom admission policy。 */
|
|
535
|
+
readonly admissionPolicy: AdmissionPolicy;
|
|
536
|
+
/** 同时 running 的 root Check 上限。 */
|
|
537
|
+
readonly maxParallel: number;
|
|
538
|
+
/** terminal measurement 的 caller-owned consumers,按配置顺序调用。 */
|
|
539
|
+
readonly measurementHooks: readonly SchedulerMeasurementHook[];
|
|
540
|
+
/** 本次 Definition 中可由 Check 原子占用的 named resource 总 units。 */
|
|
541
|
+
readonly resourceCapacities: Readonly<Record<string, number>>;
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
export interface DeclarativeSchedulerPolicy {
|
|
545
|
+
readonly admissionPolicy:
|
|
546
|
+
| Readonly<{ readonly kind: "static" }>
|
|
547
|
+
| Readonly<{
|
|
548
|
+
readonly kind: "custom";
|
|
549
|
+
readonly strategy: Readonly<{ readonly kind: "simple" | "prepared" }>;
|
|
550
|
+
}>;
|
|
551
|
+
readonly maxParallel: number;
|
|
552
|
+
readonly resourceCapacities: Readonly<Record<string, number>>;
|
|
553
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
AdmissionPolicy,
|
|
3
|
+
CustomAdmissionPreparationContext,
|
|
4
|
+
PreparedCustomAdmissionStrategy,
|
|
5
|
+
SchedulerGraphSnapshot
|
|
6
|
+
} from "../../project-definition/project-definition.ts";
|
|
7
|
+
import { snapshotClosedPolicyRecord } from "../../data-boundary/closed-values.ts";
|
|
8
|
+
import { admissionSelectionPolicyFor } from "../task-scheduler/custom-admission-policy.ts";
|
|
9
|
+
import type { PreparedAdmissionStrategy } from "./prepared-admission-strategy.ts";
|
|
10
|
+
|
|
11
|
+
/** Builds the exact Run-local Scheduler handoff and optional terminal participant for custom strategy. */
|
|
12
|
+
export async function prepareCustomAdmissionStrategy(
|
|
13
|
+
policy: Extract<AdmissionPolicy, { readonly kind: "custom" }>,
|
|
14
|
+
graph: SchedulerGraphSnapshot
|
|
15
|
+
): Promise<PreparedAdmissionStrategy> {
|
|
16
|
+
const strategy = policy.strategy;
|
|
17
|
+
if (strategy.kind === "simple") {
|
|
18
|
+
return preparedCustomAdmissionStrategy({ decide: strategy.decide });
|
|
19
|
+
}
|
|
20
|
+
const prepared = await prepareCustomStrategy(strategy.prepare, Object.freeze({ graph }));
|
|
21
|
+
return preparedCustomAdmissionStrategy(prepared);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
async function prepareCustomStrategy(
|
|
25
|
+
prepare: (
|
|
26
|
+
this: void,
|
|
27
|
+
context: CustomAdmissionPreparationContext
|
|
28
|
+
) => PreparedCustomAdmissionStrategy | Promise<PreparedCustomAdmissionStrategy>,
|
|
29
|
+
context: CustomAdmissionPreparationContext
|
|
30
|
+
): Promise<PreparedCustomAdmissionStrategy> {
|
|
31
|
+
let prepared: unknown;
|
|
32
|
+
try {
|
|
33
|
+
prepared = await prepare(context);
|
|
34
|
+
} catch {
|
|
35
|
+
throw new AdmissionStrategyPreparationFailure();
|
|
36
|
+
}
|
|
37
|
+
const record = snapshotClosedPolicyRecord(prepared, {
|
|
38
|
+
optional: ["complete"],
|
|
39
|
+
required: ["decide"]
|
|
40
|
+
});
|
|
41
|
+
if (record === undefined || !isPreparedCustomDecision(record.decide)) {
|
|
42
|
+
throw new AdmissionStrategyPreparationFailure();
|
|
43
|
+
}
|
|
44
|
+
if (record.complete !== undefined && !isPreparedCustomCompletion(record.complete)) {
|
|
45
|
+
throw new AdmissionStrategyPreparationFailure();
|
|
46
|
+
}
|
|
47
|
+
return Object.freeze({
|
|
48
|
+
decide: record.decide,
|
|
49
|
+
...(record.complete === undefined ? {} : { complete: record.complete })
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function isPreparedCustomDecision(
|
|
54
|
+
value: unknown
|
|
55
|
+
): value is PreparedCustomAdmissionStrategy["decide"] {
|
|
56
|
+
return typeof value === "function";
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function isPreparedCustomCompletion(
|
|
60
|
+
value: unknown
|
|
61
|
+
): value is NonNullable<PreparedCustomAdmissionStrategy["complete"]> {
|
|
62
|
+
return typeof value === "function";
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function preparedCustomAdmissionStrategy(
|
|
66
|
+
strategy: Pick<PreparedCustomAdmissionStrategy, "decide" | "complete">
|
|
67
|
+
): PreparedAdmissionStrategy {
|
|
68
|
+
const completion =
|
|
69
|
+
strategy.complete === undefined
|
|
70
|
+
? Object.freeze({ kind: "none" as const })
|
|
71
|
+
: Object.freeze({ kind: "measurement-hook" as const, complete: strategy.complete });
|
|
72
|
+
return Object.freeze({
|
|
73
|
+
admissionPolicy: admissionSelectionPolicyFor(strategy.decide),
|
|
74
|
+
completion,
|
|
75
|
+
requiresTerminalMeasurement: completion.kind === "measurement-hook"
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/** Raised only when public prepared custom strategy setup cannot form its exact Run-local closure. */
|
|
80
|
+
export class AdmissionStrategyPreparationFailure extends Error {}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { SchedulerMeasurementContext } from "../../project-definition/project-definition.ts";
|
|
2
|
+
import type { AdmissionSelectionPolicy } from "../task-scheduler/admission-selection-policy.ts";
|
|
3
|
+
|
|
4
|
+
export interface InternalAdmissionStrategyCompleteContext {
|
|
5
|
+
readonly terminalMeasurement: SchedulerMeasurementContext;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export type PreparedAdmissionStrategyCompletion =
|
|
9
|
+
| Readonly<{ readonly kind: "none" }>
|
|
10
|
+
| Readonly<{
|
|
11
|
+
readonly kind: "internal";
|
|
12
|
+
readonly complete: (context: InternalAdmissionStrategyCompleteContext) => Promise<void>;
|
|
13
|
+
}>
|
|
14
|
+
| Readonly<{
|
|
15
|
+
readonly kind: "measurement-hook";
|
|
16
|
+
readonly complete: (context: SchedulerMeasurementContext) => void | Promise<void>;
|
|
17
|
+
}>;
|
|
18
|
+
|
|
19
|
+
/** The invocation-scoped handoff from an admission provider to Scheduler and terminal delivery. */
|
|
20
|
+
export interface PreparedAdmissionStrategy {
|
|
21
|
+
/** The complete frozen policy handoff consumed by resolved Check execution and Scheduler. */
|
|
22
|
+
readonly admissionPolicy: AdmissionSelectionPolicy;
|
|
23
|
+
/** Closed provider demand merged with output and policy measurement requirements by invocation. */
|
|
24
|
+
readonly requiresTerminalMeasurement: boolean;
|
|
25
|
+
/** Completion owner: no public lifecycle, contained private lifecycle, or public output participant. */
|
|
26
|
+
readonly completion: PreparedAdmissionStrategyCompletion;
|
|
27
|
+
}
|