Developer
Hendrik Liebau
mail@hendrik-liebau.de
Performance
YoY:+533%Key patterns and highlights from this developer's activity.
Breakdown of growth, maintenance, and fixes effort over time.
Bugs introduced vs. fixed over time.
Reclassifies engineering effort based on bug attribution. Commits that introduced bugs are retrospectively counted as poor investments.
Investment Quality reclassifies engineering effort based on bug attribution data. Commits identified as buggy origins (those that introduced bugs later fixed by someone) have their grow and maintenance time moved into the Wasted Time category. Their waste (fix commits) remains counted as productive. All other commits retain their standard classification: grow is productive, maintenance is maintenance, and waste (fixes) is productive.
The standard model classifies commits as Growth, Maintenance, or Fixes. Investment Quality adds a quality lens: a commit that introduced a bug is retrospectively counted as a poor investment — the engineering time spent on it was wasted because it ultimately required additional fix work. Fix commits (Fixes in the standard model) are reframed as productive, because fixing bugs is valuable work.
Currently computed client-side from commit and bug attribution data. Ideal server-side endpoint:
POST /v1/organizations/{orgId}/investment-quality
Content-Type: application/json
Request:
{
"startTime": "2025-01-01T00:00:00Z",
"endTime": "2025-12-31T23:59:59Z",
"bucketSize": "BUCKET_SIZE_MONTH",
"groupBy": ["repository_id" | "deliverer_email"]
}
Response:
{
"productivePct": 74,
"maintenancePct": 18,
"wastedPct": 8,
"buckets": [
{
"bucketStart": "2025-01-01T00:00:00Z",
"productive": 4.2,
"maintenance": 1.8,
"wasted": 0.6
}
]
}Latest analyzed commits from this developer.
| Hash | Message | Date | Files |
|---|
Commit activity distribution by hour and day of week. Shows when this developer is most active.
Developers who frequently work on the same files and symbols. Higher score means stronger code collaboration.
| Effort |
|---|
| a215ea60 | This commit introduces a **new capability** to enable `varyParams` tracking for **Cached Navigations** within the **App Router**. It integrates `varyParamsAccumulator` initialization and finalization into the server-side rendering process (`app-render.tsx`) and extends the accumulation logic to include `'request'` work units. This ensures that cached page segments are correctly invalidated or reused based on varying request parameters, improving the reliability of **segment cache** reuse. The change also involves refactoring stream decoding in `fetch-server-response.ts` to support this and adds comprehensive **e2e tests** to validate the new tracking behavior. | Mar 31 | 11 | maint |
| 2aabb6de | This commit **reverts** the "hashed cell mode" feature previously introduced in **Turbopack's change detection mechanism**, which aimed to enable hash-based change detection without cell data. The original change led to **critical build failures** in `filesystem-cache` tests, specifically "Cell no longer exists" errors during `app-page.js` analysis. This **bug fix** removes the problematic logic across **`turbo-tasks`**, **`turbo-tasks-backend`**, **`turbo-tasks-fs`**, and **`turbopack-core`** components, including the `PersistedFileContent` enum and `serialization = "hash"` attributes. The revert ensures the **stability** of the Turbopack build system by eliminating these regressions. | Mar 30 | 20 | waste |
| c53f5863 | This commit addresses **test flakiness** in the **`app-dir` prefetching end-to-end test suite**, specifically within `test/e2e/app-dir/app-prefetch/prefetching.test.ts`. A `retry` mechanism has been added to an assertion to account for timing issues where elements were not immediately visible after a click, a problem exacerbated by a recent Playwright upgrade. This **test maintenance** ensures the **reliability of the CI pipeline** by preventing intermittent failures and accurately validating the **`app-dir` prefetching functionality**. | Mar 23 | 1 | maint |
| 432b3f96 | This commit **unflakes** the `use-node-streams-env-precedence` **test** to improve its reliability in slow CI environments. It **removes a low custom test timeout** and conditional skips, allowing ample time for test fixture generation and preventing premature failures. Furthermore, the test is **relocated from `test/e2e` to `test/production`** since it specifically validates build output, optimizing its execution context. This **test maintenance** work enhances the overall **stability of the test suite** and contributes to more consistent CI/CD pipeline results. | Mar 20 | 4 | maint |
| 8cbc0377 | This commit delivers a **bug fix** addressing incorrect behavior of **server actions** in **standalone mode** when `cacheComponents` is enabled, specifically on **dynamic SSG routes**. Previously, server action requests on these routes would inadvertently trigger fallback rendering due to an erroneous `staticPathKey` computation, leading to an HTML shell being served instead of the pure RSC action result. The fix modifies the server-side rendering logic to exclude server action requests from this `staticPathKey` condition, ensuring they receive the correct response. This restores proper functionality for **server actions** within the **Next.js runtime** in these specific production environments. | Mar 20 | 8 | maint |
| 542b2b02 | This commit **fixes a timeout and race condition** within the **`edge-async-local-storage` E2E test suite**. Previously, the test setup was performed per test case, causing Vercel deployments to exceed the 60-second test timeout and leading to `TypeError`s and instance conflicts. The **test refactoring** now utilizes `nextTestSetup` to deploy the Next.js instance once in `beforeAll`, leveraging a longer setup timeout and preventing subsequent tests from failing due to stale instances. This ensures the **`edge-async-local-storage` tests** run reliably by properly managing the Next.js instance lifecycle and externalizing API route fixtures. | Mar 20 | 3 | maint |
| 9f181bd1 | This commit performs **test maintenance** to address **flakiness** in the **development rendering indicator** and **build activity indicator** tests. It **skips the build indicator tests** in `test/e2e/build-indicator/test/index.test.ts` due to their unreliability with a recently introduced 400ms delay, as test apps often compile too quickly. Concurrently, it **unflakes the rendering indicator test** by increasing the `setTimeout` delay in the `app/rendering/a/page.js` and `app/rendering/b/page.js` test components, ensuring the indicator remains visible long enough for detection. This work improves the stability of the **CI/CD pipeline** by preventing intermittent failures related to these **developer experience indicators**. | Mar 20 | 4 | maint |
| 4693685b | This commit implements a **test fix** to resolve **flakiness** in the **client navigation URL hash tests**. It introduces retry logic to various assertions within `test/development/pages-dir/client-navigation/url-hash.test.ts`, which were intermittently failing. This change specifically addresses issues exposed by a recent Playwright upgrade, ensuring the stability and reliability of the test suite. The improved test robustness prevents false negatives, enhancing confidence in the correct handling of URL hash changes during client-side navigation. | Mar 19 | 1 | maint |
| d57459c3 | This commit performs **test maintenance** by increasing the `retry` timeouts for two specific end-to-end tests within the **`app-action`** suite. This change addresses **flakiness** observed in tests related to `app-action` handling of redirects with invalid RSC responses and interception routes. By extending the timeout, the goal is to improve the **stability and reliability of the CI/CD pipeline** by preventing intermittent failures that are not indicative of actual regressions. This ensures more accurate test results without impacting the application's runtime behavior. | Mar 19 | 1 | maint |
| 1e40c7c9 | This commit performs **test maintenance** to **reduce CI flakiness** by **increasing the timeout** for the `deterministic build - changing deployment id` integration test. The test, located in `test/production/deterministic-build/deployment-id.test.ts`, frequently timed out in CI due to its execution time nearing the previous 60-second limit. The timeout is now extended to 120 seconds, and the test configuration is refined with `as const` for test modes and conditional timeouts for `it` blocks. This change significantly improves the **reliability of the deterministic build testing suite**, ensuring more consistent verification of **Turbopack's build output**. | Mar 19 | 1 | maint |
| 88e21cf8 | This commit addresses **test flakiness** in the `server-components-hmr-cache` suite by **unflaking** the `should support reading from an infinite streaming fetch` test. Previously, this test frequently timed out on slow CI machines due to an overly aggressive 10-second custom timeout. The change involves **removing this custom timeout** from `test/development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts`, allowing the test to utilize the default 60-second timeout. This **test maintenance fix** significantly improves the **reliability of the CI pipeline** by preventing spurious failures and ensuring more consistent validation of the **App Router's HMR cache** functionality for streaming fetches. | Mar 19 | 1 | maint |
| 649d3026 | This commit **fixes flakiness** in the **router events deploy test** (`test/e2e/basepath/router-events.test.ts`), which became unstable after a recent Playwright upgrade. It addresses this by wrapping event log assertions in a `retry` mechanism to ensure they pass reliably. Additionally, the deprecated `check` utility is replaced with `retry` for waiting on router readiness, further enhancing test robustness. This **maintenance** change improves the stability and reliability of the E2E test suite, preventing intermittent failures. | Mar 18 | 1 | maint |
| 89c6e73c | This commit addresses **flakiness** in two **`use cache` end-to-end tests** within the `app-dir` module, specifically in `test/e2e/app-dir/use-cache/use-cache.test.ts`. It **improves test stability** by introducing `retry` blocks around assertions that occur after a reset button is clicked, which were previously missing and causing intermittent failures. This **test maintenance** ensures that tests like `"use-cache should cache results for cached functions imported from client components"` no longer fail spuriously. The change helps to prevent false negatives in the CI/CD pipeline, leading to more reliable detection of actual regressions related to the **caching mechanism**. | Mar 17 | 1 | maint |
| a46ff7c8 | This commit **enhances error handling** within Next.js's **`generateStaticParams` function** by modifying the `getRootParam` utility. Previously, attempting to access an undefined root parameter would silently return `undefined`, potentially leading to runtime issues and type safety violations. Now, `getRootParam` will **throw an explicit error** when a requested root parameter is not present, providing clearer feedback to developers. This **bug fix** prevents silent failures and ensures more predictable behavior, especially in anticipation of stricter type definitions for root parameter getters. It impacts how developers must correctly define and access root parameters within their `generateStaticParams` implementations, improving overall application robustness. | Mar 17 | 6 | maint |
| 23fa2787 | This commit resolves an **inconsistency in cache metadata propagation** within the **prerendering system**, specifically concerning `cache life` and `tags` for `use cache` entries. Previously, cache handler hits would unconditionally propagate metadata, unlike newly generated entries which deferred propagation, potentially leading to incorrect `cache life` being applied to the prerender store. This **bug fix** introduces a new helper function, `maybePropagateCacheEntryMetadata` in `use-cache-wrapper.ts`, to centralize and consistently apply conditional propagation logic across both the generation path and cache handler hit path. This ensures accurate **cache handling** and prevents potential future issues in the prerendering architecture, even though the inconsistency was previously masked by the two-phase prerender process. | Mar 17 | 1 | waste |
| 8283b126 | This commit introduces **support for accessing root parameters** like `lang` within **`"use cache"` functions**, allowing cache entries to be automatically keyed by these dynamic values. To achieve this, a **two-key caching scheme** is implemented for the cache handler, using a coarse key for a redirect entry that encodes root parameter names and a specific key for the actual cached data. This **new capability** significantly enhances the **Next.js caching system** by enabling more dynamic and context-aware cached components. It also includes updates to the Resume Data Cache (RDC) and adds specific error messages for attempts to read root parameters within `unstable_cache` or nested `"use cache"` calls. Extensive new E2E tests validate this behavior, ensuring robust and predictable caching. | Mar 17 | 20 | grow |
| 9bec0cce | This commit **refactors** the **`use cache` mechanism** in **Next.js** to ensure the `outerWorkUnitStore` is always defined, eliminating previous `undefined` states during SWR background revalidation and `generateStaticParams`. A new `skipPropagation` flag in `CacheContext` now decouples propagation concerns from the store's presence, allowing SWR revalidation to retain the outer store for reading `implicitTags` and fixing a **bug** where nested cached calls received empty tags. This change significantly **cleans up** `use-cache-wrapper.ts` by removing numerous `undefined` checks and tightening type signatures. The **maintenance** work also **unblocks future support for `rootParams`** in cache keys within `use cache`. A new **end-to-end test suite** was added to validate `use cache` SWR behavior and implicit tag propagation, alongside a new error for incorrect `use cache` usage outside the App Router. | Mar 16 | 7 | maint |
| 4f693363 | This commit introduces a **new capability** by enabling **root parameter access** within `generateStaticParams` functions, allowing shared helpers to seamlessly utilize root parameters across Server Components and static generation. It achieves this by providing a dedicated `GenerateStaticParamsStore` within the **work unit async storage** context for each `generateStaticParams` call. Concurrently, this **enhancement** refines error handling for **request-time APIs** like `headers()` and `cookies()` when invoked inside `generateStaticParams`, replacing generic messages with specific errors. This comprehensive **internal framework integration** ensures proper scoping for `generateStaticParams` execution across various internal modules. The change also unblocks future improvements to the `use cache` wrapper by guaranteeing a `WorkUnitStore` is always present during `generateStaticParams` execution. | Mar 16 | 37 | grow |
| 69e2b9df | This commit introduces a **new test suite** to validate the expected error behavior when **request-specific APIs** like `cookies()`, `headers()`, `connection()`, `draftMode()`, and `next/root-params` are invoked within **`generateStaticParams`** in the Next.js App Router. The tests confirm that these calls correctly throw errors, as `generateStaticParams` operates without a work unit store. This **maintenance** work enhances the **test coverage** for `generateStaticParams`, ensuring its limitations regarding request-scoped APIs are properly enforced and communicated. The suite builds each route individually using `--debug-build-paths` to capture and assert on specific errors for each API. | Mar 13 | 8 | maint |
| 834c41ef | This commit **fixes a critical bug** in the **instant navigation shell** that caused incorrect handling of dynamic segments when the testing cookie was set. Previously, it treated all dynamic segments as fallback parameters, leading to `NEXT_STATIC_GEN_BAILOUT` errors for root parameters and incorrectly excluding parameters defined by `generateStaticParams`. The fix now leverages `prerenderInfo?.fallbackRouteParams` from the prerender manifest to correctly distinguish between statically known and unknown parameters, ensuring `generateStaticParams` is respected within the instant shell. This required updating `packages/next/src/server/dev/next-dev-server.ts` to populate `fallbackRouteParams` in dev mode and overriding `fallbackParams` request metadata during debug static shell rendering. This **improves the accuracy and reliability of instant navigation testing**, particularly for applications utilizing static generation and root parameters. | Mar 13 | 17 | maint |
This commit introduces a **new capability** to enable `varyParams` tracking for **Cached Navigations** within the **App Router**. It integrates `varyParamsAccumulator` initialization and finalization into the server-side rendering process (`app-render.tsx`) and extends the accumulation logic to include `'request'` work units. This ensures that cached page segments are correctly invalidated or reused based on varying request parameters, improving the reliability of **segment cache** reuse. The change also involves refactoring stream decoding in `fetch-server-response.ts` to support this and adds comprehensive **e2e tests** to validate the new tracking behavior.
This commit **reverts** the "hashed cell mode" feature previously introduced in **Turbopack's change detection mechanism**, which aimed to enable hash-based change detection without cell data. The original change led to **critical build failures** in `filesystem-cache` tests, specifically "Cell no longer exists" errors during `app-page.js` analysis. This **bug fix** removes the problematic logic across **`turbo-tasks`**, **`turbo-tasks-backend`**, **`turbo-tasks-fs`**, and **`turbopack-core`** components, including the `PersistedFileContent` enum and `serialization = "hash"` attributes. The revert ensures the **stability** of the Turbopack build system by eliminating these regressions.
This commit addresses **test flakiness** in the **`app-dir` prefetching end-to-end test suite**, specifically within `test/e2e/app-dir/app-prefetch/prefetching.test.ts`. A `retry` mechanism has been added to an assertion to account for timing issues where elements were not immediately visible after a click, a problem exacerbated by a recent Playwright upgrade. This **test maintenance** ensures the **reliability of the CI pipeline** by preventing intermittent failures and accurately validating the **`app-dir` prefetching functionality**.
This commit **unflakes** the `use-node-streams-env-precedence` **test** to improve its reliability in slow CI environments. It **removes a low custom test timeout** and conditional skips, allowing ample time for test fixture generation and preventing premature failures. Furthermore, the test is **relocated from `test/e2e` to `test/production`** since it specifically validates build output, optimizing its execution context. This **test maintenance** work enhances the overall **stability of the test suite** and contributes to more consistent CI/CD pipeline results.
This commit delivers a **bug fix** addressing incorrect behavior of **server actions** in **standalone mode** when `cacheComponents` is enabled, specifically on **dynamic SSG routes**. Previously, server action requests on these routes would inadvertently trigger fallback rendering due to an erroneous `staticPathKey` computation, leading to an HTML shell being served instead of the pure RSC action result. The fix modifies the server-side rendering logic to exclude server action requests from this `staticPathKey` condition, ensuring they receive the correct response. This restores proper functionality for **server actions** within the **Next.js runtime** in these specific production environments.
This commit **fixes a timeout and race condition** within the **`edge-async-local-storage` E2E test suite**. Previously, the test setup was performed per test case, causing Vercel deployments to exceed the 60-second test timeout and leading to `TypeError`s and instance conflicts. The **test refactoring** now utilizes `nextTestSetup` to deploy the Next.js instance once in `beforeAll`, leveraging a longer setup timeout and preventing subsequent tests from failing due to stale instances. This ensures the **`edge-async-local-storage` tests** run reliably by properly managing the Next.js instance lifecycle and externalizing API route fixtures.
This commit performs **test maintenance** to address **flakiness** in the **development rendering indicator** and **build activity indicator** tests. It **skips the build indicator tests** in `test/e2e/build-indicator/test/index.test.ts` due to their unreliability with a recently introduced 400ms delay, as test apps often compile too quickly. Concurrently, it **unflakes the rendering indicator test** by increasing the `setTimeout` delay in the `app/rendering/a/page.js` and `app/rendering/b/page.js` test components, ensuring the indicator remains visible long enough for detection. This work improves the stability of the **CI/CD pipeline** by preventing intermittent failures related to these **developer experience indicators**.
This commit implements a **test fix** to resolve **flakiness** in the **client navigation URL hash tests**. It introduces retry logic to various assertions within `test/development/pages-dir/client-navigation/url-hash.test.ts`, which were intermittently failing. This change specifically addresses issues exposed by a recent Playwright upgrade, ensuring the stability and reliability of the test suite. The improved test robustness prevents false negatives, enhancing confidence in the correct handling of URL hash changes during client-side navigation.
This commit performs **test maintenance** by increasing the `retry` timeouts for two specific end-to-end tests within the **`app-action`** suite. This change addresses **flakiness** observed in tests related to `app-action` handling of redirects with invalid RSC responses and interception routes. By extending the timeout, the goal is to improve the **stability and reliability of the CI/CD pipeline** by preventing intermittent failures that are not indicative of actual regressions. This ensures more accurate test results without impacting the application's runtime behavior.
This commit performs **test maintenance** to **reduce CI flakiness** by **increasing the timeout** for the `deterministic build - changing deployment id` integration test. The test, located in `test/production/deterministic-build/deployment-id.test.ts`, frequently timed out in CI due to its execution time nearing the previous 60-second limit. The timeout is now extended to 120 seconds, and the test configuration is refined with `as const` for test modes and conditional timeouts for `it` blocks. This change significantly improves the **reliability of the deterministic build testing suite**, ensuring more consistent verification of **Turbopack's build output**.
This commit addresses **test flakiness** in the `server-components-hmr-cache` suite by **unflaking** the `should support reading from an infinite streaming fetch` test. Previously, this test frequently timed out on slow CI machines due to an overly aggressive 10-second custom timeout. The change involves **removing this custom timeout** from `test/development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts`, allowing the test to utilize the default 60-second timeout. This **test maintenance fix** significantly improves the **reliability of the CI pipeline** by preventing spurious failures and ensuring more consistent validation of the **App Router's HMR cache** functionality for streaming fetches.
This commit **fixes flakiness** in the **router events deploy test** (`test/e2e/basepath/router-events.test.ts`), which became unstable after a recent Playwright upgrade. It addresses this by wrapping event log assertions in a `retry` mechanism to ensure they pass reliably. Additionally, the deprecated `check` utility is replaced with `retry` for waiting on router readiness, further enhancing test robustness. This **maintenance** change improves the stability and reliability of the E2E test suite, preventing intermittent failures.
This commit addresses **flakiness** in two **`use cache` end-to-end tests** within the `app-dir` module, specifically in `test/e2e/app-dir/use-cache/use-cache.test.ts`. It **improves test stability** by introducing `retry` blocks around assertions that occur after a reset button is clicked, which were previously missing and causing intermittent failures. This **test maintenance** ensures that tests like `"use-cache should cache results for cached functions imported from client components"` no longer fail spuriously. The change helps to prevent false negatives in the CI/CD pipeline, leading to more reliable detection of actual regressions related to the **caching mechanism**.
This commit **enhances error handling** within Next.js's **`generateStaticParams` function** by modifying the `getRootParam` utility. Previously, attempting to access an undefined root parameter would silently return `undefined`, potentially leading to runtime issues and type safety violations. Now, `getRootParam` will **throw an explicit error** when a requested root parameter is not present, providing clearer feedback to developers. This **bug fix** prevents silent failures and ensures more predictable behavior, especially in anticipation of stricter type definitions for root parameter getters. It impacts how developers must correctly define and access root parameters within their `generateStaticParams` implementations, improving overall application robustness.
This commit resolves an **inconsistency in cache metadata propagation** within the **prerendering system**, specifically concerning `cache life` and `tags` for `use cache` entries. Previously, cache handler hits would unconditionally propagate metadata, unlike newly generated entries which deferred propagation, potentially leading to incorrect `cache life` being applied to the prerender store. This **bug fix** introduces a new helper function, `maybePropagateCacheEntryMetadata` in `use-cache-wrapper.ts`, to centralize and consistently apply conditional propagation logic across both the generation path and cache handler hit path. This ensures accurate **cache handling** and prevents potential future issues in the prerendering architecture, even though the inconsistency was previously masked by the two-phase prerender process.
This commit introduces **support for accessing root parameters** like `lang` within **`"use cache"` functions**, allowing cache entries to be automatically keyed by these dynamic values. To achieve this, a **two-key caching scheme** is implemented for the cache handler, using a coarse key for a redirect entry that encodes root parameter names and a specific key for the actual cached data. This **new capability** significantly enhances the **Next.js caching system** by enabling more dynamic and context-aware cached components. It also includes updates to the Resume Data Cache (RDC) and adds specific error messages for attempts to read root parameters within `unstable_cache` or nested `"use cache"` calls. Extensive new E2E tests validate this behavior, ensuring robust and predictable caching.
This commit **refactors** the **`use cache` mechanism** in **Next.js** to ensure the `outerWorkUnitStore` is always defined, eliminating previous `undefined` states during SWR background revalidation and `generateStaticParams`. A new `skipPropagation` flag in `CacheContext` now decouples propagation concerns from the store's presence, allowing SWR revalidation to retain the outer store for reading `implicitTags` and fixing a **bug** where nested cached calls received empty tags. This change significantly **cleans up** `use-cache-wrapper.ts` by removing numerous `undefined` checks and tightening type signatures. The **maintenance** work also **unblocks future support for `rootParams`** in cache keys within `use cache`. A new **end-to-end test suite** was added to validate `use cache` SWR behavior and implicit tag propagation, alongside a new error for incorrect `use cache` usage outside the App Router.
This commit introduces a **new capability** by enabling **root parameter access** within `generateStaticParams` functions, allowing shared helpers to seamlessly utilize root parameters across Server Components and static generation. It achieves this by providing a dedicated `GenerateStaticParamsStore` within the **work unit async storage** context for each `generateStaticParams` call. Concurrently, this **enhancement** refines error handling for **request-time APIs** like `headers()` and `cookies()` when invoked inside `generateStaticParams`, replacing generic messages with specific errors. This comprehensive **internal framework integration** ensures proper scoping for `generateStaticParams` execution across various internal modules. The change also unblocks future improvements to the `use cache` wrapper by guaranteeing a `WorkUnitStore` is always present during `generateStaticParams` execution.
This commit introduces a **new test suite** to validate the expected error behavior when **request-specific APIs** like `cookies()`, `headers()`, `connection()`, `draftMode()`, and `next/root-params` are invoked within **`generateStaticParams`** in the Next.js App Router. The tests confirm that these calls correctly throw errors, as `generateStaticParams` operates without a work unit store. This **maintenance** work enhances the **test coverage** for `generateStaticParams`, ensuring its limitations regarding request-scoped APIs are properly enforced and communicated. The suite builds each route individually using `--debug-build-paths` to capture and assert on specific errors for each API.
This commit **fixes a critical bug** in the **instant navigation shell** that caused incorrect handling of dynamic segments when the testing cookie was set. Previously, it treated all dynamic segments as fallback parameters, leading to `NEXT_STATIC_GEN_BAILOUT` errors for root parameters and incorrectly excluding parameters defined by `generateStaticParams`. The fix now leverages `prerenderInfo?.fallbackRouteParams` from the prerender manifest to correctly distinguish between statically known and unknown parameters, ensuring `generateStaticParams` is respected within the instant shell. This required updating `packages/next/src/server/dev/next-dev-server.ts` to populate `fallbackRouteParams` in dev mode and overriding `fallbackParams` request metadata during debug static shell rendering. This **improves the accuracy and reliability of instant navigation testing**, particularly for applications utilizing static generation and root parameters.