content_question_start
Inspect or start a new plain-text subscriber question in A00009.
Read the shared content contract for authorization, app identity, result interpretation and recovery.
Inputs
This operation has two modes and accepts no pAppCode: it selects the authorized channel's A00009 app.
| mode | Inputs |
|---|---|
| inspect | channelCode only. Returns QUESTION_START_CONTEXT, publishedPosts and revision. |
| start | channelCode, requestId, expectedRevision from inspect, content (2–5000 UTF-16 units), confirmation ARCHIVE_PUBLISHED_QUESTIONS; optional dryRun, default false. |
Inspect obtains a complete inventory of at most 1000 currently published posts. It is read-only. Starting a question is communication and requires the human's instruction, including awareness of the archive effect. The method is a mutation-capable tool even when its selected mode is inspect.
Sequence and result
Starting unpublishes every currently published post in this question app, creates an AUTO_THREAD label, then publishes the new question with the authenticated channel profile. Existing replies are not deleted. It does not create media attachments or silently archive concurrently appearing new posts. A dry run lists affected post IDs and planned steps without writes.
CONTENT_QUESTION_STARTED contains the new post, archivedPostIds and taskId after checking each archive and that the new question is the sole published post. This is a sequence of writes, not an atomic replacement; interruption can leave earlier posts unpublished. Restoring them is not automatic and may not reproduce the original identity/history.
Recovery
Use taskType content-question and the same input/requestId. Sent archive steps are only read back; untouched steps may continue. Label/post creation with an unknown returned ID requires console reconciliation, never a name/text match or duplicate create. A new concurrent published post blocks continuation rather than being added to the archive silently. Inspect progress in the existing task. Completed replay is historical; no source CAS or automatic rollback is claimed. Edit existing question text through content_post_apply, and replies through content_comments_apply.
Input example
This is an input illustration, not a recorded call. Replace the channel, app, observed IDs and all-zero revision with values from the matching authorized read. A dry run does not save changes.
{
"mode": "inspect",
"channelCode": "selected-channel"
}