KOPR R130 WPLANNER PERFORMANCE REFERENCE PRODUCTION BOUNDARY - EphemGen() and PlotGen() create immutable operations on the shared background QThread runner. - No QApplication.processEvents() and no direct heavy compute in wplanner.py. - Progress is signal-routed; elapsed time uses QTimer. JOB AND PROCESS OWNERSHIP - One operation owns at most one spawn pool. - Workers do not create nested pools. - One job owns one comet/apparition interval. - Each job performs at most one forward and one backward integration. - Element batches use one vector Astropy frame transform. DEFERRED PERSISTENCE - Fitting, validation, compression and writing use one bounded background worker. - Persistence failure, queue saturation or shutdown timeout cannot invalidate a completed ephemeris. - Cold covered interval: 1 integration. Warm covered interval: 0 integrations. DETERMINISTIC SCENARIOS - 1 comet x 4 midnights: 1 job / 1 worker. - 1 comet x 500 epochs: 1 job / 1 worker. - 4 comets x 300 epochs: 4 jobs / 4 workers. - 300 comets x 4 epochs: 300 jobs / 4 workers. SCIENTIFIC NON-REGRESSION No change to DE440s, Cowell/DOP853, element selection, light-time, topocentric geometry, provenance or Cancel semantics. WStack remains serial and isolated. QA 1767 passed, 8 skipped, 0 failed. Manifests: 342 QA / 95 CLEAN.