refactor(rc): decouple enablement from registration#16539
refactor(rc): decouple enablement from registration#16539
Conversation
This comment has been minimized.
This comment has been minimized.
Performance SLOsComparing candidate gab/refactor/rc-split-registration-enablement (13edac7) with baseline main (bf95f7c) 📈 Performance Regressions (1 suite)📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 511.236µs (SLO: <700.000µs 📉 -27.0%) vs baseline: 📈 +19.6% Memory: ✅ 42.664MB (SLO: <46.000MB -7.3%) vs baseline: +4.5% ✅ ospathbasename_noaspectTime: ✅ 431.585µs (SLO: <700.000µs 📉 -38.3%) vs baseline: -0.9% Memory: ✅ 42.625MB (SLO: <46.000MB -7.3%) vs baseline: +4.5% ✅ ospathjoin_aspectTime: ✅ 628.267µs (SLO: <700.000µs 📉 -10.2%) vs baseline: +1.0% Memory: ✅ 42.684MB (SLO: <46.000MB -7.2%) vs baseline: +5.0% ✅ ospathjoin_noaspectTime: ✅ 630.923µs (SLO: <700.000µs -9.9%) vs baseline: ~same Memory: ✅ 42.625MB (SLO: <46.000MB -7.3%) vs baseline: +4.5% ✅ ospathnormcase_aspectTime: ✅ 347.376µs (SLO: <700.000µs 📉 -50.4%) vs baseline: -1.0% Memory: ✅ 42.703MB (SLO: <46.000MB -7.2%) vs baseline: +4.6% ✅ ospathnormcase_noaspectTime: ✅ 358.850µs (SLO: <700.000µs 📉 -48.7%) vs baseline: +0.2% Memory: ✅ 42.585MB (SLO: <46.000MB -7.4%) vs baseline: +4.4% ✅ ospathsplit_aspectTime: ✅ 489.932µs (SLO: <700.000µs 📉 -30.0%) vs baseline: -0.8% Memory: ✅ 42.802MB (SLO: <46.000MB -7.0%) vs baseline: +4.6% ✅ ospathsplit_noaspectTime: ✅ 497.747µs (SLO: <700.000µs 📉 -28.9%) vs baseline: -0.6% Memory: ✅ 42.703MB (SLO: <46.000MB -7.2%) vs baseline: +4.3% ✅ ospathsplitdrive_aspectTime: ✅ 378.086µs (SLO: <700.000µs 📉 -46.0%) vs baseline: +1.8% Memory: ✅ 42.566MB (SLO: <46.000MB -7.5%) vs baseline: +4.1% ✅ ospathsplitdrive_noaspectTime: ✅ 73.554µs (SLO: <700.000µs 📉 -89.5%) vs baseline: +1.5% Memory: ✅ 42.507MB (SLO: <46.000MB -7.6%) vs baseline: +4.6% ✅ ospathsplitext_aspectTime: ✅ 458.059µs (SLO: <700.000µs 📉 -34.6%) vs baseline: -0.6% Memory: ✅ 42.625MB (SLO: <46.000MB -7.3%) vs baseline: +4.8% ✅ ospathsplitext_noaspectTime: ✅ 467.228µs (SLO: <700.000µs 📉 -33.3%) vs baseline: +0.5% Memory: ✅ 42.507MB (SLO: <46.000MB -7.6%) vs baseline: +4.2% ✅ All Tests Passing (2 suites)✅ iastaspectssplit - 12/12✅ rsplit_aspectTime: ✅ 156.546µs (SLO: <250.000µs 📉 -37.4%) vs baseline: +0.9% Memory: ✅ 42.664MB (SLO: <46.000MB -7.3%) vs baseline: +4.7% ✅ rsplit_noaspectTime: ✅ 157.024µs (SLO: <250.000µs 📉 -37.2%) vs baseline: -6.0% Memory: ✅ 42.684MB (SLO: <46.000MB -7.2%) vs baseline: +4.8% ✅ split_aspectTime: ✅ 149.250µs (SLO: <250.000µs 📉 -40.3%) vs baseline: -3.2% Memory: ✅ 42.625MB (SLO: <46.000MB -7.3%) vs baseline: +4.5% ✅ split_noaspectTime: ✅ 153.853µs (SLO: <250.000µs 📉 -38.5%) vs baseline: -6.7% Memory: ✅ 42.566MB (SLO: <46.000MB -7.5%) vs baseline: +4.7% ✅ splitlines_aspectTime: ✅ 145.590µs (SLO: <250.000µs 📉 -41.8%) vs baseline: -4.4% Memory: ✅ 42.664MB (SLO: <46.000MB -7.3%) vs baseline: +4.4% ✅ splitlines_noaspectTime: ✅ 150.507µs (SLO: <250.000µs 📉 -39.8%) vs baseline: -6.3% Memory: ✅ 42.566MB (SLO: <46.000MB -7.5%) vs baseline: +4.5% ✅ iastpropagation - 8/8✅ no-propagationTime: ✅ 48.378µs (SLO: <60.000µs 📉 -19.4%) vs baseline: +0.4% Memory: ✅ 39.027MB (SLO: <42.000MB -7.1%) vs baseline: +4.6% ✅ propagation_enabledTime: ✅ 136.035µs (SLO: <190.000µs 📉 -28.4%) vs baseline: +0.6% Memory: ✅ 39.007MB (SLO: <42.000MB -7.1%) vs baseline: +4.6% ✅ propagation_enabled_100Time: ✅ 1.582ms (SLO: <2.300ms 📉 -31.2%) vs baseline: +1.8% Memory: ✅ 39.066MB (SLO: <42.000MB -7.0%) vs baseline: +4.5% ✅ propagation_enabled_1000Time: ✅ 29.147ms (SLO: <34.550ms 📉 -15.6%) vs baseline: +1.1% Memory: ✅ 39.046MB (SLO: <42.000MB -7.0%) vs baseline: +4.5% ℹ️ Scenarios Missing SLO Configuration (20 scenarios)The following scenarios exist in candidate data but have no SLO thresholds configured:
|
We refactor the RC implementation to separate callback registration from product enablement.
43d523f to
ef7b2ed
Compare
Codeowners resolved as |
…-registration-enablement
Description
We refactor the RC implementation to separate callback registration from product enablement. Generally, callbacks should be registered on product initialisation, while enablement can be deferred to the moment when the product is enabled. We can look into follow-up work on extending the product plugin interface to automatically discover RC callbacks from products and register them automatically (opt-in).
Additional Notes
Changes mostly contributed by Claude Code