hacifootprint
hcifootprintInterfaces

JourneyDef

Interface: JourneyDef

Defined in: src/tree/types.ts:284

A named multi-step flow, in the navigation graph's authoring vocabulary.

Named for the person WRITING it: a journey is the path someone takes through the app ("sign up", "buy a dress end to end"). What the agent reads is the COMPILED journey — does becomes its description, when its precondition, suffix steps resolve to qualified ids — which is the dual identity this whole authoring layer is built on (navigation in, journey graph out). The two vocabularies keep separate names on purpose: the compiled shape is Journey (JourneySpec before its id is attached). An app that already keeps a journey list feeds it in with fromJourneys().

Properties

does

does: string

Defined in: src/tree/types.ts:285


steps

steps: (string | { step: string; })[]

Defined in: src/tree/types.ts:302

Steps by qualified path ('checkout.confirm-order.place-order') or unambiguous suffix ('place-order').

THE OBJECT ELEMENT FORM — { step: 'place-order' } — compiles identically to the bare string and carries NOTHING beyond step in this release. It exists because per-step conditional metadata has to have exactly ONE authoring carrier: two features orbit it (a per-edge guard is designed and parked), and deciding the carrier once means the next one lands as a new optional field on a shape that already exists rather than as a second shape competing with this one.

humanDecides is deliberately NOT one of them: ownership is a fact about the CONTROL, declared on ActionDef and inherited by every journey that names it.


when?

optional when?: WhereFilter<Record<string, unknown>>

Defined in: src/tree/types.ts:303

On this page