Skip to content

v0.72.0

Choose a tag to compare

@quolu quolu released this 03 Oct 06:20
· 358 commits to main since this release
11fbd31

runtime error記録: 落ちた面と例外の分類(safe_context)

  • BugHubの LATTICE.CLI_INTERNAL_FAILED(mac-kite、26回)は、どのcommandで落ちたかが記録に無く、
    原因を確定できないまま閉じた。新しい記録は固定語彙の分類 safe_context を持つ。
    • command_kind: 落ちたCLIの面(run.list・todo.start 等、Latticeが持つ一覧の語だけ。無ければ other)。
    • error_kind: 例外の種類(Error・TypeError・RangeError・SyntaxError・ReferenceError・
      AggregateError・SystemError、それ以外は other)。
    • cause_code: Nodeが付けるerror code(ENOENT・ERR_MODULE_NOT_FOUND 等。無ければ none)。
    • 3つは必ずそろえる。message本文・path・引数の値・stackは載せない。
  • fingerprintは、分類つきの記録では
    sha256(product \0 component \0 error_code \0 message_template \0 command_kind \0 error_kind \0 cause_code)。
    原因が違えば別の記録(BugHubでは別のissue)になる。分類を持たない旧記録は前の式のまま残り、
    新しい発生は旧記録へ加算されない。
  • todo のcommandがtyped契約の外で落ちた時(INTERNAL_FAILURE)も、run系と同じ
    LATTICE.CLI_INTERNAL_FAILED として記録する。これまでは記録されなかった。
  • 受け側の前提: dotagents 898c6e1 以降(safe_context を受け入れ、同じ式でfingerprintを照合する)と、
    BugHubの lattice 許可キー(command_kind・error_kind・cause_code)。

0.71.2 — 2026-10-03

修正

  • todo dashboard ensure が、登録簿のlock待ち切れ(DASHBOARD_REGISTRY_BUSY)やdaemonの無応答
    (DASHBOARD_DAEMON_UNRESPONSIVE)などを INTERNAL_FAILURE とstackの抜粋で返していた。
    登録簿とdaemonの故障はcodeと detail(reason・next_action)を持つtyped errorとして返す。
    再実行で解ける種類は next_action に lattice todo dashboard ensure --json を示す。
  • 登録簿のJSONが壊れている時のmessageから、localの絶対pathを外した。