@zxyycom/vibe-check 0.0.1 → 0.0.3
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 +79 -75
- package/dist/esm/check/check.mjs +4 -0
- package/dist/esm/check/check.mjs.map +1 -1
- package/dist/esm/check/flag-enablement.mjs +32 -0
- package/dist/esm/check/flag-enablement.mjs.map +1 -0
- package/dist/esm/check/handoff-provider-identity.mjs +18 -0
- package/dist/esm/check/handoff-provider-identity.mjs.map +1 -0
- package/dist/esm/check/inherited-collection.mjs +2 -2
- package/dist/esm/check/inherited-collection.mjs.map +1 -1
- package/dist/esm/check/project-changes.mjs +2 -0
- package/dist/esm/check/project-changes.mjs.map +1 -0
- package/dist/esm/check/project-context.mjs +2 -0
- package/dist/esm/check/project-context.mjs.map +1 -0
- 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/facts.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/canonical-data.mjs +36 -7
- package/dist/esm/data-boundary/canonical-data.mjs.map +1 -1
- package/dist/esm/data-boundary/canonical-json.mjs.map +1 -1
- package/dist/esm/data-boundary/closed-values.mjs +43 -3
- package/dist/esm/data-boundary/closed-values.mjs.map +1 -1
- package/dist/esm/{package-checks/project-files → data-boundary}/config-glob.mjs +3 -3
- package/dist/esm/data-boundary/config-glob.mjs.map +1 -0
- package/dist/esm/data-boundary/project-path.mjs +19 -0
- package/dist/esm/data-boundary/project-path.mjs.map +1 -0
- 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 +16 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/machine-output/v4/atomic-publication.mjs +5 -16
- package/dist/esm/machine-output/v4/atomic-publication.mjs.map +1 -1
- package/dist/esm/package-checks/check-authoring.mjs +69 -0
- package/dist/esm/package-checks/check-authoring.mjs.map +1 -0
- 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/command-check/command-check.mjs +55 -0
- package/dist/esm/package-checks/command-check/command-check.mjs.map +1 -0
- package/dist/esm/package-checks/command-check/contract.mjs +2 -0
- package/dist/esm/package-checks/command-check/contract.mjs.map +1 -0
- package/dist/esm/package-checks/command-check/execution.mjs +134 -0
- package/dist/esm/package-checks/command-check/execution.mjs.map +1 -0
- package/dist/esm/package-checks/command-check/options.mjs +284 -0
- package/dist/esm/package-checks/command-check/options.mjs.map +1 -0
- package/dist/esm/package-checks/command-check/transcript.mjs +26 -0
- package/dist/esm/package-checks/command-check/transcript.mjs.map +1 -0
- 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 +10 -12
- package/dist/esm/package-checks/duplicate-detection/default-check.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/execution.mjs +44 -20
- 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 +2 -2
- 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/constructor.mjs +9 -11
- package/dist/esm/package-checks/file-metrics/constructor.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/execution.mjs +11 -20
- 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/options.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 +2 -2
- package/dist/esm/package-checks/file-metrics/scc/availability.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/scc/batch-planner.mjs +38 -0
- package/dist/esm/package-checks/file-metrics/scc/batch-planner.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/scc/logical-scan-resources.mjs +35 -0
- package/dist/esm/package-checks/file-metrics/scc/logical-scan-resources.mjs.map +1 -0
- 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 +104 -31
- package/dist/esm/package-checks/file-metrics/scc/scanner.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/analysis.mjs +61 -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 +22 -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 +218 -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 +106 -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 +265 -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 +404 -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 +216 -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 +85 -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 +612 -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 +25 -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 +544 -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 +69 -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 +120 -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 +10 -12
- package/dist/esm/package-checks/function-metrics/constructor.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/execution.mjs +51 -35
- 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 +163 -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/{function-metrics/lizard → 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 +12 -1
- package/dist/esm/package-checks/host-environment/git.mjs.map +1 -1
- package/dist/esm/package-checks/host-environment/path.mjs +1 -17
- package/dist/esm/package-checks/host-environment/path.mjs.map +1 -1
- package/dist/esm/package-checks/host-environment/process/contract.mjs.map +1 -1
- package/dist/esm/package-checks/host-environment/process/result.mjs +43 -17
- package/dist/esm/package-checks/host-environment/process/result.mjs.map +1 -1
- package/dist/esm/package-checks/host-environment/process/runner.mjs +7 -5
- package/dist/esm/package-checks/host-environment/process/runner.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/default-check.mjs +9 -11
- package/dist/esm/package-checks/json-schema-validation/default-check.mjs.map +1 -1
- 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-schema-validation/reference-resolver.mjs +6 -2
- package/dist/esm/package-checks/json-schema-validation/reference-resolver.mjs.map +1 -1
- package/dist/esm/package-checks/json-schema-validation/schema-policy.mjs +11 -3
- package/dist/esm/package-checks/json-schema-validation/schema-policy.mjs.map +1 -1
- package/dist/esm/package-checks/json-validation/default-check.mjs +9 -11
- package/dist/esm/package-checks/json-validation/default-check.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/json-validation/options.mjs.map +1 -1
- package/dist/esm/package-checks/local-cache-options.mjs +28 -0
- package/dist/esm/package-checks/local-cache-options.mjs.map +1 -0
- package/dist/esm/package-checks/maintenance-reminders/final-data.mjs.map +1 -1
- package/dist/esm/package-checks/maintenance-reminders/maintenance-reminders.mjs +37 -45
- package/dist/esm/package-checks/maintenance-reminders/maintenance-reminders.mjs.map +1 -1
- package/dist/esm/package-checks/maintenance-reminders/maintenance-support.mjs +3 -1
- package/dist/esm/package-checks/maintenance-reminders/maintenance-support.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/default-check.mjs +19 -27
- 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/markdown-parser.mjs +1 -3
- package/dist/esm/package-checks/markdown-link-validation/markdown-parser.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/options-resolution.mjs +10 -3
- 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 +12 -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 +184 -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/markdown-lint/adapter.mjs +125 -0
- package/dist/esm/package-checks/markdown-lint/adapter.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/default-check.mjs +37 -0
- package/dist/esm/package-checks/markdown-lint/default-check.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/execution.mjs +202 -0
- package/dist/esm/package-checks/markdown-lint/execution.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/final-data.mjs +16 -0
- package/dist/esm/package-checks/markdown-lint/final-data.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/finding-messages.mjs +72 -0
- package/dist/esm/package-checks/markdown-lint/finding-messages.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/finding-waiver-identity.mjs +41 -0
- package/dist/esm/package-checks/markdown-lint/finding-waiver-identity.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/findings-cache.mjs +110 -0
- package/dist/esm/package-checks/markdown-lint/findings-cache.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/options-resolution.mjs +74 -0
- package/dist/esm/package-checks/markdown-lint/options-resolution.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/options-validation.mjs +41 -0
- package/dist/esm/package-checks/markdown-lint/options-validation.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/options.mjs +13 -0
- package/dist/esm/package-checks/markdown-lint/options.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/records.mjs +65 -0
- package/dist/esm/package-checks/markdown-lint/records.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/unavailable-reasons.mjs +14 -0
- package/dist/esm/package-checks/markdown-lint/unavailable-reasons.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/collection.mjs +24 -20
- package/dist/esm/package-checks/project-files/collection.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/configuration.mjs +3 -11
- package/dist/esm/package-checks/project-files/configuration.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/gitlink-revision.mjs +3 -6
- package/dist/esm/package-checks/project-files/gitlink-revision.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/gitlink-worktree.mjs +23 -7
- 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-paths.mjs +3 -3
- package/dist/esm/package-checks/project-files/revision-paths.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/revision-worktree-files.mjs +12 -16
- 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 +37 -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 +192 -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 +84 -0
- package/dist/esm/package-checks/secret-detection/secretlint/adapter.mjs.map +1 -0
- package/dist/esm/package-tools/admission-policy/define-admission-policy.mjs +10 -0
- package/dist/esm/package-tools/admission-policy/define-admission-policy.mjs.map +1 -0
- package/dist/esm/package-tools/cache/cache-json-by-key.mjs +188 -0
- package/dist/esm/package-tools/cache/cache-json-by-key.mjs.map +1 -0
- package/dist/esm/package-tools/finding-presentation/finding-presentation.mjs +40 -0
- package/dist/esm/package-tools/finding-presentation/finding-presentation.mjs.map +1 -0
- package/dist/esm/{finding-waivers → package-tools/finding-waivers}/reconciliation.mjs +14 -5
- package/dist/esm/package-tools/finding-waivers/reconciliation.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/critical-path-ranking.mjs +46 -0
- package/dist/esm/package-tools/learned-critical-path/critical-path-ranking.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/bounded-history.mjs +56 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/bounded-history.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/prediction.mjs +122 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/prediction.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/preparation.mjs +43 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/preparation.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/recording.mjs +109 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/recording.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/storage.mjs +187 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/storage.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/selection-layers.mjs +27 -0
- package/dist/esm/package-tools/learned-critical-path/selection-layers.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/static-decision.mjs +55 -0
- package/dist/esm/package-tools/learned-critical-path/static-decision.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/strategy.mjs +179 -0
- package/dist/esm/package-tools/learned-critical-path/strategy.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/authoring.mjs +19 -176
- package/dist/esm/project-definition/check-tree/authoring.mjs.map +1 -1
- package/dist/esm/project-definition/check-tree/check-fields-authoring.mjs +184 -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/flag-conditions.mjs +71 -0
- package/dist/esm/project-definition/check-tree/flag-conditions.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/materialization.mjs +22 -9
- package/dist/esm/project-definition/check-tree/materialization.mjs.map +1 -1
- package/dist/esm/project-definition/check-tree/resolution.mjs +52 -19
- 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 +74 -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-changes.mjs +70 -0
- package/dist/esm/project-definition/project-changes.mjs.map +1 -0
- package/dist/esm/project-definition/project-definition-validation.mjs +132 -16
- package/dist/esm/project-definition/project-definition-validation.mjs.map +1 -1
- package/dist/esm/project-definition/project-definition.mjs +62 -50
- 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 +57 -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 +42 -57
- package/dist/esm/project-run/aggregation.mjs.map +1 -1
- package/dist/esm/project-run/changes/git.mjs +161 -0
- package/dist/esm/project-run/changes/git.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/admitted-check-execution.mjs +41 -0
- package/dist/esm/project-run/check-execution/admitted-check-execution.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/callback.mjs +37 -9
- 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 +99 -6
- package/dist/esm/project-run/check-execution/dependencies.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/execution-finalization.mjs +57 -14
- package/dist/esm/project-run/check-execution/execution-finalization.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/execution-settlement.mjs +44 -19
- package/dist/esm/project-run/check-execution/execution-settlement.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/flag-controls.mjs +95 -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-result.mjs → preparation-result.mjs} +24 -24
- package/dist/esm/project-run/check-execution/preparation-result.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/preparation.mjs +172 -0
- package/dist/esm/project-run/check-execution/preparation.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/ready-check-execution.mjs +71 -0
- package/dist/esm/project-run/check-execution/ready-check-execution.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/resolved-checks.mjs +44 -139
- 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/check-execution/scheduled-check-run.mjs +79 -0
- package/dist/esm/project-run/check-execution/scheduled-check-run.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/terminal-result.mjs +70 -25
- package/dist/esm/project-run/check-execution/terminal-result.mjs.map +1 -1
- package/dist/esm/project-run/{completion.mjs → completion/completion.mjs} +34 -39
- 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 +79 -62
- package/dist/esm/project-run/controls/validation.mjs.map +1 -1
- package/dist/esm/project-run/diagnostic-logging/diagnostic-detail-rendering.mjs +3 -3
- package/dist/esm/project-run/diagnostic-logging/diagnostic-detail-rendering.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 +65 -0
- package/dist/esm/project-run/invocation/candidate.mjs.map +1 -0
- package/dist/esm/project-run/invocation/candidates.mjs +26 -0
- package/dist/esm/project-run/invocation/candidates.mjs.map +1 -0
- package/dist/esm/project-run/invocation/creation.mjs +83 -0
- package/dist/esm/project-run/invocation/creation.mjs.map +1 -0
- package/dist/esm/project-run/invocation/execution.mjs +98 -0
- package/dist/esm/project-run/invocation/execution.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/run.mjs +82 -0
- package/dist/esm/project-run/invocation/run.mjs.map +1 -0
- package/dist/esm/project-run/invocation/scheduler.mjs +64 -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 +140 -26
- package/dist/esm/project-run/progress-rendering/presentation.mjs.map +1 -1
- package/dist/esm/project-run/progress-rendering/renderer-formatting.mjs +118 -22
- package/dist/esm/project-run/progress-rendering/renderer-formatting.mjs.map +1 -1
- package/dist/esm/project-run/progress-rendering/renderer-lifecycle.mjs +50 -10
- package/dist/esm/project-run/progress-rendering/renderer-lifecycle.mjs.map +1 -1
- package/dist/esm/project-run/progress-rendering/renderer.mjs +11 -4
- package/dist/esm/project-run/progress-rendering/renderer.mjs.map +1 -1
- package/dist/esm/project-run/project-context.mjs +3 -2
- 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-lookup.mjs +45 -0
- package/dist/esm/project-run/task-scheduler/admission-core/compiled-graph-lookup.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/compiled-graph.mjs +171 -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 +196 -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 +168 -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/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 +211 -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 +164 -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 +91 -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 +183 -114
- package/dist/esm/project-run/task-scheduler/scheduler.mjs.map +1 -1
- package/docs/api-mechanics.md +167 -121
- package/docs/changelog.md +300 -0
- package/docs/checks/duplicate-detection.md +131 -60
- package/docs/checks/file-metrics.md +68 -46
- package/docs/checks/function-metrics.md +119 -163
- package/docs/checks/json-schema-validation.md +65 -37
- package/docs/checks/json-validation.md +59 -27
- package/docs/checks/maintenance-reminders.md +68 -32
- package/docs/checks/markdown-link-validation.md +104 -56
- package/docs/checks/markdown-lint.md +167 -0
- package/docs/checks/secret-detection.md +153 -0
- package/docs/examples/artifacts/mixed-outcomes/definition.ts +14 -14
- package/docs/guides/building-project-gate.md +706 -0
- package/docs/guides/cache-results.md +63 -0
- package/docs/guides/callbacks.md +93 -0
- package/docs/guides/check-dependencies.md +152 -0
- package/docs/guides/collecting-project-files.md +59 -0
- package/docs/guides/command-check.md +155 -0
- package/docs/guides/data-boundaries.md +140 -0
- package/docs/guides/extending-check-lifecycle.md +164 -0
- package/docs/guides/finding-waivers.md +87 -0
- package/docs/guides/learned-scheduling.md +83 -0
- package/docs/guides/presenting-findings.md +54 -0
- package/docs/guides/run-outputs.md +171 -0
- package/docs/guides/scheduling.md +208 -0
- package/docs/guides/simulating-admission.md +55 -0
- package/docs/output.md +13 -21
- 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 +19 -6
- package/src/check/check.ts +382 -92
- package/src/check/flag-enablement.ts +76 -0
- package/src/check/handoff-provider-identity.ts +34 -0
- package/src/check/inherited-collection.ts +2 -2
- package/src/check/project-changes.ts +14 -0
- package/src/check/project-context.ts +11 -0
- package/src/check-settlement/fact-validation.ts +29 -39
- package/src/check-settlement/facts.ts +1 -1
- 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/canonical-data.ts +36 -9
- package/src/data-boundary/canonical-json.ts +18 -1
- package/src/data-boundary/closed-values.ts +54 -5
- package/src/data-boundary/config-glob.ts +17 -0
- package/src/data-boundary/project-path.ts +21 -0
- package/src/data-boundary/value-shapes.ts +12 -0
- package/src/index.ts +134 -5
- package/src/machine-output/v4/atomic-publication.ts +4 -17
- package/src/package-checks/check-authoring.ts +136 -0
- 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/command-check/command-check.ts +152 -0
- package/src/package-checks/command-check/contract.ts +168 -0
- package/src/package-checks/command-check/execution.ts +211 -0
- package/src/package-checks/command-check/options.ts +331 -0
- package/src/package-checks/command-check/transcript.ts +35 -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 +38 -7
- package/src/package-checks/duplicate-detection/execution.ts +82 -24
- 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 +2 -2
- 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 +26 -3
- package/src/package-checks/duplicate-detection/records.ts +65 -12
- package/src/package-checks/file-metrics/constructor.ts +29 -6
- package/src/package-checks/file-metrics/execution.ts +17 -20
- 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/options.ts +6 -3
- package/src/package-checks/file-metrics/records.ts +11 -23
- package/src/package-checks/file-metrics/scc/availability.ts +2 -2
- package/src/package-checks/file-metrics/scc/batch-planner.ts +56 -0
- package/src/package-checks/file-metrics/scc/logical-scan-resources.ts +59 -0
- package/src/package-checks/file-metrics/scc/parser.ts +4 -4
- package/src/package-checks/file-metrics/scc/scanner.ts +135 -33
- package/src/package-checks/function-metrics/analysis.ts +81 -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 +269 -0
- package/src/package-checks/function-metrics/analyzer/extensions/extension-base.ts +33 -0
- package/src/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.ts +25 -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 +313 -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 +113 -0
- package/src/package-checks/function-metrics/analyzer/readers/perl.ts +340 -0
- package/src/package-checks/function-metrics/analyzer/readers/php-states.ts +253 -0
- package/src/package-checks/function-metrics/analyzer/readers/php.ts +63 -0
- package/src/package-checks/function-metrics/analyzer/readers/plsql.ts +310 -0
- package/src/package-checks/function-metrics/analyzer/readers/python.ts +432 -0
- package/src/package-checks/function-metrics/analyzer/readers/r.ts +235 -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 +96 -0
- package/src/package-checks/function-metrics/analyzer/readers/typescript.ts +599 -0
- package/src/package-checks/function-metrics/analyzer/readers/vue.ts +43 -0
- package/src/package-checks/function-metrics/analyzer/readers/zig.ts +36 -0
- package/src/package-checks/function-metrics/analyzer/shared/clike.ts +541 -0
- package/src/package-checks/function-metrics/analyzer/shared/code-reader.ts +684 -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 +80 -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 +164 -0
- package/src/package-checks/function-metrics/analyzer-worker.ts +31 -0
- package/src/package-checks/function-metrics/constructor.ts +32 -9
- package/src/package-checks/function-metrics/execution.ts +94 -41
- 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 +223 -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 +32 -13
- 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 +13 -2
- package/src/package-checks/host-environment/path.ts +1 -20
- package/src/package-checks/host-environment/process/contract.ts +17 -9
- package/src/package-checks/host-environment/process/result.ts +48 -20
- package/src/package-checks/host-environment/process/runner.ts +8 -4
- package/src/package-checks/host-environment/process.ts +10 -0
- package/src/package-checks/json-schema-validation/default-check.ts +38 -5
- 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 +27 -1
- package/src/package-checks/json-schema-validation/reference-resolver.ts +6 -2
- package/src/package-checks/json-schema-validation/schema-policy.ts +10 -5
- package/src/package-checks/json-validation/default-check.ts +27 -6
- 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/json-validation/options.ts +4 -1
- package/src/package-checks/local-cache-options.ts +40 -0
- package/src/package-checks/maintenance-reminders/final-data.ts +18 -0
- package/src/package-checks/maintenance-reminders/maintenance-reminders.ts +89 -9
- package/src/package-checks/maintenance-reminders/maintenance-support.ts +3 -3
- package/src/package-checks/markdown-link-validation/default-check.ts +57 -8
- 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/markdown-parser.ts +1 -5
- package/src/package-checks/markdown-link-validation/options-resolution.ts +14 -3
- package/src/package-checks/markdown-link-validation/options-validation.ts +12 -19
- package/src/package-checks/markdown-link-validation/options.ts +15 -1
- package/src/package-checks/markdown-link-validation/parse-facts-cache-payload.ts +245 -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/markdown-lint/adapter.ts +167 -0
- package/src/package-checks/markdown-lint/default-check.ts +92 -0
- package/src/package-checks/markdown-lint/execution.ts +266 -0
- package/src/package-checks/markdown-lint/final-data.ts +33 -0
- package/src/package-checks/markdown-lint/finding-messages.ts +87 -0
- package/src/package-checks/markdown-lint/finding-waiver-identity.ts +54 -0
- package/src/package-checks/markdown-lint/findings-cache.ts +141 -0
- package/src/package-checks/markdown-lint/options-resolution.ts +102 -0
- package/src/package-checks/markdown-lint/options-validation.ts +50 -0
- package/src/package-checks/markdown-lint/options.ts +82 -0
- package/src/package-checks/markdown-lint/records.ts +132 -0
- package/src/package-checks/markdown-lint/unavailable-reasons.ts +33 -0
- package/src/package-checks/project-files/collection.ts +39 -23
- package/src/package-checks/project-files/config-glob.ts +1 -17
- package/src/package-checks/project-files/configuration.ts +4 -15
- package/src/package-checks/project-files/gitlink-revision.ts +5 -7
- package/src/package-checks/project-files/gitlink-worktree.ts +36 -8
- package/src/package-checks/project-files/public-collection.ts +92 -0
- package/src/package-checks/project-files/revision-paths.ts +3 -3
- package/src/package-checks/project-files/revision-worktree-files.ts +17 -17
- package/src/package-checks/secret-detection/classification.ts +30 -0
- package/src/package-checks/secret-detection/default-check.ts +73 -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 +290 -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 +39 -0
- package/src/package-checks/secret-detection/records.ts +77 -0
- package/src/package-checks/secret-detection/secretlint/adapter.ts +122 -0
- package/src/package-tools/admission-policy/define-admission-policy.ts +54 -0
- package/src/package-tools/cache/cache-json-by-key.ts +300 -0
- package/src/package-tools/finding-presentation/finding-presentation.ts +69 -0
- package/src/{finding-waivers → package-tools/finding-waivers}/reconciliation.ts +16 -8
- package/src/package-tools/learned-critical-path/critical-path-ranking.ts +76 -0
- package/src/package-tools/learned-critical-path/duration-model/bounded-history.ts +108 -0
- package/src/package-tools/learned-critical-path/duration-model/prediction.ts +184 -0
- package/src/package-tools/learned-critical-path/duration-model/preparation.ts +79 -0
- package/src/package-tools/learned-critical-path/duration-model/recording.ts +209 -0
- package/src/package-tools/learned-critical-path/duration-model/storage.ts +251 -0
- package/src/package-tools/learned-critical-path/selection-layers.ts +71 -0
- package/src/package-tools/learned-critical-path/static-decision.ts +105 -0
- package/src/package-tools/learned-critical-path/strategy.ts +302 -0
- package/src/project-definition/check-tree/authoring.ts +40 -234
- package/src/project-definition/check-tree/check-fields-authoring.ts +242 -0
- package/src/project-definition/check-tree/collection-authoring.ts +13 -0
- package/src/project-definition/check-tree/flag-conditions.ts +99 -0
- package/src/project-definition/check-tree/materialization.ts +21 -9
- package/src/project-definition/check-tree/resolution.ts +84 -28
- package/src/project-definition/check-tree/scheduling-authoring.ts +114 -0
- package/src/project-definition/declarative-snapshot.ts +94 -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-changes.ts +112 -0
- package/src/project-definition/project-definition-validation.ts +166 -19
- package/src/project-definition/project-definition.ts +177 -67
- package/src/project-definition/resource-unit-mapping.ts +25 -0
- package/src/project-definition/scheduler-policy.ts +556 -0
- package/src/project-run/admission-strategy-provider/custom-strategy-preparation.ts +83 -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 +52 -70
- package/src/project-run/changes/git.ts +206 -0
- package/src/project-run/check-execution/admitted-check-execution.ts +62 -0
- package/src/project-run/check-execution/callback.ts +52 -9
- package/src/project-run/check-execution/console-capture.ts +262 -0
- package/src/project-run/check-execution/dependencies.ts +161 -10
- package/src/project-run/check-execution/execution-finalization.ts +103 -27
- package/src/project-run/check-execution/execution-settlement.ts +99 -32
- package/src/project-run/check-execution/flag-controls.ts +146 -0
- package/src/project-run/check-execution/lifecycle.ts +29 -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-result.ts → preparation-result.ts} +34 -32
- package/src/project-run/check-execution/preparation.ts +309 -0
- package/src/project-run/check-execution/ready-check-execution.ts +97 -0
- package/src/project-run/check-execution/resolved-checks.ts +92 -232
- package/src/project-run/check-execution/resolved-execution-result.ts +22 -0
- package/src/project-run/check-execution/scheduled-check-run.ts +119 -0
- package/src/project-run/check-execution/terminal-result.ts +108 -29
- package/src/project-run/{completion.ts → completion/completion.ts} +33 -59
- 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 +22 -9
- 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 +110 -68
- package/src/project-run/diagnostic-logging/diagnostic-detail-rendering.ts +1 -2
- 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 +99 -0
- package/src/project-run/invocation/candidates.ts +56 -0
- package/src/project-run/invocation/creation.ts +120 -0
- package/src/project-run/invocation/execution.ts +136 -0
- package/src/project-run/invocation/paths.ts +154 -0
- package/src/project-run/invocation/progress.ts +38 -0
- package/src/project-run/invocation/run.ts +144 -0
- package/src/project-run/invocation/scheduler.ts +82 -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 +150 -36
- package/src/project-run/progress-rendering/renderer-formatting.ts +185 -25
- package/src/project-run/progress-rendering/renderer-lifecycle.ts +61 -9
- package/src/project-run/progress-rendering/renderer.ts +23 -6
- package/src/project-run/project-context.ts +10 -5
- package/src/project-run/result.ts +50 -4
- package/src/project-run/run.ts +7 -6
- package/src/project-run/task-scheduler/admission-core/compiled-graph-lookup.ts +71 -0
- package/src/project-run/task-scheduler/admission-core/compiled-graph.ts +321 -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 +297 -0
- package/src/project-run/task-scheduler/admission-core/selection-seed.ts +282 -0
- package/src/project-run/task-scheduler/admission-core/selection-transition.ts +245 -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/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 +267 -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 +198 -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 +126 -0
- package/src/project-run/task-scheduler/scheduler-task-lifecycle.ts +150 -0
- package/src/project-run/task-scheduler/scheduler-terminal-measurement.ts +97 -0
- package/src/project-run/task-scheduler/scheduler.ts +233 -171
- package/types/check/check.d.ts +225 -69
- package/types/check/flag-enablement.d.ts +42 -0
- package/types/check/handoff-provider-identity.d.ts +12 -0
- package/types/check/inherited-collection.d.ts +1 -1
- package/types/check/project-changes.d.ts +13 -0
- package/types/check/project-context.d.ts +10 -0
- package/types/check-settlement/facts.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/canonical-data.d.ts +28 -5
- package/types/data-boundary/canonical-json.d.ts +18 -1
- package/types/data-boundary/closed-values.d.ts +24 -0
- package/types/data-boundary/config-glob.d.ts +5 -0
- package/types/data-boundary/project-path.d.ts +4 -0
- package/types/data-boundary/value-shapes.d.ts +3 -0
- package/types/index.d.ts +40 -9
- package/types/package-checks/check-authoring.d.ts +45 -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/command-check/command-check.d.ts +48 -0
- package/types/package-checks/command-check/contract.d.ts +108 -0
- package/types/package-checks/command-check/execution.d.ts +7 -0
- package/types/package-checks/command-check/options.d.ts +11 -0
- package/types/package-checks/command-check/transcript.d.ts +8 -0
- package/types/package-checks/duplicate-detection/area-policy.d.ts +1 -1
- package/types/package-checks/duplicate-detection/default-check.d.ts +5 -2
- 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 +21 -3
- package/types/package-checks/duplicate-detection/records.d.ts +20 -3
- package/types/package-checks/file-metrics/constructor.d.ts +5 -2
- package/types/package-checks/file-metrics/finding-messages.d.ts +4 -0
- package/types/package-checks/file-metrics/options.d.ts +4 -3
- package/types/package-checks/file-metrics/records.d.ts +5 -10
- package/types/package-checks/file-metrics/scc/batch-planner.d.ts +18 -0
- package/types/package-checks/file-metrics/scc/logical-scan-resources.d.ts +14 -0
- 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 +6 -3
- 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 +26 -12
- 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 +3 -1
- package/types/package-checks/host-environment/path.d.ts +1 -3
- package/types/package-checks/host-environment/process/contract.d.ts +17 -9
- package/types/package-checks/host-environment/process.d.ts +5 -0
- package/types/package-checks/json-schema-validation/default-check.d.ts +4 -1
- package/types/package-checks/json-schema-validation/final-data.d.ts +8 -0
- package/types/package-checks/json-schema-validation/options.d.ts +33 -4
- package/types/package-checks/json-validation/default-check.d.ts +4 -1
- package/types/package-checks/json-validation/final-data.d.ts +5 -0
- package/types/package-checks/json-validation/options.d.ts +2 -1
- package/types/package-checks/local-cache-options.d.ts +9 -0
- package/types/package-checks/maintenance-reminders/final-data.d.ts +18 -0
- package/types/package-checks/maintenance-reminders/maintenance-reminders.d.ts +11 -2
- package/types/package-checks/markdown-link-validation/default-check.d.ts +13 -4
- 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 +13 -1
- 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/markdown-lint/adapter.d.ts +10 -0
- package/types/package-checks/markdown-lint/default-check.d.ts +37 -0
- package/types/package-checks/markdown-lint/execution.d.ts +24 -0
- package/types/package-checks/markdown-lint/final-data.d.ts +8 -0
- package/types/package-checks/markdown-lint/finding-messages.d.ts +6 -0
- package/types/package-checks/markdown-lint/finding-waiver-identity.d.ts +3 -0
- package/types/package-checks/markdown-lint/findings-cache.d.ts +17 -0
- package/types/package-checks/markdown-lint/options-resolution.d.ts +3 -0
- package/types/package-checks/markdown-lint/options-validation.d.ts +2 -0
- package/types/package-checks/markdown-lint/options.d.ts +65 -0
- package/types/package-checks/markdown-lint/records.d.ts +39 -0
- package/types/package-checks/markdown-lint/unavailable-reasons.d.ts +3 -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 +14 -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 +33 -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/package-tools/admission-policy/define-admission-policy.d.ts +26 -0
- package/types/package-tools/cache/cache-json-by-key.d.ts +53 -0
- package/types/package-tools/finding-presentation/finding-presentation.d.ts +27 -0
- package/types/{finding-waivers → package-tools/finding-waivers}/reconciliation.d.ts +3 -3
- package/types/package-tools/learned-critical-path/critical-path-ranking.d.ts +19 -0
- package/types/package-tools/learned-critical-path/duration-model/bounded-history.d.ts +34 -0
- package/types/package-tools/learned-critical-path/duration-model/prediction.d.ts +32 -0
- package/types/package-tools/learned-critical-path/duration-model/preparation.d.ts +28 -0
- package/types/package-tools/learned-critical-path/duration-model/recording.d.ts +28 -0
- package/types/package-tools/learned-critical-path/duration-model/storage.d.ts +12 -0
- package/types/package-tools/learned-critical-path/selection-layers.d.ts +14 -0
- package/types/package-tools/learned-critical-path/static-decision.d.ts +3 -0
- package/types/package-tools/learned-critical-path/strategy.d.ts +35 -0
- package/types/project-definition/check-tree/authoring.d.ts +13 -14
- package/types/project-definition/check-tree/check-fields-authoring.d.ts +30 -0
- package/types/project-definition/check-tree/collection-authoring.d.ts +2 -0
- package/types/project-definition/check-tree/flag-conditions.d.ts +5 -0
- package/types/project-definition/check-tree/resolution.d.ts +13 -6
- package/types/project-definition/check-tree/scheduling-authoring.d.ts +19 -0
- package/types/project-definition/declarative-snapshot.d.ts +10 -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-changes.d.ts +30 -0
- package/types/project-definition/project-definition.d.ts +49 -19
- 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 +8 -6
- package/types/project-run/changes/git.d.ts +14 -0
- package/types/project-run/check-execution/admitted-check-execution.d.ts +18 -0
- 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 +4 -1
- package/types/project-run/check-execution/execution-finalization.d.ts +18 -8
- package/types/project-run/check-execution/execution-settlement.d.ts +18 -7
- package/types/project-run/check-execution/flag-controls.d.ts +27 -0
- package/types/project-run/check-execution/lifecycle.d.ts +24 -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-result.d.ts → preparation-result.d.ts} +3 -3
- package/types/project-run/check-execution/preparation.d.ts +29 -0
- package/types/project-run/check-execution/ready-check-execution.d.ts +18 -0
- package/types/project-run/check-execution/resolved-checks.d.ts +37 -44
- package/types/project-run/check-execution/resolved-execution-result.d.ts +21 -0
- package/types/project-run/check-execution/scheduled-check-run.d.ts +10 -0
- package/types/project-run/check-execution/terminal-result.d.ts +13 -1
- package/types/project-run/{completion.d.ts → completion/completion.d.ts} +7 -5
- 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 +22 -9
- 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/candidates.d.ts +8 -0
- package/types/project-run/{invocation-creation.d.ts → invocation/creation.d.ts} +3 -3
- package/types/project-run/invocation/execution.d.ts +5 -0
- 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 +12 -7
- package/types/project-run/progress-rendering/renderer-formatting.d.ts +13 -2
- package/types/project-run/progress-rendering/renderer-lifecycle.d.ts +8 -1
- package/types/project-run/progress-rendering/renderer.d.ts +11 -3
- package/types/project-run/project-context.d.ts +5 -4
- package/types/project-run/result.d.ts +38 -4
- package/types/project-run/run.d.ts +6 -5
- package/types/project-run/task-scheduler/admission-core/compiled-graph-lookup.d.ts +10 -0
- 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/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/finding-waivers/reconciliation.mjs.map +0 -1
- package/dist/esm/package-checks/file-metrics/scc/csv.mjs +0 -17
- 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.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/package-checks/project-files/config-glob.mjs.map +0 -1
- package/dist/esm/project-run/check-execution/preflight-result.mjs.map +0 -1
- package/dist/esm/project-run/check-execution/preflight.mjs +0 -186
- package/dist/esm/project-run/check-execution/preflight.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 +0 -195
- 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/check-execution/preflight.ts +0 -321
- package/src/project-run/invocation-creation.ts +0 -160
- package/src/project-run/invocation.ts +0 -303
- 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/package-checks/project-files/config-glob.d.ts +0 -5
- package/types/project-run/check-execution/preflight.d.ts +0 -27
- 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,171 @@
|
|
|
1
|
+
# 配置 Run 输出与诊断
|
|
2
|
+
|
|
3
|
+
需要调整终端显示、保存机器结果或排查一次 Run 时,先按目的选择输出,再配置本次覆盖、预览或日志目标。下文先说明常用配置,再说明如何读取输出状态和处理失败;Check facts 与 Run 分支的共同模型见 [API 机制](../api-mechanics.md#runresult-分支)。
|
|
4
|
+
|
|
5
|
+
## 默认输出与本次覆盖
|
|
6
|
+
|
|
7
|
+
`defineConfig` 默认启用 progress rendering 和 machine publication(目录 `artifacts/vibe-check`),关闭 diagnostic logging(默认目录 `.log/vibe-check`)。Definition 的 `outputs` 保存可复用默认值,RunControls 的 `outputs` 逐字段覆盖本次调用;省略或 `undefined` 不覆盖,`false`、数量 `0` 与 `formatter: null` 都有明确作用。即使关闭对应输出,提供的字段仍须通过 validation。参数归属见 [Definition 与 invocation](../api-mechanics.md#参数应该放在哪里)。
|
|
8
|
+
|
|
9
|
+
## 常用配置
|
|
10
|
+
|
|
11
|
+
先按目的选择字段。表中的 `outputs.*` 均可写入 Definition 作为默认值,也可写入 RunControls 只调整本次调用;其它字段只属于本次 Run。
|
|
12
|
+
|
|
13
|
+
| 想做什么 | 设置什么 | 得到什么 |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| 开关终端进度 | `outputs.progressRendering.enabled` | `true` 显示人读 lifecycle;`false` 关闭呈现,Check 仍正常执行与结算。 |
|
|
16
|
+
| 调整每项明细数量 | `outputs.progressRendering.recordPreviewLimit`、`messagePreviewLimit` | 每个 settled row 默认分别最多显示 5 条;`0` 隐藏该类明细并保留省略数量。 |
|
|
17
|
+
| 调整单条预览长度 | `outputs.progressRendering.textPreviewCodePointLimit` | 默认最多 240 个 Unicode code points;数值边界和 formatter 用法见下文。 |
|
|
18
|
+
| 保存机器结果 | `outputs.machinePublication.enabled`、`directory` | terminal snapshot 形成后写入 machine files;稳定消费格式见[机器输出契约](../output.md)。 |
|
|
19
|
+
| 开启排障日志 | `outputs.diagnosticLogging.enabled: true`,按需设置 `directory` | 为本次 Run 写入 core 与 scheduler 日志。 |
|
|
20
|
+
| 保存终端进度副本 | RunControls 的 `progressLogFile` | 将相同的 terminal presentation 镜像到指定文件。 |
|
|
21
|
+
| 在本次隔离目录中使用固定日志文件名 | RunControls 的 `diagnosticLogFileNaming: "channel"`,同时开启 diagnostic logging | 使用 `core.log`、`scheduler.log`;目录选择与冲突行为见[日志与输出目标](#日志与输出目标)。 |
|
|
22
|
+
|
|
23
|
+
## Check messages 与受管 progress
|
|
24
|
+
|
|
25
|
+
Check terminal `messages` 是有序的人读补充信息;consumer 仍按 outcome 处理 final data 和 Records。表中的两项 preview 数量必须为非负 safe integer,文本预算必须为正 safe integer;短预算时 `… [truncated]` 只保留放得下的 marker 前缀。accepted Records 与 final data 按各自的 `RunResult` / machine contract 保留,messages 保留在 `RunResult.checkMessages`;截断、formatter 或关闭呈现均不改写它们。
|
|
26
|
+
|
|
27
|
+
在 callback 已等待的异步工作中通过全局 `console.*` 发出的文本,会作为该 Check 的 `console-<method>` messages 呈现。它适合短的人读诊断:不要向 console 写入 secret,也不要依赖 progress 文本保存完整事实。`process.stdout.write`、`process.stderr.write`、流式或 child-process 输出应写入 Check-owned file、transcript 或独立 logger;这些输出不具有可靠的 Check 归属,直接写入受管 terminal 也可能与 progress 交错。需要稳定补充说明时,在 terminal result 返回结构化 `messages`;从 Finding 生成有限摘要可用[呈现工具](presenting-findings.md)。
|
|
28
|
+
|
|
29
|
+
### 配置 preview 文本
|
|
30
|
+
|
|
31
|
+
需要在终端中保留长文本的前后片段时,把同步 `formatter` 写进 Definition。它接收冻结的 `{ kind, text, maxCodePoints }`:`kind` 是 `"record"` 或 `"message"`,`text` 是选中项未转义、未截断的默认正文(Record 为 local ID 加 canonical JSON,message 为正文),`maxCodePoints` 是当前文本预算。Product 仅对数量限制内的项调用一次,先 Records 后 messages;返回值仍由 Product 转义并限长。如下例把长文本折叠为头尾片段,并在本次 Run 单独缩小 Record 数量:
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
import {
|
|
35
|
+
defineCheck,
|
|
36
|
+
defineConfig,
|
|
37
|
+
run,
|
|
38
|
+
type ProgressPreviewFormatter
|
|
39
|
+
} from "@zxyycom/vibe-check";
|
|
40
|
+
|
|
41
|
+
const headAndTail: ProgressPreviewFormatter = ({ text, maxCodePoints }) => {
|
|
42
|
+
const points = [...text];
|
|
43
|
+
if (points.length <= maxCodePoints) return text;
|
|
44
|
+
const tailLength = Math.max(1, Math.floor(maxCodePoints / 3));
|
|
45
|
+
const headLength = Math.max(0, maxCodePoints - tailLength - 1);
|
|
46
|
+
return `${points.slice(0, headLength).join("")}…${points.slice(-tailLength).join("")}`;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const detail = defineCheck({
|
|
50
|
+
checkId: "detail",
|
|
51
|
+
displayName: "Detail",
|
|
52
|
+
execute: ({ records }) => {
|
|
53
|
+
records.report({ id: "long-detail" }, { text: "a verbose diagnostic value" });
|
|
54
|
+
return { status: "passed", data: {} };
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
const definition = defineConfig({
|
|
59
|
+
checks: [detail],
|
|
60
|
+
outputs: {
|
|
61
|
+
machinePublication: { enabled: false },
|
|
62
|
+
progressRendering: { formatter: headAndTail, textPreviewCodePointLimit: 48 }
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
const result = await run(definition, {
|
|
67
|
+
outputs: { progressRendering: { recordPreviewLimit: 1 } }
|
|
68
|
+
});
|
|
69
|
+
if (result.kind !== "completed") throw new Error(`Run did not complete: ${result.kind}`);
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
文本预算只限制转义后的 preview 正文(含截断 marker),不包含缩进、label、换行、汇总或省略提示;Unicode code points 不等于终端列宽或 graphemes。
|
|
73
|
+
|
|
74
|
+
formatter 返回空字符串仍是一条呈现项;throw 或返回非字符串(包括 Promise/thenable)只使 `outputs.progressRendering` failed,不回退默认文本,也不改变 Check/Record/message facts。它是 trusted project code:可见完整默认文本,不能把预算当成 redaction/access control,Product 不 sandbox 其独立 I/O 或 detached work。`formatter: null` 可在 RunControls 明确清除 Definition formatter;省略或 `undefined` 不覆盖。Definition 的数值与 formatter 种类参与 declarative fingerprint,但函数 identity/source/closure 以及 RunControls 覆盖均不参与。
|
|
75
|
+
|
|
76
|
+
## Progress rendering
|
|
77
|
+
|
|
78
|
+
TTY 使用可更新的 running region;plain output 与 `TERM=dumb` 从不输出 running row,只追加
|
|
79
|
+
settled presentation。每个可见 settled row 保留 measured duration 或 `not run`;完整、
|
|
80
|
+
canonical-ordered `RunResult.checkDurations` 仍保留所有 Check,未执行项为 `null`。
|
|
81
|
+
|
|
82
|
+
启用 `omitQuietPassedRow: true` 的 executable Check 在 TTY 中运行时仍可见,但 running row 与
|
|
83
|
+
所有保留的 settled row 都使用无编号的 `· <name>` 格式。它安静通过时不写 settled row;安静
|
|
84
|
+
通过是 `passed` 且 accepted Records/messages 均为空,final data、preview limit、formatter 文本和
|
|
85
|
+
终端截断不改变这个判定。带 accepted detail 的通过,以及 `failed`、`not-applicable`、`unavailable`
|
|
86
|
+
都保留为无编号 settled row,并继续使用既有 duration、reason、detail、escaping 和颜色规则。
|
|
87
|
+
|
|
88
|
+
没有该策略的 row 继续显示 `[n/total]`。`n` 是全部 executable Checks 的全局 completion
|
|
89
|
+
accounting:每次 settlement 都推进,即使对应 quiet-pass row 被省略,因此保留的普通 row 可以跳号;
|
|
90
|
+
它不是可见结果行的 ID。flag-condition-not-matched 仍按既有 Definition 顺序进入原因聚合块,
|
|
91
|
+
不形成 running row;该聚合优先于 quiet-pass 省略。
|
|
92
|
+
|
|
93
|
+
至少一个 normalized executable Check 启用该策略时,header 精确追加
|
|
94
|
+
`· <configured> configured for quiet-pass omission`,例如 `total 12 checks · 3 configured for quiet-pass omission`。
|
|
95
|
+
这里的 `configured` 是静态声明数,包含本次因 flags 未匹配而未启动的 Check。final summary 在
|
|
96
|
+
既有 `elapsed` 前精确追加 `quiet-pass rows omitted: <actual>`;`actual` 只计 renderer 实际省略的
|
|
97
|
+
quiet pass,不计 flag mismatch、未完成的潜在省略或任一保留 row。因此两个数可以不同。没有
|
|
98
|
+
configured Check 时,header、final summary、terminal 与 progress tee 的既有 bytes 保持不变。
|
|
99
|
+
|
|
100
|
+
flag control barrier 结束后,因 `enabledByFlags` 未匹配而未启动的 Checks 以一个原因块分组呈现,而非逐项 settled row;dependency activation 带入的 Check 不在该组。两种显示压缩都不改变 Check facts、accounting 或结果。配置 `progressLogFile` 时,同一 rendered bytes 先写 terminal、再写 file;file setup/write/close failure 使 progress output failed,但不吞掉 terminal presentation。
|
|
101
|
+
|
|
102
|
+
这项呈现策略不新增或改写 `RunResult`、machine schema 或 Check lifecycle facts;它只改变人读
|
|
103
|
+
row 的保留和编号格式。当前已发布版本的 [changelog](../changelog.md) 历史不由这项规则改写;
|
|
104
|
+
升级说明由相应发布变更按实际版本净差异维护。
|
|
105
|
+
|
|
106
|
+
## 日志与输出目标
|
|
107
|
+
|
|
108
|
+
machine publication 与 diagnostic logging 的 `directory` 都是调用方选择的非空、无 U+0000 的受信任 target:相对路径从 effective `projectRoot` 解析,绝对路径直接使用;它们不提供 containment 或 sandbox 语义。`progressLogFile` 使用相同的路径规则。
|
|
109
|
+
|
|
110
|
+
diagnostic logging 为当前 invocation 写入人工诊断。它用于关联 Run、Check、phase 与 Scheduler 行为;日志不是 parser/schema、跨 invocation discovery 或 retention contract,也不替代 Check final data、Record 或 message。
|
|
111
|
+
|
|
112
|
+
diagnostic 文件默认使用 `core-<utc-compact>-<uuid>.log` 与 `scheduler-<utc-compact>-<uuid>.log`。调用方已有隔离的 invocation 目录时,可以在 controls 同时设置 `diagnosticLogFileNaming: "channel"` 与 `outputs.diagnosticLogging: { enabled: true, directory: "<本次目录>" }`,得到 `core.log` 与 `scheduler.log`,不额外创建目录层级。Product 不保证该目录独占:每 channel 始终 exclusive-create,冲突即 failed,不覆盖、追加或退回唯一名;两个 channel 不是原子事务,一个失败时另一个仍可成功。从 channel `file` 读取实际目标;命名选项只控制文件名;日志内容保留 invocation ID、共享 sequence 与 elapsed-time correlation 信息。
|
|
113
|
+
|
|
114
|
+
启用 diagnostic logging 时,scheduler channel 可给出本次 Run 的 `scheduler.summary`:它帮助解释 admission、等待、capacity 与 tail 的当前诊断投影。time 与 capacity 指标只描述 Scheduler 行为,不表示 CPU、memory、thread 或 process 的 OS utilization;需要 machine-readable 结论时,仍读取 machine output 和 Check facts。
|
|
115
|
+
|
|
116
|
+
## 排查输出配置错误
|
|
117
|
+
|
|
118
|
+
本次 `outputs` 覆盖值不合法时,Run 在执行 Check 或创建输出前返回 `kind: "configuration"`。
|
|
119
|
+
先检查 `diagnostic.kind === "invalid-run-controls"`,再按 `path` 定位本次 controls 中的字段。
|
|
120
|
+
`reason: "unknown-key"` 表示应删除或更正该字段名;`reason: "invalid-value"` 时,输出覆盖值诊断还提供
|
|
121
|
+
`expected` 说明合法值要求。例如 `recordPreviewLimit: -1` 返回:
|
|
122
|
+
|
|
123
|
+
```json
|
|
124
|
+
{
|
|
125
|
+
"kind": "invalid-run-controls",
|
|
126
|
+
"path": "controls.outputs.progressRendering.recordPreviewLimit",
|
|
127
|
+
"reason": "invalid-value",
|
|
128
|
+
"expected": "non-negative-safe-integer"
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
| `expected` | 合法值要求 |
|
|
133
|
+
| --- | --- |
|
|
134
|
+
| `plain-data-object` | 普通或 null-prototype 对象,只含可枚举的自有字符串 data properties;不能使用数组、accessor 或 symbol key。 |
|
|
135
|
+
| `boolean` | `true` 或 `false`。 |
|
|
136
|
+
| `function-or-null` | formatter 函数或 `null`;函数的同步返回要求见[preview 配置](#配置-preview-文本)。 |
|
|
137
|
+
| `non-negative-safe-integer` | 大于等于 `0` 的安全整数。 |
|
|
138
|
+
| `positive-safe-integer` | 大于 `0` 的安全整数。 |
|
|
139
|
+
| `non-empty-string-without-nul` | 非空且不含 U+0000 的字符串;路径规则见[日志与输出目标](#日志与输出目标)。 |
|
|
140
|
+
|
|
141
|
+
即使对应输出已关闭,显式提供的字段仍须合法。对象本身无法安全读取时,`path` 指向该对象,不尝试执行
|
|
142
|
+
getter 来寻找更深字段。诊断不回显被拒绝的值;unknown key 诊断不提供 `expected`,其它 controls 诊断也可能
|
|
143
|
+
省略它。Definition 的无效输出配置仍通过 `invalid-project-definition` 指向 `definition.outputs`。
|
|
144
|
+
|
|
145
|
+
## 输出状态与失败处理
|
|
146
|
+
|
|
147
|
+
只有 non-configuration `RunResult` 具有有效 output configuration 与 `outputs` readback。每项 status 使用 `"disabled" | "not-run" | "succeeded" | "failed"`。`RunResult.outputs.progressRendering` 返回 `{ enabled, status }`;预览文本、effective limits 与 formatter 由配置和呈现流程使用,不包含在返回值中。
|
|
148
|
+
|
|
149
|
+
channel setup、write 或 close failure 只使对应 output failed,不改写已经形成的 Check/Record facts,也不阻断其它 output 结算。
|
|
150
|
+
|
|
151
|
+
`checkAggregation` 不是 output formatter,也不产生 output status。它在完整 Check settlement 后、正常 final progress summary 与 machine publication 前同步解释有效 Check 列表。若该函数抛错、返回 Promise/thenable 或非法四态值,`run(...)` 直接拒绝:Product 会关闭本次 diagnostic/progress writer,但不呈现正常成功 summary、不发布正常 machine result,也不返回可读取 output status 的 `RunResult`。调用方应处理这个 Promise rejection;它不能靠 `kind: "output"` 恢复。
|
|
152
|
+
|
|
153
|
+
当 primary Run 已正常完成时,output failure 使结果成为 `kind: "output"`;多个 failure 依次选择 progress rendering、machine publication、diagnostic logging、terminal effects 的第一个作为 diagnostic。`scheduler-terminal-effects-failed` 因而只表示 terminal effect 是按该顺序选中的 failure;cancellation 或 execution diagnostic 保持原有 primary result,terminal-effect failure 仍在 `outputs.terminalEffects.status` 可见。
|
|
154
|
+
|
|
155
|
+
### Diagnostic channel 状态
|
|
156
|
+
|
|
157
|
+
`outputs.diagnosticLogging` 的形状为 `{ enabled, status, channels }`,其中 `channels` 是 `core`、`scheduler` 的 `{ enabled, status, file }` map。禁用 channel 的 `file` 为 `null`;启用 channel 即使创建文件失败也保留预先计算的 `path.relative(projectRoot, resolvedFile)`,因此 root 外 target 可含 `..`,跨卷时平台可以返回 absolute path。任一 enabled channel failed 时 aggregate status 为 `failed`,只有全部 enabled channel succeeded 时为 `succeeded`。
|
|
158
|
+
|
|
159
|
+
### Terminal effect 状态
|
|
160
|
+
|
|
161
|
+
`scheduler.terminalEffects` 在 Definition 中配置,不能由 RunControls 注入或覆盖。终态观察交付给调用方配置的 Definition effects 与 prepared strategy 的 public `terminalEffect`;调用顺序和 context 见[调度专题](scheduling.md#交付终态-measurement)。
|
|
162
|
+
|
|
163
|
+
`outputs.terminalEffects` 的形状为 `{ enabled, status }`:
|
|
164
|
+
|
|
165
|
+
| 条件 | `enabled` / `status` |
|
|
166
|
+
| --- | --- |
|
|
167
|
+
| normalized `scheduler.terminalEffects` 非空,或 successful prepared strategy 实际提供 `terminalEffect` | `enabled: true`。 |
|
|
168
|
+
| 两者都没有 | `enabled: false`,`status: "disabled"`。 |
|
|
169
|
+
| enabled Run 没有 sealed terminal sequence | `status: "not-run"`。 |
|
|
170
|
+
| sealed sequence 中所有 Definition effects 与可选 public `terminalEffect` 都成功 | `status: "succeeded"`。 |
|
|
171
|
+
| 任一 Definition effect 或 `terminalEffect` throw/reject | `status: "failed"`;后续 `terminalEffect` success 不会覆盖已记录的 Definition-effect failure。 |
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
# 按项目约束调度 Check
|
|
2
|
+
|
|
3
|
+
本专题面向已经有多个自定义 Check、需要表达并发约束、改变 ready task 的选择顺序的调用方。默认 `{ kind: "static" }` 已经遵守依赖、mutex、root/scoped 并行预算、named resource capacity 和取消;只有这些不变式之外的**选择偏好**需要项目规则时,才使用 custom policy(包括 learned helper 返回的 prepared strategy)。Check 自己的 options、preparation、execution 与取消处理见[编写自定义 Check](extending-check-lifecycle.md)。
|
|
4
|
+
|
|
5
|
+
## 选择正确的工具
|
|
6
|
+
|
|
7
|
+
| 目标 | 使用 | 作用边界 |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| 让一组 Task 互斥执行 | 在每个相关 Check 的 `mutex` 写入同一个名称 | 同一互斥名称下,同一时刻最多运行一个 Task。 |
|
|
10
|
+
| 为可计数共享资源声明并发容量 | `scheduler.resourceCapacities` 与 Check 的 `resourceClaims` | capacity 与 claim 都是本次 Run 的静态 units。 |
|
|
11
|
+
| 只指定静态相对顺序 | Check 的 `admissionPriority` | 在 Scheduler 的 relation、mutex、容量和取消约束内排序 ready Task。 |
|
|
12
|
+
| 每次 ready selection 根据当前事实选择一个 task | `scheduler.admissionPolicy` 的 `custom/simple` strategy | 向 Scheduler 提交一个 selection proposal。 |
|
|
13
|
+
| 先异步准备本 Run 专用决策 closure,或在终态 measurement 后收尾 | `custom/prepared` strategy | `prepare` 形成 Run-local closure,`terminalEffect` 消费 terminal measurement。 |
|
|
14
|
+
| 对独立静态图比较假设分支 | [`createAdmissionGraph(...)`](simulating-admission.md) | 不执行 Check;在独立专题中建立并比较 immutable successor。 |
|
|
15
|
+
| 多次运行后按本地时长历史改善选择 | `createLearnedCriticalPathStrategy(...)` 作为 `custom/prepared` strategy | 使用调用方管理的本地 history 形成选择偏好。 |
|
|
16
|
+
| Run 结束后保存项目自己的调度统计 | `scheduler.terminalEffects` | 接收冻结的 terminal measurement 作为 side effect 输入。 |
|
|
17
|
+
|
|
18
|
+
`admissionPriority` 必须是有符号 safe integer;Check 节点省略时继承最近显式祖先值,没有祖先声明时为 `0`。
|
|
19
|
+
|
|
20
|
+
## 限制 named resource 并发
|
|
21
|
+
|
|
22
|
+
`scheduler.maxParallel` 限制同时运行的 Check 总数,必须是正 safe integer,`defineConfig` 省略时默认 `4`。Check 节点的 `maxParallel` 也必须是正 safe integer,省略时继承最近显式祖先值;没有祖先声明时使用 root 预算。除表中的 `mutex` 外,需要让不同 Check 消耗同一种资源的不同 units 时,配置静态 named resource capacity:
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
import { defineCheck, defineConfig } from "@zxyycom/vibe-check";
|
|
26
|
+
|
|
27
|
+
const firstAudit = defineCheck({
|
|
28
|
+
checkId: "first-audit",
|
|
29
|
+
displayName: "First audit",
|
|
30
|
+
mutex: ["exclusive-audit"],
|
|
31
|
+
resourceClaims: { worker: 1, capacityUnits: 2 },
|
|
32
|
+
execute: () => ({ status: "passed", data: {} })
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
const secondAudit = defineCheck({
|
|
36
|
+
checkId: "second-audit",
|
|
37
|
+
displayName: "Second audit",
|
|
38
|
+
mutex: ["exclusive-audit"],
|
|
39
|
+
execute: () => ({ status: "passed", data: {} })
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
export default defineConfig({
|
|
43
|
+
checks: [firstAudit, secondAudit],
|
|
44
|
+
scheduler: {
|
|
45
|
+
maxParallel: 4,
|
|
46
|
+
resourceCapacities: { worker: 2, capacityUnits: 8 }
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
两个 Check 共享 `exclusive-audit`,因此同一时刻最多运行其中一个;它们仍可分别声明不同的 resource claims。resource ID 必须是非空白字符串,capacity 和 claim 都必须是正 safe integer。每个 claim 必须引用已声明资源且不大于其总 capacity,否则 Definition 在任何 Check work 前失败。一个 Task 的全部 claims 在 admission 时原子取得,并在任意 settlement(成功、失败或其它终态)后一起释放;Scheduler 不会先占一部分再等待另一部分。同一 ordinary selection layer 中,没有 claim 的 ready work 仍可使用空闲 root slot,不会因为另一个 Task 正等待 named resource 而被扣留;既有 tighter-scope activation/continuation 层级仍先于 ordinary work。
|
|
52
|
+
|
|
53
|
+
`resourceClaims` 与 `maxParallel`、relations 和 mutex 一样可写在 container 上供 descendants 继承;省略保留最近的完整 mapping,显式 `{}` 清空,任何其它显式 mapping 都完整替换而不与父 mapping 合并。named resources 是 invocation-local 静态计数;`mutex` 表达逻辑组互斥,`resourceClaims` 表达 units 容量,两者可以按项目约束组合。
|
|
54
|
+
|
|
55
|
+
## 自定义准入 policy
|
|
56
|
+
|
|
57
|
+
`decide(context)` 读取 frozen 的 graph、候选和 immutable `admissionState`,只返回 `{ kind: "select", taskId }` 或 `{ kind: "wait" }`。Scheduler 独占 readiness、mutex、容量、Task 启动与结算;策略只能提出 proposal,不能保证 proposal 会被接受。
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
import { defineAdmissionPolicy, defineCheck, defineConfig, run } from "@zxyycom/vibe-check";
|
|
61
|
+
|
|
62
|
+
const executionOrder: string[] = [];
|
|
63
|
+
|
|
64
|
+
const compile = defineCheck({
|
|
65
|
+
checkId: "compile",
|
|
66
|
+
displayName: "Compile",
|
|
67
|
+
execute() {
|
|
68
|
+
executionOrder.push("compile");
|
|
69
|
+
return { status: "passed", data: {} };
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
const publish = defineCheck({
|
|
74
|
+
admissionPriority: 10,
|
|
75
|
+
checkId: "publish",
|
|
76
|
+
dependsOn: [compile.checkId],
|
|
77
|
+
displayName: "Publish",
|
|
78
|
+
execute() {
|
|
79
|
+
executionOrder.push("publish");
|
|
80
|
+
return { status: "passed", data: {} };
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
const preferPublish = defineAdmissionPolicy({
|
|
85
|
+
kind: "custom",
|
|
86
|
+
strategy: {
|
|
87
|
+
kind: "simple",
|
|
88
|
+
decide(context) {
|
|
89
|
+
const publishTask = context.graph.tasks.find((task) => task.taskId === publish.checkId);
|
|
90
|
+
const publishCandidate = context.candidates.find(
|
|
91
|
+
(candidate) => candidate.taskId === publish.checkId && candidate.canAdmit
|
|
92
|
+
);
|
|
93
|
+
if (publishTask?.admissionPriority === 10 && publishCandidate !== undefined) {
|
|
94
|
+
return { kind: "select", taskId: publishCandidate.taskId };
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const nextCandidate = context.candidates.find((candidate) => candidate.canAdmit);
|
|
98
|
+
return nextCandidate === undefined
|
|
99
|
+
? { kind: "wait" }
|
|
100
|
+
: { kind: "select", taskId: nextCandidate.taskId };
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
const definition = defineConfig({
|
|
106
|
+
checks: [compile, publish],
|
|
107
|
+
outputs: {
|
|
108
|
+
diagnosticLogging: { enabled: false },
|
|
109
|
+
machinePublication: { enabled: false },
|
|
110
|
+
progressRendering: { enabled: false }
|
|
111
|
+
},
|
|
112
|
+
scheduler: {
|
|
113
|
+
admissionPolicy: preferPublish,
|
|
114
|
+
maxParallel: 1
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
const result = await run(definition);
|
|
119
|
+
if (result.kind !== "completed") throw new Error(`Run did not complete: ${result.kind}`);
|
|
120
|
+
if (executionOrder.join(",") !== "compile,publish") {
|
|
121
|
+
throw new Error(`Unexpected execution order: ${executionOrder.join(",")}`);
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
`decide` 必须同步且给出合法、可 drain 的 proposal。throw、thenable、malformed/illegal proposal 或不可 drain 的 `wait` 会产生 `admission-policy-failed`:Scheduler 停止新的 admission、取消 pending work 并等待已启动 work。这个 invocation failure 不是任一 Check outcome。
|
|
126
|
+
|
|
127
|
+
### 在线选择时读取 observation prefix
|
|
128
|
+
|
|
129
|
+
custom `decide(context)` 可通过 `context.measurement` 读取当前 decision boundary 已冻结的**观察前缀**:
|
|
130
|
+
|
|
131
|
+
- `cumulative` 提供当前累计的离散计数、peaks 和 timing availability;只有 `timing.availability === "available"` 才有 `timingFacts`。
|
|
132
|
+
- `measurementCount` 是当前已捕获 action observation 的数量。
|
|
133
|
+
- `measurementAt(index)` 只读取这个 context 冻结的 prefix;`0 <= index < measurementCount` 之外返回 `undefined`。每项说明上一次 accepted `select` 或 `wait` 后的 effects 与 interval,不声明某个 action 导致了时长、critical path 或 CPU 使用。
|
|
134
|
+
|
|
135
|
+
用它在**在线选择**时比较当前累计事实;不要把它当作完整逐 Task 历史或终态报告。需要 Run 结束后的完整 graph、settled tasks 与 raw measurement,改用下面的 `scheduler.terminalEffects`;prepared strategy 的 `terminalEffect` 同样只在有 terminal measurement 时运行。
|
|
136
|
+
|
|
137
|
+
## 已准备的 custom strategy
|
|
138
|
+
|
|
139
|
+
需要在 Scheduler 开始前异步读取调用方自己的配置,并把结果形成本 Run 专用 decision closure 时,使用 `{ kind: "prepared", prepare }`。每个 graph-ready Run 最多调用一次 `prepare`;它返回同步 `decide` 和可选的 `terminalEffect(terminal)`。下例优先选择可准入的 `second`,否则选择第一个可准入候选,并在 `terminalEffect` 中保存终态任务计数:
|
|
140
|
+
|
|
141
|
+
```ts
|
|
142
|
+
import { defineAdmissionPolicy, defineCheck, defineConfig, run } from "@zxyycom/vibe-check";
|
|
143
|
+
|
|
144
|
+
let settledTaskCount: number | null = null;
|
|
145
|
+
|
|
146
|
+
function scheduledCheck(checkId: string) {
|
|
147
|
+
return defineCheck({
|
|
148
|
+
checkId,
|
|
149
|
+
displayName: checkId,
|
|
150
|
+
execute: () => ({ status: "passed" as const, data: {} })
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
const strategy = defineAdmissionPolicy({
|
|
155
|
+
kind: "custom",
|
|
156
|
+
strategy: {
|
|
157
|
+
kind: "prepared",
|
|
158
|
+
async prepare() {
|
|
159
|
+
// 模拟异步读取调用方自己的配置,并将其捕获在本 Run 的 closure 中。
|
|
160
|
+
const preferredTaskId = await Promise.resolve("second");
|
|
161
|
+
return {
|
|
162
|
+
decide(context) {
|
|
163
|
+
const next = context.candidates.find(
|
|
164
|
+
({ canAdmit, taskId }) => canAdmit && taskId === preferredTaskId
|
|
165
|
+
) ?? context.candidates.find(({ canAdmit }) => canAdmit);
|
|
166
|
+
return next === undefined
|
|
167
|
+
? { kind: "wait" as const }
|
|
168
|
+
: { kind: "select" as const, taskId: next.taskId };
|
|
169
|
+
},
|
|
170
|
+
terminalEffect(terminal) {
|
|
171
|
+
settledTaskCount = terminal.execution.settledTasks.length;
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
const definition = defineConfig({
|
|
179
|
+
checks: [scheduledCheck("first"), scheduledCheck("second")],
|
|
180
|
+
outputs: {
|
|
181
|
+
diagnosticLogging: { enabled: false },
|
|
182
|
+
machinePublication: { enabled: false },
|
|
183
|
+
progressRendering: { enabled: false }
|
|
184
|
+
},
|
|
185
|
+
scheduler: { admissionPolicy: strategy }
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
const result = await run(definition);
|
|
189
|
+
if (result.kind !== "completed" || settledTaskCount !== 2) {
|
|
190
|
+
throw new Error("Expected a completed Run and terminal measurement for both Checks");
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
策略需要的配置、logger 或 clock 由调用方提供并捕获在 closure 中;context 只提供调度事实,真实 Task 启动与结算由 Scheduler 控制。准备失败与终态收尾边界如下。
|
|
195
|
+
|
|
196
|
+
### 交付终态 measurement
|
|
197
|
+
|
|
198
|
+
任何 scheduler policy 都可配置 `scheduler.terminalEffects`。每个 effect 在 Scheduler 已有 terminal measurement 后收到冻结的 `{ graph, execution, rawMeasurement }`;它适合调用方自己的统计、记录或后续处理,不能修改 Task、Check facts、aggregate 或选择历史。若同时配置 Definition effect 与 prepared `terminalEffect`,Definition effects 先结算,随后才调用 `terminalEffect`。如果任一 effect 或 `terminalEffect` 抛错或 reject,`result.outputs.terminalEffects.status` 为 `failed`;Check facts 不变,原本正常完成的 Run 可映射为 `kind: "output"`,已有 `cancelled` / `execution` 主结果保持不变。
|
|
199
|
+
|
|
200
|
+
终态 measurement 不同于 `decide` 所读 `context.measurement` 的在线观察前缀。需要逐项业务数据、失败原因或 Records 时,在 Check 的 `execute` 中形成事实,再从 `RunResult` 读取。
|
|
201
|
+
|
|
202
|
+
`prepare` 只在 graph 已有效且 Run 尚未于 pre-work / planning 取消后调用;它没有 cancellation signal、timeout 或“必有 terminalEffect”的 cleanup 保证。prepare reject 会结束为 `admission-strategy-preparation-failed`。一旦 Run 进入 Scheduler,正常结束、取消或 policy fault 的 drain 只要 seal 出 terminal measurement,都会在 Definition effects 后调用 `terminalEffect`;早期 setup / execution failure 没有 terminal measurement 时不会调用它。因此不要在 `prepare` 中取得必须依赖 `terminalEffect` 释放的资源。
|
|
203
|
+
|
|
204
|
+
保存后续 Run 会使用的 caller-owned data 时,先根据自己的目标定义“可接受样本”。`rawMeasurement.timing.availability === "available"` 只证明终态 timing facts 可读,不证明 Run quality 成功;`settledTasks.kind === "completed"` 是 Scheduler settlement,不等于 Check `passed`,且 context 不提供 `RunResult.kind`。若业务只允许成功 Run,先暂存候选,在 `run(...)` 返回后同时核对 `result.kind` 与业务要求的 Check outcomes 或 aggregate,再决定是否提交。`kind: "completed"` 本身不表示质量检查全部通过。
|
|
205
|
+
|
|
206
|
+
## 复用本地时长历史
|
|
207
|
+
|
|
208
|
+
同一项目反复运行、希望依据历史时长安排 ready Tasks 时,阅读[用本地时长历史调度 Check](learned-scheduling.md)。该专题说明 `createLearnedCriticalPathStrategy`、caller-owned history 与观察回调。
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# 比较假设调度分支
|
|
2
|
+
|
|
3
|
+
用 `createAdmissionGraph(...)` 分析独立静态图,不必定义或执行真实 Check。真实 Run 的并发约束和准入 policy 见[调度 Check](scheduling.md)。
|
|
4
|
+
|
|
5
|
+
## 模拟 AdmissionGraph
|
|
6
|
+
|
|
7
|
+
`createAdmissionGraph({ graph, maxParallel })` 接收已规范化的 `SchedulerGraphSnapshot`,不是 Definition 的 scheduler 配置;`maxParallel` 必须是正 safe integer。构图时验证完整字段和引用,无效输入抛错。
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import { createAdmissionGraph } from "@zxyycom/vibe-check";
|
|
11
|
+
|
|
12
|
+
const graph = createAdmissionGraph({
|
|
13
|
+
graph: {
|
|
14
|
+
resourceCapacities: [{ resourceId: "browser", units: 1 }],
|
|
15
|
+
scopes: [],
|
|
16
|
+
tasks: [
|
|
17
|
+
{
|
|
18
|
+
admissionPriority: 0,
|
|
19
|
+
dependsOn: [],
|
|
20
|
+
mutex: [],
|
|
21
|
+
observes: [],
|
|
22
|
+
resourceClaims: [{ resourceId: "browser", units: 1 }],
|
|
23
|
+
scopeId: null,
|
|
24
|
+
taskId: "compile"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
admissionPriority: 0,
|
|
28
|
+
dependsOn: ["compile"],
|
|
29
|
+
mutex: [],
|
|
30
|
+
observes: [],
|
|
31
|
+
resourceClaims: [],
|
|
32
|
+
scopeId: null,
|
|
33
|
+
taskId: "publish"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
maxParallel: 1
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const initial = graph.initialState();
|
|
41
|
+
const compile = initial.select("compile");
|
|
42
|
+
if (!compile.accepted) throw new Error(`Cannot select compile: ${compile.reason.kind}`);
|
|
43
|
+
|
|
44
|
+
// Retaining `initial` and the successor forms two independent hypothetical branches.
|
|
45
|
+
const completed = compile.state.settle("compile", "satisfied");
|
|
46
|
+
if (!completed.accepted || !completed.state.catalog.selectableTaskIds.includes("publish")) {
|
|
47
|
+
throw new Error("Expected publish to become selectable after hypothetical completion");
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
`select` / `settle` 成功时返回新的 immutable `state`,保留原 state 即可分支;拒绝时返回 `{ accepted: false, reason }`,没有 successor。模拟不启动真实 Check、不预留真实资源,也不写回 Run。
|
|
52
|
+
|
|
53
|
+
只有 running Task 可 `settle`:`satisfied` 满足其 `dependsOn` 下游的这项前置;`unsatisfied` 使未满足前置的下游被阻止并结算,不能再选择。`observes` 只等待终态,不要求 satisfied。例如,从同一 `compile.state` 改用 `settle("compile", "unsatisfied")`,`publish` 就不会变为可选。
|
|
54
|
+
|
|
55
|
+
输入 graph 的 named resource capacities/claims 使用 canonical `{ resourceId, units }[]`;successor inspection 投影当前 `{ capacity, inUse, available }`,不提供 reservation 或真实资源 handle。
|
package/docs/output.md
CHANGED
|
@@ -31,7 +31,9 @@ Check-local parser。
|
|
|
31
31
|
也启用,二者共享该 instant。两项 output 都禁用时,Run 不读取或序列化 wall clock。每个 Check row 包含
|
|
32
32
|
`checkId`、`displayName` 和一种 terminal outcome:`passed` / `failed` 带 object-shaped final `data`;
|
|
33
33
|
`not-applicable` / `unavailable` 带受控 reason,前者可以省略 reason。Aggregation、所有 Run output status 与
|
|
34
|
-
diagnostic
|
|
34
|
+
diagnostic channel files、duration、author terminal messages、Product-captured Check console messages、
|
|
35
|
+
`omitQuietPassedRow` 人读呈现策略和 progress presentation 不属于 machine fields。quiet-pass row 的省略、
|
|
36
|
+
无编号格式及 configured/actual 计数都不改变 terminal Check facts 或 v4 publication。
|
|
35
37
|
|
|
36
38
|
每个 `records.ndjson` row 的结构是:
|
|
37
39
|
|
|
@@ -57,13 +59,12 @@ own-key enumeration 与序列化时的 key 排列也不是 public contract。
|
|
|
57
59
|
|
|
58
60
|
Publisher 在修改 canonical paths 前先形成并完整验证两份文件。写入或首次 canonical rename 失败时保留 prior set;一次
|
|
59
61
|
canonical replacement 已发生后的 handled failure 会清理可能混合的 canonical files。pre-work configuration failure
|
|
60
|
-
不进行 output I/O。diagnostic logging 是独立的人读 Run output
|
|
61
|
-
|
|
62
|
-
[深入 API 机制](api-mechanics.md#outputs-与-runresult-边界)。
|
|
62
|
+
不进行 output I/O。machine directory 是调用方选择的受信任 target,不是 containment/sandbox;publisher 只拥有其中的两个 canonical files 及其私有临时文件,绝不清空整个目录。diagnostic logging 是独立的人读 Run output,由 core 和 scheduler channel files 组成;即使调用方为它选择同一目录,它也不进入 v4 schema、example 或 publication set,machine consumer 不发现或解析它。其 configuration 与 `RunResult` readback 见
|
|
63
|
+
[Run 输出与诊断](guides/run-outputs.md#输出状态与失败处理)。
|
|
63
64
|
|
|
64
65
|
两个 canonical files 是独立 filesystem paths,rename 不提供跨路径原子可见性。并发 reader 可能观察到 mixed
|
|
65
66
|
generation,因此必须按完整集合执行 fingerprint validation;需要 generation pointer、reader lock 或跨路径 atomic
|
|
66
|
-
|
|
67
|
+
原子可见性的系统,应在 Vibe Check 契约之外建立自己的读取协议。
|
|
67
68
|
|
|
68
69
|
## 随包材料与版本
|
|
69
70
|
|
|
@@ -76,22 +77,13 @@ visibility 的系统,应在 Vibe Check 契约之外建立自己的读取协议
|
|
|
76
77
|
| [`run.json`](examples/artifacts/mixed-outcomes/run.json) | 与该 Definition 的五个可执行 Check 对应,集中展示 package-provided/custom `passed`、`failed`、`not-applicable` 与 `unavailable` facts。 |
|
|
77
78
|
| [`records.ndjson`](examples/artifacts/mixed-outcomes/records.ndjson) | failed policy 发布的两条 supplemental Records,用于核对多行 framing、ownership、排序和 fingerprint。 |
|
|
78
79
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
dependency,读取并解析两份 upstream final data,随后形成 `failed` final data 和两条 Records。组织节点自身不产生 Check row。
|
|
87
|
-
4. optional Check 直接形成 `not-applicable`;external review 的 `failure / block` preflight 在任何 execution 开始前形成
|
|
88
|
-
`unavailable`。两条 preflight message 与 failed policy message 保留在 `RunResult.checkMessages`,不进入 machine fields。
|
|
89
|
-
|
|
90
|
-
仓库生成器通过完整 public `run` 执行同一份 Definition,并使用只含有效 `package.json` 的隔离 project root 得到以上
|
|
91
|
-
Check/Record facts;随后只把 invocation ID 与 timestamp 固定为文档值,使 checked-in bytes 可重复生成。示例 Definition
|
|
92
|
-
启用了 `artifacts/vibe-check` machine publication;直接运行会在本次 project root 下更新该目录中的两份 canonical files。
|
|
93
|
-
示例 facts 与固定 metadata 只用于核对 Definition/output 对应关系;consumer 在自己的 project root 调用
|
|
94
|
-
`run(definition)` 时,会按实际 `package.json` 形成结果和本次 Run 的 invocation metadata。
|
|
80
|
+
示例的输入与结果可按三条路径核对:
|
|
81
|
+
|
|
82
|
+
- `jsonValidation` 显式检查 `package.json`,保留默认 source/exclude;自定义 provider 在空 authored files 时以 preparation fallback 继续并通过。
|
|
83
|
+
- 递归 workflow 继承 manifest dependency;policy 用 `inherit` 追加 provider,解析两份 upstream data,再形成 failed data 与两条 Records。container 不产生 Check row。
|
|
84
|
+
- 另两项分别直接 `not-applicable` 与被本项 preparation block 为 `unavailable`,不阻挡无 relation 的其它 Check。preparation 和 policy messages 仅进入 `RunResult.checkMessages`。
|
|
85
|
+
|
|
86
|
+
checked-in outputs 在只含有效 `package.json` 的隔离 root 中执行该 Definition 后生成,仅把 invocation ID 与 timestamp 固定为文档值。直接 `run(definition)` 会根据你的实际 `package.json` 形成结果和本次 metadata,并更新 project root 下 `artifacts/vibe-check` 中的两份 canonical files;示例 facts 不是对任意项目结果的保证。
|
|
95
87
|
|
|
96
88
|
随包机器契约的当前版本是 v4,validation boundary 对其它 schema identity fail closed。本示例使用非空 Record set;零
|
|
97
89
|
Record 集合按读取规则表示为零字节 `records.ndjson`。
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
Copyright Terry Yin and other contributors
|
|
2
|
+
|
|
3
|
+
This software consists of voluntary contributions made by many
|
|
4
|
+
individuals. For exact contribution history, see the revision history.
|
|
5
|
+
|
|
6
|
+
The following license applies to all parts of this software except as
|
|
7
|
+
documented below:
|
|
8
|
+
|
|
9
|
+
====
|
|
10
|
+
|
|
11
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
12
|
+
a copy of this software and associated documentation files (the
|
|
13
|
+
"Software"), to deal in the Software without restriction, including
|
|
14
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
15
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
16
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
17
|
+
the following conditions:
|
|
18
|
+
|
|
19
|
+
The above copyright notice and this permission notice shall be
|
|
20
|
+
included in all copies or substantial portions of the Software.
|
|
21
|
+
|
|
22
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
23
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
24
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
25
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
26
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
27
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
28
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
29
|
+
|
|
30
|
+
====
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
Copyright (c) 2006-2022 by the respective authors (see AUTHORS file).
|
|
2
|
+
All rights reserved.
|
|
3
|
+
|
|
4
|
+
Redistribution and use in source and binary forms, with or without
|
|
5
|
+
modification, are permitted provided that the following conditions are
|
|
6
|
+
met:
|
|
7
|
+
|
|
8
|
+
* Redistributions of source code must retain the above copyright
|
|
9
|
+
notice, this list of conditions and the following disclaimer.
|
|
10
|
+
|
|
11
|
+
* Redistributions in binary form must reproduce the above copyright
|
|
12
|
+
notice, this list of conditions and the following disclaimer in the
|
|
13
|
+
documentation and/or other materials provided with the distribution.
|
|
14
|
+
|
|
15
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
16
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
17
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
18
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
19
|
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
20
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
21
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
22
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
23
|
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
24
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
25
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Incorporated Analyzer Source Notices
|
|
2
|
+
|
|
3
|
+
This directory contains the third-party source material incorporated into Vibe Check's
|
|
4
|
+
Function Metrics analyzer. This notice describes only those translated sources.
|
|
5
|
+
|
|
6
|
+
## Lizard 1.24.0
|
|
7
|
+
|
|
8
|
+
Vibe Check contains modified TypeScript translations of source ranges from
|
|
9
|
+
[terryyin/lizard](https://github.com/terryyin/lizard), fixed at revision
|
|
10
|
+
`308b1c3efd8c1c69bcc3eb82deeaec64fd3662ec`. The exact source ranges, target paths,
|
|
11
|
+
and SPDX identities are recorded in [lizard-1.24.0-provenance.json](lizard-1.24.0-provenance.json).
|
|
12
|
+
The translated source headers identify their originating source and modification status.
|
|
13
|
+
|
|
14
|
+
- The translated Lizard source is covered by the complete
|
|
15
|
+
[Lizard MIT text](Lizard-1.24.0-MIT.txt).
|
|
16
|
+
- Translated ranges from `lizard.py` are covered by the complete
|
|
17
|
+
[Apache-2.0 text](Lizard-1.24.0-lizard.py-Apache-2.0.txt).
|
|
18
|
+
|
|
19
|
+
## Pygments 2.18.0 Erlang lexer
|
|
20
|
+
|
|
21
|
+
The Erlang reader also contains a modified TypeScript translation of the recorded
|
|
22
|
+
`pygments/lexers/erlang.py` range from Pygments 2.18.0. Its source header and the
|
|
23
|
+
provenance inventory identify that BSD-2-Clause material; the complete text is
|
|
24
|
+
[Pygments-2.18.0-BSD-2-Clause.txt](Pygments-2.18.0-BSD-2-Clause.txt).
|