Epic: AI-native build interface — make the build model and run results machine-readable
维护者通常 5 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 25/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 活跃
- 技术栈
- csharp
- 领域
- build-system, tooling
调研方向
先阅读 Build.cs 和现有的计划解析器,以及 issue 中提到的 ExecutableTarget、Parameter、Host.WriteTargetOutcome 和 Host.WriteBuildOutcome 引用。然后查看 issues #642、#643、#644、#647 和 #646,以了解分别跟踪的功能和依赖关系。完成意味着该里程碑的机器可读模型、运行摘要、效果、缓存和 MCP 工作彼此协调,且不重复 #391、#104 或 #156。
由索引模型根据 Issue 内容生成。
描述
Problem
Fallout already holds a complete model of a build in memory. The plan resolver walks the dependency graph, ExecutableTarget carries per-target status and tool requirements, and [Parameter] declares typed inputs with defaults. None of that is reachable as data.
Everything leaves the process as human-oriented console text through Host.WriteTargetOutcome and Host.WriteBuildOutcome. A caller that is a program rather than a person has to infer the build from Build.cs and guess at results by pattern-matching a large log. That is slow, expensive in tokens for an AI consumer, and easy to get confidently wrong — reporting "tests failed" when restore was what actually failed.
Outcome
A machine consumer can ask Fallout three questions and get answers as data:
- What can this build do?
- What would this run do?
- What did this run do?
Plus two capabilities that make automated use safe and fast enough to be worth having: declared target effects, and target-level caching.
Scope
| Capability | Issue |
|---|---|
Build model as data: describe --json, plan --json |
#642 |
| Durable run summary plus semantic exit codes | #643 |
| Declared target effects, gated at plan time | #644 |
| Content-addressed target caching | #647 |
| MCP server as a standalone product | #646 |
The MCP server is deliberately last. It is a thin layer over #642 (the build model as data) and #643 (the durable run summary), and building it first would mean screen-scraping the console output this milestone exists to replace.
Already tracked elsewhere
Structured console output is covered and is not re-filed here:
- #391 (Serilog event core, Spectre console frame, NDJSON machine path) — the streaming half, with a concrete task list
- #104 (AI-friendly terse and structured output modes) — the output-mode design and its open questions
- #156 (
IOutputSinkextension point) — the plugin extension point these land on
Notes
Every item in this milestone is a serialisation of, or a gate on, a model the engine already has. None of them needs a new execution engine. Dogfooding them also pressure-tests the IOutputSink and related extension points before the plugin SDK (milestone #7) makes those shapes public API.
- 主要语言
- C#
- 星标
- 169
- 派生
- 21
- 平均合并
- 3 天 7 小时
- 30 天内合并 PR
- 9
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
Fallout-build/Fallout 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 76/100
Fallout-build/Fallout#708 ·
维护者通常 5 天内回复
-
.\build.ps1 in its current state isn't capable for :add-package command可能已有人在做 @ITaluone 于 35 天前认领。 未关闭bug needs-triage
难度 2/5 1-3 小时 新手友好度 84/100
Fallout-build/Fallout#670 ·
维护者通常 5 天内回复
-
PR #640 causes very annoying .NET SDK not found可能已有人在做 @ITaluone 今天认领。 未关闭bug needs-triage
难度 2/5 1-3 小时 新手友好度 86/100
Fallout-build/Fallout#669 · 3 条评论 ·
维护者通常 5 天内回复
-
CD enhancement
难度 2/5 1-3 小时 新手友好度 78/100
Fallout-build/Fallout#649 ·
维护者通常 5 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 72/100
Fallout-build/Fallout#630 · 1 条评论 · 1 个 reaction ·
维护者通常 5 天内回复
查看 Fallout-build/Fallout 的全部 Issue
相似的 Issue
-
S: Untriaged
难度 2/5 1-3 小时 新手友好度 62/100
Trauma-Station/Trauma-Station#5058 ·
维护者通常 1 天内回复
-
:books: documentation untriaged
难度 2/5 1-3 小时 新手友好度 66/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 1 天内回复
-
documentation good first issue hacktoberfest
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 1 天内回复
-
good first issue help wanted ready-for-human
难度 2/5 半天 新手友好度 62/100
维护者通常 1 天内回复