lee-spec-kit 0.9.2 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -7724,6 +7724,14 @@ async function resolveLocalIntegrationContext(config, feature) {
|
|
|
7724
7724
|
const squashCommitMatchesSource = completionStrategy === "local-squash" && state?.strategy === "local-squash" && !!featureTip && state.featureTip === featureTip && !!integratedCommit && !!baseTip && integratedCommit === baseTip && !!featureTree && integratedTree === featureTree && state.integratedTree === featureTree;
|
|
7725
7725
|
const squashEvidencePresent = !!featureTip && evidenceTip === featureTip;
|
|
7726
7726
|
const squashIntegrationComplete = squashCommitMatchesSource && squashEvidencePresent;
|
|
7727
|
+
const recordedStrategy = state?.strategy || "local-ff";
|
|
7728
|
+
const recordedIntegratedCommit = state?.integratedCommit || state?.mergedBaseTip || null;
|
|
7729
|
+
const baseContainsRecordedIntegration = !!recordedIntegratedCommit && isAncestor(
|
|
7730
|
+
projectRoot,
|
|
7731
|
+
recordedIntegratedCommit,
|
|
7732
|
+
`refs/heads/${baseBranch}`
|
|
7733
|
+
);
|
|
7734
|
+
const cleanedIntegrationStillValid = state?.status === "cleaned" && recordedStrategy === completionStrategy && state.featureTip === featureTip && baseContainsRecordedIntegration && (completionStrategy === "local-squash" ? state.integratedCommit === recordedIntegratedCommit && state.integratedTree === featureTree && squashEvidencePresent : state.mergedBaseTip === featureTip && baseContainsFeature);
|
|
7727
7735
|
return {
|
|
7728
7736
|
projectRoot,
|
|
7729
7737
|
featureWorktree: effectiveFeatureWorktree,
|
|
@@ -7738,6 +7746,7 @@ async function resolveLocalIntegrationContext(config, feature) {
|
|
|
7738
7746
|
completionStrategy,
|
|
7739
7747
|
baseContainsFeature,
|
|
7740
7748
|
integrationComplete: completionStrategy === "local-squash" ? squashIntegrationComplete : !!featureTip && baseTip === featureTip,
|
|
7749
|
+
cleanedIntegrationStillValid,
|
|
7741
7750
|
evidenceRef,
|
|
7742
7751
|
squashCommitMatchesSource,
|
|
7743
7752
|
squashEvidencePresent,
|
|
@@ -9231,6 +9240,19 @@ Task commit boundary warning: ${describeTaskCommitGateFailure(committedTaskGate)
|
|
|
9231
9240
|
const localState = await resolveLocalIntegrationContext(config, feature);
|
|
9232
9241
|
const localVerifyCommand = `npx lee-spec-kit local verify ${buildFeatureArgs(feature)} --json`;
|
|
9233
9242
|
const localMergeBaseCommand = `npx lee-spec-kit local merge ${buildFeatureArgs(feature)} --json`;
|
|
9243
|
+
if (localState.cleanedIntegrationStillValid) {
|
|
9244
|
+
return {
|
|
9245
|
+
status: "ok",
|
|
9246
|
+
reasonCode: "WORKFLOW_STAGE_RESOLVED",
|
|
9247
|
+
docsDir: config.docsDir,
|
|
9248
|
+
featureRef: buildFeatureRef(feature),
|
|
9249
|
+
stage: "done",
|
|
9250
|
+
nextAction: null,
|
|
9251
|
+
approvalRequired: false,
|
|
9252
|
+
implementationAllowed: false,
|
|
9253
|
+
blockedReasonCode: null
|
|
9254
|
+
};
|
|
9255
|
+
}
|
|
9234
9256
|
if (!localState.integrationComplete) {
|
|
9235
9257
|
const featureVerified = !!localState.state && ["feature_verified", "merged", "verified", "cleaned"].includes(
|
|
9236
9258
|
localState.state.status
|