@lumenflow/cli 5.5.0 → 5.7.12
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 +42 -40
- package/dist/db-journal-recover.js +400 -0
- package/dist/db-journal-recover.js.map +1 -0
- package/dist/docs-sync.js +8 -3
- package/dist/docs-sync.js.map +1 -1
- package/dist/gate-defaults.js +37 -0
- package/dist/gate-defaults.js.map +1 -1
- package/dist/gates/monolithic-file-contention-guard.js +167 -0
- package/dist/gates/monolithic-file-contention-guard.js.map +1 -0
- package/dist/gates/prod-migration-drift.js +207 -0
- package/dist/gates/prod-migration-drift.js.map +1 -0
- package/dist/gates/test-over-deletion-guard.js +255 -0
- package/dist/gates/test-over-deletion-guard.js.map +1 -0
- package/dist/gates-runners.js +44 -3
- package/dist/gates-runners.js.map +1 -1
- package/dist/gates.js +3 -2
- package/dist/gates.js.map +1 -1
- package/dist/lumenflow-setup.js +144 -0
- package/dist/lumenflow-setup.js.map +1 -0
- package/dist/lumenflow-upgrade.js +2 -1
- package/dist/lumenflow-upgrade.js.map +1 -1
- package/dist/mem-create.js +10 -1
- package/dist/mem-create.js.map +1 -1
- package/dist/mem-signal.js +21 -4
- package/dist/mem-signal.js.map +1 -1
- package/dist/orchestrate-initiative.js +28 -3
- package/dist/orchestrate-initiative.js.map +1 -1
- package/dist/public-manifest.js +17 -0
- package/dist/public-manifest.js.map +1 -1
- package/dist/release.js +53 -18
- package/dist/release.js.map +1 -1
- package/dist/wu-done-gates.js +13 -9
- package/dist/wu-done-gates.js.map +1 -1
- package/dist/wu-edit-operations.js +74 -0
- package/dist/wu-edit-operations.js.map +1 -1
- package/dist/wu-edit-validators.js +58 -0
- package/dist/wu-edit-validators.js.map +1 -1
- package/dist/wu-edit.js +106 -4
- package/dist/wu-edit.js.map +1 -1
- package/dist/wu-prep.js +41 -7
- package/dist/wu-prep.js.map +1 -1
- package/dist/wu-recover.js +6 -0
- package/dist/wu-recover.js.map +1 -1
- package/dist/wu-release.js +120 -2
- package/dist/wu-release.js.map +1 -1
- package/dist/wu-sizing-validation.js +47 -17
- package/dist/wu-sizing-validation.js.map +1 -1
- package/dist/wu-status.js +33 -0
- package/dist/wu-status.js.map +1 -1
- package/package.json +13 -11
- package/packs/agent-runtime/package.json +1 -1
- package/packs/sidekick/package.json +1 -1
- package/packs/software-delivery/package.json +1 -1
- package/templates/core/AGENTS.md.template +67 -3
- package/templates/core/LUMENFLOW.md.template +197 -47
- package/packs/agent-runtime/agent-heartbeat.ts +0 -163
- package/packs/agent-runtime/auto-session-integration.ts +0 -888
- package/packs/agent-runtime/capability-factory.ts +0 -104
- package/packs/agent-runtime/constants.ts +0 -21
- package/packs/agent-runtime/delegation-registry-schema.ts +0 -220
- package/packs/agent-runtime/delegation-registry-store.ts +0 -269
- package/packs/agent-runtime/delegation-tree.ts +0 -328
- package/packs/agent-runtime/index.ts +0 -20
- package/packs/agent-runtime/manifest.ts +0 -348
- package/packs/agent-runtime/memory-coordination-contract.ts +0 -86
- package/packs/agent-runtime/orchestration.ts +0 -2027
- package/packs/agent-runtime/pack-registration.ts +0 -110
- package/packs/agent-runtime/policy-factory.ts +0 -165
- package/packs/agent-runtime/remote-controls/index.ts +0 -7
- package/packs/agent-runtime/remote-controls/operations.ts +0 -405
- package/packs/agent-runtime/remote-controls/port.ts +0 -48
- package/packs/agent-runtime/remote-controls/state-store.ts +0 -258
- package/packs/agent-runtime/remote-controls/types.ts +0 -105
- package/packs/agent-runtime/session-schema.ts +0 -467
- package/packs/agent-runtime/tool-impl/agent-turn-tools.ts +0 -793
- package/packs/agent-runtime/tool-impl/index.ts +0 -6
- package/packs/agent-runtime/tool-impl/provider-adapters.ts +0 -1245
- package/packs/agent-runtime/tool-impl/remote-controls.mock.ts +0 -256
- package/packs/agent-runtime/tool-impl/remote-controls.ts +0 -273
- package/packs/agent-runtime/tools/index.ts +0 -4
- package/packs/agent-runtime/tools/types.ts +0 -47
- package/packs/agent-runtime/turn-lifecycle-events.ts +0 -590
- package/packs/agent-runtime/types.ts +0 -128
- package/packs/agent-runtime/vitest.config.ts +0 -11
- package/packs/sidekick/channel-ingress.ts +0 -137
- package/packs/sidekick/constants.ts +0 -10
- package/packs/sidekick/index.ts +0 -8
- package/packs/sidekick/manifest-schema.ts +0 -49
- package/packs/sidekick/manifest.ts +0 -512
- package/packs/sidekick/pack-registration.ts +0 -110
- package/packs/sidekick/policy-factory.ts +0 -38
- package/packs/sidekick/sidekick-events.ts +0 -694
- package/packs/sidekick/src/adapters/cloud-queue.ts +0 -101
- package/packs/sidekick/src/adapters/control-plane-bridge.adapter.ts +0 -386
- package/packs/sidekick/src/adapters/filesystem-bridge.adapter.ts +0 -228
- package/packs/sidekick/src/domain/channel.types.ts +0 -64
- package/packs/sidekick/src/ports/channel-bridge.port.ts +0 -92
- package/packs/sidekick/src/routines/commit.ts +0 -74
- package/packs/sidekick/tool-impl/channel-tools.ts +0 -577
- package/packs/sidekick/tool-impl/channel-transports.ts +0 -75
- package/packs/sidekick/tool-impl/index.ts +0 -29
- package/packs/sidekick/tool-impl/memory-tools.ts +0 -290
- package/packs/sidekick/tool-impl/routine-commit.ts +0 -102
- package/packs/sidekick/tool-impl/routine-tools.ts +0 -440
- package/packs/sidekick/tool-impl/runtime-context.ts +0 -28
- package/packs/sidekick/tool-impl/shared.ts +0 -125
- package/packs/sidekick/tool-impl/storage.ts +0 -325
- package/packs/sidekick/tool-impl/system-tools.ts +0 -160
- package/packs/sidekick/tool-impl/task-tools.ts +0 -506
- package/packs/sidekick/tools/channel-tools.ts +0 -53
- package/packs/sidekick/tools/index.ts +0 -9
- package/packs/sidekick/tools/memory-tools.ts +0 -53
- package/packs/sidekick/tools/routine-tools.ts +0 -53
- package/packs/sidekick/tools/system-tools.ts +0 -47
- package/packs/sidekick/tools/task-tools.ts +0 -61
- package/packs/sidekick/tools/types.ts +0 -57
- package/packs/sidekick/vitest.config.ts +0 -11
- package/packs/software-delivery/constants.ts +0 -10
- package/packs/software-delivery/extensions.ts +0 -140
- package/packs/software-delivery/gate-policies.ts +0 -134
- package/packs/software-delivery/index.ts +0 -8
- package/packs/software-delivery/manifest-schema.ts +0 -268
- package/packs/software-delivery/manifest.ts +0 -657
- package/packs/software-delivery/pack-registration.ts +0 -113
- package/packs/software-delivery/src/commands/index.ts +0 -5
- package/packs/software-delivery/src/config/delivery-review-contract.ts +0 -256
- package/packs/software-delivery/src/config/env-accessors.ts +0 -66
- package/packs/software-delivery/src/config/index.ts +0 -8
- package/packs/software-delivery/src/config/normalize-config-keys.ts +0 -9
- package/packs/software-delivery/src/config/schemas/lumenflow-config-schema-types.ts +0 -460
- package/packs/software-delivery/src/config/workspace-reader.ts +0 -375
- package/packs/software-delivery/src/constants/backlog-patterns.ts +0 -31
- package/packs/software-delivery/src/constants/client-ids.ts +0 -19
- package/packs/software-delivery/src/constants/config-contract.ts +0 -7
- package/packs/software-delivery/src/constants/docs-layout-presets.ts +0 -50
- package/packs/software-delivery/src/constants/duration-constants.ts +0 -20
- package/packs/software-delivery/src/constants/gate-constants.ts +0 -32
- package/packs/software-delivery/src/constants/index.ts +0 -29
- package/packs/software-delivery/src/constants/lock-constants.ts +0 -35
- package/packs/software-delivery/src/constants/object-guards.ts +0 -12
- package/packs/software-delivery/src/constants/section-headings.ts +0 -107
- package/packs/software-delivery/src/constants/wu-cli-constants.ts +0 -500
- package/packs/software-delivery/src/constants/wu-domain-constants.ts +0 -466
- package/packs/software-delivery/src/constants/wu-git-constants.ts +0 -7
- package/packs/software-delivery/src/constants/wu-id-format.ts +0 -327
- package/packs/software-delivery/src/constants/wu-paths-constants.ts +0 -384
- package/packs/software-delivery/src/constants/wu-statuses.ts +0 -287
- package/packs/software-delivery/src/constants/wu-type-helpers.ts +0 -67
- package/packs/software-delivery/src/constants/wu-ui-constants.ts +0 -267
- package/packs/software-delivery/src/constants/wu-validation-constants.ts +0 -73
- package/packs/software-delivery/src/domain/index.ts +0 -5
- package/packs/software-delivery/src/domain/orchestration.constants.ts +0 -166
- package/packs/software-delivery/src/domain/orchestration.schemas.ts +0 -238
- package/packs/software-delivery/src/domain/orchestration.types.ts +0 -176
- package/packs/software-delivery/src/methodology/incremental-test.ts +0 -122
- package/packs/software-delivery/src/methodology/index.ts +0 -6
- package/packs/software-delivery/src/methodology/manual-test-validator.ts +0 -292
- package/packs/software-delivery/src/policy/coverage-gate.ts +0 -270
- package/packs/software-delivery/src/policy/gates-agent-mode.ts +0 -223
- package/packs/software-delivery/src/policy/gates-config-internal.ts +0 -121
- package/packs/software-delivery/src/policy/gates-config.ts +0 -300
- package/packs/software-delivery/src/policy/gates-coverage.ts +0 -356
- package/packs/software-delivery/src/policy/gates-presets.ts +0 -134
- package/packs/software-delivery/src/policy/gates-schemas.ts +0 -173
- package/packs/software-delivery/src/policy/index.ts +0 -22
- package/packs/software-delivery/src/policy/package-manager-resolver.ts +0 -319
- package/packs/software-delivery/src/policy/resolve-policy.ts +0 -601
- package/packs/software-delivery/src/ports/config.ports.ts +0 -90
- package/packs/software-delivery/src/ports/dashboard-renderer.port.ts +0 -125
- package/packs/software-delivery/src/ports/index.ts +0 -10
- package/packs/software-delivery/src/ports/sync-validator.ports.ts +0 -59
- package/packs/software-delivery/src/ports/wu-helpers.ports.ts +0 -168
- package/packs/software-delivery/src/ports/wu-state.ports.ts +0 -241
- package/packs/software-delivery/src/primitives/index.ts +0 -5
- package/packs/software-delivery/src/runtime/index.ts +0 -6
- package/packs/software-delivery/src/runtime/work-classifier.ts +0 -561
- package/packs/software-delivery/src/sandbox/index.ts +0 -10
- package/packs/software-delivery/src/sandbox/sandbox-allowlist.ts +0 -118
- package/packs/software-delivery/src/sandbox/sandbox-backend-linux.ts +0 -88
- package/packs/software-delivery/src/sandbox/sandbox-backend-macos.ts +0 -154
- package/packs/software-delivery/src/sandbox/sandbox-backend-windows.ts +0 -47
- package/packs/software-delivery/src/sandbox/sandbox-profile.ts +0 -153
- package/packs/software-delivery/src/schemas/index.ts +0 -5
- package/packs/software-delivery/src/state/date-utils.ts +0 -158
- package/packs/software-delivery/src/state/index.ts +0 -15
- package/packs/software-delivery/src/state/state-machine.ts +0 -119
- package/packs/software-delivery/src/state/wu-doc-types.ts +0 -51
- package/packs/software-delivery/src/state/wu-paths.ts +0 -381
- package/packs/software-delivery/src/state/wu-schema.ts +0 -1139
- package/packs/software-delivery/src/state/wu-state-schema.ts +0 -255
- package/packs/software-delivery/src/state/wu-yaml.ts +0 -338
- package/packs/software-delivery/tool-impl/agent-tools.ts +0 -263
- package/packs/software-delivery/tool-impl/delegation-tools.ts +0 -66
- package/packs/software-delivery/tool-impl/flow-metrics-tools.ts +0 -219
- package/packs/software-delivery/tool-impl/git-runner.ts +0 -113
- package/packs/software-delivery/tool-impl/git-tools.ts +0 -316
- package/packs/software-delivery/tool-impl/index.ts +0 -15
- package/packs/software-delivery/tool-impl/initiative-orchestration-tools.ts +0 -720
- package/packs/software-delivery/tool-impl/lane-lock.ts +0 -246
- package/packs/software-delivery/tool-impl/memory-tools.ts +0 -470
- package/packs/software-delivery/tool-impl/pending-runtime-tools.ts +0 -21
- package/packs/software-delivery/tool-impl/runtime-cli-adapter.ts +0 -329
- package/packs/software-delivery/tool-impl/runtime-native-tools.ts +0 -687
- package/packs/software-delivery/tool-impl/worker-loader.ts +0 -52
- package/packs/software-delivery/tool-impl/worktree-tools.ts +0 -46
- package/packs/software-delivery/tool-impl/wu-lifecycle-tools.ts +0 -807
- package/packs/software-delivery/tools/delegation-tools.ts +0 -23
- package/packs/software-delivery/tools/git-tools.ts +0 -55
- package/packs/software-delivery/tools/index.ts +0 -8
- package/packs/software-delivery/tools/lane-lock-tool.ts +0 -37
- package/packs/software-delivery/tools/types.ts +0 -71
- package/packs/software-delivery/tools/worktree-tools.ts +0 -49
- package/packs/software-delivery/vitest.config.ts +0 -11
package/dist/docs-sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs-sync.js","sourceRoot":"","sources":["../src/docs-sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"docs-sync.js","sourceRoot":"","sources":["../src/docs-sync.ts"],"names":[],"mappings":"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"}
|
package/dist/gate-defaults.js
CHANGED
|
@@ -6,6 +6,11 @@ import { runCoChangeGate,
|
|
|
6
6
|
checkSafetyCriticalApplicability, checkMigrationVerifyApplicability, checkMigrationVerifyPreconditions, checkInvariantsPreconditions, checkLaneHealthApplicability, checkLaneHealthPreconditions, checkCoChangeApplicability, checkClaimValidationApplicability,
|
|
7
7
|
// WU-2927: opt-in local-prep gate checks
|
|
8
8
|
checkBuildApplicability, checkBuildPreconditions, checkIntegrationTestApplicability, checkIntegrationTestPreconditions, checkE2eSmokeApplicability, checkE2eSmokePreconditions, } from './gates-runners.js';
|
|
9
|
+
// WU-2943: heuristic guard gates (test over-deletion, monolithic file contention).
|
|
10
|
+
import { testOverDeletionGate } from './gates/test-over-deletion-guard.js';
|
|
11
|
+
import { monolithicFileContentionGate } from './gates/monolithic-file-contention-guard.js';
|
|
12
|
+
// WU-2944: prod-migration-drift gate (INIT-069 item 14).
|
|
13
|
+
import { prodMigrationDriftGate } from './gates/prod-migration-drift.js';
|
|
9
14
|
/**
|
|
10
15
|
* WU-2925: Framework gate skippability allow-list.
|
|
11
16
|
*
|
|
@@ -17,6 +22,10 @@ checkBuildApplicability, checkBuildPreconditions, checkIntegrationTestApplicabil
|
|
|
17
22
|
* - `lane-health`: file-pattern coverage gap, tracked separately
|
|
18
23
|
* - `tdd-diff-evidence`: per-WU type policy (also config-driven via
|
|
19
24
|
* `software_delivery.gates.tdd_diff_evidence`)
|
|
25
|
+
* - `build` / `integration-test` / `e2e-smoke` (WU-2927): opt-in local-prep
|
|
26
|
+
* environmental gates. See gates-runners.ts for applicability checks.
|
|
27
|
+
* - `test-over-deletion` / `monolithic-file-contention` (WU-2943): advisory
|
|
28
|
+
* heuristic guards riding the INIT-068 contract.
|
|
20
29
|
*
|
|
21
30
|
* All other framework gates (format, lint, typecheck, invariants,
|
|
22
31
|
* safety-critical-test, backlog-sync, claim-validation, co-change, spec:linter,
|
|
@@ -44,6 +53,18 @@ export const FRAMEWORK_GATE_SKIPPABLE_DEFAULTS = Object.freeze({
|
|
|
44
53
|
[GATE_NAMES.BUILD]: true,
|
|
45
54
|
[GATE_NAMES.INTEGRATION_TEST]: true,
|
|
46
55
|
[GATE_NAMES.E2E_SMOKE]: true,
|
|
56
|
+
// WU-2943 (INIT-069 items 12 + 13): heuristic guard gates. Advisory, not
|
|
57
|
+
// safety-critical; agents may --skip-gate when the warning is intentional.
|
|
58
|
+
// Per-repo override surface:
|
|
59
|
+
// software_delivery.gates.overrides.test-over-deletion.skippable=false
|
|
60
|
+
// software_delivery.gates.overrides.monolithic-file-contention.skippable=false
|
|
61
|
+
[GATE_NAMES.TEST_OVER_DELETION]: true,
|
|
62
|
+
[GATE_NAMES.MONOLITHIC_FILE_CONTENTION]: true,
|
|
63
|
+
// WU-2944 (INIT-069 item 14): prod-migration-drift. Advisory by default;
|
|
64
|
+
// most repos will not have PROD_DATABASE_URL configured locally and the
|
|
65
|
+
// gate auto-skips not-applicable. Repos that want hard-blocks on prod-drift
|
|
66
|
+
// can flip with: software_delivery.gates.overrides.prod-migration-drift.skippable=false
|
|
67
|
+
[GATE_NAMES.PROD_MIGRATION_DRIFT]: true,
|
|
47
68
|
});
|
|
48
69
|
/**
|
|
49
70
|
* WU-2925: Resolve effective skippability for a gate.
|
|
@@ -136,6 +157,14 @@ export function registerDocsOnlyGates(registry, options) {
|
|
|
136
157
|
name: GATE_NAMES.DELIVERY_REVIEW,
|
|
137
158
|
});
|
|
138
159
|
}
|
|
160
|
+
// WU-2943: heuristic guard gates. Both auto-skip when not applicable so the
|
|
161
|
+
// baseline docs-only flow is unaffected.
|
|
162
|
+
registry.register(testOverDeletionGate);
|
|
163
|
+
registry.register(monolithicFileContentionGate);
|
|
164
|
+
// WU-2944: prod-migration-drift. Auto-skips not-applicable on repos without
|
|
165
|
+
// migrations/ or without the override env var configured — baseline docs-only
|
|
166
|
+
// flow is unaffected.
|
|
167
|
+
registry.register(prodMigrationDriftGate);
|
|
139
168
|
}
|
|
140
169
|
/**
|
|
141
170
|
* Register the default code gates into the registry.
|
|
@@ -296,5 +325,13 @@ export function registerCodeGates(registry, options) {
|
|
|
296
325
|
name: GATE_NAMES.COVERAGE,
|
|
297
326
|
cmd: GATE_COMMANDS.COVERAGE_GATE,
|
|
298
327
|
});
|
|
328
|
+
// WU-2943: heuristic guard gates. Both auto-skip when not applicable so the
|
|
329
|
+
// baseline code-gate flow is unaffected.
|
|
330
|
+
registry.register(testOverDeletionGate);
|
|
331
|
+
registry.register(monolithicFileContentionGate);
|
|
332
|
+
// WU-2944: prod-migration-drift. Auto-skips not-applicable on repos without
|
|
333
|
+
// migrations/ or without the override env var configured — baseline code-gate
|
|
334
|
+
// flow is unaffected.
|
|
335
|
+
registry.register(prodMigrationDriftGate);
|
|
299
336
|
}
|
|
300
337
|
//# sourceMappingURL=gate-defaults.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate-defaults.js","sourceRoot":"","sources":["../src/gate-defaults.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,4DAA4D;AAe5D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EACL,eAAe;AACf,wDAAwD;AACxD,gCAAgC,EAChC,iCAAiC,EACjC,iCAAiC,EACjC,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,0BAA0B,EAC1B,iCAAiC;AACjC,yCAAyC;AACzC,uBAAuB,EACvB,uBAAuB,EACvB,iCAAiC,EACjC,iCAAiC,EACjC,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"gate-defaults.js","sourceRoot":"","sources":["../src/gate-defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: LicenseRef-LumenFlow-Proprietary
|
|
3
|
+
/**
|
|
4
|
+
* monolithic-file-contention-guard (WU-2943, INIT-069 Item 13)
|
|
5
|
+
*
|
|
6
|
+
* Heuristic gate riding the INIT-068 GateDefinition contract. Scans active
|
|
7
|
+
* WUs (status: in_progress + ready) for any file appearing in 2+ WUs'
|
|
8
|
+
* code_paths. Surfaces concrete contention hotspots with a re-laning hint.
|
|
9
|
+
*
|
|
10
|
+
* Driver: cloud INIT-105 item 13. `src/lib/db/schema.ts` caused at least 3
|
|
11
|
+
* WU-claim collisions in INIT-105.
|
|
12
|
+
*
|
|
13
|
+
* Contract (INIT-068 / WU-2926):
|
|
14
|
+
* - checkApplicability: 'applicable' always (every wu:prep)
|
|
15
|
+
* - checkPreconditions: 'satisfied'
|
|
16
|
+
* - prereq_strategy: 'auto-skip'
|
|
17
|
+
* - skippable_default: true (advisory)
|
|
18
|
+
* - Per-repo configurable via software_delivery.gates.overrides.<gate_id>
|
|
19
|
+
*
|
|
20
|
+
* @module gates/monolithic-file-contention-guard
|
|
21
|
+
*/
|
|
22
|
+
import path from 'node:path';
|
|
23
|
+
import { GATE_NAMES, WU_STATUS } from '@lumenflow/core/wu-constants';
|
|
24
|
+
import { listWUs } from '@lumenflow/core';
|
|
25
|
+
import { createGitForPath } from '@lumenflow/core/git-adapter';
|
|
26
|
+
import { getCurrentWU } from '@lumenflow/core/telemetry';
|
|
27
|
+
import { createWuPaths } from '@lumenflow/core/wu-paths';
|
|
28
|
+
import { readWURaw } from '@lumenflow/core/wu-yaml';
|
|
29
|
+
import { makeGateLogger } from '../gates-utils.js';
|
|
30
|
+
/**
|
|
31
|
+
* Statuses considered "active" for contention scanning. A WU is contending
|
|
32
|
+
* for a file if it is currently being worked or ready to be worked.
|
|
33
|
+
*/
|
|
34
|
+
const ACTIVE_STATUSES = new Set([WU_STATUS.IN_PROGRESS, WU_STATUS.READY]);
|
|
35
|
+
const MIN_CONTENTION_COUNT = 2;
|
|
36
|
+
/**
|
|
37
|
+
* Detect files appearing in 2+ active WUs that include the current WU.
|
|
38
|
+
*
|
|
39
|
+
* Signal-targeting: we only surface hotspots that the *current* WU is part of,
|
|
40
|
+
* because that's what the implementing agent can act on (split the file,
|
|
41
|
+
* coordinate, or re-lane). Unrelated cross-WU contention is informational
|
|
42
|
+
* noise from the perspective of this wu:prep run.
|
|
43
|
+
*/
|
|
44
|
+
export function detectContentionHotspots(input) {
|
|
45
|
+
const { currentWUId, activeWUs } = input;
|
|
46
|
+
const fileToWUs = new Map();
|
|
47
|
+
for (const wu of activeWUs) {
|
|
48
|
+
const seen = new Set();
|
|
49
|
+
for (const raw of wu.code_paths) {
|
|
50
|
+
if (typeof raw !== 'string')
|
|
51
|
+
continue;
|
|
52
|
+
const normalised = raw.trim();
|
|
53
|
+
if (normalised.length === 0)
|
|
54
|
+
continue;
|
|
55
|
+
if (seen.has(normalised))
|
|
56
|
+
continue;
|
|
57
|
+
seen.add(normalised);
|
|
58
|
+
let bucket = fileToWUs.get(normalised);
|
|
59
|
+
if (!bucket) {
|
|
60
|
+
bucket = new Set();
|
|
61
|
+
fileToWUs.set(normalised, bucket);
|
|
62
|
+
}
|
|
63
|
+
bucket.add(wu.id);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const hotspots = [];
|
|
67
|
+
for (const [file, wuSet] of fileToWUs.entries()) {
|
|
68
|
+
if (wuSet.size < MIN_CONTENTION_COUNT)
|
|
69
|
+
continue;
|
|
70
|
+
if (currentWUId && !wuSet.has(currentWUId))
|
|
71
|
+
continue;
|
|
72
|
+
hotspots.push({ file, wuIds: [...wuSet].sort() });
|
|
73
|
+
}
|
|
74
|
+
return hotspots;
|
|
75
|
+
}
|
|
76
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
77
|
+
// Active WU loader
|
|
78
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
79
|
+
async function loadActiveWUs(cwd) {
|
|
80
|
+
const out = [];
|
|
81
|
+
try {
|
|
82
|
+
const entries = await listWUs({ projectRoot: cwd });
|
|
83
|
+
const wuPaths = createWuPaths({ projectRoot: cwd });
|
|
84
|
+
for (const entry of entries) {
|
|
85
|
+
if (!ACTIVE_STATUSES.has(entry.status))
|
|
86
|
+
continue;
|
|
87
|
+
try {
|
|
88
|
+
const yamlPath = wuPaths.WU(entry.id);
|
|
89
|
+
const abs = path.isAbsolute(yamlPath) ? yamlPath : path.join(cwd, yamlPath);
|
|
90
|
+
const doc = readWURaw(abs);
|
|
91
|
+
if (doc && Array.isArray(doc.code_paths)) {
|
|
92
|
+
const cps = doc.code_paths.filter((p) => typeof p === 'string');
|
|
93
|
+
out.push({ id: entry.id, code_paths: cps });
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
// Skip WUs whose YAML is unreadable; gate is advisory, not safety-critical.
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
// Best-effort: WU enumeration failures degrade to "no contention found".
|
|
103
|
+
}
|
|
104
|
+
return out;
|
|
105
|
+
}
|
|
106
|
+
async function detectCurrentWU(cwd) {
|
|
107
|
+
const fromEnv = getCurrentWU();
|
|
108
|
+
if (fromEnv)
|
|
109
|
+
return fromEnv;
|
|
110
|
+
try {
|
|
111
|
+
const branch = await createGitForPath(cwd).getCurrentBranch();
|
|
112
|
+
const m = branch.match(/wu-(\d+)/i);
|
|
113
|
+
if (m)
|
|
114
|
+
return `WU-${m[1]}`;
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
// ignore
|
|
118
|
+
}
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
122
|
+
// Gate definition (INIT-068 contract)
|
|
123
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
124
|
+
async function checkApplicability(_ctx) {
|
|
125
|
+
// Applicable on every wu:prep — contention is always potentially observable.
|
|
126
|
+
return 'applicable';
|
|
127
|
+
}
|
|
128
|
+
async function checkPreconditions(_ctx) {
|
|
129
|
+
// No environmental prereqs; consults only repo-local WU YAMLs.
|
|
130
|
+
return 'satisfied';
|
|
131
|
+
}
|
|
132
|
+
async function run(ctx) {
|
|
133
|
+
const start = Date.now();
|
|
134
|
+
const cwd = ctx.cwd ?? process.cwd();
|
|
135
|
+
const logLine = makeGateLogger({
|
|
136
|
+
agentLog: ctx.agentLog ?? null,
|
|
137
|
+
useAgentMode: ctx.useAgentMode,
|
|
138
|
+
});
|
|
139
|
+
logLine('\n> monolithic-file-contention check\n');
|
|
140
|
+
const currentWUId = await detectCurrentWU(cwd);
|
|
141
|
+
const activeWUs = await loadActiveWUs(cwd);
|
|
142
|
+
const hotspots = detectContentionHotspots({ currentWUId, activeWUs });
|
|
143
|
+
if (hotspots.length === 0) {
|
|
144
|
+
logLine('monolithic-file-contention check passed.');
|
|
145
|
+
return { ok: true, duration: Date.now() - start };
|
|
146
|
+
}
|
|
147
|
+
logLine('❌ monolithic-file-contention: file(s) claimed by 2+ active WUs.');
|
|
148
|
+
for (const h of hotspots) {
|
|
149
|
+
const others = h.wuIds.filter((id) => id !== currentWUId);
|
|
150
|
+
const otherList = others.length > 0 ? others.join(', ') : '(none)';
|
|
151
|
+
logLine(` - ${h.file}`);
|
|
152
|
+
logLine(` claimed by: ${h.wuIds.join(', ')}`);
|
|
153
|
+
logLine(` contending WUs: ${otherList}`);
|
|
154
|
+
}
|
|
155
|
+
logLine("Hint: file appears in multiple active WUs' code_paths; consider splitting the module " +
|
|
156
|
+
'to enable parallelism, or coordinate ordering with the other claimants.');
|
|
157
|
+
return { ok: false, duration: Date.now() - start };
|
|
158
|
+
}
|
|
159
|
+
export const monolithicFileContentionGate = {
|
|
160
|
+
name: GATE_NAMES.MONOLITHIC_FILE_CONTENTION,
|
|
161
|
+
run,
|
|
162
|
+
skippable_default: true,
|
|
163
|
+
prereq_strategy: 'auto-skip',
|
|
164
|
+
checkApplicability,
|
|
165
|
+
checkPreconditions,
|
|
166
|
+
};
|
|
167
|
+
//# sourceMappingURL=monolithic-file-contention-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monolithic-file-contention-guard.js","sourceRoot":"","sources":["../../src/gates/monolithic-file-contention-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: LicenseRef-LumenFlow-Proprietary
|
|
3
|
+
/**
|
|
4
|
+
* prod-migration-drift gate (WU-2944, INIT-069 Item 14)
|
|
5
|
+
*
|
|
6
|
+
* Detects when the production database is N+ migrations behind the canonical
|
|
7
|
+
* migrations/ directory on main. Driver: cloud INIT-105 item 14 — prod
|
|
8
|
+
* silently accumulated 7+ migrations of drift before any human noticed; no
|
|
9
|
+
* automated detection caught it.
|
|
10
|
+
*
|
|
11
|
+
* Contract (INIT-068 / WU-2926):
|
|
12
|
+
* - checkApplicability: 'applicable' iff repo has migrations/ AND
|
|
13
|
+
* `software_delivery.gates.overrides.prod-migration-drift.connection_string_env_var`
|
|
14
|
+
* is configured. Default behaviour for repos that have not opted in is
|
|
15
|
+
* 'not-applicable' (clean opt-out — no DB credentials required).
|
|
16
|
+
* - checkPreconditions: 'satisfied' iff the configured env var resolves AND
|
|
17
|
+
* the prod DB is reachable (probe). Otherwise 'missing'.
|
|
18
|
+
* - prereq_strategy: 'auto-skip' (advisory; non-prod / disconnected runs
|
|
19
|
+
* auto-skip rather than block).
|
|
20
|
+
* - skippable_default: true (per-repo override surface to make safety-critical).
|
|
21
|
+
*
|
|
22
|
+
* NOT registered into local `wu:prep` by default — most repos won't have
|
|
23
|
+
* PROD_DATABASE_URL configured locally. The gate auto-skips not-applicable
|
|
24
|
+
* until the override is set, so adding it to the registry is safe.
|
|
25
|
+
*
|
|
26
|
+
* Per-repo override surface:
|
|
27
|
+
* software_delivery.gates.overrides.prod-migration-drift.connection_string_env_var=PROD_DATABASE_URL
|
|
28
|
+
* software_delivery.gates.overrides.prod-migration-drift.threshold=5
|
|
29
|
+
* software_delivery.gates.overrides.prod-migration-drift.skippable=false # tighten
|
|
30
|
+
*
|
|
31
|
+
* @module gates/prod-migration-drift
|
|
32
|
+
*/
|
|
33
|
+
import { existsSync, readdirSync, statSync } from 'node:fs';
|
|
34
|
+
import path from 'node:path';
|
|
35
|
+
import { GATE_NAMES } from '@lumenflow/core/wu-constants';
|
|
36
|
+
import { getGatesSection } from '@lumenflow/packs-software-delivery/policy/gates-config-internal';
|
|
37
|
+
import { makeGateLogger } from '../gates-utils.js';
|
|
38
|
+
/** WU-2944: default drift threshold (failed when drift > threshold). */
|
|
39
|
+
export const DEFAULT_DRIFT_THRESHOLD = 5;
|
|
40
|
+
/** WU-2944: canonical override key for `pnpm config:set`. */
|
|
41
|
+
export const PROD_MIGRATION_DRIFT_OVERRIDE_KEY = 'software_delivery.gates.overrides.prod-migration-drift';
|
|
42
|
+
const MIGRATIONS_DIRNAME = 'migrations';
|
|
43
|
+
const SQL_FILE_PATTERN = /\.sql$/i;
|
|
44
|
+
/**
|
|
45
|
+
* Compute the set of migrations present on main but not applied to prod.
|
|
46
|
+
*
|
|
47
|
+
* Pure function: deterministic, no IO. The "drift" we surface is one-directional
|
|
48
|
+
* (main → prod). Migrations applied on prod that no longer exist on main are
|
|
49
|
+
* a separate concern (rollback / stale snapshot) and not flagged here.
|
|
50
|
+
*/
|
|
51
|
+
export function detectMigrationDrift(input) {
|
|
52
|
+
const applied = new Set(input.appliedMigrations);
|
|
53
|
+
const missingFromProd = input.mainMigrations.filter((m) => !applied.has(m));
|
|
54
|
+
const driftCount = missingFromProd.length;
|
|
55
|
+
return {
|
|
56
|
+
missingFromProd,
|
|
57
|
+
driftCount,
|
|
58
|
+
failed: driftCount > input.threshold,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Read the canonical migrations/ directory and return `.sql` filenames in
|
|
63
|
+
* lexicographic order. Returns `[]` when the directory does not exist (which
|
|
64
|
+
* is also the clean opt-out signal for `checkApplicability`).
|
|
65
|
+
*/
|
|
66
|
+
export function readMigrationsDir(cwd) {
|
|
67
|
+
const dir = path.join(cwd, MIGRATIONS_DIRNAME);
|
|
68
|
+
try {
|
|
69
|
+
if (!existsSync(dir))
|
|
70
|
+
return [];
|
|
71
|
+
if (!statSync(dir).isDirectory())
|
|
72
|
+
return [];
|
|
73
|
+
return readdirSync(dir)
|
|
74
|
+
.filter((f) => SQL_FILE_PATTERN.test(f))
|
|
75
|
+
.sort();
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
return [];
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Read `software_delivery.gates.overrides.prod-migration-drift` from
|
|
83
|
+
* workspace.yaml. Returns undefined when missing or malformed so callers
|
|
84
|
+
* fall through to "not-applicable" (clean opt-out).
|
|
85
|
+
*/
|
|
86
|
+
function readOverride(cwd) {
|
|
87
|
+
try {
|
|
88
|
+
const section = getGatesSection(cwd);
|
|
89
|
+
const raw = section?.overrides?.[GATE_NAMES.PROD_MIGRATION_DRIFT];
|
|
90
|
+
if (raw && typeof raw === 'object' && !Array.isArray(raw)) {
|
|
91
|
+
return raw;
|
|
92
|
+
}
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function resolveThreshold(override) {
|
|
100
|
+
const t = override?.threshold;
|
|
101
|
+
if (typeof t === 'number' && Number.isInteger(t) && t >= 0)
|
|
102
|
+
return t;
|
|
103
|
+
return DEFAULT_DRIFT_THRESHOLD;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Default probe: refuses to attempt a real DB connection from the gate
|
|
107
|
+
* runtime — the gate intentionally ships without a Postgres driver dependency
|
|
108
|
+
* to keep `@lumenflow/cli` slim. Real prod-drift detection happens in CI
|
|
109
|
+
* workflows (or via a project-supplied probe), not on every local `wu:prep`.
|
|
110
|
+
*
|
|
111
|
+
* In CI, the gate is invoked with a probe injected via
|
|
112
|
+
* `ctx.__prodDriftProbe` (see scheduled prod-drift workflow). When no probe
|
|
113
|
+
* is supplied, we report unreachable so the runtime cleanly auto-skips
|
|
114
|
+
* (`prereq_strategy: 'auto-skip'`) rather than fabricating a passing result.
|
|
115
|
+
*/
|
|
116
|
+
const defaultProbe = () => Promise.resolve({ reachable: false, applied: [] });
|
|
117
|
+
function readProbe(ctx) {
|
|
118
|
+
const ext = ctx;
|
|
119
|
+
return ext.__prodDriftProbe ?? defaultProbe;
|
|
120
|
+
}
|
|
121
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
122
|
+
// Gate definition (INIT-068 contract)
|
|
123
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
124
|
+
async function checkApplicability(ctx) {
|
|
125
|
+
const cwd = ctx.cwd ?? process.cwd();
|
|
126
|
+
const override = readOverride(cwd);
|
|
127
|
+
if (!override?.connection_string_env_var)
|
|
128
|
+
return 'not-applicable';
|
|
129
|
+
if (readMigrationsDir(cwd).length === 0)
|
|
130
|
+
return 'not-applicable';
|
|
131
|
+
return 'applicable';
|
|
132
|
+
}
|
|
133
|
+
async function checkPreconditions(ctx) {
|
|
134
|
+
const cwd = ctx.cwd ?? process.cwd();
|
|
135
|
+
const override = readOverride(cwd);
|
|
136
|
+
const envVar = override?.connection_string_env_var;
|
|
137
|
+
if (!envVar)
|
|
138
|
+
return 'missing';
|
|
139
|
+
const connectionString = process.env[envVar];
|
|
140
|
+
if (!connectionString || connectionString.length === 0)
|
|
141
|
+
return 'missing';
|
|
142
|
+
// Probe reachability. Default probe always reports unreachable so missing
|
|
143
|
+
// CI/probe injection auto-skips cleanly under `prereq_strategy: 'auto-skip'`.
|
|
144
|
+
const probe = readProbe(ctx);
|
|
145
|
+
try {
|
|
146
|
+
const result = await probe({ connectionString, cwd });
|
|
147
|
+
return result.reachable ? 'satisfied' : 'missing';
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
return 'missing';
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
async function run(ctx) {
|
|
154
|
+
const start = Date.now();
|
|
155
|
+
const cwd = ctx.cwd ?? process.cwd();
|
|
156
|
+
const logLine = makeGateLogger({
|
|
157
|
+
agentLog: ctx.agentLog ?? null,
|
|
158
|
+
useAgentMode: ctx.useAgentMode,
|
|
159
|
+
});
|
|
160
|
+
logLine('\n> prod-migration-drift check\n');
|
|
161
|
+
const override = readOverride(cwd);
|
|
162
|
+
const envVar = override?.connection_string_env_var;
|
|
163
|
+
if (!envVar) {
|
|
164
|
+
// checkApplicability should have prevented this; defensive auto-pass.
|
|
165
|
+
logLine('ℹ️ No prod-migration-drift override configured; skipping.');
|
|
166
|
+
return { ok: true, duration: Date.now() - start };
|
|
167
|
+
}
|
|
168
|
+
const connectionString = process.env[envVar];
|
|
169
|
+
if (!connectionString) {
|
|
170
|
+
logLine(`ℹ️ Env var ${envVar} not set; skipping (auto-skip).`);
|
|
171
|
+
return { ok: true, duration: Date.now() - start };
|
|
172
|
+
}
|
|
173
|
+
const mainMigrations = readMigrationsDir(cwd);
|
|
174
|
+
const probe = readProbe(ctx);
|
|
175
|
+
const probeResult = await probe({ connectionString, cwd });
|
|
176
|
+
if (!probeResult.reachable) {
|
|
177
|
+
logLine(`⚠️ Prod DB unreachable via ${envVar}; skipping (auto-skip).`);
|
|
178
|
+
return { ok: true, duration: Date.now() - start };
|
|
179
|
+
}
|
|
180
|
+
const threshold = resolveThreshold(override);
|
|
181
|
+
const drift = detectMigrationDrift({
|
|
182
|
+
mainMigrations,
|
|
183
|
+
appliedMigrations: probeResult.applied,
|
|
184
|
+
threshold,
|
|
185
|
+
});
|
|
186
|
+
if (!drift.failed) {
|
|
187
|
+
logLine(`prod-migration-drift check passed (drift=${drift.driftCount}, threshold=${threshold}).`);
|
|
188
|
+
return { ok: true, duration: Date.now() - start };
|
|
189
|
+
}
|
|
190
|
+
logLine(`❌ prod-migration-drift: prod is ${drift.driftCount} migration(s) behind main (threshold=${threshold}).`);
|
|
191
|
+
for (const m of drift.missingFromProd) {
|
|
192
|
+
logLine(` - missing from prod: ${m}`);
|
|
193
|
+
}
|
|
194
|
+
logLine('Hint: review the migration backlog before deploying. Apply migrations to prod incrementally, ' +
|
|
195
|
+
'or split deploys to land smaller migration sequences. To raise/lower the threshold per repo: ' +
|
|
196
|
+
`\`pnpm config:set ${PROD_MIGRATION_DRIFT_OVERRIDE_KEY}.threshold=<n>\`.`);
|
|
197
|
+
return { ok: false, duration: Date.now() - start };
|
|
198
|
+
}
|
|
199
|
+
export const prodMigrationDriftGate = {
|
|
200
|
+
name: GATE_NAMES.PROD_MIGRATION_DRIFT,
|
|
201
|
+
run,
|
|
202
|
+
skippable_default: true,
|
|
203
|
+
prereq_strategy: 'auto-skip',
|
|
204
|
+
checkApplicability,
|
|
205
|
+
checkPreconditions,
|
|
206
|
+
};
|
|
207
|
+
//# sourceMappingURL=prod-migration-drift.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prod-migration-drift.js","sourceRoot":"","sources":["../../src/gates/prod-migration-drift.ts"],"names":[],"mappings":"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"}
|