@lumenflow/cli 4.24.0 → 5.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/README.md +54 -52
- package/dist/agent-issues-query.js +10 -2
- package/dist/agent-issues-query.js.map +1 -1
- package/dist/agent-runtime-enrollment-events.js +44 -0
- package/dist/agent-runtime-enrollment-events.js.map +1 -0
- package/dist/agent-session-end.js +47 -0
- package/dist/agent-session-end.js.map +1 -1
- package/dist/agent-session-heartbeat.js +250 -0
- package/dist/agent-session-heartbeat.js.map +1 -0
- package/dist/agent-session.js +299 -5
- package/dist/agent-session.js.map +1 -1
- package/dist/capacity-snapshot-emitter.js +73 -0
- package/dist/capacity-snapshot-emitter.js.map +1 -0
- package/dist/claim-queue.js +276 -0
- package/dist/claim-queue.js.map +1 -0
- package/dist/config-set.js +22 -3
- package/dist/config-set.js.map +1 -1
- package/dist/control-plane-sidecar-runner.js +145 -0
- package/dist/control-plane-sidecar-runner.js.map +1 -0
- package/dist/delegation-list.js +160 -1
- package/dist/delegation-list.js.map +1 -1
- package/dist/delegation-role-resolver.js +69 -0
- package/dist/delegation-role-resolver.js.map +1 -0
- package/dist/docs-generate-pack-reference.js +500 -0
- package/dist/docs-generate-pack-reference.js.map +1 -0
- package/dist/docs-sync.js +116 -1
- package/dist/docs-sync.js.map +1 -1
- package/dist/file-edit.js +28 -8
- package/dist/file-edit.js.map +1 -1
- package/dist/file-write.js +29 -5
- package/dist/file-write.js.map +1 -1
- package/dist/gate-co-change.js +25 -7
- package/dist/gate-co-change.js.map +1 -1
- package/dist/gate-conditional.js +19 -7
- package/dist/gate-conditional.js.map +1 -1
- package/dist/gates-runners.js +42 -33
- package/dist/gates-runners.js.map +1 -1
- package/dist/gates-utils.js +34 -20
- package/dist/gates-utils.js.map +1 -1
- package/dist/gates.js +79 -7
- package/dist/gates.js.map +1 -1
- package/dist/hooks/config-resolver.js +10 -1
- package/dist/hooks/config-resolver.js.map +1 -1
- package/dist/init-package-config.js +1 -1
- package/dist/init-package-config.js.map +1 -1
- package/dist/init-scaffolding.js +5 -1
- package/dist/init-scaffolding.js.map +1 -1
- package/dist/init-templates.js +10 -0
- package/dist/init-templates.js.map +1 -1
- package/dist/init.js +1 -1
- package/dist/init.js.map +1 -1
- package/dist/initiative-create.js +17 -0
- package/dist/initiative-create.js.map +1 -1
- package/dist/initiative-remove-wu.js +17 -3
- package/dist/initiative-remove-wu.js.map +1 -1
- package/dist/kernel-event-sync/emitters.js +104 -0
- package/dist/kernel-event-sync/emitters.js.map +1 -0
- package/dist/kernel-event-sync/index.js +13 -0
- package/dist/kernel-event-sync/index.js.map +1 -0
- package/dist/kernel-event-sync/lifecycle-emitters.js +160 -0
- package/dist/kernel-event-sync/lifecycle-emitters.js.map +1 -0
- package/dist/kernel-event-sync/narrow-emissions.js +89 -0
- package/dist/kernel-event-sync/narrow-emissions.js.map +1 -0
- package/dist/kernel-event-sync/software-delivery-emitters.js +297 -0
- package/dist/kernel-event-sync/software-delivery-emitters.js.map +1 -0
- package/dist/lane-lock.js +14 -1
- package/dist/lane-lock.js.map +1 -1
- package/dist/lane-suggest.js +21 -0
- package/dist/lane-suggest.js.map +1 -1
- package/dist/lumenflow-upgrade.js +7 -5
- package/dist/lumenflow-upgrade.js.map +1 -1
- package/dist/mem-context.js +145 -0
- package/dist/mem-context.js.map +1 -1
- package/dist/mem-create.js +39 -6
- package/dist/mem-create.js.map +1 -1
- package/dist/mem-inbox.js +16 -0
- package/dist/mem-inbox.js.map +1 -1
- package/dist/mem-roster.js +95 -0
- package/dist/mem-roster.js.map +1 -0
- package/dist/mem-signal.js +97 -2
- package/dist/mem-signal.js.map +1 -1
- package/dist/metrics-snapshot.js +3 -2
- package/dist/metrics-snapshot.js.map +1 -1
- package/dist/orchestrate-init-status.js +117 -2
- package/dist/orchestrate-init-status.js.map +1 -1
- package/dist/orchestrate-initiative.js +83 -10
- package/dist/orchestrate-initiative.js.map +1 -1
- package/dist/orchestrate-monitor-quality.js +289 -0
- package/dist/orchestrate-monitor-quality.js.map +1 -0
- package/dist/orchestrate-monitor.js +85 -0
- package/dist/orchestrate-monitor.js.map +1 -1
- package/dist/pack-validate.js +127 -2
- package/dist/pack-validate.js.map +1 -1
- package/dist/plan-create.js +18 -0
- package/dist/plan-create.js.map +1 -1
- package/dist/plan-link.js +13 -0
- package/dist/plan-link.js.map +1 -1
- package/dist/plan-promote.js +14 -0
- package/dist/plan-promote.js.map +1 -1
- package/dist/pre-commit-check.js +4 -3
- package/dist/pre-commit-check.js.map +1 -1
- package/dist/public-manifest.js +17 -3
- package/dist/public-manifest.js.map +1 -1
- package/dist/release.js +10 -10
- package/dist/release.js.map +1 -1
- package/dist/session-cross-link.js +139 -0
- package/dist/session-cross-link.js.map +1 -0
- package/dist/sidecar-manager.js +208 -0
- package/dist/sidecar-manager.js.map +1 -0
- package/dist/state-path-resolvers.js +18 -0
- package/dist/state-path-resolvers.js.map +1 -1
- package/dist/stream-heartbeat.js +151 -0
- package/dist/stream-heartbeat.js.map +1 -0
- package/dist/sync-templates.js +56 -2
- package/dist/sync-templates.js.map +1 -1
- package/dist/wu-block.js +47 -5
- package/dist/wu-block.js.map +1 -1
- package/dist/wu-claim-branch.js +8 -4
- package/dist/wu-claim-branch.js.map +1 -1
- package/dist/wu-claim-state.js +5 -3
- package/dist/wu-claim-state.js.map +1 -1
- package/dist/wu-claim-worktree.js +5 -3
- package/dist/wu-claim-worktree.js.map +1 -1
- package/dist/wu-claim.js +261 -9
- package/dist/wu-claim.js.map +1 -1
- package/dist/wu-done-auto-cleanup.js +3 -2
- package/dist/wu-done-auto-cleanup.js.map +1 -1
- package/dist/wu-done-git-ops.js +12 -8
- package/dist/wu-done-git-ops.js.map +1 -1
- package/dist/wu-done-preflight.js +3 -3
- package/dist/wu-done-preflight.js.map +1 -1
- package/dist/wu-done.js +46 -10
- package/dist/wu-done.js.map +1 -1
- package/dist/wu-lifecycle-sync/gate-scope-resolver.js +16 -0
- package/dist/wu-lifecycle-sync/gate-scope-resolver.js.map +1 -0
- package/dist/wu-lifecycle-sync/kernel-event-sync-shim.js +10 -0
- package/dist/wu-lifecycle-sync/kernel-event-sync-shim.js.map +1 -0
- package/dist/wu-prep.js +363 -22
- package/dist/wu-prep.js.map +1 -1
- package/dist/wu-prune.js +68 -27
- package/dist/wu-prune.js.map +1 -1
- package/dist/wu-release.js +34 -3
- package/dist/wu-release.js.map +1 -1
- package/dist/wu-review.js +167 -0
- package/dist/wu-review.js.map +1 -0
- package/dist/wu-spawn-prompt-builders.js +296 -40
- package/dist/wu-spawn-prompt-builders.js.map +1 -1
- package/dist/wu-spawn-strategy-resolver.js +126 -14
- package/dist/wu-spawn-strategy-resolver.js.map +1 -1
- package/dist/wu-unblock.js +52 -22
- package/dist/wu-unblock.js.map +1 -1
- package/package.json +13 -8
- package/packs/agent-runtime/.turbo/turbo-build.log +1 -1
- package/packs/agent-runtime/.turbo/turbo-test.log +25 -0
- package/packs/agent-runtime/.turbo/turbo-typecheck.log +4 -0
- package/packs/agent-runtime/agent-heartbeat.ts +163 -0
- package/packs/agent-runtime/auto-session-integration.ts +874 -0
- package/packs/agent-runtime/delegation-registry-schema.ts +220 -0
- package/packs/agent-runtime/delegation-registry-store.ts +269 -0
- package/packs/agent-runtime/delegation-tree.ts +328 -0
- package/packs/agent-runtime/index.ts +9 -0
- package/packs/agent-runtime/manifest.ts +103 -19
- package/packs/agent-runtime/manifest.yaml +132 -0
- package/packs/agent-runtime/memory-coordination-contract.ts +86 -0
- package/packs/agent-runtime/memory.d.ts +19 -0
- package/packs/agent-runtime/orchestration.ts +238 -23
- package/packs/agent-runtime/package.json +11 -2
- package/packs/agent-runtime/remote-controls/index.ts +7 -0
- package/packs/agent-runtime/remote-controls/operations.ts +399 -0
- package/packs/agent-runtime/remote-controls/port.ts +48 -0
- package/packs/agent-runtime/remote-controls/state-store.ts +258 -0
- package/packs/agent-runtime/remote-controls/types.ts +105 -0
- package/packs/agent-runtime/session-schema.ts +423 -0
- package/packs/agent-runtime/tool-impl/index.ts +1 -0
- package/packs/agent-runtime/tool-impl/remote-controls.mock.ts +252 -0
- package/packs/agent-runtime/tool-impl/remote-controls.ts +273 -0
- package/packs/agent-runtime/tsconfig.json +1 -1
- package/packs/agent-runtime/turn-lifecycle-events.ts +501 -0
- package/packs/sidekick/.lumenflow/state/conductor/outbox/sidekick-events.jsonl +213 -0
- package/packs/sidekick/.turbo/turbo-build.log +1 -1
- package/packs/sidekick/.turbo/turbo-test.log +25 -0
- package/packs/sidekick/.turbo/turbo-typecheck.log +4 -0
- package/packs/sidekick/channel-ingress.ts +137 -0
- package/packs/sidekick/manifest.ts +74 -0
- package/packs/sidekick/manifest.yaml +88 -0
- package/packs/sidekick/package.json +3 -1
- package/packs/sidekick/sidekick-events.ts +517 -0
- package/packs/sidekick/src/adapters/cloud-queue.ts +101 -0
- package/packs/sidekick/src/adapters/control-plane-bridge.adapter.ts +378 -0
- package/packs/sidekick/src/adapters/filesystem-bridge.adapter.ts +224 -0
- package/packs/sidekick/src/domain/channel.types.ts +84 -0
- package/packs/sidekick/src/ports/channel-bridge.port.ts +75 -0
- package/packs/sidekick/src/routines/commit.ts +74 -0
- package/packs/sidekick/tool-impl/channel-tools.ts +47 -0
- package/packs/sidekick/tool-impl/memory-tools.ts +17 -0
- package/packs/sidekick/tool-impl/routine-commit.ts +102 -0
- package/packs/sidekick/tool-impl/routine-tools.ts +67 -7
- package/packs/sidekick/tool-impl/runtime-context.ts +4 -0
- package/packs/sidekick/tool-impl/storage.ts +3 -0
- package/packs/sidekick/tool-impl/system-tools.ts +7 -0
- package/packs/sidekick/tool-impl/task-tools.ts +46 -0
- package/packs/sidekick/tsconfig.json +1 -1
- package/packs/software-delivery/.turbo/turbo-build.log +1 -1
- package/packs/software-delivery/.turbo/turbo-test.log +63 -0
- package/packs/software-delivery/.turbo/turbo-typecheck.log +4 -0
- package/packs/software-delivery/manifest-schema.ts +30 -0
- package/packs/software-delivery/manifest.ts +99 -1
- package/packs/software-delivery/manifest.yaml +46 -0
- package/packs/software-delivery/package.json +88 -3
- package/packs/software-delivery/src/commands/index.ts +5 -0
- package/packs/software-delivery/src/config/delivery-review-contract.ts +20 -0
- package/packs/software-delivery/src/config/env-accessors.ts +19 -0
- package/packs/software-delivery/src/config/index.ts +8 -0
- package/packs/software-delivery/src/config/normalize-config-keys.ts +19 -0
- package/packs/software-delivery/src/config/schemas/lumenflow-config-schema-types.ts +436 -0
- package/packs/software-delivery/src/config/workspace-reader.ts +310 -0
- package/packs/software-delivery/src/constants/backlog-patterns.ts +31 -0
- package/packs/software-delivery/src/constants/client-ids.ts +19 -0
- package/packs/software-delivery/src/constants/config-contract.ts +7 -0
- package/packs/software-delivery/src/constants/docs-layout-presets.ts +50 -0
- package/packs/software-delivery/src/constants/duration-constants.ts +20 -0
- package/packs/software-delivery/src/constants/gate-constants.ts +32 -0
- package/packs/software-delivery/src/constants/index.ts +29 -0
- package/packs/software-delivery/src/constants/lock-constants.ts +35 -0
- package/packs/software-delivery/src/constants/object-guards.ts +12 -0
- package/packs/software-delivery/src/constants/section-headings.ts +107 -0
- package/packs/software-delivery/src/constants/wu-cli-constants.ts +485 -0
- package/packs/software-delivery/src/constants/wu-domain-constants.ts +466 -0
- package/packs/software-delivery/src/constants/wu-git-constants.ts +7 -0
- package/packs/software-delivery/src/constants/wu-id-format.ts +327 -0
- package/packs/software-delivery/src/constants/wu-paths-constants.ts +358 -0
- package/packs/software-delivery/src/constants/wu-statuses.ts +287 -0
- package/packs/software-delivery/src/constants/wu-type-helpers.ts +67 -0
- package/packs/software-delivery/src/constants/wu-ui-constants.ts +267 -0
- package/packs/software-delivery/src/constants/wu-validation-constants.ts +73 -0
- package/packs/software-delivery/src/domain/index.ts +5 -0
- package/packs/software-delivery/src/domain/orchestration.constants.ts +168 -0
- package/packs/software-delivery/src/domain/orchestration.schemas.ts +239 -0
- package/packs/software-delivery/src/domain/orchestration.types.ts +178 -0
- package/packs/software-delivery/src/methodology/incremental-test.ts +90 -0
- package/packs/software-delivery/src/methodology/index.ts +6 -0
- package/packs/software-delivery/src/methodology/manual-test-validator.ts +292 -0
- package/packs/software-delivery/src/policy/coverage-gate.ts +270 -0
- package/packs/software-delivery/src/policy/gates-agent-mode.ts +223 -0
- package/packs/software-delivery/src/policy/gates-config-internal.ts +121 -0
- package/packs/software-delivery/src/policy/gates-config.ts +293 -0
- package/packs/software-delivery/src/policy/gates-coverage.ts +247 -0
- package/packs/software-delivery/src/policy/gates-presets.ts +134 -0
- package/packs/software-delivery/src/policy/gates-schemas.ts +173 -0
- package/packs/software-delivery/src/policy/index.ts +22 -0
- package/packs/software-delivery/src/policy/package-manager-resolver.ts +319 -0
- package/packs/software-delivery/src/policy/resolve-policy.ts +518 -0
- package/packs/software-delivery/src/ports/config.ports.ts +90 -0
- package/packs/software-delivery/src/ports/dashboard-renderer.port.ts +125 -0
- package/packs/software-delivery/src/ports/index.ts +10 -0
- package/packs/software-delivery/src/ports/sync-validator.ports.ts +59 -0
- package/packs/software-delivery/src/ports/wu-helpers.ports.ts +168 -0
- package/packs/software-delivery/src/ports/wu-state.ports.ts +241 -0
- package/packs/software-delivery/src/primitives/index.ts +5 -0
- package/packs/software-delivery/src/runtime/index.ts +6 -0
- package/packs/software-delivery/src/runtime/work-classifier.ts +561 -0
- package/packs/software-delivery/src/sandbox/index.ts +10 -0
- package/packs/software-delivery/src/sandbox/sandbox-allowlist.ts +118 -0
- package/packs/software-delivery/src/sandbox/sandbox-backend-linux.ts +88 -0
- package/packs/software-delivery/src/sandbox/sandbox-backend-macos.ts +154 -0
- package/packs/software-delivery/src/sandbox/sandbox-backend-windows.ts +47 -0
- package/packs/software-delivery/src/sandbox/sandbox-profile.ts +153 -0
- package/packs/software-delivery/src/schemas/index.ts +5 -0
- package/packs/software-delivery/src/state/date-utils.ts +158 -0
- package/packs/software-delivery/src/state/index.ts +15 -0
- package/packs/software-delivery/src/state/state-machine.ts +119 -0
- package/packs/software-delivery/src/state/wu-doc-types.ts +51 -0
- package/packs/software-delivery/src/state/wu-paths.ts +381 -0
- package/packs/software-delivery/src/state/wu-schema.ts +1139 -0
- package/packs/software-delivery/src/state/wu-state-schema.ts +255 -0
- package/packs/software-delivery/src/state/wu-yaml.ts +338 -0
- package/packs/software-delivery/src/types.d.ts +16 -0
- package/packs/software-delivery/tool-impl/wu-lifecycle-tools.ts +18 -0
- package/packs/software-delivery/tsconfig.json +28 -2
- package/templates/core/AGENTS.md.template +76 -17
- package/templates/core/LUMENFLOW.md.template +265 -66
- package/templates/core/_frameworks/lumenflow/wu-sizing-guide.md.template +180 -116
- package/templates/core/ai/onboarding/agent-invocation-guide.md.template +26 -8
- package/templates/core/ai/onboarding/existing-project-bootstrap.md.template +171 -0
- package/templates/core/ai/onboarding/first-15-mins.md.template +3 -1
- package/templates/core/ai/onboarding/first-wu-mistakes.md.template +1 -1
- package/templates/core/ai/onboarding/initiative-orchestration.md.template +46 -30
- package/templates/core/ai/onboarding/quick-ref-commands.md.template +36 -33
- package/templates/core/ai/onboarding/release-process.md.template +8 -7
- package/templates/core/ai/onboarding/starting-prompt.md.template +2 -0
- package/templates/core/ai/onboarding/troubleshooting-wu-done.md.template +62 -0
- package/templates/vendors/claude/.claude/CLAUDE.md.template +29 -54
- package/templates/vendors/cursor/.cursor/rules/lumenflow.md.template +24 -52
- package/templates/vendors/windsurf/.windsurf/rules/lumenflow.md.template +24 -52
package/dist/wu-prep.js
CHANGED
|
@@ -42,22 +42,36 @@ import { readWU } from '@lumenflow/core/wu-yaml';
|
|
|
42
42
|
import { WU_PATHS } from '@lumenflow/core/wu-paths';
|
|
43
43
|
import { createGitForPath } from '@lumenflow/core/git-adapter';
|
|
44
44
|
import { TEST_FILE_PATTERNS } from '@lumenflow/core';
|
|
45
|
-
import { resolveChangedFiles, isCodePathCoveredByChangedFiles, } from '@lumenflow/core/wu-rules-engine';
|
|
45
|
+
import { resolveChangedFiles, isCodePathCoveredByChangedFiles, resolveBaseRef, } from '@lumenflow/core/wu-rules-engine';
|
|
46
46
|
import { validatePreflight, formatPreflightResult, formatPreflightWarnings, } from '@lumenflow/core/wu-preflight-validators';
|
|
47
47
|
import { CONTEXT_VALIDATION, PATTERNS, EXIT_CODES, WU_STATUS, EMOJI, CLAIMED_MODES, } from '@lumenflow/core/wu-constants';
|
|
48
48
|
import { defaultBranchFrom } from '@lumenflow/core/wu-done-paths';
|
|
49
49
|
import { getCurrentBranch } from '@lumenflow/core/wu-helpers';
|
|
50
50
|
import { createPreGatesCheckpoint } from '@lumenflow/core/wu-checkpoint';
|
|
51
|
-
import { resolveTddDiffEvidencePolicy, resolveScopedUnitTestExecutionPlan, formatScopedUnitTestFallbackMessage, } from '@lumenflow/
|
|
51
|
+
import { resolveTddDiffEvidencePolicy, resolveTddOrderingPolicy, resolveScopedUnitTestExecutionPlan, formatScopedUnitTestFallbackMessage, } from '@lumenflow/packs-software-delivery/policy/gates-config';
|
|
52
52
|
import { runGates } from './gates.js';
|
|
53
53
|
import { evaluateMainDirtyMutationGuard } from './hooks/dirty-guard.js';
|
|
54
54
|
import { enforceWuBriefEvidenceForPrep, resolveWuBriefFreshnessMinutes, resolveWuBriefPolicyMode, } from './wu-done-policies.js';
|
|
55
|
+
import { resolveScopedUnitTestsForLifecycle } from './wu-lifecycle-sync/gate-scope-resolver.js';
|
|
55
56
|
export { isCodePathCoveredByChanges, findMissingCodePathCoverage, checkCodePathCoverageBeforeGates, formatCodePathCoverageFailure, } from './wu-code-path-coverage.js';
|
|
56
57
|
const { LOCATION_TYPES } = CONTEXT_VALIDATION;
|
|
57
58
|
const TDD_EXCEPTION_MARKER = 'tdd-exception:';
|
|
58
59
|
const CHANGED_FILES_EMPTY = ' - (none)';
|
|
59
60
|
const AUTOMATED_TEST_DIFF_EVIDENCE_LABEL = 'automated test diff evidence';
|
|
60
61
|
const GLOB_MATCH_OPTIONS = { dot: true };
|
|
62
|
+
const BOOTSTRAP_TRAP_FIX_WU_PLACEHOLDER = 'WU-XXXX';
|
|
63
|
+
const BOOTSTRAP_TRAP_PACKAGE_EXPORT_SKIP_REASON = 'bootstrap-trap: pack file moves cause wu:prep cross-module resolution; worktree build green';
|
|
64
|
+
const BOOTSTRAP_TRAP_PACKAGE_EXPORT_PATTERNS = [
|
|
65
|
+
/ERR_PACKAGE_PATH_NOT_EXPORTED/i,
|
|
66
|
+
/Package subpath ['"`][^'"`]+['"`] is not defined by "exports"/i,
|
|
67
|
+
];
|
|
68
|
+
const BOOTSTRAP_TRAP_DEPENDENCY_CYCLE_PATTERNS = [
|
|
69
|
+
/Invalid package dependency graph/i,
|
|
70
|
+
/\bcyclic dependency\b/i,
|
|
71
|
+
/\bdependency cycle\b/i,
|
|
72
|
+
/\bturbo cycle\b/i,
|
|
73
|
+
];
|
|
74
|
+
const SCOPED_UNIT_TEST_COMPARISON_TIMEOUT_MS = 90_000;
|
|
61
75
|
/**
|
|
62
76
|
* Log prefix for wu:prep command output.
|
|
63
77
|
*/
|
|
@@ -80,19 +94,7 @@ const PREP_OPTIONS = {
|
|
|
80
94
|
force: WU_OPTIONS.force,
|
|
81
95
|
reason: WU_OPTIONS.reason,
|
|
82
96
|
};
|
|
83
|
-
export
|
|
84
|
-
if (options.fullTests) {
|
|
85
|
-
return [];
|
|
86
|
-
}
|
|
87
|
-
const unitTestsRaw = options.tests?.unit;
|
|
88
|
-
if (!Array.isArray(unitTestsRaw)) {
|
|
89
|
-
return [];
|
|
90
|
-
}
|
|
91
|
-
return unitTestsRaw
|
|
92
|
-
.filter((entry) => typeof entry === 'string')
|
|
93
|
-
.map((entry) => entry.trim())
|
|
94
|
-
.filter(Boolean);
|
|
95
|
-
}
|
|
97
|
+
export const resolveScopedUnitTestsForPrep = resolveScopedUnitTestsForLifecycle;
|
|
96
98
|
export function buildRunGatesOptionsForPrep(options) {
|
|
97
99
|
return {
|
|
98
100
|
cwd: options.cwd,
|
|
@@ -247,6 +249,225 @@ export function formatTddDiffEvidenceFailure(options) {
|
|
|
247
249
|
` 2. If this change is intentionally exempt, document it in WU notes with:\n` +
|
|
248
250
|
` ${TDD_EXCEPTION_MARKER} <reason>`);
|
|
249
251
|
}
|
|
252
|
+
/**
|
|
253
|
+
* Default branch-commit resolver: reads `git log --numstat base..HEAD`.
|
|
254
|
+
*
|
|
255
|
+
* Returns commits in chronological order (oldest first) — the natural order
|
|
256
|
+
* for enforcing RED-first ordering. Uses `--reverse` so the output matches
|
|
257
|
+
* commit authorship order on the branch.
|
|
258
|
+
*/
|
|
259
|
+
async function defaultResolveBranchCommits(options) {
|
|
260
|
+
const baseRef = await resolveBaseRef({ cwd: options.cwd });
|
|
261
|
+
if (!baseRef) {
|
|
262
|
+
return { ok: false, reason: 'base ref unavailable (origin/main or main)' };
|
|
263
|
+
}
|
|
264
|
+
const headRef = 'HEAD';
|
|
265
|
+
const git = createGitForPath(options.cwd);
|
|
266
|
+
try {
|
|
267
|
+
const raw = await git.raw([
|
|
268
|
+
'log',
|
|
269
|
+
`${baseRef}..${headRef}`,
|
|
270
|
+
'--reverse',
|
|
271
|
+
'--numstat',
|
|
272
|
+
'--format=__WU_COMMIT__%H%x09%s',
|
|
273
|
+
'--no-merges',
|
|
274
|
+
]);
|
|
275
|
+
return { ok: true, commits: parseBranchCommits(raw), baseRef, headRef };
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
return { ok: false, reason: error instanceof Error ? error.message : String(error) };
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Parse the output of `git log --numstat --format=__WU_COMMIT__<hash>\t<subject>`.
|
|
283
|
+
*
|
|
284
|
+
* Numstat line format: `<added>\t<deleted>\t<path>` where added/deleted may be
|
|
285
|
+
* `-` for binary files.
|
|
286
|
+
*/
|
|
287
|
+
export function parseBranchCommits(raw) {
|
|
288
|
+
const commits = [];
|
|
289
|
+
const lines = raw.split('\n');
|
|
290
|
+
let current = null;
|
|
291
|
+
for (const rawLine of lines) {
|
|
292
|
+
const line = rawLine.trimEnd();
|
|
293
|
+
if (line.startsWith('__WU_COMMIT__')) {
|
|
294
|
+
if (current) {
|
|
295
|
+
commits.push(current);
|
|
296
|
+
}
|
|
297
|
+
const header = line.slice('__WU_COMMIT__'.length);
|
|
298
|
+
const tab = header.indexOf('\t');
|
|
299
|
+
const hash = tab === -1 ? header : header.slice(0, tab);
|
|
300
|
+
const subject = tab === -1 ? '' : header.slice(tab + 1);
|
|
301
|
+
current = { hash, subject, files: [] };
|
|
302
|
+
continue;
|
|
303
|
+
}
|
|
304
|
+
if (!current || line.length === 0) {
|
|
305
|
+
continue;
|
|
306
|
+
}
|
|
307
|
+
const parts = line.split('\t');
|
|
308
|
+
if (parts.length < 3) {
|
|
309
|
+
continue;
|
|
310
|
+
}
|
|
311
|
+
const [addedRaw, deletedRaw, ...pathParts] = parts;
|
|
312
|
+
const filePath = pathParts.join('\t');
|
|
313
|
+
const added = addedRaw === '-' ? 0 : parseInt(addedRaw, 10);
|
|
314
|
+
const deleted = deletedRaw === '-' ? 0 : parseInt(deletedRaw, 10);
|
|
315
|
+
if (Number.isNaN(added) || Number.isNaN(deleted) || !filePath) {
|
|
316
|
+
continue;
|
|
317
|
+
}
|
|
318
|
+
current.files.push({ path: filePath, added, deleted });
|
|
319
|
+
}
|
|
320
|
+
if (current) {
|
|
321
|
+
commits.push(current);
|
|
322
|
+
}
|
|
323
|
+
return commits;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* True when a commit subject introduces runtime behaviour (feat or fix).
|
|
327
|
+
* Uses the standard Conventional Commits prefixes; scope is optional.
|
|
328
|
+
*/
|
|
329
|
+
function isRuntimeIntroducingCommit(subject) {
|
|
330
|
+
const trimmed = subject.trim().toLowerCase();
|
|
331
|
+
const prefix = trimmed.startsWith('feat') ? 'feat' : trimmed.startsWith('fix') ? 'fix' : null;
|
|
332
|
+
if (!prefix) {
|
|
333
|
+
return false;
|
|
334
|
+
}
|
|
335
|
+
const remainder = trimmed.slice(prefix.length);
|
|
336
|
+
if (remainder.startsWith(':') || remainder.startsWith('!:')) {
|
|
337
|
+
return true;
|
|
338
|
+
}
|
|
339
|
+
if (!remainder.startsWith('(')) {
|
|
340
|
+
return false;
|
|
341
|
+
}
|
|
342
|
+
const scopeEndIndex = remainder.indexOf(')');
|
|
343
|
+
if (scopeEndIndex <= 1) {
|
|
344
|
+
return false;
|
|
345
|
+
}
|
|
346
|
+
const afterScope = remainder.slice(scopeEndIndex + 1);
|
|
347
|
+
return afterScope.startsWith(':') || afterScope.startsWith('!:');
|
|
348
|
+
}
|
|
349
|
+
function isCommitFileExempt(filePath, exemptPaths) {
|
|
350
|
+
if (exemptPaths.length === 0) {
|
|
351
|
+
return false;
|
|
352
|
+
}
|
|
353
|
+
const normalized = filePath.replace(/\\/g, '/');
|
|
354
|
+
return exemptPaths.some((pattern) => minimatch(normalized, pattern, GLOB_MATCH_OPTIONS));
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* WU-2650: Evaluate whether the branch's commit order satisfies the RED-first
|
|
358
|
+
* policy. Mirrors `evaluateTddDiffEvidenceForPrep`:
|
|
359
|
+
*
|
|
360
|
+
* 1. Skip if WU type is not covered by the resolved policy (applies_to_types)
|
|
361
|
+
* or mode !== 'block'.
|
|
362
|
+
* 2. Honour a `tdd-exception:` marker in notes.
|
|
363
|
+
* 3. Walk commits in chronological order. If a feat/fix commit adds more than
|
|
364
|
+
* min_runtime_loc_per_commit_without_tests of non-exempt, non-test LOC and
|
|
365
|
+
* no earlier (or same) commit within the grace window touched a test file,
|
|
366
|
+
* flag that commit.
|
|
367
|
+
*/
|
|
368
|
+
export async function evaluateCommitOrderForPrep(options) {
|
|
369
|
+
const { doc } = options;
|
|
370
|
+
const policy = resolveTddOrderingPolicy(options.cwd);
|
|
371
|
+
if (policy.mode !== 'block') {
|
|
372
|
+
return { valid: true, reason: 'not-applicable' };
|
|
373
|
+
}
|
|
374
|
+
if (typeof doc.type !== 'string' ||
|
|
375
|
+
!policy.applies_to_types.some((wuType) => wuType === doc.type)) {
|
|
376
|
+
return { valid: true, reason: 'not-applicable' };
|
|
377
|
+
}
|
|
378
|
+
if (hasDocumentedTddException(doc.notes)) {
|
|
379
|
+
return { valid: true, reason: 'documented-exception' };
|
|
380
|
+
}
|
|
381
|
+
const resolveCommitsFn = options.resolveBranchCommitsFn ?? defaultResolveBranchCommits;
|
|
382
|
+
const commitsResult = await resolveCommitsFn({ cwd: options.cwd });
|
|
383
|
+
if (!commitsResult.ok) {
|
|
384
|
+
return {
|
|
385
|
+
valid: false,
|
|
386
|
+
reason: 'branch-commits-unavailable',
|
|
387
|
+
diffReason: commitsResult.reason,
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
// Commits arrive chronological (oldest first) — the default resolver uses
|
|
391
|
+
// `git log --reverse` so earlier commits are inspected before later ones.
|
|
392
|
+
const commitsChronological = commitsResult.commits;
|
|
393
|
+
let testsSeenBeforeIndex = -1;
|
|
394
|
+
for (let i = 0; i < commitsChronological.length; i++) {
|
|
395
|
+
const commit = commitsChronological[i];
|
|
396
|
+
const hasTestInThisCommit = commit.files.some((file) => isTestFileFromDiff(file.path));
|
|
397
|
+
if (hasTestInThisCommit && testsSeenBeforeIndex === -1) {
|
|
398
|
+
testsSeenBeforeIndex = i;
|
|
399
|
+
}
|
|
400
|
+
if (!isRuntimeIntroducingCommit(commit.subject)) {
|
|
401
|
+
continue;
|
|
402
|
+
}
|
|
403
|
+
// Count non-test, non-exempt runtime LOC added in this commit.
|
|
404
|
+
const runtimeAdded = commit.files.reduce((sum, file) => {
|
|
405
|
+
if (isTestFileFromDiff(file.path))
|
|
406
|
+
return sum;
|
|
407
|
+
if (isCommitFileExempt(file.path, policy.exempt_paths))
|
|
408
|
+
return sum;
|
|
409
|
+
return sum + file.added;
|
|
410
|
+
}, 0);
|
|
411
|
+
if (runtimeAdded < policy.min_runtime_loc_per_commit_without_tests) {
|
|
412
|
+
continue;
|
|
413
|
+
}
|
|
414
|
+
// Ordering is OK when:
|
|
415
|
+
// - this commit itself contains test files (interleaved), OR
|
|
416
|
+
// - tests were first seen in an earlier commit, OR
|
|
417
|
+
// - this commit is within the configured grace window from branch start.
|
|
418
|
+
const testsSeenEarlier = testsSeenBeforeIndex !== -1 && testsSeenBeforeIndex <= i;
|
|
419
|
+
const inGraceWindow = i < policy.grace_commits;
|
|
420
|
+
if (hasTestInThisCommit || testsSeenEarlier || inGraceWindow) {
|
|
421
|
+
continue;
|
|
422
|
+
}
|
|
423
|
+
const testFilesInCommit = commit.files.filter((file) => isTestFileFromDiff(file.path)).length;
|
|
424
|
+
return {
|
|
425
|
+
valid: false,
|
|
426
|
+
reason: 'tests-after-detected',
|
|
427
|
+
baseRef: commitsResult.baseRef,
|
|
428
|
+
headRef: commitsResult.headRef,
|
|
429
|
+
offendingCommit: {
|
|
430
|
+
hash: commit.hash,
|
|
431
|
+
subject: commit.subject,
|
|
432
|
+
runtimeAdded,
|
|
433
|
+
testFilesInCommit,
|
|
434
|
+
},
|
|
435
|
+
};
|
|
436
|
+
}
|
|
437
|
+
return {
|
|
438
|
+
valid: true,
|
|
439
|
+
reason: 'ordering-ok',
|
|
440
|
+
baseRef: commitsResult.baseRef,
|
|
441
|
+
headRef: commitsResult.headRef,
|
|
442
|
+
};
|
|
443
|
+
}
|
|
444
|
+
export function formatTddOrderingFailure(options) {
|
|
445
|
+
const { wuId, wuType, result } = options;
|
|
446
|
+
if (result.reason === 'branch-commits-unavailable') {
|
|
447
|
+
return (`${EMOJI.FAILURE} commit-order check failed for ${wuId}.\n\n` +
|
|
448
|
+
`Unable to enumerate branch commits: ${result.diffReason || 'unknown git error'}\n\n` +
|
|
449
|
+
`Fix options:\n` +
|
|
450
|
+
` 1. Ensure base ref is available (origin/main or main)\n` +
|
|
451
|
+
` 2. Retry: pnpm wu:prep --id ${wuId}`);
|
|
452
|
+
}
|
|
453
|
+
const typeLabel = typeof wuType === 'string' && wuType.trim().length > 0 ? `${wuType} WUs` : 'This WU';
|
|
454
|
+
const offending = result.offendingCommit;
|
|
455
|
+
const commitLine = offending
|
|
456
|
+
? ` - ${offending.hash.slice(0, 10)} ${offending.subject}\n` +
|
|
457
|
+
` runtime LOC added: ${offending.runtimeAdded} (threshold triggered)\n` +
|
|
458
|
+
` test files in same commit: ${offending.testFilesInCommit}`
|
|
459
|
+
: ' - (unknown commit)';
|
|
460
|
+
return (`${EMOJI.FAILURE} commit-order (RED-first) check failed for ${wuId}.\n\n` +
|
|
461
|
+
`${typeLabel} must introduce tests in a commit preceding or alongside any feat/fix\n` +
|
|
462
|
+
`commit that adds non-trivial runtime code. The offending commit:\n` +
|
|
463
|
+
`${commitLine}\n\n` +
|
|
464
|
+
`Range: ${result.baseRef || 'main'}..${result.headRef || 'HEAD'}\n\n` +
|
|
465
|
+
`Fix options:\n` +
|
|
466
|
+
` 1. Restructure the branch so a test(${wuId.toLowerCase()}): … commit lands first (RED).\n` +
|
|
467
|
+
` 2. Amend the offending commit to include the matching test files.\n` +
|
|
468
|
+
` 3. If intentionally exempt, document it in WU notes with:\n` +
|
|
469
|
+
` ${TDD_EXCEPTION_MARKER} <reason>`);
|
|
470
|
+
}
|
|
250
471
|
/**
|
|
251
472
|
* WU-1344: Check if a gate name is the spec:linter gate.
|
|
252
473
|
* Used to identify when spec:linter fails so we can check for pre-existing failures.
|
|
@@ -271,6 +492,81 @@ export function formatSkipGatesCommand(options) {
|
|
|
271
492
|
const { wuId, mainCheckout } = options;
|
|
272
493
|
return `cd ${mainCheckout} && pnpm wu:done --id ${wuId} --skip-gates --reason "pre-existing on main" --fix-wu WU-XXXX`;
|
|
273
494
|
}
|
|
495
|
+
function formatBootstrapTrapSkipGatesCommand(options) {
|
|
496
|
+
const { wuId, mainCheckout } = options;
|
|
497
|
+
return (`cd ${mainCheckout} && pnpm wu:done --id ${wuId} --skip-gates ` +
|
|
498
|
+
`--reason "${BOOTSTRAP_TRAP_PACKAGE_EXPORT_SKIP_REASON}" ` +
|
|
499
|
+
`--fix-wu ${BOOTSTRAP_TRAP_FIX_WU_PLACEHOLDER}`);
|
|
500
|
+
}
|
|
501
|
+
export async function diagnoseBootstrapTrapBuild(options) {
|
|
502
|
+
const execOnCwd = options.execOnCwd ?? defaultExecFileOnCwd(options.cwd);
|
|
503
|
+
const result = await execOnCwd('pnpm', ['build']);
|
|
504
|
+
const combinedOutput = [result.stdout, result.stderr].filter(Boolean).join('\n');
|
|
505
|
+
return {
|
|
506
|
+
buildPassed: result.exitCode === EXIT_CODES.SUCCESS,
|
|
507
|
+
trap: detectBootstrapTrapSignature(combinedOutput),
|
|
508
|
+
};
|
|
509
|
+
}
|
|
510
|
+
export function formatBootstrapTrapFailure(options) {
|
|
511
|
+
const { wuId, mainCheckout, buildPassed, diagnosis } = options;
|
|
512
|
+
const header = `${EMOJI.WARNING} Known bootstrap-trap detected for ${wuId}.\n\n` +
|
|
513
|
+
`${diagnosis.summary}\n` +
|
|
514
|
+
`Matched signature: ${diagnosis.matchedSignature}\n\n`;
|
|
515
|
+
if (diagnosis.kind === 'package-export' && buildPassed) {
|
|
516
|
+
return (header +
|
|
517
|
+
`Safe exit when the worktree build is already green and the move is otherwise complete:\n` +
|
|
518
|
+
` 1. Use the green worktree build as the authoritative verification.\n` +
|
|
519
|
+
` 2. Finish from main with:\n` +
|
|
520
|
+
` ${formatBootstrapTrapSkipGatesCommand({ wuId, mainCheckout })}\n` +
|
|
521
|
+
` 3. Replace ${BOOTSTRAP_TRAP_FIX_WU_PLACEHOLDER} with the WU that lands the export-surface follow-up.\n\n` +
|
|
522
|
+
`If the worktree build is not green, fix the package exports and rerun:\n` +
|
|
523
|
+
` pnpm wu:prep --id ${wuId}`);
|
|
524
|
+
}
|
|
525
|
+
if (diagnosis.kind === 'package-export') {
|
|
526
|
+
return (header +
|
|
527
|
+
`Fix the package exports / cross-module surface first, then rerun:\n` +
|
|
528
|
+
` 1. Repair the moved-file exports or consumer imports.\n` +
|
|
529
|
+
` 2. Verify with: pnpm build\n` +
|
|
530
|
+
` 3. Retry: pnpm wu:prep --id ${wuId}`);
|
|
531
|
+
}
|
|
532
|
+
return (header +
|
|
533
|
+
`Fix the dependency cycle first, then rerun:\n` +
|
|
534
|
+
` 1. Remove or relocate the dependency edge that closes the cycle.\n` +
|
|
535
|
+
` 2. Verify with: pnpm build\n` +
|
|
536
|
+
` 3. Retry: pnpm wu:prep --id ${wuId}`);
|
|
537
|
+
}
|
|
538
|
+
function findBootstrapTrapMatch(output, patterns) {
|
|
539
|
+
for (const pattern of patterns) {
|
|
540
|
+
const match = output.match(pattern);
|
|
541
|
+
if (match?.[0]) {
|
|
542
|
+
return match[0];
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
return null;
|
|
546
|
+
}
|
|
547
|
+
export function detectBootstrapTrapSignature(output) {
|
|
548
|
+
const normalizedOutput = output.trim();
|
|
549
|
+
if (normalizedOutput.length === 0) {
|
|
550
|
+
return null;
|
|
551
|
+
}
|
|
552
|
+
const packageExportMatch = findBootstrapTrapMatch(normalizedOutput, BOOTSTRAP_TRAP_PACKAGE_EXPORT_PATTERNS);
|
|
553
|
+
if (packageExportMatch) {
|
|
554
|
+
return {
|
|
555
|
+
kind: 'package-export',
|
|
556
|
+
matchedSignature: packageExportMatch,
|
|
557
|
+
summary: 'Package export / cross-module resolution failed against the main checkout.',
|
|
558
|
+
};
|
|
559
|
+
}
|
|
560
|
+
const dependencyCycleMatch = findBootstrapTrapMatch(normalizedOutput, BOOTSTRAP_TRAP_DEPENDENCY_CYCLE_PATTERNS);
|
|
561
|
+
if (dependencyCycleMatch) {
|
|
562
|
+
return {
|
|
563
|
+
kind: 'dependency-cycle',
|
|
564
|
+
matchedSignature: dependencyCycleMatch,
|
|
565
|
+
summary: 'A dependency cycle is blocking package bootstrap/build.',
|
|
566
|
+
};
|
|
567
|
+
}
|
|
568
|
+
return null;
|
|
569
|
+
}
|
|
274
570
|
/**
|
|
275
571
|
* WU-1344: Default implementation of execOnMain using spawnSync.
|
|
276
572
|
* Uses spawnSync with pnpm executable for safety (no shell injection risk).
|
|
@@ -316,17 +612,21 @@ function defaultExecOnMain(mainCheckout) {
|
|
|
316
612
|
};
|
|
317
613
|
};
|
|
318
614
|
}
|
|
319
|
-
function defaultExecFileOnCwd(cwd) {
|
|
615
|
+
function defaultExecFileOnCwd(cwd, timeoutMs) {
|
|
320
616
|
return async (command, args) => {
|
|
321
617
|
const result = spawnSync(command, args, {
|
|
322
618
|
cwd,
|
|
323
619
|
encoding: 'utf-8',
|
|
324
620
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
621
|
+
...(timeoutMs ? { timeout: timeoutMs } : {}),
|
|
325
622
|
});
|
|
623
|
+
const timeoutMessage = result.error && 'code' in result.error && result.error.code === 'ETIMEDOUT' && timeoutMs
|
|
624
|
+
? `Command timed out after ${timeoutMs}ms: ${command} ${args.join(' ')}`
|
|
625
|
+
: '';
|
|
326
626
|
return {
|
|
327
627
|
exitCode: result.status ?? 1,
|
|
328
628
|
stdout: result.stdout ?? '',
|
|
329
|
-
stderr: result.stderr ?? '',
|
|
629
|
+
stderr: [result.stderr ?? '', timeoutMessage].filter(Boolean).join('\n'),
|
|
330
630
|
};
|
|
331
631
|
};
|
|
332
632
|
}
|
|
@@ -361,10 +661,10 @@ export function classifySpecLinterFailures(options) {
|
|
|
361
661
|
};
|
|
362
662
|
}
|
|
363
663
|
export function buildScopedUnitTestArgs(scopedUnitTests) {
|
|
364
|
-
return ['vitest', 'run', ...scopedUnitTests, '--passWithNoTests'];
|
|
664
|
+
return ['vitest', 'run', ...scopedUnitTests, '--passWithNoTests', '--maxWorkers=1'];
|
|
365
665
|
}
|
|
366
666
|
export async function checkPreExistingScopedUnitTestFailures(options) {
|
|
367
|
-
const { mainCheckout, worktreeCwd = process.cwd(), scopedUnitTests, execOnMain = defaultExecFileOnCwd(mainCheckout), execOnWorktree = defaultExecFileOnCwd(worktreeCwd), } = options;
|
|
667
|
+
const { mainCheckout, worktreeCwd = process.cwd(), scopedUnitTests, execOnMain = defaultExecFileOnCwd(mainCheckout, SCOPED_UNIT_TEST_COMPARISON_TIMEOUT_MS), execOnWorktree = defaultExecFileOnCwd(worktreeCwd, SCOPED_UNIT_TEST_COMPARISON_TIMEOUT_MS), } = options;
|
|
368
668
|
if (scopedUnitTests.length === 0) {
|
|
369
669
|
return {
|
|
370
670
|
hasPreExisting: false,
|
|
@@ -398,6 +698,18 @@ export async function checkPreExistingScopedUnitTestFailures(options) {
|
|
|
398
698
|
const worktreeResult = await execOnWorktree('pnpm', testArgs);
|
|
399
699
|
const mainArgs = mainPlan?.mode === 'direct' ? mainPlan.args : testArgs;
|
|
400
700
|
const mainResult = await execOnMain('pnpm', mainArgs);
|
|
701
|
+
const bootstrapTrap = detectBootstrapTrapSignature([worktreeResult.stdout, worktreeResult.stderr, mainResult.stdout, mainResult.stderr]
|
|
702
|
+
.filter(Boolean)
|
|
703
|
+
.join('\n'));
|
|
704
|
+
if (bootstrapTrap) {
|
|
705
|
+
return {
|
|
706
|
+
hasPreExisting: false,
|
|
707
|
+
hasNewFailures: false,
|
|
708
|
+
checkedPaths: scopedUnitTests,
|
|
709
|
+
error: `${bootstrapTrap.summary} Matched signature: ${bootstrapTrap.matchedSignature}`,
|
|
710
|
+
bootstrapTrap,
|
|
711
|
+
};
|
|
712
|
+
}
|
|
401
713
|
const worktreeFailed = worktreeResult.exitCode !== EXIT_CODES.SUCCESS;
|
|
402
714
|
const mainFailed = mainResult.exitCode !== EXIT_CODES.SUCCESS;
|
|
403
715
|
return {
|
|
@@ -423,10 +735,14 @@ export function shouldOfferSkipGatesGuidance(checks) {
|
|
|
423
735
|
async function runSpecLinterJson(execOnCwd) {
|
|
424
736
|
const result = await execOnCwd('pnpm --silent wu:validate --all --json');
|
|
425
737
|
const report = parseSpecLinterReport(result.stdout);
|
|
738
|
+
const bootstrapTrap = detectBootstrapTrapSignature([result.stdout, result.stderr].filter(Boolean).join('\n'));
|
|
426
739
|
if (!report || !Array.isArray(report.invalid)) {
|
|
427
740
|
return {
|
|
428
741
|
invalidIds: [],
|
|
429
|
-
error:
|
|
742
|
+
error: bootstrapTrap
|
|
743
|
+
? `${bootstrapTrap.summary} Matched signature: ${bootstrapTrap.matchedSignature}`
|
|
744
|
+
: 'Failed to parse wu:validate JSON output.',
|
|
745
|
+
bootstrapTrap: bootstrapTrap ?? undefined,
|
|
430
746
|
};
|
|
431
747
|
}
|
|
432
748
|
const invalidIds = report.invalid
|
|
@@ -457,6 +773,7 @@ export async function checkPreExistingFailures(options) {
|
|
|
457
773
|
newFailures: [],
|
|
458
774
|
preExistingFailures: [],
|
|
459
775
|
error: worktreeResult.error || mainResult.error,
|
|
776
|
+
bootstrapTrap: worktreeResult.bootstrapTrap || mainResult.bootstrapTrap,
|
|
460
777
|
};
|
|
461
778
|
}
|
|
462
779
|
const classification = classifySpecLinterFailures({
|
|
@@ -575,7 +892,7 @@ export async function main() {
|
|
|
575
892
|
// Parse arguments
|
|
576
893
|
const args = createWUParser({
|
|
577
894
|
name: 'wu-prep',
|
|
578
|
-
description: 'Prepare WU for completion (run gates in worktree)',
|
|
895
|
+
description: 'Prepare WU for completion (run gates in worktree; wu:done reuses the same tests.unit scope)',
|
|
579
896
|
options: [
|
|
580
897
|
WU_OPTIONS.id,
|
|
581
898
|
PREP_OPTIONS.docsOnly,
|
|
@@ -702,6 +1019,16 @@ export async function main() {
|
|
|
702
1019
|
if (!tddEvidenceResult.valid) {
|
|
703
1020
|
die(formatTddDiffEvidenceFailure({ wuId: id, result: tddEvidenceResult }));
|
|
704
1021
|
}
|
|
1022
|
+
// WU-2650: Commit-order (RED-first) gate. Runs BEFORE gates so ordering
|
|
1023
|
+
// violations surface independently of lint/test failures.
|
|
1024
|
+
const commitOrderResult = await evaluateCommitOrderForPrep({
|
|
1025
|
+
wuId: id,
|
|
1026
|
+
doc,
|
|
1027
|
+
cwd: location.cwd,
|
|
1028
|
+
});
|
|
1029
|
+
if (!commitOrderResult.valid) {
|
|
1030
|
+
die(formatTddOrderingFailure({ wuId: id, wuType: doc.type, result: commitOrderResult }));
|
|
1031
|
+
}
|
|
705
1032
|
const scopedUnitTests = resolveScopedUnitTestsForPrep({
|
|
706
1033
|
fullTests: args.fullTests,
|
|
707
1034
|
tests: doc.tests,
|
|
@@ -752,7 +1079,8 @@ export async function main() {
|
|
|
752
1079
|
console.log(`${PREP_PREFIX} ${EMOJI.WARNING} Scoped tests fail in this worktree but pass on main.`);
|
|
753
1080
|
}
|
|
754
1081
|
const hasPreExistingOnly = shouldOfferSkipGatesGuidance([preExistingCheck, scopedUnitTestCheck]);
|
|
755
|
-
|
|
1082
|
+
const bootstrapTrapHint = preExistingCheck.bootstrapTrap ?? scopedUnitTestCheck.bootstrapTrap ?? null;
|
|
1083
|
+
if (hasPreExistingOnly && !bootstrapTrapHint) {
|
|
756
1084
|
// Set up an exit handler to print the skip-gates command when gates fail
|
|
757
1085
|
// This runs before process.exit() fully terminates the process
|
|
758
1086
|
process.on('exit', (code) => {
|
|
@@ -783,6 +1111,19 @@ export async function main() {
|
|
|
783
1111
|
scopedTestPaths: scopedUnitTests,
|
|
784
1112
|
}));
|
|
785
1113
|
if (!gatesResult) {
|
|
1114
|
+
const buildDiagnostic = await diagnoseBootstrapTrapBuild({ cwd: location.cwd });
|
|
1115
|
+
const bootstrapTrapDiagnosis = buildDiagnostic.trap ||
|
|
1116
|
+
(bootstrapTrapHint?.kind === 'package-export' && buildDiagnostic.buildPassed
|
|
1117
|
+
? bootstrapTrapHint
|
|
1118
|
+
: null);
|
|
1119
|
+
if (bootstrapTrapDiagnosis) {
|
|
1120
|
+
die(formatBootstrapTrapFailure({
|
|
1121
|
+
wuId: id,
|
|
1122
|
+
mainCheckout: location.mainCheckout,
|
|
1123
|
+
buildPassed: buildDiagnostic.buildPassed,
|
|
1124
|
+
diagnosis: bootstrapTrapDiagnosis,
|
|
1125
|
+
}));
|
|
1126
|
+
}
|
|
786
1127
|
// Gates failed - if pre-existing check was already done and showed failures,
|
|
787
1128
|
// the exit handler above will print the skip-gates command.
|
|
788
1129
|
// Otherwise, tell the user to fix the failures.
|
package/dist/wu-prep.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wu-prep.js","sourceRoot":"","sources":["../src/wu-prep.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wu-prep.js","sourceRoot":"","sources":["../src/wu-prep.ts"],"names":[],"mappings":"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"}
|