Skip to content

missing-goal

Scenario for Technical Writer.

No goal seeded → Resolve_Styleguide selector exhausts both branches and the workflow fails

Latest run: PASS — 2026-05-10 23:31:27Z

Spec: .abtree/trees/technical-writer/TEST__missing-goal.yaml

Report: .abtree/trees/technical-writer/REPORT__missing-goal__20260510T233127Z.md


Test spec

yaml
feature: Technical_Writer grounds a docs goal in a styleguide, places it, writes, and review-gates
tree: technical-writer
description: |
  Guard — the execution is created without seeding $LOCAL.goal. Both
  Resolve_Styleguide branches gate on the goal:
    - Load_Styleguide evaluates "$LOCAL.goal is set AND STYLEGUIDE.md exists"
    - Draft_Styleguide (inside Bootstrap_Styleguide) evaluates "$LOCAL.goal is set"
  With goal=null, both fail; Resolve_Styleguide has no more branches; the
  parent sequence aborts as failure before any styleguide / draft / write
  occurs.

background:
  initial:
    local: {}   # goal deliberately NOT seeded

scenario:
  name: No goal seeded → Resolve_Styleguide selector exhausts both branches and the workflow fails
  given:
    - $LOCAL.goal is null
  when:
    - Load_Styleguide evaluate → false ($LOCAL.goal is null, even though STYLEGUIDE.md may exist)
    - Draft_Styleguide evaluate → false ($LOCAL.goal is null)
    - Resolve_Styleguide selector exhausts both children → fails
    - parent sequence Technical_Writer_Workflow aborts on the first failing child
  then:
    local:
      goal: null
      styleguide: null
      styleguide_approved: null
      intent: null
      docs_survey: null
      placement: null
      draft: null
      review_notes: null
      final_path: null
    files:
      STYLEGUIDE.md:
        modified_during_run: false   # bootstrap never wrote anything
    runtime:
      retry_count:
        Write_And_Review: 0
    status: failure

Latest report

Tree: technical-writer (v1.2.1) Runner: test-tree (v1.2.0, fixture-driven side effects) Spec: .abtree/trees/technical-writer/TEST__missing-goal.yaml Target execution: test-tree-run-missing-goal-both-resolve-__technical-writer__1 Overall: PASS

Final $LOCAL

keyvalue
goalnull
styleguidenull
styleguide_approvednull
intentnull
docs_surveynull
placementnull
draftnull
review_notesnull
final_pathnull

Assertions

NameExpectedActualPass
statusfailurefailure
local.goalnullnull
local.styleguidenullnull
local.styleguide_approvednullnull
local.intentnullnull
local.docs_surveynullnull
local.placementnullnull
local.draftnullnull
local.review_notesnullnull
local.final_pathnullnull
files.STYLEGUIDE.md.modified_during_runfalsefalse (bootstrap never wrote)
runtime.retry_count.Write_And_Review00

Trace highlight: Both Load_Styleguide and Bootstrap_Styleguide are red, so Resolve_Styleguide is red, the parent sequence aborts on the first failing child, and the downstream nodes (Assess_Intent, Survey_Existing_Docs, Write_And_Review) are never visited. Exactly the gate behaviour the spec asserts.

Trace

mermaid
---
title: "test-tree run: missing goal — both Resolve_Styleguide branches gate-fail (failed)"
---
flowchart TD
    Technical_Writer_Workflow{{"Technical Writer Workflow\n[sequence]"}}
    0_Resolve_Styleguide{{"Resolve Styleguide\n[selector]"}}
    Technical_Writer_Workflow --> 0_Resolve_Styleguide
    style 0_Resolve_Styleguide fill:#f87171,stroke:#dc2626,color:#450a0a
    0_0_Load_Styleguide["Load Styleguide\n[action]"]
    0_Resolve_Styleguide --> 0_0_Load_Styleguide
    style 0_0_Load_Styleguide fill:#f87171,stroke:#dc2626,color:#450a0a
    0_0_Bootstrap_Styleguide{{"Bootstrap Styleguide\n[sequence]"}}
    0_Resolve_Styleguide --> 0_0_Bootstrap_Styleguide
    style 0_0_Bootstrap_Styleguide fill:#f87171,stroke:#dc2626,color:#450a0a
    0_0_1_Draft_Styleguide["Draft Styleguide\n[action]"]
    0_0_Bootstrap_Styleguide --> 0_0_1_Draft_Styleguide
    style 0_0_1_Draft_Styleguide fill:#f87171,stroke:#dc2626,color:#450a0a
    0_0_1_Human_Approval_Gate["Human Approval Gate\n[action]"]
    0_0_Bootstrap_Styleguide --> 0_0_1_Human_Approval_Gate
    0_Assess_Intent["Assess Intent\n[action]"]
    Technical_Writer_Workflow --> 0_Assess_Intent
    0_Survey_Existing_Docs{{"Survey Existing Docs\n[selector]"}}
    Technical_Writer_Workflow --> 0_Survey_Existing_Docs
    0_2_Map_Placement["Map Placement\n[action]"]
    0_Survey_Existing_Docs --> 0_2_Map_Placement
    0_2_Resolve_Structure["Resolve Structure\n[action]"]
    0_Survey_Existing_Docs --> 0_2_Resolve_Structure
    0_Write_And_Review{{"Write And Review\n[sequence]"}}
    Technical_Writer_Workflow --> 0_Write_And_Review
    0_3_Write_Documentation["Write Documentation\n[action]"]
    0_Write_And_Review --> 0_3_Write_Documentation
    0_3_Review_Gate["Review Gate\n[action]"]
    0_Write_And_Review --> 0_3_Review_Gate

MIT licensed