[
  {
    "id": "choose-bloge",
    "kind": "task",
    "title": "判断系统是否应该使用 BLOGE",
    "summary": "根据系统约束形成可证伪的 STOP、PROBE 或 ADOPT 决策。",
    "task": "choose-bloge",
    "applies_to": [
      "0.9.8-RC1"
    ],
    "url": "/agent/zh-CN/v/0.9.8-RC1/tasks/choose-bloge.md",
    "sha256": "55ab2170a01d320ddefcb156badf514ca9a2d449fb95f5ce498d744eb48694ae",
    "approx_tokens": 353,
    "prerequisites": [
      "overview"
    ],
    "source_refs": [
      "/zh-CN/v/0.9.8-RC1/01-why-bloge",
      "/zh-CN/v/0.9.8-RC1/33-migration-and-comparison"
    ]
  },
  {
    "id": "compose-time-and-recovery",
    "kind": "task",
    "title": "组合子图、批量、等待与恢复",
    "summary": "选择足以覆盖集合、时间和重启边界的最小生命周期模型。",
    "task": "compose-time-and-recovery",
    "applies_to": [
      "0.9.8-RC1"
    ],
    "url": "/agent/zh-CN/v/0.9.8-RC1/tasks/compose-time-and-recovery.md",
    "sha256": "b5906165404e7cbf20582717d20c5422cc7c740bb9928d7993378995ef77c05d",
    "approx_tokens": 396,
    "prerequisites": [
      "create-first-graph"
    ],
    "source_refs": [
      "/zh-CN/v/0.9.8-RC1/10-reuse-with-subgraphs",
      "/zh-CN/v/0.9.8-RC1/11-batch-and-iteration",
      "/zh-CN/v/0.9.8-RC1/12-waiting-for-the-world",
      "/zh-CN/v/0.9.8-RC1/13-durable-execution"
    ]
  },
  {
    "id": "create-first-graph",
    "kind": "task",
    "title": "创建并运行第一个 BLOGE Graph",
    "summary": "在不隐藏数据流和 Operator 责任的前提下添加最小可审查 Graph。",
    "task": "create-first-graph",
    "applies_to": [
      "0.9.8-RC1"
    ],
    "url": "/agent/zh-CN/v/0.9.8-RC1/tasks/create-first-graph.md",
    "sha256": "838901630f895d561696c1955ff56c201419c2b470ffd14135917f79064130a0",
    "approx_tokens": 485,
    "prerequisites": [
      "overview"
    ],
    "source_refs": [
      "/zh-CN/v/0.9.8-RC1/02-your-first-graph",
      "/zh-CN/v/0.9.8-RC1/03-thinking-in-dependencies",
      "/assets/v/0.9.8-RC1/chapters/02-your-first-graph/assets/head-first-bloge-examples/src/main/resources/bloge/ch02/hello-world.bloge"
    ]
  },
  {
    "id": "design-resilience",
    "kind": "task",
    "title": "设计 Retry、Timeout、Fallback 与 Compensation",
    "summary": "增加韧性，同时不把引擎控制误写成外部 Effect 保证。",
    "task": "design-resilience",
    "applies_to": [
      "0.9.8-RC1"
    ],
    "url": "/agent/zh-CN/v/0.9.8-RC1/tasks/design-resilience.md",
    "sha256": "b040a9f3994bfa157158a0b03e65c6570bfc91f86b17efca92f061344f319dce",
    "approx_tokens": 456,
    "prerequisites": [
      "create-first-graph"
    ],
    "source_refs": [
      "/zh-CN/v/0.9.8-RC1/06-resilience-by-design",
      "/zh-CN/v/0.9.8-RC1/07-designing-good-operators",
      "/assets/v/0.9.8-RC1/chapters/06-resilience-by-design/assets/bloge/bloge-conformance/fixtures/snippets/basic/retry-fallback-output.bloge"
    ]
  },
  {
    "id": "migrate-and-deliver-capstone",
    "kind": "task",
    "title": "迁移工作流并交付可审查的毕业项目",
    "summary": "用等价证据、回滚点和可证伪验收结果迁移一个有边界的工作流。",
    "task": "migrate-and-deliver-capstone",
    "applies_to": [
      "0.9.8-RC1"
    ],
    "url": "/agent/zh-CN/v/0.9.8-RC1/tasks/migrate-and-deliver-capstone.md",
    "sha256": "c851b68305a814cc24ed9ca0758f163a08ffe060a6b72550a1b0c12add988a5d",
    "approx_tokens": 358,
    "prerequisites": [
      "choose-bloge",
      "test-observe-and-wire-production"
    ],
    "source_refs": [
      "/zh-CN/v/0.9.8-RC1/33-migration-and-comparison",
      "/zh-CN/v/0.9.8-RC1/34-labs"
    ]
  },
  {
    "id": "orchestrate-session-state-agent",
    "kind": "task",
    "title": "编排 Session、状态机与受限 Agent",
    "summary": "指定唯一生命周期所有者，并把非确定性模型行为限制在确定性边界内。",
    "task": "orchestrate-session-state-agent",
    "applies_to": [
      "0.9.8-RC1"
    ],
    "url": "/agent/zh-CN/v/0.9.8-RC1/tasks/orchestrate-session-state-agent.md",
    "sha256": "edc7c00f5726e1f42bee6a12f2ca631139ea9067f854be8de2e24992670954a8",
    "approx_tokens": 396,
    "prerequisites": [
      "compose-time-and-recovery"
    ],
    "source_refs": [
      "/zh-CN/v/0.9.8-RC1/14-multi-turn-sessions",
      "/zh-CN/v/0.9.8-RC1/15-state-machines",
      "/zh-CN/v/0.9.8-RC1/16-composing-sessions-and-state-machines",
      "/zh-CN/v/0.9.8-RC1/17-agent-orchestration"
    ]
  },
  {
    "id": "test-observe-and-wire-production",
    "kind": "task",
    "title": "测试、观测并完成 BLOGE 生产接线",
    "summary": "让技术 claim 与正确的测试范围、运行信号、Spring 所有者和容量实验对应。",
    "task": "test-observe-and-wire-production",
    "applies_to": [
      "0.9.8-RC1"
    ],
    "url": "/agent/zh-CN/v/0.9.8-RC1/tasks/test-observe-and-wire-production.md",
    "sha256": "c084496e463460335d470f6f66c2b2c5217b8e92ae432b9822c9addf80e12d9f",
    "approx_tokens": 426,
    "prerequisites": [
      "create-first-graph"
    ],
    "source_refs": [
      "/zh-CN/v/0.9.8-RC1/18-testing-your-graphs",
      "/zh-CN/v/0.9.8-RC1/19-observability-in-production",
      "/zh-CN/v/0.9.8-RC1/20-spring-and-production-wiring",
      "/zh-CN/v/0.9.8-RC1/21-running-at-scale",
      "/zh-CN/v/0.9.8-RC1/22-distributed-capacity"
    ]
  },
  {
    "id": "verify-business-correctness",
    "kind": "task",
    "title": "使用 Source-bound Evidence 验证业务正确性",
    "summary": "把业务 Owner 批准的答案变成受控 Scenario 证据，同时不夸大 Claim。",
    "task": "verify-business-correctness",
    "applies_to": [
      "0.9.8-RC1"
    ],
    "url": "/agent/zh-CN/v/0.9.8-RC1/tasks/verify-business-correctness.md",
    "sha256": "307b24d375c37f317093456ccd04543aa6641327e61817e3bd704e7111f37c14",
    "approx_tokens": 584,
    "prerequisites": [
      "overview"
    ],
    "source_refs": [
      "/zh-CN/v/0.9.8-RC1/23-business-correctness",
      "/zh-CN/v/0.9.8-RC1/24-first-loan-verification",
      "/assets/v/0.9.8-RC1/chapters/24-first-loan-verification/assets/bloge/bloge-starter-loan-approval/src/test/bloge/scenarios/loan-approval.scenario.yaml",
      "/assets/v/0.9.8-RC1/chapters/24-first-loan-verification/assets/bloge/bloge-starter-loan-approval/src/test/bloge/verification-policy.yaml"
    ]
  }
]
