missing-change-request
Scenario for Refine Plan.
No change_request seeded → workflow fails at the Understand_Intent gate
Latest run: PASS — 2026-05-10 22:56:47Z
Spec: .abtree/trees/refine-plan/TEST__missing-change-request.yaml
Report: .abtree/trees/refine-plan/REPORT__missing-change-request__20260510T225647Z.md
Test spec
yaml
feature: Refine_Plan refines a change request into an approved plan
tree: refine-plan
description: |
Guard — Understand_Intent's first step is `evaluate: $LOCAL.change_request is set`.
When the execution is created without seeding $LOCAL.change_request, the
evaluate must fail and the parent sequence must terminate as failure
before any draft is written.
background:
initial:
local: {} # change_request deliberately NOT seeded
scenario:
name: No change_request seeded → workflow fails at the Understand_Intent gate
given:
- $LOCAL.change_request is null (the execution was created without seeding it)
when:
- Understand_Intent evaluate → false ($LOCAL.change_request is not set)
- Understand_Intent submits failure (no instruct ever fires)
- the parent sequence (Refine_Plan_Workflow) aborts on the first failing child
then:
local:
change_request: null
intent_analysis: null
draft_path: null
plan_path: null
codeowner_approved: null
mr_url: null
files:
plans_drafts_dir:
contains_files_for_this_execution: false # we never reached Write_Draft
status: failureLatest report
Tree: refine-plan Spec: .abtree/trees/refine-plan/TEST__missing-change-request.yaml Target execution: test-tree-run-no-change-request-seeded__refine-plan__1 Overall: PASS
Final $LOCAL
| key | value |
|---|---|
| change_request | null |
| intent_analysis | null |
| draft_path | null |
| plan_path | null |
| codeowner_approved | null |
| mr_url | null |
Assertions
| Name | Expected | Actual | Pass |
|---|---|---|---|
| status | failure | failure | ✓ |
| local.change_request | null | null | ✓ |
| local.intent_analysis | null | null | ✓ |
| local.draft_path | null | null | ✓ |
| local.plan_path | null | null | ✓ |
| local.codeowner_approved | null | null | ✓ |
| local.mr_url | null | null | ✓ |
| files.plans_drafts_dir.contains_files_for_this_execution | false | false (no draft was written; Write_Draft never fired) | ✓ |
Trace
mermaid
---
title: "test-tree run: no change_request seeded (failed)"
---
flowchart TD
Refine_Plan_Workflow{{"Refine Plan Workflow\n[sequence]"}}
0_Understand_Intent["Understand Intent\n[action]"]
Refine_Plan_Workflow --> 0_Understand_Intent
style 0_Understand_Intent fill:#f87171,stroke:#dc2626,color:#450a0a
0_Write_Draft["Write Draft\n[action]"]
Refine_Plan_Workflow --> 0_Write_Draft
0_Critique_Draft["Critique Draft\n[action]"]
Refine_Plan_Workflow --> 0_Critique_Draft
0_Save_Plan["Save Plan\n[action]"]
Refine_Plan_Workflow --> 0_Save_Plan
0_Codeowner_Approval{{"Codeowner Approval\n[selector]"}}
Refine_Plan_Workflow --> 0_Codeowner_Approval
0_4_Approve_In_Session["Approve In Session\n[action]"]
0_Codeowner_Approval --> 0_4_Approve_In_Session
0_4_Open_MR_For_Codeowner["Open MR For Codeowner\n[action]"]
0_Codeowner_Approval --> 0_4_Open_MR_For_Codeowner