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
Live temporal-refresh moves from the free wheel to the paid tiers —
correcting a licence-boundary leak.core/scoring/temporal_refresh.py
carries a BUSL-1.1 header (it is the paid live web-search refresher), but
the 3.18.0 open-core re-slice omitted it from the paid manifest, so the
3.17.0 and 3.18.0 free wheels shipped it by accident — a BUSL module
physically inside the Apache-2.0 artefact. It now ships only in director-ai-pro / director-ai-full. If you relied on guard.temporal_refresher (live web-search staleness checking) on a free
install, it was never licensed for the free tier; it is now a Pro feature
and a core-only install raises a clear "requires the advanced tier" error
(the sibling Apache-2.0 temporal_freshness staleness flagger stays
free). The temporal_consistency property gained the same friendly
guard. A parity test now fails the build if any BUSL-headered file falls
outside the paid boundary, so this cannot recur.
REUSE.toml no longer contradicts the per-file BUSL headers: an explicit
BUSL-1.1 annotation block was added for the advanced/labs source so a
reader of REUSE.toml sees the same split the file headers declare
(reuse lint was already compliant — headers are authoritative).