[{"data":1,"prerenderedAt":1286},["ShallowReactive",2],{"docs-sections":3,"docs-page-\u002Fdocs\u002Fjourneys":124},[4,9,13,17,21,25,30,34,38,42,46,50,54,58,62,66,71,75,79,83,88,92,96,100,104,108,112,116,120],{"path":5,"title":6,"description":7,"group":8},"\u002Fdocs","Introduction","pdd-kit brings Product-Driven Development to coding agents through a Git-tracked Product Model and an automatic verification loop.","Get started",{"path":10,"title":11,"description":12,"group":8},"\u002Fdocs\u002Finstallation","Installation","Install the pdd-kit skills into your coding agent at project or global scope.",{"path":14,"title":15,"description":16,"group":8},"\u002Fdocs\u002Ffrom-your-repo","From your repo","Map what an existing repository already does into a Product Model, review it, then check the code against it.",{"path":18,"title":19,"description":20,"group":8},"\u002Fdocs\u002Ffrom-an-idea","From an idea","Decide what a new product does, approve its Product Model, then ask your agent to implement it while verify checks each part.",{"path":22,"title":23,"description":24,"group":8},"\u002Fdocs\u002Ffrom-a-blueprint","From a Blueprint","Pull a reviewed Product Model for a common kind of product instead of starting blank, adapt it if needed, then ask your agent to implement it.",{"path":26,"title":27,"description":28,"group":29},"\u002Fdocs\u002Fproduct-model","Model overview","The Product Model in five minutes (what the product-model\u002F folder holds, what each resource type is for, and how to tell them apart).","Product Model",{"path":31,"title":32,"description":33,"group":29},"\u002Fdocs\u002Fproduct","Product","The one product a Product Model describes (its name, its promise, the languages it is delivered in, its known boundaries, and what it needs to be published as a Blueprint).",{"path":35,"title":36,"description":37,"group":29},"\u002Fdocs\u002Fentities","Entities","The things your product keeps or reasons about (orders, products, settings) and the people and systems that act on it, with what it knows about each and the States it moves through.",{"path":39,"title":40,"description":41,"group":29},"\u002Fdocs\u002Finterfaces","Interfaces","The web apps, mobile apps, CLIs, APIs and webhooks through which people and systems reach your product, the parts inside them, and the places where facts and abilities are met.",{"path":43,"title":44,"description":45,"group":29},"\u002Fdocs\u002Fdomains","Domains","Optional subject areas, such as ordering or billing, that follow the Product's own sections and group its Capabilities and Entities without owning them.",{"path":47,"title":48,"description":49,"group":29},"\u002Fdocs\u002Fcapabilities","Capabilities","The things your product lets someone do, where each is offered, and the Capability Scenarios that show each one working.",{"path":51,"title":52,"description":53,"group":29},"\u002Fdocs\u002Fjourneys","Journeys","Goals where your product carries a person from one Capability into the next, and the Journey Scenarios that walk each path.",{"path":55,"title":56,"description":57,"group":29},"\u002Fdocs\u002Fbusiness-rules","Business Rules","What must always hold in your product, and who may do what (constraints, derivations and permissions), each stated once with everything it applies to.",{"path":59,"title":60,"description":61,"group":29},"\u002Fdocs\u002Fvariations","Variations","Feature flags, settings, plan tiers, A\u002FB tests and API versions, when your product works in more than one supported way and something decides which way applies.",{"path":63,"title":64,"description":65,"group":29},"\u002Fdocs\u002Freferences","References","Point any resource at material kept outside the model (code, a PRD, a design, research), saying what it is and why it is attached.",{"path":67,"title":68,"description":69,"group":70},"\u002Fdocs\u002Fskills","Skills overview","Three self-contained skills cover adoption, intended product change, and automatic verification-to-resolution.","Skills",{"path":72,"title":73,"description":74,"group":70},"\u002Fdocs\u002Fskill-pdd-map","map","Create or expand a Product Model from the code you already have, without running it.",{"path":76,"title":77,"description":78,"group":70},"\u002Fdocs\u002Fskill-pdd-ideate","ideate","Explore or define intended behavior, then write only the exact Product Model change you approve.",{"path":80,"title":81,"description":82,"group":70},"\u002Fdocs\u002Fskill-pdd-verify","verify","Implement the Product Model in code, in phases, or check that the model and the code agree, and resolve every gap you approve until they do or something blocks.",{"path":84,"title":85,"description":86,"group":87},"\u002Fdocs\u002Fcli","CLI overview","Install skills, lint and view a Product Model locally, and move Blueprints between repositories with the pdd-kit CLI.","CLI",{"path":89,"title":90,"description":91,"group":87},"\u002Fdocs\u002Fcli-install","install","Install the bundled pdd-kit agent skills safely for selected AI harnesses and scopes.",{"path":93,"title":94,"description":95,"group":87},"\u002Fdocs\u002Fcli-update","update","Refresh only pdd-kit-managed skill installations in project or global scope.",{"path":97,"title":98,"description":99,"group":87},"\u002Fdocs\u002Fcli-lint","lint","Check that a Product Model is structurally sound (files, relationships, Steps, Rules and References) without claiming it matches the code.",{"path":101,"title":102,"description":103,"group":87},"\u002Fdocs\u002Fcli-view","view","Open a Product Model as a private local report, from your checkout or from a GitHub repository.",{"path":105,"title":106,"description":107,"group":87},"\u002Fdocs\u002Fcli-export","blueprint export","Compile a Product Model into a portable Product Report that can move safely between repositories.",{"path":109,"title":110,"description":111,"group":87},"\u002Fdocs\u002Fcli-open","blueprint open","Expand a local Product Report into a canonical Product Model.",{"path":113,"title":114,"description":115,"group":87},"\u002Fdocs\u002Fcli-list","blueprint list","List the published Blueprints you can pull.",{"path":117,"title":118,"description":119,"group":87},"\u002Fdocs\u002Fcli-pull","blueprint pull","Pull a published Blueprint into the current directory.",{"path":121,"title":122,"description":123,"group":87},"\u002Fdocs\u002Fcli-contribute","blueprint contribute","Open a pull request proposing your Product Model as a Blueprint.",{"id":125,"title":52,"body":126,"description":53,"extension":285,"group":29,"meta":1250,"navigation":328,"order":382,"path":51,"seo":1283,"stem":1284,"__hash__":1285},"docs\u002Fdocs\u002Fjourneys.md",{"type":127,"value":128,"toc":1238},"minimark",[129,133,147,155,160,220,224,264,268,279,391,448,455,459,470,473,478,484,1038,1132,1136,1142,1145,1149,1156,1160,1175,1179,1182,1226,1229,1234],[130,131,52],"h1",{"id":132},"journeys",[134,135,136,146],"p",{},[137,138,139,140,145],"strong",{},"A Journey is a goal where your product carries a person from one\n",[141,142,144],"a",{"href":143},".\u002Fcapabilities","Capability"," into the next."," Creating a document and landing\nin its editor, or signing up and following the emailed link to confirm, are\nJourneys: the Product hands the person on.",[134,148,149,150,154],{},"A Journey states only the goal and how you know it was met. Each concrete path\nis a ",[141,151,153],{"href":152},"#journey-scenarios","Journey Scenario",". Journeys are optional: many\nproducts have none.",[156,157,159],"h2",{"id":158},"in-practice","In practice",[161,162,163,176],"table",{},[164,165,166],"thead",{},[167,168,169,173],"tr",{},[170,171,172],"th",{},"In your product",[170,174,175],{},"Journey?",[177,178,179,188,196,204,212],"tbody",{},[167,180,181,185],{},[182,183,184],"td",{},"A product page's Buy button takes the shopper straight into checkout",[182,186,187],{},"Yes: Browse and buy",[167,189,190,193],{},[182,191,192],{},"Creating a document opens it in the editor",[182,194,195],{},"Yes",[167,197,198,201],{},[182,199,200],{},"Browsing source, then later changing notification settings",[182,202,203],{},"No: the person chose what to do next",[167,205,206,209],{},[182,207,208],{},"Inviting a teammate, who then joins",[182,210,211],{},"No: a different person follows the link",[167,213,214,217],{},[182,215,216],{},"Creating a repository",[182,218,219],{},"No: one Capability with its Scenarios",[156,221,223],{"id":222},"when-you-create-one","When you create one",[225,226,227,234,240,246,252,258],"ul",{},[228,229,230,233],"li",{},[137,231,232],{},"The Product does the handing on",": a redirect, a required next step, an\nemailed link to follow. A person merely choosing what to do next is not a\nJourney.",[228,235,236,239],{},[137,237,238],{},"The same person throughout."," A hand-off to someone else, or a continuation\nthe Product runs alone, such as merging once checks pass, is not one.",[228,241,242,245],{},[137,243,244],{},"At least two Capabilities."," A goal one Capability meets is that\nCapability's Scenario, never a Journey wrapper.",[228,247,248,251],{},[137,249,250],{},"Being sent back to where you were going after signing in"," is not a\nhand-off.",[228,253,254,257],{},[137,255,256],{},"Staying where you are is not a hand-off",": drafts appearing in the editor\nyou are working in, or going back to what you were doing after creating\nsomething inline.",[228,259,260,263],{},[137,261,262],{},"An email carries only when your own action sent it."," A message someone\nelse's action or a schedule sends starts a new visit, not a Journey.",[156,265,267],{"id":266},"the-file","The file",[134,269,270,274,275,278],{},[271,272,273],"code",{},"journeys\u002F\u003Cid>.md",", or ",[271,276,277],{},"journeys\u002F\u003Cid>\u002Fjourney.md"," once it owns Scenarios. The\nH1 names the goal; there is no lead paragraph.",[280,281,287],"pre",{"className":282,"code":283,"filename":284,"language":285,"meta":286,"style":286},"language-md shiki shiki-themes pdd-kit-brand-warm pdd-kit-brand-warm material-theme-palenight","---\nactors: [shopper]\n---\n\n# Browse and buy\n\n## Goal\n\nA shopper wants to purchase a suitable product.\n\n## Success criterion\n\nA confirmed order exists for the selected product.\n","journeys\u002Fbrowse-and-buy\u002Fjourney.md","md","",[271,288,289,298,318,323,330,341,346,355,360,367,372,380,385],{"__ignoreMap":286},[290,291,294],"span",{"class":292,"line":293},"line",1,[290,295,297],{"class":296},"sjkiA","---\n",[290,299,301,305,308,311,315],{"class":292,"line":300},2,[290,302,304],{"class":303},"sg1QC","actors",[290,306,307],{"class":296},":",[290,309,310],{"class":296}," [",[290,312,314],{"class":313},"s9fN-","shopper",[290,316,317],{"class":296},"]\n",[290,319,321],{"class":292,"line":320},3,[290,322,297],{"class":296},[290,324,326],{"class":292,"line":325},4,[290,327,329],{"emptyLinePlaceholder":328},true,"\n",[290,331,333,337],{"class":292,"line":332},5,[290,334,336],{"class":335},"sKwZ8","#",[290,338,340],{"class":339},"sBbkF"," Browse and buy\n",[290,342,344],{"class":292,"line":343},6,[290,345,329],{"emptyLinePlaceholder":328},[290,347,349,352],{"class":292,"line":348},7,[290,350,351],{"class":335},"##",[290,353,354],{"class":339}," Goal\n",[290,356,358],{"class":292,"line":357},8,[290,359,329],{"emptyLinePlaceholder":328},[290,361,363],{"class":292,"line":362},9,[290,364,366],{"class":365},"szETn","A shopper wants to purchase a suitable product.\n",[290,368,370],{"class":292,"line":369},10,[290,371,329],{"emptyLinePlaceholder":328},[290,373,375,377],{"class":292,"line":374},11,[290,376,351],{"class":335},[290,378,379],{"class":339}," Success criterion\n",[290,381,383],{"class":292,"line":382},12,[290,384,329],{"emptyLinePlaceholder":328},[290,386,388],{"class":292,"line":387},13,[290,389,390],{"class":365},"A confirmed order exists for the selected product.\n",[161,392,393,403],{},[164,394,395],{},[167,396,397,400],{},[170,398,399],{},"Field or section",[170,401,402],{},"Says",[177,404,405,415,425,435],{},[167,406,407,412],{},[182,408,409,411],{},[271,410,304],{}," (required)",[182,413,414],{},"Who pursues the goal",[167,416,417,422],{},[182,418,419,411],{},[271,420,421],{},"## Goal",[182,423,424],{},"What they want, in a sentence",[167,426,427,432],{},[182,428,429,411],{},[271,430,431],{},"## Success criterion",[182,433,434],{},"How you know they got it, without naming a route",[167,436,437,442],{},[182,438,439],{},[271,440,441],{},"references",[182,443,444,445],{},"Code or docs behind it, as ",[141,446,64],{"href":447},".\u002Freferences",[134,449,450,451,454],{},"Everything else is derived from its achieved Scenarios: the Capabilities it\nuses, the places it passes through, and what it ",[137,452,453],{},"leaves behind",": the things\nthose paths create, change or remove, with their final States.",[156,456,458],{"id":457},"journey-scenarios","Journey Scenarios",[134,460,461,464,465,469],{},[137,462,463],{},"A Journey Scenario is one path through a Journey,"," from the person setting out\nto the goal achieved or not. A Scenario belongs to exactly one parent; one owned\nby a Capability is a\n",[141,466,468],{"href":467},".\u002Fcapabilities#capability-scenarios","Capability Scenario",".",[134,471,472],{},"Every Journey needs at least one achieved Scenario. Add another when a condition\nor hand-off changes how the Journey ends. A local failure, such as a refused\npayment, stays a Capability Scenario too.",[474,475,477],"h3",{"id":476},"the-journey-scenario-file","The Journey Scenario file",[134,479,480,483],{},[271,481,482],{},"journeys\u002F\u003Cjourney-id>\u002Fscenarios\u002F\u003Cid>.md",". The ids are unique across the whole\nmodel.",[280,485,488],{"className":282,"code":486,"filename":487,"language":285,"meta":286,"style":286},"---\nkind: primary\nresult: achieved\nroutes:\n  web: Web\nsteps:\n  - text: The shopper finds an available product and chooses Buy\n    kind: actor\n    actor: shopper\n    capability: browse-catalog\n    entities:\n      - { entity: catalog-product, effect: reads, facts: [Name and description, Price, Stock remaining] }\n    contexts:\n      web:\n        place: customer-web::storefront::product-record\n  - text: The shopper submits checkout from the product page\n    kind: actor\n    actor: shopper\n    capability: place-order\n    entities:\n      - { entity: order, effect: creates, to: Pending, facts: [Items ordered, Delivery details, Subtotal, Tax, Discount, Total charged, Margin, When placed] }\n      - { entity: cart, effect: removes }\n    contexts:\n      web:\n        place: customer-web::storefront::product-record\n  - text: The Product confirms the order once its payment settles\n    kind: product\n    actor: payment-gateway\n    capability: settle-payment\n    entities:\n      - { entity: order, effect: changes, from: Pending, to: Confirmed, facts: [] }\n    contexts:\n      web:\n        place: payment-webhook\n---\n\n# Browse and complete checkout\n\n## Trigger\n\nThe shopper wants to find and purchase an available product.\n\n## Outcome\n\nThe goal is achieved: a confirmed order exists for the selected product.\n","journeys\u002Fbrowse-and-buy\u002Fscenarios\u002Fbrowse-and-complete-checkout.md",[271,489,490,494,504,514,522,532,539,552,562,572,582,589,644,651,659,670,682,691,700,710,717,800,825,832,839,848,860,870,880,890,897,948,955,962,972,977,982,990,995,1003,1008,1014,1019,1027,1032],{"__ignoreMap":286},[290,491,492],{"class":292,"line":293},[290,493,297],{"class":296},[290,495,496,499,501],{"class":292,"line":300},[290,497,498],{"class":303},"kind",[290,500,307],{"class":296},[290,502,503],{"class":313}," primary\n",[290,505,506,509,511],{"class":292,"line":320},[290,507,508],{"class":303},"result",[290,510,307],{"class":296},[290,512,513],{"class":313}," achieved\n",[290,515,516,519],{"class":292,"line":325},[290,517,518],{"class":303},"routes",[290,520,521],{"class":296},":\n",[290,523,524,527,529],{"class":292,"line":332},[290,525,526],{"class":303},"  web",[290,528,307],{"class":296},[290,530,531],{"class":313}," Web\n",[290,533,534,537],{"class":292,"line":343},[290,535,536],{"class":303},"steps",[290,538,521],{"class":296},[290,540,541,544,547,549],{"class":292,"line":348},[290,542,543],{"class":296},"  -",[290,545,546],{"class":303}," text",[290,548,307],{"class":296},[290,550,551],{"class":313}," The shopper finds an available product and chooses Buy\n",[290,553,554,557,559],{"class":292,"line":357},[290,555,556],{"class":303},"    kind",[290,558,307],{"class":296},[290,560,561],{"class":313}," actor\n",[290,563,564,567,569],{"class":292,"line":362},[290,565,566],{"class":303},"    actor",[290,568,307],{"class":296},[290,570,571],{"class":313}," shopper\n",[290,573,574,577,579],{"class":292,"line":369},[290,575,576],{"class":303},"    capability",[290,578,307],{"class":296},[290,580,581],{"class":313}," browse-catalog\n",[290,583,584,587],{"class":292,"line":374},[290,585,586],{"class":303},"    entities",[290,588,521],{"class":296},[290,590,591,594,597,600,602,605,608,611,613,616,618,621,623,625,628,630,633,635,638,641],{"class":292,"line":382},[290,592,593],{"class":296},"      -",[290,595,596],{"class":296}," {",[290,598,599],{"class":303}," entity",[290,601,307],{"class":296},[290,603,604],{"class":313}," catalog-product",[290,606,607],{"class":296},",",[290,609,610],{"class":303}," effect",[290,612,307],{"class":296},[290,614,615],{"class":313}," reads",[290,617,607],{"class":296},[290,619,620],{"class":303}," facts",[290,622,307],{"class":296},[290,624,310],{"class":296},[290,626,627],{"class":313},"Name and description",[290,629,607],{"class":296},[290,631,632],{"class":313}," Price",[290,634,607],{"class":296},[290,636,637],{"class":313}," Stock remaining",[290,639,640],{"class":296},"]",[290,642,643],{"class":296}," }\n",[290,645,646,649],{"class":292,"line":387},[290,647,648],{"class":303},"    contexts",[290,650,521],{"class":296},[290,652,654,657],{"class":292,"line":653},14,[290,655,656],{"class":303},"      web",[290,658,521],{"class":296},[290,660,662,665,667],{"class":292,"line":661},15,[290,663,664],{"class":303},"        place",[290,666,307],{"class":296},[290,668,669],{"class":313}," customer-web::storefront::product-record\n",[290,671,673,675,677,679],{"class":292,"line":672},16,[290,674,543],{"class":296},[290,676,546],{"class":303},[290,678,307],{"class":296},[290,680,681],{"class":313}," The shopper submits checkout from the product page\n",[290,683,685,687,689],{"class":292,"line":684},17,[290,686,556],{"class":303},[290,688,307],{"class":296},[290,690,561],{"class":313},[290,692,694,696,698],{"class":292,"line":693},18,[290,695,566],{"class":303},[290,697,307],{"class":296},[290,699,571],{"class":313},[290,701,703,705,707],{"class":292,"line":702},19,[290,704,576],{"class":303},[290,706,307],{"class":296},[290,708,709],{"class":313}," place-order\n",[290,711,713,715],{"class":292,"line":712},20,[290,714,586],{"class":303},[290,716,521],{"class":296},[290,718,720,722,724,726,728,731,733,735,737,740,742,745,747,750,752,754,756,758,761,763,766,768,771,773,776,778,781,783,786,788,791,793,796,798],{"class":292,"line":719},21,[290,721,593],{"class":296},[290,723,596],{"class":296},[290,725,599],{"class":303},[290,727,307],{"class":296},[290,729,730],{"class":313}," order",[290,732,607],{"class":296},[290,734,610],{"class":303},[290,736,307],{"class":296},[290,738,739],{"class":313}," creates",[290,741,607],{"class":296},[290,743,744],{"class":303}," to",[290,746,307],{"class":296},[290,748,749],{"class":313}," Pending",[290,751,607],{"class":296},[290,753,620],{"class":303},[290,755,307],{"class":296},[290,757,310],{"class":296},[290,759,760],{"class":313},"Items ordered",[290,762,607],{"class":296},[290,764,765],{"class":313}," Delivery details",[290,767,607],{"class":296},[290,769,770],{"class":313}," Subtotal",[290,772,607],{"class":296},[290,774,775],{"class":313}," Tax",[290,777,607],{"class":296},[290,779,780],{"class":313}," Discount",[290,782,607],{"class":296},[290,784,785],{"class":313}," Total charged",[290,787,607],{"class":296},[290,789,790],{"class":313}," Margin",[290,792,607],{"class":296},[290,794,795],{"class":313}," When placed",[290,797,640],{"class":296},[290,799,643],{"class":296},[290,801,803,805,807,809,811,814,816,818,820,823],{"class":292,"line":802},22,[290,804,593],{"class":296},[290,806,596],{"class":296},[290,808,599],{"class":303},[290,810,307],{"class":296},[290,812,813],{"class":313}," cart",[290,815,607],{"class":296},[290,817,610],{"class":303},[290,819,307],{"class":296},[290,821,822],{"class":313}," removes",[290,824,643],{"class":296},[290,826,828,830],{"class":292,"line":827},23,[290,829,648],{"class":303},[290,831,521],{"class":296},[290,833,835,837],{"class":292,"line":834},24,[290,836,656],{"class":303},[290,838,521],{"class":296},[290,840,842,844,846],{"class":292,"line":841},25,[290,843,664],{"class":303},[290,845,307],{"class":296},[290,847,669],{"class":313},[290,849,851,853,855,857],{"class":292,"line":850},26,[290,852,543],{"class":296},[290,854,546],{"class":303},[290,856,307],{"class":296},[290,858,859],{"class":313}," The Product confirms the order once its payment settles\n",[290,861,863,865,867],{"class":292,"line":862},27,[290,864,556],{"class":303},[290,866,307],{"class":296},[290,868,869],{"class":313}," product\n",[290,871,873,875,877],{"class":292,"line":872},28,[290,874,566],{"class":303},[290,876,307],{"class":296},[290,878,879],{"class":313}," payment-gateway\n",[290,881,883,885,887],{"class":292,"line":882},29,[290,884,576],{"class":303},[290,886,307],{"class":296},[290,888,889],{"class":313}," settle-payment\n",[290,891,893,895],{"class":292,"line":892},30,[290,894,586],{"class":303},[290,896,521],{"class":296},[290,898,900,902,904,906,908,910,912,914,916,919,921,924,926,928,930,932,934,937,939,941,943,946],{"class":292,"line":899},31,[290,901,593],{"class":296},[290,903,596],{"class":296},[290,905,599],{"class":303},[290,907,307],{"class":296},[290,909,730],{"class":313},[290,911,607],{"class":296},[290,913,610],{"class":303},[290,915,307],{"class":296},[290,917,918],{"class":313}," changes",[290,920,607],{"class":296},[290,922,923],{"class":303}," from",[290,925,307],{"class":296},[290,927,749],{"class":313},[290,929,607],{"class":296},[290,931,744],{"class":303},[290,933,307],{"class":296},[290,935,936],{"class":313}," Confirmed",[290,938,607],{"class":296},[290,940,620],{"class":303},[290,942,307],{"class":296},[290,944,945],{"class":296}," []",[290,947,643],{"class":296},[290,949,951,953],{"class":292,"line":950},32,[290,952,648],{"class":303},[290,954,521],{"class":296},[290,956,958,960],{"class":292,"line":957},33,[290,959,656],{"class":303},[290,961,521],{"class":296},[290,963,965,967,969],{"class":292,"line":964},34,[290,966,664],{"class":303},[290,968,307],{"class":296},[290,970,971],{"class":313}," payment-webhook\n",[290,973,975],{"class":292,"line":974},35,[290,976,297],{"class":296},[290,978,980],{"class":292,"line":979},36,[290,981,329],{"emptyLinePlaceholder":328},[290,983,985,987],{"class":292,"line":984},37,[290,986,336],{"class":335},[290,988,989],{"class":339}," Browse and complete checkout\n",[290,991,993],{"class":292,"line":992},38,[290,994,329],{"emptyLinePlaceholder":328},[290,996,998,1000],{"class":292,"line":997},39,[290,999,351],{"class":335},[290,1001,1002],{"class":339}," Trigger\n",[290,1004,1006],{"class":292,"line":1005},40,[290,1007,329],{"emptyLinePlaceholder":328},[290,1009,1011],{"class":292,"line":1010},41,[290,1012,1013],{"class":365},"The shopper wants to find and purchase an available product.\n",[290,1015,1017],{"class":292,"line":1016},42,[290,1018,329],{"emptyLinePlaceholder":328},[290,1020,1022,1024],{"class":292,"line":1021},43,[290,1023,351],{"class":335},[290,1025,1026],{"class":339}," Outcome\n",[290,1028,1030],{"class":292,"line":1029},44,[290,1031,329],{"emptyLinePlaceholder":328},[290,1033,1035],{"class":292,"line":1034},45,[290,1036,1037],{"class":365},"The goal is achieved: a confirmed order exists for the selected product.\n",[161,1039,1040,1048],{},[164,1041,1042],{},[167,1043,1044,1046],{},[170,1045,399],{},[170,1047,402],{},[177,1049,1050,1066,1080,1099,1109,1119],{},[167,1051,1052,1056],{},[182,1053,1054,411],{},[271,1055,498],{},[182,1057,1058,1059,1062,1063],{},"The Scenario kind, such as ",[271,1060,1061],{},"primary"," or ",[271,1064,1065],{},"edge",[167,1067,1068,1072],{},[182,1069,1070,411],{},[271,1071,508],{},[182,1073,1074,1062,1077],{},[271,1075,1076],{},"achieved",[271,1078,1079],{},"not-achieved",[167,1081,1082,1089],{},[182,1083,1084,1086,1087,411],{},[271,1085,518],{},", ",[271,1088,536],{},[182,1090,1091,1092,1095,1096],{},"As on a ",[141,1093,468],{"href":1094},".\u002Fcapabilities#what-a-step-does-to-the-products-things",", plus each Step's optional ",[271,1097,1098],{},"capability",[167,1100,1101,1106],{},[182,1102,1103,411],{},[271,1104,1105],{},"## Trigger",[182,1107,1108],{},"The person setting out after the goal",[167,1110,1111,1116],{},[182,1112,1113,411],{},[271,1114,1115],{},"## Outcome",[182,1117,1118],{},"Where the path ends, and why the goal was or wasn't met",[167,1120,1121,1129],{},[182,1122,1123,1086,1126],{},[271,1124,1125],{},"## Decision points",[271,1127,1128],{},"## Edge cases",[182,1130,1131],{},"As on a Capability Scenario",[474,1133,1135],{"id":1134},"steps-and-routes","Steps and routes",[134,1137,1138,1139,1141],{},"Steps are written exactly as on a Capability Scenario. A Step that exercises a\nCapability names it in ",[271,1140,1098],{}," (the Capability, never one of its\nScenarios) and happens where that Capability is offered. A Step that creates,\nchanges or removes something must name the Capability that owns the change; a\nStep that only reads, or marks a transition, needs none.",[134,1143,1144],{},"The first placed Actor Step belongs to the person pursuing the goal. Routes work\nas on Capability Scenarios: the same Steps in different places.",[474,1146,1148],{"id":1147},"journey-scenario-decision-points","Journey Scenario decision points",[134,1150,1151,1152,1155],{},"A decision point asks one question with at least two ",[271,1153,1154],{},"condition → outcome","\nbranches that keep the same Capabilities and outcome. A branch that changes\neither is another Journey Scenario.",[156,1157,1159],{"id":1158},"how-it-connects","How it connects",[225,1161,1162,1167,1170],{},[228,1163,1164,1166],{},[137,1165,48],{}," are named by Steps; a Journey never lists them.",[228,1168,1169],{},"Every Capability keeps its own Capability Scenarios; a Journey Scenario never\nstands in for them.",[228,1171,1172,1174],{},[137,1173,36],{}," change through the Steps, exactly as in Capability Scenarios.",[156,1176,1178],{"id":1177},"what-lint-checks","What lint checks",[134,1180,1181],{},"Errors:",[225,1183,1184,1195,1211,1214,1217,1223],{},[228,1185,1186,1187,1086,1189,1191,1192,1194],{},"A Journey needs an H1, no lead paragraph, ",[271,1188,304],{},[271,1190,421],{}," and\n",[271,1193,431],{},", and at least one achieved Journey Scenario that\nincludes each of its actors.",[228,1196,1197,1198,1086,1200,1086,1202,1086,1204,1086,1206,1191,1208,1210],{},"A Journey Scenario needs ",[271,1199,498],{},[271,1201,508],{},[271,1203,518],{},[271,1205,536],{},[271,1207,1105],{},[271,1209,1115],{},", and at least one Step naming a Capability.",[228,1212,1213],{},"An achieved Journey Scenario uses at least two different Capabilities, and\ncarries its own Journey Actor through at least two of them; Steps of another\nActor don't count.",[228,1215,1216],{},"Each route's first placed Actor Step belongs to a Journey actor.",[228,1218,1219,1220,1222],{},"A Step that creates, changes or removes something names a ",[271,1221,1098],{},", and a\nStep naming one happens inside that Capability's availability.",[228,1224,1225],{},"Every check on a Capability Scenario's Steps applies here too.",[134,1227,1228],{},"Warnings:",[225,1230,1231],{},[228,1232,1233],{},"A Journey or Journey Scenario id that reads as a noun phrase instead of\nstarting with a verb, or that shortens the name of an Entity the model\ndeclares.",[1235,1236,1237],"style",{},"html pre.shiki code .sjkiA, html code.shiki .sjkiA{--shiki-light:#362B1D;--shiki-default:#362B1D;--shiki-dark:#89DDFF}html pre.shiki code .sg1QC, html code.shiki .sg1QC{--shiki-light:#00585F;--shiki-default:#00585F;--shiki-dark:#F07178}html pre.shiki code .s9fN-, html code.shiki .s9fN-{--shiki-light:#6E3500;--shiki-default:#6E3500;--shiki-dark:#C3E88D}html pre.shiki code .sKwZ8, html code.shiki .sKwZ8{--shiki-light:#362B1D;--shiki-light-font-weight:bold;--shiki-default:#362B1D;--shiki-default-font-weight:bold;--shiki-dark:#89DDFF;--shiki-dark-font-weight:inherit}html pre.shiki code .sBbkF, html code.shiki .sBbkF{--shiki-light:#00585F;--shiki-light-font-weight:bold;--shiki-default:#00585F;--shiki-default-font-weight:bold;--shiki-dark:#FFCB6B;--shiki-dark-font-weight:inherit}html pre.shiki code .szETn, html code.shiki .szETn{--shiki-light:#362B1D;--shiki-default:#362B1D;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":286,"searchDepth":300,"depth":300,"links":1239},[1240,1241,1242,1243,1248,1249],{"id":158,"depth":300,"text":159},{"id":222,"depth":300,"text":223},{"id":266,"depth":300,"text":267},{"id":457,"depth":300,"text":458,"children":1244},[1245,1246,1247],{"id":476,"depth":320,"text":477},{"id":1134,"depth":320,"text":1135},{"id":1147,"depth":320,"text":1148},{"id":1158,"depth":300,"text":1159},{"id":1177,"depth":300,"text":1178},{"section":1251,"terms":1252},"open-source",[1253,1256,1258,1261,1264,1268,1271,1274,1277,1280],{"term":1254,"definition":1255},"Journey","A goal where the Product carries one person from one Capability into the next until the goal is met, such as browse and buy.",{"term":153,"anchor":457,"definition":1257},"One path through a Journey, ending with its goal achieved or not achieved.",{"term":1259,"anchor":266,"definition":1260},"Success criterion","How you know the Journey's goal was met.",{"term":1262,"anchor":266,"definition":1263},"Leaves behind","What a Journey's successful paths create, change or remove, with final States where there are any.",{"term":1265,"on":1266,"anchor":476,"definition":1267},"Trigger","journey-scenario","What starts the Journey Scenario: the person setting out after the goal.",{"term":1269,"on":1266,"anchor":476,"definition":1270},"Outcome","Where the path ends, and whether the Journey's goal was achieved.",{"term":1272,"anchor":476,"definition":1273},"Result","Whether this path achieves the Journey's goal: achieved, or not-achieved.",{"term":1275,"on":1266,"anchor":1134,"definition":1276},"Route","One named way the same Steps play out in different places, such as web and mobile. Different Steps mean a different Journey Scenario.",{"term":1278,"on":1266,"anchor":1147,"definition":1279},"Decision point","A question inside a Journey Scenario whose branches keep the same Capabilities and outcome.",{"term":1281,"on":1266,"anchor":476,"definition":1282},"Edge case","A condition and its consequence noted within a Scenario, without changing its path.",{"title":52,"description":53},"docs\u002Fjourneys","NM8ei0J-g-hroQBCRlSqSeRzUybQxkr6i_GkkeL5v1c",1791840531138]