groove-utilities-memory-promises

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

groove-utilities-memory-promises

groove-utilities-memory-promises

Use $ARGUMENTS as the promise text if provided, or a flag:
  • --list
    : show all open promises
  • --resolve <N>
    : mark promise N as resolved
如果提供了$ARGUMENTS则将其用作承诺文本,否则使用以下标志:
  • --list
    :展示所有未处理的承诺
  • --resolve <N>
    :将第N条承诺标记为已解决

Outcome

效果

Deferred items from a session are captured before they are forgotten, or existing open promises are reviewed and resolved.
会话中被推迟的事项会在被遗忘前被记录下来,或者对已有的未处理承诺进行复盘和解决。

Acceptance Criteria

验收标准

  • New promise captured with date and optional context
  • --list
    shows all open promises clearly numbered
  • --resolve N
    marks promise N as resolved
  • 新的承诺会被记录,附带日期和可选上下文
  • --list
    命令会清晰展示所有编号的未处理承诺
  • --resolve N
    命令会将第N条承诺标记为已解决

Task backend

任务后端

Read
tasks:
from
.groove/index.md
. Promises are tracked as tasks in the configured backend. If no task backend is configured (
tasks: none
), tell the user to run
/groove-utilities-task-install
first.
Promises are stored as tasks under a shared "Groove Memory" milestone → "Promises" epic hierarchy. This keeps them organised and out of the main work task list.
.groove/index.md
中读取
tasks:
配置项。承诺会作为任务在配置的后端中进行追踪。如果未配置任务后端(
tasks: none
),则告知用户先运行
/groove-utilities-task-install
承诺会作为任务存储在共享的「Groove Memory」里程碑 →「Promises」史诗层级下。这样可以保持它们的有序性,且不会混入主要工作任务列表中。

Ensure parent hierarchy

确保父层级存在

Before any operation, resolve or create the parent epic:
  1. Find or create the Groove Memory milestone:
    • beans list -t milestone --search "Groove Memory" -q
      — if output is non-empty, use the first ID; otherwise
      beans create "Groove Memory" -t milestone
      and capture the new ID
  2. Find or create the Promises epic under that milestone:
    • beans list -t epic --parent <milestone-id> --search "Promises" -q
      — if non-empty, use first ID; otherwise
      beans create "Promises" -t epic --parent <milestone-id>
      and capture the new ID
Use the Promises epic ID as
<parent-id>
for all promise tasks.
在执行任何操作前,先解析或创建父史诗:
  1. 查找或创建Groove Memory里程碑:
    • beans list -t milestone --search "Groove Memory" -q
      —— 如果输出非空,使用第一个ID;否则执行
      beans create "Groove Memory" -t milestone
      并捕获新生成的ID
  2. 在该里程碑下查找或创建Promises史诗:
    • beans list -t epic --parent <milestone-id> --search "Promises" -q
      —— 如果输出非空,使用第一个ID;否则执行
      beans create "Promises" -t epic --parent <milestone-id>
      并捕获新生成的ID
将Promises史诗的ID作为所有承诺任务的
<parent-id>

--list

--list

  1. Resolve
    <parent-id>
    (see above)
  2. beans list --parent <parent-id> -s todo -t task
  3. Display as numbered list:
    1. [<id>] <title>
    — position number for
    --resolve N
    , beans ID in brackets
  4. If empty: print "No open promises."
  1. 解析得到
    <parent-id>
    (见上文)
  2. beans list --parent <parent-id> -s todo -t task
  3. 以编号列表形式展示:
    1. [<id>] <title>
    —— 位置编号用于
    --resolve N
    命令,括号内为beans的ID
  4. 如果列表为空:打印「No open promises.」(没有未处理的承诺)

--resolve <N>

--resolve <N>

  1. Resolve
    <parent-id>
    ; run
    beans list --parent <parent-id> -s todo -t task
  2. Find the Nth item; if not found: print "No open promise #N" and exit
  3. beans update <id> -s completed
  4. Confirm: "Promise #N resolved."
  1. 解析得到
    <parent-id>
    ;执行
    beans list --parent <parent-id> -s todo -t task
  2. 找到第N项;如果未找到:打印「No open promise #N」(不存在第#N条未处理承诺)并退出
  3. beans update <id> -s completed
  4. 确认提示:「Promise #N resolved.」(第#N条承诺已解决)

Default — add a promise

默认操作 —— 添加一条承诺

  1. Resolve
    <parent-id>
    (see above)
  2. Get promise text from $ARGUMENTS if provided; otherwise ask: "What's being deferred?"
  3. Optionally ask: "Any context? (enter to skip)"
  4. beans create "<text>" -t task --parent <parent-id> -s todo -p deferred
  5. If context given:
    beans update <id> -d "<context>"
  6. Confirm: "Promise captured: [<id>] <text>"
  1. 解析得到
    <parent-id>
    (见上文)
  2. 如果提供了$ARGUMENTS则从中获取承诺文本;否则询问用户:「What's being deferred?」(有什么内容要推迟处理?)
  3. 可选询问:「Any context? (enter to skip)」(有什么上下文吗?按回车键跳过)
  4. beans create "<text>" -t task --parent <parent-id> -s todo -p deferred
  5. 如果提供了上下文:
    beans update <id> -d "<context>"
  6. 确认提示:「Promise captured: [<id>] <text>」(承诺已记录:[<id>] <text>

Constraints

约束条件

  • Read
    tasks:
    from
    .groove/index.md
    at the start of every invocation
  • Requires a configured task backend — if
    tasks: none
    , prompt user to install one
  • Never auto-capture promises without user confirmation — always explicit
  • Milestone/epic parent hierarchy is idempotent — always check before creating; never create duplicates
  • Use
    -s todo
    for open,
    -s completed
    for resolved;
    -p deferred
    to signal not active work
  • Do not resolve all promises automatically; resolve one at a time unless user asks for
    --resolve-all
  • --resolve-all
    requires confirmation: "Resolve all N open promises?" before proceeding
  • 每次调用开始时都要从
    .groove/index.md
    读取
    tasks:
    配置项
  • 需要已配置的任务后端 —— 如果配置为
    tasks: none
    ,提示用户先安装任务后端
  • 禁止在未获得用户确认的情况下自动捕获承诺 —— 所有操作必须显式触发
  • 里程碑/史诗父层级是幂等的 —— 创建前始终先检查,永远不要创建重复项
  • 未处理状态使用
    -s todo
    ,已解决状态使用
    -s completed
    ;使用
    -p deferred
    标记非活跃工作项
  • 不要自动解决所有承诺;每次仅解决一个,除非用户指定
    --resolve-all
    参数
  • --resolve-all
    操作需要确认:「Resolve all N open promises?」(确定要解决所有N条未处理承诺吗?)确认后再继续执行