1- import { chmodSync , mkdtempSync , mkdirSync , rmSync , writeFileSync } from "node:fs" ;
1+ import { chmodSync , mkdtempSync , mkdirSync , readFileSync , rmSync , writeFileSync } from "node:fs" ;
22import { tmpdir } from "node:os" ;
33import { dirname , join } from "node:path" ;
44import { resolveEventLedgerDbPath } from "../../packages/loopover-miner/lib/event-ledger.js" ;
@@ -20,6 +20,14 @@ import {
2020} from "../../packages/loopover-miner/lib/status.js" ;
2121import { initLaptopState } from "../../packages/loopover-miner/lib/laptop-init.js" ;
2222
23+ // Read live, never hardcode: a hardcoded snapshot of this range (e.g. "^3.0.0") goes stale the moment
24+ // packages/loopover-miner/package.json's @loopover/engine dependency is bumped by a real release, and
25+ // silently starts asserting the WRONG expected value instead of failing loudly (confirmed live: the
26+ // linked-versions release group, #7123, bumped it to ^3.2.1 and broke a hardcoded "^3.0.0" here).
27+ const DECLARED_ENGINE_DEPENDENCY_RANGE : string = JSON . parse (
28+ readFileSync ( "packages/loopover-miner/package.json" , "utf8" ) ,
29+ ) . dependencies [ "@loopover/engine" ] ;
30+
2331const roots : string [ ] = [ ] ;
2432
2533function tempRoot ( ) {
@@ -66,15 +74,15 @@ describe("loopover-miner status/doctor (#2288)", () => {
6674 // A self-hoster asking "what's installed" needs the real resolved semver (matching what doctor's own
6775 // engine-version-skew check already shows), not the declared dependency range.
6876 expect ( status . engine . version ) . toBe ( readInstalledEnginePackageVersion ( ) ) ;
69- expect ( status . engine . version ) . not . toBe ( "^3.0.0" ) ;
77+ expect ( status . engine . version ) . not . toBe ( DECLARED_ENGINE_DEPENDENCY_RANGE ) ;
7078 } ) ;
7179
7280 it ( "buildEngineVersionDisplay prefers a real resolved version when available" , ( ) => {
7381 expect ( buildEngineVersionDisplay ( ( ) => "9.9.9" ) ) . toBe ( "9.9.9" ) ;
7482 } ) ;
7583
7684 it ( "REGRESSION: buildEngineVersionDisplay falls back to the declared dependency range when real resolution comes up empty" , ( ) => {
77- expect ( buildEngineVersionDisplay ( ( ) => null ) ) . toBe ( "^3.0.0" ) ;
85+ expect ( buildEngineVersionDisplay ( ( ) => null ) ) . toBe ( DECLARED_ENGINE_DEPENDENCY_RANGE ) ;
7886 } ) ;
7987
8088 it ( "collectStatus prefers LOOPOVER_MINER_VERSION over package.json (#4310)" , ( ) => {
0 commit comments