[{"data":1,"prerenderedAt":5537},["ShallowReactive",2],{"changelog":3},{"id":4,"title":5,"body":6,"description":16,"extension":5530,"meta":5531,"navigation":5532,"path":5533,"seo":5534,"stem":5535,"__hash__":5536},"changelog\u002Fchangelog\u002FCHANGELOG.md","Changelog",{"type":7,"value":8,"toc":5319},"minimark",[9,13,17,34,43,48,59,68,72,97,101,110,120,128,132,153,156,281,285,318,321,328,336,345,348,390,393,400,408,417,420,470,473,496,499,506,514,522,525,542,545,552,560,563,570,578,581,614,617,706,709,716,724,732,735,763,766,773,781,789,792,815,818,825,833,842,845,862,865,900,903,920,923,930,938,946,949,966,969,976,984,992,995,1012,1015,1028,1031,1038,1046,1055,1070,1073,1080,1088,1096,1160,1163,1170,1178,1186,1214,1217,1224,1232,1240,1264,1267,1274,1282,1290,1308,1311,1318,1326,1335,1350,1353,1360,1368,1376,1511,1514,1521,1529,1538,1643,1646,1653,1661,1670,1739,1742,1749,1757,1766,1781,1784,1791,1799,1808,1841,1844,1851,1859,1867,1891,1894,1901,1909,1918,1978,1981,1988,1996,2004,2037,2040,2047,2055,2064,2115,2118,2125,2133,2141,2183,2186,2193,2201,2210,2213,2243,2246,2253,2261,2270,2273,2351,2354,2365,2368,2388,2391,2398,2406,2415,2418,2433,2436,2443,2451,2460,2463,2487,2490,2501,2504,2515,2518,2525,2533,2542,2545,2720,2723,2911,2914,2937,2940,3035,3039,3060,3063,3070,3078,3087,3090,3292,3295,3896,3899,4057,4060,4067,4075,4084,4087,4106,4109,4141,4144,4151,4159,4168,4171,4191,4194,4201,4209,4217,4220,4329,4332,4620,4623,4649,4652,4696,4699,4706,4714,4723,4730,4740,4743,4985,4988,5129,5132,5165,5168,5175,5183,5191,5194,5217,5220,5227,5235,5243,5246,5249,5301,5304,5311],[10,11,5],"h1",{"id":12},"changelog",[14,15,16],"p",{},"All notable changes to this project are documented in this file.",[14,18,19,20,27,28,33],{},"The format is based on ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fkeepachangelog.com\u002Fen\u002F1.1.0\u002F",[25],"nofollow","Keep a Changelog",",\nand this project adheres to ",[21,29,32],{"href":30,"rel":31},"https:\u002F\u002Fsemver.org\u002Fspec\u002Fv2.0.0.html",[25],"Semantic Versioning",".",[35,36,38],"h2",{"id":37},"unreleased",[21,39,42],{"href":40,"rel":41},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.34.1...HEAD",[25],"Unreleased",[44,45,47],"h3",{"id":46},"changed","Changed",[49,50,51],"ul",{},[52,53,54,58],"li",{},[55,56,57],"strong",{},"Docs:"," pdd-kit.dev, with the docs, the FAQ, the changelog and every Blueprint, is built from this repository, and the FAQ links to its Blueprints again.",[35,60,62,67],{"id":61},"_0341-2026-10-12",[21,63,66],{"href":64,"rel":65},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.34.0...v0.34.1",[25],"0.34.1"," - 2026-10-12",[44,69,71],{"id":70},"fixed","Fixed",[49,73,74],{},[52,75,76,79,80,84,85,90,91,96],{},[55,77,78],{},"Report:"," Graphs show again in ",[81,82,83],"code",{},"pdd-kit view"," and in Nuxt hosts of the report viewer; in 0.34.0 they were drawn with no height. (",[21,86,89],{"href":87,"rel":88},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F119",[25],"#119",") (",[21,92,95],{"href":93,"rel":94},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fbd51001897840b05656d1dc5b52a568264ae058c",[25],"bd51001",")",[44,98,100],{"id":99},"contributors","Contributors",[49,102,103],{},[52,104,105],{},[21,106,109],{"href":107,"rel":108},"https:\u002F\u002Fgithub.com\u002Fitai-gendler",[25],"@itai-gendler",[14,111,112,115,116],{},[55,113,114],{},"Full Changelog",": ",[21,117,119],{"href":64,"rel":118},[25],"v0.34.0...v0.34.1",[35,121,123,67],{"id":122},"_0340-2026-10-12",[21,124,127],{"href":125,"rel":126},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.33.0...v0.34.0",[25],"0.34.0",[44,129,131],{"id":130},"added","Added",[49,133,134],{},[52,135,136,139,140,143,144,147,148,96],{},[55,137,138],{},"CLI:"," ",[81,141,142],{},"blueprint list"," shows every published Blueprint by the name ",[81,145,146],{},"blueprint pull"," takes. (",[21,149,152],{"href":150,"rel":151},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fe685cd03990b9eb8201f9d3ff4104c54913a25ea",[25],"e685cd0",[44,154,47],{"id":155},"changed-1",[49,157,158,202,210,221,236,251,266],{},[52,159,160,161,164,165,168,169,172,173,176,177,180,181,184,185,188,189,192,193,196,197,96],{},"BusinessLens is now ",[55,162,163],{},"pdd-kit",": install and run it with ",[81,166,167],{},"npx @itai-gendler\u002Fpdd-kit",". The Product Model lives in ",[81,170,171],{},"product-model\u002F"," instead of ",[81,174,175],{},".businesslens\u002F"," (rename the directory to keep yours), the skills are ",[81,178,179],{},"pdd-map",", ",[81,182,183],{},"pdd-ideate"," and ",[81,186,187],{},"pdd-verify"," (run ",[81,190,191],{},"npx @itai-gendler\u002Fpdd-kit install"," again), and environment variables start with ",[81,194,195],{},"PDD_KIT_",". (",[21,198,201],{"href":199,"rel":200},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F95149899b69f3f92b8d2e3443d00c612ece410aa",[25],"9514989",[52,203,204,206,207,96],{},[55,205,138],{}," Blueprints are published from the repository itself: a merged Blueprint can be pulled within minutes, without a CLI update and without a catalog server. (",[21,208,152],{"href":150,"rel":209},[25],[52,211,212,139,214,217,218,96],{},[55,213,138],{},[81,215,216],{},"blueprint contribute"," opens its pull request on the new pdd-kit repository, and merging it publishes the Blueprint. (",[21,219,201],{"href":199,"rel":220},[25],[52,222,223,225,226,90,231,96],{},[55,224,57],{}," The FAQ is now available directly in the repository and supplies the website’s dedicated FAQ page. (",[21,227,230],{"href":228,"rel":229},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F114",[25],"#114",[21,232,235],{"href":233,"rel":234},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F0f9fb9d8976bd605c56f47e312a60f855a1d4d58",[25],"0f9fb9d",[52,237,238,240,241,90,246,96],{},[55,239,57],{}," The FAQ leads with why a Product Model, then adopting it, with every comparison — SDD and AI-generated docs among them — under What it is and isn't. (",[21,242,245],{"href":243,"rel":244},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F115",[25],"#115",[21,247,250],{"href":248,"rel":249},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fe9e6e971639f81092611b9c2125d18a158e043d1",[25],"e9e6e97",[52,252,253,255,256,90,261,96],{},[55,254,57],{}," The README explains Product-Driven Development with the questions the Product Model answers, shown on the Kanban Board Blueprint. (",[21,257,260],{"href":258,"rel":259},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F110",[25],"#110",[21,262,265],{"href":263,"rel":264},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fbcb2e693aefd48226a9b3b11729e5fe2a1ddd4a3",[25],"bcb2e69",[52,267,268,270,271,90,276,96],{},[55,269,57],{}," The README opens with a short map of its sections and shows where the Product Model fits beside docs, design, code and people. (",[21,272,275],{"href":273,"rel":274},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F116",[25],"#116",[21,277,280],{"href":278,"rel":279},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fb15e4b1c22c9030e136ea9c23e025b8865935f7c",[25],"b15e4b1",[44,282,284],{"id":283},"removed","Removed",[49,286,287],{},[52,288,289,139,291,180,294,184,297,300,301,304,305,180,308,184,311,314,315,96],{},[55,290,138],{},[81,292,293],{},"blueprint pull --catalog",[81,295,296],{},"BUSINESSLENS_CATALOG_URL",[81,298,299],{},"BUSINESSLENS_CONTRIBUTE_UPSTREAM",". ",[81,302,303],{},"PDD_KIT_BLUEPRINT_REPOSITORY"," now points ",[81,306,307],{},"list",[81,309,310],{},"pull",[81,312,313],{},"contribute"," at a fork. (",[21,316,201],{"href":199,"rel":317},[25],[44,319,100],{"id":320},"contributors-1",[49,322,323],{},[52,324,325],{},[21,326,109],{"href":107,"rel":327},[25],[14,329,330,115,332],{},[55,331,114],{},[21,333,335],{"href":125,"rel":334},[25],"v0.33.0...v0.34.0",[35,337,339,344],{"id":338},"_0330-2026-10-08",[21,340,343],{"href":341,"rel":342},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.32.0...v0.33.0",[25],"0.33.0"," - 2026-10-08",[44,346,47],{"id":347},"changed-2",[49,349,350,368,379],{},[52,351,352,139,354,357,358,90,363,96],{},[55,353,78],{},[81,355,356],{},"businesslens view"," opens a model with lint errors whenever it can still be built, and counts its problems in the header. A save that breaks the build keeps the last version on screen and says how old it is. (",[21,359,362],{"href":360,"rel":361},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F111",[25],"#111",[21,364,367],{"href":365,"rel":366},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F1afb13c389749c2d137802324e0041dbacbfce96",[25],"1afb13c",[52,369,370,372,373,90,376,96],{},[55,371,78],{}," Problems are listed by file, link to the resource they affect, and can be copied as a request for your agent. A resource shown without part of its file says so. (",[21,374,362],{"href":360,"rel":375},[25],[21,377,367],{"href":365,"rel":378},[25],[52,380,381,383,384,90,387,96],{},[55,382,78],{}," A model that doesn't build yet, or a report that fails to draw, shows a clear full-page explanation instead of a raw error. (",[21,385,362],{"href":360,"rel":386},[25],[21,388,367],{"href":365,"rel":389},[25],[44,391,100],{"id":392},"contributors-2",[49,394,395],{},[52,396,397],{},[21,398,109],{"href":107,"rel":399},[25],[14,401,402,115,404],{},[55,403,114],{},[21,405,407],{"href":341,"rel":406},[25],"v0.32.0...v0.33.0",[35,409,411,416],{"id":410},"_0320-2026-10-07",[21,412,415],{"href":413,"rel":414},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.31.0...v0.32.0",[25],"0.32.0"," - 2026-10-07",[44,418,47],{"id":419},"changed-3",[49,421,422,438,447,456],{},[52,423,424,425,196,428,90,433,96],{},"A permission that depends on a setting, such as a workspace's approval limit, says whose setting it is: the person's, their workspace's, or the whole product's. Mark the product's own settings ",[81,426,427],{},"singleton: true",[21,429,432],{"href":430,"rel":431},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F108",[25],"#108",[21,434,437],{"href":435,"rel":436},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F5618c05ee38bc28459060b4009dfb4b38cdc5270",[25],"5618c05",[52,439,440,441,90,444,96],{},"Creating something can create what belongs to it in the same step, such as a new board's first admin. (",[21,442,432],{"href":430,"rel":443},[25],[21,445,437],{"href":435,"rel":446},[25],[52,448,449,450,90,453,96],{},"Reports use format version 19; re-export Blueprints after updating. (",[21,451,432],{"href":430,"rel":452},[25],[21,454,437],{"href":435,"rel":455},[25],[52,457,458,139,460,463,464,90,467,96],{},[55,459,138],{},[81,461,462],{},"lint"," catches a permission that doesn't say whose setting it reads, and a Capability named with an umbrella verb such as manage. (",[21,465,432],{"href":430,"rel":466},[25],[21,468,437],{"href":435,"rel":469},[25],[44,471,284],{"id":472},"removed-1",[49,474,475],{},[52,476,477,479,480,483,484,184,487,196,490,90,493,96],{},[55,478,78],{}," The versioned ",[81,481,482],{},"ProductReportV18"," names; use ",[81,485,486],{},"ProductReport",[81,488,489],{},"ProductReportSchema",[21,491,432],{"href":430,"rel":492},[25],[21,494,437],{"href":435,"rel":495},[25],[44,497,100],{"id":498},"contributors-3",[49,500,501],{},[52,502,503],{},[21,504,109],{"href":107,"rel":505},[25],[14,507,508,115,510],{},[55,509,114],{},[21,511,513],{"href":413,"rel":512},[25],"v0.31.0...v0.32.0",[35,515,517,416],{"id":516},"_0310-2026-10-07",[21,518,521],{"href":519,"rel":520},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.30.0...v0.31.0",[25],"0.31.0",[44,523,131],{"id":524},"added-1",[49,526,527],{},[52,528,529,531,532,90,537,96],{},[55,530,78],{}," Search (⌘K) also finds the report's pages — Overview and every collection — and opens them as the sidebar does. (",[21,533,536],{"href":534,"rel":535},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F105",[25],"#105",[21,538,541],{"href":539,"rel":540},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Ff47fc301f02ae9aa63c92a09f4bd3194e0ad6ae4",[25],"f47fc30",[44,543,100],{"id":544},"contributors-4",[49,546,547],{},[52,548,549],{},[21,550,109],{"href":107,"rel":551},[25],[14,553,554,115,556],{},[55,555,114],{},[21,557,559],{"href":519,"rel":558},[25],"v0.30.0...v0.31.0",[44,561,47],{"id":562},"changed-4",[49,564,565],{},[52,566,567,569],{},[55,568,57],{}," The CLI and Skills overview pages have their own titles, so search results and browser tabs no longer show two pages both called Overview.",[35,571,573,416],{"id":572},"_0300-2026-10-07",[21,574,577],{"href":575,"rel":576},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.29.1...v0.30.0",[25],"0.30.0",[44,579,131],{"id":580},"added-2",[49,582,583,599],{},[52,584,585,588,589,90,594,96],{},[55,586,587],{},"Blueprints:"," Fourteen new Blueprints, so the catalog launches with fifteen across five categories: Productivity, Collaboration, Dev Tools, Community and Education. (",[21,590,593],{"href":591,"rel":592},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F88",[25],"#88",[21,595,598],{"href":596,"rel":597},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F4cc27502fc5a27068ad6bee2ba4f70e9e0d561da",[25],"4cc2750",[52,600,601,603,604,607,608,90,611,96],{},[55,602,587],{}," A Blueprint can carry a cover image, ",[81,605,606],{},"product\u002Fcover.webp",", shown on its catalog card; each of the fifteen launch Blueprints has one. (",[21,609,593],{"href":591,"rel":610},[25],[21,612,598],{"href":596,"rel":613},[25],[44,615,47],{"id":616},"changed-5",[49,618,619,630,642,653,662,671,684,693],{},[52,620,621,623,624,90,627,96],{},[55,622,587],{}," The Content Feed Reader now belongs to Productivity. (",[21,625,593],{"href":591,"rel":626},[25],[21,628,598],{"href":596,"rel":629},[25],[52,631,632,635,636,90,639,96],{},[55,633,634],{},"Skills:"," Ideate checks the whole model before approval: every thing people create can be changed and removed, every Journey is found, opposite actions are separate Capabilities, and every action says who may do it. (",[21,637,593],{"href":591,"rel":638},[25],[21,640,598],{"href":596,"rel":641},[25],[52,643,644,646,647,90,650,96],{},[55,645,634],{}," A product's AI is modelled one of two ways: a model the product calls to draft, or your own AI agent connecting to it. A kept proposal to change something you own waits until you accept it. (",[21,648,593],{"href":591,"rel":649},[25],[21,651,598],{"href":596,"rel":652},[25],[52,654,655,656,90,659,96],{},"Publishing and unpublishing, and other opposite actions, are separate Capabilities; changing your own vote or answer stays part of giving it. (",[21,657,593],{"href":591,"rel":658},[25],[21,660,598],{"href":596,"rel":661},[25],[52,663,664,665,90,668,96],{},"A Journey continues only where the product carries the same person on; something shown where they already are does not count. (",[21,666,593],{"href":591,"rel":667},[25],[21,669,598],{"href":596,"rel":670},[25],[52,672,673,674,677,678,90,681,96],{},"Deleting a thing can remove what belongs to it: a removal says what it goes ",[81,675,676],{},"with",", and only removing the thing itself needs permission. (",[21,679,593],{"href":591,"rel":680},[25],[21,682,598],{"href":596,"rel":683},[25],[52,685,686,687,90,690,96],{},"Reports use a new format version; re-export Blueprints after updating. (",[21,688,593],{"href":591,"rel":689},[25],[21,691,598],{"href":596,"rel":692},[25],[52,694,695,139,697,699,700,90,703,96],{},[55,696,138],{},[81,698,462],{}," catches a Journey that never carries its own person through two Capabilities, an opposite action hidden inside a Capability, an AI agent permission that names no person, an unguarded change, and limitations that describe the model instead of the product. (",[21,701,593],{"href":591,"rel":702},[25],[21,704,598],{"href":596,"rel":705},[25],[44,707,100],{"id":708},"contributors-5",[49,710,711],{},[52,712,713],{},[21,714,109],{"href":107,"rel":715},[25],[14,717,718,115,720],{},[55,719,114],{},[21,721,723],{"href":575,"rel":722},[25],"v0.29.1...v0.30.0",[35,725,727,416],{"id":726},"_0291-2026-10-07",[21,728,731],{"href":729,"rel":730},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.29.0...v0.29.1",[25],"0.29.1",[44,733,47],{"id":734},"changed-6",[49,736,737,752],{},[52,738,739,741,742,90,747,96],{},[55,740,57],{}," The README and the Get started guides lead with mapping your own repository, and say what to ask your agent for everyday changes. (",[21,743,746],{"href":744,"rel":745},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F100",[25],"#100",[21,748,751],{"href":749,"rel":750},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fb8f43987ad817ced5de8e4769642e5fdeafe3b4b",[25],"b8f4398",[52,753,754,756,757,90,760,96],{},[55,755,634],{}," Asking your agent to \"map this repo into a Product Model\" starts map. (",[21,758,746],{"href":744,"rel":759},[25],[21,761,751],{"href":749,"rel":762},[25],[44,764,100],{"id":765},"contributors-6",[49,767,768],{},[52,769,770],{},[21,771,109],{"href":107,"rel":772},[25],[14,774,775,115,777],{},[55,776,114],{},[21,778,780],{"href":729,"rel":779},[25],"v0.29.0...v0.29.1",[35,782,784,416],{"id":783},"_0290-2026-10-07",[21,785,788],{"href":786,"rel":787},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.28.0...v0.29.0",[25],"0.29.0",[44,790,47],{"id":791},"changed-7",[49,793,794,807],{},[52,795,796,797,90,802,96],{},"Coverage now describes only which of your code a model accounts for, each entry naming its folders; what the product leaves out is said in its limitations. A model or Blueprint with no code yet has empty coverage, and the report says so. (",[21,798,801],{"href":799,"rel":800},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F98",[25],"#98",[21,803,806],{"href":804,"rel":805},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F2caf3d9fc9602303fb7366b8b861dbe7fd743ea2",[25],"2caf3d9",[52,808,686,809,90,812,96],{},[21,810,801],{"href":799,"rel":811},[25],[21,813,806],{"href":804,"rel":814},[25],[44,816,100],{"id":817},"contributors-7",[49,819,820],{},[52,821,822],{},[21,823,109],{"href":107,"rel":824},[25],[14,826,827,115,829],{},[55,828,114],{},[21,830,832],{"href":786,"rel":831},[25],"v0.28.0...v0.29.0",[35,834,836,841],{"id":835},"_0280-2026-10-06",[21,837,840],{"href":838,"rel":839},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.27.0...v0.28.0",[25],"0.28.0"," - 2026-10-06",[44,843,131],{"id":844},"added-3",[49,846,847],{},[52,848,849,851,852,90,857,96],{},[55,850,634],{}," Ask your agent to implement the Product Model, all of it or a part, and verify plans the work in phases that your agent implements your usual way, checks each part, and settles any product question with you. Ask for one part at a time or everything in one go if you prefer. (",[21,853,856],{"href":854,"rel":855},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F91",[25],"#91",[21,858,861],{"href":859,"rel":860},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F0c38287a93bee0dcd6ba2a0610fdca83185dc872",[25],"0c38287",[44,863,47],{"id":864},"changed-8",[49,866,867,878,889],{},[52,868,869,871,872,90,875,96],{},[55,870,634],{}," Asking to change the product, such as \"make a PDD change\", now starts ideate, which ends by offering to implement the approved change. (",[21,873,856],{"href":854,"rel":874},[25],[21,876,861],{"href":859,"rel":877},[25],[52,879,880,882,883,90,886,96],{},[55,881,138],{}," The README in every Product Model tells any agent how to implement the model and change it, and which parts of the model the code must honor. (",[21,884,856],{"href":854,"rel":885},[25],[21,887,861],{"href":859,"rel":888},[25],[52,890,891,893,894,90,897,96],{},[55,892,57],{}," The development loop and the Get started guides now show asking your agent to implement, in phases, with verify checking each part. (",[21,895,856],{"href":854,"rel":896},[25],[21,898,861],{"href":859,"rel":899},[25],[44,901,71],{"id":902},"fixed-1",[49,904,905],{},[52,906,907,909,910,90,915,96],{},[55,908,634],{}," Telling your agent to \"take your recommendation\" now settles the open questions without approving the change: the skills still show you the complete change and write the model only after you approve it. (",[21,911,914],{"href":912,"rel":913},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F96",[25],"#96",[21,916,919],{"href":917,"rel":918},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F9d6f9994fe07a125732b6d89d5688ef5e9af0a4e",[25],"9d6f999",[44,921,100],{"id":922},"contributors-8",[49,924,925],{},[52,926,927],{},[21,928,109],{"href":107,"rel":929},[25],[14,931,932,115,934],{},[55,933,114],{},[21,935,937],{"href":838,"rel":936},[25],"v0.27.0...v0.28.0",[35,939,941,841],{"id":940},"_0270-2026-10-06",[21,942,945],{"href":943,"rel":944},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.26.0...v0.27.0",[25],"0.27.0",[44,947,47],{"id":948},"changed-9",[49,950,951],{},[52,952,953,955,956,90,961,96],{},[55,954,78],{}," Clicking the local report's star again unstars BusinessLens on GitHub. (",[21,957,960],{"href":958,"rel":959},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F94",[25],"#94",[21,962,965],{"href":963,"rel":964},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fbbe82f8c05b8175dfc1c9374edc67a01d7ee6633",[25],"bbe82f8",[44,967,100],{"id":968},"contributors-9",[49,970,971],{},[52,972,973],{},[21,974,109],{"href":107,"rel":975},[25],[14,977,978,115,980],{},[55,979,114],{},[21,981,983],{"href":943,"rel":982},[25],"v0.26.0...v0.27.0",[35,985,987,841],{"id":986},"_0260-2026-10-06",[21,988,991],{"href":989,"rel":990},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.25.1...v0.26.0",[25],"0.26.0",[44,993,131],{"id":994},"added-4",[49,996,997],{},[52,998,999,1001,1002,90,1007,96],{},[55,1000,78],{}," The local report can star BusinessLens on GitHub in one click, through your signed-in GitHub CLI. (",[21,1003,1006],{"href":1004,"rel":1005},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F92",[25],"#92",[21,1008,1011],{"href":1009,"rel":1010},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fa045b350e3267615d0313d0689a1081fba38d32f",[25],"a045b35",[44,1013,47],{"id":1014},"changed-10",[49,1016,1017],{},[52,1018,1019,1021,1022,90,1025,96],{},[55,1020,78],{}," The local report's Documentation and GitHub links no longer show a new-tab arrow. (",[21,1023,1006],{"href":1004,"rel":1024},[25],[21,1026,1011],{"href":1009,"rel":1027},[25],[44,1029,100],{"id":1030},"contributors-10",[49,1032,1033],{},[52,1034,1035],{},[21,1036,109],{"href":107,"rel":1037},[25],[14,1039,1040,115,1042],{},[55,1041,114],{},[21,1043,1045],{"href":989,"rel":1044},[25],"v0.25.1...v0.26.0",[35,1047,1049,1054],{"id":1048},"_0251-2026-10-05",[21,1050,1053],{"href":1051,"rel":1052},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.25.0...v0.25.1",[25],"0.25.1"," - 2026-10-05",[49,1056,1057],{},[52,1058,1059,1060,90,1065,96],{},"The README demo shows the current Product Model, one Screen per subject. (",[21,1061,1064],{"href":1062,"rel":1063},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F86",[25],"#86",[21,1066,1069],{"href":1067,"rel":1068},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F1dce3bf95d1ae3f80f4ad115bfdd63b0dc5e892f",[25],"1dce3bf",[44,1071,100],{"id":1072},"contributors-11",[49,1074,1075],{},[52,1076,1077],{},[21,1078,109],{"href":107,"rel":1079},[25],[14,1081,1082,115,1084],{},[55,1083,114],{},[21,1085,1087],{"href":1051,"rel":1086},[25],"v0.25.0...v0.25.1",[35,1089,1091,1054],{"id":1090},"_0250-2026-10-05",[21,1092,1095],{"href":1093,"rel":1094},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.24.2...v0.25.0",[25],"0.25.0",[49,1097,1098,1111,1124,1133,1142,1151],{},[52,1099,1100,1101,90,1106,96],{},"The README demo now tours BusinessLens's own Product Model, with the command to open it yourself. (",[21,1102,1105],{"href":1103,"rel":1104},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F82",[25],"#82",[21,1107,1110],{"href":1108,"rel":1109},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F04cef903858fa1626f857776b0674807141faf85",[25],"04cef90",[52,1112,1113,1114,90,1119,96],{},"The README and the docs Introduction show in one table what the model holds and what it leaves to design. (",[21,1115,1118],{"href":1116,"rel":1117},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F81",[25],"#81",[21,1120,1123],{"href":1121,"rel":1122},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fd537e94b57ddae39da096fabd8faa2d4ad5ba91d",[25],"d537e94",[52,1125,1126,1127,90,1130,96],{},"A Screen is now one place however it is drawn: tabs, panels and wizard stages belong to it, so a redesign no longer changes the model. Screens no longer nest. (",[21,1128,1118],{"href":1116,"rel":1129},[25],[21,1131,1123],{"href":1121,"rel":1132},[25],[52,1134,1135,1136,90,1139,96],{},"Interfaces and Experiences no longer list the Screens reachable from everywhere; menus are design. (",[21,1137,1118],{"href":1116,"rel":1138},[25],[21,1140,1123],{"href":1121,"rel":1141},[25],[52,1143,1144,1145,90,1148,96],{},"A quality the product commits to, such as an accessibility level, is recorded as a Business Rule. (",[21,1146,1118],{"href":1116,"rel":1147},[25],[21,1149,1123],{"href":1121,"rel":1150},[25],[52,1152,1153,1154,90,1157,96],{},"Models and exported reports use a new format version; re-export Blueprints after updating. (",[21,1155,1118],{"href":1116,"rel":1156},[25],[21,1158,1123],{"href":1121,"rel":1159},[25],[44,1161,100],{"id":1162},"contributors-12",[49,1164,1165],{},[52,1166,1167],{},[21,1168,109],{"href":107,"rel":1169},[25],[14,1171,1172,115,1174],{},[55,1173,114],{},[21,1175,1177],{"href":1093,"rel":1176},[25],"v0.24.2...v0.25.0",[35,1179,1181,1054],{"id":1180},"_0242-2026-10-05",[21,1182,1185],{"href":1183,"rel":1184},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.24.1...v0.24.2",[25],"0.24.2",[49,1187,1188,1201],{},[52,1189,1190,1191,90,1196,96],{},"The README opens with a short animated tour of the local report. (",[21,1192,1195],{"href":1193,"rel":1194},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F79",[25],"#79",[21,1197,1200],{"href":1198,"rel":1199},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F012b16d267ba219fb00d3bef13ffd97f1d5affa1",[25],"012b16d",[52,1202,1203,1204,90,1209,96],{},"The changelog names the pull request and commit behind every entry, the contributors to each release, and its full comparison, and reads the same on pdd-kit.dev. (",[21,1205,1208],{"href":1206,"rel":1207},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F73",[25],"#73",[21,1210,1213],{"href":1211,"rel":1212},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F3a46c362e7d7716a5b5804e02303f44a595d4c7b",[25],"3a46c36",[44,1215,100],{"id":1216},"contributors-13",[49,1218,1219],{},[52,1220,1221],{},[21,1222,109],{"href":107,"rel":1223},[25],[14,1225,1226,115,1228],{},[55,1227,114],{},[21,1229,1231],{"href":1183,"rel":1230},[25],"v0.24.1...v0.24.2",[35,1233,1235,1054],{"id":1234},"_0241-2026-10-05",[21,1236,1239],{"href":1237,"rel":1238},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.24.0...v0.24.1",[25],"0.24.1",[49,1241,1242,1255],{},[52,1243,1244,1245,90,1250,96],{},"A shorter README that says what BusinessLens does, why it matters and how to start, with an animated development loop. (",[21,1246,1249],{"href":1247,"rel":1248},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F74",[25],"#74",[21,1251,1254],{"href":1252,"rel":1253},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F2d9291301b6e1d816900635d1454e7c0ba66b034",[25],"2d92913",[52,1256,1257,1258,90,1261,96],{},"The development loop now reads ideate → implement → verify, and says plainly that implementing stays in your own workflow. (",[21,1259,1249],{"href":1247,"rel":1260},[25],[21,1262,1254],{"href":1252,"rel":1263},[25],[44,1265,100],{"id":1266},"contributors-14",[49,1268,1269],{},[52,1270,1271],{},[21,1272,109],{"href":107,"rel":1273},[25],[14,1275,1276,115,1278],{},[55,1277,114],{},[21,1279,1281],{"href":1237,"rel":1280},[25],"v0.24.0...v0.24.1",[35,1283,1285,1054],{"id":1284},"_0240-2026-10-05",[21,1286,1289],{"href":1287,"rel":1288},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.23.1...v0.24.0",[25],"0.24.0",[49,1291,1292],{},[52,1293,1294,1295,196,1298,90,1303,96],{},"A globally installed CLI offers each newer release once, and updates itself only when you choose to. Turn the reminder off from the prompt or with ",[81,1296,1297],{},"BUSINESSLENS_NO_UPDATE_CHECK=1",[21,1299,1302],{"href":1300,"rel":1301},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F77",[25],"#77",[21,1304,1307],{"href":1305,"rel":1306},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F0784f6a167f70c917bcabbe50efb92dc2d5c57fa",[25],"0784f6a",[44,1309,100],{"id":1310},"contributors-15",[49,1312,1313],{},[52,1314,1315],{},[21,1316,109],{"href":107,"rel":1317},[25],[14,1319,1320,115,1322],{},[55,1321,114],{},[21,1323,1325],{"href":1287,"rel":1324},[25],"v0.23.1...v0.24.0",[35,1327,1329,1334],{"id":1328},"_0231-2026-10-04",[21,1330,1333],{"href":1331,"rel":1332},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.23.0...v0.23.1",[25],"0.23.1"," - 2026-10-04",[49,1336,1337],{},[52,1338,1339,1340,90,1345,96],{},"The report and every BusinessLens page show in light mode only for now; dark mode will return once it reads as well as light. (",[21,1341,1344],{"href":1342,"rel":1343},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F71",[25],"#71",[21,1346,1349],{"href":1347,"rel":1348},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F9a4506c40d8da7156d7136b6a76166c514646bf7",[25],"9a4506c",[44,1351,100],{"id":1352},"contributors-16",[49,1354,1355],{},[52,1356,1357],{},[21,1358,109],{"href":107,"rel":1359},[25],[14,1361,1362,115,1364],{},[55,1363,114],{},[21,1365,1367],{"href":1331,"rel":1366},[25],"v0.23.0...v0.23.1",[35,1369,1371,1334],{"id":1370},"_0230-2026-10-04",[21,1372,1375],{"href":1373,"rel":1374},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.22.0...v0.23.0",[25],"0.23.0",[49,1377,1378,1391,1400,1409,1418,1427,1436,1445,1454,1463,1472,1481,1490,1499],{},[52,1379,1380,1381,90,1386,96],{},"Model experiments, configuration choices and supported versions as Variations of an Interface, Experience, Screen, Entity, Capability, Journey, Scenario or Business Rule, and browse them in a new Variations collection. (",[21,1382,1385],{"href":1383,"rel":1384},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F65",[25],"#65",[21,1387,1390],{"href":1388,"rel":1389},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F529b07286ef9f12f61712e657b914cc3a821d0b8",[25],"529b072",[52,1392,1393,1394,90,1397,96],{},"Read every alternative under its Variation's name (in readings, lists, trees, graphs, matrices, Lifecycles and search) and switch between them in place; what holds only under some alternatives is dashed and says which. (",[21,1395,1385],{"href":1383,"rel":1396},[25],[21,1398,1390],{"href":1388,"rel":1399},[25],[52,1401,1402,1403,90,1406,96],{},"Model nested Screens, Screens reachable from anywhere in an Interface or Experience, and the languages a Product serves. (",[21,1404,1385],{"href":1383,"rel":1405},[25],[21,1407,1390],{"href":1388,"rel":1408},[25],[52,1410,1411,1412,90,1415,96],{},"Record the facts a Screen shows and collects, and the facts each Scenario Step reads, changes or creates; a Screen's Capabilities now come from the Steps placed on it. (",[21,1413,1385],{"href":1383,"rel":1414},[25],[21,1416,1390],{"href":1388,"rel":1417},[25],[52,1419,1420,1421,90,1424,96],{},"Read what a Business Rule applies to, and find every Rule that names a resource from that resource. (",[21,1422,1385],{"href":1383,"rel":1423},[25],[21,1425,1390],{"href":1388,"rel":1426},[25],[52,1428,1429,1430,90,1433,96],{},"See each place's Capabilities, Scenarios and Journeys, including what happens directly on it, and follow Capability state changes into Entity Lifecycles. (",[21,1431,1385],{"href":1383,"rel":1432},[25],[21,1434,1390],{"href":1388,"rel":1435},[25],[52,1437,1438,1439,90,1442,96],{},"Read permissions as operations and grants, with badges on the facts they restrict. (",[21,1440,1385],{"href":1383,"rel":1441},[25],[21,1443,1390],{"href":1388,"rel":1444},[25],[52,1446,1447,1448,90,1451,96],{},"Mapping no longer fails on very large repositories, and draws Capabilities, Domains, Journeys, settings and roles more consistently. (",[21,1449,1385],{"href":1383,"rel":1450},[25],[21,1452,1390],{"href":1388,"rel":1453},[25],[52,1455,1456,1457,90,1460,96],{},"Verification checks each Variation's alternatives, and what selects them, against the code. (",[21,1458,1385],{"href":1383,"rel":1459},[25],[21,1461,1390],{"href":1388,"rel":1462},[25],[52,1464,1465,1466,90,1469,96],{},"Fewer false lint warnings about resource names. (",[21,1467,1385],{"href":1383,"rel":1468},[25],[21,1470,1390],{"href":1388,"rel":1471},[25],[52,1473,1474,1475,90,1478,96],{},"The local report keeps running when Git cannot open the repository, saying so once. (",[21,1476,1385],{"href":1383,"rel":1477},[25],[21,1479,1390],{"href":1388,"rel":1480},[25],[52,1482,1483,1484,90,1487,96],{},"Blueprints with ambiguous place names are rejected before import. (",[21,1485,1385],{"href":1383,"rel":1486},[25],[21,1488,1390],{"href":1388,"rel":1489},[25],[52,1491,1492,1493,90,1496,96],{},"Shorter, simpler documentation: the introduction shows the development loop and the local report, each Product Model page leads with everyday examples, and a new Variations page covers feature flags, plan tiers, A\u002FB tests and API versions. (",[21,1494,1385],{"href":1383,"rel":1495},[25],[21,1497,1390],{"href":1388,"rel":1498},[25],[52,1500,1501,1504,1505,90,1508,96],{},[55,1502,1503],{},"Breaking."," Models and Blueprints must be updated to the new format; older model and report formats are rejected. Screens describe what they show and offer through relations instead of prose sections and Capability lists; Interfaces and Experiences drop their Capability boundary sections and Screen lists; References drop state labels. (",[21,1506,1385],{"href":1383,"rel":1507},[25],[21,1509,1390],{"href":1388,"rel":1510},[25],[44,1512,100],{"id":1513},"contributors-17",[49,1515,1516],{},[52,1517,1518],{},[21,1519,109],{"href":107,"rel":1520},[25],[14,1522,1523,115,1525],{},[55,1524,114],{},[21,1526,1528],{"href":1373,"rel":1527},[25],"v0.22.0...v0.23.0",[35,1530,1532,1537],{"id":1531},"_0220-2026-09-23",[21,1533,1536],{"href":1534,"rel":1535},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.21.0...v0.22.0",[25],"0.22.0"," - 2026-09-23",[49,1539,1540,1553,1562,1571,1580,1589,1598,1607,1616,1625,1634],{},[52,1541,1542,1543,90,1548,96],{},"Coverage now records scope, modeled behavior, approved exclusions, gaps and uncertainty instead of a completeness status. Existing models need the new Coverage format. (",[21,1544,1547],{"href":1545,"rel":1546},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F55",[25],"#55",[21,1549,1552],{"href":1550,"rel":1551},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fb4227e7676faa4873aa409496d9e1fce4a1bb8bb",[25],"b4227e7",[52,1554,1555,1556,90,1559,96],{},"Read Coverage on one page: scope and method with a card per category, then every recorded path with its statements available in place. (",[21,1557,1547],{"href":1545,"rel":1558},[25],[21,1560,1552],{"href":1550,"rel":1561},[25],[52,1563,1564,1565,90,1568,96],{},"Tell Coverage categories apart at a glance by icon and colour, filter by category, and find recorded paths by name. (",[21,1566,1547],{"href":1545,"rel":1567},[25],[21,1569,1552],{"href":1550,"rel":1570},[25],[52,1572,1573,1574,90,1577,96],{},"Browse References by where they point: each file or external page appears once with the resources that cite it, repository files beside external links, with a card per kind to filter by and search by path or link. (",[21,1575,1547],{"href":1545,"rel":1576},[25],[21,1578,1552],{"href":1550,"rel":1579},[25],[52,1581,1582,1583,90,1586,96],{},"See each resource's References split into repository files and external links. (",[21,1584,1547],{"href":1545,"rel":1585},[25],[21,1587,1552],{"href":1550,"rel":1588},[25],[52,1590,1591,1592,90,1595,96],{},"Blueprints keep Coverage descriptions but leave repository paths behind; older Blueprint formats are no longer accepted. (",[21,1593,1547],{"href":1545,"rel":1594},[25],[21,1596,1552],{"href":1550,"rel":1597},[25],[52,1599,1600,1601,90,1604,96],{},"Apply the same structural checks to every model, including those with known gaps. (",[21,1602,1547],{"href":1545,"rel":1603},[25],[21,1605,1552],{"href":1550,"rel":1606},[25],[52,1608,1609,1610,90,1613,96],{},"Open the local report before a model exists and follow valid edits as they arrive, with visible connection status. (",[21,1611,1547],{"href":1545,"rel":1612},[25],[21,1614,1552],{"href":1550,"rel":1615},[25],[52,1617,1618,1619,90,1622,96],{},"Recover the local report when a repository is initialized or referenced files are staged. (",[21,1620,1547],{"href":1545,"rel":1621},[25],[21,1623,1552],{"href":1550,"rel":1624},[25],[52,1626,1627,1628,90,1631,96],{},"Reject Blueprint steps with undeclared Entities before importing the model. (",[21,1629,1547],{"href":1545,"rel":1630},[25],[21,1632,1552],{"href":1550,"rel":1633},[25],[52,1635,1636,1637,90,1640,96],{},"Read clearer Product details and larger headings in About, under a simpler report header. (",[21,1638,1547],{"href":1545,"rel":1639},[25],[21,1641,1552],{"href":1550,"rel":1642},[25],[44,1644,100],{"id":1645},"contributors-18",[49,1647,1648],{},[52,1649,1650],{},[21,1651,109],{"href":107,"rel":1652},[25],[14,1654,1655,115,1657],{},[55,1656,114],{},[21,1658,1660],{"href":1534,"rel":1659},[25],"v0.21.0...v0.22.0",[35,1662,1664,1669],{"id":1663},"_0210-2026-09-21",[21,1665,1668],{"href":1666,"rel":1667},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.20.0...v0.21.0",[25],"0.21.0"," - 2026-09-21",[49,1671,1672,1685,1694,1703,1712,1721,1730],{},[52,1673,1674,1675,90,1680,96],{},"Choose lists, graphs and comparisons from preview cards, keeping the same filters and counts. (",[21,1676,1679],{"href":1677,"rel":1678},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F63",[25],"#63",[21,1681,1684],{"href":1682,"rel":1683},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fdd0779949c5e07bd45005097960cf365e5c75d11",[25],"dd07799",[52,1686,1687,1688,90,1691,96],{},"Find comparison tables within Entities, Capabilities and Business Rules, with simpler relationship filters. (",[21,1689,1679],{"href":1677,"rel":1690},[25],[21,1692,1684],{"href":1682,"rel":1693},[25],[52,1695,1696,1697,90,1700,96],{},"Browse Interfaces and Domains in consistent trees with clearer counts and indentation. (",[21,1698,1679],{"href":1677,"rel":1699},[25],[21,1701,1684],{"href":1682,"rel":1702},[25],[52,1704,1705,1706,90,1709,96],{},"Explore an Interface's Experiences & Screens or an Experience's Screens, including shared Screens and ownership links. (",[21,1707,1679],{"href":1677,"rel":1708},[25],[21,1710,1684],{"href":1682,"rel":1711},[25],[52,1713,1714,1715,90,1718,96],{},"Keep resource headers compact, with additional Domains behind a “more” button. (",[21,1716,1679],{"href":1677,"rel":1717},[25],[21,1719,1684],{"href":1682,"rel":1720},[25],[52,1722,1723,1724,90,1727,96],{},"Expand or collapse all Overview references, which start collapsed. (",[21,1725,1679],{"href":1677,"rel":1726},[25],[21,1728,1684],{"href":1682,"rel":1729},[25],[52,1731,1732,1733,90,1736,96],{},"Keep comparison legends beside filters, with warmer neutral badges in both themes. (",[21,1734,1679],{"href":1677,"rel":1735},[25],[21,1737,1684],{"href":1682,"rel":1738},[25],[44,1740,100],{"id":1741},"contributors-19",[49,1743,1744],{},[52,1745,1746],{},[21,1747,109],{"href":107,"rel":1748},[25],[14,1750,1751,115,1753],{},[55,1752,114],{},[21,1754,1756],{"href":1666,"rel":1755},[25],"v0.20.0...v0.21.0",[35,1758,1760,1765],{"id":1759},"_0200-2026-09-18",[21,1761,1764],{"href":1762,"rel":1763},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.19.0...v0.20.0",[25],"0.20.0"," - 2026-09-18",[49,1767,1768],{},[52,1769,1770,1771,90,1776,96],{},"View the Product Model of a GitHub repository, branch, or pull request without cloning it yourself. (",[21,1772,1775],{"href":1773,"rel":1774},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F61",[25],"#61",[21,1777,1780],{"href":1778,"rel":1779},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F86c44963d633b92a7e3ad5b11b766116872191ae",[25],"86c4496",[44,1782,100],{"id":1783},"contributors-20",[49,1785,1786],{},[52,1787,1788],{},[21,1789,109],{"href":107,"rel":1790},[25],[14,1792,1793,115,1795],{},[55,1794,114],{},[21,1796,1798],{"href":1762,"rel":1797},[25],"v0.19.0...v0.20.0",[35,1800,1802,1807],{"id":1801},"_0190-2026-09-17",[21,1803,1806],{"href":1804,"rel":1805},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.18.0...v0.19.0",[25],"0.19.0"," - 2026-09-17",[49,1809,1810,1823,1832],{},[52,1811,1812,1813,90,1818,96],{},"Clearer comparison tables with independent filters and smoother navigation. (",[21,1814,1817],{"href":1815,"rel":1816},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F59",[25],"#59",[21,1819,1822],{"href":1820,"rel":1821},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F8e4abd482086687f28e8c806fcfe99a545b58bf7",[25],"8e4abd4",[52,1824,1825,1826,90,1829,96],{},"Colored badges with details on click and complete legends. (",[21,1827,1817],{"href":1815,"rel":1828},[25],[21,1830,1822],{"href":1820,"rel":1831},[25],[52,1833,1834,1835,90,1838,96],{},"Larger Context paths and improved keyboard navigation. (",[21,1836,1817],{"href":1815,"rel":1837},[25],[21,1839,1822],{"href":1820,"rel":1840},[25],[44,1842,100],{"id":1843},"contributors-21",[49,1845,1846],{},[52,1847,1848],{},[21,1849,109],{"href":107,"rel":1850},[25],[14,1852,1853,115,1855],{},[55,1854,114],{},[21,1856,1858],{"href":1804,"rel":1857},[25],"v0.18.0...v0.19.0",[35,1860,1862,1807],{"id":1861},"_0180-2026-09-17",[21,1863,1866],{"href":1864,"rel":1865},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.17.0...v0.18.0",[25],"0.18.0",[49,1868,1869,1882],{},[52,1870,1871,1872,90,1877,96],{},"Navigate reports with a collapsible sidebar and clearer page headers. (",[21,1873,1876],{"href":1874,"rel":1875},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F60",[25],"#60",[21,1878,1881],{"href":1879,"rel":1880},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F69073e0f2ee4f926629b638c2ed07960592b4bbd",[25],"69073e0",[52,1883,1884,1885,90,1888,96],{},"See the current Product and switch between catalog Blueprints from the sidebar. (",[21,1886,1876],{"href":1874,"rel":1887},[25],[21,1889,1881],{"href":1879,"rel":1890},[25],[44,1892,100],{"id":1893},"contributors-22",[49,1895,1896],{},[52,1897,1898],{},[21,1899,109],{"href":107,"rel":1900},[25],[14,1902,1903,115,1905],{},[55,1904,114],{},[21,1906,1908],{"href":1864,"rel":1907},[25],"v0.17.0...v0.18.0",[35,1910,1912,1917],{"id":1911},"_0170-2026-09-16",[21,1913,1916],{"href":1914,"rel":1915},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.16.0...v0.17.0",[25],"0.17.0"," - 2026-09-16",[49,1919,1920,1933,1942,1951,1960,1969],{},[52,1921,1922,1923,90,1928,96],{},"Select lifecycle states by clicking anywhere on their cards, with consistent highlighting. (",[21,1924,1927],{"href":1925,"rel":1926},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F58",[25],"#58",[21,1929,1932],{"href":1930,"rel":1931},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fa5f1493f5046048ddfc17db4c49aef0d08b6b76c",[25],"a5f1493",[52,1934,1935,1936,90,1939,96],{},"Explore entity lifecycles as States with their outgoing changes, or as an interactive graph. (",[21,1937,1927],{"href":1925,"rel":1938},[25],[21,1940,1932],{"href":1930,"rel":1941},[25],[52,1943,1944,1945,90,1948,96],{},"Expand resource panels to the full window without losing your place. (",[21,1946,1927],{"href":1925,"rel":1947},[25],[21,1949,1932],{"href":1930,"rel":1950},[25],[52,1952,1953,1954,90,1957,96],{},"Use consistent model terms in resource headings and summaries. (",[21,1955,1927],{"href":1925,"rel":1956},[25],[21,1958,1932],{"href":1930,"rel":1959},[25],[52,1961,1962,1963,90,1966,96],{},"Show consistent resource icon colors in lifecycle details and relationship lists. (",[21,1964,1927],{"href":1925,"rel":1965},[25],[21,1967,1932],{"href":1930,"rel":1968},[25],[52,1970,1971,1972,90,1975,96],{},"Keep related Domains visible in resource headers across tabs. (",[21,1973,1927],{"href":1925,"rel":1974},[25],[21,1976,1932],{"href":1930,"rel":1977},[25],[44,1979,100],{"id":1980},"contributors-23",[49,1982,1983],{},[52,1984,1985],{},[21,1986,109],{"href":107,"rel":1987},[25],[14,1989,1990,115,1992],{},[55,1991,114],{},[21,1993,1995],{"href":1914,"rel":1994},[25],"v0.16.0...v0.17.0",[35,1997,1999,1917],{"id":1998},"_0160-2026-09-16",[21,2000,2003],{"href":2001,"rel":2002},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.15.0...v0.16.0",[25],"0.16.0",[49,2005,2006,2019,2028],{},[52,2007,2008,2009,90,2014,96],{},"Responsive filters and consistent report controls across screen sizes. (",[21,2010,2013],{"href":2011,"rel":2012},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F57",[25],"#57",[21,2015,2018],{"href":2016,"rel":2017},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fb6602ba263c80dd7391458dfca684a96f04a8015",[25],"b6602ba",[52,2020,2021,2022,90,2025,96],{},"Cleaner graphs with more room to explore. (",[21,2023,2013],{"href":2011,"rel":2024},[25],[21,2026,2018],{"href":2016,"rel":2027},[25],[52,2029,2030,2031,90,2034,96],{},"Resource panels dim the page and close when clicking outside. (",[21,2032,2013],{"href":2011,"rel":2033},[25],[21,2035,2018],{"href":2016,"rel":2036},[25],[44,2038,100],{"id":2039},"contributors-24",[49,2041,2042],{},[52,2043,2044],{},[21,2045,109],{"href":107,"rel":2046},[25],[14,2048,2049,115,2051],{},[55,2050,114],{},[21,2052,2054],{"href":2001,"rel":2053},[25],"v0.15.0...v0.16.0",[35,2056,2058,2063],{"id":2057},"_0150-2026-09-15",[21,2059,2062],{"href":2060,"rel":2061},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.14.0...v0.15.0",[25],"0.15.0"," - 2026-09-15",[49,2065,2066,2079,2088,2097,2106],{},[52,2067,2068,2069,90,2074,96],{},"Explore resources in side panels without losing your place. (",[21,2070,2073],{"href":2071,"rel":2072},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F56",[25],"#56",[21,2075,2078],{"href":2076,"rel":2077},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F93e8ffffd6b0fe5eabc45e534643a05d004c4f4c",[25],"93e8fff",[52,2080,2081,2082,90,2085,96],{},"Find connections and grouped references in dedicated tabs, with clear file paths, owners, and external links. (",[21,2083,2073],{"href":2071,"rel":2084},[25],[21,2086,2078],{"href":2076,"rel":2087},[25],[52,2089,2090,2091,90,2094,96],{},"Read formatted documents and color-coded source files inside the report, in either theme. (",[21,2092,2073],{"href":2071,"rel":2093},[25],[21,2095,2078],{"href":2076,"rel":2096},[25],[52,2098,2099,2100,90,2103,96],{},"Smoother graph expansion and clearer Domain and Interface trees. (",[21,2101,2073],{"href":2071,"rel":2102},[25],[21,2104,2078],{"href":2076,"rel":2105},[25],[52,2107,2108,2109,90,2112,96],{},"Simplified resource headers, controls, and Scenario cards. (",[21,2110,2073],{"href":2071,"rel":2111},[25],[21,2113,2078],{"href":2076,"rel":2114},[25],[44,2116,100],{"id":2117},"contributors-25",[49,2119,2120],{},[52,2121,2122],{},[21,2123,109],{"href":107,"rel":2124},[25],[14,2126,2127,115,2129],{},[55,2128,114],{},[21,2130,2132],{"href":2060,"rel":2131},[25],"v0.14.0...v0.15.0",[35,2134,2136,2063],{"id":2135},"_0140-2026-09-15",[21,2137,2140],{"href":2138,"rel":2139},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.13.0...v0.14.0",[25],"0.14.0",[49,2142,2143,2156,2165,2174],{},[52,2144,2145,2146,90,2151,96],{},"Redesigned Capability and Journey Scenarios with clearer Steps and details. (",[21,2147,2150],{"href":2148,"rel":2149},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F54",[25],"#54",[21,2152,2155],{"href":2153,"rel":2154},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F761667ed4a99d05741bb8c45cde123344e56e759",[25],"761667e",[52,2157,2158,2159,90,2162,96],{},"Added Rows and Graph views with shared filters and saved row layouts. (",[21,2160,2150],{"href":2148,"rel":2161},[25],[21,2163,2155],{"href":2153,"rel":2164},[25],[52,2166,2167,2168,90,2171,96],{},"Simplified report navigation and made styling consistent. (",[21,2169,2150],{"href":2148,"rel":2170},[25],[21,2172,2155],{"href":2153,"rel":2173},[25],[52,2175,2176,2177,90,2180,96],{},"Fixed Back navigation, expansion state, and duplicate graph nodes. (",[21,2178,2150],{"href":2148,"rel":2179},[25],[21,2181,2155],{"href":2153,"rel":2182},[25],[44,2184,100],{"id":2185},"contributors-26",[49,2187,2188],{},[52,2189,2190],{},[21,2191,109],{"href":107,"rel":2192},[25],[14,2194,2195,115,2197],{},[55,2196,114],{},[21,2198,2200],{"href":2138,"rel":2199},[25],"v0.13.0...v0.14.0",[35,2202,2204,2209],{"id":2203},"_0130-2026-09-12",[21,2205,2208],{"href":2206,"rel":2207},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.12.0...v0.13.0",[25],"0.13.0"," - 2026-09-12",[44,2211,284],{"id":2212},"removed-2",[49,2214,2215,2234],{},[52,2216,2217,2218,184,2221,196,2224,90,2229,96],{},"Hidden historical CLI options and command migration messages. Use the commands\nand options shown in help, including ",[81,2219,2220],{},"--cwd",[81,2222,2223],{},"--scope project|global",[21,2225,2228],{"href":2226,"rel":2227},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F53",[25],"#53",[21,2230,2233],{"href":2231,"rel":2232},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F89947f30afe4f56c5253999358cef7a5d9931217",[25],"89947f3",[52,2235,2236,2237,90,2240,96],{},"One-off cleanup of old bare-name skills and Claude commands during installation. (",[21,2238,2228],{"href":2226,"rel":2239},[25],[21,2241,2233],{"href":2231,"rel":2242},[25],[44,2244,100],{"id":2245},"contributors-27",[49,2247,2248],{},[52,2249,2250],{},[21,2251,109],{"href":107,"rel":2252},[25],[14,2254,2255,115,2257],{},[55,2256,114],{},[21,2258,2260],{"href":2206,"rel":2259},[25],"v0.12.0...v0.13.0",[35,2262,2264,2269],{"id":2263},"_0120-2026-09-10",[21,2265,2268],{"href":2266,"rel":2267},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.11.0...v0.12.0",[25],"0.12.0"," - 2026-09-10",[44,2271,47],{"id":2272},"changed-11",[49,2274,2275,2288,2297,2306,2315,2324,2333,2342],{},[52,2276,2277,2278,90,2283,96],{},"Every page of the report reads the same way: what it is and the ways out of\nit, then tabs for which set you are reading, then what narrows it. (",[21,2279,2282],{"href":2280,"rel":2281},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F48",[25],"#48",[21,2284,2287],{"href":2285,"rel":2286},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F2732ad01e1ce976696b0221106a4a0c7203283ba",[25],"2732ad0",[52,2289,2290,2291,90,2294,96],{},"Tabs are the report's only switch. Each named reading sits beside List in the\ncollection it belongs to; the Cards\u002FTable toggle and the grouping menu are\ngone. (",[21,2292,2282],{"href":2280,"rel":2293},[25],[21,2295,2287],{"href":2285,"rel":2296},[25],[52,2298,2299,2300,90,2303,96],{},"Filters sit beside the rows they narrow, one control per axis, on every\ncollection whatever its size. (",[21,2301,2282],{"href":2280,"rel":2302},[25],[21,2304,2287],{"href":2285,"rel":2305},[25],[52,2307,2308,2309,90,2312,96],{},"Collections group by Domain on their own, and Entities that act lead the list. (",[21,2310,2282],{"href":2280,"rel":2311},[25],[21,2313,2287],{"href":2285,"rel":2314},[25],[52,2316,2317,2318,90,2321,96],{},"Overview is the Product's own page, with About, Coverage and References. (",[21,2319,2282],{"href":2280,"rel":2320},[25],[21,2322,2287],{"href":2285,"rel":2323},[25],[52,2325,2326,2327,90,2330,96],{},"Compare delivery is now a Capability by Interface matrix. (",[21,2328,2282],{"href":2280,"rel":2329},[25],[21,2331,2287],{"href":2285,"rel":2332},[25],[52,2334,2335,2336,90,2339,96],{},"The documentation explains the Product Model. The report explains itself. (",[21,2337,2282],{"href":2280,"rel":2338},[25],[21,2340,2287],{"href":2285,"rel":2341},[25],[52,2343,2344,2345,90,2348,96],{},"Report links shared before this release open the Overview. (",[21,2346,2282],{"href":2280,"rel":2347},[25],[21,2349,2287],{"href":2285,"rel":2350},[25],[44,2352,284],{"id":2353},"removed-3",[49,2355,2356],{},[52,2357,2358,2359,90,2362,96],{},"The All resources and connections view. The rail already lists every\ncollection with its count, and a resource's connections are on its page. (",[21,2360,2282],{"href":2280,"rel":2361},[25],[21,2363,2287],{"href":2285,"rel":2364},[25],[44,2366,71],{"id":2367},"fixed-2",[49,2369,2370,2379],{},[52,2371,2372,2373,90,2376,96],{},"Icons missing from the local report, including the loading indicator and the\nwarning shown while an edit is invalid. (",[21,2374,2282],{"href":2280,"rel":2375},[25],[21,2377,2287],{"href":2285,"rel":2378},[25],[52,2380,2381,2382,90,2385,96],{},"Interactive controls now show the hand cursor. (",[21,2383,2282],{"href":2280,"rel":2384},[25],[21,2386,2287],{"href":2285,"rel":2387},[25],[44,2389,100],{"id":2390},"contributors-28",[49,2392,2393],{},[52,2394,2395],{},[21,2396,109],{"href":107,"rel":2397},[25],[14,2399,2400,115,2402],{},[55,2401,114],{},[21,2403,2405],{"href":2266,"rel":2404},[25],"v0.11.0...v0.12.0",[35,2407,2409,2414],{"id":2408},"_0110-2026-09-07",[21,2410,2413],{"href":2411,"rel":2412},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.10.0...v0.11.0",[25],"0.11.0"," - 2026-09-07",[44,2416,71],{"id":2417},"fixed-3",[49,2419,2420],{},[52,2421,2422,2423,90,2428,96],{},"Generated product models omit rejected approaches and settled deliberation. (",[21,2424,2427],{"href":2425,"rel":2426},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F45",[25],"#45",[21,2429,2432],{"href":2430,"rel":2431},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F035812229bef0aa8856cbc91c0fc8dcde5a6a138",[25],"0358122",[44,2434,100],{"id":2435},"contributors-29",[49,2437,2438],{},[52,2439,2440],{},[21,2441,109],{"href":107,"rel":2442},[25],[14,2444,2445,115,2447],{},[55,2446,114],{},[21,2448,2450],{"href":2411,"rel":2449},[25],"v0.10.0...v0.11.0",[35,2452,2454,2459],{"id":2453},"_0100-2026-09-06",[21,2455,2458],{"href":2456,"rel":2457},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.9.0...v0.10.0",[25],"0.10.0"," - 2026-09-06",[44,2461,131],{"id":2462},"added-5",[49,2464,2465,2478],{},[52,2466,2467,2468,90,2473,96],{},"Inline term definitions and a searchable Vocabulary panel for reports and docs. (",[21,2469,2472],{"href":2470,"rel":2471},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F40",[25],"#40",[21,2474,2477],{"href":2475,"rel":2476},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F189fb9526f397c0d573ceb6ef98f2c1d9b5711b5",[25],"189fb95",[52,2479,2480,2481,90,2484,96],{},"Option to hide the tooltips that explain terms, with the preference remembered. (",[21,2482,2472],{"href":2470,"rel":2483},[25],[21,2485,2477],{"href":2475,"rel":2486},[25],[44,2488,47],{"id":2489},"changed-12",[49,2491,2492],{},[52,2493,2494,2495,90,2498,96],{},"Refined report header controls, icons, coverage badges, and documentation. (",[21,2496,2472],{"href":2470,"rel":2497},[25],[21,2499,2477],{"href":2475,"rel":2500},[25],[44,2502,71],{"id":2503},"fixed-4",[49,2505,2506],{},[52,2507,2508,2509,90,2512,96],{},"Improved breadcrumb and definition-button accessibility. (",[21,2510,2472],{"href":2470,"rel":2511},[25],[21,2513,2477],{"href":2475,"rel":2514},[25],[44,2516,100],{"id":2517},"contributors-30",[49,2519,2520],{},[52,2521,2522],{},[21,2523,109],{"href":107,"rel":2524},[25],[14,2526,2527,115,2529],{},[55,2528,114],{},[21,2530,2532],{"href":2456,"rel":2531},[25],"v0.9.0...v0.10.0",[35,2534,2536,2541],{"id":2535},"_090-2026-09-04",[21,2537,2540],{"href":2538,"rel":2539},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.8.0...v0.9.0",[25],"0.9.0"," - 2026-09-04",[44,2543,131],{"id":2544},"added-6",[49,2546,2547,2563,2590,2609,2637,2653,2665,2677,2689,2711],{},[52,2548,2549,2552,2553,90,2558,96],{},[55,2550,2551],{},"Entity — one resource type for every thing the Product keeps or reasons\nabout."," Identity, not storage, is the test. An Entity carries named facts,\noptional states, and relations in product language; implementation types,\nkeys, indexes, join records, and regenerable representations stay out. (",[21,2554,2557],{"href":2555,"rel":2556},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F34",[25],"#34",[21,2559,2562],{"href":2560,"rel":2561},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F2a14ea12885ec012557aae33e4ee44b3e003a541",[25],"2a14ea1",[52,2564,2565,139,2568,180,2571,2574,2575,2578,2579,2583,2584,90,2587,96],{},[55,2566,2567],{},"Entity relations state both ends.",[81,2569,2570],{},"one-to-one",[81,2572,2573],{},"one-to-many",", and\n",[81,2576,2577],{},"many-to-many"," read from the declaring Entity to its target; the inverse is\nderived so two files cannot disagree. Entity pages and the ",[2580,2581,2582],"em",{},"What it keeps","\ntopology view render the product's own relationship graph. (",[21,2585,2557],{"href":2555,"rel":2586},[25],[21,2588,2562],{"href":2560,"rel":2589},[25],[52,2591,2592,2595,2596,2599,2600,2602,2603,90,2606,96],{},[55,2593,2594],{},"Business Rules can express authorization."," An Entity target selects an\noperation, facts, states, and optional Contexts. ",[81,2597,2598],{},"permits"," grants name\nactors, a related Entity path, self, unattended work, or configuration, with\noptional fact and state conditions. ",[81,2601,462],{}," rejects Steps and Screens that no\napplicable grant can permit, without claiming runtime authorization has been\nproved. (",[21,2604,2557],{"href":2555,"rel":2605},[25],[21,2607,2562],{"href":2560,"rel":2608},[25],[52,2610,2611,2614,2615,2618,2619,2622,2623,2626,2627,2630,2631,90,2634,96],{},[55,2612,2613],{},"A Scenario Step says what it does to the Product's things."," Every Step\ncarries ",[81,2616,2617],{},"entities: []"," or entries shaped as\n",[81,2620,2621],{},"{ entity, as, effect, from, to }",", where ",[81,2624,2625],{},"effect"," is\n",[81,2628,2629],{},"creates|changes|removes|reads",". Lifecycles and reverse edges are composed\nfrom acceptance Steps rather than authored a second time. (",[21,2632,2557],{"href":2555,"rel":2633},[25],[21,2635,2562],{"href":2560,"rel":2636},[25],[52,2638,2639,2642,2643,2646,2647,90,2650,96],{},[55,2640,2641],{},"Unattended Scenarios."," A first condition Step may state\n",[81,2644,2645],{},"unattended: true"," for schedules, expiry, retry, and other Product-owned\nbehavior with no Actor. (",[21,2648,2557],{"href":2555,"rel":2649},[25],[21,2651,2562],{"href":2560,"rel":2652},[25],[52,2654,2655,2658,2659,90,2662,96],{},[81,2656,2657],{},"agent"," joins the Interface types, and an Interface may own shared Screens\nbeside its Experiences. A shared Screen is inside every Experience of its\nInterface: a Capability it exposes must be available in each, a Step on it is\ninside a Capability's availability only when every Experience is, and that\nStep counts as Scenario coverage for each. (",[21,2660,2557],{"href":2555,"rel":2661},[25],[21,2663,2562],{"href":2560,"rel":2664},[25],[52,2666,2667,2670,2671,90,2674,96],{},[55,2668,2669],{},"A Domain states what its Boundary excludes",", in the authored folder and on\nthe wire. (",[21,2672,2557],{"href":2555,"rel":2673},[25],[21,2675,2562],{"href":2560,"rel":2676},[25],[52,2678,2679,2682,2683,90,2686,96],{},[55,2680,2681],{},"The Product Report renders every Entity edge."," Entities have a rail entry,\ncollection, page, search results, facts, relations, composed lifecycle, and\ntopology presence. An Entity with States reads its lifecycle as a state\nmachine on its own tab, with each selecting Rule's grants in full. Scenario\nSteps show what they create, change, remove, or read; Journey outcomes\nsummarize what they leave behind; Rules read their grants as sentences. (",[21,2684,2557],{"href":2555,"rel":2685},[25],[21,2687,2562],{"href":2560,"rel":2688},[25],[52,2690,2691,2696,2697,2700,2701,2704,2705,90,2708,96],{},[55,2692,2693],{},[81,2694,2695],{},"spec\u002Frejected.md"," — shapes designed far enough to be costed and then\nchosen against, so the same argument is not had twice. It binds nothing and\ntakes rejections and deferrals only: never a plan, a status, or a file\nreference. Entries are appended, so reopening a decision means a superseding\nentry rather than an edit. It carries what a format or report change most\noften re-proposes — tags and free-form metadata, a glossary resource type,\ntyped facts, ",[81,2698,2699],{},"actors\u002F"," as its own collection, permission on a Capability\ntarget, ",[81,2702,2703],{},"transitions"," on the Entity, the permission algebra's discarded\nspellings, and Blueprint provenance. (",[21,2706,2557],{"href":2555,"rel":2707},[25],[21,2709,2562],{"href":2560,"rel":2710},[25],[52,2712,2713,2714,90,2717,96],{},"BusinessLens now keeps a reviewed Product Model of itself. The Content Feed\nReader Blueprint and golden Fixture Shop were expanded to exercise Entities,\nrelations, lifecycles, unattended behavior, and permission Rules. (",[21,2715,2557],{"href":2555,"rel":2716},[25],[21,2718,2562],{"href":2560,"rel":2719},[25],[44,2721,47],{"id":2722},"changed-13",[49,2724,2725,2744,2756,2772,2781,2790,2799,2828,2851,2862,2875,2888],{},[52,2726,2727,2730,2731,180,2734,2737,2738,90,2741,96],{},[55,2728,2729],{},"Folder schema 8 and Product Report v13 are the only accepted contracts.","\nHistorical reports are refused rather than migrated. The report SDK exports\n",[81,2732,2733],{},"ProductReportV13Schema",[81,2735,2736],{},"ProductReportV13",", the unversioned current\naliases, Entity\u002Ffact\u002Frelation types, Step effect types, and grant types. (",[21,2739,2557],{"href":2555,"rel":2740},[25],[21,2742,2562],{"href":2560,"rel":2743},[25],[52,2745,2746,2749,2750,90,2753,96],{},[55,2747,2748],{},"A Capability no longer declares Entities and an Entity no longer declares\ntransitions."," Scenario Steps are the single source of truth for what happens\nto the things the Product keeps. (",[21,2751,2557],{"href":2555,"rel":2752},[25],[21,2754,2562],{"href":2560,"rel":2755},[25],[52,2757,2758,2761,2762,2765,2766,90,2769,96],{},[81,2759,2760],{},"## Information kept"," is a list of uniquely named facts, so a Rule can govern\none fact exactly. ",[81,2763,2764],{},"## Product states"," is retired. (",[21,2767,2557],{"href":2555,"rel":2768},[25],[21,2770,2562],{"href":2560,"rel":2771},[25],[52,2773,2774,2775,90,2778,96],{},"Behavioral ids are verb-noun and reuse vocabulary the model already declares.\nEntity, Domain, and Business Rule ids do not begin with a verb. The linter\nderives these naming findings rather than asking an author to judge them. (",[21,2776,2557],{"href":2555,"rel":2777},[25],[21,2779,2562],{"href":2560,"rel":2780},[25],[52,2782,2783,2784,90,2787,96],{},"Whether an Interface needs Experiences, and whether it divides, is derived\nrather than judged: audiences are disjoint when no available Capability\nbridges them, with the counterpart exception for symmetric platform pairs.\nInterface entry-point keys may name the Interface's type or another Interface\nfrom which it is reached. (",[21,2785,2557],{"href":2555,"rel":2786},[25],[21,2788,2562],{"href":2560,"rel":2789},[25],[52,2791,2792,2793,90,2796,96],{},"A Business Rule governs at least two behaviors or an independent Context, and\na Domain states what its Boundary excludes. Both are now linted. (",[21,2794,2557],{"href":2555,"rel":2795},[25],[21,2797,2562],{"href":2560,"rel":2798},[25],[52,2800,2801,2804,2805,184,2808,2811,2812,2818,2819,2821,2822,90,2825,96],{},[55,2802,2803],{},"The installer decides ownership by its manifest alone."," A directory that\nmerely names a skill and mentions BusinessLens is somebody else's; retired\nskills are removed only when the manifest recorded them; every harness is\nchecked before any is written, so a refusal leaves nothing changed. This is\nvisible on upgrade: an installation made before the marker existed carries no\nproof it is ours, so ",[81,2806,2807],{},"install",[81,2809,2810],{},"update"," refuse it with ",[2580,2813,2814,2815],{},"Refusing to\noverwrite … Pass ",[81,2816,2817],{},"--force",". One ",[81,2820,2817],{}," re-adopts it, and every later run\nis marked. (",[21,2823,2557],{"href":2555,"rel":2824},[25],[21,2826,2562],{"href":2560,"rel":2827},[25],[52,2829,2830,180,2833,2836,2837,2840,2841,2844,2845,90,2848,96],{},[81,2831,2832],{},"businesslens-map",[81,2834,2835],{},"businesslens-ideate",", and the authoring branches of\n",[81,2838,2839],{},"businesslens-verify"," settle undetermined boundary, granularity, naming, and\nacceptance calls in rounds before writing. They attach the evidence they read\nand surface remaining judgment calls explicitly; ideate's proposed delta ends\nwith a ",[81,2842,2843],{},"Judgment calls"," section, as map's already did. (",[21,2846,2557],{"href":2555,"rel":2847},[25],[21,2849,2562],{"href":2560,"rel":2850},[25],[52,2852,2853,2855,2856,90,2859,96],{},[81,2854,2839],{}," re-derives findings from the current model and\nrepository, verifies Entity facts, states, relations, composed transitions,\nStep effects, and Rule grants, and never persists a workflow ledger. (",[21,2857,2557],{"href":2555,"rel":2858},[25],[21,2860,2562],{"href":2560,"rel":2861},[25],[52,2863,2864,2865,2868,2869,90,2872,96],{},"The docs define each resource type on its owning page. Actor guidance moved\ninto Entities, Capability and Journey pages own their Scenario fields,\nBusiness Rules owns permission semantics, and the catalog transport — the\nreport media type and its ",[81,2866,2867],{},"version"," parameter — is written where a catalog\noperator reads it. (",[21,2870,2557],{"href":2555,"rel":2871},[25],[21,2873,2562],{"href":2560,"rel":2874},[25],[52,2876,2877,2878,2881,2882,90,2885,96],{},"The open page tab lives in the URL (",[81,2879,2880],{},"t","), so a Lifecycle or Scenarios tab\nsurvives a refresh and can be linked. (",[21,2883,2557],{"href":2555,"rel":2884},[25],[21,2886,2562],{"href":2560,"rel":2887},[25],[52,2889,2890,139,2897,2900,2901,2904,2905,90,2908,96],{},[55,2891,2892,2893,2896],{},"The design record under ",[81,2894,2895],{},"plans\u002F"," is retired; the constraints it carried\nmoved into the registers that govern them.",[81,2898,2899],{},"AGENTS.md"," gains ",[2580,2902,2903],{},"How format\ndecisions are judged"," — the shipped agent as the standard a rule must meet,\nthe ranked quality axes, empirical double-authoring, descriptive and\ngenerative use judged equally, and the pull-request diff as the binding human\nsurface. Its report viewer standards gain four rendering rules and the\nfour-row test for making a section render as more than prose. (",[21,2906,2557],{"href":2555,"rel":2907},[25],[21,2909,2562],{"href":2560,"rel":2910},[25],[44,2912,284],{"id":2913},"removed-4",[49,2915,2916],{},[52,2917,2918,2923,2924,184,2927,2930,2931,90,2934,96],{},[55,2919,2920,2922],{},[81,2921,2699],{}," is no longer a collection, and Actor is no longer a resource\ntype."," A person or system that acts is an Entity with\n",[81,2925,2926],{},"kind: person|system",[81,2928,2929],{},"acts: external|internal",". Actor remains a role. (",[21,2932,2557],{"href":2555,"rel":2933},[25],[21,2935,2562],{"href":2560,"rel":2936},[25],[44,2938,71],{"id":2939},"fixed-5",[49,2941,2942,2959,2990,3006,3018],{},[52,2943,2944,2949,2950,2952,2953,90,2956,96],{},[55,2945,2946,2948],{},[81,2947,146],{}," asks for the report version it can read, and refuses\nanother."," The Accept header is derived from the schema's major, and a\ncatalog answering with a different ",[81,2951,2867],{}," parameter is refused before the\nbody is parsed. A report of another schema version, from a catalog or a file,\nis refused in one sentence naming both versions instead of a Zod issue dump. (",[21,2954,2557],{"href":2555,"rel":2955},[25],[21,2957,2562],{"href":2560,"rel":2958},[25],[52,2960,2961,2969,2970,2973,2974,2976,2977,184,2980,2983,2984,90,2987,96],{},[55,2962,2963,184,2966,2968],{},[81,2964,2965],{},"blueprint open",[81,2967,310],{}," keep the author's coverage prose."," Only\n",[81,2971,2972],{},"method"," is rewritten, as the report contract says; the note that\nimplementation alignment has not been verified here now lives in ",[81,2975,2972],{},"\nwith the other origin claim, and ",[81,2978,2979],{},"limitations",[81,2981,2982],{},"rationale"," come through\nexactly as authored. (",[21,2985,2557],{"href":2555,"rel":2986},[25],[21,2988,2562],{"href":2560,"rel":2989},[25],[52,2991,2992,2999,3000,90,3003,96],{},[55,2993,2994,2995,2998],{},"An Experience's ",[81,2996,2997],{},"interfaceIds"," is exactly the Interface its id names.","\nExpansion files an Experience by its qualified id, so a list saying anything\nelse was a second encoding of containment — a report could validate under one\nInterface and expand under another. (",[21,3001,2557],{"href":2555,"rel":3002},[25],[21,3004,2562],{"href":2560,"rel":3005},[25],[52,3007,3008,3009,3011,3012,90,3015,96],{},"The stable viewer keeps the current page and its filters through a recompile,\nso ",[81,3010,356],{}," can stay open while the model is edited. (",[21,3013,2557],{"href":2555,"rel":3014},[25],[21,3016,2562],{"href":2560,"rel":3017},[25],[52,3019,3020,3021,3024,3025,3028,3029,90,3032,96],{},"The packed Nuxt Layer consumer, viewer documentation, and package manifest\nstay aligned with the current report major; generated Layer ",[81,3022,3023],{},"node_modules","\nare excluded from the npm tarball; and ",[81,3026,3027],{},"check-repo"," pins both registers and\nthe CLI header to the report schema's major, so the version cannot go stale\nin prose the way it once did in code. (",[21,3030,2557],{"href":2555,"rel":3031},[25],[21,3033,2562],{"href":2560,"rel":3034},[25],[44,3036,3038],{"id":3037},"security","Security",[49,3040,3041],{},[52,3042,3043,3046,3047,3050,3051,3053,3054,90,3057,96],{},[55,3044,3045],{},"The installer follows no name it did not write."," The installation manifest\nis read out of the target repository, which BusinessLens treats as untrusted,\nand every name it records reaches a recursive remove. A ",[81,3048,3049],{},"skills"," entry that is\nnot a plain directory name now invalidates the marker, a recorded name this\nProduct could not have written is left alone, and every removal must resolve\nto a direct child of the skills directory — so a crafted manifest can no\nlonger point ",[81,3052,2807],{}," at a directory outside it. (",[21,3055,2557],{"href":2555,"rel":3056},[25],[21,3058,2562],{"href":2560,"rel":3059},[25],[44,3061,100],{"id":3062},"contributors-31",[49,3064,3065],{},[52,3066,3067],{},[21,3068,109],{"href":107,"rel":3069},[25],[14,3071,3072,115,3074],{},[55,3073,114],{},[21,3075,3077],{"href":2538,"rel":3076},[25],"v0.8.0...v0.9.0",[35,3079,3081,3086],{"id":3080},"_080-2026-08-25",[21,3082,3085],{"href":3083,"rel":3084},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.7.2...v0.8.0",[25],"0.8.0"," - 2026-08-25",[44,3088,131],{"id":3089},"added-7",[49,3091,3092,3120,3136,3157,3170,3185,3197,3217,3230,3239,3248,3257,3266,3275],{},[52,3093,3094,3097,3098,3101,3102,3105,3106,3109,3110,90,3115,96],{},[55,3095,3096],{},"Co-located assets."," Files beside ",[81,3099,3100],{},"\u003Ctype>.md"," are product assets owned by\nthe entity; anything under the reserved ",[81,3103,3104],{},"implementation\u002F"," directory\ndescribes this realization and stays home. Class comes from the path, which is\nthe only rule a tool writing a capture on CI can satisfy. An optional\n",[81,3107,3108],{},"assets:"," list titles and scopes those files without ever setting their class,\nand unlisted files stay legal. (",[21,3111,3114],{"href":3112,"rel":3113},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F30",[25],"#30",[21,3116,3119],{"href":3117,"rel":3118},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F1a22915c144f334269c2602c85e5ff67d946d726",[25],"1a22915",[52,3121,3122,3123,3126,3127,3129,3130,90,3133,96],{},"An optional ",[81,3124,3125],{},"state:"," on a reference or asset, valid only on a Screen and\nvalidated against its ",[81,3128,2764],{},", so several captures of one view are\nplaced beside the state each depicts instead of arriving as a flat list. (",[21,3131,3114],{"href":3112,"rel":3132},[25],[21,3134,3119],{"href":3117,"rel":3135},[25],[52,3137,3138,3139,3142,3143,3146,3147,3150,3151,90,3154,96],{},"A ",[81,3140,3141],{},"prd"," Reference kind for attaching a product requirements document as\n",[81,3144,3145],{},"intent"," or ",[81,3148,3149],{},"context"," without making that external document the Product Model\nauthority. (",[21,3152,3114],{"href":3112,"rel":3153},[25],[21,3155,3119],{"href":3117,"rel":3156},[25],[52,3158,3159,3160,3163,3164,90,3167,96],{},"An optional ordered ",[81,3161,3162],{},"screens:"," list on an Interface or Experience declaring\nreading order over its own children. Reachability stays with the tree. (",[21,3165,3114],{"href":3112,"rel":3166},[25],[21,3168,3119],{"href":3117,"rel":3169},[25],[52,3171,3172,3174,3175,3178,3179,90,3182,96],{},[81,3173,356],{}," serves repository files from a read-only, extension-\nallowlisted mount, and the report viewer renders local ",[81,3176,3177],{},"visual"," references and\nco-located assets as thumbnails instead of inert text. (",[21,3180,3114],{"href":3112,"rel":3181},[25],[21,3183,3119],{"href":3117,"rel":3184},[25],[52,3186,3187,3190,3191,90,3194,96],{},[55,3188,3189],{},"Every entity has a page",", at its own URL, with the authored body at full\nwidth — steps, inline routes, decision points, screen states, rule statements,\nconnections, and references are no longer confined to a drawer. Every page\nhas Overview; Capability and Journey pages alone add Scenarios. (",[21,3192,3114],{"href":3112,"rel":3193},[25],[21,3195,3119],{"href":3117,"rel":3196},[25],[52,3198,3199,3202,3203,3206,3207,3210,3211,90,3214,96],{},[55,3200,3201],{},"A concrete Actor's marker draws what it is."," The Actor mark carries the\nauthored ",[81,3204,3205],{},"kind"," as its silhouette — a person or a system, at the size every\nother kind's mark uses — and the Product-boundary ",[81,3208,3209],{},"relationship"," is written as\na word where each reading has room for it. A Scenario Step names its Actor\nwith that mark in a chip that opens the Actor, rather than as prose. (",[21,3212,3114],{"href":3112,"rel":3213},[25],[21,3215,3119],{"href":3117,"rel":3216},[25],[52,3218,3219,3220,3223,3224,90,3227,96],{},"The open section and the open entity page live in the URL, so a report has\ndeep links, a working browser back button, and a refresh that lands where it\nleft. ",[81,3221,3222],{},"BusinessLensReportViewer"," exposes both as bindable models. (",[21,3225,3114],{"href":3112,"rel":3226},[25],[21,3228,3119],{"href":3117,"rel":3229},[25],[52,3231,3232,3233,90,3236,96],{},"Each collection states the question it answers and the derivation behind its\nreading order, in the vocabulary the named topology views already use. (",[21,3234,3114],{"href":3112,"rel":3235},[25],[21,3237,3119],{"href":3117,"rel":3238},[25],[52,3240,3241,3242,90,3245,96],{},"Every collection opens grouped by the containment the format declares for it,\nand says so when an entity relates to more than one group. (",[21,3243,3114],{"href":3112,"rel":3244},[25],[21,3246,3119],{"href":3117,"rel":3247},[25],[52,3249,3250,3251,90,3254,96],{},"Counterpart Screens, Experiences and Interfaces cross-link from their pages:\nthe same thing on another Interface is named as such rather than appearing to\nbe a duplicate row. (",[21,3252,3114],{"href":3112,"rel":3253},[25],[21,3255,3119],{"href":3117,"rel":3256},[25],[52,3258,3259,3260,90,3263,96],{},"One entity's neighbourhood is drawn on the named Topology canvas, at a width\nthat can render it, when the reader chooses the page's Neighbourhood action. (",[21,3261,3114],{"href":3112,"rel":3262},[25],[21,3264,3119],{"href":3117,"rel":3265},[25],[52,3267,3268,3269,90,3272,96],{},"The stable BusinessLens Product Report: an entity-first browse, search,\nscenario, journey, and named-topology experience over one complete report\nprojection. It renders every authored entity on its page while ranking\ncollection and Overview readings for repeated human use. (",[21,3270,3114],{"href":3112,"rel":3271},[25],[21,3273,3119],{"href":3117,"rel":3274},[25],[52,3276,3277,3278,3281,3282,3285,3286,90,3289,96],{},"A shared Vue Flow foundation in the report-viewer layer (",[81,3279,3280],{},"@vue-flow\u002Fcore"," with a\n",[81,3283,3284],{},"@dagrejs\u002Fdagre"," layered layout, both optional peer dependencies): one\nentity box and one container box for nine visual categories (with both\nScenario types distinguished in content), a fixed relation-verb\nvocabulary, a measured Interface → Experience → Screen containment map, a\nsitemap of the same hierarchy drawn either as a top-down tree or radially\nfrom the Product core, plus focused entity filtering on the named Topology\nsurface. (",[21,3287,3114],{"href":3112,"rel":3288},[25],[21,3290,3119],{"href":3117,"rel":3291},[25],[44,3293,47],{"id":3294},"changed-14",[49,3296,3297,3313,3326,3342,3351,3367,3398,3441,3450,3470,3482,3494,3510,3523,3541,3564,3580,3597,3639,3671,3683,3703,3724,3749,3768,3789,3817,3835,3844,3857,3866,3887],{},[52,3298,3299,3302,3303,3306,3307,90,3310,96],{},[55,3300,3301],{},"Context is now the single location concept."," Folder schema 6 replaces\nscalar availability boundaries and Scenario Places with one strict\n",[81,3304,3305],{},"{ place: ... }"," Context shape across Capability availability, Scenario\nSteps, and Business Rule selectors. A Context place resolves to an Interface,\nExperience, or Screen; Screens derive their place from their path and declare\nno availability of their own. (",[21,3308,3114],{"href":3112,"rel":3309},[25],[21,3311,3119],{"href":3117,"rel":3312},[25],[52,3314,3315,3316,3319,3320,90,3323,96],{},"Product Report v10 mirrors the same model with ",[81,3317,3318],{},"{ placeId: ... }"," Contexts,\nremoves the former availability and Place wire records, and is the only\naccepted report version. The CLI, report SDK, Product Report, bundled skills,\nfixtures, and Content Feed Reader Blueprint consume schema 6 and report v10\ndirectly. (",[21,3321,3114],{"href":3112,"rel":3322},[25],[21,3324,3119],{"href":3117,"rel":3325},[25],[52,3327,3328,3329,3332,3333,196,3336,90,3339,96],{},"Product Model terminology now names the Interface → Experience → Screen\nhierarchy directly. The under-defined “surface” alias, including\n",[81,3330,3331],{},"surface-parent",", surface-tree IDs, and the former Delivery surfaces view, has\nbeen replaced by concrete entity names and ",[81,3334,3335],{},"screen-parent",[21,3337,3114],{"href":3112,"rel":3338},[25],[21,3340,3119],{"href":3117,"rel":3341},[25],[52,3343,3344,3345,90,3348,96],{},"Product Report entity readings present authored Capability Context once\ninstead of repeating it in the fact strip and under “Available in.” Derived\nJourney and Scenario Contexts stay with their concrete routes, Screen\nplacement stays in identity, and Rule Context selectors stay with\napplicability. Journey starting places retain the exact first route Context\nand appear as “Starts at”; raw entry-point routes remain report data rather\nthan human-facing report content. (",[21,3346,3114],{"href":3112,"rel":3347},[25],[21,3349,3119],{"href":3117,"rel":3350},[25],[52,3352,3353,3354,3357,3358,196,3361,90,3364,96],{},"Collection rows, relations, search results, and topology entities open their\nURL-backed pages directly. References stay in Overview, Neighbourhood opens\nTopology, and the inspector and slideover are removed. The private report\nexperiment layer remains under the final ",[81,3355,3356],{},"report-viewer-lab"," name with no\nactive report experiments; the background audition remains independent in\n",[81,3359,3360],{},"theme-lab",[21,3362,3114],{"href":3112,"rel":3363},[25],[21,3365,3119],{"href":3117,"rel":3366},[25],[52,3368,3369,3372,3373,3376,3377,3380,3381,180,3384,3387,3388,3391,3392,90,3395,96],{},[55,3370,3371],{},"Capability and Journey Scenarios share one route-and-Steps model."," Every\nScenario now owns named ",[81,3374,3375],{},"routes"," and one ordered, typed ",[81,3378,3379],{},"steps"," list. An Actor\nStep names its responsible Actor, a Journey Step may name its Capability, and\na contextualized Step maps every route to its exact Interface, Experience, or\nScreen. Route-neutral Steps remain first-class without a Context. The\nseparate Journey\n",[81,3382,3383],{},"flow",[81,3385,3386],{},"operation",", stage ids, per-Step route objects, Scenario-wide Actors\nand availability, authored Screen Scenario backlinks, and Markdown ",[81,3389,3390],{},"## Steps","\nare removed. Folder schema 3 and Product Report v7 are no longer accepted;\nthis release has no compatibility reader. (",[21,3393,3114],{"href":3112,"rel":3394},[25],[21,3396,3119],{"href":3117,"rel":3397},[25],[52,3399,3400,3401,3404,3405,3408,3409,180,3412,180,3415,180,3418,180,3421,180,3424,180,3427,3430,3431,3434,3435,90,3438,96],{},"Every Interface now declares one required interaction ",[81,3402,3403],{},"type"," (",[81,3406,3407],{},"web",",\n",[81,3410,3411],{},"mobile-app",[81,3413,3414],{},"desktop-app",[81,3416,3417],{},"cli",[81,3419,3420],{},"api",[81,3422,3423],{},"webhook",[81,3425,3426],{},"messaging",[81,3428,3429],{},"voice",",\nor ",[81,3432,3433],{},"device","). Reports preserve it directly and use it to distinguish\nInterface contexts visually instead of guessing from ids or route names. (",[21,3436,3114],{"href":3112,"rel":3437},[25],[21,3439,3119],{"href":3117,"rel":3440},[25],[52,3442,3443,3444,90,3447,96],{},"A Journey Step names a durable Capability, never a Capability Scenario, while\nits text states the concrete observable action or condition. Capability\nScenarios may split and merge without leaving dangling Journey composition\nreferences. (",[21,3445,3114],{"href":3112,"rel":3446},[25],[21,3448,3119],{"href":3117,"rel":3449},[25],[52,3451,3452,3455,3456,3459,3460,3463,3464,90,3467,96],{},[55,3453,3454],{},"Journey pages have one Scenario reading."," The peer ",[81,3457,3458],{},"Flows"," tab and the\nduplicate Journey-local diagram are removed because they projected the same\nauthored Steps while silently dropping Steps without a Capability. The named\ntopology view is now ",[55,3461,3462],{},"Journey composition",": it explicitly answers the\nnarrower Capability-composition question. Outside visible Domain groupings,\nCapability nodes use the consistent Capability color rather than inheriting\na Domain color that could be mistaken for status. (",[21,3465,3114],{"href":3112,"rel":3466},[25],[21,3468,3119],{"href":3117,"rel":3469},[25],[52,3471,3472,3475,3476,90,3479,96],{},[55,3473,3474],{},"Capability and Journey Scenarios share one Steps treatment."," Both render\nthe same Step-by-route matrix. Columns use the authored route name and stable\norder; placed cells show the exact typed Interface → Experience → Screen\nhierarchy. Step-kind labels explain Actor actions, Product actions, and\nconditions; Capability labels appear only where they discriminate Journey\nSteps. Steps without a Context and Context transitions are described in\nplain language, without exposing internal route ids. (",[21,3477,3114],{"href":3112,"rel":3478},[25],[21,3480,3119],{"href":3117,"rel":3481},[25],[52,3483,3484,3487,3488,90,3491,96],{},[55,3485,3486],{},"The report navigation rail lists kinds, flat."," Kinds do not nest —\ninstances do — so both Scenario kinds leave the rail and are read on the page\nfor the Capability or Journey that owns them. The Capability and Journey main\nscreens open their collections directly, without a redundant parent\u002FScenario\ntab strip. Ten destinations instead of twelve, and no indentation claiming a\nhierarchy the other eight rows have too. (",[21,3489,3114],{"href":3112,"rel":3490},[25],[21,3492,3119],{"href":3117,"rel":3493},[25],[52,3495,3496,3499,3500,3503,3504,90,3507,96],{},[55,3497,3498],{},"Collection chrome scales with the collection."," The per-relation filter\ndropdowns collapse into one control with a chip per ",[2580,3501,3502],{},"active"," filter, and it is\nnot rendered at all below eight entities — seven dropdowns above four Journeys\nwas a wall, not an offer. The card-style switcher is gone; the dense row is\nthe only layout, and it carries the fact that distinguishes an entity from its\nneighbours (a Screen's scope, a Scenario's parent) where the repeated kind\nlabel used to be. (",[21,3505,3114],{"href":3112,"rel":3506},[25],[21,3508,3119],{"href":3117,"rel":3509},[25],[52,3511,3512,3513,3516,3517,90,3520,96],{},"Entity tables render the name of a relation the format makes single-valued\nrather than the count ",[81,3514,3515],{},"1",", and drop any column constant across the rows on\nscreen. (",[21,3518,3114],{"href":3112,"rel":3519},[25],[21,3521,3119],{"href":3117,"rel":3522},[25],[52,3524,3525,3526,3528,3529,3531,3532,3534,3535,90,3538,96],{},"The bundled skills carry a worked Capability Scenario. The reference every\nskill reads described ",[81,3527,3375],{},", typed ",[81,3530,3379],{},", and per-route Contexts in\nprose but showed no Scenario file, leaving the model's most structured\nartifact to be inferred. The example is single-route, because that is the\ncase where the ",[81,3533,3375],{}," requirement is least guessable. (",[21,3536,3114],{"href":3112,"rel":3537},[25],[21,3539,3119],{"href":3117,"rel":3540},[25],[52,3542,3543,3544,3408,3547,180,3550,3553,3554,3557,3558,90,3561,96],{},"The bundled skills name the Product's portable identity keys — ",[81,3545,3546],{},"summary",[81,3548,3549],{},"category",[81,3551,3552],{},"authors",", and ",[81,3555,3556],{},"license",". Report hosts read all four, and a model\nauthored without them reaches a Blueprint incomplete. (",[21,3559,3114],{"href":3112,"rel":3560},[25],[21,3562,3119],{"href":3117,"rel":3563},[25],[52,3565,3566,3569,3570,3573,3574,90,3577,96],{},[81,3567,3568],{},"npm run check"," asserts that every entity kind, frontmatter key, and required\nsection named in ",[81,3571,3572],{},"spec\u002Fformat.md"," also appears in the canonical skill\nreference. The reference may be terser than the contract; it may not omit a\nname, because an agent cannot author a key it was never told about. It found\nthe three missing Product keys above on its first run. (",[21,3575,3114],{"href":3112,"rel":3576},[25],[21,3578,3119],{"href":3117,"rel":3579},[25],[52,3581,3582,3583,3586,3587,3590,3591,90,3594,96],{},"A README for the ",[81,3584,3585],{},"businesslens\u002Fnuxt\u002Ftheme"," layer, which shipped as a public\nexport with no documentation of its palette roles, type scale,\n",[81,3588,3589],{},"\u003CBusinessLensBrand>"," lockup, or icon-family composable. (",[21,3592,3114],{"href":3112,"rel":3593},[25],[21,3595,3119],{"href":3117,"rel":3596},[25],[52,3598,3599,3602,3603,3606,3607,3610,3611,3614,3615,3618,3619,3622,3623,3625,3626,3628,3629,3632,3633,90,3636,96],{},[55,3600,3601],{},"Folder schema 5 — a breaking change with no compatibility reader."," An\nentity is compact as ",[81,3604,3605],{},"\u003Cid>.md"," until it owns an asset or typed child\ncollection, then expands to ",[81,3608,3609],{},"\u003Cid>\u002F\u003Ctype>.md",". Both shapes derive the same id\nand cannot coexist. This keeps leaf-heavy collections readable while giving\nevery kind—Screens most of all—a co-located namespace when needed.\n",[81,3612,3613],{},"product.md"," similarly expands to ",[81,3616,3617],{},"product\u002Fproduct.md"," only when it owns\n",[81,3620,3621],{},"logo.svg",". Two coexisting shapes, and an expanded folder missing its\n",[81,3624,3100],{},", are ",[81,3627,462],{}," errors — neither is a state a correct model passes\nthrough. An expanded folder that owns nothing ",[2580,3630,3631],{},"yet"," is a warning instead: the\nrule still holds, and expansion normalizes the folder back to the compact\nform, but an author reaches the expanded shape in two steps and the\nintermediate step is not a defect. (",[21,3634,3114],{"href":3112,"rel":3635},[25],[21,3637,3119],{"href":3117,"rel":3638},[25],[52,3640,3641,3644,3645,3648,3649,3652,3653,3656,3657,3660,3661,3664,3665,90,3668,96],{},[55,3642,3643],{},"The Interface → Experience → Screen hierarchy nests."," An Experience\nbelongs to exactly one Interface and\na Screen to exactly one scope, so the path is the parent relation. An\nExperience no longer writes ",[81,3646,3647],{},"interfaces:",", a Capability Scenario no longer\nwrites ",[81,3650,3651],{},"capability:",", a Journey Scenario no longer writes ",[81,3654,3655],{},"journey:",", and a\nScreen no longer writes ",[81,3658,3659],{},"availability:",". Reparenting is a ",[81,3662,3663],{},"git mv"," that reads\ncorrectly in a pull request. (",[21,3666,3114],{"href":3112,"rel":3667},[25],[21,3669,3119],{"href":3117,"rel":3670},[25],[52,3672,3673,3676,3677,90,3680,96],{},[55,3674,3675],{},"Interface, Experience, and Screen ids are qualified"," by the path that\ndistinguishes them. Experience and Screen names repeat across Interfaces on purpose: two entities of the same\nkind sharing a path suffix below their Interface are counterparts — the same\nthing on two Interfaces. Behavior-tree ids stay bare and globally unique. (",[21,3678,3114],{"href":3112,"rel":3679},[25],[21,3681,3119],{"href":3117,"rel":3682},[25],[52,3684,3685,3688,3689,3692,3693,3696,3697,90,3700,96],{},[55,3686,3687],{},"Domain is a subject axis, not a capability folder."," It now requires a\n",[81,3690,3691],{},"## Boundary"," section, and only Capability authors ",[81,3694,3695],{},"domain:"," — a Screen's,\nExperience's or Journey's Domains are derived through their Capabilities\nrather than restated where a second copy could disagree. (",[21,3698,3114],{"href":3112,"rel":3699},[25],[21,3701,3119],{"href":3117,"rel":3702},[25],[52,3704,3705,3706,3709,3710,3713,3714,3717,3718,90,3721,96],{},"Product Report ",[81,3707,3708],{},"schemaVersion"," is ",[81,3711,3712],{},"10.0.0",", and the catalog media type moves\nto ",[81,3715,3716],{},"version=10",". There is exactly one accepted report version, as before. (",[21,3719,3114],{"href":3112,"rel":3720},[25],[21,3722,3119],{"href":3117,"rel":3723},[25],[52,3725,3726,3727,3730,3731,3734,3735,3738,3739,3742,3743,90,3746,96],{},"Scenario documentation moves onto its parent's page. A Scenario is not a\ntop-level entity — it has a mandatory single parent that decides its kind —\nso Capability Scenarios are documented in ",[81,3728,3729],{},"docs\u002Fcapabilities.md",", Journey\nScenarios in ",[81,3732,3733],{},"docs\u002Fjourneys.md",", and the containment rule that separates them\nin ",[81,3736,3737],{},"docs\u002Fproduct-model.md",". The standalone ",[81,3740,3741],{},"docs\u002Fscenarios.md"," is removed. (",[21,3744,3114],{"href":3112,"rel":3745},[25],[21,3747,3119],{"href":3117,"rel":3748},[25],[52,3750,3751,3752,3755,3756,3758,3759,3761,3762,90,3765,96],{},"An external system is an Actor only when it ",[55,3753,3754],{},"initiates"," interaction with\nthe Product, and only then does it arrive through an Interface.\nInterfaces are inbound by definition; an outbound connection the Product\nopens to a third party — a polled feed, a payment processor, a mail provider,\na model API — is not an Interface and its far side is not an Actor. Model the\ncall inside the Capability that makes it, scope that Capability to the\nInterfaces where an Actor observes the result, and make its\nproduct-significant failure behavior a Capability Scenario. Direction, not\nownership, is the axis: the same third party calling the Product back through\na webhook is a genuine Actor with a genuine Interface. No entity type, folder\nschema, parser, or linter behavior changes — ",[81,3757,462],{}," cannot recover direction\nfrom the files, so the rule lives in ",[81,3760,3572],{},", the Product Model\ndocs, and the mapping rubric. (",[21,3763,3114],{"href":3112,"rel":3764},[25],[21,3766,3119],{"href":3117,"rel":3767},[25],[52,3769,3770,3771,3774,3775,3778,3779,3782,3783,90,3786,96],{},"The Content Feed Reader Blueprint applies that rule. It drops the\n",[81,3772,3773],{},"feed-provider"," Actor and the ",[81,3776,3777],{},"syndicated-feed-integration"," Interface;\n",[81,3780,3781],{},"feed-synchronization"," now lives on the Reader-facing Interfaces where its\nresult is seen, carries the RSS specification as a context Reference, and is\ntriggered by a Reader-initiated refresh on the Source list Screen — a trigger\nthe model previously never stated. Its catch-up failure variation no longer\ncontradicts itself about whether the backlog was unchanged or caught up. (",[21,3784,3114],{"href":3112,"rel":3785},[25],[21,3787,3119],{"href":3117,"rel":3788},[25],[52,3790,3791,139,3793,3796,3797,3800,3801,3804,3805,3807,3808,3810,3811,90,3814,96],{},[55,3792,1503],{},[81,3794,3795],{},"businesslens\u002Fnuxt\u002Freport-viewer"," accepts the canonical\n",[81,3798,3799],{},"ProductReportV10"," directly and owns the complete Product Report projection\nand topology engine. The lossy ",[81,3802,3803],{},"businesslens\u002Freport\u002Fview-model"," export and\nthe former whole-report audition layer are removed. The private,\nunpublished ",[81,3806,3356],{}," remains as an empty boundary for future\nexperiments, while ",[81,3809,3360],{}," continues to own background auditions. (",[21,3812,3114],{"href":3112,"rel":3813},[25],[21,3815,3119],{"href":3117,"rel":3816},[25],[52,3818,3819,3821,3822,3824,3825,3828,3829,90,3832,96],{},[55,3820,1503],{}," Logo, lockup, and favicon selection are no longer theme-lab\nexperiments. The approved mark, wordmark, brand renderer, favicon, and\ninstall-icon family now live at canonical paths in ",[81,3823,3585],{},";\n",[81,3826,3827],{},"businesslens\u002Ftheme-lab\u002Fvariants"," exposes background choices only. (",[21,3830,3114],{"href":3112,"rel":3831},[25],[21,3833,3119],{"href":3117,"rel":3834},[25],[52,3836,3837,3838,90,3841,96],{},"The Product Report keeps entity identity collision-safe across collections,\npreserves focus across live recompiles, separates Capability and Journey\nScenario readings, shows Screen-to-Journey derivation provenance, renders\nordered Journey path lanes, and uses fixed named views instead of a generic\ncross-kind grouping builder. Mobile navigation is a dedicated drawer. (",[21,3839,3114],{"href":3112,"rel":3840},[25],[21,3842,3119],{"href":3117,"rel":3843},[25],[52,3845,3846,3847,3850,3851,90,3854,96],{},"Product Report v10 stores authored supporting H2 sections as ordered\n",[81,3848,3849],{},"{ heading, content }"," records instead of an opaque Markdown string. Lint\nrejects Journey and Scenario lead prose, duplicate or conflicting structured\nsections, malformed structured lists, and duplicate values in set-valued\nrelations rather than allowing authored content to disappear or inflate\nderived relationships. (",[21,3852,3114],{"href":3112,"rel":3853},[25],[21,3855,3119],{"href":3117,"rel":3856},[25],[52,3858,3859,3860,90,3863,96],{},"The Content Feed Reader catalog Blueprint now models two actor-facing access\nboundaries: Reader work and Visitor consumption. Feed collection is an\noutbound Capability dependency rather than a synthetic Actor or Interface.\nThe model has two Actors, two Interfaces, three Experiences, three Domains,\neight Screens, ten Capabilities, twenty-four Capability Scenarios, four\nJourneys, eight Journey Scenarios, and four Business Rules. Domains group\nCapabilities on one axis — Sources, Reading, Collections — so no Capability\nneeds its Domain's definition widened to admit it. (",[21,3861,3114],{"href":3112,"rel":3862},[25],[21,3864,3119],{"href":3117,"rel":3865},[25],[52,3867,3868,3869,3872,3873,3876,3877,3880,3881,90,3884,96],{},"Both teaching models now demonstrate a Journey that is attempted and not\nreached. The Blueprint carries two ",[81,3870,3871],{},"not-achieved"," Journey Scenarios and the\ngolden fixture one, so ",[81,3874,3875],{},"result"," is an axis with real values rather than a\nconstant, and ",[81,3878,3879],{},"failureOnlyCapabilityIds"," is exercised against authored\ncontent instead of always deriving empty. (",[21,3882,3114],{"href":3112,"rel":3883},[25],[21,3885,3119],{"href":3117,"rel":3886},[25],[52,3888,3889,3890,90,3893,96],{},"The Product Report treats Capability Scenarios and Journey Scenarios as\nseparate entity kinds rather than one kind carrying a type flag. They remain\ncontained by their Capability or Journey while preserving their own search\nresults, pages, terminal results, and derived backlinks. (",[21,3891,3114],{"href":3112,"rel":3892},[25],[21,3894,3119],{"href":3117,"rel":3895},[25],[44,3897,71],{"id":3898},"fixed-6",[49,3900,3901,3925,3948,3961,3980,3989,4002,4011,4027,4039,4048],{},[52,3902,3903,3904,3907,3908,3910,3911,3914,3915,90,3920,96],{},"The release artifact smoke test follows the promoted stable boundaries: it\nrequires the approved icon under ",[81,3905,3906],{},"theme",", not an old ",[81,3909,3360],{}," audition\npath, and rejects the retired lossy Report View Model export instead of\nrequiring it. The stale assertions stopped the first ",[81,3912,3913],{},"v0.8.0"," publish\nattempts before npm. (",[21,3916,3919],{"href":3917,"rel":3918},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F32",[25],"#32",[21,3921,3924],{"href":3922,"rel":3923},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fdbca71a955d22f5d3e42e642bc894a747f8f1722",[25],"dbca71a",[52,3926,3927,3930,3931,3934,3935,3938,3939,3941,3942,90,3945,96],{},[81,3928,3929],{},"package.json"," no longer lists ",[81,3932,3933],{},"plans\u002Fshared-theme-lab.md"," among its packaged\nfiles. The file was deleted while the entry stayed, and npm drops a missing\n",[81,3936,3937],{},"files"," entry silently, so the packed tarball simply carried no ",[81,3940,2895],{}," at\nall and nothing reported it. (",[21,3943,3114],{"href":3112,"rel":3944},[25],[21,3946,3119],{"href":3117,"rel":3947},[25],[52,3949,3950,3951,3954,3955,90,3958,96],{},"The docs group allowlist no longer permits ",[81,3952,3953],{},"Learn from examples",", which no\npage has used since the feed-reader walkthrough was removed. An allowed group\nwith nothing behind it is a sidebar section the navigation cannot build. (",[21,3956,3114],{"href":3112,"rel":3957},[25],[21,3959,3119],{"href":3117,"rel":3960},[25],[52,3962,3963,3964,3966,3967,184,3970,3973,3974,90,3977,96],{},"Two routes of one Scenario that repeat the same Context place sequence are\nnow a finding in both ",[81,3965,462],{}," and report validation. A route id names one\ntraversal, so a second id over the same sequence claims a lane the Product\ndoes not have. The Content Feed Reader Blueprint carried two:\n",[81,3968,3969],{},"publish-on-mobile",[81,3971,3972],{},"unlist-from-mobile",", which never left the web\nInterface, and could not have — neither Capability declares a mobile context. (",[21,3975,3114],{"href":3112,"rel":3976},[25],[21,3978,3119],{"href":3117,"rel":3979},[25],[52,3981,3982,3983,90,3986,96],{},"Entity pages no longer inherit the scroll offset of the collection or entity\nthat opened them, so each reading begins at its own title, identity, and lead. (",[21,3984,3114],{"href":3112,"rel":3985},[25],[21,3987,3119],{"href":3117,"rel":3988},[25],[52,3990,3991,3992,3995,3996,90,3999,96],{},"The local viewer resolves the Blueprint logo at ",[81,3993,3994],{},"product\u002Flogo.svg",", where\nschema 5 puts it once the Product expands. (",[21,3997,3114],{"href":3112,"rel":3998},[25],[21,4000,3119],{"href":3117,"rel":4001},[25],[52,4003,4004,4005,90,4008,96],{},"An unexpected entry in a collection is now an explicit finding. A file nested\none level too deep, or saved with the wrong extension, previously vanished\nfrom the model with no finding at all. (",[21,4006,3114],{"href":3112,"rel":4007},[25],[21,4009,3119],{"href":3117,"rel":4010},[25],[52,4012,4013,4014,4017,4018,196,4021,90,4024,96],{},"The local viewer's Content-Security-Policy sets ",[81,4015,4016],{},"manifest-src",", which was\nblocking ",[81,4019,4020],{},"site.webmanifest",[21,4022,3114],{"href":3112,"rel":4023},[25],[21,4025,3119],{"href":3117,"rel":4026},[25],[52,4028,4029,4030,4032,4033,90,4036,96],{},"The Product Report light and dark page surfaces are part of the shared theme\nagain. The warm base, top glow, and paper grain moved from the optional\ntheme-lab audition layer into ",[81,4031,3585],{},", where the promoted\nProduct Report and the bundled local viewer inherit them without depending on a\nlab layer. (",[21,4034,3114],{"href":3112,"rel":4035},[25],[21,4037,3119],{"href":3117,"rel":4038},[25],[52,4040,4041,4042,90,4045,96],{},"Journey composition no longer implies a Screen is reached from a Step that\ncannot expose it. A Screen is authored against the whole Journey Scenario, so\nit now attaches to the last Capability-bearing Step whose Capability declares that\nScreen and shares an availability context with it — a non-visual integration\nStep no longer appears to land on a Reader Screen. (",[21,4043,3114],{"href":3112,"rel":4044},[25],[21,4046,3119],{"href":3117,"rel":4047},[25],[52,4049,4050,4051,90,4054,96],{},"Journey composition lays ordered Capability-bearing Steps downward with variations side by side. A\nleft-to-right chain was wider than the canvas for a short Journey, so it\nscaled the whole graph down and left the height unused. (",[21,4052,3114],{"href":3112,"rel":4053},[25],[21,4055,3119],{"href":3117,"rel":4056},[25],[44,4058,100],{"id":4059},"contributors-32",[49,4061,4062],{},[52,4063,4064],{},[21,4065,109],{"href":107,"rel":4066},[25],[14,4068,4069,115,4071],{},[55,4070,114],{},[21,4072,4074],{"href":3083,"rel":4073},[25],"v0.7.2...v0.8.0",[35,4076,4078,4083],{"id":4077},"_072-2026-08-05",[21,4079,4082],{"href":4080,"rel":4081},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.7.1...v0.7.2",[25],"0.7.2"," - 2026-08-05",[44,4085,131],{"id":4086},"added-8",[49,4088,4089],{},[52,4090,4091,4092,4095,4096,90,4101,96],{},"Add ",[81,4093,4094],{},"--help"," and strict option parsing to the Blueprint catalog publisher so\nits maintainer-only production flow is discoverable before a credential is\nconfigured. (",[21,4097,4100],{"href":4098,"rel":4099},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F12",[25],"#12",[21,4102,4105],{"href":4103,"rel":4104},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F2d03595addf1ea2992aae9909639818a3b53abd3",[25],"2d03595",[44,4107,71],{"id":4108},"fixed-7",[49,4110,4111,4128],{},[52,4112,4113,4114,4117,4118,90,4123,96],{},"Open the ",[81,4115,4116],{},"BL"," ligature apart in the generated tab icons, so a browser tab shows\ntwo letters instead of one blob at 16px. Only the favicon family is respaced —\nthe logo artwork and the larger app icons keep the ligature as drawn. (",[21,4119,4122],{"href":4120,"rel":4121},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F11",[25],"#11",[21,4124,4127],{"href":4125,"rel":4126},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fb863f6dd5b041d88180fb540c96f7b2233f8633e",[25],"b863f6d",[52,4129,4130,4131,4134,4135,90,4138,96],{},"Restrict the Blueprint publisher credential to the exact production catalog\norigin or a loopback development origin, preventing a mistaken ",[81,4132,4133],{},"--catalog","\nvalue from sending it to an arbitrary HTTPS host. (",[21,4136,4100],{"href":4098,"rel":4137},[25],[21,4139,4105],{"href":4103,"rel":4140},[25],[44,4142,100],{"id":4143},"contributors-33",[49,4145,4146],{},[52,4147,4148],{},[21,4149,109],{"href":107,"rel":4150},[25],[14,4152,4153,115,4155],{},[55,4154,114],{},[21,4156,4158],{"href":4080,"rel":4157},[25],"v0.7.1...v0.7.2",[35,4160,4162,4167],{"id":4161},"_071-2026-08-04",[21,4163,4166],{"href":4164,"rel":4165},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.7.0...v0.7.1",[25],"0.7.1"," - 2026-08-04",[44,4169,71],{"id":4170},"fixed-8",[49,4172,4173],{},[52,4174,4175,4176,4178,4179,4182,4183,4185,4186,96],{},"Compile the public ",[81,4177,3827],{}," subpath into ",[81,4180,4181],{},"dist"," so\nplain Node consumers such as Playwright can import it from ",[81,4184,3023],{},"\nwithout relying on unsupported TypeScript stripping. (",[21,4187,4190],{"href":4188,"rel":4189},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F5cf8b56c69028b474fe20b609072e73ab224f344",[25],"5cf8b56",[44,4192,100],{"id":4193},"contributors-34",[49,4195,4196],{},[52,4197,4198],{},[21,4199,109],{"href":107,"rel":4200},[25],[14,4202,4203,115,4205],{},[55,4204,114],{},[21,4206,4208],{"href":4164,"rel":4207},[25],"v0.7.0...v0.7.1",[35,4210,4212,4167],{"id":4211},"_070-2026-08-04",[21,4213,4216],{"href":4214,"rel":4215},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002F1e35f0f...v0.7.0",[25],"0.7.0",[44,4218,131],{"id":4219},"added-9",[49,4221,4222,4235,4245,4251,4260,4266,4278,4284,4298,4306,4314,4323],{},[52,4223,4224,4226,4227,196,4230,96],{},[81,4225,356],{}," renders the current Product Model privately on localhost,\nrecompiles automatically after debounced source edits, streams revisions to\nopen browsers, retains the last valid report during lint errors, writes no\ngenerated report, and opens no network listener beyond ",[81,4228,4229],{},"127.0.0.1",[21,4231,4234],{"href":4232,"rel":4233},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F2339dd369eaf459d2dce5f647c6a606e81517426",[25],"2339dd3",[52,4236,4237,4238,4241,4242,96],{},"Root ",[81,4239,4240],{},"businesslens"," exports for the pure Product Report view-model projection,\nthe shared Nuxt report renderer, and a sibling BusinessLens-wide theme Layer,\nso hosts share UI without a second public npm package. (",[21,4243,4234],{"href":4232,"rel":4244},[25],[52,4246,4247,4248,96],{},"An opt-in shared Nuxt theme-lab Layer for auditioning the same backgrounds,\nmarks, lockups, and favicon families across the landing site and local report\nviewer without promoting undecided presentation into the stable theme. (",[21,4249,4234],{"href":4232,"rel":4250},[25],[52,4252,3122,4253,4256,4257,96],{},[81,4254,4255],{},".businesslens\u002Flogo.svg"," Product logo used by the local viewer and\nBlueprint presentation. (",[21,4258,4234],{"href":4232,"rel":4259},[25],[52,4261,4262,4263,96],{},"First-class Interface entities for supported Product interaction contracts,\nwith exact Interface–Experience availability across Capabilities, Journeys,\nScreens, Scenarios, and Business Rules. (",[21,4264,4234],{"href":4232,"rel":4265},[25],[52,4267,4268,4269,184,4272,196,4275,96],{},"Required Actor classification as ",[81,4270,4271],{},"person|system",[81,4273,4274],{},"external|internal",[21,4276,4234],{"href":4232,"rel":4277},[25],[52,4279,4280,4281,96],{},"Platform-neutral Screen entities for meaningful web and mobile product views,\nincluding product-visible information, actions, states, capability boundaries,\nrelationships, and optional public routes or deep links. (",[21,4282,4234],{"href":4232,"rel":4283},[25],[52,4285,4286,4287,4290,4291,4294,4295,96],{},"Universal References on every semantic entity, with independent artifact\nkinds (",[81,4288,4289],{},"code|spec|proposal|doc|adr|visual|research",") and attachment roles\n(",[81,4292,4293],{},"intent|implementation|context","). Referenced content stays outside the\nProduct Model and never replaces its prose or proves alignment. (",[21,4296,4234],{"href":4232,"rel":4297},[25],[52,4299,4300,4302,4303,96],{},[81,4301,2832],{}," for initial adoption, scoped remapping, and deliberate\nProduct Model coverage expansion without executing target code. (",[21,4304,4234],{"href":4232,"rel":4305},[25],[52,4307,4308,4310,4311,96],{},[81,4309,2839],{}," as the single post-build invocation. It classifies\nmodel\u002Fcode gaps, negotiates only authority decisions, automatically runs\ninternal intent-resolution or scoped-mapping phases, hands code corrections\nto a harness-injected builder, and re-verifies until aligned or blocked. (",[21,4312,4234],{"href":4232,"rel":4313},[25],[52,4315,4316,4319,4320,96],{},[81,4317,4318],{},"report only"," verification mode, an explicit missing-builder handoff, and an\nunchanged-gap stopping rule. Verification findings are re-derived rather than\npersisted in a receipt or ledger. (",[21,4321,4234],{"href":4232,"rel":4322},[25],[52,4324,4325,4326,96],{},"Accepted decisions covering repository-owned files, unified References,\nnon-persisted verification, and the three-skill boundary. (",[21,4327,4234],{"href":4232,"rel":4328},[25],[44,4330,47],{"id":4331},"changed-15",[49,4333,4334,4348,4361,4379,4393,4407,4415,4430,4442,4448,4454,4469,4496,4514,4535,4550,4558,4574,4589,4610],{},[52,4335,4336,4337,4340,4341,4344,4345,96],{},"The CLI now uses a real hierarchical command parser with concise root help,\ncommand-specific options, nested Blueprint help, standard ",[81,4338,4339],{},"-h","\u002F",[81,4342,4343],{},"-V"," flags,\nstrict option ownership, and usage validation before command execution. (",[21,4346,4234],{"href":4232,"rel":4347},[25],[52,4349,4350,4353,4354,4357,4358,96],{},[81,4351,4352],{},"-c, --cwd"," now always means \"run from this directory\". A model directly in the\ncurrent directory wins over the Git-root model whether or not ",[81,4355,4356],{},"--cwd ."," was\ntyped explicitly. (",[21,4359,4234],{"href":4232,"rel":4360},[25],[52,4362,4363,4365,4366,4369,4370,4372,4373,4375,4376,96],{},[55,4364,1503],{}," A catalog Blueprint has no separate ",[81,4367,4368],{},"blueprint.yaml",". Product\nID, title, summary, description, category, tags, authors, license, and report\ncontent come from ",[81,4371,3613],{},"; visual identity comes only from\n",[81,4374,4255],{},", and catalog operational state remains outside the\nProduct Model. (",[21,4377,4234],{"href":4232,"rel":4378},[25],[52,4380,4381,4383,4384,4386,4387,196,4390,96],{},[55,4382,1503],{}," Product Report v7 is the only accepted report contract. It\ncarries portable Product identity and attribution, uses ",[81,4385,3546],{}," for the\nshort Product description, and renames computed entity totals to ",[81,4388,4389],{},"counts",[21,4391,4234],{"href":4232,"rel":4392},[25],[52,4394,4395,139,4397,4399,4400,4403,4404,96],{},[55,4396,1503],{},[81,4398,216],{}," no longer accepts ",[81,4401,4402],{},"--slug","; the Product\nID is the canonical contribution directory, branch suffix, catalog slug, and\npull name. (",[21,4405,4234],{"href":4232,"rel":4406},[25],[52,4408,4409,4411,4412,96],{},[55,4410,1503],{}," Folder schema 3 and Product Report v7 are now the only accepted\nformats. Schema 1\u002F2, Product Report v4\u002Fv5\u002Fv6, and their compatibility paths are\nremoved rather than migrated. (",[21,4413,4234],{"href":4232,"rel":4414},[25],[52,4416,4417,4419,4420,4423,4424,196,4427,96],{},[55,4418,1503],{}," Feature is renamed Capability throughout the folder format,\nparser, SDK, CLI, skills, docs, fixtures, and Blueprint. ",[81,4421,4422],{},"features\u002F"," is\nrejected; Capabilities live in ",[81,4425,4426],{},"capabilities\u002F",[21,4428,4234],{"href":4232,"rel":4429},[25],[52,4431,4432,4434,4435,4438,4439,96],{},[55,4433,1503],{}," Experiences now declare their Interfaces and no longer carry\n",[81,4436,4437],{},"exit",". Journeys use Capabilities and exact availability, may cross Domains,\nand no longer declare one Domain. Business Rules exclusively own Rule scope. (",[21,4440,4234],{"href":4232,"rel":4441},[25],[52,4443,4444,4445,96],{},"Domains are optional Capability groupings. Screens remain optional and now\nuse exact availability without embedding visual evidence. (",[21,4446,4234],{"href":4232,"rel":4447},[25],[52,4449,4450,4451,96],{},"The bundled Content & Feed Reader Blueprint now demonstrates the complete\nmodel, including cross-platform Screens, product states, mobile deep links,\nand external visual and research references. (",[21,4452,4234],{"href":4232,"rel":4453},[25],[52,4455,4456,4458,4459,3408,4461,3553,4463,4465,4466,96],{},[55,4457,1503],{}," The public skill set is exactly ",[81,4460,2832],{},[81,4462,2835],{},[81,4464,2839],{},". Ideate also handles a narrow\nalready-decided verification handoff without reopening broad brainstorming. (",[21,4467,4234],{"href":4232,"rel":4468},[25],[52,4470,4471,139,4473,4476,4477,4480,4481,180,4484,180,4487,3553,4490,4492,4493,96],{},[55,4472,1503],{},[81,4474,4475],{},"businesslens validate"," is now ",[81,4478,4479],{},"businesslens lint",". The old\nspelling is refused with exit code 2 and a replacement message; it is not an\nalias. Lint output contains only ",[81,4482,4483],{},"ok",[81,4485,4486],{},"errors",[81,4488,4489],{},"warnings",[81,4491,4389],{},"—no\nbranch situation or authority inference. (",[21,4494,4234],{"href":4232,"rel":4495},[25],[52,4497,4498,139,4500,4503,4504,184,4507,4510,4511,96],{},[55,4499,1503],{},[81,4501,4502],{},"references"," replaces both ",[81,4505,4506],{},"codeRefs",[81,4508,4509],{},"links",". Reference\nrecords are strict, duplicate targets fail lint, code targets require tracked\nfiles, and missing local non-code targets warn. (",[21,4512,4234],{"href":4232,"rel":4513},[25],[52,4515,4516,4519,4520,4523,4524,4527,4528,4531,4532,96],{},[81,4517,4518],{},"coverage.status"," now describes model breadth only: ",[81,4521,4522],{},"draft"," while the model\nitself is under review, ",[81,4525,4526],{},"partial"," with known unmapped areas, and ",[81,4529,4530],{},"complete","\nwhen intended product scope is modeled. A complete model may have zero\nReferences. (",[21,4533,4234],{"href":4232,"rel":4534},[25],[52,4536,4537,4539,4540,3146,4543,4546,4547,96],{},[55,4538,1503],{}," Product Report v7 declares a ",[81,4541,4542],{},"workspace",[81,4544,4545],{},"portable"," Reference\nprofile. Portable projection replaces evidence-redaction terminology and\nkeeps only HTTP(S) intent\u002Fcontext References. (",[21,4548,4234],{"href":4232,"rel":4549},[25],[52,4551,4552,4554,4555,96],{},[55,4553,1503],{}," Coverage no longer contains counts, mapped entities, or a\nredaction flag. Entity totals live only in Counts; Coverage is independent\nfrom References. Blueprint open and pull preserve model breadth while\nremoving repository-local Coverage source areas. (",[21,4556,4234],{"href":4232,"rel":4557},[25],[52,4559,4560,4561,4564,4565,180,4567,4570,4571,96],{},"Every model creation path carries canonical orientation in\n",[81,4562,4563],{},".businesslens\u002FREADME.md",". BusinessLens still never writes target-root\n",[81,4566,2899],{},[81,4568,4569],{},"CLAUDE.md",", or README files. (",[21,4572,4234],{"href":4232,"rel":4573},[25],[52,4575,4576,4577,180,4580,4582,4583,4585,4586,96],{},"Canonical report expansion now owns that orientation file for ",[81,4578,4579],{},"open",[81,4581,310],{},",\nand ",[81,4584,313],{},"; Blueprint contributions accept every valid model-breadth\nCoverage status and publish no source-repository provenance. (",[21,4587,4234],{"href":4232,"rel":4588},[25],[52,4590,4591,4592,4595,4596,4599,4600,184,4603,4606,4607,96],{},"Lint now requires the complete committed model shell (",[81,4593,4594],{},"README.md"," plus a\n",[81,4597,4598],{},".gitignore"," covering ",[81,4601,4602],{},"build\u002F",[81,4604,4605],{},"cache\u002F","), and CLI argument, provider,\nscope, slug, and catalog-origin errors consistently exit with usage code 2. (",[21,4608,4234],{"href":4232,"rel":4609},[25],[52,4611,4612,4613,4616,4617,96],{},"Documentation now teaches three starting doors and one ongoing loop:\n",[81,4614,4615],{},"ideate → injected build → verify (including final lint) → merge",". Map is explicitly not a\ndaily maintenance command, and lint is explicitly not semantic verification. (",[21,4618,4234],{"href":4232,"rel":4619},[25],[44,4621,71],{"id":4622},"fixed-9",[49,4624,4625,4631,4643],{},[52,4626,4627,4628,96],{},"Product logos are parsed as namespace-aware XML and restricted to a static SVG\nallowlist, closing namespace-prefix and escaped-reference paths around the\nactive-content checks. Logo responses from the local viewer also carry a\nscript-free sandbox CSP. (",[21,4629,4234],{"href":4232,"rel":4630},[25],[52,4632,4633,4635,4636,4639,4640,96],{},[81,4634,146],{}," retrieves the optional logo from the selected catalog's\nsame-origin endpoint, so custom catalogs and commit-pinned reports cannot be\npaired with the current logo from the official PDD ",[81,4637,4638],{},"main"," branch. (",[21,4641,4234],{"href":4232,"rel":4642},[25],[52,4644,4645,4646,96],{},"Releases tag an already prepared package and changelog exactly once; the tag\npush is now the single automatic publication trigger. (",[21,4647,4234],{"href":4232,"rel":4648},[25],[44,4650,284],{"id":4651},"removed-5",[49,4653,4654,4672,4686],{},[52,4655,4656,180,4659,180,4662,2574,4665,4668,4669,96],{},[81,4657,4658],{},"businesslens-init",[81,4660,4661],{},"businesslens-sync",[81,4663,4664],{},"businesslens-doctor",[81,4666,4667],{},"businesslens-deep-dive",". Their useful scopes now belong to map or verify. (",[21,4670,4234],{"href":4232,"rel":4671},[25],[52,4673,4674,4675,4678,4679,4682,4683,96],{},"The ",[81,4676,4677],{},"businesslens-contribute"," skill. Catalog contribution remains the\ndeterministic ",[81,4680,4681],{},"businesslens blueprint contribute"," CLI command. (",[21,4684,4234],{"href":4232,"rel":4685},[25],[52,4687,4688,4689,4692,4693,96],{},"Git branch-state routing from lint and the internal ",[81,4690,4691],{},"branch-state"," module. (",[21,4694,4234],{"href":4232,"rel":4695},[25],[44,4697,100],{"id":4698},"contributors-35",[49,4700,4701],{},[52,4702,4703],{},[21,4704,109],{"href":107,"rel":4705},[25],[14,4707,4708,115,4710],{},[55,4709,114],{},[21,4711,4713],{"href":4214,"rel":4712},[25],"1e35f0f...v0.7.0",[35,4715,4717,4722],{"id":4716},"_060-2026-07-31",[21,4718,4721],{"href":4719,"rel":4720},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.5.0...1e35f0f",[25],"0.6.0"," - 2026-07-31",[14,4724,4725,4726,4729],{},"BusinessLens consolidates onto one site. The Platform is retired; the Blueprint\ncatalog moves to ",[81,4727,4728],{},"pdd-kit.dev"," and becomes anonymous to browse and to pull.",[14,4731,4732,4733,4736,4737,4739],{},"The previous published npm version is ",[81,4734,4735],{},"0.5.0",". An intermediate draft of this\nrelease included authenticated Platform workflows, but it was never published;\nthe final ",[81,4738,4721],{}," replaces those workflows with the anonymous catalog and the\npull-request contribution flow described below.",[44,4741,131],{"id":4742},"added-10",[49,4744,4745,4770,4793,4808,4824,4860,4874,4886,4897,4906,4921,4940,4952,4964,4973],{},[52,4746,4747,4750,4751,4753,4754,184,4757,4759,4760,90,4765,96],{},[81,4748,4749],{},"businesslens open \u003Creport>"," expands a local Product Report back into a\ncanonical ",[81,4752,175],{}," Product Model, making ",[81,4755,4756],{},"export",[81,4758,4579],{},"\nsemantic inverses. (",[21,4761,4764],{"href":4762,"rel":4763},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F5",[25],"#5",[21,4766,4769],{"href":4767,"rel":4768},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F1b01308ccd92276683068761b7795c5029176b70",[25],"1b01308",[52,4771,4772,4775,4776,4779,4780,4782,4783,4786,4787,90,4790,96],{},[81,4773,4774],{},"businesslens pull \u003Cblueprint-name>"," anonymously retrieves a Blueprint and\nexpands it without a user-facing ",[81,4777,4778],{},"report.json"," download. It writes a\ngreenfield block into ",[81,4781,2899],{}," and sends\n",[81,4784,4785],{},"user-agent: businesslens\u002F\u003Cversion>"," to the catalog. (",[21,4788,4764],{"href":4762,"rel":4789},[25],[21,4791,4769],{"href":4767,"rel":4792},[25],[52,4794,4795,184,4798,4801,4802,90,4805,96],{},[55,4796,4797],{},"Features",[55,4799,4800],{},"business rules"," are first-class product-model entities\nwith their own directories, IDs, relationships, and validation rules. (",[21,4803,4764],{"href":4762,"rel":4804},[25],[21,4806,4769],{"href":4767,"rel":4807},[25],[52,4809,3138,4810,4813,4814,4817,4818,90,4821,96],{},[81,4811,4812],{},"businesslens\u002Freport"," library entry point exporting the Product Report\nschema, its cross-entity validator, and the canonical digest. It depends only\non ",[81,4815,4816],{},"zod"," and never loads the CLI. (",[21,4819,4764],{"href":4762,"rel":4820},[25],[21,4822,4769],{"href":4767,"rel":4823},[25],[52,4825,4826,4829,4830,4832,4833,4835,4836,4839,4840,2574,4842,4845,4846,4849,4850,4853,4854,90,4857,96],{},[81,4827,4828],{},"redactSourceEvidence"," in the ",[81,4831,4812],{}," contract strips every\nrepository reference from a report before it leaves its owning workspace —\n",[81,4834,4506],{},", repository ",[81,4837,4838],{},"entryPoints",", repository-relative ",[81,4841,4509],{},[81,4843,4844],{},"coverage.sourceAreas",". Product-facing routes and HTTP(S) URLs are kept.\n",[81,4847,4848],{},"coverage.mapped"," remains a model-quality signal, and\n",[81,4851,4852],{},"coverage.evidenceRedacted"," records both that those counts describe the\norigin repository and that validation must reject any repository path still\npresent. (",[21,4855,4764],{"href":4762,"rel":4856},[25],[21,4858,4769],{"href":4767,"rel":4859},[25],[52,4861,4862,184,4865,4867,4868,90,4871,96],{},[81,4863,4864],{},"businesslens-plan",[81,4866,2839],{}," skills for planning in the\nProduct Model and verifying implementation evidence before merge. (",[21,4869,4764],{"href":4762,"rel":4870},[25],[21,4872,4769],{"href":4767,"rel":4873},[25],[52,4875,4876,4879,4880,90,4883,96],{},[81,4877,4878],{},"businesslens-implement"," builds the software a Product Model describes, with\nits scenarios as the acceptance contract. (",[21,4881,4764],{"href":4762,"rel":4882},[25],[21,4884,4769],{"href":4767,"rel":4885},[25],[52,4887,4888,4890,4891,90,4894,96],{},[81,4889,2835],{}," proposes candidate product directions as a shortlist.\nIt is the only skill that never writes to the model. (",[21,4892,4764],{"href":4762,"rel":4893},[25],[21,4895,4769],{"href":4767,"rel":4896},[25],[52,4898,4899,4900,90,4903,96],{},"Draft greenfield product models, with missing-evidence warnings during\nplanning and support for exporting planned Product Model Versions before\nimplementation is complete. (",[21,4901,4764],{"href":4762,"rel":4902},[25],[21,4904,4769],{"href":4767,"rel":4905},[25],[52,4907,4908,4911,4912,4914,4915,90,4918,96],{},[81,4909,4910],{},"blueprints\u002F"," — the Blueprint source layout, with a ",[81,4913,4368],{}," manifest\nand MIT-licensed content. (",[21,4916,4764],{"href":4762,"rel":4917},[25],[21,4919,4769],{"href":4767,"rel":4920},[25],[52,4922,4923,4926,4927,4930,4931,4933,4934,90,4937,96],{},[81,4924,4925],{},"blueprints:check",", wired into ",[81,4928,4929],{},"verify",", parses every manifest, builds every\nBlueprint, and rejects any that carries source evidence. It does not trust\n",[81,4932,313],{},", because anyone can open a pull request by hand. (",[21,4935,4764],{"href":4762,"rel":4936},[25],[21,4938,4769],{"href":4767,"rel":4939},[25],[52,4941,4942,4945,4946,90,4949,96],{},[81,4943,4944],{},"blueprints:publish"," pushes built Blueprints to the catalog. (",[21,4947,4764],{"href":4762,"rel":4948},[25],[21,4950,4769],{"href":4767,"rel":4951},[25],[52,4953,4954,4957,4958,90,4961,96],{},[81,4955,4956],{},"resolveModelRoot"," allows the model to live outside the Git root or without a\nrepository, adding general monorepo support. (",[21,4959,4764],{"href":4762,"rel":4960},[25],[21,4962,4769],{"href":4767,"rel":4963},[25],[52,4965,4966,4967,90,4970,96],{},"A structured open-source documentation section with tutorials, individual\nskill pages, and deterministic navigation frontmatter. (",[21,4968,4764],{"href":4762,"rel":4969},[25],[21,4971,4769],{"href":4767,"rel":4972},[25],[52,4974,4975,4978,4979,90,4982,96],{},[81,4976,4977],{},"docs\u002Fterminology.md"," defines every product-model entity and separates the\nterms that are easy to confuse. (",[21,4980,4764],{"href":4762,"rel":4981},[25],[21,4983,4769],{"href":4767,"rel":4984},[25],[44,4986,47],{"id":4987},"changed-16",[49,4989,4990,5018,5038,5061,5078,5087,5107,5120],{},[52,4991,4992,139,4994,4476,4997,5000,5001,5004,5005,5008,5009,5011,5012,90,5015,96],{},[55,4993,1503],{},[81,4995,4996],{},"businesslens publish",[81,4998,4999],{},"businesslens contribute",", and\nopens a pull request against ",[81,5002,5003],{},"businesslens\u002Fpdd"," through the ",[81,5006,5007],{},"gh"," CLI rather\nthan submitting to a Platform. No API key is involved. The model in the pull\nrequest is regenerated from a redacted report, so it carries no source paths\nand is byte-identical to what ",[81,5010,310],{}," produces. (",[21,5013,4764],{"href":4762,"rel":5014},[25],[21,5016,4769],{"href":4767,"rel":5017},[25],[52,5019,5020,139,5022,4476,5025,300,5028,5031,5032,90,5035,96],{},[55,5021,1503],{},[81,5023,5024],{},"businesslens build",[81,5026,5027],{},"businesslens export",[81,5029,5030],{},"build"," still\nworks and warns; it will be removed after 0.6.x. (",[21,5033,4764],{"href":4762,"rel":5034},[25],[21,5036,4769],{"href":4767,"rel":5037},[25],[52,5039,5040,5042,5043,5046,5047,5050,5051,5054,5055,90,5058,96],{},[81,5041,4756],{}," emits a source-free ",[55,5044,5045],{},"Product Report v4"," at\n",[81,5048,5049],{},".businesslens\u002Fbuild\u002Freport.json",", replacing the portable v3 ",[81,5052,5053],{},"project.json",".\nThe report carries no repository URL, commit, branch, or workspace metadata. (",[21,5056,4764],{"href":4762,"rel":5057},[25],[21,5059,4769],{"href":4767,"rel":5060},[25],[52,5062,5063,139,5065,5067,5068,5071,5072,90,5075,96],{},[55,5064,1503],{},[81,5066,175],{}," is now called the ",[55,5069,5070],{},"Product Model"," throughout\nthe CLI, docs, and skills. \"Product map\" is reserved for a visual or\nnavigable view of that model. Draft coverage is an evidence state and no\nlonger implies a reusable Blueprint. (",[21,5073,4764],{"href":4762,"rel":5074},[25],[21,5076,4769],{"href":4767,"rel":5077},[25],[52,5079,5080,5081,90,5084,96],{},"Product Report validation rejects content that cannot round-trip into\ncanonical Markdown and inconsistent mapped-coverage counts. Product Model\nvalidation continues to reject non-draft behavioral claims without evidence. (",[21,5082,4764],{"href":4762,"rel":5083},[25],[21,5085,4769],{"href":4767,"rel":5086},[25],[52,5088,5089,5091,5092,5095,5096,180,5098,5100,5101,90,5104,96],{},[81,5090,4133],{}," defaults to ",[81,5093,5094],{},"https:\u002F\u002Fpdd-kit.dev"," and accepts any origin.\nPrecedence is ",[81,5097,4133],{},[81,5099,296],{},", then the default. (",[21,5102,4764],{"href":4762,"rel":5103},[25],[21,5105,4769],{"href":4767,"rel":5106},[25],[52,5108,5109,4476,5112,196,5114,90,5117,96],{},[81,5110,5111],{},"businesslens-publish",[81,5113,4677],{},[21,5115,4764],{"href":4762,"rel":5116},[25],[21,5118,4769],{"href":4767,"rel":5119},[25],[52,5121,5122,5123,90,5126,96],{},"Skill runners pin the CLI to the version the skills were installed from rather\nthan resolving the latest published version, which could validate a model\nagainst an older published format. (",[21,5124,4764],{"href":4762,"rel":5125},[25],[21,5127,4769],{"href":4767,"rel":5128},[25],[44,5130,71],{"id":5131},"fixed-10",[49,5133,5134,5146],{},[52,5135,5136,5137,5139,5140,90,5143,96],{},"Report expansion is idempotent. ",[81,5138,4579],{}," appended its coverage limitation\nunconditionally, so every open\u002Fpull cycle gained another copy and broke the\nguarantee that a pulled Blueprint matches what the catalog holds. (",[21,5141,4764],{"href":4762,"rel":5142},[25],[21,5144,4769],{"href":4767,"rel":5145},[25],[52,5147,5148,5149,5154,5155,90,5160,96],{},"Docs dispatch sends an immutable commit-pinned revision to the landing\npipeline (",[21,5150,5153],{"href":5151,"rel":5152},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F2",[25],"#2","). (",[21,5156,5159],{"href":5157,"rel":5158},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F3",[25],"#3",[21,5161,5164],{"href":5162,"rel":5163},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fd57aeb41f17aa335a1616474c250d17bbcf0206a",[25],"d57aeb4",[44,5166,100],{"id":5167},"contributors-36",[49,5169,5170],{},[52,5171,5172],{},[21,5173,109],{"href":107,"rel":5174},[25],[14,5176,5177,115,5179],{},[55,5178,114],{},[21,5180,5182],{"href":4719,"rel":5181},[25],"v0.5.0...1e35f0f",[35,5184,5186,5190],{"id":5185},"_050-2026-07-26",[21,5187,4735],{"href":5188,"rel":5189},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcompare\u002Fv0.4.0...v0.5.0",[25]," - 2026-07-26",[44,5192,131],{"id":5193},"added-11",[49,5195,5196],{},[52,5197,5198,184,5200,5203,5204,5206,5207,5154,5212,96],{},[81,5199,5030],{},[81,5201,5202],{},"publish"," CLI commands, the ",[81,5205,5111],{}," skill with its\nisolated runner, and the CI publishing recipe\n(",[21,5208,5211],{"href":5209,"rel":5210},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fpull\u002F1",[25],"#1",[21,5213,5216],{"href":5214,"rel":5215},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002Fcff997b7aa8c05f27a3efa16290c16b48f8f0448",[25],"cff997b",[44,5218,100],{"id":5219},"contributors-37",[49,5221,5222],{},[52,5223,5224],{},[21,5225,109],{"href":107,"rel":5226},[25],[14,5228,5229,115,5231],{},[55,5230,114],{},[21,5232,5234],{"href":5188,"rel":5233},[25],"v0.4.0...v0.5.0",[35,5236,5238,5190],{"id":5237},"_040-2026-07-26",[21,5239,5242],{"href":5240,"rel":5241},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Freleases\u002Ftag\u002Fv0.4.0",[25],"0.4.0",[14,5244,5245],{},"Initial public launch of the repository.",[44,5247,131],{"id":5248},"added-12",[49,5250,5251,5267,5284,5295],{},[52,5252,5253,5254,180,5256,3553,5258,5261,5262,96],{},"CLI: ",[81,5255,2807],{},[81,5257,2810],{},[81,5259,5260],{},"validate"," commands. (",[21,5263,5266],{"href":5264,"rel":5265},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fcommit\u002F90ed7d1c040d6c78f0a88c40e061d78122f3afde",[25],"90ed7d1",[52,5268,5269,5270,180,5272,3408,5274,180,5276,2574,5279,196,5281,96],{},"Agent skills: ",[81,5271,4658],{},[81,5273,4661],{},[81,5275,4667],{},[81,5277,5278],{},"businesslens-validate",[81,5280,4664],{},[21,5282,5266],{"href":5264,"rel":5283},[25],[52,5285,4674,5286,5288,5289,196,5292,96],{},[81,5287,175],{}," product-map format and its contract in\n",[81,5290,5291],{},"docs\u002Fformat.md",[21,5293,5266],{"href":5264,"rel":5294},[25],[52,5296,5297,5298,96],{},"Claude plugin manifest and marketplace entry. (",[21,5299,5266],{"href":5264,"rel":5300},[25],[44,5302,100],{"id":5303},"contributors-38",[49,5305,5306],{},[52,5307,5308],{},[21,5309,109],{"href":107,"rel":5310},[25],[14,5312,5313,115,5315],{},[55,5314,114],{},[21,5316,5318],{"href":5240,"rel":5317},[25],"v0.4.0",{"title":5320,"searchDepth":5321,"depth":5321,"links":5322},"",2,[5323,5327,5332,5339,5344,5350,5356,5362,5367,5372,5379,5384,5390,5394,5398,5402,5406,5410,5414,5418,5422,5426,5430,5434,5438,5442,5446,5450,5454,5459,5466,5471,5478,5487,5494,5500,5505,5513,5520,5525],{"id":37,"depth":5321,"text":42,"children":5324},[5325],{"id":46,"depth":5326,"text":47},3,{"id":61,"depth":5321,"text":5328,"children":5329},"0.34.1 - 2026-10-12",[5330,5331],{"id":70,"depth":5326,"text":71},{"id":99,"depth":5326,"text":100},{"id":122,"depth":5321,"text":5333,"children":5334},"0.34.0 - 2026-10-12",[5335,5336,5337,5338],{"id":130,"depth":5326,"text":131},{"id":155,"depth":5326,"text":47},{"id":283,"depth":5326,"text":284},{"id":320,"depth":5326,"text":100},{"id":338,"depth":5321,"text":5340,"children":5341},"0.33.0 - 2026-10-08",[5342,5343],{"id":347,"depth":5326,"text":47},{"id":392,"depth":5326,"text":100},{"id":410,"depth":5321,"text":5345,"children":5346},"0.32.0 - 2026-10-07",[5347,5348,5349],{"id":419,"depth":5326,"text":47},{"id":472,"depth":5326,"text":284},{"id":498,"depth":5326,"text":100},{"id":516,"depth":5321,"text":5351,"children":5352},"0.31.0 - 2026-10-07",[5353,5354,5355],{"id":524,"depth":5326,"text":131},{"id":544,"depth":5326,"text":100},{"id":562,"depth":5326,"text":47},{"id":572,"depth":5321,"text":5357,"children":5358},"0.30.0 - 2026-10-07",[5359,5360,5361],{"id":580,"depth":5326,"text":131},{"id":616,"depth":5326,"text":47},{"id":708,"depth":5326,"text":100},{"id":726,"depth":5321,"text":5363,"children":5364},"0.29.1 - 2026-10-07",[5365,5366],{"id":734,"depth":5326,"text":47},{"id":765,"depth":5326,"text":100},{"id":783,"depth":5321,"text":5368,"children":5369},"0.29.0 - 2026-10-07",[5370,5371],{"id":791,"depth":5326,"text":47},{"id":817,"depth":5326,"text":100},{"id":835,"depth":5321,"text":5373,"children":5374},"0.28.0 - 2026-10-06",[5375,5376,5377,5378],{"id":844,"depth":5326,"text":131},{"id":864,"depth":5326,"text":47},{"id":902,"depth":5326,"text":71},{"id":922,"depth":5326,"text":100},{"id":940,"depth":5321,"text":5380,"children":5381},"0.27.0 - 2026-10-06",[5382,5383],{"id":948,"depth":5326,"text":47},{"id":968,"depth":5326,"text":100},{"id":986,"depth":5321,"text":5385,"children":5386},"0.26.0 - 2026-10-06",[5387,5388,5389],{"id":994,"depth":5326,"text":131},{"id":1014,"depth":5326,"text":47},{"id":1030,"depth":5326,"text":100},{"id":1048,"depth":5321,"text":5391,"children":5392},"0.25.1 - 2026-10-05",[5393],{"id":1072,"depth":5326,"text":100},{"id":1090,"depth":5321,"text":5395,"children":5396},"0.25.0 - 2026-10-05",[5397],{"id":1162,"depth":5326,"text":100},{"id":1180,"depth":5321,"text":5399,"children":5400},"0.24.2 - 2026-10-05",[5401],{"id":1216,"depth":5326,"text":100},{"id":1234,"depth":5321,"text":5403,"children":5404},"0.24.1 - 2026-10-05",[5405],{"id":1266,"depth":5326,"text":100},{"id":1284,"depth":5321,"text":5407,"children":5408},"0.24.0 - 2026-10-05",[5409],{"id":1310,"depth":5326,"text":100},{"id":1328,"depth":5321,"text":5411,"children":5412},"0.23.1 - 2026-10-04",[5413],{"id":1352,"depth":5326,"text":100},{"id":1370,"depth":5321,"text":5415,"children":5416},"0.23.0 - 2026-10-04",[5417],{"id":1513,"depth":5326,"text":100},{"id":1531,"depth":5321,"text":5419,"children":5420},"0.22.0 - 2026-09-23",[5421],{"id":1645,"depth":5326,"text":100},{"id":1663,"depth":5321,"text":5423,"children":5424},"0.21.0 - 2026-09-21",[5425],{"id":1741,"depth":5326,"text":100},{"id":1759,"depth":5321,"text":5427,"children":5428},"0.20.0 - 2026-09-18",[5429],{"id":1783,"depth":5326,"text":100},{"id":1801,"depth":5321,"text":5431,"children":5432},"0.19.0 - 2026-09-17",[5433],{"id":1843,"depth":5326,"text":100},{"id":1861,"depth":5321,"text":5435,"children":5436},"0.18.0 - 2026-09-17",[5437],{"id":1893,"depth":5326,"text":100},{"id":1911,"depth":5321,"text":5439,"children":5440},"0.17.0 - 2026-09-16",[5441],{"id":1980,"depth":5326,"text":100},{"id":1998,"depth":5321,"text":5443,"children":5444},"0.16.0 - 2026-09-16",[5445],{"id":2039,"depth":5326,"text":100},{"id":2057,"depth":5321,"text":5447,"children":5448},"0.15.0 - 2026-09-15",[5449],{"id":2117,"depth":5326,"text":100},{"id":2135,"depth":5321,"text":5451,"children":5452},"0.14.0 - 2026-09-15",[5453],{"id":2185,"depth":5326,"text":100},{"id":2203,"depth":5321,"text":5455,"children":5456},"0.13.0 - 2026-09-12",[5457,5458],{"id":2212,"depth":5326,"text":284},{"id":2245,"depth":5326,"text":100},{"id":2263,"depth":5321,"text":5460,"children":5461},"0.12.0 - 2026-09-10",[5462,5463,5464,5465],{"id":2272,"depth":5326,"text":47},{"id":2353,"depth":5326,"text":284},{"id":2367,"depth":5326,"text":71},{"id":2390,"depth":5326,"text":100},{"id":2408,"depth":5321,"text":5467,"children":5468},"0.11.0 - 2026-09-07",[5469,5470],{"id":2417,"depth":5326,"text":71},{"id":2435,"depth":5326,"text":100},{"id":2453,"depth":5321,"text":5472,"children":5473},"0.10.0 - 2026-09-06",[5474,5475,5476,5477],{"id":2462,"depth":5326,"text":131},{"id":2489,"depth":5326,"text":47},{"id":2503,"depth":5326,"text":71},{"id":2517,"depth":5326,"text":100},{"id":2535,"depth":5321,"text":5479,"children":5480},"0.9.0 - 2026-09-04",[5481,5482,5483,5484,5485,5486],{"id":2544,"depth":5326,"text":131},{"id":2722,"depth":5326,"text":47},{"id":2913,"depth":5326,"text":284},{"id":2939,"depth":5326,"text":71},{"id":3037,"depth":5326,"text":3038},{"id":3062,"depth":5326,"text":100},{"id":3080,"depth":5321,"text":5488,"children":5489},"0.8.0 - 2026-08-25",[5490,5491,5492,5493],{"id":3089,"depth":5326,"text":131},{"id":3294,"depth":5326,"text":47},{"id":3898,"depth":5326,"text":71},{"id":4059,"depth":5326,"text":100},{"id":4077,"depth":5321,"text":5495,"children":5496},"0.7.2 - 2026-08-05",[5497,5498,5499],{"id":4086,"depth":5326,"text":131},{"id":4108,"depth":5326,"text":71},{"id":4143,"depth":5326,"text":100},{"id":4161,"depth":5321,"text":5501,"children":5502},"0.7.1 - 2026-08-04",[5503,5504],{"id":4170,"depth":5326,"text":71},{"id":4193,"depth":5326,"text":100},{"id":4211,"depth":5321,"text":5506,"children":5507},"0.7.0 - 2026-08-04",[5508,5509,5510,5511,5512],{"id":4219,"depth":5326,"text":131},{"id":4331,"depth":5326,"text":47},{"id":4622,"depth":5326,"text":71},{"id":4651,"depth":5326,"text":284},{"id":4698,"depth":5326,"text":100},{"id":4716,"depth":5321,"text":5514,"children":5515},"0.6.0 - 2026-07-31",[5516,5517,5518,5519],{"id":4742,"depth":5326,"text":131},{"id":4987,"depth":5326,"text":47},{"id":5131,"depth":5326,"text":71},{"id":5167,"depth":5326,"text":100},{"id":5185,"depth":5321,"text":5521,"children":5522},"0.5.0 - 2026-07-26",[5523,5524],{"id":5193,"depth":5326,"text":131},{"id":5219,"depth":5326,"text":100},{"id":5237,"depth":5321,"text":5526,"children":5527},"0.4.0 - 2026-07-26",[5528,5529],{"id":5248,"depth":5326,"text":131},{"id":5303,"depth":5326,"text":100},"md",{},true,"\u002Fchangelog\u002Fchangelog",{"title":5,"description":16},"changelog\u002FCHANGELOG","ODBQty1pnJa3YYE0JGnTvMf7VrE98ulHHWp6TSHNJKE",1791840531134]