feat: publish agent-first git platform research

This commit is contained in:
wuyang6
2026-08-14 11:32:41 +08:00
parent de38186ff4
commit bf356eaf5a
3 changed files with 358 additions and 0 deletions
@@ -0,0 +1,37 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1440" height="790" viewBox="0 0 1440 790" role="img" aria-labelledby="title desc">
<title id="title">Agent-first 开发控制链</title>
<desc id="desc">任务进入、上下文规则、隔离执行、Git 变更、确定性验证、语义审查、独立授权和反馈恢复八个阶段;Git 变更、确定性验证和独立授权是硬门。</desc>
<defs>
<style>
.bg{fill:#f7f9fc}.panel{fill:#fff;stroke:#d7deea;stroke-width:2}.stage{fill:#edf3ff;stroke:#6c8ed9;stroke-width:2}.hard{fill:#fff2e8;stroke:#e97938;stroke-width:3}.small{font:500 20px -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;fill:#3b4960}.label{font:700 24px -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;fill:#16233a}.title{font:700 34px -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;fill:#111827}.note{font:600 18px -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;fill:#b45309}.arrow{stroke:#75839a;stroke-width:3;fill:none;marker-end:url(#m)}
</style>
<marker id="m" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse"><path d="M0 0L10 5L0 10z" fill="#75839a"/></marker>
</defs>
<rect class="bg" width="1440" height="790" rx="28"/>
<text class="title" x="72" y="70">Agent-first 不是一个 AI 按钮,而是一条可审计控制链</text>
<text class="small" x="72" y="108">任务、运行、Git、验证和授权可以分属不同系统;成熟度取决于它们能否围绕同一 revision 连起来。</text>
<g>
<rect class="stage" x="72" y="164" width="265" height="120" rx="18"/><text class="label" x="96" y="207">S1 任务进入</text><text class="small" x="96" y="244">任务 ID · 触发者 · 验收条件</text>
<path class="arrow" d="M337 224H375"/>
<rect class="stage" x="388" y="164" width="265" height="120" rx="18"/><text class="label" x="412" y="207">S2 上下文与规则</text><text class="small" x="412" y="244">规则版本 · 权限 · 依赖边界</text>
<path class="arrow" d="M653 224H691"/>
<rect class="stage" x="704" y="164" width="265" height="120" rx="18"/><text class="label" x="728" y="207">S3 隔离执行</text><text class="small" x="728" y="244">sandbox · 网络 · secret · 日志</text>
<path class="arrow" d="M969 224H1007"/>
<rect class="hard" x="1020" y="164" width="348" height="120" rx="18"/><text class="label" x="1044" y="207">S4 Git 变更身份</text><text class="small" x="1044" y="244">branch · commit · PR/MR · actor</text><text class="note" x="1264" y="193">硬门</text>
</g>
<path class="arrow" d="M1194 284V330H204V360"/>
<g>
<rect class="hard" x="72" y="373" width="348" height="120" rx="18"/><text class="label" x="96" y="416">S5 确定性证据</text><text class="small" x="96" y="453">current head · required checks</text><text class="note" x="316" y="402">硬门</text>
<path class="arrow" d="M420 433H458"/>
<rect class="stage" x="471" y="373" width="265" height="120" rx="18"/><text class="label" x="495" y="416">S6 语义审查</text><text class="small" x="495" y="453">发现 · 修复 · 未解决项</text>
<path class="arrow" d="M736 433H774"/>
<rect class="hard" x="787" y="373" width="348" height="120" rx="18"/><text class="label" x="811" y="416">S7 独立授权</text><text class="small" x="811" y="453">approval · policy · queue/train</text><text class="note" x="1031" y="402">硬门</text>
<path class="arrow" d="M1135 433H1173"/>
<rect class="stage" x="1186" y="373" width="182" height="120" rx="18"/><text class="label" x="1210" y="416">S8 反馈恢复</text><text class="small" x="1210" y="453">retry · audit</text>
</g>
<path class="arrow" d="M1277 493V560H603V512" stroke-dasharray="9 8"/>
<rect class="panel" x="72" y="607" width="1296" height="112" rx="18"/>
<text class="label" x="102" y="651">判定规则</text>
<text class="small" x="240" y="651">S4、S5、S7 任一断裂,功能再多也不能称为“治理闭环”;L4 还要求失败→恢复与独立授权的同链证据。</text>
<text class="small" x="102" y="690">证据纪律:产品页只能证明“发布声称”;看到检查通过,不等于它是 required;看到人工点击 merge,也不等于当前 revision 已经被独立批准。</text>
</svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

@@ -0,0 +1,29 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1440" height="900" viewBox="0 0 1440 900" role="img" aria-labelledby="title desc">
<title id="title">Git 平台 Agent 集成与治理骨架定位图</title>
<desc id="desc">横轴为官方 Agent 集成连续性,纵轴为 Git 治理与自托管控制力。GitHub.com、GitLab、Bitbucket Cloud 属 Agent 集成较强;GitLab Self-Managed 与 Bitbucket Data Center 治理和自托管较强;Gitea 和 Forgejo 是开放控制骨架。位置表达研究判断而非加权得分。</desc>
<defs>
<style>
.bg{fill:#f7f9fc}.grid{stroke:#d7deea;stroke-width:2}.axis{stroke:#475569;stroke-width:3;marker-end:url(#a)}.t{font:500 20px -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;fill:#475569}.title{font:700 34px -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;fill:#111827}.bubble{stroke-width:3}.bt{font:700 21px -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;fill:#172033}.level{font:600 17px -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;fill:#475569}.cloud{fill:#e8f1ff;stroke:#4776c6}.integrated{fill:#e7f8ef;stroke:#37956a}.open{fill:#fff4e6;stroke:#dc7d29}.legacy{fill:#f1edff;stroke:#725bb4}
</style>
<marker id="a" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto"><path d="M0 0L10 5L0 10z" fill="#475569"/></marker>
</defs>
<rect class="bg" width="1440" height="900" rx="28"/>
<text class="title" x="82" y="70">内置 Agent 与强治理是两条轴,不是同一件事</text>
<text class="t" x="82" y="108">位置是基于 S1–S8 的相对判断,不是采购总分;所有 L2 仍存在连续性断点。</text>
<line class="grid" x1="190" y1="690" x2="1320" y2="690"/><line class="grid" x1="190" y1="495" x2="1320" y2="495"/><line class="grid" x1="190" y1="300" x2="1320" y2="300"/>
<line class="grid" x1="480" y1="150" x2="480" y2="760"/><line class="grid" x1="770" y1="150" x2="770" y2="760"/><line class="grid" x1="1060" y1="150" x2="1060" y2="760"/>
<line class="axis" x1="190" y1="760" x2="1335" y2="760"/><line class="axis" x1="190" y1="760" x2="190" y2="135"/>
<text class="t" x="1020" y="818">官方 Agent 集成连续性 →</text><text class="t" transform="translate(86 575) rotate(-90)">Git 治理与自托管控制力 →</text>
<text class="level" x="205" y="795">外部组装</text><text class="level" x="1198" y="795">原生/官方路径</text>
<text class="level" x="108" y="715">基础</text><text class="level" x="108" y="190">强</text>
<g><rect class="bubble integrated" x="865" y="242" width="260" height="78" rx="24"/><text class="bt" x="891" y="276">GitLab.com / SM</text><text class="level" x="891" y="303">L2 · 治理强,运行连续性有缺口</text></g>
<g><rect class="bubble cloud" x="1030" y="410" width="238" height="78" rx="24"/><text class="bt" x="1056" y="444">GitHub.com</text><text class="level" x="1056" y="471">L2 · Agent UX 强,S7 未闭合</text></g>
<g><rect class="bubble cloud" x="840" y="540" width="270" height="78" rx="24"/><text class="bt" x="866" y="574">Bitbucket Cloud</text><text class="level" x="866" y="601">L2 · 多产品拼接,Beta 依赖高</text></g>
<g><rect class="bubble legacy" x="350" y="260" width="312" height="78" rx="24"/><text class="bt" x="376" y="294">Bitbucket Data Center</text><text class="level" x="376" y="321">L1 · 治理骨架强,Agent 外置</text></g>
<g><rect class="bubble open" x="445" y="405" width="226" height="78" rx="24"/><text class="bt" x="471" y="439">Gitea OSS</text><text class="level" x="471" y="466">L1 · 官方 MCP + 强硬门</text></g>
<g><rect class="bubble open" x="275" y="505" width="222" height="78" rx="24"/><text class="bt" x="301" y="539">Forgejo</text><text class="level" x="301" y="566">L1 · 开放骨架,编排自建</text></g>
<g><rect class="bubble legacy" x="565" y="620" width="286" height="78" rx="24"/><text class="bt" x="591" y="654">Azure DevOps Services</text><text class="level" x="591" y="681">L1 · Boards Agent 实际写 GitHub</text></g>
<g><rect class="bubble legacy" x="260" y="650" width="252" height="78" rx="24"/><text class="bt" x="286" y="684">GHES / Azure Server</text><text class="level" x="286" y="711">L1 · 治理可用,Agent 路径缺失</text></g>
<rect x="860" y="155" width="455" height="55" rx="14" fill="#fff" stroke="#d7deea" stroke-width="2"/>
<text class="level" x="882" y="189">右上角不等于 L3:还需同一 revision 的失败恢复与独立授权收据</text>
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB