briefing
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseHold a Briefing
开展需求简报(briefing)
A briefing is a run's one interview: every question the work depends on, in a single message at the top, before any code. One per run — when the skill that called you hands you its answers, the interview is already held. Take them and go.
$ARGUMENTS一个 briefing 是某个 run 唯一的一次集中问答:在编写任何代码之前,于顶部的一条消息中提出这项工作所依赖的全部问题。每个 run 仅限一次——当调用你的 skill 交来答案时,这次问答已经完成。接收答案,继续执行。
$ARGUMENTS1. Answer what you can
1. 解答能够自行解答的问题
Read the task, the code it turns on, and the docs it names. A question the code, the spec, or the project docs already answer is answered — the digging is yours, not the user's.
A question earns its place when a wrong guess would change what gets built. The rest you settle yourself, out of the code and the material you have just read.
Done when: every question you can still name is one the codebase does not settle and a wrong guess would change what gets built.
阅读任务、任务所涉及的代码以及其中指定的文档。代码、规范或项目文档已经回答的问题,就视为已有答案——查证是你的责任,而不是用户的。
只有当猜错会改变最终构建结果时,问题才值得提出。其余问题应依据代码和刚刚读过的材料自行确定。
完成标准:你仍能提出的每个问题,都是代码库无法确定答案,且猜错会改变最终构建结果的问题。
2. Send one message
2. 发送一条消息
Sweep the span for what is left:
- The shape of finished work — where the task reads two ways and the two readings build different things
- The inputs the span's skills run on — the seams the tests go at, the fixed point a review runs against, whatever else a skill inside the span would otherwise stop mid-run to ask for
- The irreversible moves — anything the task implies that editing code and running again cannot undo: data dropped, history rewritten, a live system touched. Their go-ahead is a briefing item
Put it in one message: how you plan to run the work and in what order, then the questions, numbered, each carrying the answer you take if it goes unanswered. One reply then covers every question, and "go" takes every default.
A message with no questions in it is a plan line, not a gate: post it and start.
Done when: the message is sent and the answers are in, or the message carried no question.
梳理整个 span,确定剩余事项:
- 最终成果的形态——任务存在两种解读,且不同解读会构建出不同结果之处
- span 内各 skill 所依赖的输入——测试的切入点(seam)、评审所依据的固定基点,以及其他任何会让 span 内某个 skill 在运行中途停下来询问的事项
- 不可逆操作——任务所隐含且无法通过修改代码并重新运行来撤销的事项:丢弃数据、重写历史、操作线上系统等。这些操作需要事先许可,属于 briefing 事项
将所有内容放在一条消息中:先说明你将如何开展和排序这项工作,然后列出编号问题,并为每个问题附上无人回答时将采用的答案。这样只需一次回复即可处理所有问题,而回复“go”意味着接受所有默认值。
如果消息中没有问题,它就只是一条计划说明,而不是审批关卡:发出消息并开始执行。
完成标准:消息已经发出且答案已经收到,或者该消息不包含任何问题。
After the briefing
briefing 之后
Everything the span raises from here is yours to settle. Take the most reasonable reading, write it as one sentence — — and carry on. Those sentences are the debrief's middle part.
Assumed: <the reading>Three states reach the user mid-run — a hard stop. Answered, the run picks up where it stopped and carries to the end of the span.
- The assumption cannot be written — every reading you could put in an sentence contradicts what the briefing settled. Put the readings side by side and ask which one
Assumed: - The move cannot be undone — data dropped, history rewritten, a live system touched. Name the move and wait
- The run cannot go on — what the task names is nowhere in the code and nothing resembles it, or the access it needs is not yours. Say what you searched
Everything else is an assumption. Where it is close, the line runs:
| What came up | What you do |
|---|---|
| The task never fixed a detail — a TTL, a column type, a label, a route name | Take the reading the codebase already uses |
| Two classes or files match the name you were given | Take every match into scope, and write down which ones you took |
| No seam was named for a behaviour under test | Test at the highest public boundary it crosses |
Done when: every question the span raised carries either an sentence or a hard stop the user answered.
Assumed:此后,span 产生的所有问题都由你自行解决。采用最合理的解读,将其写成一句话————然后继续执行。这些句子构成 debrief 的中间部分。
Assumed: <the reading>以下三种情况会在 run 过程中上升到用户层面,属于 hard stop。得到答复后,run 会从中断处继续,直至完成 span。
- 无法写出假设——所有可能的解读都与 briefing 已确定的内容相矛盾。将不同解读并列展示,并询问用户选择哪一种
- 操作无法撤销——丢弃数据、重写历史、操作线上系统等。明确说明该操作并等待用户确认
- run 无法继续——任务提到的东西在代码中完全找不到,也没有任何相似实现,或者所需权限不归你使用。说明你搜索了哪些内容
除此之外,其他事项均视为假设。如果差异不大,按以下规则处理:
| 出现的情况 | 处理方式 |
|---|---|
| 任务从未确定某个细节——例如 TTL、列类型、标签或路由名称 | 采用代码库中已经使用的解读 |
| 你给出的名称匹配到两个 class 或文件 | 将所有匹配项纳入范围,并记录你采用了哪些 |
| 未为待测行为指定 seam | 在该行为所跨越的最高公开边界处进行测试 |
完成标准:span 提出的每个问题,最终都对应一句 假设,或一个已经由用户答复的 hard stop。
Assumed: