@smartergpt/lexrunner 1.0.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/.changes/ci-debug-added.txt +1 -0
- package/.changeset/tsconfig-solution-build.md +5 -0
- package/.editorconfig +9 -0
- package/.env.example +8 -0
- package/.github/COST_EFFICIENCY.md +60 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +28 -0
- package/.github/ISSUE_TEMPLATE/epic.yml +123 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +26 -0
- package/.github/ISSUE_TEMPLATE/issue-A1-gate-input-validation.md +380 -0
- package/.github/ISSUE_TEMPLATE/issue-B1-scope-validation.md +509 -0
- package/.github/ISSUE_TEMPLATE/issue-C1-command-whitelist.md +463 -0
- package/.github/ISSUE_TEMPLATE/subtask.yml +153 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +9 -0
- package/.github/copilot-instructions-old.md +429 -0
- package/.github/copilot-instructions.md +33 -0
- package/.github/instructions/tests.instructions.md +10 -0
- package/.github/workflows/auto-delete-merged-branches.yml +103 -0
- package/.github/workflows/benchmarks.yml +72 -0
- package/.github/workflows/ci-debug.yml +33 -0
- package/.github/workflows/ci.yml +167 -0
- package/.github/workflows/cli-smoke-test.yml +345 -0
- package/.github/workflows/copilot-setup-steps.yml +20 -0
- package/.github/workflows/frame-emission-gate.yml +242 -0
- package/.github/workflows/project-auto.yml +24 -0
- package/.github/workflows/release.yml +260 -0
- package/.github/workflows/slow-cli-tests.yml +37 -0
- package/.github/workflows/tag-guard.yml +44 -0
- package/.husky/pre-commit +1 -0
- package/.nvmrc +2 -0
- package/.prettierignore +28 -0
- package/.prettierrc.json +10 -0
- package/.smartergpt/CONTROL_DECK_VISION.md +226 -0
- package/.smartergpt/allowed-commands.json +41 -0
- package/.smartergpt/allowed-commands.strict.json +56 -0
- package/.smartergpt/deliverables/.live.md +426 -0
- package/.smartergpt/deliverables/ISSUE_STATUS_2025-12-28.md +193 -0
- package/.smartergpt/deliverables/_research/snapshot-contract-feedback/ADR_DISCUSSION.md +379 -0
- package/.smartergpt/deliverables/_research/snapshot-contract-feedback/Answer_claude-haiku.md +109 -0
- package/.smartergpt/deliverables/_research/snapshot-contract-feedback/Answer_gemini-flash.md +42 -0
- package/.smartergpt/deliverables/_research/snapshot-contract-feedback/Answer_gpt-codex-mini.md +19 -0
- package/.smartergpt/deliverables/_research/snapshot-contract-feedback/Answer_raptor-mini.md +37 -0
- package/.smartergpt/deliverables/_research/snapshot-contract-feedback/Question.md +37 -0
- package/.smartergpt/deliverables/merge-weave-04469e41-24ba-4ed5-b0ff-13c7ea12858d.ndjson +2 -0
- package/.smartergpt/deps.yml +3 -0
- package/.smartergpt/docs/fanout-templates.md +213 -0
- package/.smartergpt/docs/merge-weave-interventions.md +261 -0
- package/.smartergpt/docs/test-fix-patterns.md +240 -0
- package/.smartergpt/fanout-templates.yml +263 -0
- package/.smartergpt/gates.yml +9 -0
- package/.smartergpt/intent.md +1 -0
- package/.smartergpt/issues/QOL-001-analysis-script-filtering.md +36 -0
- package/.smartergpt/issues/QOL-002-log-retention-policy.md +92 -0
- package/.smartergpt/issues/QOL-003-realtime-console-feedback.md +44 -0
- package/.smartergpt/issues/QOL-004-governance-report-cli.md +44 -0
- package/.smartergpt/issues/QOL-005-schema-versioning.md +46 -0
- package/.smartergpt/issues/QOL-006-debug-verbose-mode.md +45 -0
- package/.smartergpt/issues/QOL-COMPLETION-REPORT.md +359 -0
- package/.smartergpt/issues/QOL-REVIEW-SUMMARY.md +111 -0
- package/.smartergpt/issues/QOL-ROADMAP.md +71 -0
- package/.smartergpt/merge-policy.yml +41 -0
- package/.smartergpt/merge-weave-policy.yml +255 -0
- package/.smartergpt/o1.json +0 -0
- package/.smartergpt/o2.json +0 -0
- package/.smartergpt/personas/eager-pm.md +123 -0
- package/.smartergpt/personas/example.md +81 -0
- package/.smartergpt/personas/senior-dev.md +107 -0
- package/.smartergpt/profile.yml +2 -0
- package/.smartergpt/prompts/create-project.md +112 -0
- package/.smartergpt/prompts/idea.md +64 -0
- package/.smartergpt/pull-request-template.md +25 -0
- package/.smartergpt/schemas/behavior-rule.schema.d.ts +54 -0
- package/.smartergpt/schemas/behavior-rule.schema.js +56 -0
- package/.smartergpt/schemas/behavior-rule.schema.json +105 -0
- package/.smartergpt/schemas/behavior-rule.schema.ts +60 -0
- package/.smartergpt/schemas/execution-plan-v1.d.ts +47 -0
- package/.smartergpt/schemas/execution-plan-v1.js +22 -0
- package/.smartergpt/schemas/execution-plan-v1.json +113 -0
- package/.smartergpt/schemas/execution-plan-v1.ts +32 -0
- package/.smartergpt/schemas/execution-plan.schema.json +116 -0
- package/.smartergpt/schemas/feature-spec-v0.d.ts +13 -0
- package/.smartergpt/schemas/feature-spec-v0.js +12 -0
- package/.smartergpt/schemas/feature-spec-v0.json +58 -0
- package/.smartergpt/schemas/feature-spec-v0.ts +16 -0
- package/.smartergpt/schemas/feature-spec.schema.json +111 -0
- package/.smartergpt/schemas/gates.schema.d.ts +48 -0
- package/.smartergpt/schemas/gates.schema.js +20 -0
- package/.smartergpt/schemas/gates.schema.json +47 -0
- package/.smartergpt/schemas/gates.schema.ts +26 -0
- package/.smartergpt/schemas/idea.schema.json +81 -0
- package/.smartergpt/schemas/runner.scope.schema.d.ts +54 -0
- package/.smartergpt/schemas/runner.scope.schema.js +28 -0
- package/.smartergpt/schemas/runner.scope.schema.json +75 -0
- package/.smartergpt/schemas/runner.scope.schema.ts +36 -0
- package/.smartergpt/schemas/runner.stack.schema.d.ts +40 -0
- package/.smartergpt/schemas/runner.stack.schema.js +21 -0
- package/.smartergpt/schemas/runner.stack.schema.json +51 -0
- package/.smartergpt/schemas/runner.stack.schema.ts +27 -0
- package/.smartergpt/scope.yml +11 -0
- package/.smartergpt/stack.yml +16 -0
- package/.smartergpt/test-fix-patterns.yml +106 -0
- package/.tool-versions +13 -0
- package/AGENTS.md +402 -0
- package/CHANGELOG.md +256 -0
- package/CLAUDE.md +484 -0
- package/CONTRIBUTING.md +345 -0
- package/EAGER_PM_FANOUT_ANALYSIS.md +283 -0
- package/FAQ.md +292 -0
- package/FIXTURE_LIBRARY_SUMMARY.md +327 -0
- package/IMPLEMENTATION_SUMMARY.md +222 -0
- package/LICENSE +21 -0
- package/MANUAL_TEST_GUIDE.md +229 -0
- package/MCP-ALIGNMENT-SUMMARY.md +261 -0
- package/MCP-CONFIG.md +125 -0
- package/MERGE_WEAVE_QUICKSTART.md +450 -0
- package/MERGE_WEAVE_SUMMARY.md +259 -0
- package/MERGE_WEAVE_USAGE_GUIDE.md +368 -0
- package/NOTICE.md +43 -0
- package/README.mcp.md +770 -0
- package/README.md +1069 -0
- package/TEST_INFRASTRUCTURE_ASSESSMENT.md +225 -0
- package/bootstrap-lexrunner.sh +396 -0
- package/dist/api-7H7SJZIX.js +15 -0
- package/dist/api-U3X2WA6D.js +15 -0
- package/dist/audit-2TZ2LU72.js +60 -0
- package/dist/audit-5HH5BMKI.js +60 -0
- package/dist/audit-6K5K333I.js +60 -0
- package/dist/audit-DYQWS57J.js +60 -0
- package/dist/audit-JBWZ2GZ2.js +60 -0
- package/dist/audit-SJF3434D.js +60 -0
- package/dist/audit-TICGGVX5.js +60 -0
- package/dist/audit-YOBB27PY.js +60 -0
- package/dist/autopilot-3GAVXWWC.js +45 -0
- package/dist/autopilot-43NOYVQA.js +45 -0
- package/dist/autopilot-4UA3OWLU.js +45 -0
- package/dist/autopilot-54TK5CCG.js +45 -0
- package/dist/autopilot-5BHC2UQT.js +45 -0
- package/dist/autopilot-ABZUCVGY.js +45 -0
- package/dist/autopilot-ACJZP47Y.js +45 -0
- package/dist/autopilot-AL5F5AUS.js +46 -0
- package/dist/autopilot-BO67FWUC.js +45 -0
- package/dist/autopilot-BR6W4GEX.js +45 -0
- package/dist/autopilot-FOR2UKRY.js +45 -0
- package/dist/autopilot-GDTTXHEQ.js +45 -0
- package/dist/autopilot-GEAMFZBM.js +45 -0
- package/dist/autopilot-HDMBRZE6.js +45 -0
- package/dist/autopilot-IKI2Y6S4.js +44 -0
- package/dist/autopilot-ILTBWWOL.js +46 -0
- package/dist/autopilot-KI3MXIFI.js +44 -0
- package/dist/autopilot-LWNPZC3J.js +45 -0
- package/dist/autopilot-LXPJ4ZXF.js +45 -0
- package/dist/autopilot-MDIFIONK.js +46 -0
- package/dist/autopilot-NW3LDP6M.js +45 -0
- package/dist/autopilot-OKTSCG35.js +45 -0
- package/dist/autopilot-OR5PF5PD.js +45 -0
- package/dist/autopilot-PE65SBGN.js +45 -0
- package/dist/autopilot-PW7I4B6W.js +45 -0
- package/dist/autopilot-QMLBL5P6.js +45 -0
- package/dist/autopilot-QSN6ZU5O.js +45 -0
- package/dist/autopilot-R7EZJOGI.js +46 -0
- package/dist/autopilot-T544CPPD.js +44 -0
- package/dist/autopilot-TNQB6VGJ.js +44 -0
- package/dist/autopilot-UVIYCR6K.js +45 -0
- package/dist/autopilot-W3ZTTSH3.js +45 -0
- package/dist/autopilot-XPKWOFXO.js +44 -0
- package/dist/autopilot-XRX4QWRM.js +44 -0
- package/dist/autopilot-Y3BAGNI5.js +44 -0
- package/dist/autopilot-ZE64XW2K.js +44 -0
- package/dist/chunk-2ESYSVXG.js +48 -0
- package/dist/chunk-2VR554P7.js +668 -0
- package/dist/chunk-37DOWIVT.js +1084 -0
- package/dist/chunk-3DU2DWUP.js +400 -0
- package/dist/chunk-3DVXIZFM.js +11166 -0
- package/dist/chunk-3FABZF4V.js +811 -0
- package/dist/chunk-4FFGNTAV.js +515 -0
- package/dist/chunk-4GEC4HC3.js +11221 -0
- package/dist/chunk-4RVZNLD4.js +628 -0
- package/dist/chunk-55VWJYZY.js +39 -0
- package/dist/chunk-5CGWZH5X.js +340 -0
- package/dist/chunk-5QKWKK4M.js +11794 -0
- package/dist/chunk-5Z3XHND7.js +11755 -0
- package/dist/chunk-6A4IE3TI.js +302 -0
- package/dist/chunk-6KK5JFFE.js +106 -0
- package/dist/chunk-6YC2VSLE.js +11252 -0
- package/dist/chunk-7C4K2SHD.js +668 -0
- package/dist/chunk-ANXY4RGA.js +11091 -0
- package/dist/chunk-ASHKNUBR.js +11312 -0
- package/dist/chunk-B3OYDPOP.js +11793 -0
- package/dist/chunk-DBH7SQ2S.js +1084 -0
- package/dist/chunk-DEI7A5B4.js +11449 -0
- package/dist/chunk-DM4GHY3J.js +92 -0
- package/dist/chunk-EQKFCZLH.js +9823 -0
- package/dist/chunk-FAIJPBT5.js +40 -0
- package/dist/chunk-FDDKUDXR.js +11166 -0
- package/dist/chunk-FEAR6ETG.js +438 -0
- package/dist/chunk-FNBAHK5V.js +72 -0
- package/dist/chunk-FXL74C73.js +523 -0
- package/dist/chunk-GLJEDX4L.js +10247 -0
- package/dist/chunk-GTP4OHD7.js +1107 -0
- package/dist/chunk-HIHH7IVO.js +10557 -0
- package/dist/chunk-I3VXUVCB.js +10474 -0
- package/dist/chunk-I6BIFVWI.js +10519 -0
- package/dist/chunk-I72TRUTJ.js +1084 -0
- package/dist/chunk-J5B5KT2F.js +368 -0
- package/dist/chunk-JMTULZ66.js +11743 -0
- package/dist/chunk-JXIQ7HCK.js +11166 -0
- package/dist/chunk-K6HVPBDP.js +10692 -0
- package/dist/chunk-KBT5Y666.js +521 -0
- package/dist/chunk-LETPROKG.js +11092 -0
- package/dist/chunk-LLMY2BZF.js +1084 -0
- package/dist/chunk-NMNL4US2.js +1084 -0
- package/dist/chunk-O2XRP7JK.js +10247 -0
- package/dist/chunk-OGPWLFFO.js +11201 -0
- package/dist/chunk-OQJUWTZV.js +51 -0
- package/dist/chunk-PJRWPLQ6.js +669 -0
- package/dist/chunk-PYRVUCJR.js +370 -0
- package/dist/chunk-Q6Y524KH.js +669 -0
- package/dist/chunk-QF7DM5VW.js +106 -0
- package/dist/chunk-QGM4M3NI.js +37 -0
- package/dist/chunk-QIIELFTL.js +1107 -0
- package/dist/chunk-QUW6N7GR.js +10264 -0
- package/dist/chunk-QZASNLQX.js +11223 -0
- package/dist/chunk-RMN4IAWO.js +11808 -0
- package/dist/chunk-RN5NHU37.js +11465 -0
- package/dist/chunk-RNG3RILO.js +11755 -0
- package/dist/chunk-RSA6DEB4.js +9748 -0
- package/dist/chunk-RURYWSMX.js +10524 -0
- package/dist/chunk-SUEXK5U7.js +11201 -0
- package/dist/chunk-TVUF55OH.js +11807 -0
- package/dist/chunk-U5MMENCP.js +456 -0
- package/dist/chunk-U62I2R2D.js +434 -0
- package/dist/chunk-UHFMFO54.js +21 -0
- package/dist/chunk-UNZBDSEU.js +11166 -0
- package/dist/chunk-UOATTNQP.js +334 -0
- package/dist/chunk-UZFYNSMJ.js +334 -0
- package/dist/chunk-VP37GLU6.js +1084 -0
- package/dist/chunk-W6WDKBWO.js +11453 -0
- package/dist/chunk-XBKUFNVF.js +10745 -0
- package/dist/chunk-XOLVQTIE.js +670 -0
- package/dist/chunk-XVFTBVDS.js +257 -0
- package/dist/chunk-YABA7DB6.js +11091 -0
- package/dist/chunk-YWCJX5KL.js +10557 -0
- package/dist/chunk-Z5GP7FSR.js +309 -0
- package/dist/chunk-ZBT3DATZ.js +296 -0
- package/dist/chunk-ZDBAZXUQ.js +11201 -0
- package/dist/chunk-ZEMABYS4.js +92 -0
- package/dist/chunk-ZOA4HT7P.js +662 -0
- package/dist/cli.cjs +40431 -0
- package/dist/cli.d.cts +2709 -0
- package/dist/cli.d.ts +2709 -0
- package/dist/cli.js +21149 -0
- package/dist/commandValidator-42OUDFZ4.js +140 -0
- package/dist/commandValidator-7LQHTYL5.js +140 -0
- package/dist/commandValidator-AT5OYZFC.js +142 -0
- package/dist/commandValidator-DH3CX2OW.js +140 -0
- package/dist/commandValidator-GCQC7H4A.js +140 -0
- package/dist/commandValidator-K6VWB6O3.js +140 -0
- package/dist/commandValidator-L6WNDBYB.js +129 -0
- package/dist/commandValidator-O3KSNXD2.js +140 -0
- package/dist/commandValidator-ZHMUA5RQ.js +140 -0
- package/dist/constraints-M52FVL2X.js +11 -0
- package/dist/dist-CSOR2BL2.js +1144 -0
- package/dist/dist-PKOIS5NZ.js +1144 -0
- package/dist/fileAnalysis-3VMDDJ6I.js +9 -0
- package/dist/fileAnalysis-4QLHUT44.js +9 -0
- package/dist/fileAnalysis-H6M2Z7ZC.js +9 -0
- package/dist/fileAnalysis-HMI7IL6S.js +9 -0
- package/dist/fileAnalysis-JHABOPUQ.js +9 -0
- package/dist/gateMapping-E5MGNJH5.js +17 -0
- package/dist/jsonEnvelope-R4SWKX2N.js +62 -0
- package/dist/mergeTreeSimulator-ATOPJ3DU.js +11 -0
- package/dist/mergeTreeSimulator-AYUK4TZT.js +11 -0
- package/dist/mergeTreeSimulator-BBWJUQBK.js +11 -0
- package/dist/mergeTreeSimulator-DJJDRB5N.js +11 -0
- package/dist/mergeTreeSimulator-X4BA647P.js +11 -0
- package/dist/planDiff-37QHCPKO.js +109 -0
- package/dist/planDiff-BQHIUARB.js +109 -0
- package/dist/planDiff-QOK6KNB7.js +111 -0
- package/dist/planDiff-RXR4CWFS.js +109 -0
- package/dist/planDiff-W2BTH2MU.js +109 -0
- package/dist/planHistory-4J3Q6AJ3.js +126 -0
- package/dist/planHistory-DQRSB2Y7.js +118 -0
- package/dist/planHistory-GLCXP6AB.js +126 -0
- package/dist/planHistory-SMNRLEKG.js +126 -0
- package/dist/planHistory-UO4WZ6GO.js +126 -0
- package/dist/planReview-7BWVLABC.js +377 -0
- package/dist/planReview-7VB3OYKZ.js +385 -0
- package/dist/planReview-FAIBIAE6.js +377 -0
- package/dist/planReview-FXQBDNKJ.js +376 -0
- package/dist/planReview-HO4YYETA.js +377 -0
- package/dist/planReview-I26EKCUK.js +376 -0
- package/dist/planReview-JBOAJHSU.js +377 -0
- package/dist/planReview-SCNZWC6B.js +376 -0
- package/dist/planReview-TU7LMZIY.js +376 -0
- package/dist/planViewer-2YZCPVDM.js +155 -0
- package/dist/planViewer-72WZFUTU.js +154 -0
- package/dist/planViewer-G546TVHV.js +154 -0
- package/dist/planViewer-I7ZHNJQF.js +150 -0
- package/dist/planViewer-IRXHOY5U.js +155 -0
- package/dist/planViewer-IX2ICW45.js +154 -0
- package/dist/planViewer-PDWPUOP6.js +155 -0
- package/dist/planViewer-PEOADAGZ.js +155 -0
- package/dist/planViewer-PFYDEG6V.js +150 -0
- package/dist/planViewer-UIPOSRVW.js +151 -0
- package/dist/planViewer-V2JUKV7Q.js +154 -0
- package/dist/sarif-46TKOOJZ.js +9 -0
- package/dist/sarif-63JKTFFI.js +9 -0
- package/dist/sarif-CIYIWUNC.js +9 -0
- package/dist/sarif-OGAGDL6B.js +9 -0
- package/dist/sarif-XIREI5B5.js +9 -0
- package/dist/security-3V6FKJDA.js +423 -0
- package/dist/security-4JMEUM56.js +423 -0
- package/dist/security-QHPEWY5G.js +423 -0
- package/dist/security-V2LAL5TP.js +415 -0
- package/dist/security-WTASK6T6.js +423 -0
- package/dist/security-XE4GHVJD.js +423 -0
- package/dist/security-XLXM3UHT.js +423 -0
- package/dist/security-YDLHSMVY.js +441 -0
- package/dist/security-ZDAEZF7D.js +423 -0
- package/dist/signing-3EI734L4.js +14 -0
- package/dist/signing-5G7K6JXJ.js +14 -0
- package/dist/signing-7DK7SABM.js +14 -0
- package/dist/signing-JJJOUGCW.js +14 -0
- package/dist/signing-OAJ3MXGA.js +14 -0
- package/dist/verify-5F6PUXUQ.js +62 -0
- package/dist/verify-5ILURHV2.js +62 -0
- package/dist/verify-MRDZJUGO.js +62 -0
- package/dist/verify-SCUHB3SA.js +62 -0
- package/dist/verify-YZRHN2D3.js +62 -0
- package/docs/1.0.0-vertical-slice.md +214 -0
- package/docs/ADR-007-INTEGRATION-SUMMARY.md +232 -0
- package/docs/ALIASING_FOR_LEXRUNNER.md +709 -0
- package/docs/ALIASING_FOR_RUNNER.md +552 -0
- package/docs/AX.md +317 -0
- package/docs/CHECKPOINT_RESUME.md +208 -0
- package/docs/CLI_VERBS.md +219 -0
- package/docs/CONFLICT_DETECTION.md +198 -0
- package/docs/DISCIPLINED_FAILURE.md +224 -0
- package/docs/ENVIRONMENT_QUALITY.md +155 -0
- package/docs/ERROR_CODES.md +528 -0
- package/docs/EVENT_SCHEMA.md +659 -0
- package/docs/EXE-012-investigation-summary.md +300 -0
- package/docs/GATE_ATTESTATION_GUIDE.md +237 -0
- package/docs/JSON_OUTPUT_SCHEMAS.md +347 -0
- package/docs/LEXRUNNER_ALIASING.md +444 -0
- package/docs/LEX_INTEGRATION.md +83 -0
- package/docs/LEX_PUBLIC_API.md +306 -0
- package/docs/LICENSING.md +119 -0
- package/docs/MCP-CLI-PARITY.md +410 -0
- package/docs/MCP-MIGRATION.md +258 -0
- package/docs/MCP-PARITY.md +234 -0
- package/docs/MEMORY_TOOLS.md +278 -0
- package/docs/MERGE_WEAVE_SETUP.md +643 -0
- package/docs/MIGRATION_v0.1.md +760 -0
- package/docs/NAMING_CONVENTIONS.md +82 -0
- package/docs/PERSONA_FOUNDATION.md +124 -0
- package/docs/PHASE3_MEMORY_GUIDE.md +122 -0
- package/docs/PLAN_LOCK.md +114 -0
- package/docs/README.md +289 -0
- package/docs/RUNNER_LIFECYCLE.md +257 -0
- package/docs/SAFETY_MECHANISMS.md +325 -0
- package/docs/SECURITY_IMPLEMENTATION.md +535 -0
- package/docs/TERMS.md +34 -0
- package/docs/TOKEN_TRACKING.md +162 -0
- package/docs/WORKFLOW_GUIDANCE.md +277 -0
- package/docs/adr/ADR-000-product-naming-and-branding.md +115 -0
- package/docs/adr/ADR-001-plan-json-frozen-input.md +68 -0
- package/docs/adr/ADR-002-two-track-separation.md +84 -0
- package/docs/adr/ADR-003-gate-uniform-execution.md +69 -0
- package/docs/adr/ADR-004-runner-state-model.md +75 -0
- package/docs/adr/ADR-005-merge-pyramid-ordering.md +87 -0
- package/docs/adr/ADR-006-schema-versioning-semver.md +81 -0
- package/docs/adr/ADR-007-task-snapshot-contract.md +503 -0
- package/docs/adr/ADR-008-lex-packaging.md +243 -0
- package/docs/adr/ADR-009-ax-test-output-adapters.md +440 -0
- package/docs/adr/README.md +32 -0
- package/docs/advanced-cli.md +436 -0
- package/docs/agent-stall-detection.md +278 -0
- package/docs/architecture/executors.md +190 -0
- package/docs/architecture.md +316 -0
- package/docs/attestation/AX-SHARED-PLEDGE.md +83 -0
- package/docs/attestation/AX-SHARED-PLEDGE_v1.0.0.md +99 -0
- package/docs/attestation/AX-SHARED-PLEDGE_v1.0.0_VERIFICATION.md +115 -0
- package/docs/attestation/Lex_Guff_Version_Contract_Pact_v1.0.0.md +181 -0
- package/docs/attestation/README.md +87 -0
- package/docs/attestation/ax_pledge_2025-12-02.ots +0 -0
- package/docs/attestation/ax_pledge_timestamp_response.tsr +0 -0
- package/docs/attestation/copilot_summarization_2025-12-01.ots +0 -0
- package/docs/attestation/copilot_summarization_2025-12-01_VERIFICATION.md +100 -0
- package/docs/attestation/copilot_summarization_behavior_observation_2025-12-01.md +85 -0
- package/docs/attestation/copilot_summarization_screenshot_2025-12-01.png +0 -0
- package/docs/attestation/employment_separation_2025-11-26.ots +0 -0
- package/docs/attestation/employment_timestamp_response.tsr +0 -0
- package/docs/attestation/freetsa_cacert.pem +45 -0
- package/docs/attestation/freetsa_tsa.crt +45 -0
- package/docs/attestation/lex_employment_separation_2025-11-26.md +85 -0
- package/docs/attestation/lex_employment_separation_2025-11-26_VERIFICATION.md +126 -0
- package/docs/attestation/patent/2025-12-07-shadow-governance-pct-draft.md +350 -0
- package/docs/attestation/patent/2025-12-07-shadow-governance-pct-draft.md.ots +0 -0
- package/docs/attestation/patent/2025-12-07-shadow-governance-pct-draft_VERIFICATION.md +130 -0
- package/docs/attestation/patent/README.md +75 -0
- package/docs/attestation/patent/fig1_write_path.svg +58 -0
- package/docs/attestation/patent/fig2_read_normalize_rollup.svg +92 -0
- package/docs/attestation/timestamp_response.tsr +0 -0
- package/docs/attribution-README.md +264 -0
- package/docs/audit-compliance.md +283 -0
- package/docs/audit-outputs.md +1213 -0
- package/docs/audit-sdk.md +1134 -0
- package/docs/autopilot-levels.md +368 -0
- package/docs/autopilot.md +288 -0
- package/docs/ci-cd-integration.md +580 -0
- package/docs/ci-integration-guide.md +369 -0
- package/docs/ci-version-validation.md +198 -0
- package/docs/cli-mcp-weave-reporting.md +462 -0
- package/docs/cli.md +2262 -0
- package/docs/cluster-gates-rollback.md +222 -0
- package/docs/command-creation-guide.md +485 -0
- package/docs/command-whitelist.md +490 -0
- package/docs/commands/idea.md +253 -0
- package/docs/config.md +245 -0
- package/docs/conflict-clustering.md +225 -0
- package/docs/conflict-predictor.md +359 -0
- package/docs/context-diet.md +249 -0
- package/docs/counter-examples.md +199 -0
- package/docs/create-project.md +211 -0
- package/docs/deliverables-generator.md +299 -0
- package/docs/deliverables-management.md +474 -0
- package/docs/dependency-parser.md +354 -0
- package/docs/determinism.md +299 -0
- package/docs/diffgraph-planner.md +1211 -0
- package/docs/dogfood/README.md +33 -0
- package/docs/dogfood/wave-3-results.md +303 -0
- package/docs/dogfood-merge-weave-script.md +224 -0
- package/docs/enterprise-onboarding.md +291 -0
- package/docs/environment-variables.md +625 -0
- package/docs/error-recovery.md +466 -0
- package/docs/errors.md +288 -0
- package/docs/executor-authoring.md +854 -0
- package/docs/executor-decoupling.md +410 -0
- package/docs/front-end-capture-pipeline.md +312 -0
- package/docs/gate-report-examples.md +380 -0
- package/docs/gates.md +319 -0
- package/docs/github-automation.md +128 -0
- package/docs/governance-metrics.md +368 -0
- package/docs/integrations/README.md +588 -0
- package/docs/interactive-plan-review.md +493 -0
- package/docs/issue-orchestration.md +256 -0
- package/docs/lex_ax_session_key_rememberings_v0.1.md +195 -0
- package/docs/lexrunner-v1-summary.md +246 -0
- package/docs/lexrunner-v2-contract.md +404 -0
- package/docs/lexrunner-v2-migration-plan.md +388 -0
- package/docs/lexrunner-v2-salvage-map.md +355 -0
- package/docs/lexsona-rules.md +154 -0
- package/docs/merge-weave-analysis.md +403 -0
- package/docs/merge-weave-quickstart.md +770 -0
- package/docs/merge-weave-state-machine.md +390 -0
- package/docs/migration-guide.md +529 -0
- package/docs/monitoring-examples.md +470 -0
- package/docs/monitoring-implementation.md +252 -0
- package/docs/orchestration.md +234 -0
- package/docs/performance-scale.md +359 -0
- package/docs/plan-generation.md +407 -0
- package/docs/profile-resolution.md +455 -0
- package/docs/prompts.md +427 -0
- package/docs/quickstart.md +546 -0
- package/docs/release-process.md +310 -0
- package/docs/sample-prompts/merge-weave/cli-merge-weave-kickoff.md +274 -0
- package/docs/sample-prompts/merge-weave/mcp-merge-weave-kickoff.md +480 -0
- package/docs/sample-prompts/merge-weave/standalone-merge-weave-kickoff.md +237 -0
- package/docs/schemas.md +359 -0
- package/docs/scope-validation.md +444 -0
- package/docs/security/rotation-guide.md +325 -0
- package/docs/specs/Meeting_Control_Stack_Concept_v0.1.0.md +417 -0
- package/docs/specs/git-feature-flag-redesign.md +321 -0
- package/docs/specs/lex-pr-brief-behavior.md +269 -0
- package/docs/specs/smartergpt-structure-v1.md +705 -0
- package/docs/specs/task-brief-v0.1.md +224 -0
- package/docs/store-architecture.md +61 -0
- package/docs/templates/CONTRIBUTING-merge-weave-section.md +33 -0
- package/docs/templates/gates.example.yml +109 -0
- package/docs/templates/plan.example.json +77 -0
- package/docs/thesis/00-EVOLUTION-NOTES.md +383 -0
- package/docs/thesis/01-CORE-THESIS.md +285 -0
- package/docs/thesis/02-TURN-COST.md +498 -0
- package/docs/thesis/03-PERMISSION-TO-FAIL.md +581 -0
- package/docs/thesis/04-CROSS-MODEL-CONTINUITY.md +517 -0
- package/docs/thesis/05-RULE-FILE-SPEC.md +732 -0
- package/docs/thesis/06-CAPABILITY-TIERS.md +723 -0
- package/docs/thesis/07-ROBERT-FIELD-REPORT.md +433 -0
- package/docs/thesis/08-IMPLEMENTATION-GUIDE.md +1093 -0
- package/docs/thesis/09-METRICS-AND-TELEMETRY.md +793 -0
- package/docs/thesis/10-FAILURE-MODES.md +716 -0
- package/docs/thesis/README.md +151 -0
- package/docs/thesis/lex_governance-collab_systems_paper_draft.md +952 -0
- package/docs/thesis/lex_governance-collab_systems_paper_draft.pdf +0 -0
- package/docs/tool-grounded/READINESS_ANALYSIS.md +527 -0
- package/docs/tool-grounded/enforcement.md +361 -0
- package/docs/tool-grounded/tool-grounded-a-view-from-the-inside.md +437 -0
- package/docs/tool-grounded/tool-grounded-prompt.md +122 -0
- package/docs/tool-grounded/tool-grounded-run-centric.md +474 -0
- package/docs/troubleshooting-planner.md +910 -0
- package/docs/troubleshooting.md +745 -0
- package/docs/tutorials/README.md +201 -0
- package/docs/tutorials/diffgraph-planner/01-simple-stack.md +460 -0
- package/docs/tutorials/diffgraph-planner/02-diamond-pattern.md +431 -0
- package/docs/tutorials/diffgraph-planner/03-large-batch.md +525 -0
- package/docs/tutorials/diffgraph-planner/04-fixing-cycles.md +526 -0
- package/docs/tutorials/diffgraph-planner/05-hybrid-workflow.md +555 -0
- package/docs/tutorials/quick-merge-pyramid.md +364 -0
- package/docs/tutorials/video-scripts/01-getting-started.md +286 -0
- package/docs/tutorials/video-scripts/02-understanding-dependencies.md +376 -0
- package/docs/weave-contract.md +116 -0
- package/docs/weave-execution-log.md +153 -0
- package/docs/workflows/README.md +139 -0
- package/docs/workflows/enterprise.md +545 -0
- package/docs/workflows/small-team.md +398 -0
- package/docs/workflows/solo-developer.md +419 -0
- package/dogfood-merge-weave.sh +122 -0
- package/examples/README.md +22 -0
- package/examples/WORKING_EXAMPLE.md +309 -0
- package/examples/analyze-pr-files.js +100 -0
- package/examples/autopilot-level4-example.md +234 -0
- package/examples/cluster-gates-demo.sh +178 -0
- package/examples/complete-security-workflow.ts +248 -0
- package/examples/error-recovery/README.md +202 -0
- package/examples/executor-manifest.example.yaml +81 -0
- package/examples/front-end-capture-pipeline/README.md +99 -0
- package/examples/front-end-capture-pipeline/create-project-example.sh +83 -0
- package/examples/front-end-capture-pipeline/idea-dark-mode.json +14 -0
- package/examples/front-end-capture-pipeline/idea-example.sh +57 -0
- package/examples/front-end-capture-pipeline/manual-test-checklist.md +426 -0
- package/examples/gates/README.md +165 -0
- package/examples/gates/lint-gate.sh +40 -0
- package/examples/gates/lint-gate.ts +99 -0
- package/examples/gates/test-runner.ts +113 -0
- package/examples/gates/vuln-scanner.ts +95 -0
- package/examples/github-integration/README.md +111 -0
- package/examples/github-integration/example-plan.json +95 -0
- package/examples/performance-config.md +388 -0
- package/examples/profile-setup/.gitignore.template +66 -0
- package/examples/profile-setup/.smartergpt-example/README.md +190 -0
- package/examples/profile-setup/.smartergpt.local-example/README.md +365 -0
- package/examples/profile-setup/README.md +492 -0
- package/examples/profile-setup/cross-repo-prompts/README.md +606 -0
- package/examples/safety-framework-demo.ts +130 -0
- package/examples/safety-mechanisms-example.ts +191 -0
- package/examples/sample-plan.json +87 -0
- package/examples/sample-stack.yml +66 -0
- package/examples/sarif/README.md +224 -0
- package/examples/scope-validation-demo.ts +199 -0
- package/examples/security-integration.ts +293 -0
- package/examples/token-tracking-example.ts +71 -0
- package/executors/senior-dev/ARCHITECTURE.md +182 -0
- package/executors/senior-dev/MEMORY_INTEGRATION.md +236 -0
- package/executors/senior-dev/QUICK_START.md +145 -0
- package/executors/senior-dev/README.md +76 -0
- package/executors/senior-dev/examples/sample-review-session.md +228 -0
- package/executors/senior-dev/executor-manifest.yaml +79 -0
- package/executors/senior-dev/prompts/code-review.prompt.md +78 -0
- package/executors/senior-dev/prompts/mentorship-feedback.prompt.md +97 -0
- package/executors/senior-dev/prompts/pattern-recognition.prompt.md +80 -0
- package/executors/senior-dev/prompts/pr-analysis.prompt.md +75 -0
- package/executors/senior-dev/scripts/capture-review-frame.sh +129 -0
- package/executors/senior-dev/scripts/prepare-review-context.sh +61 -0
- package/executors/senior-dev/scripts/recall-context.sh +87 -0
- package/lexrunner-launcher.sh +12 -0
- package/mcp-config-example.json +14 -0
- package/mcp-server.mjs +1221 -0
- package/merge-weave-current-prs.md +170 -0
- package/merge-weave-dogfood.json +46 -0
- package/merge-weave-plan.json +56 -0
- package/package.json +140 -0
- package/procedures/merge-weave-main.yaml +90 -0
- package/procedures/pr-review.yaml +68 -0
- package/project/README.md +50 -0
- package/prompts/tool-grounded-mode.md +185 -0
- package/schemas/allowed-commands.schema.json +108 -0
- package/schemas/audit-events.schema.json +138 -0
- package/schemas/audit-events.v1.0.0.schema.json +138 -0
- package/schemas/edit-plan.schema.json +80 -0
- package/schemas/executor-manifest.schema.json +236 -0
- package/schemas/flake-report.schema.json +95 -0
- package/schemas/gate-report.schema.json +85 -0
- package/schemas/gates/build.schema.json +32 -0
- package/schemas/gates/coverage.schema.json +42 -0
- package/schemas/gates/lint.schema.json +34 -0
- package/schemas/gates/security-scan.schema.json +33 -0
- package/schemas/gates/test.schema.json +35 -0
- package/schemas/next-option.schema.json +60 -0
- package/schemas/persona-snapshot.schema.json +66 -0
- package/schemas/plan.schema.json +300 -0
- package/schemas/status-response.schema.json +193 -0
- package/scripts/README.md +354 -0
- package/scripts/analyze-governance-logs.mjs +51 -0
- package/scripts/benchmark-ci.ts +339 -0
- package/scripts/check-determinism.sh +23 -0
- package/scripts/check-license-compliance.mjs +319 -0
- package/scripts/check-release-drift.mjs +81 -0
- package/scripts/ci-debug.sh +24 -0
- package/scripts/ci-smoke.mjs +304 -0
- package/scripts/create-sample-repo.sh +245 -0
- package/scripts/dogfood-merge-weave.sh +552 -0
- package/scripts/gen_mcp_servers.py +252 -0
- package/scripts/generate-executor-manifest-schema.ts +30 -0
- package/scripts/generate-flake-schema.ts +32 -0
- package/scripts/generate-gate-schema.ts +32 -0
- package/scripts/generate-plan-schema.ts +30 -0
- package/scripts/generate-run-schemas.ts +69 -0
- package/scripts/load-prompt.mjs +147 -0
- package/scripts/merge-weave-wrapper.sh +445 -0
- package/scripts/merge-weave.sh +489 -0
- package/scripts/metrics-template.ts +134 -0
- package/scripts/package-lex.sh +267 -0
- package/scripts/quick-start-merge-weave.sh +218 -0
- package/scripts/release-prepare.ts +350 -0
- package/scripts/rotate-secrets-example.ts +134 -0
- package/scripts/test-lexsona-shadow.mjs +100 -0
- package/scripts/validate-manifests.ts +188 -0
- package/scripts/verify-audit-phase2.js +175 -0
- package/src/ai/README.md +456 -0
- package/src/ai/conflictStrategy.ts +223 -0
- package/src/ai/conflictStrategyCache.ts +164 -0
- package/src/ai/conflictStrategyPrompt.ts +128 -0
- package/src/ai/conflictStrategySchema.ts +165 -0
- package/src/ai/heuristicFallback.ts +162 -0
- package/src/ai/index.ts +64 -0
- package/src/ai/riskScoring.ts +174 -0
- package/src/aliases/index.ts +16 -0
- package/src/aliases/resolver.ts +212 -0
- package/src/audit/context.ts +284 -0
- package/src/audit/emitter.ts +685 -0
- package/src/audit/events.ts +210 -0
- package/src/audit/gateMatrix.ts +158 -0
- package/src/audit/index.ts +44 -0
- package/src/audit/manifest.ts +78 -0
- package/src/audit/profiles.ts +93 -0
- package/src/audit/redaction.ts +216 -0
- package/src/audit/sarif.ts +213 -0
- package/src/audit/schema/events.ts +366 -0
- package/src/audit/schema/manifest.ts +47 -0
- package/src/audit/schema.ts +159 -0
- package/src/audit/sdk/index.ts +145 -0
- package/src/audit/sdk/types.ts +88 -0
- package/src/audit/sidecar.ts +111 -0
- package/src/audit/signing.ts +521 -0
- package/src/autopilot/README.md +113 -0
- package/src/autopilot/artifacts.ts +287 -0
- package/src/autopilot/base.ts +132 -0
- package/src/autopilot/deliverables.ts +392 -0
- package/src/autopilot/index.ts +29 -0
- package/src/autopilot/level1.ts +187 -0
- package/src/autopilot/level2.ts +262 -0
- package/src/autopilot/level3.ts +263 -0
- package/src/autopilot/level4.ts +393 -0
- package/src/autopilot/safety/README.md +512 -0
- package/src/autopilot/safety/SafetyFramework.ts +634 -0
- package/src/autopilot/safety/index.ts +16 -0
- package/src/autopilot/types.ts +250 -0
- package/src/budget/index.ts +56 -0
- package/src/budget/manager.ts +547 -0
- package/src/budget/schema.ts +305 -0
- package/src/budget/tracker.ts +155 -0
- package/src/cache/issue-cache.ts +150 -0
- package/src/cli/command-map.ts +221 -0
- package/src/cli/commands/gate/test.ts +214 -0
- package/src/cli/exitHandler.ts +98 -0
- package/src/cli/flags.ts +123 -0
- package/src/cli/formatSuggestions.ts +202 -0
- package/src/cli/formatters.ts +294 -0
- package/src/cli/jsonEnvelope.ts +152 -0
- package/src/cli/output.ts +61 -0
- package/src/cli/runnerLifecycle.ts +118 -0
- package/src/cli-audit.ts +76 -0
- package/src/cli-security.ts +114 -0
- package/src/cli.ts +1231 -0
- package/src/commands/audit/index.ts +5 -0
- package/src/commands/audit/verify.ts +87 -0
- package/src/commands/autopilot.ts +131 -0
- package/src/commands/budget.ts +327 -0
- package/src/commands/bulkOps.ts +204 -0
- package/src/commands/completion.ts +287 -0
- package/src/commands/config/validate.ts +428 -0
- package/src/commands/config.ts +368 -0
- package/src/commands/counterExamples.ts +104 -0
- package/src/commands/create-project.ts +338 -0
- package/src/commands/discover.ts +192 -0
- package/src/commands/doctor.ts +436 -0
- package/src/commands/execute.ts +558 -0
- package/src/commands/explain.ts +157 -0
- package/src/commands/fanout-analyze.ts +684 -0
- package/src/commands/fanout-harvest.ts +328 -0
- package/src/commands/fanout-monitor.ts +224 -0
- package/src/commands/gateAttest.ts +95 -0
- package/src/commands/gateImport.ts +142 -0
- package/src/commands/gateImportChecks.ts +208 -0
- package/src/commands/gateReport.ts +184 -0
- package/src/commands/governanceCleanup.ts +171 -0
- package/src/commands/governanceReport.ts +497 -0
- package/src/commands/guards.ts +50 -0
- package/src/commands/idea.ts +281 -0
- package/src/commands/init.ts +414 -0
- package/src/commands/issues.ts +165 -0
- package/src/commands/merge.ts +677 -0
- package/src/commands/mergeOrder.ts +68 -0
- package/src/commands/metrics.ts +232 -0
- package/src/commands/migrateProfile.ts +187 -0
- package/src/commands/orchestrate/analyze-issues.ts +203 -0
- package/src/commands/orchestrate/assign-batch.ts +204 -0
- package/src/commands/orchestrate/generate-deliverables.ts +66 -0
- package/src/commands/orchestrate/pinToolchain.ts +102 -0
- package/src/commands/orchestrate/plan-batch.ts +119 -0
- package/src/commands/orchestrate/predict-conflicts.ts +210 -0
- package/src/commands/orchestrate.ts +186 -0
- package/src/commands/plan.ts +403 -0
- package/src/commands/planDiff.ts +56 -0
- package/src/commands/planReview.ts +112 -0
- package/src/commands/planViewer.ts +180 -0
- package/src/commands/preview-constraints.ts +97 -0
- package/src/commands/query.ts +313 -0
- package/src/commands/report.ts +56 -0
- package/src/commands/retry.ts +60 -0
- package/src/commands/schema.ts +128 -0
- package/src/commands/security.ts +140 -0
- package/src/commands/seniorDev.ts +326 -0
- package/src/commands/status.ts +97 -0
- package/src/commands/tokenReport.ts +167 -0
- package/src/commands/validation.ts +66 -0
- package/src/commands/weave-checkpoints.ts +145 -0
- package/src/commands/weave-fanout.ts +273 -0
- package/src/commands/weave-policy.ts +277 -0
- package/src/commands/weave.ts +518 -0
- package/src/config/localOverlay.ts +167 -0
- package/src/config/pathResolver.ts +106 -0
- package/src/config/profileResolver.ts +194 -0
- package/src/config/promptsResolver.ts +312 -0
- package/src/config/rulesResolver.ts +257 -0
- package/src/config/schemas.ts +142 -0
- package/src/core/bootstrap.ts +287 -0
- package/src/core/enterprise.ts +453 -0
- package/src/core/errorRecovery.ts +509 -0
- package/src/core/githubPlan.ts +282 -0
- package/src/core/inputs.ts +314 -0
- package/src/core/multiRepoPlan.ts +353 -0
- package/src/core/plan.ts +106 -0
- package/src/core/snapshot.ts +189 -0
- package/src/errors/adapters.ts +897 -0
- package/src/errors/index.ts +231 -0
- package/src/executionState.ts +356 -0
- package/src/executors/README_FRAME_CONTRACT.md +446 -0
- package/src/executors/frameContract.ts +270 -0
- package/src/executors/guardrailEnforcement.ts +294 -0
- package/src/executors/seniorDev/core.ts +548 -0
- package/src/executors/seniorDev/index.ts +30 -0
- package/src/executors/seniorDev/types.ts +176 -0
- package/src/executors/toolBudget.ts +194 -0
- package/src/fanout/analyzer.ts +735 -0
- package/src/fanout/github-adapter.ts +262 -0
- package/src/fanout/harvest.ts +517 -0
- package/src/fanout/monitor.ts +350 -0
- package/src/fanout/types.ts +428 -0
- package/src/frames/controller.ts +160 -0
- package/src/frames/emitter.ts +455 -0
- package/src/frames/index.ts +58 -0
- package/src/frames/storage.ts +203 -0
- package/src/frames/types.ts +258 -0
- package/src/gates/checkRunConverter.ts +91 -0
- package/src/gates/test/adapters/errors.ts +32 -0
- package/src/gates/test/adapters/index.ts +36 -0
- package/src/gates/test/adapters/interface.ts +63 -0
- package/src/gates/test/adapters/jest-json.ts +370 -0
- package/src/gates/test/adapters/junit-xml.ts +400 -0
- package/src/gates/test/adapters/registry.ts +149 -0
- package/src/gates/test/adapters/vitest-json.ts +339 -0
- package/src/gates/test/enrichment/failureId.ts +74 -0
- package/src/gates/test/enrichment/index.ts +25 -0
- package/src/gates/test/enrichment/nextActions.ts +322 -0
- package/src/gates/test/enrichment/rerunTemplates.ts +105 -0
- package/src/gates/test/enrichment/signature.ts +58 -0
- package/src/gates/test/enrichment/stackParser.ts +149 -0
- package/src/gates/test/enrichment/types.ts +67 -0
- package/src/gates/test/formatters/markdown.spec.ts +942 -0
- package/src/gates/test/formatters/markdown.ts +296 -0
- package/src/gates/test/index.ts +54 -0
- package/src/gates/test/schema.spec.ts +372 -0
- package/src/gates/test/schema.ts +327 -0
- package/src/gates/validator.ts +92 -0
- package/src/gates.ts +1022 -0
- package/src/git/operations.ts +592 -0
- package/src/git/parseRemote.ts +22 -0
- package/src/github/api.ts +584 -0
- package/src/github/batch-ops.ts +215 -0
- package/src/github/client.ts +647 -0
- package/src/github/contextDiet.ts +205 -0
- package/src/github/diffHunks.ts +285 -0
- package/src/github/index.ts +11 -0
- package/src/github/minimalContext.ts +212 -0
- package/src/github/minimalContextClient.ts +105 -0
- package/src/github/symbolMap.ts +370 -0
- package/src/github/types.ts +166 -0
- package/src/governance/index.ts +42 -0
- package/src/governance/mcpStatus.ts +258 -0
- package/src/governance/timeoutAdjustment.ts +149 -0
- package/src/governance/turnCostSummary.ts +182 -0
- package/src/hooks/events.ts +374 -0
- package/src/hooks/index.ts +8 -0
- package/src/hostility/checks.ts +408 -0
- package/src/hostility/index.ts +108 -0
- package/src/hostility/score.ts +143 -0
- package/src/interactive/planDiff.ts +168 -0
- package/src/interactive/planHistory.ts +205 -0
- package/src/interactive/planReview.ts +531 -0
- package/src/learning/counter-example.ts +174 -0
- package/src/learning/prompts.ts +107 -0
- package/src/learning/storage.ts +230 -0
- package/src/lexsona/client.ts +367 -0
- package/src/lexsona/index.ts +44 -0
- package/src/lexsona/logger.ts +408 -0
- package/src/lexsona/types.ts +177 -0
- package/src/mcp/DEPRECATED.md +33 -0
- package/src/mcp/server.ts +3587 -0
- package/src/mcp/types/guided-response.ts +95 -0
- package/src/mcp/types.ts +468 -0
- package/src/mcp/workflow/state-machine.ts +277 -0
- package/src/mergeEligibility.ts +355 -0
- package/src/mergeOrder.ts +170 -0
- package/src/metrics/export.ts +472 -0
- package/src/metrics/index.ts +35 -0
- package/src/metrics/turncost.ts +284 -0
- package/src/monitoring/README.md +222 -0
- package/src/monitoring/audit.ts +98 -0
- package/src/monitoring/cache.ts +121 -0
- package/src/monitoring/dashboards/grafana-dashboard.json +172 -0
- package/src/monitoring/errorRecovery.ts +334 -0
- package/src/monitoring/errors.ts +105 -0
- package/src/monitoring/fileLogger.ts +194 -0
- package/src/monitoring/hallucinations.ts +45 -0
- package/src/monitoring/health.ts +171 -0
- package/src/monitoring/index.ts +16 -0
- package/src/monitoring/lock.ts +158 -0
- package/src/monitoring/logger.ts +178 -0
- package/src/monitoring/metrics.ts +245 -0
- package/src/monitoring/profiler.ts +156 -0
- package/src/monitoring/tokenLogger.ts +141 -0
- package/src/orchestrate/analyzer.ts +461 -0
- package/src/orchestrate/index.ts +6 -0
- package/src/orchestrate/types.ts +65 -0
- package/src/orchestration/README.md +480 -0
- package/src/orchestration/agentAssigner.ts +206 -0
- package/src/orchestration/batchPlanner.ts +201 -0
- package/src/orchestration/conflictClustering.ts +344 -0
- package/src/orchestration/conflictGraph.ts +63 -0
- package/src/orchestration/conflictPredictor.ts +170 -0
- package/src/orchestration/deliverablesGenerator.ts +345 -0
- package/src/orchestration/determinism.ts +232 -0
- package/src/orchestration/index.ts +45 -0
- package/src/orchestration/mergeTreeSimulator.ts +137 -0
- package/src/orchestration/mis.ts +123 -0
- package/src/orchestration/toolchainManifest.ts +169 -0
- package/src/orchestration/types.ts +103 -0
- package/src/performance.README.md +99 -0
- package/src/performance.ts +279 -0
- package/src/planner/README.md +215 -0
- package/src/planner/dependencyParser.ts +404 -0
- package/src/planner/dependencyScoring.ts +346 -0
- package/src/planner/fileAnalysis.ts +693 -0
- package/src/planner/index.ts +41 -0
- package/src/planner/scopeValidator.ts +308 -0
- package/src/planner/types.ts +80 -0
- package/src/planner/validation.ts +493 -0
- package/src/preview/constraints.ts +333 -0
- package/src/procedures/index.ts +47 -0
- package/src/procedures/loader.ts +252 -0
- package/src/procedures/schema.ts +191 -0
- package/src/procedures/stateMachine.ts +160 -0
- package/src/procedures/types.ts +178 -0
- package/src/receipts/emit.ts +354 -0
- package/src/receipts/index.ts +48 -0
- package/src/receipts/schema.ts +227 -0
- package/src/report/aggregate.ts +160 -0
- package/src/runs/artifacts.ts +315 -0
- package/src/runs/attribution.ts +132 -0
- package/src/runs/context.ts +54 -0
- package/src/runs/decisions.ts +407 -0
- package/src/runs/enforcement.ts +395 -0
- package/src/runs/failures.ts +517 -0
- package/src/runs/index.ts +141 -0
- package/src/runs/manager.ts +910 -0
- package/src/runs/statusBuilder.ts +233 -0
- package/src/runs/storage.ts +290 -0
- package/src/runs/types.ts +216 -0
- package/src/schema/flakeReport.ts +74 -0
- package/src/schema/gateMapping.ts +107 -0
- package/src/schema/gateReport.ts +236 -0
- package/src/schema/weaveLock.ts +51 -0
- package/src/schema.ts +313 -0
- package/src/schemas/executorManifest.ts +204 -0
- package/src/schemas/feature-spec-v0.ts +40 -0
- package/src/schemas/persona.ts +162 -0
- package/src/schemas/project.ts +91 -0
- package/src/schemas/runCentric.ts +402 -0
- package/src/schemas/task-contract.ts +626 -0
- package/src/schemas/vacuumReadyPrompt.ts +128 -0
- package/src/sdk/index.ts +113 -0
- package/src/sdk/parser.ts +101 -0
- package/src/sdk/query.ts +315 -0
- package/src/sdk/validator.ts +114 -0
- package/src/security/README.md +496 -0
- package/src/security/authentication.ts +173 -0
- package/src/security/authorization.ts +348 -0
- package/src/security/commandValidator.ts +195 -0
- package/src/security/compliance.ts +688 -0
- package/src/security/index.ts +85 -0
- package/src/security/policy.ts +399 -0
- package/src/security/sarif.ts +179 -0
- package/src/security/scanning.ts +362 -0
- package/src/security/secrets.ts +520 -0
- package/src/shared/git/index.ts +30 -0
- package/src/shared/git/runGit.ts +281 -0
- package/src/shared/git/runtime.ts +66 -0
- package/src/snapshot/builder.ts +229 -0
- package/src/snapshot/index.ts +8 -0
- package/src/store/CONTRACT.md +189 -0
- package/src/store/README.md +22 -0
- package/src/store/index.ts +99 -0
- package/src/store/inmemory/index.ts +10 -0
- package/src/store/inmemory/run-store.ts +268 -0
- package/src/store/postgres/.gitkeep +0 -0
- package/src/store/run-store.ts +405 -0
- package/src/store/sqlite/index.ts +7 -0
- package/src/store/sqlite/run-store.ts +525 -0
- package/src/store/sqlite/schema.sql +67 -0
- package/src/telemetry/frames.ts +179 -0
- package/src/telemetry/index.ts +5 -0
- package/src/tiers/index.ts +34 -0
- package/src/tiers/metrics.ts +156 -0
- package/src/tiers/schema.ts +95 -0
- package/src/tiers/suggest.ts +183 -0
- package/src/types/guardrails.ts +452 -0
- package/src/types/index.ts +42 -0
- package/src/util/canonicalJson.ts +29 -0
- package/src/util/colorControl.ts +46 -0
- package/src/util/envUtils.ts +139 -0
- package/src/util/hash.ts +69 -0
- package/src/util/lockHash.ts +90 -0
- package/src/util/minHeap.ts +108 -0
- package/src/util/progress.ts +89 -0
- package/src/util/tokenEstimator.ts +55 -0
- package/src/utils/fingerprint.ts +105 -0
- package/src/utils/paths.ts +209 -0
- package/src/utils/tokens.ts +151 -0
- package/src/utils/validation.ts +53 -0
- package/src/verification/diff-applier.ts +60 -0
- package/src/verification/engine-verifier.ts +171 -0
- package/src/verification/errors.ts +30 -0
- package/src/verification/index.ts +13 -0
- package/src/weave/audit/index.ts +17 -0
- package/src/weave/audit/logger.ts +206 -0
- package/src/weave/authority/evaluator.ts +660 -0
- package/src/weave/authority/index.ts +30 -0
- package/src/weave/authority/schema.ts +292 -0
- package/src/weave/checkpoint/index.ts +7 -0
- package/src/weave/checkpoint/storage.ts +223 -0
- package/src/weave/checkpoint/types.ts +121 -0
- package/src/weave/checkpoint/utils.ts +207 -0
- package/src/weave/clusterGates.ts +366 -0
- package/src/weave/draftPR.ts +214 -0
- package/src/weave/executor/d1-executor.ts +822 -0
- package/src/weave/executor/d2-executor.ts +381 -0
- package/src/weave/executor/index.ts +24 -0
- package/src/weave/executor/types.ts +135 -0
- package/src/weave/fanout/generator.ts +186 -0
- package/src/weave/fanout/index.ts +51 -0
- package/src/weave/fanout/loader.ts +134 -0
- package/src/weave/fanout/matcher.ts +239 -0
- package/src/weave/fanout/schema.ts +178 -0
- package/src/weave/frameHelper.ts +126 -0
- package/src/weave/gateFailureHandler.ts +405 -0
- package/src/weave/index.ts +89 -0
- package/src/weave/lockFile.ts +193 -0
- package/src/weave/mergeHelpers.ts +377 -0
- package/src/weave/mergeWeaveSequential.ts +282 -0
- package/src/weave/metrics/calculator.ts +362 -0
- package/src/weave/metrics/index.ts +44 -0
- package/src/weave/metrics/logger.ts +291 -0
- package/src/weave/metrics/schema.ts +505 -0
- package/src/weave/planner/index.ts +23 -0
- package/src/weave/planner/planner.ts +411 -0
- package/src/weave/planner/types.ts +181 -0
- package/src/weave/policy/index.ts +63 -0
- package/src/weave/policy/loader.ts +148 -0
- package/src/weave/policy/schema.ts +290 -0
- package/src/weave/post-merge-checks.ts +220 -0
- package/src/weave/preflightConflicts.ts +375 -0
- package/src/weave/receiptHelper.ts +287 -0
- package/src/weave/recovery.ts +232 -0
- package/src/weave/resolutionGuidance.ts +173 -0
- package/src/weave/stateMachine.ts +426 -0
- package/src/weave/testfix/applier.ts +195 -0
- package/src/weave/testfix/index.ts +18 -0
- package/src/weave/testfix/loader.ts +116 -0
- package/src/weave/testfix/matcher.ts +158 -0
- package/src/weave/testfix/schema.ts +218 -0
- package/src/weave/types.ts +305 -0
- package/src/weave/utils/copilot-completion.ts +76 -0
- package/test-mcp-dogfood.mjs +128 -0
- package/test-mcp.mjs +116 -0
- package/tests/README.md +155 -0
- package/tests/advanced-cli-e2e.spec.ts +218 -0
- package/tests/agentAssigner.spec.ts +261 -0
- package/tests/ai-conflict-strategy-cache.spec.ts +254 -0
- package/tests/ai-conflict-strategy-risk.spec.ts +287 -0
- package/tests/ai-conflict-strategy-schema.spec.ts +252 -0
- package/tests/ai-conflict-strategy.spec.ts +442 -0
- package/tests/aliases/resolver.spec.ts +238 -0
- package/tests/audit/context.spec.ts +283 -0
- package/tests/audit/emitter.spec.ts +347 -0
- package/tests/audit/gateMatrix.spec.ts +335 -0
- package/tests/audit/integration.spec.ts +236 -0
- package/tests/audit/redaction.spec.ts +290 -0
- package/tests/audit/sarif-integration.spec.ts +303 -0
- package/tests/audit/sarif.spec.ts +458 -0
- package/tests/audit/schema-events.spec.ts +421 -0
- package/tests/audit/schema.spec.ts +434 -0
- package/tests/audit/sdk-integration.spec.ts +598 -0
- package/tests/audit/sdk.spec.ts +318 -0
- package/tests/audit/signing-integration.spec.ts +276 -0
- package/tests/audit/signing.spec.ts +350 -0
- package/tests/audit-signing.spec.ts +406 -0
- package/tests/audit-verify-cli.spec.ts +176 -0
- package/tests/autopilot-e2e-level3-4.spec.ts +741 -0
- package/tests/autopilot-integration.spec.ts +274 -0
- package/tests/autopilot-level1.spec.ts +449 -0
- package/tests/autopilot-level2.spec.ts +188 -0
- package/tests/autopilot-level3.spec.ts +266 -0
- package/tests/autopilot-level4.spec.ts +454 -0
- package/tests/autopilot.spec.ts +379 -0
- package/tests/ax-error-adapters.spec.ts +580 -0
- package/tests/batch-planner.spec.ts +500 -0
- package/tests/benchmark-infrastructure.spec.ts +445 -0
- package/tests/benchmarks/README.md +103 -0
- package/tests/benchmarks/baselines/baseline.json +127 -0
- package/tests/benchmarks/core/dependencyResolver.bench.ts +128 -0
- package/tests/benchmarks/core/planParser.bench.ts +114 -0
- package/tests/benchmarks/core/topologicalSort.bench.ts +102 -0
- package/tests/benchmarks/index.ts +36 -0
- package/tests/benchmarks/io/fileOperations.bench.ts +132 -0
- package/tests/benchmarks/io/gitOperations.bench.ts +99 -0
- package/tests/benchmarks/utils/graphGenerator.ts +201 -0
- package/tests/benchmarks/utils/reporter.ts +231 -0
- package/tests/benchmarks/workflows/endToEnd.bench.ts +132 -0
- package/tests/bootstrap.test.ts +319 -0
- package/tests/budget-tracker.spec.ts +279 -0
- package/tests/bulkOps.spec.ts +166 -0
- package/tests/bulletproof-determinism.test.ts +223 -0
- package/tests/canonicalJson.test.ts +130 -0
- package/tests/checkRunConverter.spec.ts +357 -0
- package/tests/cli/commands/gate/test.spec.ts +564 -0
- package/tests/cli/emit-frames-flag.spec.ts +117 -0
- package/tests/cli/exitHandler.spec.ts +314 -0
- package/tests/cli/flags.spec.ts +223 -0
- package/tests/cli/formatters.spec.ts +513 -0
- package/tests/cli/output.spec.ts +221 -0
- package/tests/cli-autopilot.spec.ts +170 -0
- package/tests/cli-budget-guards.spec.ts +210 -0
- package/tests/cli-color-control.spec.ts +334 -0
- package/tests/cli-deliverables-generator.spec.ts +185 -0
- package/tests/cli-determinism.spec.ts +496 -0
- package/tests/cli-init-enterprise.spec.ts +294 -0
- package/tests/cli-init-json.spec.ts +154 -0
- package/tests/cli-init-local.spec.ts +159 -0
- package/tests/cli-json-envelope.spec.ts +140 -0
- package/tests/cli-json.spec.ts +408 -0
- package/tests/cli-orchestrate-plan-batch.spec.ts +329 -0
- package/tests/cli-orchestrate.spec.ts +231 -0
- package/tests/cli-plan-generation.spec.ts +367 -0
- package/tests/cli-plan-review.spec.ts +300 -0
- package/tests/cli-progress.spec.ts +193 -0
- package/tests/cli-ux-enhancements.spec.ts +213 -0
- package/tests/cliJsonPurity.spec.ts +437 -0
- package/tests/cliSuggestDeps.spec.ts +360 -0
- package/tests/cluster-gates-rollback.spec.ts +353 -0
- package/tests/command-validator-integration.spec.ts +305 -0
- package/tests/command-validator.spec.ts +380 -0
- package/tests/commands/autopilot.spec.ts +124 -0
- package/tests/commands/config-validate.spec.ts +301 -0
- package/tests/commands/config.spec.ts +311 -0
- package/tests/commands/create-project.spec.ts +90 -0
- package/tests/commands/doctor.spec.ts +57 -0
- package/tests/commands/execute.spec.ts +293 -0
- package/tests/commands/gateAttest.spec.ts +172 -0
- package/tests/commands/gateImport.spec.ts +176 -0
- package/tests/commands/gateReport.spec.ts +130 -0
- package/tests/commands/guards.spec.ts +114 -0
- package/tests/commands/idea.spec.ts +177 -0
- package/tests/commands/merge.spec.ts +166 -0
- package/tests/commands/plan.spec.ts +123 -0
- package/tests/commands/query.spec.ts +294 -0
- package/tests/commands/report.spec.ts +54 -0
- package/tests/commands/retry.spec.ts +300 -0
- package/tests/commands/schema.spec.ts +136 -0
- package/tests/commands/validation.spec.ts +229 -0
- package/tests/completion.spec.ts +133 -0
- package/tests/config-inspect.spec.ts +202 -0
- package/tests/conflictClustering-e2e.spec.ts +278 -0
- package/tests/conflictClustering.spec.ts +550 -0
- package/tests/conflictGraph.spec.ts +126 -0
- package/tests/conflictPredictor.spec.ts +238 -0
- package/tests/deliverables-generator.spec.ts +329 -0
- package/tests/deliverables.spec.ts +381 -0
- package/tests/dependencyParser-github.spec.ts +244 -0
- package/tests/dependencyParser.spec.ts +386 -0
- package/tests/dependencyScoring.spec.ts +668 -0
- package/tests/deterministic-applicable.test.ts +156 -0
- package/tests/deterministic-build.test.ts +172 -0
- package/tests/deterministic-simple.test.ts +32 -0
- package/tests/discover-suggest-integration.spec.ts +340 -0
- package/tests/dogfood-merge-weave-script.spec.ts +150 -0
- package/tests/e2e/planner.spec.ts +596 -0
- package/tests/e2e-comprehensive.test.ts +500 -0
- package/tests/e2e-determinism.test.ts +293 -0
- package/tests/e2e-synthetic-6pr-weave.spec.ts +329 -0
- package/tests/enterprise-init.spec.ts +350 -0
- package/tests/envUtils.spec.ts +267 -0
- package/tests/error-handling.test.ts +104 -0
- package/tests/error-recovery.spec.ts +451 -0
- package/tests/execution-plan-v1.test.ts +257 -0
- package/tests/executionState-loadGateResults.spec.ts +267 -0
- package/tests/executionState.test.ts +169 -0
- package/tests/executors/README.md +100 -0
- package/tests/executors/frameContract-integration.spec.ts +324 -0
- package/tests/executors/frameContract.spec.ts +531 -0
- package/tests/executors/guardrailEnforcement.spec.ts +424 -0
- package/tests/executors/lifecycle.spec.ts +313 -0
- package/tests/executors/toolBudget.spec.ts +473 -0
- package/tests/feature-spec-v0.test.ts +145 -0
- package/tests/fileAnalysis.spec.ts +946 -0
- package/tests/fingerprint.spec.ts +100 -0
- package/tests/fixtures/README.md +380 -0
- package/tests/fixtures/deliverables/batch-example-plan.json +62 -0
- package/tests/fixtures/executors/README.md +57 -0
- package/tests/fixtures/executors/index.ts +9 -0
- package/tests/fixtures/executors/mock-executor.ts +204 -0
- package/tests/fixtures/executors/registry.ts +51 -0
- package/tests/fixtures/executors/types.ts +95 -0
- package/tests/fixtures/fixtures.spec.ts +307 -0
- package/tests/fixtures/gates/configs.ts +234 -0
- package/tests/fixtures/gates/results.ts +234 -0
- package/tests/fixtures/harvest-bundle-fixture.json +87 -0
- package/tests/fixtures/index.ts +219 -0
- package/tests/fixtures/invalid/plans.ts +178 -0
- package/tests/fixtures/jest/all-passing.json +71 -0
- package/tests/fixtures/jest/snapshot-failures.json +66 -0
- package/tests/fixtures/jest/some-failing.json +100 -0
- package/tests/fixtures/jest/with-location.json +84 -0
- package/tests/fixtures/junit/cdata-messages.xml +29 -0
- package/tests/fixtures/junit/multiple-suites.xml +30 -0
- package/tests/fixtures/junit/single-suite.xml +17 -0
- package/tests/fixtures/junit/with-errors.xml +19 -0
- package/tests/fixtures/junit/with-skipped.xml +18 -0
- package/tests/fixtures/npm-audit.json +32 -0
- package/tests/fixtures/plan.bad-schema.json +5 -0
- package/tests/fixtures/plan.bad-unknown-dep.json +10 -0
- package/tests/fixtures/plan.ci-gates.json +36 -0
- package/tests/fixtures/plan.complex-cycle.json +22 -0
- package/tests/fixtures/plan.cycle.json +14 -0
- package/tests/fixtures/plan.deep-chain.json +95 -0
- package/tests/fixtures/plan.dogfood-execute.json +36 -0
- package/tests/fixtures/plan.gates.json +30 -0
- package/tests/fixtures/plan.integration-pyramid.json +56 -0
- package/tests/fixtures/plan.orphans.json +22 -0
- package/tests/fixtures/plan.parallel.json +30 -0
- package/tests/fixtures/plan.tiny.json +18 -0
- package/tests/fixtures/plan.wide-parallel.json +75 -0
- package/tests/fixtures/plan.with-failures.json +26 -0
- package/tests/fixtures/plan.with-vuln.json +25 -0
- package/tests/fixtures/planner/cross-module.json +101 -0
- package/tests/fixtures/planner/cycle-error.json +56 -0
- package/tests/fixtures/planner/diamond-pattern.json +74 -0
- package/tests/fixtures/planner/empty-repo.json +9 -0
- package/tests/fixtures/planner/file-overlap-heavy.json +110 -0
- package/tests/fixtures/planner/invalid-pr.json +25 -0
- package/tests/fixtures/planner/merge-conflicts.json +42 -0
- package/tests/fixtures/planner/mixed-deps.json +101 -0
- package/tests/fixtures/planner/self-dependency.json +24 -0
- package/tests/fixtures/planner/simple-stack.json +79 -0
- package/tests/fixtures/planner/single-pr.json +25 -0
- package/tests/fixtures/planner/stale-pr.json +40 -0
- package/tests/fixtures/plans/complex.ts +201 -0
- package/tests/fixtures/plans/diamond.ts +115 -0
- package/tests/fixtures/plans/linear.ts +74 -0
- package/tests/fixtures/plans/simple.ts +61 -0
- package/tests/fixtures/prs/basic.ts +175 -0
- package/tests/fixtures/prs/withDeps.ts +197 -0
- package/tests/fixtures/scan-results-clean.sarif +15 -0
- package/tests/fixtures/scan-results.sarif +74 -0
- package/tests/fixtures/scenarios/mergeWorkflows.ts +300 -0
- package/tests/fixtures/scenarios/syntheticWeave.ts +351 -0
- package/tests/fixtures/snapshot/package.json +5 -0
- package/tests/fixtures/snapshot/sample.ts +21 -0
- package/tests/fixtures/utils/cleanup.ts +81 -0
- package/tests/fixtures/utils/mockGitHub.ts +219 -0
- package/tests/fixtures/utils/tempDir.ts +109 -0
- package/tests/fixtures/verification/expected-verification.json +16 -0
- package/tests/fixtures/verification/receipt.json +31 -0
- package/tests/fixtures/verification/snapshot.json +44 -0
- package/tests/fixtures/vitest/all-passing.json +67 -0
- package/tests/fixtures/vitest/complex-nested-suites.json +98 -0
- package/tests/fixtures/vitest/some-failing.json +98 -0
- package/tests/fixtures/vitest/with-coverage.json +97 -0
- package/tests/fixtures-usage-examples.spec.ts +304 -0
- package/tests/flakeReport.spec.ts +267 -0
- package/tests/frames/ci-gate-integration.spec.ts +331 -0
- package/tests/frames/controller.spec.ts +165 -0
- package/tests/frames/emitter.spec.ts +371 -0
- package/tests/frames/idempotency.spec.ts +177 -0
- package/tests/frames/storage.spec.ts +346 -0
- package/tests/frames/types.spec.ts +249 -0
- package/tests/frames/v2-schema-integration.spec.ts +435 -0
- package/tests/gate-working-directory.spec.ts +204 -0
- package/tests/gateMapping.spec.ts +161 -0
- package/tests/gateReportIntegration.spec.ts +175 -0
- package/tests/gateReportValidation.spec.ts +452 -0
- package/tests/gates/test/adapters/jest-json.spec.ts +372 -0
- package/tests/gates/test/adapters/junit-xml.spec.ts +421 -0
- package/tests/gates/test/adapters/registry.spec.ts +376 -0
- package/tests/gates/test/adapters/vitest-json.spec.ts +455 -0
- package/tests/gates/test/enrichment/failureId.spec.ts +131 -0
- package/tests/gates/test/enrichment/nextActions.spec.ts +365 -0
- package/tests/gates/test/enrichment/rerunTemplates.spec.ts +187 -0
- package/tests/gates/test/enrichment/signature.spec.ts +163 -0
- package/tests/gates/test/enrichment/stackParser.spec.ts +203 -0
- package/tests/gates/turncost-integration.spec.ts +221 -0
- package/tests/gates/validation-integration.spec.ts +147 -0
- package/tests/gates/validator.spec.ts +200 -0
- package/tests/gates.test.ts +255 -0
- package/tests/gatesWithPolicy.hostilityTimeoutAdjustment.spec.ts +156 -0
- package/tests/git-operations-receipts.spec.ts +121 -0
- package/tests/git-operations.test.ts +152 -0
- package/tests/git-runtime.spec.ts +175 -0
- package/tests/github-api.labels.spec.ts +21 -0
- package/tests/github-api.test.ts +85 -0
- package/tests/github-context-diet.spec.ts +441 -0
- package/tests/github-diff-hunks.spec.ts +387 -0
- package/tests/github-integration.spec.ts +774 -0
- package/tests/github-minimal-context.spec.ts +338 -0
- package/tests/github-symbol-map.spec.ts +414 -0
- package/tests/githubClient.spec.ts +123 -0
- package/tests/governance/mcpStatus.spec.ts +276 -0
- package/tests/governance/timeoutAdjustment.spec.ts +149 -0
- package/tests/governance/turnCostSummary.spec.ts +188 -0
- package/tests/governance-retention.spec.ts +151 -0
- package/tests/governance-wrapper-delegation.spec.ts +148 -0
- package/tests/guardrails.spec.ts +860 -0
- package/tests/hash.test.ts +83 -0
- package/tests/helpers/cli.ts +23 -0
- package/tests/helpers/getStd.ts +1 -0
- package/tests/helpers/makeGate.ts +19 -0
- package/tests/helpers/plannerTestHelpers.ts +314 -0
- package/tests/hooks/events.spec.ts +518 -0
- package/tests/hostility/checks.spec.ts +295 -0
- package/tests/hostility/integration.spec.ts +123 -0
- package/tests/hostility/score.spec.ts +175 -0
- package/tests/init.spec.ts +270 -0
- package/tests/integration/hipaa-encryption.spec.ts +148 -0
- package/tests/integration/lex-smoke-test.spec.ts +328 -0
- package/tests/integration-e2e.test.ts +244 -0
- package/tests/integration-matrix.test.ts +409 -0
- package/tests/interPRConflicts.spec.ts +254 -0
- package/tests/interactive-plan-history.spec.ts +255 -0
- package/tests/interactive-plan-review.spec.ts +287 -0
- package/tests/issue-analyzer.spec.ts +593 -0
- package/tests/lexsona-integration.spec.ts +311 -0
- package/tests/localOverlay.spec.ts +203 -0
- package/tests/lockHash.spec.ts +167 -0
- package/tests/mcp-auth-errors.spec.ts +190 -0
- package/tests/mcp-contracts.spec.ts +290 -0
- package/tests/mcp-gates-external-plan.spec.ts +146 -0
- package/tests/mcp-granular-tools.spec.ts +208 -0
- package/tests/mcp-runstore-integration.spec.ts +334 -0
- package/tests/mcp-scope-integration.spec.ts +318 -0
- package/tests/mcp-task-handoff.spec.ts +320 -0
- package/tests/mcp-workflow-guide.spec.ts +53 -0
- package/tests/mcp.test.ts +151 -0
- package/tests/merge-conflict-detection.spec.ts +260 -0
- package/tests/mergeEligibility.test.ts +201 -0
- package/tests/mergeLockHash.spec.ts +158 -0
- package/tests/mergeOrder-with-fixtures.spec.ts +215 -0
- package/tests/mergeOrder.test.ts +108 -0
- package/tests/mergeTreeSimulator.spec.ts +145 -0
- package/tests/metrics/export.spec.ts +446 -0
- package/tests/metrics/turncost.spec.ts +309 -0
- package/tests/metrics-template.spec.ts +137 -0
- package/tests/migrateProfile.spec.ts +254 -0
- package/tests/mis.spec.ts +202 -0
- package/tests/monitoring-audit.spec.ts +181 -0
- package/tests/monitoring-cache.spec.ts +331 -0
- package/tests/monitoring-error-recovery.spec.ts +236 -0
- package/tests/monitoring-errors.spec.ts +193 -0
- package/tests/monitoring-fileLogger.spec.ts +319 -0
- package/tests/monitoring-health.spec.ts +152 -0
- package/tests/monitoring-lock.spec.ts +308 -0
- package/tests/monitoring-logger.spec.ts +157 -0
- package/tests/monitoring-metrics.spec.ts +158 -0
- package/tests/monitoring-profiler.spec.ts +197 -0
- package/tests/orchestration-determinism.spec.ts +204 -0
- package/tests/parseRemote.spec.ts +25 -0
- package/tests/pathResolver.spec.ts +122 -0
- package/tests/paths.spec.ts +68 -0
- package/tests/performance.spec.ts +322 -0
- package/tests/pipeline-determinism.spec.ts +597 -0
- package/tests/plan-tier-integration.spec.ts +184 -0
- package/tests/precedence-resolution.spec.ts +682 -0
- package/tests/preflightConflicts.spec.ts +205 -0
- package/tests/procedures/keystone-policy.spec.ts +296 -0
- package/tests/procedures/loader.spec.ts +585 -0
- package/tests/procedures/pr-review.spec.ts +321 -0
- package/tests/profileResolver.spec.ts +375 -0
- package/tests/progress-indicators.spec.ts +139 -0
- package/tests/promptsResolver.spec.ts +443 -0
- package/tests/public-api.spec.ts +272 -0
- package/tests/query.spec.ts +170 -0
- package/tests/receipts.spec.ts +463 -0
- package/tests/release-prepare.spec.ts +268 -0
- package/tests/report.test.ts +335 -0
- package/tests/resolutionGuidance.spec.ts +160 -0
- package/tests/rotate-secrets-example.spec.ts +198 -0
- package/tests/rulesResolver.spec.ts +232 -0
- package/tests/runGit.spec.ts +229 -0
- package/tests/runner-lifecycle-integration.spec.ts +283 -0
- package/tests/runs/artifacts.spec.ts +367 -0
- package/tests/runs/decisions.spec.ts +495 -0
- package/tests/runs/enforcement.spec.ts +555 -0
- package/tests/runs/failures.spec.ts +554 -0
- package/tests/runs/manager-runstore-integration.spec.ts +455 -0
- package/tests/runs/manager.spec.ts +678 -0
- package/tests/runs-manager.spec.ts +485 -0
- package/tests/safety-acceptance.spec.ts +278 -0
- package/tests/safety-enhanced.spec.ts +329 -0
- package/tests/safety-framework.spec.ts +427 -0
- package/tests/safety-guards-integration.spec.ts +213 -0
- package/tests/safety-integration.spec.ts +278 -0
- package/tests/sarif-parser.spec.ts +148 -0
- package/tests/schema.test.ts +88 -0
- package/tests/schemas/behavior-rule.spec.ts +366 -0
- package/tests/schemas/executorManifest.spec.ts +441 -0
- package/tests/schemas/persona-integration.spec.ts +62 -0
- package/tests/schemas/persona.spec.ts +172 -0
- package/tests/schemas/project.spec.ts +247 -0
- package/tests/schemas/run-store.spec.ts +553 -0
- package/tests/schemas/runCentric.spec.ts +463 -0
- package/tests/schemas/vacuumReadyPrompt.spec.ts +515 -0
- package/tests/scope-github-auto-detection.spec.ts +200 -0
- package/tests/scopeValidator.spec.ts +497 -0
- package/tests/security-authentication.spec.ts +42 -0
- package/tests/security-authorization.spec.ts +350 -0
- package/tests/security-cli.spec.ts +264 -0
- package/tests/security-compliance.spec.ts +334 -0
- package/tests/security-policy.spec.ts +295 -0
- package/tests/security-scanning.spec.ts +349 -0
- package/tests/security-secrets.spec.ts +401 -0
- package/tests/store/create-run-store.spec.ts +185 -0
- package/tests/store/inmemory/run-store.spec.ts +533 -0
- package/tests/store/sqlite/run-store.spec.ts +849 -0
- package/tests/telemetry/frames.spec.ts +120 -0
- package/tests/tiers.spec.ts +466 -0
- package/tests/token-usage.spec.ts +309 -0
- package/tests/toolchain-manifest.spec.ts +145 -0
- package/tests/unified-budget.spec.ts +713 -0
- package/tests/unit/cache/issue-cache.spec.ts +131 -0
- package/tests/unit/fanout/analyzer-integration.spec.ts +398 -0
- package/tests/unit/fanout/analyzer.spec.ts +605 -0
- package/tests/unit/fanout/github-adapter.spec.ts +203 -0
- package/tests/unit/fanout/harvest.spec.ts +93 -0
- package/tests/unit/fanout/monitor.spec.ts +297 -0
- package/tests/unit/fanout/types.spec.ts +308 -0
- package/tests/unit/github/batch-ops.spec.ts +179 -0
- package/tests/unit/learning/counter-example.spec.ts +168 -0
- package/tests/unit/learning/storage.spec.ts +154 -0
- package/tests/unit/preview/constraints.spec.ts +429 -0
- package/tests/unit/runs/attribution.spec.ts +204 -0
- package/tests/unit/schemas/task-contract.spec.ts +483 -0
- package/tests/unit/snapshot/builder.spec.ts +389 -0
- package/tests/unit/verification/engine-verifier.spec.ts +279 -0
- package/tests/unit/weave/authority-evaluator.spec.ts +404 -0
- package/tests/unit/weave/authority-schema.spec.ts +199 -0
- package/tests/unit/weave/auto-undraft-integration.spec.ts +349 -0
- package/tests/unit/weave/copilot-completion.spec.ts +182 -0
- package/tests/unit/weave/d1-executor.spec.ts +269 -0
- package/tests/unit/weave/d2-executor.spec.ts +334 -0
- package/tests/unit/weave/fanout-generator.spec.ts +365 -0
- package/tests/unit/weave/fanout-matcher.spec.ts +320 -0
- package/tests/unit/weave/fanout-schema.spec.ts +221 -0
- package/tests/unit/weave/mergeWeaveSequential.spec.ts +268 -0
- package/tests/unit/weave/metrics-calculator.spec.ts +212 -0
- package/tests/unit/weave/metrics-logger.spec.ts +233 -0
- package/tests/unit/weave/metrics-schema.spec.ts +383 -0
- package/tests/unit/weave/multi-repo-plan.spec.ts +221 -0
- package/tests/unit/weave/planner.spec.ts +227 -0
- package/tests/unit/weave/post-merge-checks.spec.ts +342 -0
- package/tests/unit/weave/recovery.spec.ts +306 -0
- package/tests/unit/weave/testfix/applier.spec.ts +364 -0
- package/tests/unit/weave/testfix/e2e.spec.ts +273 -0
- package/tests/unit/weave/testfix/integration.spec.ts +128 -0
- package/tests/unit/weave/testfix/matcher.spec.ts +321 -0
- package/tests/unit/weave/testfix/schema.spec.ts +298 -0
- package/tests/utils/fingerprint.spec.ts +251 -0
- package/tests/utils/paths.spec.ts +284 -0
- package/tests/utils/tokens.spec.ts +210 -0
- package/tests/utils/validation.spec.ts +215 -0
- package/tests/utils-validation.spec.ts +80 -0
- package/tests/validate-manifests.spec.ts +231 -0
- package/tests/validation.spec.ts +501 -0
- package/tests/vuln-gate.spec.ts +341 -0
- package/tests/weave/adr007-integration.spec.ts +309 -0
- package/tests/weave/checkpoint/cli-integration.spec.ts +118 -0
- package/tests/weave/checkpoint/storage.spec.ts +302 -0
- package/tests/weave/checkpoint/utils.spec.ts +223 -0
- package/tests/weave/frameHelper.spec.ts +423 -0
- package/tests/weave/gateFailureHandler.spec.ts +249 -0
- package/tests/weave/lockFile.spec.ts +387 -0
- package/tests/weave/mergeHelpers.spec.ts +173 -0
- package/tests/weave/receiptHelper.spec.ts +261 -0
- package/tests/weave/stateMachine.spec.ts +436 -0
- package/tests/weave-contract.test.ts +517 -0
- package/tests/weave-e2e.spec.ts +279 -0
- package/tests/weaveLock.spec.ts +136 -0
- package/tests/workflow-state-machine.spec.ts +274 -0
- package/tests/write-protection.spec.ts +213 -0
- package/tsconfig.json +18 -0
- package/tsup.config.ts +12 -0
- package/vitest.benchmark.config.ts +17 -0
- package/vitest.config.ts +28 -0
- package/vitest.git.config.ts +12 -0
- package/vitest.slow-cli.config.ts +28 -0
|
@@ -0,0 +1,910 @@
|
|
|
1
|
+
# Troubleshooting Guide: Diffgraph Planner
|
|
2
|
+
|
|
3
|
+
This guide covers common errors and warnings when using the diffgraph planner, with step-by-step solutions.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Error: Dependency Cycle Detected](#error-dependency-cycle-detected)
|
|
8
|
+
- [Warning: Unreachable/Orphan PRs](#warning-unreachableorphan-prs)
|
|
9
|
+
- [Low-Confidence Implicit Dependencies](#low-confidence-implicit-dependencies)
|
|
10
|
+
- [Plan Differs Between Runs](#plan-differs-between-runs)
|
|
11
|
+
- [Error: Invalid Dependency Reference](#error-invalid-dependency-reference)
|
|
12
|
+
- [Error: Self-Dependency Detected](#error-self-dependency-detected)
|
|
13
|
+
- [Warning: Large Merge Layer](#warning-large-merge-layer)
|
|
14
|
+
- [File Analysis Timeout](#file-analysis-timeout)
|
|
15
|
+
- [GitHub API Rate Limiting](#github-api-rate-limiting)
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Error: Dependency Cycle Detected
|
|
20
|
+
|
|
21
|
+
### Symptom
|
|
22
|
+
|
|
23
|
+
Plan generation fails with a cycle error:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
❌ Validation failed: Dependency cycle detected
|
|
27
|
+
Cycle path: PR-100 → PR-101 → PR-102 → PR-100
|
|
28
|
+
|
|
29
|
+
Suggestion: Remove one of the dependencies in the cycle to break it.
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Root Cause
|
|
33
|
+
|
|
34
|
+
Circular dependencies in the PR graph. This can happen due to:
|
|
35
|
+
|
|
36
|
+
1. **Explicit cycles** - PR descriptions have circular `Depends-on:` footers
|
|
37
|
+
2. **Implicit cycles** - File-based heuristics create a false circular dependency
|
|
38
|
+
3. **Mixed cycles** - Combination of explicit and implicit dependencies
|
|
39
|
+
|
|
40
|
+
### Diagnosis Steps
|
|
41
|
+
|
|
42
|
+
#### Step 1: Examine the Cycle Path
|
|
43
|
+
|
|
44
|
+
The error message shows the cycle path. For example:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
PR-100 → PR-101 → PR-102 → PR-100
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
This means:
|
|
51
|
+
|
|
52
|
+
- PR-100 depends on PR-101
|
|
53
|
+
- PR-101 depends on PR-102
|
|
54
|
+
- PR-102 depends on PR-100 (cycle!)
|
|
55
|
+
|
|
56
|
+
#### Step 2: Check Explicit Dependencies
|
|
57
|
+
|
|
58
|
+
Review each PR's description:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# For each PR in the cycle, check its dependencies
|
|
62
|
+
gh pr view 100 --json body --jq '.body'
|
|
63
|
+
gh pr view 101 --json body --jq '.body'
|
|
64
|
+
gh pr view 102 --json body --jq '.body'
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Look for `Depends-on:` lines.
|
|
68
|
+
|
|
69
|
+
#### Step 3: Check Implicit Dependencies
|
|
70
|
+
|
|
71
|
+
If no explicit cycle is found, check file-based suggestions:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# Generate suggestions to see implicit dependencies
|
|
75
|
+
lex-pr plan --suggest-deps --json | jq '.suggestions[] | select(.from == "PR-100" or .from == "PR-101" or .from == "PR-102")'
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Look for high-confidence suggestions that might create the cycle.
|
|
79
|
+
|
|
80
|
+
### Solution
|
|
81
|
+
|
|
82
|
+
#### Option 1: Remove Explicit Dependency
|
|
83
|
+
|
|
84
|
+
If the cycle is due to explicit dependencies, remove the weakest link:
|
|
85
|
+
|
|
86
|
+
**Before:**
|
|
87
|
+
|
|
88
|
+
```markdown
|
|
89
|
+
# PR-100 description
|
|
90
|
+
|
|
91
|
+
Depends-on: #102
|
|
92
|
+
|
|
93
|
+
# PR-101 description
|
|
94
|
+
|
|
95
|
+
Depends-on: #100
|
|
96
|
+
|
|
97
|
+
# PR-102 description
|
|
98
|
+
|
|
99
|
+
Depends-on: #101
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**After (break cycle by removing PR-100 → PR-102):**
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
# PR-100 description
|
|
106
|
+
|
|
107
|
+
(no Depends-on)
|
|
108
|
+
|
|
109
|
+
# PR-101 description
|
|
110
|
+
|
|
111
|
+
Depends-on: #100
|
|
112
|
+
|
|
113
|
+
# PR-102 description
|
|
114
|
+
|
|
115
|
+
Depends-on: #101
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Then regenerate the plan:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
lex-pr plan --from-github --output plan.json
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
#### Option 2: Remove Implicit Dependency
|
|
125
|
+
|
|
126
|
+
If the cycle is due to file-based suggestions, increase the threshold to filter them out:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# Use higher threshold to filter low-confidence suggestions
|
|
130
|
+
lex-pr plan --from-github --threshold=0.7 --output plan.json
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Or disable implicit dependencies entirely:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# Only use explicit dependencies
|
|
137
|
+
lex-pr plan --from-github --no-suggestions --output plan.json
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
#### Option 3: Restructure the Work
|
|
141
|
+
|
|
142
|
+
If the cycle represents a real circular dependency in the code:
|
|
143
|
+
|
|
144
|
+
1. **Merge PRs into one** - combine the circular work into a single PR
|
|
145
|
+
2. **Refactor the approach** - break the circular dependency in the code design
|
|
146
|
+
3. **Use a feature branch** - merge all PRs to a feature branch first, then merge to main
|
|
147
|
+
|
|
148
|
+
### Example
|
|
149
|
+
|
|
150
|
+
**Scenario:** Three PRs refactoring a module create a cycle.
|
|
151
|
+
|
|
152
|
+
**Before:**
|
|
153
|
+
|
|
154
|
+
- PR-100: Refactor `core.ts` (depends on PR-102 for types)
|
|
155
|
+
- PR-101: Refactor `utils.ts` (depends on PR-100)
|
|
156
|
+
- PR-102: Refactor `types.ts` (depends on PR-101)
|
|
157
|
+
|
|
158
|
+
**Solution:** Combine into a single PR or use a feature branch:
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# Create feature branch
|
|
162
|
+
git checkout -b refactor/module-cleanup
|
|
163
|
+
|
|
164
|
+
# Merge all PRs to feature branch (no dependencies)
|
|
165
|
+
lex-pr merge pr-100 pr-101 pr-102 --target refactor/module-cleanup
|
|
166
|
+
|
|
167
|
+
# Then merge feature branch to main
|
|
168
|
+
git checkout main
|
|
169
|
+
git merge refactor/module-cleanup
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Prevention
|
|
173
|
+
|
|
174
|
+
- **Review dependencies** before adding them
|
|
175
|
+
- **Use `plan --validate`** early in the process
|
|
176
|
+
- **Keep stacks linear** when possible (avoid diamonds and complex graphs)
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Warning: Unreachable/Orphan PRs
|
|
181
|
+
|
|
182
|
+
### Symptom
|
|
183
|
+
|
|
184
|
+
Plan generation succeeds but warns about orphan PRs:
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
✓ Plan generated successfully
|
|
188
|
+
|
|
189
|
+
⚠️ Warning: Orphan PRs detected (no dependencies, no dependents)
|
|
190
|
+
- PR-999 (hotfix/security-patch)
|
|
191
|
+
- PR-888 (refactor/cleanup)
|
|
192
|
+
|
|
193
|
+
These PRs can be merged independently but are not part of any dependency chain.
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Root Cause
|
|
197
|
+
|
|
198
|
+
A PR has:
|
|
199
|
+
|
|
200
|
+
- **No dependencies** (doesn't depend on other PRs)
|
|
201
|
+
- **No dependents** (no other PRs depend on it)
|
|
202
|
+
|
|
203
|
+
### Is This a Problem?
|
|
204
|
+
|
|
205
|
+
**Often NO** - valid scenarios:
|
|
206
|
+
|
|
207
|
+
- ✅ Independent hotfixes
|
|
208
|
+
- ✅ Parallel feature work
|
|
209
|
+
- ✅ Refactors with no dependencies
|
|
210
|
+
- ✅ Documentation updates
|
|
211
|
+
|
|
212
|
+
**Sometimes YES** - missing dependencies:
|
|
213
|
+
|
|
214
|
+
- ❌ PR is part of a stack but missing `Depends-on:` footer
|
|
215
|
+
- ❌ PR should depend on foundation work but doesn't declare it
|
|
216
|
+
- ❌ Other PRs should depend on this PR but don't declare it
|
|
217
|
+
|
|
218
|
+
### Diagnosis Steps
|
|
219
|
+
|
|
220
|
+
#### Step 1: Review the PR's Purpose
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
# View PR details
|
|
224
|
+
gh pr view 999 --json title,body,labels
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
Ask yourself:
|
|
228
|
+
|
|
229
|
+
- Is this PR truly independent?
|
|
230
|
+
- Does it build on other work?
|
|
231
|
+
- Do other PRs build on this?
|
|
232
|
+
|
|
233
|
+
#### Step 2: Check for Implicit Dependencies
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
# See if suggestions exist for the orphan PR
|
|
237
|
+
lex-pr plan --suggest-deps | grep "PR-999"
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
If suggestions exist with high confidence (≥0.7), you might be missing a dependency.
|
|
241
|
+
|
|
242
|
+
#### Step 3: Check for Reverse Dependencies
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
# See if other PRs should depend on this one
|
|
246
|
+
lex-pr plan --suggest-deps | grep "to.*PR-999"
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### Solution
|
|
250
|
+
|
|
251
|
+
#### Option 1: Add Missing Dependency
|
|
252
|
+
|
|
253
|
+
If the PR should depend on another PR:
|
|
254
|
+
|
|
255
|
+
```markdown
|
|
256
|
+
# In PR-999 description, add:
|
|
257
|
+
|
|
258
|
+
Depends-on: #100
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
Then regenerate the plan:
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
lex-pr plan --from-github --output plan.json
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
#### Option 2: Ignore the Warning
|
|
268
|
+
|
|
269
|
+
If the PR is truly independent:
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
# The warning is informational - you can safely ignore it
|
|
273
|
+
lex-pr execute --plan plan.json
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
Orphan PRs will be placed in Layer 0 and can be merged immediately.
|
|
277
|
+
|
|
278
|
+
#### Option 3: Separate Independent PRs
|
|
279
|
+
|
|
280
|
+
If you want to focus on the dependency chain and exclude orphans:
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
# Filter by label to exclude orphan PRs
|
|
284
|
+
lex-pr plan --from-github --labels "stack:feature" --output plan.json
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### Example
|
|
288
|
+
|
|
289
|
+
**Scenario:** Security hotfix is flagged as orphan.
|
|
290
|
+
|
|
291
|
+
**PR-999:** Fix XSS vulnerability in input validation
|
|
292
|
+
|
|
293
|
+
**Analysis:**
|
|
294
|
+
|
|
295
|
+
- No dependencies (doesn't need other PRs)
|
|
296
|
+
- No dependents (other PRs don't need this)
|
|
297
|
+
- **This is valid!** - Security hotfixes are often independent
|
|
298
|
+
|
|
299
|
+
**Action:** Ignore the warning and merge immediately.
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## Low-Confidence Implicit Dependencies
|
|
304
|
+
|
|
305
|
+
### Symptom
|
|
306
|
+
|
|
307
|
+
Suggestions have low confidence scores (<0.5):
|
|
308
|
+
|
|
309
|
+
```
|
|
310
|
+
📊 Dependency Suggestions (2 found):
|
|
311
|
+
|
|
312
|
+
| From | To | Confidence | Heuristic | Reason |
|
|
313
|
+
|--------|--------|------------|--------------------|---------------------------|
|
|
314
|
+
| PR-101 | PR-102 | 35% | directory-proximity| 1 common directory |
|
|
315
|
+
| PR-201 | PR-202 | 28% | shared-files | both modify utils.ts |
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### Root Cause
|
|
319
|
+
|
|
320
|
+
File overlap is weak or heuristics are uncertain:
|
|
321
|
+
|
|
322
|
+
- PRs modify different parts of the same directory
|
|
323
|
+
- PRs both modify common utility files (`utils.ts`, `types.ts`)
|
|
324
|
+
- Minimal file overlap (1-2 files)
|
|
325
|
+
- Directory proximity but different concerns
|
|
326
|
+
|
|
327
|
+
### Is This a Problem?
|
|
328
|
+
|
|
329
|
+
**Usually NO** - low confidence means the relationship is uncertain:
|
|
330
|
+
|
|
331
|
+
- ✅ Heuristics are working correctly (filtering weak signals)
|
|
332
|
+
- ✅ PRs are likely independent
|
|
333
|
+
- ✅ No action needed in most cases
|
|
334
|
+
|
|
335
|
+
**Sometimes YES** - legitimate dependency with weak signal:
|
|
336
|
+
|
|
337
|
+
- ❌ New code with no tests (weak file overlap)
|
|
338
|
+
- ❌ Small changes to critical files
|
|
339
|
+
- ❌ Documentation changes that don't show up in heuristics
|
|
340
|
+
|
|
341
|
+
### Diagnosis Steps
|
|
342
|
+
|
|
343
|
+
#### Step 1: Review the Shared Files
|
|
344
|
+
|
|
345
|
+
```bash
|
|
346
|
+
# Get detailed info about the suggestion
|
|
347
|
+
lex-pr plan --suggest-deps --json | jq '.suggestions[] | select(.confidence < 0.5)'
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
Check the `sharedFiles` field to see what files overlap.
|
|
351
|
+
|
|
352
|
+
#### Step 2: Examine the File Changes
|
|
353
|
+
|
|
354
|
+
```bash
|
|
355
|
+
# Review what each PR actually changes
|
|
356
|
+
gh pr diff 101 | grep "utils.ts"
|
|
357
|
+
gh pr diff 102 | grep "utils.ts"
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
Ask yourself:
|
|
361
|
+
|
|
362
|
+
- Do these changes actually conflict?
|
|
363
|
+
- Is there a logical dependency?
|
|
364
|
+
- Are they just coincidentally touching the same file?
|
|
365
|
+
|
|
366
|
+
#### Step 3: Review PR Descriptions
|
|
367
|
+
|
|
368
|
+
```bash
|
|
369
|
+
# Read the PR descriptions to understand the intent
|
|
370
|
+
gh pr view 101 --json title,body
|
|
371
|
+
gh pr view 102 --json title,body
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
### Solution
|
|
375
|
+
|
|
376
|
+
#### Option 1: Add Explicit Dependency (If Valid)
|
|
377
|
+
|
|
378
|
+
If after review you determine there IS a dependency:
|
|
379
|
+
|
|
380
|
+
```markdown
|
|
381
|
+
# In PR-102 description, add:
|
|
382
|
+
|
|
383
|
+
Depends-on: #101
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
Then regenerate:
|
|
387
|
+
|
|
388
|
+
```bash
|
|
389
|
+
lex-pr plan --from-github --output plan.json
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
#### Option 2: Ignore the Suggestion
|
|
393
|
+
|
|
394
|
+
If the PRs are truly independent:
|
|
395
|
+
|
|
396
|
+
```bash
|
|
397
|
+
# Use higher threshold to filter out low-confidence suggestions
|
|
398
|
+
lex-pr plan --from-github --threshold=0.5 --output plan.json
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
This will exclude suggestions below 50% confidence.
|
|
402
|
+
|
|
403
|
+
#### Option 3: Investigate Further
|
|
404
|
+
|
|
405
|
+
If you're unsure:
|
|
406
|
+
|
|
407
|
+
```bash
|
|
408
|
+
# Generate detailed analysis
|
|
409
|
+
lex-pr plan --suggest-deps --format=markdown > review.md
|
|
410
|
+
|
|
411
|
+
# Review the markdown file
|
|
412
|
+
cat review.md
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
### Example
|
|
416
|
+
|
|
417
|
+
**Scenario:** Two PRs both modify `utils.ts` but for unrelated reasons.
|
|
418
|
+
|
|
419
|
+
**PR-101:** Add `formatDate()` helper to `utils.ts`
|
|
420
|
+
**PR-102:** Add `validateEmail()` helper to `utils.ts`
|
|
421
|
+
|
|
422
|
+
**Suggestion:** `PR-101 → PR-102` (35% confidence)
|
|
423
|
+
|
|
424
|
+
**Analysis:**
|
|
425
|
+
|
|
426
|
+
- Both modify `utils.ts` (weak signal)
|
|
427
|
+
- Different functions (no real dependency)
|
|
428
|
+
- No conflict (different parts of file)
|
|
429
|
+
|
|
430
|
+
**Action:** Ignore the suggestion - these PRs are independent.
|
|
431
|
+
|
|
432
|
+
```bash
|
|
433
|
+
# Filter it out with threshold
|
|
434
|
+
lex-pr plan --from-github --threshold=0.5 --output plan.json
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
### Prevention
|
|
438
|
+
|
|
439
|
+
- **Use explicit dependencies** for known relationships
|
|
440
|
+
- **Set appropriate thresholds** for your codebase
|
|
441
|
+
- **Review suggestions** before trusting them
|
|
442
|
+
- **Document independent work** in PR descriptions
|
|
443
|
+
|
|
444
|
+
---
|
|
445
|
+
|
|
446
|
+
## Plan Differs Between Runs
|
|
447
|
+
|
|
448
|
+
### Symptom
|
|
449
|
+
|
|
450
|
+
Running the same command twice produces different output:
|
|
451
|
+
|
|
452
|
+
```bash
|
|
453
|
+
$ lex-pr plan --from-github --output plan1.json
|
|
454
|
+
✓ Plan generated
|
|
455
|
+
|
|
456
|
+
$ lex-pr plan --from-github --output plan2.json
|
|
457
|
+
✓ Plan generated
|
|
458
|
+
|
|
459
|
+
$ diff plan1.json plan2.json
|
|
460
|
+
< "timestamp": "2024-01-15T10:30:00Z"
|
|
461
|
+
> "timestamp": "2024-01-15T10:31:00Z"
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
### Root Cause
|
|
465
|
+
|
|
466
|
+
**This should NEVER happen** - it indicates a determinism bug. Possible causes:
|
|
467
|
+
|
|
468
|
+
1. **Timestamp fields** - non-deterministic timestamps in output
|
|
469
|
+
2. **Random ordering** - items not sorted deterministically
|
|
470
|
+
3. **Network timing** - different GitHub API response order
|
|
471
|
+
4. **Cache issues** - stale cache affecting results
|
|
472
|
+
|
|
473
|
+
### Diagnosis Steps
|
|
474
|
+
|
|
475
|
+
#### Step 1: Generate Plans Twice
|
|
476
|
+
|
|
477
|
+
```bash
|
|
478
|
+
lex-pr plan --from-github --output plan1.json
|
|
479
|
+
lex-pr plan --from-github --output plan2.json
|
|
480
|
+
diff plan1.json plan2.json
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
#### Step 2: Identify the Differences
|
|
484
|
+
|
|
485
|
+
Check what fields are different:
|
|
486
|
+
|
|
487
|
+
- **Timestamps?** - Should be excluded from output
|
|
488
|
+
- **Item order?** - Should be deterministically sorted
|
|
489
|
+
- **Dependency order?** - Should be deterministically sorted
|
|
490
|
+
- **Metadata?** - Should be stable
|
|
491
|
+
|
|
492
|
+
#### Step 3: Clear Cache and Retry
|
|
493
|
+
|
|
494
|
+
```bash
|
|
495
|
+
# Clear any cached data
|
|
496
|
+
rm -rf .smartergpt/runner/cache/
|
|
497
|
+
|
|
498
|
+
# Regenerate
|
|
499
|
+
lex-pr plan --from-github --output plan.json
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
### Solution
|
|
503
|
+
|
|
504
|
+
#### Option 1: Strip Timestamps (Workaround)
|
|
505
|
+
|
|
506
|
+
If only timestamps differ:
|
|
507
|
+
|
|
508
|
+
```bash
|
|
509
|
+
# Remove timestamp fields with jq
|
|
510
|
+
lex-pr plan --from-github --json | jq 'del(.timestamp, .items[].timestamp)' > plan.json
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
#### Option 2: Report the Bug
|
|
514
|
+
|
|
515
|
+
If other fields differ:
|
|
516
|
+
|
|
517
|
+
1. **Capture evidence:**
|
|
518
|
+
|
|
519
|
+
```bash
|
|
520
|
+
lex-pr --version > bug-report.txt
|
|
521
|
+
node --version >> bug-report.txt
|
|
522
|
+
uname -a >> bug-report.txt
|
|
523
|
+
diff plan1.json plan2.json >> bug-report.txt
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
2. **File an issue:** [GitHub Issues](https://github.com/Guffawaffle/LexRunner/issues/new)
|
|
527
|
+
- Title: "Non-deterministic plan generation"
|
|
528
|
+
- Include: Commands run, diff output, environment details
|
|
529
|
+
- Label: `bug`, `determinism`
|
|
530
|
+
|
|
531
|
+
#### Option 3: Pin Commit SHAs (Future Feature)
|
|
532
|
+
|
|
533
|
+
Once supported, pin specific commit SHAs in the plan:
|
|
534
|
+
|
|
535
|
+
```json
|
|
536
|
+
{
|
|
537
|
+
"items": [
|
|
538
|
+
{
|
|
539
|
+
"id": "pr-100",
|
|
540
|
+
"name": "auth-api",
|
|
541
|
+
"sha": "abc123def456",
|
|
542
|
+
"deps": []
|
|
543
|
+
}
|
|
544
|
+
]
|
|
545
|
+
}
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
This ensures the plan is tied to specific commits.
|
|
549
|
+
|
|
550
|
+
### Prevention
|
|
551
|
+
|
|
552
|
+
- **Always use `--json` flag** for deterministic output
|
|
553
|
+
- **Avoid manual plan editing** (regenerate instead)
|
|
554
|
+
- **Test determinism** in CI (generate twice, compare)
|
|
555
|
+
|
|
556
|
+
---
|
|
557
|
+
|
|
558
|
+
## Error: Invalid Dependency Reference
|
|
559
|
+
|
|
560
|
+
### Symptom
|
|
561
|
+
|
|
562
|
+
```
|
|
563
|
+
❌ Validation failed: Invalid dependency reference
|
|
564
|
+
Item: PR-101
|
|
565
|
+
Invalid reference: #999 (PR does not exist)
|
|
566
|
+
|
|
567
|
+
Suggestion: Check that the referenced PR exists and is included in the plan.
|
|
568
|
+
```
|
|
569
|
+
|
|
570
|
+
### Root Cause
|
|
571
|
+
|
|
572
|
+
A PR depends on another PR that doesn't exist or isn't included in the plan.
|
|
573
|
+
|
|
574
|
+
### Diagnosis Steps
|
|
575
|
+
|
|
576
|
+
#### Step 1: Check if the Referenced PR Exists
|
|
577
|
+
|
|
578
|
+
```bash
|
|
579
|
+
# Check if PR-999 exists
|
|
580
|
+
gh pr view 999
|
|
581
|
+
```
|
|
582
|
+
|
|
583
|
+
If it doesn't exist:
|
|
584
|
+
|
|
585
|
+
- It was closed/merged
|
|
586
|
+
- The PR number is wrong
|
|
587
|
+
- It's in a different repository
|
|
588
|
+
|
|
589
|
+
#### Step 2: Check if the Referenced PR is Included
|
|
590
|
+
|
|
591
|
+
```bash
|
|
592
|
+
# List all PRs in the current plan
|
|
593
|
+
lex-pr plan --from-github --json | jq '.items[].id'
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
If PR-999 exists but isn't in the list:
|
|
597
|
+
|
|
598
|
+
- It doesn't match the label filters
|
|
599
|
+
- It was excluded by other criteria
|
|
600
|
+
|
|
601
|
+
### Solution
|
|
602
|
+
|
|
603
|
+
#### Option 1: Remove the Invalid Dependency
|
|
604
|
+
|
|
605
|
+
If the referenced PR no longer exists:
|
|
606
|
+
|
|
607
|
+
```markdown
|
|
608
|
+
# In PR-101 description, remove:
|
|
609
|
+
|
|
610
|
+
Depends-on: #999
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
Then regenerate:
|
|
614
|
+
|
|
615
|
+
```bash
|
|
616
|
+
lex-pr plan --from-github --output plan.json
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
#### Option 2: Include the Referenced PR
|
|
620
|
+
|
|
621
|
+
If the PR exists but is excluded:
|
|
622
|
+
|
|
623
|
+
```bash
|
|
624
|
+
# Check why it's excluded
|
|
625
|
+
gh pr view 999 --json labels,state
|
|
626
|
+
|
|
627
|
+
# If it needs a label, add it
|
|
628
|
+
gh pr edit 999 --add-label "ready-to-merge"
|
|
629
|
+
|
|
630
|
+
# Regenerate plan
|
|
631
|
+
lex-pr plan --from-github --output plan.json
|
|
632
|
+
```
|
|
633
|
+
|
|
634
|
+
#### Option 3: Fix the Reference
|
|
635
|
+
|
|
636
|
+
If the PR number is wrong:
|
|
637
|
+
|
|
638
|
+
```markdown
|
|
639
|
+
# In PR-101 description, fix the number:
|
|
640
|
+
|
|
641
|
+
Depends-on: #998 # Was #999
|
|
642
|
+
```
|
|
643
|
+
|
|
644
|
+
### Example
|
|
645
|
+
|
|
646
|
+
**Scenario:** PR-101 depends on PR-100, which was already merged.
|
|
647
|
+
|
|
648
|
+
**Error:**
|
|
649
|
+
|
|
650
|
+
```
|
|
651
|
+
❌ Invalid reference: #100 (PR does not exist or is closed)
|
|
652
|
+
```
|
|
653
|
+
|
|
654
|
+
**Solution:** Remove the dependency since it's already merged:
|
|
655
|
+
|
|
656
|
+
```markdown
|
|
657
|
+
# PR-101 description before:
|
|
658
|
+
|
|
659
|
+
Depends-on: #100
|
|
660
|
+
|
|
661
|
+
# PR-101 description after:
|
|
662
|
+
|
|
663
|
+
(remove the Depends-on line)
|
|
664
|
+
```
|
|
665
|
+
|
|
666
|
+
---
|
|
667
|
+
|
|
668
|
+
## Error: Self-Dependency Detected
|
|
669
|
+
|
|
670
|
+
### Symptom
|
|
671
|
+
|
|
672
|
+
```
|
|
673
|
+
❌ Validation failed: Self-dependency detected
|
|
674
|
+
Item: PR-101
|
|
675
|
+
Cannot depend on itself.
|
|
676
|
+
|
|
677
|
+
Suggestion: Remove the self-dependency from the PR description.
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
### Root Cause
|
|
681
|
+
|
|
682
|
+
A PR's description includes a `Depends-on:` reference to itself.
|
|
683
|
+
|
|
684
|
+
### Diagnosis Steps
|
|
685
|
+
|
|
686
|
+
#### Step 1: Check the PR Description
|
|
687
|
+
|
|
688
|
+
```bash
|
|
689
|
+
# View the PR description
|
|
690
|
+
gh pr view 101 --json body --jq '.body'
|
|
691
|
+
```
|
|
692
|
+
|
|
693
|
+
Look for `Depends-on: #101` (self-reference).
|
|
694
|
+
|
|
695
|
+
### Solution
|
|
696
|
+
|
|
697
|
+
Remove the self-dependency:
|
|
698
|
+
|
|
699
|
+
```markdown
|
|
700
|
+
# Before:
|
|
701
|
+
|
|
702
|
+
Depends-on: #100, #101, #102
|
|
703
|
+
|
|
704
|
+
# After:
|
|
705
|
+
|
|
706
|
+
Depends-on: #100, #102
|
|
707
|
+
```
|
|
708
|
+
|
|
709
|
+
Then regenerate:
|
|
710
|
+
|
|
711
|
+
```bash
|
|
712
|
+
lex-pr plan --from-github --output plan.json
|
|
713
|
+
```
|
|
714
|
+
|
|
715
|
+
### Example
|
|
716
|
+
|
|
717
|
+
**Scenario:** Copy-paste error in PR description.
|
|
718
|
+
|
|
719
|
+
**Before:**
|
|
720
|
+
|
|
721
|
+
```markdown
|
|
722
|
+
Depends-on: #101, #102
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
**Fix:**
|
|
726
|
+
|
|
727
|
+
```markdown
|
|
728
|
+
Depends-on: #102
|
|
729
|
+
```
|
|
730
|
+
|
|
731
|
+
---
|
|
732
|
+
|
|
733
|
+
## Warning: Large Merge Layer
|
|
734
|
+
|
|
735
|
+
### Symptom
|
|
736
|
+
|
|
737
|
+
```
|
|
738
|
+
⚠️ Warning: Large merge layer detected
|
|
739
|
+
Layer 0 contains 25 PRs (threshold: 10)
|
|
740
|
+
|
|
741
|
+
This may indicate missing dependencies or overly parallel work.
|
|
742
|
+
Consider adding explicit dependencies to reduce layer size.
|
|
743
|
+
```
|
|
744
|
+
|
|
745
|
+
### Root Cause
|
|
746
|
+
|
|
747
|
+
Too many PRs at the same dependency level (all marked as "ready to merge").
|
|
748
|
+
|
|
749
|
+
### Is This a Problem?
|
|
750
|
+
|
|
751
|
+
**Sometimes NO** - valid scenarios:
|
|
752
|
+
|
|
753
|
+
- ✅ Batch refactor with truly independent PRs
|
|
754
|
+
- ✅ Parallel feature work by different teams
|
|
755
|
+
- ✅ Hotfixes and small fixes
|
|
756
|
+
|
|
757
|
+
**Sometimes YES** - missing dependencies:
|
|
758
|
+
|
|
759
|
+
- ❌ PRs have implicit dependencies not declared
|
|
760
|
+
- ❌ File-based heuristics didn't catch relationships
|
|
761
|
+
- ❌ Team forgot to add `Depends-on:` footers
|
|
762
|
+
|
|
763
|
+
### Solution
|
|
764
|
+
|
|
765
|
+
#### Option 1: Add Missing Dependencies
|
|
766
|
+
|
|
767
|
+
Review the PRs and add explicit dependencies:
|
|
768
|
+
|
|
769
|
+
```bash
|
|
770
|
+
# Generate suggestions for Layer 0 PRs
|
|
771
|
+
lex-pr plan --suggest-deps --threshold=0.6 | grep "Layer 0"
|
|
772
|
+
```
|
|
773
|
+
|
|
774
|
+
If suggestions exist, add them to PR descriptions.
|
|
775
|
+
|
|
776
|
+
#### Option 2: Split into Batches
|
|
777
|
+
|
|
778
|
+
If PRs are truly independent, process them in smaller batches:
|
|
779
|
+
|
|
780
|
+
```bash
|
|
781
|
+
# First batch: PRs 1-10
|
|
782
|
+
lex-pr plan --from-github --pr-numbers 1,2,3,4,5,6,7,8,9,10
|
|
783
|
+
|
|
784
|
+
# Second batch: PRs 11-20
|
|
785
|
+
lex-pr plan --from-github --pr-numbers 11,12,13,14,15,16,17,18,19,20
|
|
786
|
+
```
|
|
787
|
+
|
|
788
|
+
#### Option 3: Ignore the Warning
|
|
789
|
+
|
|
790
|
+
If you're confident the PRs are independent:
|
|
791
|
+
|
|
792
|
+
```bash
|
|
793
|
+
# Proceed with execution
|
|
794
|
+
lex-pr execute --plan plan.json
|
|
795
|
+
```
|
|
796
|
+
|
|
797
|
+
---
|
|
798
|
+
|
|
799
|
+
## File Analysis Timeout
|
|
800
|
+
|
|
801
|
+
### Symptom
|
|
802
|
+
|
|
803
|
+
```
|
|
804
|
+
❌ Error: File analysis timed out after 60 seconds
|
|
805
|
+
Failed to fetch file changes for PR-101
|
|
806
|
+
|
|
807
|
+
Suggestion: Increase timeout or reduce the number of PRs.
|
|
808
|
+
```
|
|
809
|
+
|
|
810
|
+
### Root Cause
|
|
811
|
+
|
|
812
|
+
- Large PRs with many file changes
|
|
813
|
+
- Slow GitHub API responses
|
|
814
|
+
- Rate limiting
|
|
815
|
+
|
|
816
|
+
### Solution
|
|
817
|
+
|
|
818
|
+
#### Option 1: Increase Timeout
|
|
819
|
+
|
|
820
|
+
```bash
|
|
821
|
+
# Set longer timeout (in seconds)
|
|
822
|
+
export LEX_PR_FILE_ANALYSIS_TIMEOUT=120
|
|
823
|
+
|
|
824
|
+
lex-pr plan --from-github --output plan.json
|
|
825
|
+
```
|
|
826
|
+
|
|
827
|
+
#### Option 2: Reduce PR Count
|
|
828
|
+
|
|
829
|
+
```bash
|
|
830
|
+
# Process fewer PRs at once
|
|
831
|
+
lex-pr plan --from-github --labels "ready-to-merge" --output plan.json
|
|
832
|
+
```
|
|
833
|
+
|
|
834
|
+
#### Option 3: Disable File Analysis
|
|
835
|
+
|
|
836
|
+
```bash
|
|
837
|
+
# Skip file-based suggestions (explicit deps only)
|
|
838
|
+
lex-pr plan --from-github --no-suggestions --output plan.json
|
|
839
|
+
```
|
|
840
|
+
|
|
841
|
+
---
|
|
842
|
+
|
|
843
|
+
## GitHub API Rate Limiting
|
|
844
|
+
|
|
845
|
+
### Symptom
|
|
846
|
+
|
|
847
|
+
```
|
|
848
|
+
❌ Error: GitHub API rate limit exceeded
|
|
849
|
+
Remaining: 0/5000
|
|
850
|
+
Resets at: 2024-01-15T11:00:00Z
|
|
851
|
+
|
|
852
|
+
Suggestion: Wait for rate limit reset or use authentication.
|
|
853
|
+
```
|
|
854
|
+
|
|
855
|
+
### Root Cause
|
|
856
|
+
|
|
857
|
+
- Too many API requests
|
|
858
|
+
- Unauthenticated requests (lower rate limit)
|
|
859
|
+
- Large number of PRs
|
|
860
|
+
|
|
861
|
+
### Solution
|
|
862
|
+
|
|
863
|
+
#### Option 1: Use Authentication
|
|
864
|
+
|
|
865
|
+
```bash
|
|
866
|
+
# Set GitHub token for higher rate limits
|
|
867
|
+
export GITHUB_TOKEN=your_token_here
|
|
868
|
+
|
|
869
|
+
lex-pr plan --from-github --output plan.json
|
|
870
|
+
```
|
|
871
|
+
|
|
872
|
+
Authenticated: 5,000 requests/hour
|
|
873
|
+
Unauthenticated: 60 requests/hour
|
|
874
|
+
|
|
875
|
+
#### Option 2: Wait for Reset
|
|
876
|
+
|
|
877
|
+
```bash
|
|
878
|
+
# Check rate limit status
|
|
879
|
+
gh api rate_limit
|
|
880
|
+
|
|
881
|
+
# Wait until reset time, then retry
|
|
882
|
+
```
|
|
883
|
+
|
|
884
|
+
#### Option 3: Cache Results
|
|
885
|
+
|
|
886
|
+
```bash
|
|
887
|
+
# Use cached file analysis (if available)
|
|
888
|
+
lex-pr plan --from-github --use-cache --output plan.json
|
|
889
|
+
```
|
|
890
|
+
|
|
891
|
+
---
|
|
892
|
+
|
|
893
|
+
## Getting Help
|
|
894
|
+
|
|
895
|
+
If you encounter an issue not covered here:
|
|
896
|
+
|
|
897
|
+
1. **Check existing issues:** [GitHub Issues](https://github.com/Guffawaffle/LexRunner/issues)
|
|
898
|
+
2. **Search discussions:** [GitHub Discussions](https://github.com/Guffawaffle/LexRunner/discussions)
|
|
899
|
+
3. **File a new issue:** Include:
|
|
900
|
+
- Commands run
|
|
901
|
+
- Error messages (full output)
|
|
902
|
+
- Environment details (OS, Node version, lex-pr version)
|
|
903
|
+
- Plan file (if applicable)
|
|
904
|
+
|
|
905
|
+
## Related Documentation
|
|
906
|
+
|
|
907
|
+
- **[Diffgraph Planner Guide](./diffgraph-planner.md)** - Complete feature guide
|
|
908
|
+
- **[CLI Reference](./cli.md)** - Command documentation
|
|
909
|
+
- **[Dependency Parser](./dependency-parser.md)** - Parser details
|
|
910
|
+
- **[General Troubleshooting](./troubleshooting.md)** - Other issues
|