From abp.sgit.ai, the page as fetched on 2026-09-25 · open the live page ↗Everything on this sheet is the source site's own text; the newsroom's chrome is outside it.
{
"type": "abp/mandate/v1",
"id": "beta-001/claude-slack",
"label": "Claude with the Slack connector",
"surface": [
"web"
],
"applies_to": [],
"applies_to_note": "the nearest published shape, so that a provisional delta can be computed; it is not this deployment",
"status": "elicited",
"authored": "2026-09-21",
"authored_by": "riskmandate.ai, in an interview on 21 September 2026, transcribed automatically; the transcript is held by riskmandate.ai and is not published",
"corrected": null,
"description": "Elicited from the deployer for Claude with the Slack connector. Every line is marked said, inferred or unstated in `said`; the clauses on the page carry what the grammar has no word for.",
"want": [
"read.message.tenant"
],
"do_not_want": [
"send.message.world"
],
"unstated": [
"read.file.project",
"write.file.project",
"read.file.host",
"write.file.host",
"delete.file.host",
"execute.process.host",
"execute.process.self",
"send.endpoint.allowed",
"send.endpoint.world",
"read.credential.host",
"authenticate-as.credential.tenant",
"grant.credential.self",
"write.repository.project",
"write.repository.tenant",
"authenticate-as.credential.signing",
"create.record.world",
"write.budget.tenant",
"create.schedule.host",
"read.record.history",
"create.schedule.tenant",
"read.record.browsing"
],
"said": {
"read.message.tenant": {
"status": "said",
"from": "\"Slack is on Claude\": connected so the assistant can read it"
},
"send.message.world": {
"status": "inferred",
"from": "posting or messaging was never asked for, and a channel is other people's conversation"
},
"read.file.project": {
"status": "unstated",
"from": "not raised"
},
"write.file.project": {
"status": "unstated",
"from": "not raised"
},
"read.file.host": {
"status": "unstated",
"from": "not raised"
},
"write.file.host": {
"status": "unstated",
"from": "not raised"
},
"delete.file.host": {
"status": "unstated",
"from": "not raised"
},
"execute.process.host": {
"status": "unstated",
"from": "not raised"
},
"execute.process.self": {
"status": "unstated",
"from": "not raised"
},
"send.endpoint.allowed": {
"status": "unstated",
"from": "not raised"
},
"send.endpoint.world": {
"status": "unstated",
"from": "not raised"
},
"read.credential.host": {
"status": "unstated",
"from": "not raised"
},
"authenticate-as.credential.tenant": {
"status": "unstated",
"from": "not raised"
},
"grant.credential.self": {
"status": "unstated",
"from": "not raised"
},
"write.repository.project": {
"status": "unstated",
"from": "not raised"
},
"write.repository.tenant": {
"status": "unstated",
"from": "not raised"
},
"authenticate-as.credential.signing": {
"status": "unstated",
"from": "not raised"
},
"create.record.world": {
"status": "unstated",
"from": "not raised"
},
"write.budget.tenant": {
"status": "unstated",
"from": "not raised"
},
"create.schedule.host": {
"status": "unstated",
"from": "not raised"
},
"read.record.history": {
"status": "unstated",
"from": "not raised"
},
"create.schedule.tenant": {
"status": "unstated",
"from": "not raised"
},
"read.record.browsing": {
"status": "unstated",
"from": "not raised"
}
},
"notes": {
"the approval mode": "not asked, so the barrier on every row is unknown"
},
"not_in_grammar": [
"post to a channel or send a direct message as the person",
"join or leave a channel, which changes what the connector can read next",
"react to, edit or delete a message"
],
"provenance": {
"source": "an interview",
"elicited_by": "riskmandate.ai, in an interview on 21 September 2026, transcribed automatically; the transcript is held by riskmandate.ai and is not published",
"retrieved": "2026-09-21",
"note": "Elicited, not measured, not surveyed. Written down by abp.sgit.ai; not yet corrected by the deployer. The correction is the mandate; this is the draft it will be made from."
}
}