@quickchatai/pi-quickreview 0.0.0-stage → 1.1.0
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/LICENSE +23 -0
- package/README.md +75 -2
- package/assets/agents/pass-abstraction.md +64 -0
- package/assets/agents/pass-ask-human.md +134 -0
- package/assets/agents/pass-backcompat.md +67 -0
- package/assets/agents/pass-baseline.md +61 -0
- package/assets/agents/pass-behaviour-delta.md +64 -0
- package/assets/agents/pass-bounds.md +36 -0
- package/assets/agents/pass-claims.md +31 -0
- package/assets/agents/pass-concurrency.md +168 -0
- package/assets/agents/pass-consistency.md +57 -0
- package/assets/agents/pass-contracts.md +30 -0
- package/assets/agents/pass-data-safety.md +54 -0
- package/assets/agents/pass-deferred.md +35 -0
- package/assets/agents/pass-delivery.md +37 -0
- package/assets/agents/pass-duplication.md +60 -0
- package/assets/agents/pass-intent.md +63 -0
- package/assets/agents/pass-lint-conformance.md +46 -0
- package/assets/agents/pass-maintainability.md +67 -0
- package/assets/agents/pass-placement.md +68 -0
- package/assets/agents/pass-prod-risk.md +24 -0
- package/assets/agents/pass-rollout.md +32 -0
- package/assets/agents/pass-roundtrip.md +46 -0
- package/assets/agents/pass-security.md +31 -0
- package/assets/agents/pass-simplicity.md +68 -0
- package/assets/agents/pass-statelessness.md +27 -0
- package/assets/agents/pass-style.md +37 -0
- package/assets/agents/pass-sweep.md +57 -0
- package/assets/agents/pass-tests.md +58 -0
- package/assets/agents/pass-ui.md +23 -0
- package/assets/agents/pass-validate.md +50 -0
- package/assets/agents/pass-widened.md +46 -0
- package/assets/agents/scan/pass-scan.md +86 -0
- package/assets/config.example.toml +1067 -0
- package/assets/deploy/reviewer/AGENTS.override.md +12 -0
- package/assets/profiles/default/README.md +21 -0
- package/assets/profiles/default/addenda/.gitkeep +0 -0
- package/assets/profiles/default/profile.toml +17 -0
- package/assets/profiles/example-django/README.md +21 -0
- package/assets/profiles/example-django/addenda/10-migration-discipline.md +13 -0
- package/assets/profiles/example-django/addenda/20-new-column-nullability.md +12 -0
- package/assets/profiles/example-django/addenda/30-test-doctrine.md +12 -0
- package/assets/profiles/example-django/addenda/40-orm-usage.md +19 -0
- package/assets/profiles/example-django/addenda/50-declared-shape.md +10 -0
- package/assets/profiles/example-django/addenda/60-config-placement.md +14 -0
- package/assets/profiles/example-django/heuristics.toml +24 -0
- package/assets/profiles/example-django/profile.toml +9 -0
- package/assets/profiles/fast/README.md +24 -0
- package/assets/profiles/fast/profile.toml +59 -0
- package/assets/profiles/minimal/README.md +17 -0
- package/assets/profiles/minimal/addenda/.gitkeep +0 -0
- package/assets/profiles/minimal/profile.toml +8 -0
- package/assets/profiles/snappy/README.md +24 -0
- package/assets/profiles/snappy/addenda/10-race-as-question.md +6 -0
- package/assets/profiles/snappy/profile.toml +46 -0
- package/assets/prompts/companion-day-open.md +46 -0
- package/assets/prompts/companion-first-run.md +104 -0
- package/assets/prompts/companion.md +821 -0
- package/assets/prompts/conversation-system.md +117 -0
- package/assets/prompts/eod-sweep.md +120 -0
- package/assets/prompts/onboarding.md +74 -0
- package/assets/prompts/pass-common.md +52 -0
- package/assets/prompts/pass-quality-common.md +22 -0
- package/assets/prompts/round-first.md +874 -0
- package/assets/prompts/round-follow-up.md +991 -0
- package/assets/prompts/round-re-review.md +889 -0
- package/assets/prompts/round-recheck.md +196 -0
- package/assets/prompts/round-staleness.md +856 -0
- package/assets/schemas/review-result.v1.json +391 -0
- package/assets/schemas/scan-result.v1.json +421 -0
- package/assets/schemas/version.v1.json +57 -0
- package/assets/seed-manifest.json +19 -0
- package/assets/seeds/agents/pass-baseline.md +61 -0
- package/assets/seeds/agents/pass-contracts.md +30 -0
- package/assets/seeds/agents/pass-data-safety.md +54 -0
- package/assets/seeds/agents/pass-delivery.md +37 -0
- package/assets/seeds/agents/pass-prod-risk.md +24 -0
- package/assets/seeds/agents/pass-security.md +31 -0
- package/assets/seeds/agents/pass-statelessness.md +27 -0
- package/assets/seeds/agents/pass-ui.md +23 -0
- package/assets/seeds/agents/pass-validate.md +50 -0
- package/assets/seeds/prompts/conversation-system.md +117 -0
- package/assets/seeds/prompts/eod-sweep.md +120 -0
- package/assets/seeds/prompts/pass-common.md +52 -0
- package/dist/extensions/bash-guard.d.ts +467 -0
- package/dist/extensions/bash-guard.d.ts.map +1 -0
- package/dist/extensions/bash-guard.js +3058 -0
- package/dist/extensions/bash-guard.js.map +1 -0
- package/dist/extensions/finding-clusters.d.ts +33 -0
- package/dist/extensions/finding-clusters.d.ts.map +1 -0
- package/dist/extensions/finding-clusters.js +218 -0
- package/dist/extensions/finding-clusters.js.map +1 -0
- package/dist/extensions/ledger-pin.d.ts +76 -0
- package/dist/extensions/ledger-pin.d.ts.map +1 -0
- package/dist/extensions/ledger-pin.js +331 -0
- package/dist/extensions/ledger-pin.js.map +1 -0
- package/dist/extensions/lens.d.ts +43 -0
- package/dist/extensions/lens.d.ts.map +1 -0
- package/dist/extensions/lens.js +150 -0
- package/dist/extensions/lens.js.map +1 -0
- package/dist/extensions/pi-tool.d.ts +22 -0
- package/dist/extensions/pi-tool.d.ts.map +1 -0
- package/dist/extensions/pi-tool.js +20 -0
- package/dist/extensions/pi-tool.js.map +1 -0
- package/dist/extensions/quickreview.d.ts +21 -0
- package/dist/extensions/quickreview.d.ts.map +1 -0
- package/dist/extensions/quickreview.js +132 -0
- package/dist/extensions/quickreview.js.map +1 -0
- package/dist/src/anchors.d.ts +54 -0
- package/dist/src/anchors.d.ts.map +1 -0
- package/dist/src/anchors.js +127 -0
- package/dist/src/anchors.js.map +1 -0
- package/dist/src/assetroot.d.ts +16 -0
- package/dist/src/assetroot.d.ts.map +1 -0
- package/dist/src/assetroot.js +77 -0
- package/dist/src/assetroot.js.map +1 -0
- package/dist/src/authwatch.d.ts +61 -0
- package/dist/src/authwatch.d.ts.map +1 -0
- package/dist/src/authwatch.js +210 -0
- package/dist/src/authwatch.js.map +1 -0
- package/dist/src/budget.d.ts +15 -0
- package/dist/src/budget.d.ts.map +1 -0
- package/dist/src/budget.js +32 -0
- package/dist/src/budget.js.map +1 -0
- package/dist/src/casebudget.d.ts +3 -0
- package/dist/src/casebudget.d.ts.map +1 -0
- package/dist/src/casebudget.js +3 -0
- package/dist/src/casebudget.js.map +1 -0
- package/dist/src/cigate.d.ts +116 -0
- package/dist/src/cigate.d.ts.map +1 -0
- package/dist/src/cigate.js +176 -0
- package/dist/src/cigate.js.map +1 -0
- package/dist/src/codespan.d.ts +46 -0
- package/dist/src/codespan.d.ts.map +1 -0
- package/dist/src/codespan.js +75 -0
- package/dist/src/codespan.js.map +1 -0
- package/dist/src/contextpack.d.ts +56 -0
- package/dist/src/contextpack.d.ts.map +1 -0
- package/dist/src/contextpack.js +195 -0
- package/dist/src/contextpack.js.map +1 -0
- package/dist/src/contract.d.ts +8 -0
- package/dist/src/contract.d.ts.map +1 -0
- package/dist/src/contract.js +21 -0
- package/dist/src/contract.js.map +1 -0
- package/dist/src/coverage.d.ts +32 -0
- package/dist/src/coverage.d.ts.map +1 -0
- package/dist/src/coverage.js +85 -0
- package/dist/src/coverage.js.map +1 -0
- package/dist/src/datafence.d.ts +19 -0
- package/dist/src/datafence.d.ts.map +1 -0
- package/dist/src/datafence.js +60 -0
- package/dist/src/datafence.js.map +1 -0
- package/dist/src/dedup.d.ts +65 -0
- package/dist/src/dedup.d.ts.map +1 -0
- package/dist/src/dedup.js +459 -0
- package/dist/src/dedup.js.map +1 -0
- package/dist/src/depsources.d.ts +304 -0
- package/dist/src/depsources.d.ts.map +1 -0
- package/dist/src/depsources.js +3367 -0
- package/dist/src/depsources.js.map +1 -0
- package/dist/src/diffinput.d.ts +10 -0
- package/dist/src/diffinput.d.ts.map +1 -0
- package/dist/src/diffinput.js +172 -0
- package/dist/src/diffinput.js.map +1 -0
- package/dist/src/doubtwords.d.ts +10 -0
- package/dist/src/doubtwords.d.ts.map +1 -0
- package/dist/src/doubtwords.js +13 -0
- package/dist/src/doubtwords.js.map +1 -0
- package/dist/src/ecosystem.d.ts +148 -0
- package/dist/src/ecosystem.d.ts.map +1 -0
- package/dist/src/ecosystem.js +338 -0
- package/dist/src/ecosystem.js.map +1 -0
- package/dist/src/engine/agentdir.d.ts +5 -0
- package/dist/src/engine/agentdir.d.ts.map +1 -0
- package/dist/src/engine/agentdir.js +21 -0
- package/dist/src/engine/agentdir.js.map +1 -0
- package/dist/src/engine/auth.d.ts +214 -0
- package/dist/src/engine/auth.d.ts.map +1 -0
- package/dist/src/engine/auth.js +374 -0
- package/dist/src/engine/auth.js.map +1 -0
- package/dist/src/engine/budget.d.ts +60 -0
- package/dist/src/engine/budget.d.ts.map +1 -0
- package/dist/src/engine/budget.js +113 -0
- package/dist/src/engine/budget.js.map +1 -0
- package/dist/src/engine/capfd.d.ts +6 -0
- package/dist/src/engine/capfd.d.ts.map +1 -0
- package/dist/src/engine/capfd.js +21 -0
- package/dist/src/engine/capfd.js.map +1 -0
- package/dist/src/engine/caseout.d.ts +66 -0
- package/dist/src/engine/caseout.d.ts.map +1 -0
- package/dist/src/engine/caseout.js +107 -0
- package/dist/src/engine/caseout.js.map +1 -0
- package/dist/src/engine/context.d.ts +57 -0
- package/dist/src/engine/context.d.ts.map +1 -0
- package/dist/src/engine/context.js +212 -0
- package/dist/src/engine/context.js.map +1 -0
- package/dist/src/engine/envmap.d.ts +13 -0
- package/dist/src/engine/envmap.d.ts.map +1 -0
- package/dist/src/engine/envmap.js +372 -0
- package/dist/src/engine/envmap.js.map +1 -0
- package/dist/src/engine/extfiles.d.ts +7 -0
- package/dist/src/engine/extfiles.d.ts.map +1 -0
- package/dist/src/engine/extfiles.js +23 -0
- package/dist/src/engine/extfiles.js.map +1 -0
- package/dist/src/engine/keyroute.d.ts +21 -0
- package/dist/src/engine/keyroute.d.ts.map +1 -0
- package/dist/src/engine/keyroute.js +58 -0
- package/dist/src/engine/keyroute.js.map +1 -0
- package/dist/src/engine/lens/cache-group.d.ts +20 -0
- package/dist/src/engine/lens/cache-group.d.ts.map +1 -0
- package/dist/src/engine/lens/cache-group.js +31 -0
- package/dist/src/engine/lens/cache-group.js.map +1 -0
- package/dist/src/engine/lens/cache-run.d.ts +65 -0
- package/dist/src/engine/lens/cache-run.d.ts.map +1 -0
- package/dist/src/engine/lens/cache-run.js +159 -0
- package/dist/src/engine/lens/cache-run.js.map +1 -0
- package/dist/src/engine/lens/deadline.d.ts +54 -0
- package/dist/src/engine/lens/deadline.d.ts.map +1 -0
- package/dist/src/engine/lens/deadline.js +111 -0
- package/dist/src/engine/lens/deadline.js.map +1 -0
- package/dist/src/engine/lens/engine-tools.d.ts +13 -0
- package/dist/src/engine/lens/engine-tools.d.ts.map +1 -0
- package/dist/src/engine/lens/engine-tools.js +37 -0
- package/dist/src/engine/lens/engine-tools.js.map +1 -0
- package/dist/src/engine/lens/env.d.ts +23 -0
- package/dist/src/engine/lens/env.d.ts.map +1 -0
- package/dist/src/engine/lens/env.js +42 -0
- package/dist/src/engine/lens/env.js.map +1 -0
- package/dist/src/engine/lens/launch-plan.d.ts +63 -0
- package/dist/src/engine/lens/launch-plan.d.ts.map +1 -0
- package/dist/src/engine/lens/launch-plan.js +203 -0
- package/dist/src/engine/lens/launch-plan.js.map +1 -0
- package/dist/src/engine/lens/leaf-cache.d.ts +22 -0
- package/dist/src/engine/lens/leaf-cache.d.ts.map +1 -0
- package/dist/src/engine/lens/leaf-cache.js +115 -0
- package/dist/src/engine/lens/leaf-cache.js.map +1 -0
- package/dist/src/engine/lens/permits.d.ts +14 -0
- package/dist/src/engine/lens/permits.d.ts.map +1 -0
- package/dist/src/engine/lens/permits.js +18 -0
- package/dist/src/engine/lens/permits.js.map +1 -0
- package/dist/src/engine/lens/registry.d.ts +55 -0
- package/dist/src/engine/lens/registry.d.ts.map +1 -0
- package/dist/src/engine/lens/registry.js +140 -0
- package/dist/src/engine/lens/registry.js.map +1 -0
- package/dist/src/engine/lens/round-lens.d.ts +16 -0
- package/dist/src/engine/lens/round-lens.d.ts.map +1 -0
- package/dist/src/engine/lens/round-lens.js +46 -0
- package/dist/src/engine/lens/round-lens.js.map +1 -0
- package/dist/src/engine/lens/runlens.d.ts +103 -0
- package/dist/src/engine/lens/runlens.d.ts.map +1 -0
- package/dist/src/engine/lens/runlens.js +538 -0
- package/dist/src/engine/lens/runlens.js.map +1 -0
- package/dist/src/engine/lens/section.d.ts +19 -0
- package/dist/src/engine/lens/section.d.ts.map +1 -0
- package/dist/src/engine/lens/section.js +40 -0
- package/dist/src/engine/lens/section.js.map +1 -0
- package/dist/src/engine/lens/semaphore.d.ts +13 -0
- package/dist/src/engine/lens/semaphore.d.ts.map +1 -0
- package/dist/src/engine/lens/semaphore.js +44 -0
- package/dist/src/engine/lens/semaphore.js.map +1 -0
- package/dist/src/engine/lens/tool.d.ts +34 -0
- package/dist/src/engine/lens/tool.d.ts.map +1 -0
- package/dist/src/engine/lens/tool.js +345 -0
- package/dist/src/engine/lens/tool.js.map +1 -0
- package/dist/src/engine/lens/wave.d.ts +63 -0
- package/dist/src/engine/lens/wave.d.ts.map +1 -0
- package/dist/src/engine/lens/wave.js +95 -0
- package/dist/src/engine/lens/wave.js.map +1 -0
- package/dist/src/engine/livesessions.d.ts +21 -0
- package/dist/src/engine/livesessions.d.ts.map +1 -0
- package/dist/src/engine/livesessions.js +57 -0
- package/dist/src/engine/livesessions.js.map +1 -0
- package/dist/src/engine/livewire.d.ts +18 -0
- package/dist/src/engine/livewire.d.ts.map +1 -0
- package/dist/src/engine/livewire.js +31 -0
- package/dist/src/engine/livewire.js.map +1 -0
- package/dist/src/engine/openable.d.ts +37 -0
- package/dist/src/engine/openable.d.ts.map +1 -0
- package/dist/src/engine/openable.js +120 -0
- package/dist/src/engine/openable.js.map +1 -0
- package/dist/src/engine/pisdk.d.ts +226 -0
- package/dist/src/engine/pisdk.d.ts.map +1 -0
- package/dist/src/engine/pisdk.js +552 -0
- package/dist/src/engine/pisdk.js.map +1 -0
- package/dist/src/engine/port.d.ts +144 -0
- package/dist/src/engine/port.d.ts.map +1 -0
- package/dist/src/engine/port.js +16 -0
- package/dist/src/engine/port.js.map +1 -0
- package/dist/src/engine/prompts.d.ts +159 -0
- package/dist/src/engine/prompts.d.ts.map +1 -0
- package/dist/src/engine/prompts.js +339 -0
- package/dist/src/engine/prompts.js.map +1 -0
- package/dist/src/engine/render.d.ts +10 -0
- package/dist/src/engine/render.d.ts.map +1 -0
- package/dist/src/engine/render.js +23 -0
- package/dist/src/engine/render.js.map +1 -0
- package/dist/src/engine/reviewruntime.d.ts +13 -0
- package/dist/src/engine/reviewruntime.d.ts.map +1 -0
- package/dist/src/engine/reviewruntime.js +35 -0
- package/dist/src/engine/reviewruntime.js.map +1 -0
- package/dist/src/engine/reviewsdk.d.ts +75 -0
- package/dist/src/engine/reviewsdk.d.ts.map +1 -0
- package/dist/src/engine/reviewsdk.js +180 -0
- package/dist/src/engine/reviewsdk.js.map +1 -0
- package/dist/src/engine/round.d.ts +166 -0
- package/dist/src/engine/round.d.ts.map +1 -0
- package/dist/src/engine/round.js +543 -0
- package/dist/src/engine/round.js.map +1 -0
- package/dist/src/engine/roundagents.d.ts +17 -0
- package/dist/src/engine/roundagents.d.ts.map +1 -0
- package/dist/src/engine/roundagents.js +49 -0
- package/dist/src/engine/roundagents.js.map +1 -0
- package/dist/src/engine/roundevents.d.ts +110 -0
- package/dist/src/engine/roundevents.d.ts.map +1 -0
- package/dist/src/engine/roundevents.js +276 -0
- package/dist/src/engine/roundevents.js.map +1 -0
- package/dist/src/engine/roundsdk.d.ts +33 -0
- package/dist/src/engine/roundsdk.d.ts.map +1 -0
- package/dist/src/engine/roundsdk.js +76 -0
- package/dist/src/engine/roundsdk.js.map +1 -0
- package/dist/src/engine/sdkruntime.d.ts +23 -0
- package/dist/src/engine/sdkruntime.d.ts.map +1 -0
- package/dist/src/engine/sdkruntime.js +340 -0
- package/dist/src/engine/sdkruntime.js.map +1 -0
- package/dist/src/engine/select.d.ts +16 -0
- package/dist/src/engine/select.d.ts.map +1 -0
- package/dist/src/engine/select.js +32 -0
- package/dist/src/engine/select.js.map +1 -0
- package/dist/src/engine/sessionwrap.d.ts +4 -0
- package/dist/src/engine/sessionwrap.d.ts.map +1 -0
- package/dist/src/engine/sessionwrap.js +31 -0
- package/dist/src/engine/sessionwrap.js.map +1 -0
- package/dist/src/engine/toolfence.d.ts +90 -0
- package/dist/src/engine/toolfence.d.ts.map +1 -0
- package/dist/src/engine/toolfence.js +378 -0
- package/dist/src/engine/toolfence.js.map +1 -0
- package/dist/src/engine/tooluid.d.ts +128 -0
- package/dist/src/engine/tooluid.d.ts.map +1 -0
- package/dist/src/engine/tooluid.js +401 -0
- package/dist/src/engine/tooluid.js.map +1 -0
- package/dist/src/envstrip.d.ts +10 -0
- package/dist/src/envstrip.d.ts.map +1 -0
- package/dist/src/envstrip.js +15 -0
- package/dist/src/envstrip.js.map +1 -0
- package/dist/src/escalationprompt.d.ts +22 -0
- package/dist/src/escalationprompt.d.ts.map +1 -0
- package/dist/src/escalationprompt.js +54 -0
- package/dist/src/escalationprompt.js.map +1 -0
- package/dist/src/execfn.d.ts +29 -0
- package/dist/src/execfn.d.ts.map +1 -0
- package/dist/src/execfn.js +55 -0
- package/dist/src/execfn.js.map +1 -0
- package/dist/src/finding-chain.d.ts +40 -0
- package/dist/src/finding-chain.d.ts.map +1 -0
- package/dist/src/finding-chain.js +76 -0
- package/dist/src/finding-chain.js.map +1 -0
- package/dist/src/finding-row.d.ts +24 -0
- package/dist/src/finding-row.d.ts.map +1 -0
- package/dist/src/finding-row.js +26 -0
- package/dist/src/finding-row.js.map +1 -0
- package/dist/src/findingkey.d.ts +99 -0
- package/dist/src/findingkey.d.ts.map +1 -0
- package/dist/src/findingkey.js +210 -0
- package/dist/src/findingkey.js.map +1 -0
- package/dist/src/findingsrecord.d.ts +175 -0
- package/dist/src/findingsrecord.d.ts.map +1 -0
- package/dist/src/findingsrecord.js +410 -0
- package/dist/src/findingsrecord.js.map +1 -0
- package/dist/src/followup-mode.d.ts +4 -0
- package/dist/src/followup-mode.d.ts.map +1 -0
- package/dist/src/followup-mode.js +6 -0
- package/dist/src/followup-mode.js.map +1 -0
- package/dist/src/gate.d.ts +199 -0
- package/dist/src/gate.d.ts.map +1 -0
- package/dist/src/gate.js +315 -0
- package/dist/src/gate.js.map +1 -0
- package/dist/src/ghcred.d.ts +58 -0
- package/dist/src/ghcred.d.ts.map +1 -0
- package/dist/src/ghcred.js +139 -0
- package/dist/src/ghcred.js.map +1 -0
- package/dist/src/githubAuth.d.ts +32 -0
- package/dist/src/githubAuth.d.ts.map +1 -0
- package/dist/src/githubAuth.js +116 -0
- package/dist/src/githubAuth.js.map +1 -0
- package/dist/src/githubcore.d.ts +20 -0
- package/dist/src/githubcore.d.ts.map +1 -0
- package/dist/src/githubcore.js +20 -0
- package/dist/src/githubcore.js.map +1 -0
- package/dist/src/glob.d.ts +11 -0
- package/dist/src/glob.d.ts.map +1 -0
- package/dist/src/glob.js +69 -0
- package/dist/src/glob.js.map +1 -0
- package/dist/src/guards.d.ts +93 -0
- package/dist/src/guards.d.ts.map +1 -0
- package/dist/src/guards.js +306 -0
- package/dist/src/guards.js.map +1 -0
- package/dist/src/heartbeat.d.ts +29 -0
- package/dist/src/heartbeat.d.ts.map +1 -0
- package/dist/src/heartbeat.js +87 -0
- package/dist/src/heartbeat.js.map +1 -0
- package/dist/src/heuristics.d.ts +247 -0
- package/dist/src/heuristics.d.ts.map +1 -0
- package/dist/src/heuristics.js +927 -0
- package/dist/src/heuristics.js.map +1 -0
- package/dist/src/homes.d.ts +181 -0
- package/dist/src/homes.d.ts.map +1 -0
- package/dist/src/homes.js +242 -0
- package/dist/src/homes.js.map +1 -0
- package/dist/src/hunkheader.d.ts +11 -0
- package/dist/src/hunkheader.d.ts.map +1 -0
- package/dist/src/hunkheader.js +18 -0
- package/dist/src/hunkheader.js.map +1 -0
- package/dist/src/include.d.ts +435 -0
- package/dist/src/include.d.ts.map +1 -0
- package/dist/src/include.js +1692 -0
- package/dist/src/include.js.map +1 -0
- package/dist/src/launchvocab.d.ts +36 -0
- package/dist/src/launchvocab.d.ts.map +1 -0
- package/dist/src/launchvocab.js +59 -0
- package/dist/src/launchvocab.js.map +1 -0
- package/dist/src/ledgercarry.d.ts +24 -0
- package/dist/src/ledgercarry.d.ts.map +1 -0
- package/dist/src/ledgercarry.js +109 -0
- package/dist/src/ledgercarry.js.map +1 -0
- package/dist/src/lensids.d.ts +7 -0
- package/dist/src/lensids.d.ts.map +1 -0
- package/dist/src/lensids.js +53 -0
- package/dist/src/lensids.js.map +1 -0
- package/dist/src/lensplanning.d.ts +8 -0
- package/dist/src/lensplanning.d.ts.map +1 -0
- package/dist/src/lensplanning.js +126 -0
- package/dist/src/lensplanning.js.map +1 -0
- package/dist/src/lensresult.d.ts +94 -0
- package/dist/src/lensresult.d.ts.map +1 -0
- package/dist/src/lensresult.js +162 -0
- package/dist/src/lensresult.js.map +1 -0
- package/dist/src/lenstuning.d.ts +97 -0
- package/dist/src/lenstuning.d.ts.map +1 -0
- package/dist/src/lenstuning.js +326 -0
- package/dist/src/lenstuning.js.map +1 -0
- package/dist/src/lintconfig.d.ts +31 -0
- package/dist/src/lintconfig.d.ts.map +1 -0
- package/dist/src/lintconfig.js +543 -0
- package/dist/src/lintconfig.js.map +1 -0
- package/dist/src/live/events.d.ts +188 -0
- package/dist/src/live/events.d.ts.map +1 -0
- package/dist/src/live/events.js +136 -0
- package/dist/src/live/events.js.map +1 -0
- package/dist/src/live/writer.d.ts +54 -0
- package/dist/src/live/writer.d.ts.map +1 -0
- package/dist/src/live/writer.js +516 -0
- package/dist/src/live/writer.js.map +1 -0
- package/dist/src/localreview.d.ts +128 -0
- package/dist/src/localreview.d.ts.map +1 -0
- package/dist/src/localreview.js +426 -0
- package/dist/src/localreview.js.map +1 -0
- package/dist/src/loosenedtests.d.ts +13 -0
- package/dist/src/loosenedtests.d.ts.map +1 -0
- package/dist/src/loosenedtests.js +188 -0
- package/dist/src/loosenedtests.js.map +1 -0
- package/dist/src/memoryport.d.ts +264 -0
- package/dist/src/memoryport.d.ts.map +1 -0
- package/dist/src/memoryport.js +445 -0
- package/dist/src/memoryport.js.map +1 -0
- package/dist/src/migrations.d.ts +106 -0
- package/dist/src/migrations.d.ts.map +1 -0
- package/dist/src/migrations.js +373 -0
- package/dist/src/migrations.js.map +1 -0
- package/dist/src/oneshot.d.ts +12 -0
- package/dist/src/oneshot.d.ts.map +1 -0
- package/dist/src/oneshot.js +8 -0
- package/dist/src/oneshot.js.map +1 -0
- package/dist/src/packing.d.ts +11 -0
- package/dist/src/packing.d.ts.map +1 -0
- package/dist/src/packing.js +31 -0
- package/dist/src/packing.js.map +1 -0
- package/dist/src/passes.d.ts +16 -0
- package/dist/src/passes.d.ts.map +1 -0
- package/dist/src/passes.js +104 -0
- package/dist/src/passes.js.map +1 -0
- package/dist/src/passtasks.d.ts +68 -0
- package/dist/src/passtasks.d.ts.map +1 -0
- package/dist/src/passtasks.js +360 -0
- package/dist/src/passtasks.js.map +1 -0
- package/dist/src/pathinside.d.ts +5 -0
- package/dist/src/pathinside.d.ts.map +1 -0
- package/dist/src/pathinside.js +9 -0
- package/dist/src/pathinside.js.map +1 -0
- package/dist/src/pibuiltins.d.ts +36 -0
- package/dist/src/pibuiltins.d.ts.map +1 -0
- package/dist/src/pibuiltins.js +83 -0
- package/dist/src/pibuiltins.js.map +1 -0
- package/dist/src/plankey.d.ts +4 -0
- package/dist/src/plankey.d.ts.map +1 -0
- package/dist/src/plankey.js +10 -0
- package/dist/src/plankey.js.map +1 -0
- package/dist/src/planner.d.ts +375 -0
- package/dist/src/planner.d.ts.map +1 -0
- package/dist/src/planner.js +722 -0
- package/dist/src/planner.js.map +1 -0
- package/dist/src/plugin/args.d.ts +19 -0
- package/dist/src/plugin/args.d.ts.map +1 -0
- package/dist/src/plugin/args.js +107 -0
- package/dist/src/plugin/args.js.map +1 -0
- package/dist/src/plugin/index.d.ts +3 -0
- package/dist/src/plugin/index.d.ts.map +1 -0
- package/dist/src/plugin/index.js +14 -0
- package/dist/src/plugin/index.js.map +1 -0
- package/dist/src/plugin/login.d.ts +39 -0
- package/dist/src/plugin/login.d.ts.map +1 -0
- package/dist/src/plugin/login.js +73 -0
- package/dist/src/plugin/login.js.map +1 -0
- package/dist/src/plugin/review.d.ts +27 -0
- package/dist/src/plugin/review.d.ts.map +1 -0
- package/dist/src/plugin/review.js +298 -0
- package/dist/src/plugin/review.js.map +1 -0
- package/dist/src/plugin/runner.d.ts +6 -0
- package/dist/src/plugin/runner.d.ts.map +1 -0
- package/dist/src/plugin/runner.js +65 -0
- package/dist/src/plugin/runner.js.map +1 -0
- package/dist/src/plugin/scan.d.ts +79 -0
- package/dist/src/plugin/scan.d.ts.map +1 -0
- package/dist/src/plugin/scan.js +348 -0
- package/dist/src/plugin/scan.js.map +1 -0
- package/dist/src/plugin/session.d.ts +56 -0
- package/dist/src/plugin/session.d.ts.map +1 -0
- package/dist/src/plugin/session.js +2 -0
- package/dist/src/plugin/session.js.map +1 -0
- package/dist/src/plugin/setup.d.ts +19 -0
- package/dist/src/plugin/setup.d.ts.map +1 -0
- package/dist/src/plugin/setup.js +142 -0
- package/dist/src/plugin/setup.js.map +1 -0
- package/dist/src/plugin/versiongate.d.ts +26 -0
- package/dist/src/plugin/versiongate.d.ts.map +1 -0
- package/dist/src/plugin/versiongate.js +83 -0
- package/dist/src/plugin/versiongate.js.map +1 -0
- package/dist/src/postingkey.d.ts +8 -0
- package/dist/src/postingkey.d.ts.map +1 -0
- package/dist/src/postingkey.js +25 -0
- package/dist/src/postingkey.js.map +1 -0
- package/dist/src/postingpolicy.d.ts +108 -0
- package/dist/src/postingpolicy.d.ts.map +1 -0
- package/dist/src/postingpolicy.js +341 -0
- package/dist/src/postingpolicy.js.map +1 -0
- package/dist/src/pr-identity.d.ts +3 -0
- package/dist/src/pr-identity.d.ts.map +1 -0
- package/dist/src/pr-identity.js +9 -0
- package/dist/src/pr-identity.js.map +1 -0
- package/dist/src/prdelta.d.ts +181 -0
- package/dist/src/prdelta.d.ts.map +1 -0
- package/dist/src/prdelta.js +501 -0
- package/dist/src/prdelta.js.map +1 -0
- package/dist/src/pricing.d.ts +94 -0
- package/dist/src/pricing.d.ts.map +1 -0
- package/dist/src/pricing.js +209 -0
- package/dist/src/pricing.js.map +1 -0
- package/dist/src/priorfindings.d.ts +167 -0
- package/dist/src/priorfindings.d.ts.map +1 -0
- package/dist/src/priorfindings.js +445 -0
- package/dist/src/priorfindings.js.map +1 -0
- package/dist/src/priortasks.d.ts +31 -0
- package/dist/src/priortasks.d.ts.map +1 -0
- package/dist/src/priortasks.js +119 -0
- package/dist/src/priortasks.js.map +1 -0
- package/dist/src/profilelookup.d.ts +59 -0
- package/dist/src/profilelookup.d.ts.map +1 -0
- package/dist/src/profilelookup.js +98 -0
- package/dist/src/profilelookup.js.map +1 -0
- package/dist/src/profileoverrides.d.ts +91 -0
- package/dist/src/profileoverrides.d.ts.map +1 -0
- package/dist/src/profileoverrides.js +313 -0
- package/dist/src/profileoverrides.js.map +1 -0
- package/dist/src/profiles.d.ts +144 -0
- package/dist/src/profiles.d.ts.map +1 -0
- package/dist/src/profiles.js +604 -0
- package/dist/src/profiles.js.map +1 -0
- package/dist/src/promptdoc.d.ts +3 -0
- package/dist/src/promptdoc.d.ts.map +1 -0
- package/dist/src/promptdoc.js +18 -0
- package/dist/src/promptdoc.js.map +1 -0
- package/dist/src/prtarget.d.ts +70 -0
- package/dist/src/prtarget.d.ts.map +1 -0
- package/dist/src/prtarget.js +181 -0
- package/dist/src/prtarget.js.map +1 -0
- package/dist/src/recheckorder.d.ts +32 -0
- package/dist/src/recheckorder.d.ts.map +1 -0
- package/dist/src/recheckorder.js +5 -0
- package/dist/src/recheckorder.js.map +1 -0
- package/dist/src/reviewapi.d.ts +207 -0
- package/dist/src/reviewapi.d.ts.map +1 -0
- package/dist/src/reviewapi.js +939 -0
- package/dist/src/reviewapi.js.map +1 -0
- package/dist/src/reviewbotfindings.d.ts +33 -0
- package/dist/src/reviewbotfindings.d.ts.map +1 -0
- package/dist/src/reviewbotfindings.js +80 -0
- package/dist/src/reviewbotfindings.js.map +1 -0
- package/dist/src/reviewconfig.d.ts +741 -0
- package/dist/src/reviewconfig.d.ts.map +1 -0
- package/dist/src/reviewconfig.js +797 -0
- package/dist/src/reviewconfig.js.map +1 -0
- package/dist/src/reviewdelta.d.ts +51 -0
- package/dist/src/reviewdelta.d.ts.map +1 -0
- package/dist/src/reviewdelta.js +119 -0
- package/dist/src/reviewdelta.js.map +1 -0
- package/dist/src/reviewdest.d.ts +86 -0
- package/dist/src/reviewdest.d.ts.map +1 -0
- package/dist/src/reviewdest.js +142 -0
- package/dist/src/reviewdest.js.map +1 -0
- package/dist/src/reviewerstub.d.ts +12 -0
- package/dist/src/reviewerstub.d.ts.map +1 -0
- package/dist/src/reviewerstub.js +28 -0
- package/dist/src/reviewerstub.js.map +1 -0
- package/dist/src/reviewhost.d.ts +58 -0
- package/dist/src/reviewhost.d.ts.map +1 -0
- package/dist/src/reviewhost.js +135 -0
- package/dist/src/reviewhost.js.map +1 -0
- package/dist/src/reviewpost.d.ts +79 -0
- package/dist/src/reviewpost.d.ts.map +1 -0
- package/dist/src/reviewpost.js +233 -0
- package/dist/src/reviewpost.js.map +1 -0
- package/dist/src/reviewrender.d.ts +154 -0
- package/dist/src/reviewrender.d.ts.map +1 -0
- package/dist/src/reviewrender.js +480 -0
- package/dist/src/reviewrender.js.map +1 -0
- package/dist/src/reviewstate.d.ts +62 -0
- package/dist/src/reviewstate.d.ts.map +1 -0
- package/dist/src/reviewstate.js +167 -0
- package/dist/src/reviewstate.js.map +1 -0
- package/dist/src/reviewstore.d.ts +17 -0
- package/dist/src/reviewstore.d.ts.map +1 -0
- package/dist/src/reviewstore.js +105 -0
- package/dist/src/reviewstore.js.map +1 -0
- package/dist/src/round-progress.d.ts +120 -0
- package/dist/src/round-progress.d.ts.map +1 -0
- package/dist/src/round-progress.js +172 -0
- package/dist/src/round-progress.js.map +1 -0
- package/dist/src/round-stage-deadlines.d.ts +12 -0
- package/dist/src/round-stage-deadlines.d.ts.map +1 -0
- package/dist/src/round-stage-deadlines.js +10 -0
- package/dist/src/round-stage-deadlines.js.map +1 -0
- package/dist/src/session-command.d.ts +19 -0
- package/dist/src/session-command.d.ts.map +1 -0
- package/dist/src/session-command.js +20 -0
- package/dist/src/session-command.js.map +1 -0
- package/dist/src/settledread.d.ts +61 -0
- package/dist/src/settledread.d.ts.map +1 -0
- package/dist/src/settledread.js +135 -0
- package/dist/src/settledread.js.map +1 -0
- package/dist/src/severity.d.ts +167 -0
- package/dist/src/severity.d.ts.map +1 -0
- package/dist/src/severity.js +364 -0
- package/dist/src/severity.js.map +1 -0
- package/dist/src/severityrank.d.ts +8 -0
- package/dist/src/severityrank.d.ts.map +1 -0
- package/dist/src/severityrank.js +16 -0
- package/dist/src/severityrank.js.map +1 -0
- package/dist/src/standing-review.d.ts +45 -0
- package/dist/src/standing-review.d.ts.map +1 -0
- package/dist/src/standing-review.js +43 -0
- package/dist/src/standing-review.js.map +1 -0
- package/dist/src/storerows.d.ts +225 -0
- package/dist/src/storerows.d.ts.map +1 -0
- package/dist/src/storerows.js +7 -0
- package/dist/src/storerows.js.map +1 -0
- package/dist/src/styleguide.d.ts +25 -0
- package/dist/src/styleguide.d.ts.map +1 -0
- package/dist/src/styleguide.js +272 -0
- package/dist/src/styleguide.js.map +1 -0
- package/dist/src/sweepstatus.d.ts +42 -0
- package/dist/src/sweepstatus.d.ts.map +1 -0
- package/dist/src/sweepstatus.js +97 -0
- package/dist/src/sweepstatus.js.map +1 -0
- package/dist/src/templates.d.ts +243 -0
- package/dist/src/templates.d.ts.map +1 -0
- package/dist/src/templates.js +847 -0
- package/dist/src/templates.js.map +1 -0
- package/dist/src/types.d.ts +639 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +90 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/unifieddiff.d.ts +22 -0
- package/dist/src/unifieddiff.d.ts.map +1 -0
- package/dist/src/unifieddiff.js +176 -0
- package/dist/src/unifieddiff.js.map +1 -0
- package/dist/src/yieldloop.d.ts +2 -0
- package/dist/src/yieldloop.d.ts.map +1 -0
- package/dist/src/yieldloop.js +14 -0
- package/dist/src/yieldloop.js.map +1 -0
- package/package.json +60 -4
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import type { PrFileEntry } from "./githubcore.js";
|
|
2
|
+
export interface PrFile {
|
|
3
|
+
filename: string;
|
|
4
|
+
additions: number;
|
|
5
|
+
deletions: number;
|
|
6
|
+
/** GitHub file status ("added", "modified", …) when available — the
|
|
7
|
+
* placement lens keys on new files (github.ts PrFileEntry.status). */
|
|
8
|
+
status?: string;
|
|
9
|
+
/** Unified diff for the file when available (github.ts PrFileEntry.patch). */
|
|
10
|
+
patch?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function isTestFile(filename: string): boolean;
|
|
13
|
+
export interface ProdStats {
|
|
14
|
+
prod_lines: number;
|
|
15
|
+
prod_files: number;
|
|
16
|
+
}
|
|
17
|
+
export declare function prodStats(files: PrFile[]): ProdStats;
|
|
18
|
+
/** A path under a `migrations/` directory — the one spelling of "this file is
|
|
19
|
+
* a migration" shared by the migration gate, lens selection, the ecosystem
|
|
20
|
+
* pre-check and the recheck's renumber classifier. */
|
|
21
|
+
export declare const MIGRATION_DIR_RE: RegExp;
|
|
22
|
+
export declare function isMigrationPath(path: string): boolean;
|
|
23
|
+
export declare function migrationGate(files: PrFile[]): boolean;
|
|
24
|
+
/** Pass model tier for a round: small quiet diffs start at terra-med; a
|
|
25
|
+
* migration or a size at/over `smallDiffLines` starts at sol-med. (Risk passes
|
|
26
|
+
* and pass-validate have fixed tiers in config — this function only picks the
|
|
27
|
+
* base tier for the raisable passes.) */
|
|
28
|
+
export declare function passTier(files: PrFileEntry[], opts: {
|
|
29
|
+
migrationGate: boolean;
|
|
30
|
+
smallDiffLines: number;
|
|
31
|
+
}): "terra-med" | "sol-med";
|
|
32
|
+
export declare const INTENT_PASS = "pass-intent";
|
|
33
|
+
/** Words of author prose a body must carry before pass-intent is worth a
|
|
34
|
+
* dispatch. Below this, "the body says X" has no X to check — the lens's own
|
|
35
|
+
* contract says NONE is the only honest output. */
|
|
36
|
+
export declare const INTENT_MIN_SUBSTANCE_WORDS = 60;
|
|
37
|
+
/**
|
|
38
|
+
* Words of actual author prose in a PR body, after stripping the parts that
|
|
39
|
+
* carry no intent: PR-template HTML comments, fenced/inline code, bare URLs,
|
|
40
|
+
* template scaffolding headings and empty checkboxes. Deliberately crude —
|
|
41
|
+
* this is a dispatch-cost gate, not comprehension.
|
|
42
|
+
*/
|
|
43
|
+
export declare function intentSubstanceWords(body: string | null | undefined): number;
|
|
44
|
+
/** The substance bar: run pass-intent iff the body clears it. */
|
|
45
|
+
export declare function meetsIntentBar(body: string | null | undefined, minWords?: number): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* The cost-shaped selection thresholds (`[review]` knobs), so a benchmark arm
|
|
48
|
+
* can test a tighter plan on the same image. Absent ⇒ the compiled defaults.
|
|
49
|
+
*/
|
|
50
|
+
export interface SelectionTuning {
|
|
51
|
+
/** pass-intent's substance bar (words of author prose). */
|
|
52
|
+
intentMinWords?: number;
|
|
53
|
+
/** Placement fires on this many code files… */
|
|
54
|
+
placementMinCodeFiles?: number;
|
|
55
|
+
/** …or on a new code file with at least this many added lines (0 = any). */
|
|
56
|
+
placementMinNewFileLines?: number;
|
|
57
|
+
}
|
|
58
|
+
export declare const PLACEMENT_PASS = "pass-placement";
|
|
59
|
+
export declare const SIMPLICITY_PASS = "pass-simplicity";
|
|
60
|
+
export declare const BACKCOMPAT_PASS = "pass-backcompat";
|
|
61
|
+
/** A public or exported declaration on a removed or changed line: TS/JS
|
|
62
|
+
* `export`, Go exported funcs/types, Rust `pub`, Java/Kotlin/C#/Swift `public`,
|
|
63
|
+
* Python names in `__all__` or a top-level `def`/`class` without a leading
|
|
64
|
+
* underscore. */
|
|
65
|
+
export declare const PUBLIC_SIGNATURE_RE: RegExp;
|
|
66
|
+
/** A wire-serialization site on a changed line: field names and order that
|
|
67
|
+
* a peer or a stored payload agrees with. */
|
|
68
|
+
export declare const WIRE_FORMAT_RE: RegExp;
|
|
69
|
+
/** CODE files — the unit placement/simplicity judge. A new README, lockfile
|
|
70
|
+
* or asset is "prod" by the test filter but has no placement or complexity
|
|
71
|
+
* to judge: dispatching on it is the pure-spend case the intent bar above
|
|
72
|
+
* exists to avoid. */
|
|
73
|
+
export declare const CODE_FILE_RE: RegExp;
|
|
74
|
+
/** Placement also fires on cross-cutting diffs: at least this many code files. */
|
|
75
|
+
export declare const PLACEMENT_MIN_PROD_FILES = 8;
|
|
76
|
+
/** …or on a new code file of at least this many added lines. The two
|
|
77
|
+
* placement thresholds and the intent bar above are the `default` review
|
|
78
|
+
* preset's (config.ts REVIEW_PRESETS, held equal by tests/review-levers.test.ts):
|
|
79
|
+
* the lean plan, measured on the defect benchmark to keep recall at ~15% less
|
|
80
|
+
* spend. */
|
|
81
|
+
export declare const PLACEMENT_MIN_NEW_FILE_LINES = 30;
|
|
82
|
+
/** Simplicity fires on diffs big enough to hide complexity — aligned with
|
|
83
|
+
* `small_diff_lines` (150) so a "small quiet diff" round stays lean… */
|
|
84
|
+
export declare const SIMPLICITY_MIN_PROD_LINES = 150;
|
|
85
|
+
/** …or on a file gaining this many branches (`+ if/elif/else if/case`). */
|
|
86
|
+
export declare const SIMPLICITY_MIN_ADDED_BRANCHES = 5;
|
|
87
|
+
/** Extra per-lens selection predicates supplied by a repo profile. */
|
|
88
|
+
export interface HeuristicsExtension {
|
|
89
|
+
/** lens → path regexes: any changed filename matching any of them selects
|
|
90
|
+
* the lens (same contract as the compiled-in `any()` predicates). */
|
|
91
|
+
paths: Partial<Record<string, RegExp[]>>;
|
|
92
|
+
/** lens → added-line probes, tested against each file's unified patch when
|
|
93
|
+
* one is present. The loader compiles each probe to match ADDED lines
|
|
94
|
+
* (`^\+.*(?:…)`, case-insensitive multiline). */
|
|
95
|
+
addedLines: Partial<Record<string, RegExp[]>>;
|
|
96
|
+
}
|
|
97
|
+
export declare const EMPTY_HEURISTICS: HeuristicsExtension;
|
|
98
|
+
/** The lenses a profile may extend: exactly the shape-selected conditionals.
|
|
99
|
+
* Deliberately NOT extendable: `pass-baseline`/`pass-validate` (always in the
|
|
100
|
+
* plan already), `pass-intent` (keyed on the PR body, never the file shape),
|
|
101
|
+
* `pass-placement`/`pass-simplicity` (computed from code-file status/size
|
|
102
|
+
* signals, not path membership), and `pass-concurrency`/`pass-ask-human`
|
|
103
|
+
* (never selected by path: a race or an unwritten answer has no filename, so a
|
|
104
|
+
* profile path predicate would be exactly the selection that rule refuses). */
|
|
105
|
+
export declare const PROFILE_EXTENDABLE_LENSES: readonly string[];
|
|
106
|
+
export declare function selectLenses(files: PrFile[], intent?: {
|
|
107
|
+
body?: string | null;
|
|
108
|
+
}, ext?: HeuristicsExtension, tuning?: SelectionTuning,
|
|
109
|
+
/** Filled with why each lens was planned: the plan explains every lens it
|
|
110
|
+
* chose. */
|
|
111
|
+
reasons?: Map<string, string>): string[];
|
|
112
|
+
export interface SubLensTrigger {
|
|
113
|
+
lens: string;
|
|
114
|
+
/** The broad lens this one narrows — documentation and the plan's notes. */
|
|
115
|
+
family: string;
|
|
116
|
+
/** The reason the plan shows, or null when the trigger does not fire. */
|
|
117
|
+
fires: (files: PrFile[], text: string) => string | null;
|
|
118
|
+
}
|
|
119
|
+
export declare const SUBLENS_TRIGGERS: readonly SubLensTrigger[];
|
|
120
|
+
/** Every sub-lens pass name, in registry order. */
|
|
121
|
+
export declare const SUBLENS_PASSES: readonly string[];
|
|
122
|
+
/** The sub-lenses this PR fires, with the reason each fired. Pure. */
|
|
123
|
+
export declare function selectSubLenses(files: PrFile[], intent?: {
|
|
124
|
+
title?: string | null;
|
|
125
|
+
body?: string | null;
|
|
126
|
+
}): {
|
|
127
|
+
lens: string;
|
|
128
|
+
why: string;
|
|
129
|
+
}[];
|
|
130
|
+
export declare const SWEEP_PASS = "pass-sweep";
|
|
131
|
+
/** The behaviour-delta lens (agents/pass-behaviour-delta.md): base versus
|
|
132
|
+
* head on every modified, rewrapped, replaced or deleted line of non-test
|
|
133
|
+
* code — a safeguard made conditional, a value changed in a new `else`,
|
|
134
|
+
* deleted handling, nil turned into an empty map. No other lens reads base and
|
|
135
|
+
* head side by side (the sweep reads added lines only and skips removed
|
|
136
|
+
* files). */
|
|
137
|
+
export declare const BEHAVIOUR_DELTA_PASS = "pass-behaviour-delta";
|
|
138
|
+
/** Does this file's change put base behaviour at risk? (see DELTA_RISK_RE). */
|
|
139
|
+
export declare function behaviourDeltaRisk(f: PrFile): boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Cut the PR's MODIFYING changes into behaviour-delta groups: non-test code
|
|
142
|
+
* files that delete or replace lines AND put base behaviour at risk
|
|
143
|
+
* (`behaviourDeltaRisk`; a file the PR removes included; pure additions are not
|
|
144
|
+
* this lens's), diff order, packed by changed lines (at most `maxLines` per
|
|
145
|
+
* group unless one file alone exceeds it), at most `maxGroups` groups. Files
|
|
146
|
+
* past the last group come back in `unread` — a silent cap reads as covered.
|
|
147
|
+
*/
|
|
148
|
+
export declare function behaviourDeltaGroups(files: PrFile[], maxGroups: number, maxLines: number): {
|
|
149
|
+
groups: string[][];
|
|
150
|
+
unread: string[];
|
|
151
|
+
};
|
|
152
|
+
/** The tests lens (agents/pass-tests.md). */
|
|
153
|
+
export declare const TESTS_PASS = "pass-tests";
|
|
154
|
+
export declare const MAINTAINABILITY_PASS = "pass-maintainability";
|
|
155
|
+
export declare const DUPLICATION_PASS = "pass-duplication";
|
|
156
|
+
export declare const ABSTRACTION_PASS = "pass-abstraction";
|
|
157
|
+
/** Is the change consistent with itself and with the code around it? An
|
|
158
|
+
* outlier sibling is often a defect, so this one is not capped when it shows
|
|
159
|
+
* a failure. */
|
|
160
|
+
export declare const CONSISTENCY_PASS = "pass-consistency";
|
|
161
|
+
export declare const QUALITY_PASSES: readonly string[];
|
|
162
|
+
/** Added non-test code lines below which a change is too small to carry a
|
|
163
|
+
* maintainability, duplication or abstraction question worth a pass. */
|
|
164
|
+
export declare const QUALITY_MIN_ADDED_LINES = 20;
|
|
165
|
+
/** The style lens (agents/pass-style.md): planned only when the repo has a
|
|
166
|
+
* written style guide (packages/pi-plugin/src/styleguide.ts). */
|
|
167
|
+
export declare const STYLE_PASS = "pass-style";
|
|
168
|
+
/** The lint-conformance sub-lens (agents/pass-lint-conformance.md): planned
|
|
169
|
+
* only when a CI job runs a linter whose rules cover a changed file. */
|
|
170
|
+
export declare const LINT_CONFORMANCE_PASS = "pass-lint-conformance";
|
|
171
|
+
/** The quality lenses a change warrants: all of them once its non-test code
|
|
172
|
+
* adds `minAdded` lines — or, on a test-only change (a test file is code a
|
|
173
|
+
* reader maintains too), once its test code adds that many —
|
|
174
|
+
* none below. */
|
|
175
|
+
export declare function selectQualityLenses(files: PrFileEntry[], minAdded: number): string[];
|
|
176
|
+
/** Why the quality lenses were planned, for the plan. */
|
|
177
|
+
export declare function qualityReason(files: PrFileEntry[], minAdded: number): string;
|
|
178
|
+
/** Is `path` a translation catalog the sweep skips (`TRANSLATION_FILE_RE`)? */
|
|
179
|
+
export declare function isTranslationFile(path: string): boolean;
|
|
180
|
+
/**
|
|
181
|
+
* Is `path` a file a sweep row can read at a cheaper tier
|
|
182
|
+
* (`[review] sweep_light_tier`)? Tests, prose and config/data files — the
|
|
183
|
+
* rows that hold no production code. A CI workflow (`.github/workflows/`)
|
|
184
|
+
* is not: its steps run.
|
|
185
|
+
*/
|
|
186
|
+
export declare function isLightSweepFile(path: string): boolean;
|
|
187
|
+
/** Is `path` a file the sweep never reads? Exported for the setup engine's
|
|
188
|
+
* case sizing: a unit is sized by what a pass would actually read. Prose is
|
|
189
|
+
* judged by path alone here (README.md reads as skipped); `sweepGroups` still
|
|
190
|
+
* reads prose when the PR also changes code, so this is the code-less answer. */
|
|
191
|
+
export declare function isSweepSkipped(path: string): boolean;
|
|
192
|
+
/** A group stays under both caps unless one file alone exceeds them. The
|
|
193
|
+
* defaults are sized to hold a typical small PR in one or two passes, so no
|
|
194
|
+
* pass is spent on a handful of lines. */
|
|
195
|
+
export declare const SWEEP_MAX_FILES_PER_GROUP = 8;
|
|
196
|
+
export declare const SWEEP_MAX_LINES_PER_GROUP = 500;
|
|
197
|
+
/** A WIDE change — more eligible files than `maxFiles × maxGroups`, so the
|
|
198
|
+
* file cap would leave files unswept — is packed by its changed-line budget
|
|
199
|
+
* instead, at most this many files per group: cost tracks the number of
|
|
200
|
+
* passes, and a wide, shallow change would otherwise run every sweep pass and
|
|
201
|
+
* still leave most files unswept. Every non-wide plan is unchanged by it.
|
|
202
|
+
* 0 turns the rule off. */
|
|
203
|
+
export declare const SWEEP_WIDE_FILES_PER_GROUP = 40;
|
|
204
|
+
/**
|
|
205
|
+
* Cut the PR's changed files into sweep groups: diff order, greedy, at most
|
|
206
|
+
* `SWEEP_MAX_FILES_PER_GROUP` files and `SWEEP_MAX_LINES_PER_GROUP` changed
|
|
207
|
+
* lines per group, at most `maxGroups` groups. Files past the last group come
|
|
208
|
+
* back in `unswept` so the plan can say so — a silent cap reads as "covered".
|
|
209
|
+
*/
|
|
210
|
+
export declare function sweepGroups(files: PrFile[], maxGroups: number, maxFiles?: number, maxLines?: number, wideFiles?: number): {
|
|
211
|
+
groups: string[][];
|
|
212
|
+
unswept: string[];
|
|
213
|
+
};
|
|
214
|
+
/** At most this many pass-baseline rows when a very large change splits it:
|
|
215
|
+
* each row is a whole baseline reading, so more rows buy a shorter
|
|
216
|
+
* critical path at the price of more parallel full readings. */
|
|
217
|
+
export declare const BASELINE_SPLIT_MAX_ROWS = 3;
|
|
218
|
+
/** The changed lines `baselineGroups` measures a change by. */
|
|
219
|
+
export declare function baselineSplitLines(files: readonly PrFile[]): number;
|
|
220
|
+
/**
|
|
221
|
+
* Split pass-baseline by file group on a very large change
|
|
222
|
+
* (`[review] baseline_split_lines`). pass-baseline is one row and, once the
|
|
223
|
+
* fan-out launches in one turn, the round's critical path on the largest
|
|
224
|
+
* PRs.
|
|
225
|
+
*
|
|
226
|
+
* Over `splitLines` changed lines (`baselineSplitLines`; 0 = never) the
|
|
227
|
+
* change's files — every one the PR does not remove — are cut, in diff order
|
|
228
|
+
* (directories stay together), into `ceil(lines / splitLines)` groups, at
|
|
229
|
+
* most `maxRows`, balanced by those lines: each file goes to the group its
|
|
230
|
+
* line midpoint falls in, so no file is split and every file has exactly one
|
|
231
|
+
* group. A group under a quarter of its share joins its neighbour, so a
|
|
232
|
+
* file that weighs nothing, or a few lines beside one file that is nearly
|
|
233
|
+
* the whole change, never buys a row. Each group is where one baseline row
|
|
234
|
+
* STARTS; the row's charter stays the whole PR.
|
|
235
|
+
*
|
|
236
|
+
* Returns `[]` — one ordinary row — at or under the
|
|
237
|
+
* threshold, and when the cut leaves fewer than two groups.
|
|
238
|
+
*/
|
|
239
|
+
export declare function baselineGroups(files: readonly PrFile[], splitLines: number, maxRows?: number): string[][];
|
|
240
|
+
/** A pass-baseline row of a split baseline (`baselineGroups`): its `focus`
|
|
241
|
+
* is where it STARTS, never what it covers — unlike a sweep or
|
|
242
|
+
* behaviour-delta row, whose focus is exactly its files. */
|
|
243
|
+
export declare function isSplitBaselineRow(p: {
|
|
244
|
+
lens: string;
|
|
245
|
+
focus?: readonly string[];
|
|
246
|
+
}): boolean;
|
|
247
|
+
//# sourceMappingURL=heuristics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heuristics.d.ts","sourceRoot":"","sources":["../../src/heuristics.ts"],"names":[],"mappings":"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"}
|