diff --git a/headless.js b/headless.js index 648af8e..3c6bf35 100644 --- a/headless.js +++ b/headless.js @@ -2586,6 +2586,26 @@ class HeadlessSession { return { guildId: gid, keys, snapshot, stable, view } } + /** Journey stub: heal/soak post-track closure + rotation prep (Phase 1035). */ + async runMeshStabilityUiHealSoakTrackClosureJourney (guildId) { + if (!this.platform) throw new Error('headless not started') + const gid = guildId || this.platform.guild?.guild?.id + if (!gid) throw new Error('no guild') + const fs = require('bare-fs') + const path = require('bare-path') + const { + assertMeshStabilityUiHealSoakTrackClosure, + buildMeshStabilityUiHealSoakTrackClosureSnapshot + } = require('pearcord-platform/mesh-stability-ui-heal-soak-track-closure') + const platformDir = path.join(__dirname, '..', 'pearcord-platform') + const uiDir = path.join(__dirname, '..', '..', 'apps', 'pearcord', 'ui') + const audit = assertMeshStabilityUiHealSoakTrackClosure(platformDir, uiDir) + const closure = buildMeshStabilityUiHealSoakTrackClosureSnapshot() + const stats = this.platform.getMeshStabilityStats(gid) + await this.refreshView() + return { closure, audit, stats } + } + /** Journey stub: quad ultimate roster top bundle refresh predicates (Phase 1034). */ async runMeshStabilityUiGuildQuadUltimateRosterTopBundleRefreshJourney (guildId) { if (!this.platform) throw new Error('headless not started')