define
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseRead before acting. Keep this assignment, its applicable
authority and retained decisions in every skill handoff; an isolated caller must receive them
explicitly, with the useful intent and evidence.
../ticket-up/references/AUTHORITY.mdEncode the conversation's shared understanding as a Manifest at
(create the dir; fall back to a
writable temp path only if home is not writable); how you interview is yours. No
shared understanding in the transcript → invoke first, propagating
when the caller is unattended. A manifest path in the arguments
means amend: read before changing that Manifest.
~/.manifest-dev/manifests/manifest-<ts>.mdfigure-out--autonomousreferences/AMENDMENT.mdProject surfaces — setup and its update, the verification harness and its recipes, decision
records, the glossary, the North Star — belong to a project: a repository or working folder
holding, or about to hold, work later sessions will change — a new one the user is starting
counts — which this work concerns. A chat with no workspace, a home or scratch folder, a folder
holding one finished artifact, or a question that does not concern the folder the session runs in
is none. There, offer, build, read for, gate on or record none of them, and write the Manifest as usual,
its own gates checking the work directly. One-off work inside a project is still project work: it
keeps the gate of every recipe whose paths it touches.
Before encoding a new Manifest for work in a project, read what earlier work left on it —
logs and Manifests for this repository, open Tickets on the work's paths, and pull requests' "Debt left"
sections — following . For a project, note in the digest when its
surfaces version, read from the context file on disk, is missing or older than setup-project's newest, without stopping to update, and
record it as an entry. Record each offer flagged upstream as its own entry, so the
completion report names it.
../figure-out/references/RECALL.mdASM-*ASM-*figure-out reaches understanding of the problem; this skill makes the agreement executable.
Keep the intended result and hard requirements distinct from the agent's revisable operational
choices. Resolve a missing user decision only where it changes that agreement; choose the
representation and methods yourself, recording material assumptions in .
ASM-*Where the host offers a question-selection capability — a way to put a question
to the user as options to pick from, with room to answer in their own words —
ask through it by default, with your recommended answer as each ask's first
option. Key calls are mostly independent of each other, so batch them there into
as few turns as they allow; a call whose answer would change another's goes
first, and the other waits for it. Without that capability, or once the user has
asked you to ask in prose, write the ask in plain text, one ask per turn. An
unattended caller is asked nothing: decide each call within its delegation and
record each material one as an item whose names the rationale
and impact if wrong.
(auto)ASM-*The user's call. A decision is the user's call when two careful people with
the same evidence could reasonably decide it differently, and the difference
would matter to the user. Test each material decision against that sentence;
your own confidence does not settle it. At a user's call, first honor any explicit retained decision or applicable delegation; then check the user's Taste
entries — ratified preferences in a section of a loaded memory file.
Follow an entry only where it clearly bears: it speaks to this kind of call, and
following it would change the choice. A general lean that would tilt almost any
call, such as less effort or lower cost, does not bear on its own. Otherwise
decide on the evidence. Wherever decisions are reported, list first each decision record the run
reopened, with the reason set aside and what reversing would cost, then the
user's calls, each with the alternative not taken and what decided it — the entry
followed, or that no entry applied.
## TasteTaste on reversal. When the user, present in the session, reverses a call an
earlier run made and states why, and the reason is a preference another user
could want the opposite of — not a behavior every session owes — offer a Taste
entry before the handoff: read then, and make the
offer as it says. An unattended session makes no offer. A reaction to a disposable draft — a
throwaway rendering made only to get that reaction — is about that draft's direction, not such a
reversal, unless the user states it as reaching beyond that artifact.
references/TASTE_ON_REVERSAL.mdCarry the prior Read's useful rationale, intended progress, circumstances, trade-offs and
uncertainties into Intent, Approach and Assumptions, as reasoning that holds now rather than the
Read's provenance notes and dates; encode retained decisions and other binding
authority limits in gates. The Manifest is finite work, not the project's permanent direction record.
The Manifest is the acceptance contract — what the user accepts as "I'd ship the
outcome of executing this" — and executes it later with none of this
conversation's context. Its Outcome states the result owed; its gates state the current
acceptance claims, each with its source authority and a separate evidence method.
That gives a floor that isn't ceremony:
/do- Follow the schema in exactly — it is what the executor parses, and it carries the ceiling invariant every manifest ships verbatim.
references/SCHEMA.md - Write the current state. A reader who was not in the session reads the Manifest top to
bottom and has the current task, with nothing to piece together — after every amendment as on
the first draft. Gates, Intent, Initial Approach and Process Guidance state only what holds
now: no date that records when something was decided or changed, nothing about what an item
used to say. A gate's Authority names the actual source and obligation. Known Assumptions
records unresolved assumptions and material choices without duplicating that authority;
an mark points to a choice made without asking. What changed, when and why belongs in the figure-out log and
(auto)'s Execution Log, never in the Manifest./do - Open Intent with the Outcome: the requested result, for whom and in what circumstances. Keep operational interpretations in working gates, so an invented detail cannot become hard merely by being placed here. State how the whole result will be assessed, using the person's observable use or chosen references and any retained acceptance. An agent-selected assessment method remains revisable; do not add routine owner sign-off when the source did not retain it. Then name the Problem: one specific story of what breaks or grates today, the baseline everything else is pitched against. A session that cannot name a pain has found a stop signal, not an empty field — return to figure-out, or conclude there is nothing worth building. Appetite follows: the size of change the problem is worth, bounding complexity and surface rather than time. Appetite never counts effort an agent controls, such as building and testing, so it never cuts the right solution for that effort alone.
- Cut each Deliverable as a slice that can be finished on its own and
exercised end-to-end — put in front of its real use, not merely inspected as
present — which is what lets its criteria judge whether it works rather than
whether it exists. A slice cut along a layer ("the data model", "the sources")
can only be gated on existence, and it compiles or the file exists are
inspections rather than uses. Re-cut incidental implementation layers while keeping
their scope, recording the re-cut as an choice. A deliberately required delivery boundary keeps its source authority: make the work exercisable within it, and surface a genuine conflict rather than silently changing that boundary. A numbered list alone does not establish such a requirement. Order least-proven first within real dependencies, so an unworkable direction surfaces while there is room to turn.
(auto) - Make the change easy first. When the shape of a change that crosses a function boundary — figure-out's sketch, or one drawn here for a direct request — shows that the area it touches resists it (a value threaded through layers, state with more than one writer, a missing seam, a workaround the change would extend), cut a behavior-preserving preparatory Deliverable before the change itself: scoped to what this change needs, pinned by existing or characterization tests, and able to land as its own pull request. Recorded debt on the work's path that still stands, checked against the current code, joins it — offered to an attended user, decided within the caller's delegation when unattended. Debt off the path stays where it is.
- Verification comes before the work it checks. In a project, the verification bullet of the
context file's project-surfaces section records how the project checks that its work still does
its job: its verification harness — one command with a recipe per thing it checks, as
describes — or its own way, named there; a harness already on disk with no bullet counts as chosen, and an
../setup-project/references/VERIFICATION_HARNESS.mdsuggests recording its bullet. The harness is the project's choice, never the run's. Building is the choice's; keeping sound is every run's: in any form, a check the work meets that is broken, drifting or not fit to trust (ASM-*→ Fit to trust) is repaired in its own form, ahead of the work that relies on it.../setup-project/references/VERIFICATION_HARNESS.md- Harness: where it lacks what the work needs, or a recipe the work touches is drifting or not fit to trust, cut building or repairing it, scoped to what the change touches, as the first Deliverable, ahead of any preparatory slice; unattended runs build it too. A Manifest that touches anything a recipe covers, or a path one should cover but does not, carries a gate that each touched recipe is added or updated and run, and what it found reported. A recipe marked ask-first is run only where the project's setting or the user allows — a user who approves a Manifest whose gate runs it has agreed; otherwise its gate holds that the recipe is updated and that the run it still owes is named in the report.
- Its own way, or no bullet yet: gates verify through the means the bullet names, or with no
bullet through the verification assets the project keeps — its tests, scripts and checklists —
and no gate or Deliverable builds a harness the project did not choose. A touched check of
theirs that fails Fit to trust is repaired in its own form, cut as the first Deliverable like a
harness repair. Where none of them can check what the work touches, the first Deliverable adds
that check in the project's own form. With no bullet and no harness on disk, record the harness as a recommendation the report carries, as an , never as work.
ASM-*
- A recorded check still to be built is built. Search the project's decision records for
lines reading
Enforced by. When the work implements or touches such a decision, a gate holds that the named check exists, fails when the decision is reversed, and carries a comment citing the record, and that the record's line names the check in place ofnot yet.not yet - Each gate separates its claim from the Evidence used to assess it. The body states
the claim and threshold; Authority says with the actual source obligation, or
hardwith the interpretation and intended result it serves. Split mixed-authority claims. The title adds nothing the body omits; optional rationale binds nothing. A hard claim can have a working evidence method. An explicitly required method belongs in the hard claim itself, so replacing the test cannot waive it.working - Every specific in a gate or Deliverable has a source or a stated working rationale. Hard requirements are deliberately stated by the user or imposed by applicable project, safety or permission rules. They stay hard without a rationale. Overall approval of a plan does not harden the agent's selected metrics, methods or assumptions. Do not cite your own plan or the schema as the source of a hard requirement. When the source is ambiguous and the distinction matters, resolve it rather than inventing authority.
- A rough aim stays a rough aim. An exact user requirement stays hard even when feasibility is unknown; record the uncertainty. Where the user left the assessment open, prefer the stated behavior over an invented numeric floor. An operational target can be useful as a working claim or evidence choice, revisable when later evidence better serves the Outcome.
- Every gate declares "Judgment gate." or "Deterministic gate." — never inferred; an executor handed an undeclared kind is broken by it. A gate mixing a command with a judgment is a judgment gate.
- Bind the outcome, not the mechanism that serves it: if the executor met the intent a better way and the gate would still go false, it is pinning a means — raise it until it isn't, stopping at what the work leaves behind can judge. The test reaches means, never ends: where a mechanism was deliberately chosen as the thing that must hold, it is the outcome, and raising it away is the erosion this discipline exists to prevent. Make that choosing legible — in the gate's Authority — so a later reader can tell a deliberate mechanism from an incidental one.
- For work others will use or extend, include ease of doing that correctly in the existing quality gates or relevant Acceptance Criteria. Judge concrete burdens the work creates or perpetuates, proportionate to its useful life and explicit bounds; sound existing structure needs no redesign.
- Write a gate so it ranges over its region, not an inventory: where the criterion is no X anywhere in R, the body makes the evaluator enumerate R and derive the instances, so tomorrow's instance is caught too. Make the procedure exact rather than the list. An Acceptance Criterion's region is its Deliverable's surface; a Global Invariant's is the Manifest's, bounded by Appetite. Distinguish the property owed across that region from the evidence sufficient to accept it: where exhaustive observation is infeasible, the gate names a closed coverage set — a list or a count, never "at least these, plus any others" — sourced like any other chosen specific; state its limits, and share evidence across gates that inspect the same surface. Representative evidence never turns an explicit universal requirement into a sampled one.
- Check that the gates can hold together within the stated scope and operating conditions. Settle open-ended horizons and competing resource or performance demands before handoff, with proposed bounds grounded in the intended use and recorded as proposals. Surface unresolved tradeoffs for the owner (or return a blocker outside an unattended caller's delegation); preserve the ambition and explicit requirements until that decision authorizes a change. Completion uses the agreed evidence and thresholds; a new preference changes the contract rather than reopening a satisfied gate.
- Anything whose violation would be unsafe or irreversible becomes a Global
Invariant — never Process Guidance, never dropped for resisting verification.
Where only part of it is judgable from the artifacts, gate that part and record
the rest as an naming what enforces it instead.
ASM-* - Encode every explicit Out of bounds exclusion once as a Global Invariant; anticipated omissions that may change belong in the advisory plan.
- A criterion the user pinned by reacting to something concrete — a mock, a reference, a chosen direction — is a success criterion, not flavor. Encode it as a gate, judged against what the reaction named. Never route one to the advisory layer, where it can be weighed away.
- Triage Known Assumptions by what being wrong would cost: work redone is an
assumption and belongs in ; an approach invalidated is not — settle that gap now, as a gate where it must not be departed from or as Initial Approach direction where it is guidance. Left as an assumption it surfaces mid-run, where a stalled unattended execution costs far more.
ASM-* - A criterion nothing can check is sharpened or dropped as
→ Verdicts states; the Outcome and current gates bind.
references/SCHEMA.md
Before writing gate bodies, invoke the prompt-engineering skill for its
calibration if it is available; a body is a prompt the moment an evaluator
follows it, and readable-but-vague prose states an aspiration where a check
belongs. Come back here — this skill owns the interview.
在采取行动前,读取 。每次 skill 交接时都要保留本任务分配、其适用 authority 以及已保留的决策;隔离的调用者必须明确收到这些内容,以及有用的意图和证据。
../ticket-up/references/AUTHORITY.md将对话中的共享理解编码为位于 的 Manifest(创建该目录;仅当 home 不可写时,才回退到可写的临时路径);如何访谈由你自行决定。如果记录中没有共享理解 → 先调用 ,无人值守调用方则传递 。参数中包含 Manifest 路径表示进行修订:更改该 Manifest 前先读取 。
~/.manifest-dev/manifests/manifest-<ts>.mdfigure-out--autonomousreferences/AMENDMENT.md项目工作面——setup 及其更新、验证 harness 及其 recipes、决策记录、术语表、North Star——归属于一个项目:即一个保存、或即将保存后续会话会更改的工作的 repository 或工作目录——用户即将开始的新项目也算——且当前工作与之相关。没有 workspace 的聊天、home 或 scratch 文件夹、仅存放一个已完成 artifact 的文件夹,或与会话运行目录无关的问题,都不属于项目。在这些场景中,不提供、不构建、不读取、不以其为 gate、不记录任何上述项目工作面;仍照常编写 Manifest,由其自身 gates 直接检查工作。项目内的一次性工作仍属于项目工作:它仍须遵循其路径所触及的每个 recipe 的 gate。
在为项目中的工作编码新 Manifest 之前,读取先前工作留下的内容——该 repository 的 logs 和 Manifests、工作路径上的 open Tickets,以及 pull requests 中的 “Debt left” sections——并遵循 。对于项目,如果其 surfaces version(在磁盘上的 context 文件中读取)缺失,或早于 setup-project 的最新版本,应在 digest 中注明,但不要停下进行更新,并将其记录为 条目。上游标记为 offer 的每一项都应单独记录为 条目,以便 completion report 点名。
../figure-out/references/RECALL.mdASM-*ASM-*figure-outASM-*如果宿主提供问题选择功能——一种以选项形式向用户提问、并留出用户用自己的话回答的空间——默认通过该功能提问,并将推荐答案作为每次提问的第一个选项。关键决策大多彼此独立,因此应在该功能允许的最少轮次内批量提出;某个答案会影响另一个答案的决策应先问,另一个等待。若没有该功能,或用户已要求以普通文本提问,则用纯文本提出请求,每轮一个。无人值守调用方不向用户提问:在其委派范围内自行决定每个问题,并将每个实质性决定记录为 条目,其 说明理由,以及判断错误时的影响。
(auto)ASM-*用户的决定。 当两位同样谨慎、掌握相同证据的人可能合理地作出不同决定,且差异会对用户产生影响时,该决定就属于用户。逐项用这句话检验每个实质性决定;你自己的信心不能作为定论。在用户决定处,先遵循任何明确保留的决策或适用委派;然后检查用户的 Taste 条目——已加载 memory 文件 section 中经确认的偏好。仅在以下情况下遵循某一条目:该条目明确适用于此类决定,且遵循它会改变选择。仅能轻微影响几乎所有决定的普遍倾向(如更少工作量或更低成本)本身不足以适用。否则根据证据决定。凡报告决策之处,先列出本次重新打开的每项决策记录,并说明搁置它的理由及撤销成本;然后列出用户的决定,每项都包含未采用的备选方案及决定因素——所遵循的条目,或没有适用条目。
## Taste反转时的 Taste。 当在场的用户反转早先运行作出的某项决定并说明原因,且该原因属于另一位用户可能持相反看法的偏好——而非每个会话都应遵循的行为——则应在交接前提供 Taste 条目:先读取 ,然后按其中说明提出该 offer。无人值守会话不提出 offer。对 disposable draft 的反应——仅为获得反应而制作的临时渲染——关乎该 draft 的方向,而不是这种反转,除非用户明确表示它超出了该 artifact 的范围。
references/TASTE_ON_REVERSAL.md将先前 Read 中有用的理由、预期进展、背景情况、权衡和不确定性带入 Intent、Approach 和 Assumptions,作为当下成立的理由,而不是 Read 的出处说明和日期;将保留的决策及其他约束性 authority 限制编码到 gates 中。Manifest 描述有限的工作,而不是项目的永久方向记录。
Manifest 是验收契约——用户认可为“我会交付执行此 Manifest 的结果”的内容——而 之后在没有本次对话上下文的情况下执行它。其 Outcome 陈述所欠结果;其 gates 陈述当前验收主张,每项都有其 source authority 和单独的 evidence method。这给出了一条不流于形式的底线:
/do- 严格遵循 中的 schema——执行器会解析它,而且它逐字承载每个 Manifest 都应遵循的 ceiling invariant。
references/SCHEMA.md - 写入当前状态。 未参与会话的读者从头到尾阅读 Manifest,就能了解当前任务,无需拼接任何信息——每次修订后也应如此,就像初稿一样。Gates、Intent、Initial Approach 和 Process Guidance 只陈述当前成立的内容:不记录某项内容何时被决定或更改的日期,也不提及它过去是什么样子。Gate 的 Authority 指明实际 source 和对应义务。Known Assumptions 记录未解决的假设和实质性选择,但不重复该 authority;标记指向未经询问而作出的选择。变更内容、变更时间及原因应记录在 figure-out log 和
(auto)的 Execution Log 中,绝不能记录在 Manifest 中。/do - Intent 应以 Outcome 开头:说明所请求的结果、服务对象以及适用情形。将操作性解释保留在 working gates 中,避免某个虚构细节仅因被放在这里就变成硬性要求。说明将如何评估整个结果,依据个人的可观察使用或选定 references,以及任何已保留的 acceptance。由 Agent 选择的评估方法仍可修订;如果 source 没有保留例行的 owner sign-off,不要自行添加。
- 然后说明 Problem:具体讲述今天有什么东西失效或令人不满,它构成其他所有方案所针对的 baseline。无法指出痛点的会话已经发现了停止信号,而不是遇到了空白字段——应返回 ,或得出没有什么值得构建的结论。接着说明 Appetite:问题值得多大的变更,界定复杂度和 surface,而不是时间。Appetite 绝不计算 Agent 可控制的投入,例如构建和测试,因此不能仅因这些投入而裁掉正确的解决方案。
figure-out - 将每个 Deliverable 切分为可独立完成并可端到端演练的切片——放到其真实用途前,而不只是检查其存在——这样其 criteria 才能判断它是否工作,而不只是是否已经存在。按层切分(例如“数据模型”或“数据源”)只能以存在性作为 gate,而 it compiles 或 the file exists 属于检查存在而非使用。重新切割附带实现层,同时保留其范围,并将重新切割记录为 选择。刻意要求的交付边界保留其 source authority:使工作能在该边界内演练,并 surfaced genuine conflict,而不是悄然更改该边界。编号列表本身不构成此类要求。在真实依赖关系内,先排最少被证明的项,让不可行的方向在仍有回旋空间时浮现。
(auto) - 先让变更变得容易。 当一项跨越 function boundary 的变更形状——的 sketch,或此处为直接请求绘制的 sketch——显示其触及区域抗拒该变更时(一个值贯穿多层、状态有多个 writer、缺少 seam、变更新会延续的 workaround),先切出一个保持行为不变的 preparatory Deliverable,然后才处理变更本身:范围限定为本次变更所需,由现有测试或 characterization tests 固定,并能作为独立 pull request 落地。工作路径上仍然存在且经当前代码核实的 recorded debt,与该变更合并——向在场用户提供,无人值守时在调用方的委派范围内决定。路径之外的 debt 保持原位。
figure-out - 验证先于它所检查的工作。 在项目中,context 文件的 project-surfaces section 中 verification bullet 记录项目如何检查其工作仍能发挥应有作用:其 verification harness——按照 所述,一条命令配一个 recipe 检查一件事——或其中指定的项目自有方式;磁盘上已有 harness 但无 bullet 也视为已选择,
../setup-project/references/VERIFICATION_HARNESS.md建议记录该 bullet。Harness 属于项目选择,绝非本次运行的选择。构建是选择的一部分,保持可信则是每次运行的职责:无论采用何种形式,工作满足的一项检查若已损坏、漂移或不再值得信任(ASM-*→ Fit to trust),都要以其自身形式修复,并置于依赖它的工作之前。../setup-project/references/VERIFICATION_HARNESS.md- Harness: 当它缺少工作所需内容,或工作触及的 recipe 发生漂移或不再值得信任时,先切出构建或修复它,范围限于变更触及部分,作为 first Deliverable,位于任何 preparatory slice 之前;无人值守运行也要构建它。Manifest 触及 recipe 覆盖的任何内容,或路径本应被覆盖却未覆盖时,携带一个 gate,要求每个触及的 recipe 均被添加或更新并运行,且报告其发现。标记为 ask-first 的 recipe,仅在项目设置或用户允许时运行——批准包含该 gate 运行的 Manifest 的用户即已同意;否则该 gate 要求更新 recipe,并在报告中点名仍欠的运行。
- 其自有方式,或尚无 bullet: Gates 通过 bullet 指定的方式验证;若没有 bullet,则通过项目保留的验证 assets——tests、scripts 和 checklists——验证,且任何 gate 或 Deliverable 都不构建项目未选择的 harness。其触及的检查若不满足 Fit to trust,则以其自身形式修复,像 harness repair 一样作为 first Deliverable。若没有任何现有 assets 能检查工作触及的内容,first Deliverable 应以项目自有形式添加该检查。无 bullet 且磁盘上无 harness 时,将 harness 记录为 completion report 携带的 recommendation,作为 ,绝不作为工作。
ASM-*
- 仍待构建的已记录检查必须构建。 在项目 decision records 中搜索 行中写着
Enforced by的内容。当工作实现或触及此类决策时,一个 gate 要求指定检查存在、在反转该决策时失败,并带有引用该 record 的 comment,同时要求该 record 的行以检查名称替换not yet。not yet - 每个 gate 将其主张与用于评估的 Evidence 分开。正文陈述主张和阈值;Authority 标注 及实际 source obligation,或标注
hard及它所服务的解释和预期结果。拆分混合 authority 的主张。标题不得添加正文未包含的内容;可选 rationale 不约束任何内容。硬性主张可以采用 working evidence method。明确要求的方法属于硬性主张本身,因此替换测试不能免除它。working - 每个 gate 或 Deliverable 中的每个具体项都有 source,或有明确说明的 working rationale。硬性要求由用户明确陈述,或由适用的项目、安全或权限规则施加。它们无需 rationale 也应保持硬性。对计划的总体批准不会使 Agent 选定的指标、方法或假设变硬。不要把自己计划或 schema 作为硬性要求的 source。当 source 有歧义且区别重要时,应予以解决,而不是虚构 authority。
- 粗略目标仍是粗略目标。即使用户要求精确,在可行性未知时仍保持硬性,并记录不确定性。当用户未明确评估方式时,优先采用所述行为,而不是虚构数值下限。操作性目标可以作为 working claim 或 evidence choice,日后有更合适的证据时可修订。
- 每个 gate 都明确声明“Judgment gate.”或“Deterministic gate.”——绝不能推断;执行器收到未声明类型的 gate 即表示执行器已损坏。混合了命令与判断的 gate 是 judgment gate。
- 绑定 outcome,而非服务于它的机制:如果执行器实现了 intent,但采用更好的方式且 gate 仍会失败,那么它绑定的是手段——应提升 gate,直到它不再绑定手段,并以工作留下的可评判结果为界。测试触及手段,但绝不触及终点:如果某机制被刻意选定为必须成立的内容,它 就是 outcome,将其剥离正是此纪律要防止的侵蚀。确保这种选择清晰可见——写入 gate 的 Authority——让后续读者能区分刻意机制与附带机制。
- 对于他人会使用或扩展的工作,在现有 quality gates 或相关 Acceptance Criteria 中包含正确完成工作的易用性。依据其预期寿命和明确边界,判断工作造成或延续的具体负担;健全的现有结构无需重新设计。
- 编写 gate 时,应覆盖其 region,而不是清单:如果标准是 no X anywhere in R,正文应要求评估者枚举 R 并推导实例,从而捕获明天的实例。程序应精确,而非仅给出列表。Acceptance Criterion 的 region 是其 Deliverable 的 surface;Global Invariant 的 region 是 Manifest 的 surface,并由 Appetite 限定。区分该 region 上所欠属性与足以验收的 evidence:当穷尽观察不可行时,gate 指定一个封闭的 coverage set——列表或数量,绝不能是“至少这些,以及其他任何项”——像其他选定具体项一样有 source;说明其限制,并在检查相同 surface 的 gates 之间共享 evidence。代表性 evidence 绝不把明确的普遍要求变成抽样要求。
- 检查 gates 是否能在所述范围和运行条件内共同成立。在交接前解决开放的时间范围和相互竞争的资源或性能需求,并提出以预期用途为依据的有界方案。将未解决的权衡呈交给 owner(或在无人值守调用方委派范围之外返回 blocker);在决定授权更改前,保留目标和明确要求。Completion 使用约定的 evidence 和阈值;新的偏好会改变契约,而不是重新打开已满足的 gate。
- 任何一旦违反将不安全或不可逆的内容都成为 Global Invariant——绝不放入 Process Guidance,也绝不因抗拒验证而丢弃。若其中只有部分可从 artifacts 判断,则 gate 该部分,并将其余部分记录为 ,说明由什么强制执行。
ASM-* - 将每个明确的 Out of bounds exclusion 编码一次,作为 Global Invariant;可能改变预期结果的遗漏属于 advisory plan。
- 用户因对具体事物——mock、reference、选定方向——作出反应而固定的 criterion 是成功标准,而非风格偏好。将其编码为 gate,并依据该反应所指内容进行判断。绝不将其转交 advisory layer,在那里它可能被权衡掉。
- 根据判断错误时的代价对 Known Assumptions 进行分类:工作被返工属于 assumption,应归入 ;方法被否定不属于——现在解决这一差距,将其写成不得偏离的 gate,或作为 Initial Approach 中提供指导的方向。将其留作 assumption 会让它在运行中途暴露,而无人值守执行一旦停滞,代价会高得多。
ASM-* - 任何无法检查的 criterion 都应按 → Verdicts 所述加以明确或删除;Outcome 和当前 gates 构成约束。
references/SCHEMA.md
在编写 gate 正文前,如果 prompt-engineering skill 可用,则调用它进行校准;gate 正文在评估者遵循它的那一刻就是 prompt,而易读但模糊的 prose 只是表达了愿望,而非应有的检查。完成后回到这里——本 skill 掌控访谈。
Task files
Task files
Identify the task type and load the matching file(s) from . Their
Quality Gates supply the qualities to encode as / and their Defaults as
before the interview, so the dialogue carries the encoding forward; a Default
whose violation would be unsafe or irreversible routes to a Global Invariant
instead. A rule the user has stated — in the session or in a context file — or a
convention the project states or documents overrides a conflicting Default: omit or adjust the
Default. Every Default of a loaded file ends up carried, adjusted or omitted — carrying one
changed in a is adjusting it — and each adjusted or omitted one is named in an
with why: the rule that overrides it, or what makes it clearly inapplicable. A reader can then
tell a Default set aside on purpose from one lost. The context file's outcome rules —
naming, structure, architecture — also constrain the shape the Manifest specifies,
not only which Defaults it drops. Where the project context file points to a principles skill
for an area the work touches — a project skill holding how the project's people want that area's
work done — load it: its principles constrain that shape too and outrank a conflicting Default, and a
principle the result must not depart from becomes a gate citing the skill as its source. Where
what was asked conflicts with a principle and that line's own yield does not cover the case, the
principle holds unless the user chose the departure: they named the principle or said to set it
aside, or a decision record or a delegation that names the departure covers it. With the user present, ask whether the
principle has moved or this is an exception. For an unattended caller, encode the principle's
side, record what was asked in an , and open the digest with the conflict: what
was asked, the principle, what the Manifest specifies instead, and the one change that restores
what was asked. A departure the user chose is encoded as asked, and its names the
principle and why ( → Using one). Taste
entries stay weighed per call, as above. Per-repo for
multi-repo manifests. State what must be true for the artifact's actual users, operators,
readers and maintainers over its useful life. Keep the task files' applicable review coverage;
several concerns may share a claim and its Evidence when they judge the same result. A review
dimension is not a reason for a separate gate. These carry encoder data only —
figure-out's own probe files are a separate set this skill never reads, and any
is gate-evaluation lookup data, not loaded here.
A disposable draft made only to get a person's reaction loads no task file — no
Quality Gate and no Default — because that reaction is its check. Its
Deliverable owes only that the draft, kept outside the project's files, reaches
that person with the question it poses; nothing reviews, tests or checks the
draft's quality. Where the Manifest also holds work beyond the draft, load task
files for that work as usual and keep the draft's Deliverable outside their
gates.
tasks/INV-G*AC-*PG-*PG-*ASM-*(auto)ASM-*ASM-*../setup-project/references/PRINCIPLES_SKILLS.mdtasks/**/references/*.md| Domain | Indicators | File |
|---|---|---|
| Coding | Any code change; base review dimensions for intent, bugs, operational readiness, design, tests, docs, context adherence | |
| Feature | New functionality, APIs, enhancements | |
| Bug | Defects, errors, regressions, "broken" | |
| Refactor | Restructuring, cleanup, pattern changes | |
| UI | Anything a person sees and judges rather than calls — screens, decks, rendered documents, emails, games | |
| PR lifecycle | Shipping a change through a GitHub pull request — its proof, CI, review, approvals | |
| Prompting | LLM prompts, skills, agents, system instructions | |
| Prose floor | Any prose deliverable — the rules holding in both registers (base) | |
| Writing | Human-voice register: prose, articles, copy, social, creative | |
| Document | Documentation register: specs, proposals, reports, formal docs | |
| Tech design | Design docs consolidating finished understanding | |
| Measurement | A result kept or claimed because it measured better — a number, a suite's pass rate, a verdict between two versions (base) | |
| Performance | A number is the point — latency, throughput, memory, cost — or a change claims to move one | |
| Hill-climb | Improving an existing artifact round after round toward a goal, keeping a change only when it measures better | |
| Research | Investigations, analyses, comparisons | |
| Blog | Blog posts, articles, tutorials | |
| Marketing | Landing pages, launch posts, ads, pricing and positioning copy | |
FEATURE/BUG/REFACTOR/PERF compose onto when code changes, adding where the change
touches something seen; stands alone for a non-code visual artifact.
PERF and HILLCLIMB compose onto ; HILLCLIMB also composes onto the artifact's own
file, whose gates become floors every kept version holds.
Text-authoring composes with exactly one register —
(BLOG, MARKETING compose onto it) or (TECH_DESIGN composes onto
it). The two registers never compose together: their rules contradict each
other by design, so a deliverable takes the register of its dominant body and the
other's gates do not apply. Research composes with its
sources. composes where the output ships through a GitHub pull
request. does not compose with unless executable code
also changes.
CODING.mdUI.mdUI.mdMEASURE.mdPROSE_FLOOR.mdWRITING.mdDOCUMENT.mdresearch/RESEARCH.mdPR_LIFECYCLE.mdPROMPTING.mdCODING.mdThe omission valve. A task-file quality concern is omitted only with stated
reasoning, on one of two grounds: it is clearly inapplicable, or — advisory-tier
concerns only — it fails the bearer test. Each advisory dimension protects some
future activity (modification, regression-catching, reading, operating, the next
contributor); omit its assessment only where that activity will not occur on this
manifest's surface within the artifact's life, and record the omission as an
whose assumption is the missing bearer, stated as a fact — "no future
reader exists", never "unlikely to find much" — and whose impact if wrong names
what goes unreviewed. Weigh surface
and stakes together, never size alone: a one-line change on a payment path keeps
the full sweep. The full set is the default and doubt includes. Never eligible:
defect-finding dimensions, deterministic project gates, safety-critical Global
Invariants, and the ceiling. Where a task file splits its Quality Gates into
Baselines and Selectable Gates, encode both; the labels say only how far
this valve reaches. A baseline holds for every task of that type and is omitted
only where the thing it judges is absent from this work. A selectable gate is a
degree of rigor some tasks of that type do not call for, so it may also be
omitted, with that reasoning stated, where this task's question and stakes
clearly do not call for it.
ASM-*Specialized gates activate a skill. Put the substantive quality claim in the body and
the assessment in Evidence: activate the named skill with the claim, relevant source obligations
and its dimension or register, never prescribe a further context. The skill owns classification;
the Manifest owns what fails. Reviewer grades and recommendations are evidence about the claim,
not independent acceptance conditions. A finding must show a concrete failure or material cost
in the artifact's supported use or maintenance; a preferred shape alone does not establish one.
Keep a deliberately required severity policy, assessment or approval in the claim with its
source authority. An agent-selected reviewer or threshold does not become hard by insertion.
识别任务类型,并从 加载匹配文件。其 Quality Gates 提供要编码为 / 的质量维度,其 Defaults 提供要在访谈前编码为 的内容;某个 Default 一旦违反将不安全或不可逆,则转而作为 Global Invariant。用户所述规则——无论来自会话还是 context 文件——或项目所述或记录的 convention,均覆盖冲突的 Default:省略或调整该 Default。加载文件中的每个 Default 最终都须被承载、调整或省略——在 中承载经修改的 Default 即为调整——每个经调整或省略的 Default 均在 中说明原因:覆盖它的规则,或使其显然不适用的原因。读者由此可分辨一个 Default 被有意搁置与它不慎丢失。Context 文件的 outcome rules——命名、结构、架构——也约束 Manifest 指定的形状,而不仅限于它丢弃哪些 Defaults。
tasks/INV-G*AC-*PG-*PG-*ASM-*当项目 context file 指向某个工作所触及领域的 principles skill——项目 skill,规定项目人员希望如何完成该领域的工作——也应加载它:其 principles 同样约束该形状,并优先于冲突的 Default;结果不得偏离的 principle 应成为引用该 skill 为 source 的 gate。当请求内容与某 principle 冲突,且该 principle 自身的 yield 未覆盖此情况时,principle 生效,除非用户选择偏离:用户点名该 principle 或表示将其搁置,或某 decision record 或 delegation 指明该偏离。有用户在场时,询问该 principle 是否已变更,或这是否属于例外。对于无人值守调用方,编码 principle 一侧,将所请求内容记录在 中,并在 digest 开头说明冲突:请求内容、principle、Manifest 改为规定的内容,以及恢复所请求内容所需的一项更改。用户选择的偏离应按已询问内容编码,其 指明 principle 及原因( → Using one)。Taste 条目仍按上述方式针对每项决定进行权衡。对于跨多个 repository 的 Manifest,按 repo 分别处理。陈述 artifact 的实际用户、操作者、读者和维护者在其预期寿命内必须成立的条件。保留 task files 的适用 review coverage;多个关注点可以共用同一主张及其 Evidence,当它们判断同一结果时。Review dimension 不是创建独立 gate 的理由。这些文件仅承载 encoder 数据——figure-out 自身的 probe files 是另一套文件,本 skill 绝不读取;任何 都是 gate-evaluation lookup data,不在此加载。
(auto)ASM-*ASM-*../setup-project/references/PRINCIPLES_SKILLS.mdtasks/**/references/*.md仅为获取人的反应而制作的 disposable draft 不加载 task file——没有 Quality Gate,也没有 Default——因为该反应就是它的检查。其 Deliverable 仅欠该 draft 本身,该 draft 保留在项目文件之外并带着它提出的问题到达该人;没有任何环节评审、测试或检查 draft 的质量。若 Manifest 还包含 draft 之外的工作,则照常为该工作加载 task files,并使 draft 的 Deliverable 位于其 gates 之外。
| 领域 | 指标 | 文件 |
|---|---|---|
| Coding | 任何代码变更;针对 intent、bugs、operational readiness、design、tests、docs、context adherence 的基础 review dimensions | |
| Feature | 新功能、API、增强功能 | |
| Bug | 缺陷、错误、回归、“损坏” | |
| Refactor | 重构、清理、模式变更 | |
| UI | 任何供人观察和判断、而非供人调用的内容——界面、演示文稿、渲染文档、邮件、游戏 | |
| PR lifecycle | 通过 GitHub pull request 交付变更——其证明、CI、review、approvals | |
| Prompting | LLM prompts、skills、agents、system instructions | |
| Prose floor | 任何 prose deliverable——同时约束两种 register 的规则(基础) | |
| Writing | 人类口吻的 register:prose、文章、文案、社交、创意内容 | |
| Document | 文档 register:specs、proposals、reports、正式文档 | |
| Tech design | 整合已达成理解的设计文档 | |
| Measurement | 因测量结果更好而保留或宣称的结果——数值、suite 通过率、两个版本之间的 verdict(基础) | |
| Performance | 数值本身是重点——延迟、吞吐量、内存、成本——或变更声称会改变其中某项 | |
| Hill-climb | 围绕目标逐轮改进现有 artifact,仅当测量结果更好时才保留变更 | |
| Research | 调查、分析、比较 | |
| Blog | 博客文章、教程 | |
| Marketing | Landing pages、发布文章、广告、定价和定位文案 | |
发生代码变更时,FEATURE/BUG/REFACTOR/PERF 与 组合;若变更触及人可见内容,再添加 ;对于非代码视觉 artifact, 独立使用。PERF 和 HILLCLIMB 与 组合;HILLCLIMB 还与其自身 artifact 文件组合,该文件的 gates 成为每个保留版本都必须满足的下限。
CODING.mdUI.mdUI.mdMEASURE.md文本创作与 以及恰好一种 register 组合——(BLOG、MARKETING 与之组合)或 (TECH_DESIGN 与之组合)。**这两种 register 绝不组合使用:**它们的规则按设计彼此冲突,因此一个 deliverable 采用其主体内容所对应的 register,另一 register 的 gates 不适用。Research 与其 sources 及 组合。 在产物通过 GitHub pull request 交付时组合。 不与 组合,除非可执行代码也发生变化。
PROSE_FLOOR.mdWRITING.mdDOCUMENT.mdresearch/RESEARCH.mdPR_LIFECYCLE.mdPROMPTING.mdCODING.md遗漏阀门。 Task-file 的 quality concern 仅在以下两种理由之一下才可省略:它显然不适用;或者——仅限 advisory-tier concern——它未通过 bearer test。每个 advisory dimension 都保护某项未来活动(修改、回归检测、阅读、运营、下一位贡献者);只有当该活动在本 Manifest 的 surface 上、在 artifact 寿命内不会发生时,才可省略其 assessment,并将其省略记录为 ,把缺失的 bearer 作为事实陈述——“不存在未来读者”,绝不能是“不太可能有人发现太多”——同时说明判断错误时哪些内容未经过评审。要结合 surface 和 stakes 一同权衡,绝不能只看 size:支付路径上的一行变更仍须保留完整检查。完整集合是默认项,存在疑问就包括在内。以下内容绝不具备省略资格:缺陷发现维度、确定性的项目 gates、安全关键 Global Invariants 以及 ceiling。若 task file 将其 Quality Gates 分为 Baselines 和 Selectable Gates,两者都要编码;这些标签仅说明遗漏阀门的触及范围。Baseline 对每种相应任务都成立,只有当它所判断的对象不存在于本工作时才可省略。Selectable gate 是某些相应任务并不需要的严谨程度,因此当本任务的问题和 stakes 明显不需要时,也可带着上述理由将其省略。
ASM-*专用 gates 激活一个 skill。 将实质性质量主张放在正文中,将 assessment 放在 Evidence 中:带上该主张、相关 source obligations 及其 dimension 或 register 激活指定 skill,绝不进一步规定上下文。Skill 负责分类;Manifest 负责定义什么会失败。Reviewer grades 和 recommendations 是关于该主张的 evidence,而不是独立的 acceptance conditions。发现必须展示 artifact 在其受支持用途或维护中的具体失败或实质成本;仅仅偏好某种形状不足以构成问题。刻意要求的 severity policy、assessment 或 approval,应与其 source authority 一并保留在主张中。仅因插入而成为硬性的 Agent 选定 reviewer 或 threshold,仍不是硬性要求。
What else loads
What else loads
| Reference | Loads when |
|---|---|
| writing or validating any gate — the executor parses it |
| a manifest path is in the arguments, so this run amends that Manifest: read it before changing anything |
| the user, present in the session, reverses a call an earlier run made and states why (Taste on reversal, above): read it before making the offer |
| |
| the task spans repositories, so the manifest declares |
| Reference | 加载时机 |
|---|---|
| 编写或验证任何 gate 时——执行器会解析它 |
| 参数中包含 Manifest 路径,因此本次运行会修订该 Manifest:采取任何更改前先读取它 |
| 在场用户反转早先运行作出的决定并说明原因时(见上文 Taste on reversal):提出 offer 前先读取它 |
| 使用 |
| 任务跨越多个 repository,因此 Manifest 在 Intent 中声明 |
Finishing
Finishing
Every new Manifest and every amendment gets one review in a fresh context before
the digest, attended or unattended. The context that wrote the gates reads them
as it meant them, which is how an invented number, a dropped point, two gates
that cannot both hold, or a note an amendment left behind survive the reread
above. Hand a fresh context the paths of — its brief —
this file, , the task files this session loaded, the
project context file, any principles skills this session loaded, and any loaded memory file
holding Taste entries, and the
Manifest; the session record — the path of the figure-out log when one exists,
and of the transcript where the host keeps one the fresh context can read, else
the conversation itself, passed verbatim; and any model of the design built
earlier in the session or recorded in a figure-out log the recall above found,
so the review can extend it. For an amendment, also hand it ,
the Manifest as it
stood before, or a diff of the file — never a description of the change — and
the steering or decision the amendment encodes. Where no isolated context is
available, review against that brief yourself and say in the digest that the
review was self-graded. Settle every finding in one pass: fix it, or reject it
and name it with the reason in the digest. A fix that changes the Outcome or a hard requirement
needs its source's authorization: asked when attended; unattended, return the evidenced
boundary without applying it. A working-claim repair within the assignment lands with its
basis and refreshed evidence. Any other fix lands wherever its fault sits: in a touched gate, in
non-binding text, or — where it changes no requirement, such as removing a
note — in an untouched gate. Unattended,
a new Manifest also records each rejected or unapplied finding in an
. An amendment adds no Known Assumption that only records how a review finding
was handled, so such entries do not pile up with each amendment; its digest
lists each rejected or unapplied finding as an open item, for the caller to name
in its own report. A hole is a result the stated Intent
already rejects, so close each one whose gate or design decision serves that
Intent, attended or unattended; only a fix that would change the Intent or the
scope is the user's call, and unattended one names the hole as
still open, replaced rather than repeated by a later amendment. An entry that
merely accepts a hole the Intent rejects does not settle it. Settle each
ambiguity by writing one reading into the gate. No second review follows.
references/REVIEW.mdreferences/SCHEMA.mdreferences/AMENDMENT.md(auto)ASM-*(auto)ASM-*Give a plain-language digest. Open it with what needs the person, set apart from the rest: a
conflict with a principle, as Task files above says; then the user's calls, as The user's
call above says; then what is theirs to confirm or veto: the pain, which matters most, being
the one thing only the user can confirm and the surface where an invented Problem gets caught,
and every number a gate holds the work to (each threshold, bound, count or target, in plain
words) so the user can veto one before execution. Then the rest: the intended result, what must
stay fixed, what the agent may revise, the plan, how it is verified, and the holes the review
found and how each was settled (a search that found none is never offered as proof the Manifest
is sound). No codes, no schema vocabulary; it reads like talking to a colleague. Wait for a yes
unless the caller is unattended or this is an amendment. Then emit the handoff
( is the absolute path you wrote):
<manifest-path>text
Manifest complete: <manifest-path>
To execute: /do <manifest-path>
For unattended execution, invoke /do <manifest-path> as the execution entrypoint. /do reads the manifest and owns the manifest-completion contract: it sets that completion contract when the active harness exposes a goal-setting or continuation capability, or prints the manual copy-paste contract when not. /define does not set a separate /do goal.Then stop. A yes to the plan approves the Manifest, not its execution: /do runs
only when the user or a calling workflow invokes it, so the lines above are for
them, never an instruction to you.
每个新 Manifest 和每次修订,都要在 digest 之前于一个全新上下文中完成一次 review。编写 gates 的上下文会按照编写者当时的意图阅读它们;正因如此,虚构的数字、被遗漏的点、两个无法同时成立的 gates,或某次修订遗留的说明,才会在上述重读中暴露出来。向全新上下文提供 的路径——其 brief——本文件、、本次会话加载的 task files、project context file、本次会话加载的任何 principles skills,以及任何包含 Taste 条目的已加载 memory file;还要提供 Manifest;会话记录——存在 figure-out log 时提供其路径,宿主保存 transcript 且全新上下文可读取时提供 transcript 路径,否则提供对话本身,逐字传递;以及本次会话早期构建或 figure-out log 中记录的任何设计模型,让 review 能扩展它。对于修订,还要提供 、修订前的 Manifest 或文件 diff——绝不能只提供变更描述——以及修订所编码的 steering 或 decision。若无法使用隔离上下文,则根据该 brief 自行 review,并在 digest 中说明此次 review 为 self-graded。在一次处理中解决每项发现:修复它,或拒绝它并在 digest 中说明原因。改变 Outcome 或 hard requirement 的修复需要其 source 的授权:有人参与时进行询问;无人值守时,返回有证据支撑的边界而不应用它。Working-claim 的修复若在 assignment 范围内,则连同其依据和更新后的 evidence 一并落地。其他任何修复应落到其问题所在之处:被触及的 gate、非约束性文本,或在它不改变任何 requirement(例如移除一条说明)时,落入未被触及的 gate。无人值守时,新 Manifest 还应将每项被拒绝或未应用的发现记录为 。修订不得新增仅仅记录 review 发现处理方式的 Known Assumption,因此此类条目不会随着每次修订不断累积;其 digest 将每项被拒绝或未应用的发现列为 open item,供调用方在自己的报告中点名。一个 hole 是 Intent 已经拒绝的结果,因此应关闭每个由其 gate 或设计决定服务于该 Intent 的 hole,无论有人参与还是无人值守;只有会改变 Intent 或 scope 的修复才是用户的决定事项,无人值守时由一个 将该 hole 点明为仍然开放,并在后续 amendment 中替换而非重复。每一条仅仅接受 Intent 所拒绝之 hole 的记录都不算解决该 hole。通过在 gate 中写入一种解读来解决每个歧义。不进行第二次 review。
references/REVIEW.mdreferences/SCHEMA.mdreferences/AMENDMENT.md(auto)ASM-*(auto)ASM-*提供通俗易懂的 digest。首先单独呈现需要该人员处理的内容:与 principle 的冲突,按 Task files 所述;然后是用户的决定,按 The user's call 所述;然后是应由其确认或否决的内容:痛点——它最为重要,因为这是只有用户才能确认的唯一事项,也是虚构 Problem 最容易被发现之处——以及每个 gate 对工作设下约束的数字(每个阈值、边界、数量或目标,均以通俗语言表述),以便用户在执行前否决其中任何一个。然后是其余内容:预期结果、必须保持不变的内容、Agent 可以修订的内容、计划、验证方式,以及 review 发现的 holes 及其解决方式(一次搜索未发现任何问题,绝不能作为 Manifest 可靠的证明)。不要使用 codes 或 schema vocabulary;它应像是在与同事交谈。除非调用方无人值守或这是一次修订,否则等待用户确认。然后发出交接( 是所写文件的绝对路径):
<manifest-path>text
Manifest complete: <manifest-path>
To execute: /do <manifest-path>
For unattended execution, invoke /do <manifest-path> as the execution entrypoint. /do reads the manifest and owns the manifest-completion contract: it sets that completion contract when the active harness exposes a goal-setting or continuation capability, or prints the manual copy-paste contract when not. /define does not set a separate /do goal.对计划的 yes 批准的是 Manifest,而不是其执行:只有用户或调用 workflow 调用 时才会运行,因此上述各行是供他们使用,绝不是给你的指令。
/do然后停止。