Takeover of three community PRs, each salvaged to its correct core and
rebased onto master:
- #2469: onboard checks (type_proliferation, pack_upgrade_available)
passed cfg:null to loadActivePack, so a schema pack selected via
`gbrain schema use` (tier-6 file-plane ~/.gbrain/config.json) never
resolved and the checks silently compared against the default pack.
Now pass loadConfig(); register schema_pack in KNOWN_CONFIG_KEYS.
Dropped the fork grab-bag (~22 unrelated files) from the original PR.
- #2479: the think synthesis prompt limited the Conflicts rule to
take-vs-take, so pages-only brains surfaced zero conflicts. Expanded
the rule to conflicts across pages and/or takes with severity tags +
a VARIANTS rule, using generic placeholder slugs per the privacy rule
(the original hardcoded contributor-brain slugs). Added env knobs
GBRAIN_THINK_GATHER_LIMIT / GBRAIN_THINK_EXCERPT_LEN /
GBRAIN_THINK_MAX_OUTPUT_TOKENS (defaults unchanged).
- #2505: checkCycleFreshness thresholds were env-only; nightly-cadence
brains need DB-plane keys + source scoping. Added
doctor.cycle_freshness.{warn,fail}_hours and
.source_{allowlist,ignorelist} (env wins over config, pace-mode
precedence). Dropped the original PR's DREAM_SOURCE_ALLOWLIST
fallback — a fork-private cron env var that exists nowhere upstream.
Co-authored-by: onchito-walks <onchito-walks@users.noreply.github.com>
Co-authored-by: Adityaranjan-VeloxAI <Adityaranjan-VeloxAI@users.noreply.github.com>
Co-authored-by: sene1337 <sene1337@users.noreply.github.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>