github.enforce模块 29GitHub write gate
除非提交背后的智能体持有授权,并且写入已获真人确认,否则让该提交的检查变红。
github.enforce 通过 Intralock 准入代码库动作,并将结论作为检查运行或提交状态回报给 GitHub。它准入 repo:<repo>,默认动作为 write,并把被允许的提交固定到智能体,使该 sha 之后的 webhook 事件沿用同一决定。
github.enforce模块 29除非提交背后的智能体持有授权,并且写入已获真人确认,否则让该提交的检查变红。
github.enforce 通过 Intralock 准入代码库动作,并将结论作为检查运行或提交状态回报给 GitHub。它准入 repo:<repo>,默认动作为 write,并把被允许的提交固定到智能体,使该 sha 之后的 webhook 事件沿用同一决定。
没有 GITHUB_PAT 或绑定的 GitHub App 时,结论仍会返回并记入账本,但 commitStatus 和 checkRun 为 null,因此提交上不会显示任何内容。请绑定其中之一,然后用 github/app 确认。
repoacme/payments。被准入的资源是 repo: 加上此值。actorDidactionread、 或 。其他任何值或不提供,都按 准入。enforce 接受 repo、actorDid、sha,以及 read、write 或 delete 的 action。没有 时,使用网关为该代码库摄取的最后一个 head。
点击运行,将左侧的请求发送到共享演示工作区。
在共享的演示工作区中使用演示密钥运行:任何人都可以看到其中的内容,因此请勿发送任何私密信息。
一个符合 API 接受格式的请求,以及模块返回格式的示例响应。
POST /api/v1/acp/github/enforce Authorization: Bearer av_workspace_•••• Content-Type: application/json { : , : , : }
要求分支上有 intramedial/acp 检查。待处理或失败的检查会使智能体的提交无法合并,直到有人确认。
审阅者评论 /acp allow。已签名的 webhook 生成令牌,再次准入,并把同一提交的状态翻转为成功。
revoke 丢弃智能体为某个 sha 持有的固定并发布失败,因此已批准的提交可以再次被拒绝。
模块是对一件狭窄事情的强力保证。请仅在其确切范围内依赖它。
llm: false;相同的行为者、代码库和动作给出与 coordination.admit 相同的答案。github.enforce 事件,带有代码库、sha、结果和原因。绑定了 GitHub App 时,结论是名为 intramedial/acp 的检查运行,以提交状态作后备。GITHUB_PAT 只发布提交状态。
被允许的写入会针对代码库、动作和 sha 记录行为者。之后该 sha 的事件无需第二个真人,就可以为同一行为者生成令牌。
拉取请求、检查套件、检查运行、工作流运行和合并组事件把 head 按 write 准入,并在令牌到达之前发布待处理状态。
使用工作区 API 密钥作为 Bearer 令牌进行认证。基础 URL 为 https://api.intramedial.com。
/api/v1/acp/github/enforce准入代码库动作并将结论发布到 GitHub。/api/v1/acp/github/ingest记录 GitHub webhook,并对需要的事件强制执行。writedeletewriteshaconfirmationTokenallowreasonconfirmation_required 或 no_grant。commitStatusnull。checkRunnull。sha网关为该行为者和动作准入 repo:<repo>。没有确认的写入返回 confirmation_required。
绑定了 App 时,结论作为 intramedial/acp 检查运行发布,否则作为提交状态发布。允许为 success;拒绝为 failure。
已签名的 /acp allow 审阅或评论会为被固定的行为者生成令牌并再次强制执行。/acp deny 在该行为者持有固定时将其丢弃。
{
"allow": false,
"llm": false,
"reason": "confirmation_required",
"sha": "9fceb02d0ae598e95dc970b74767f19372d61af8",
"repo": "acme/payments",
"commitStatus": null,
"checkRun": {
"id": "4417203551",
"url": "https://github.com/acme/payments/runs/4417203551"
}
}namespace 把智能体的分支改写到 agent/<slug>/ 之下,并拒绝 main、release* 和 hotfix/* 等受保护的名称。
mcp.enforce;本模块处理代码库和提交。coordination.approve;本模块发布结果。namespace 了解受保护的分支名称。enforce 才发布失败。intramedial/acp 时检查才会阻止;网关不能替您设置。revoke 是由授权令把关的显式调用;没有任何裁决会触发它。revoke 需要 policies.approve 以及双人控制或裁决的 warrant。enforce、ingest 和 status 本身不带角色。
null。status 返回最近摄取的 50 个条目,给出 repo 或 sha 时按其筛选。warrant 的 revoke 返回 403,因为由授权令把关的路由默认关闭。namespace 接受 actorDid 和 branch;没有行为者时返回 400。/api/v1/acp/github/status/api/v1/acp/github/revoke丢弃行为者持有的 sha 固定并发布失败。coordination.github.enforce从智能体准入代码库动作。coordination.github.ingest从智能体记录 webhook 内容。coordination.github.status从智能体读取最近的 GitHub 审计条目。mcp.enforce04saas.admit30SaaS connector admission询问智能体是否可以接触某个 SaaS 来源,并仅在通过管控其他一切的同一检查之后,才让它通过该来源写入。iam.assume31Cloud credential broker仅当智能体持有该角色的有效租约时,才给它一个短期云凭据,并让凭据随租约一同消亡。coordination.halt06Emergency stop switches立即停止一个智能体、一份授权或一个资源,留下理由记录,并在安全时解除停止。coordination.quarantine32Agent quarantine在准入处切断一个智能体,但只有在第二个人批准或裁决指名了该确切智能体的情况下才行。