You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
scripts/regressions/capability-package-lifecycle.regression.ts pins the capability API level at { major: 1, minor: 8 }, but the runtime source of truth was intentionally bumped to { major: 1, minor: 9 }. The regression throws at line 86 and fails the whole pnpm regression:issues lane. This is a stale test, not a schema mistake — the schema is correctly at 1.9.
Expected behavior
capability-package-lifecycle.regression.ts tracks the current supportedCapabilityApi, and pnpm regression:issues passes.
Actual behavior
The assertion at scripts/regressions/capability-package-lifecycle.regression.ts:86 throws and aborts the lane:
Because the runner aborts at line 86, three later assertions in the same boundary block are latently wrong and would fail next once line 86 is corrected (see Recommended fix below).
It throws at capability-package-lifecycle.regression.ts:86.
Environment
Marinara Engine version: 2.4.2 (staging)
Install type: source
OS + version: N/A (test/CI lane — reproduces anywhere the regression runs)
Browser or app shell: N/A
Logs, screenshots, or video
AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal:
+ actual - expected
{
major: 1,
+ minor: 9
- minor: 8
}
at <anonymous> (scripts/regressions/capability-package-lifecycle.regression.ts:86:10)
Additional context
Root cause — the 8 → 9 bump is a deliberate feature bump; the test was not updated with it.
Introduced by commit f9369d22429b82a7b96d25c999271e318a176f71 ("fix: resolve assigned issue sweep", 2026-08-09), which is contained in origin/staging.
That commit added an optional localizations field to capabilityPackageManifestBaseSchema (locale-aware name / description / homeBrowserTab metadata with English fallback) plus packages/client/src/lib/capability-package-localization.ts. minor is the manifest feature-level ceiling that getCapabilityApiCompatibilityIssue() negotiates against (required.minor > supported.minor → install blocked), so adding a new manifest field that packages can require is exactly what a minor bump is for. The feature is already documented in CHANGELOG.md (localized capability-package Home metadata, [Feature]: Update the Home hero guidance copy #4803 / [Issue]: Complete localization coverage for dynamic Home widget content #4806).
The same commit changed the schema from minor: 8 to minor: 9 but did not touch capability-package-lifecycle.regression.ts — the classic stale-test signature.
Pre-existing on staging, not branch-specific.f9369d224 is in origin/staging, and neither capability-package.schema.ts nor capability-package-lifecycle.regression.ts differs between staging and current feature branches. Every branch that runs the regression lane inherits this red.
Recommended fix — all in scripts/regressions/capability-package-lifecycle.regression.ts; a one-line change is not enough (it re-fails downstream):
Line 122 — the unsupported-major message now reports the live supported minor: /requires capability API 2\.0; this Engine supports 1\.8/ → .../this Engine supports 1\.9/.
Lines 129–136 (unsupportedMinorManifest) — the fixture { major: 1, minor: 9 } is no longer unsupported (9 <= 9 → returns null), so the assert.match at 133–135 fails. Bump the fixture to { major: 1, minor: 10 } and update the regex at line 135 to .../requires capability API 1\.10; this Engine supports 1\.9/ to keep the "minor above the ceiling is rejected" coverage.
Lines 124–128 (currentMinorManifest, optional) — { major: 1, minor: 8 } still passes (8 <= 9), so no change is strictly required, but bumping to { major: 1, minor: 9 } keeps the "current supported minor" name honest.
Secondary (separate doc gap, does not block the lane):docs/development/optional-agent-packages.md keeps a per-bump changelog and stops at ### Capability API 1.8 Game experiences (line 65); it should gain a ### Capability API 1.9 section for the new manifest localizations field. This can be split into its own docs task. No CHANGELOG.md edit is needed — the feature entry already exists.
Impact
Blocks the full pnpm regression:issues lane / CI on every branch until the fixtures are shifted.
Template check
I DID NOT read this template and provide the requested details.
Summary
scripts/regressions/capability-package-lifecycle.regression.tspins the capability API level at{ major: 1, minor: 8 }, but the runtime source of truth was intentionally bumped to{ major: 1, minor: 9 }. The regression throws at line 86 and fails the wholepnpm regression:issueslane. This is a stale test, not a schema mistake — the schema is correctly at 1.9.Expected behavior
capability-package-lifecycle.regression.tstracks the currentsupportedCapabilityApi, andpnpm regression:issuespasses.Actual behavior
The assertion at
scripts/regressions/capability-package-lifecycle.regression.ts:86throws and aborts the lane:supportedCapabilityApiis exported frompackages/shared/src/schemas/capability-package.schema.ts:151:Because the runner aborts at line 86, three later assertions in the same boundary block are latently wrong and would fail next once line 86 is corrected (see Recommended fix below).
Steps to reproduce
staging(or any branch off it).Or the single file directly:
capability-package-lifecycle.regression.ts:86.Environment
staging)Logs, screenshots, or video
Additional context
Root cause — the 8 → 9 bump is a deliberate feature bump; the test was not updated with it.
f9369d22429b82a7b96d25c999271e318a176f71("fix: resolve assigned issue sweep", 2026-08-09), which is contained inorigin/staging.localizationsfield tocapabilityPackageManifestBaseSchema(locale-awarename/description/homeBrowserTabmetadata with English fallback) pluspackages/client/src/lib/capability-package-localization.ts.minoris the manifest feature-level ceiling thatgetCapabilityApiCompatibilityIssue()negotiates against (required.minor > supported.minor→ install blocked), so adding a new manifest field that packages can require is exactly what a minor bump is for. The feature is already documented inCHANGELOG.md(localized capability-package Home metadata, [Feature]: Update the Home hero guidance copy #4803 / [Issue]: Complete localization coverage for dynamic Home widget content #4806).minor: 8tominor: 9but did not touchcapability-package-lifecycle.regression.ts— the classic stale-test signature.Pre-existing on
staging, not branch-specific.f9369d224is inorigin/staging, and neithercapability-package.schema.tsnorcapability-package-lifecycle.regression.tsdiffers betweenstagingand current feature branches. Every branch that runs the regression lane inherits this red.Recommended fix — all in
scripts/regressions/capability-package-lifecycle.regression.ts; a one-line change is not enough (it re-fails downstream):{ major: 1, minor: 8 }→{ major: 1, minor: 9 }./requires capability API 2\.0; this Engine supports 1\.8/→.../this Engine supports 1\.9/.unsupportedMinorManifest) — the fixture{ major: 1, minor: 9 }is no longer unsupported (9 <= 9→ returnsnull), so theassert.matchat 133–135 fails. Bump the fixture to{ major: 1, minor: 10 }and update the regex at line 135 to.../requires capability API 1\.10; this Engine supports 1\.9/to keep the "minor above the ceiling is rejected" coverage.currentMinorManifest, optional) —{ major: 1, minor: 8 }still passes (8 <= 9), so no change is strictly required, but bumping to{ major: 1, minor: 9 }keeps the "current supported minor" name honest.Secondary (separate doc gap, does not block the lane):
docs/development/optional-agent-packages.mdkeeps a per-bump changelog and stops at### Capability API 1.8 Game experiences(line 65); it should gain a### Capability API 1.9section for the new manifestlocalizationsfield. This can be split into its own docs task. NoCHANGELOG.mdedit is needed — the feature entry already exists.Impact
Blocks the full
pnpm regression:issueslane / CI on every branch until the fixtures are shifted.Template check