feat(phase974): guild mesh stability log filter keys journey stub

Add runGuildMeshStabilityLogFilterKeysJourney for Phase 974 CI bundle.
Non-breaking headless helper; no mesh path behavior change.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-06-05 03:59:16 -04:00
co-authored by Cursor
parent 2a3aca164a
commit b9e5e173fc
2 changed files with 35 additions and 0 deletions
+2
View File
@@ -2,6 +2,8 @@
Agent control plane for Pearcord — send the same IPC messages the UI sends, read `view` snapshots, and run scripted journeys against a **live worker** or an in-process **headless** session. Agent control plane for Pearcord — send the same IPC messages the UI sends, read `view` snapshots, and run scripted journeys against a **live worker** or an in-process **headless** session.
**Phase 974 (v0.8.941):** `runGuildMeshStabilityLogFilterKeysJourney` (dev-log mesh-stability filter key registry journey). Bundle: `npm run test:ci-phase974`.
**Phase 973 (v0.8.940):** `runGuildMeshStabilityIpcContractJourney` (mesh stability IPC contract response builders). Bundle: `npm run test:ci-phase973`. **Phase 973 (v0.8.940):** `runGuildMeshStabilityIpcContractJourney` (mesh stability IPC contract response builders). Bundle: `npm run test:ci-phase973`.
**Phase 972 (v0.8.939):** `runGuildMeshViewStabilityFieldsJourney` (view meshStabilityStats field registry journey). Bundle: `npm run test:ci-phase972`. **Phase 972 (v0.8.939):** `runGuildMeshViewStabilityFieldsJourney` (view meshStabilityStats field registry journey). Bundle: `npm run test:ci-phase972`.
+33
View File
@@ -1817,6 +1817,39 @@ class HeadlessSession {
return { multi, federation } return { multi, federation }
} }
/** Journey stub: guild mesh dev-log stability filter keys (Phase 974). */
async runGuildMeshStabilityLogFilterKeysJourney (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 {
MESH_STABILITY_DEV_LOG_FILTER,
listMeshStabilityLogFilterMessageKeys,
matchesMeshStabilityDevLogFilter,
buildMeshStabilityLogFilterMessagePattern
} = require('pearcord-platform/guild-mesh-stability-log-filter-keys')
const levelRank = { trace: 0, debug: 1, info: 2, warn: 3, error: 4 }
const keys = listMeshStabilityLogFilterMessageKeys()
const pattern = buildMeshStabilityLogFilterMessagePattern()
const matchOk = matchesMeshStabilityDevLogFilter(
{ scope: 'platform.guild', msg: 'guild.mesh.stability', level: 'info' },
levelRank
)
const matchReject = matchesMeshStabilityDevLogFilter(
{ scope: 'platform.guild', msg: 'guild.mesh.churn', level: 'info' },
levelRank
)
await this.refreshView()
return {
guildId: gid,
filter: MESH_STABILITY_DEV_LOG_FILTER,
keys,
patternSource: pattern.source,
matchOk,
matchReject: !matchReject
}
}
/** Journey stub: guild mesh stability IPC contract (Phase 973). */ /** Journey stub: guild mesh stability IPC contract (Phase 973). */
async runGuildMeshStabilityIpcContractJourney (guildId) { async runGuildMeshStabilityIpcContractJourney (guildId) {
if (!this.platform) throw new Error('headless not started') if (!this.platform) throw new Error('headless not started')