Phase 719: read state and webhook execute JSON mesh parity (v0.8.695)

Add dedicated signed-export modals for read receipts and webhook execute
exports, populate view rows and meta, partition-heal mixins with dedicated
spans, agentctl journeys, and CI smokes following the Phase 718 pattern.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-06-03 08:08:02 -04:00
co-authored by Cursor
parent d3a919a9ce
commit ee2cad21fa
+34
View File
@@ -4445,6 +4445,40 @@ class HeadlessSession {
}
}
async runReadStateExportJsonJourney () {
if (!this.platform) throw new Error('headless not started')
await this.registerUser({ username: 'rs719', displayName: 'Read State 719' })
await this.createGuild({ name: 'Read State 719', publicListing: false })
await this.wait({ mode: 'guild' }, 45000)
await this.refreshView()
const pushed = await this.platform.pushReadStateExportToMesh()
const v = await this.refreshView()
if (!pushed?.signature && !v.readStateExportJsonMeta?.signature) {
throw new Error('expected signed read state export JSON after mesh push')
}
return {
guildReadStateJsonCount: v.guildReadStateJsonCount || (v.readStateExportJsonRows || []).length,
hasMeta: v.readStateExportJsonMeta != null
}
}
async runWebhookExecuteExportJsonJourney () {
if (!this.platform) throw new Error('headless not started')
await this.registerUser({ username: 'wh719', displayName: 'Webhook 719' })
await this.createGuild({ name: 'Webhook 719', publicListing: false })
await this.wait({ mode: 'guild' }, 45000)
await this.refreshView()
const pushed = await this.platform.pushWebhookExecuteExportToMesh()
const v = await this.refreshView()
if (!pushed?.signature && !v.webhookExecuteExportJsonMeta?.signature) {
throw new Error('expected signed webhook execute export JSON after mesh push')
}
return {
guildWebhookExecuteJsonCount: v.guildWebhookExecuteJsonCount || (v.webhookExecuteExportJsonRows || []).length,
hasMeta: v.webhookExecuteExportJsonMeta != null
}
}
async runForumPostSearchJourney () {
if (!this.platform) throw new Error('headless not started')
await this.registerUser({ username: 'fm672', displayName: 'Forum 672' })