Preview means the environment is included for testing, but its upstream coverage is incomplete. Verify the operations your test depends on.
Compatibility boundary
Local catalog validation: All five published samples passed. Checks cover the state contract, relationships, artifact hash, secret scan, and size limit.Local catalog validation is not hosted proof. Archal checks current certification, reset, and isolation evidence before admitting new sandboxes. Use the authenticated environment catalog for live availability.
- No gateway, voice, or full realtime-event parity.
Curated starting states
List the five samples witharchal sample list discord. Each sample is a versioned starting state with a representative read, mutation, expected diff, reset expectation, and verified artifact hash.
Discord message channel baseline
Discord message channel baseline
Read one guild and text channel, then post a message into that exact channel.Sample ID: Expected diff: changes include Inspect the raw stateThe packaged JSON artifact is
discord.message-channel-baseline.v1Category: minimalStarting state: 9 records across channels: 1, guilds: 1, members: 2, messages: 1, roles: 2, users: 2Supported surface: Stateful guild, channel, role, member, message, reaction, and webhook REST flows.Required capabilities: state.read, state.load, state.reset, rest.messagesFirst read: GET /users/@me/guilds. Expected result: HTTP 200.Representative mutation: POST /channels/1400000000000000000/messages. Expected result: HTTP 200, 201, 204.Mutation inputmessages. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.Expected reset: restores loaded sample.Known limits- No gateway, voice, or full realtime-event parity.
samples/states/discord/message-channel-baseline/state.json and is 6,725 bytes. The CLI verifies SHA-256 8a7fbe18306048fb1945c85c0624d383369ceaebaba1aee20d7f225b9b1246b3 before printing it.Catalog validation: Passed. Hosted availability is determined by Archal’s live certification and admission system, not this static page.Discord small server
Discord small server
Exercise a two-member guild with text channels, roles, one command, and an existing message.Sample ID: Expected diff: changes include Inspect the raw stateThe packaged JSON artifact is
discord.small-server.v1Category: small-teamStarting state: 12 records across applicationCommands: 1, applications: 1, channels: 2, guilds: 1, members: 2, messages: 1, roles: 2, users: 2Supported surface: Stateful guild, channel, role, member, message, reaction, and webhook REST flows.Required capabilities: state.read, state.load, state.reset, rest.messagesFirst read: GET /users/@me/guilds. Expected result: HTTP 200.Representative mutation: POST /channels/1400000000000000000/messages. Expected result: HTTP 200, 201, 204.Mutation inputmessages. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.Expected reset: restores loaded sample.Known limits- No gateway, voice, or full realtime-event parity.
samples/states/discord/small-server/state.json and is 8,755 bytes. The CLI verifies SHA-256 2ec31410cff081bb8092dd403ebe63653da19c8c8ccc8588b42433d25b98c290 before printing it.Catalog validation: Passed. Hosted availability is determined by Archal’s live certification and admission system, not this static page.Discord populated demo guild
Discord populated demo guild
Exercise connector-operations and agent-eval conversations across category, voice, and text channels with retained members, roles, and a bot command.Sample ID: Expected diff: changes include Inspect the raw stateThe packaged JSON artifact is
discord.demo-guild.v1Category: populatedStarting state: 35 records across applicationCommands: 1, applications: 1, channels: 5, guilds: 1, members: 2, messages: 20, roles: 3, users: 2Supported surface: Stateful guild, channel, role, member, message, reaction, and webhook REST flows.Required capabilities: state.read, state.load, state.reset, rest.messagesFirst read: GET /users/@me/guilds. Expected result: HTTP 200.Representative mutation: POST /channels/100000000000000010/messages. Expected result: HTTP 200, 201, 204.Mutation inputmessages. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.Expected reset: restores loaded sample.Known limits- No gateway, voice, or full realtime-event parity.
samples/states/discord/demo-guild/state.json and is 50,559 bytes. The CLI verifies SHA-256 1ae6e709e37eb75351f331a9343f7740ae533835f026a9782da87d39edc248a3 before printing it.Catalog validation: Passed. Hosted availability is determined by Archal’s live certification and admission system, not this static page.Discord private escalation thread
Discord private escalation thread
Verify parent-channel and private-thread behavior for a live escalation with thread membership.Sample ID: Expected diff: changes include Inspect the raw stateThe packaged JSON artifact is
discord.private-escalation-thread.v1Category: edge-caseStarting state: 19 records across applicationCommands: 1, applications: 1, channels: 2, guilds: 1, members: 3, messages: 3, roles: 3, threadMembers: 2, users: 3Supported surface: Stateful guild, channel, role, member, message, reaction, and webhook REST flows.Required capabilities: state.read, state.load, state.reset, rest.messagesFirst read: GET /users/@me/guilds. Expected result: HTTP 200.Representative mutation: POST /channels/1400000000000000010/messages. Expected result: HTTP 200, 201, 204.Mutation inputmessages. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.Expected reset: restores loaded sample.Known limits- No gateway, voice, or full realtime-event parity.
samples/states/discord/private-escalation-thread/state.json and is 15,524 bytes. The CLI verifies SHA-256 c5b5a66e37344b278f6548b74e4326b55c54145715abac07a8b2ce26fff8b9c5 before printing it.Catalog validation: Passed. Hosted availability is determined by Archal’s live certification and admission system, not this static page.Discord community triage workflow
Discord community triage workflow
Start from a guild with commands, interactions, invites, threads, a webhook, and message history, then post and reset one triage update.Sample ID: Expected diff: changes include Inspect the raw stateThe packaged JSON artifact is
discord.community-triage-workflow.v1Category: workflowStarting state: 35 records across applicationCommands: 2, applications: 1, channels: 8, guilds: 1, interactions: 1, invites: 2, members: 2, messages: 9, roles: 4, threadMembers: 2, users: 2, webhooks: 1Supported surface: Stateful guild, channel, role, member, message, reaction, and webhook REST flows.Required capabilities: state.read, state.load, state.reset, rest.messagesFirst read: GET /users/@me/guilds. Expected result: HTTP 200.Representative mutation: POST /channels/100000000000000004/messages. Expected result: HTTP 200, 201, 204.Mutation inputmessages. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.Expected reset: restores loaded sample.Known limits- No gateway, voice, or full realtime-event parity.
samples/states/discord/community-triage-workflow/state.json and is 36,728 bytes. The CLI verifies SHA-256 98473e4a208b3ae17d51d09fab4c039b4b144b859dfc0fb704c50f0e1db1a804 before printing it.Catalog validation: Passed. Hosted availability is determined by Archal’s live certification and admission system, not this static page.Use custom state
Start from a sample when possible. For custom state, inspect the contract witharchal environment describe discord, then validate the file before creating a sandbox:
