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
{{ message }}
Repository navigation
lint-liveness-properties.ts describe() has not been taught the live-elsewhere verdict — throws by design the day such a row opts into authorWarn #14057
Recorded from the #13483 delivery (PR #14056). Unassigned — recording only, for triage.
What
packages/lint/src/lint-liveness-properties.ts maps ledger verdicts to author-facing findings in describe() and — deliberately, per its own #11384 boundary comment — THROWS on a status it has not been taught: "either the ledger JSON has a typo, or a new status was added to the vocabulary without teaching describe() in lint-liveness-properties.ts about it". #13483 added exactly such a status: live-elsewhere (dead here by measurement, enforced in a sibling repo; first row manifest.runtime).
Reachability, measured
Not reachable today: an entry only reaches describe() after shouldWarn() says yes (authorWarn: true, or status experimental), and no live-elsewhere row carries authorWarn (the migrated manifest.runtime row does not). The day such a row opts into authorWarn: true, os lint throws — loud by design, but a crash rather than the advisory warning the author should get.
The designed repair (the throw message itself prescribes it)
Teach describe() a live-elsewhere branch with its own rule id (the #11384 lesson: verdicts imply OPPOSITE author actions, so it must not fall into the dead branch — "Remove it" is exactly wrong for a key whose enforcement is real and remote). A reasonable default hint: keep the property — it is enforced at the sibling repo's gate (for manifest.runtime: the cloud marketplace publish gate), not at load time here; see the ledger row's evidence for the enforcer. Plus a test beside the existing describe() cases.
Out of scope for #13483 (the card's surface is the ledger + gate tooling under packages/spec; packages/lint has its own suite), filed instead per the dispatch order.
Activity