test(cron): pin arming-failure isolation and the shared arming/ingest budget
Two properties the cron tick relied on but nothing pinned: - Arming-failure isolation: when the search sink's settings/arming fetch rejects, the tick must still 200 and ingest must still run. The existing cron test mocks the contrail module wholesale, replacing the real ensureInit, so a regression deleting ensureInit's try/catch passed the suite. The new arming-isolation test runs the REAL ensureInit (stubbing only the Contrail engine and forcing applyMeiliSettings to reject) so that try/catch is actually exercised — deleting it turns the test red (ingest stops running). - Shared budget: a slow arm plus a stalling ingest must still settle within the hard backstop and reach the post-ingest stages. With fake timers, advancing exactly the hard budget settles the tick; if arming were awaited before the race (the old additive shape) the tick would not settle.