[{"data":1,"prerenderedAt":2233},["ShallowReactive",2],{"navigation":3,"\u002Fguides\u002Fparents-and-children":170,"\u002Fguides\u002Fparents-and-children-surround":2228},[4,25,104,150,160],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10,15,20],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-book-open",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-rocket",{"title":26,"icon":6,"path":27,"stem":28,"children":29,"page":6},"Guides","\u002Fguides","2.guides",[30,35,40,45,50,55,60,65,70,75,79,84,89,94,99],{"title":31,"path":32,"stem":33,"icon":34},"Seeds and TestBiome","\u002Fguides\u002Fseeds-and-testbiome","2.guides\u002F01.seeds-and-testbiome","i-lucide-sprout",{"title":36,"path":37,"stem":38,"icon":39},"Blueprints","\u002Fguides\u002Fblueprints","2.guides\u002F02.blueprints","i-lucide-drafting-compass",{"title":41,"path":42,"stem":43,"icon":44},"Customizing","\u002Fguides\u002Fcustomizing","2.guides\u002F03.customizing","i-lucide-sliders-horizontal",{"title":46,"path":47,"stem":48,"icon":49},"Parent\u002Fchild chains and .Under","\u002Fguides\u002Fparents-and-children","2.guides\u002F04.parents-and-children","i-lucide-git-fork",{"title":51,"path":52,"stem":53,"icon":54},"Fan-out","\u002Fguides\u002Ffan-out","2.guides\u002F05.fan-out","i-lucide-split",{"title":56,"path":57,"stem":58,"icon":59},"Sequences","\u002Fguides\u002Fsequences","2.guides\u002F06.sequences","i-lucide-list-ordered",{"title":61,"path":62,"stem":63,"icon":64},"Time and precision","\u002Fguides\u002Ftime-and-precision","2.guides\u002F07.time-and-precision","i-lucide-clock",{"title":66,"path":67,"stem":68,"icon":69},"Transients","\u002Fguides\u002Ftransients","2.guides\u002F08.transients","i-lucide-ghost",{"title":71,"path":72,"stem":73,"icon":74},"Aggregates","\u002Fguides\u002Faggregates","2.guides\u002F09.aggregates","i-lucide-boxes",{"title":76,"path":77,"stem":78,"icon":74},"Input blueprints","\u002Fguides\u002Finput-blueprints","2.guides\u002F09.input-blueprints",{"title":80,"path":81,"stem":82,"icon":83},"Save hooks and global defaults","\u002Fguides\u002Fsave-hooks-and-defaults","2.guides\u002F10.save-hooks-and-defaults","i-lucide-webhook",{"title":85,"path":86,"stem":87,"icon":88},"EF Core store","\u002Fguides\u002Fef-core-store","2.guides\u002F11.ef-core-store","i-lucide-database",{"title":90,"path":91,"stem":92,"icon":93},"No-DB unit tests","\u002Fguides\u002Fno-db-unit-tests","2.guides\u002F12.no-db-unit-tests","i-lucide-flask-conical",{"title":95,"path":96,"stem":97,"icon":98},"Generated grafts and scenario helpers","\u002Fguides\u002Fscenario-helpers-and-sugar","2.guides\u002F13.scenario-helpers-and-sugar","i-lucide-wand-sparkles",{"title":100,"path":101,"stem":102,"icon":103},"Constructor setup","\u002Fguides\u002Fconstructor-setup","2.guides\u002F14.constructor-setup","i-lucide-blocks",{"title":105,"path":106,"stem":107,"children":108,"icon":6},"Examples","\u002Fexamples","3.examples\u002F1.index",[109,111,116,121,126,130,135,140,145],{"title":105,"path":106,"stem":107,"icon":110},"i-lucide-library",{"title":112,"path":113,"stem":114,"icon":115},"Code reviews","\u002Fexamples\u002Fcode-reviews","3.examples\u002F2.code-reviews","i-lucide-git-pull-request",{"title":117,"path":118,"stem":119,"icon":120},"Membership","\u002Fexamples\u002Fmembership","3.examples\u002F3.membership","i-lucide-users",{"title":122,"path":123,"stem":124,"icon":125},"Board","\u002Fexamples\u002Fboard","3.examples\u002F4.board","i-lucide-kanban",{"title":127,"path":128,"stem":129,"icon":44},"Custom seed","\u002Fexamples\u002Fcustom-seed","3.examples\u002F5.custom-seed",{"title":131,"path":132,"stem":133,"icon":134},"Commerce","\u002Fexamples\u002Fcommerce","3.examples\u002F6.commerce","i-lucide-shopping-cart",{"title":136,"path":137,"stem":138,"icon":139},"Project management","\u002Fexamples\u002Fproject-management","3.examples\u002F7.project-management","i-lucide-folder-kanban",{"title":141,"path":142,"stem":143,"icon":144},"Learning","\u002Fexamples\u002Flearning","3.examples\u002F8.learning","i-lucide-graduation-cap",{"title":146,"path":147,"stem":148,"icon":149},"Docs ingest","\u002Fexamples\u002Fdocs-ingest","3.examples\u002F9.docs-ingest","i-lucide-file-search",{"title":151,"icon":6,"path":152,"stem":153,"children":154,"page":6},"Reference","\u002Freference","4.reference",[155],{"title":156,"path":157,"stem":158,"icon":159},"API cheat sheet","\u002Freference\u002Fapi-cheat-sheet","4.reference\u002F1.api-cheat-sheet","i-lucide-list-checks",{"title":161,"icon":6,"path":162,"stem":163,"children":164,"page":6},"Agent Skills","\u002Fagents","5.agents",[165],{"title":166,"path":167,"stem":168,"icon":169},"Agent skills","\u002Fagents\u002Fagent-skills","5.agents\u002F1.agent-skills","i-lucide-bot",{"id":171,"title":46,"body":172,"description":2221,"extension":2222,"links":2223,"meta":2224,"navigation":2225,"path":47,"seo":2226,"stem":48,"__hash__":2227},"docs\u002F2.guides\u002F04.parents-and-children.md",{"type":173,"value":174,"toc":2213},"minimark",[175,180,184,681,693,697,704,1531,1537,1544,1554,1689,1702,1865,1890,1894,1904,2103,2128,2132,2203,2209],[176,177,179],"h2",{"id":178},"a-child-blueprint-takes-its-parent","A child blueprint takes its parent",[181,182,183],"p",{},"A review needs to belong to the pull request this test created. Looking up the most recent pull request becomes unreliable once the test adds siblings. A child blueprint receives its parent directly, keeping the relationship clear:",[185,186,197],"pre",{"className":187,"code":188,"filename":189,"highlights":190,"language":195,"meta":196,"style":196},"language-csharp shiki shiki-themes material-theme-lighter github-light github-dark","public static partial class Blueprints\n{\n    public static readonly ChildBlueprint\u003C\n        ZeeqSeed,\n        PullRequestRecord,\n        CodeReviewRecord\n    > Review = Blueprint.ChildOf\u003CZeeqSeed, PullRequestRecord, CodeReviewRecord>(\n        (pr, ctx) =>\n            new()\n            {\n                Id = ctx.NewId(\"review\"),\n                OrganizationId = pr.OrganizationId,\n                PullRequestRecordId = pr.Id,\n                RepositoryId = ctx.Ancestor\u003CCodeRepository>().Id, \u002F\u002F grandparent\n                Status = CodeReviewStatus.Pending,\n                CreatedAtUtc = ctx.Now,\n            }\n    );\n\n    public static readonly ChildBlueprint\u003C\n        ZeeqSeed,\n        CodeReviewRecord,\n        ActiveCodeReviewLock\n    > ActiveLock = Blueprint.ChildOf\u003C\n        ZeeqSeed,\n        CodeReviewRecord,\n        ActiveCodeReviewLock\n    >(\n        (review, ctx) =>\n            new()\n            {\n                OrganizationId = review.OrganizationId,\n                RepositoryId = review.RepositoryId,\n                PullRequestRecordId = review.PullRequestRecordId,\n                CodeReviewRecordId = review.Id,\n                AcquiredAtUtc = ctx.Now,\n                ExpiresAtUtc = ctx.FromNow(TimeSpan.FromMinutes(5)),\n            }\n    );\n}\n","Blueprints.cs",[191,192,193,194],7,8,9,14,"csharp","",[198,199,200,223,230,245,251,257,264,274,293,302,308,341,360,377,409,427,444,450,459,466,477,482,488,494,500,505,510,515,523,537,544,549,565,581,597,613,629,663,668,675],"code",{"__ignoreMap":196},[201,202,205,209,212,215,219],"span",{"class":203,"line":204},"line",1,[201,206,208],{"class":207},"sbsja","public",[201,210,211],{"class":207}," static",[201,213,214],{"class":207}," partial",[201,216,218],{"class":217},"sG8yY"," class",[201,220,222],{"class":221},"sbgvK"," Blueprints\n",[201,224,226],{"class":203,"line":225},2,[201,227,229],{"class":228},"sP7_E","{\n",[201,231,233,236,238,241],{"class":203,"line":232},3,[201,234,235],{"class":207},"    public",[201,237,211],{"class":207},[201,239,240],{"class":207}," readonly",[201,242,244],{"class":243},"su5hD"," ChildBlueprint\u003C\n",[201,246,248],{"class":203,"line":247},4,[201,249,250],{"class":243},"        ZeeqSeed,\n",[201,252,254],{"class":203,"line":253},5,[201,255,256],{"class":243},"        PullRequestRecord,\n",[201,258,260],{"class":203,"line":259},6,[201,261,263],{"class":262},"sGLFI","        CodeReviewRecord\n",[201,265,268,271],{"class":266,"line":191},[203,267],"highlight",[201,269,270],{"class":243},"    > Review = Blueprint.ChildOf\u003CZeeqSeed, PullRequestRecord, CodeReviewRecord>",[201,272,273],{"class":228},"(\n",[201,275,277,280,283,286,289],{"class":276,"line":192},[203,267],[201,278,279],{"class":243},"        (pr",[201,281,282],{"class":228},",",[201,284,285],{"class":243}," ctx",[201,287,288],{"class":228},")",[201,290,292],{"class":291},"smGrS"," =>\n",[201,294,296,299],{"class":295,"line":193},[203,267],[201,297,298],{"class":291},"            new",[201,300,301],{"class":228},"()\n",[201,303,305],{"class":203,"line":304},10,[201,306,307],{"class":228},"            {\n",[201,309,311,314,317,319,322,325,328,332,336,338],{"class":203,"line":310},11,[201,312,313],{"class":243},"                Id ",[201,315,316],{"class":291},"=",[201,318,285],{"class":243},[201,320,321],{"class":228},".",[201,323,324],{"class":262},"NewId",[201,326,327],{"class":228},"(",[201,329,331],{"class":330},"sjJ54","\"",[201,333,335],{"class":334},"s_sjI","review",[201,337,331],{"class":330},[201,339,340],{"class":228},"),\n",[201,342,344,347,349,352,354,357],{"class":203,"line":343},12,[201,345,346],{"class":243},"                OrganizationId ",[201,348,316],{"class":291},[201,350,351],{"class":243}," pr",[201,353,321],{"class":228},[201,355,356],{"class":243},"OrganizationId",[201,358,359],{"class":228},",\n",[201,361,363,366,368,370,372,375],{"class":203,"line":362},13,[201,364,365],{"class":243},"                PullRequestRecordId ",[201,367,316],{"class":291},[201,369,351],{"class":243},[201,371,321],{"class":228},[201,373,374],{"class":243},"Id",[201,376,359],{"class":228},[201,378,380,383,385,387,389,392,395,398,401,403,405],{"class":379,"line":194},[203,267],[201,381,382],{"class":243},"                RepositoryId ",[201,384,316],{"class":291},[201,386,285],{"class":243},[201,388,321],{"class":228},[201,390,391],{"class":262},"Ancestor",[201,393,394],{"class":228},"\u003C",[201,396,397],{"class":221},"CodeRepository",[201,399,400],{"class":228},">().",[201,402,374],{"class":243},[201,404,282],{"class":228},[201,406,408],{"class":407},"sutJx"," \u002F\u002F grandparent\n",[201,410,412,415,417,420,422,425],{"class":203,"line":411},15,[201,413,414],{"class":243},"                Status ",[201,416,316],{"class":291},[201,418,419],{"class":243}," CodeReviewStatus",[201,421,321],{"class":228},[201,423,424],{"class":243},"Pending",[201,426,359],{"class":228},[201,428,430,433,435,437,439,442],{"class":203,"line":429},16,[201,431,432],{"class":243},"                CreatedAtUtc ",[201,434,316],{"class":291},[201,436,285],{"class":243},[201,438,321],{"class":228},[201,440,441],{"class":243},"Now",[201,443,359],{"class":228},[201,445,447],{"class":203,"line":446},17,[201,448,449],{"class":228},"            }\n",[201,451,453,456],{"class":203,"line":452},18,[201,454,455],{"class":243},"    )",[201,457,458],{"class":228},";\n",[201,460,462],{"class":203,"line":461},19,[201,463,465],{"emptyLinePlaceholder":464},true,"\n",[201,467,469,471,473,475],{"class":203,"line":468},20,[201,470,235],{"class":207},[201,472,211],{"class":207},[201,474,240],{"class":207},[201,476,244],{"class":243},[201,478,480],{"class":203,"line":479},21,[201,481,250],{"class":243},[201,483,485],{"class":203,"line":484},22,[201,486,487],{"class":243},"        CodeReviewRecord,\n",[201,489,491],{"class":203,"line":490},23,[201,492,493],{"class":262},"        ActiveCodeReviewLock\n",[201,495,497],{"class":203,"line":496},24,[201,498,499],{"class":243},"    > ActiveLock = Blueprint.ChildOf\u003C\n",[201,501,503],{"class":203,"line":502},25,[201,504,250],{"class":243},[201,506,508],{"class":203,"line":507},26,[201,509,487],{"class":243},[201,511,513],{"class":203,"line":512},27,[201,514,493],{"class":243},[201,516,518,521],{"class":203,"line":517},28,[201,519,520],{"class":243},"    >",[201,522,273],{"class":228},[201,524,526,529,531,533,535],{"class":203,"line":525},29,[201,527,528],{"class":243},"        (review",[201,530,282],{"class":228},[201,532,285],{"class":243},[201,534,288],{"class":228},[201,536,292],{"class":291},[201,538,540,542],{"class":203,"line":539},30,[201,541,298],{"class":291},[201,543,301],{"class":228},[201,545,547],{"class":203,"line":546},31,[201,548,307],{"class":228},[201,550,552,554,556,559,561,563],{"class":203,"line":551},32,[201,553,346],{"class":243},[201,555,316],{"class":291},[201,557,558],{"class":243}," review",[201,560,321],{"class":228},[201,562,356],{"class":243},[201,564,359],{"class":228},[201,566,568,570,572,574,576,579],{"class":203,"line":567},33,[201,569,382],{"class":243},[201,571,316],{"class":291},[201,573,558],{"class":243},[201,575,321],{"class":228},[201,577,578],{"class":243},"RepositoryId",[201,580,359],{"class":228},[201,582,584,586,588,590,592,595],{"class":203,"line":583},34,[201,585,365],{"class":243},[201,587,316],{"class":291},[201,589,558],{"class":243},[201,591,321],{"class":228},[201,593,594],{"class":243},"PullRequestRecordId",[201,596,359],{"class":228},[201,598,600,603,605,607,609,611],{"class":203,"line":599},35,[201,601,602],{"class":243},"                CodeReviewRecordId ",[201,604,316],{"class":291},[201,606,558],{"class":243},[201,608,321],{"class":228},[201,610,374],{"class":243},[201,612,359],{"class":228},[201,614,616,619,621,623,625,627],{"class":203,"line":615},36,[201,617,618],{"class":243},"                AcquiredAtUtc ",[201,620,316],{"class":291},[201,622,285],{"class":243},[201,624,321],{"class":228},[201,626,441],{"class":243},[201,628,359],{"class":228},[201,630,632,635,637,639,641,644,646,649,651,654,656,660],{"class":203,"line":631},37,[201,633,634],{"class":243},"                ExpiresAtUtc ",[201,636,316],{"class":291},[201,638,285],{"class":243},[201,640,321],{"class":228},[201,642,643],{"class":262},"FromNow",[201,645,327],{"class":228},[201,647,648],{"class":243},"TimeSpan",[201,650,321],{"class":228},[201,652,653],{"class":262},"FromMinutes",[201,655,327],{"class":228},[201,657,659],{"class":658},"srdBf","5",[201,661,662],{"class":228},")),\n",[201,664,666],{"class":203,"line":665},38,[201,667,449],{"class":228},[201,669,671,673],{"class":203,"line":670},39,[201,672,455],{"class":243},[201,674,458],{"class":228},[201,676,678],{"class":203,"line":677},40,[201,679,680],{"class":228},"}\n",[181,682,683,684,688,689,692],{},"The ",[685,686,687],"strong",{},"typed parent"," is the lambda's first argument. Reach further up with ",[198,690,691],{},"ctx.Ancestor\u003CT>()",", which walks the recorded parent links and throws a clear error if no ancestor of that type exists.",[176,694,696],{"id":695},"every-add-re-anchors","Every Add re-anchors",[181,698,699,700,703],{},"The builder always has a current ",[685,701,702],{},"anchor",": the seed, at the start, then the output of the latest Add. A child Add attaches to the anchor, so a chain reads top to bottom.",[705,706,707,868],"code-group",{},[185,708,712],{"className":187,"code":709,"filename":710,"highlights":711,"language":195,"meta":196,"style":196},"await TestBiome\n    .Start(out _)\n    .AddOne(Blueprints.Repository, out var repo)\n    .AddOne(Blueprints.PullRequest, out var pr) \u002F\u002F parent: repo\n    .AddOne(Blueprints.Review, out var review) \u002F\u002F parent: pr\n    .AddOne(Blueprints.ActiveLock, out var activeLock) \u002F\u002F parent: review\n    .BuildAsync();\n","With Biome",[247,253,259],[198,713,714,722,741,770,799,828,858],{"__ignoreMap":196},[201,715,716,719],{"class":203,"line":204},[201,717,718],{"class":291},"await",[201,720,721],{"class":243}," TestBiome\n",[201,723,724,727,730,732,735,738],{"class":203,"line":225},[201,725,726],{"class":228},"    .",[201,728,729],{"class":262},"Start",[201,731,327],{"class":228},[201,733,734],{"class":207},"out",[201,736,737],{"class":243}," _",[201,739,740],{"class":228},")\n",[201,742,743,745,748,750,752,754,757,759,762,765,768],{"class":203,"line":232},[201,744,726],{"class":228},[201,746,747],{"class":262},"AddOne",[201,749,327],{"class":228},[201,751,36],{"class":243},[201,753,321],{"class":228},[201,755,756],{"class":243},"Repository",[201,758,282],{"class":228},[201,760,761],{"class":207}," out",[201,763,764],{"class":217}," var",[201,766,767],{"class":221}," repo",[201,769,740],{"class":228},[201,771,773,775,777,779,781,783,786,788,790,792,794,796],{"class":772,"line":247},[203,267],[201,774,726],{"class":228},[201,776,747],{"class":262},[201,778,327],{"class":228},[201,780,36],{"class":243},[201,782,321],{"class":228},[201,784,785],{"class":243},"PullRequest",[201,787,282],{"class":228},[201,789,761],{"class":207},[201,791,764],{"class":217},[201,793,351],{"class":221},[201,795,288],{"class":228},[201,797,798],{"class":407}," \u002F\u002F parent: repo\n",[201,800,802,804,806,808,810,812,815,817,819,821,823,825],{"class":801,"line":253},[203,267],[201,803,726],{"class":228},[201,805,747],{"class":262},[201,807,327],{"class":228},[201,809,36],{"class":243},[201,811,321],{"class":228},[201,813,814],{"class":243},"Review",[201,816,282],{"class":228},[201,818,761],{"class":207},[201,820,764],{"class":217},[201,822,558],{"class":221},[201,824,288],{"class":228},[201,826,827],{"class":407}," \u002F\u002F parent: pr\n",[201,829,831,833,835,837,839,841,844,846,848,850,853,855],{"class":830,"line":259},[203,267],[201,832,726],{"class":228},[201,834,747],{"class":262},[201,836,327],{"class":228},[201,838,36],{"class":243},[201,840,321],{"class":228},[201,842,843],{"class":243},"ActiveLock",[201,845,282],{"class":228},[201,847,761],{"class":207},[201,849,764],{"class":217},[201,851,852],{"class":221}," activeLock",[201,854,288],{"class":228},[201,856,857],{"class":407}," \u002F\u002F parent: review\n",[201,859,860,862,865],{"class":203,"line":191},[201,861,726],{"class":228},[201,863,864],{"class":262},"BuildAsync",[201,866,867],{"class":228},"();\n",[869,870,873],"code-collapse",{"label":871,"name":872},"Without Biome","setup",[185,874,876],{"className":187,"code":875,"language":195,"meta":196,"style":196},"\u002F\u002F Foreign keys wired by hand, in dependency order, with timestamps repeated.\nvar now = DateTimeOffset.UtcNow;\nnow = new DateTimeOffset(now.Ticks - now.Ticks % 10, TimeSpan.Zero);\n\nvar repo = new CodeRepository\n{\n    Id = $\"repo_{Guid.CreateVersion7():N}\",\n    OrganizationId = seed.Organization.Id,\n    OwnerQualifiedName = \"zeeq-ai\u002Fexample\",\n    Enabled = true,\n    CreatedAtUtc = now,\n};\nvar pr = new PullRequestRecord\n{\n    Id = $\"pr_{Guid.CreateVersion7():N}\",\n    OrganizationId = repo.OrganizationId,\n    RepositoryId = repo.Id,\n    PullRequestNumber = 1,\n    Title = \"Pull request 1\",\n    Branch = \"feature\u002F1\",\n    State = PullRequestState.Open,\n    CreatedAtUtc = now,\n};\nvar review = new CodeReviewRecord\n{\n    Id = $\"review_{Guid.CreateVersion7():N}\",\n    OrganizationId = pr.OrganizationId,\n    PullRequestRecordId = pr.Id,\n    RepositoryId = repo.Id,\n    Status = CodeReviewStatus.Pending,\n    CreatedAtUtc = now,\n};\nvar activeLock = new ActiveCodeReviewLock\n{\n    OrganizationId = review.OrganizationId,\n    RepositoryId = review.RepositoryId,\n    PullRequestRecordId = review.PullRequestRecordId,\n    CodeReviewRecordId = review.Id,\n    AcquiredAtUtc = now,\n    ExpiresAtUtc = now.AddMinutes(5),\n};\n\n_db.AddRange(seed.Owner, seed.Organization, repo, pr, review, activeLock);\nawait _db.SaveChangesAsync();\n",[198,877,878,883,904,954,958,971,975,1015,1036,1053,1066,1077,1082,1095,1099,1130,1144,1159,1171,1187,1203,1220,1230,1234,1247,1251,1282,1296,1311,1325,1340,1350,1354,1367,1371,1385,1399,1413,1428,1439,1459,1464,1469,1516],{"__ignoreMap":196},[201,879,880],{"class":203,"line":204},[201,881,882],{"class":407},"\u002F\u002F Foreign keys wired by hand, in dependency order, with timestamps repeated.\n",[201,884,885,888,891,894,897,899,902],{"class":203,"line":225},[201,886,887],{"class":217},"var",[201,889,890],{"class":221}," now",[201,892,893],{"class":291}," =",[201,895,896],{"class":243}," DateTimeOffset",[201,898,321],{"class":228},[201,900,901],{"class":243},"UtcNow",[201,903,458],{"class":228},[201,905,906,909,911,914,916,918,921,923,926,929,931,933,935,938,941,943,946,948,951],{"class":203,"line":232},[201,907,908],{"class":243},"now ",[201,910,316],{"class":291},[201,912,913],{"class":291}," new",[201,915,896],{"class":221},[201,917,327],{"class":228},[201,919,920],{"class":243},"now",[201,922,321],{"class":228},[201,924,925],{"class":243},"Ticks ",[201,927,928],{"class":291},"-",[201,930,890],{"class":243},[201,932,321],{"class":228},[201,934,925],{"class":243},[201,936,937],{"class":291},"%",[201,939,940],{"class":658}," 10",[201,942,282],{"class":228},[201,944,945],{"class":243}," TimeSpan",[201,947,321],{"class":228},[201,949,950],{"class":243},"Zero",[201,952,953],{"class":228},");\n",[201,955,956],{"class":203,"line":247},[201,957,465],{"emptyLinePlaceholder":464},[201,959,960,962,964,966,968],{"class":203,"line":253},[201,961,887],{"class":217},[201,963,767],{"class":221},[201,965,893],{"class":291},[201,967,913],{"class":291},[201,969,970],{"class":221}," CodeRepository\n",[201,972,973],{"class":203,"line":259},[201,974,229],{"class":228},[201,976,977,980,982,985,988,991,994,996,999,1002,1005,1008,1011,1013],{"class":203,"line":191},[201,978,979],{"class":243},"    Id ",[201,981,316],{"class":291},[201,983,984],{"class":330}," $\"",[201,986,987],{"class":334},"repo_",[201,989,990],{"class":330},"{",[201,992,993],{"class":243},"Guid",[201,995,321],{"class":330},[201,997,998],{"class":262},"CreateVersion7",[201,1000,1001],{"class":330},"()",[201,1003,1004],{"class":291},":",[201,1006,1007],{"class":243},"N",[201,1009,1010],{"class":330},"}",[201,1012,331],{"class":330},[201,1014,359],{"class":228},[201,1016,1017,1020,1022,1025,1027,1030,1032,1034],{"class":203,"line":192},[201,1018,1019],{"class":243},"    OrganizationId ",[201,1021,316],{"class":291},[201,1023,1024],{"class":243}," seed",[201,1026,321],{"class":228},[201,1028,1029],{"class":243},"Organization",[201,1031,321],{"class":228},[201,1033,374],{"class":243},[201,1035,359],{"class":228},[201,1037,1038,1041,1043,1046,1049,1051],{"class":203,"line":193},[201,1039,1040],{"class":243},"    OwnerQualifiedName ",[201,1042,316],{"class":291},[201,1044,1045],{"class":330}," \"",[201,1047,1048],{"class":334},"zeeq-ai\u002Fexample",[201,1050,331],{"class":330},[201,1052,359],{"class":228},[201,1054,1055,1058,1060,1064],{"class":203,"line":304},[201,1056,1057],{"class":243},"    Enabled ",[201,1059,316],{"class":291},[201,1061,1063],{"class":1062},"syTEX"," true",[201,1065,359],{"class":228},[201,1067,1068,1071,1073,1075],{"class":203,"line":310},[201,1069,1070],{"class":243},"    CreatedAtUtc ",[201,1072,316],{"class":291},[201,1074,890],{"class":243},[201,1076,359],{"class":228},[201,1078,1079],{"class":203,"line":343},[201,1080,1081],{"class":228},"};\n",[201,1083,1084,1086,1088,1090,1092],{"class":203,"line":362},[201,1085,887],{"class":217},[201,1087,351],{"class":221},[201,1089,893],{"class":291},[201,1091,913],{"class":291},[201,1093,1094],{"class":221}," PullRequestRecord\n",[201,1096,1097],{"class":203,"line":194},[201,1098,229],{"class":228},[201,1100,1101,1103,1105,1107,1110,1112,1114,1116,1118,1120,1122,1124,1126,1128],{"class":203,"line":411},[201,1102,979],{"class":243},[201,1104,316],{"class":291},[201,1106,984],{"class":330},[201,1108,1109],{"class":334},"pr_",[201,1111,990],{"class":330},[201,1113,993],{"class":243},[201,1115,321],{"class":330},[201,1117,998],{"class":262},[201,1119,1001],{"class":330},[201,1121,1004],{"class":291},[201,1123,1007],{"class":243},[201,1125,1010],{"class":330},[201,1127,331],{"class":330},[201,1129,359],{"class":228},[201,1131,1132,1134,1136,1138,1140,1142],{"class":203,"line":429},[201,1133,1019],{"class":243},[201,1135,316],{"class":291},[201,1137,767],{"class":243},[201,1139,321],{"class":228},[201,1141,356],{"class":243},[201,1143,359],{"class":228},[201,1145,1146,1149,1151,1153,1155,1157],{"class":203,"line":446},[201,1147,1148],{"class":243},"    RepositoryId ",[201,1150,316],{"class":291},[201,1152,767],{"class":243},[201,1154,321],{"class":228},[201,1156,374],{"class":243},[201,1158,359],{"class":228},[201,1160,1161,1164,1166,1169],{"class":203,"line":452},[201,1162,1163],{"class":243},"    PullRequestNumber ",[201,1165,316],{"class":291},[201,1167,1168],{"class":658}," 1",[201,1170,359],{"class":228},[201,1172,1173,1176,1178,1180,1183,1185],{"class":203,"line":461},[201,1174,1175],{"class":243},"    Title ",[201,1177,316],{"class":291},[201,1179,1045],{"class":330},[201,1181,1182],{"class":334},"Pull request 1",[201,1184,331],{"class":330},[201,1186,359],{"class":228},[201,1188,1189,1192,1194,1196,1199,1201],{"class":203,"line":468},[201,1190,1191],{"class":243},"    Branch ",[201,1193,316],{"class":291},[201,1195,1045],{"class":330},[201,1197,1198],{"class":334},"feature\u002F1",[201,1200,331],{"class":330},[201,1202,359],{"class":228},[201,1204,1205,1208,1210,1213,1215,1218],{"class":203,"line":479},[201,1206,1207],{"class":243},"    State ",[201,1209,316],{"class":291},[201,1211,1212],{"class":243}," PullRequestState",[201,1214,321],{"class":228},[201,1216,1217],{"class":243},"Open",[201,1219,359],{"class":228},[201,1221,1222,1224,1226,1228],{"class":203,"line":484},[201,1223,1070],{"class":243},[201,1225,316],{"class":291},[201,1227,890],{"class":243},[201,1229,359],{"class":228},[201,1231,1232],{"class":203,"line":490},[201,1233,1081],{"class":228},[201,1235,1236,1238,1240,1242,1244],{"class":203,"line":496},[201,1237,887],{"class":217},[201,1239,558],{"class":221},[201,1241,893],{"class":291},[201,1243,913],{"class":291},[201,1245,1246],{"class":221}," CodeReviewRecord\n",[201,1248,1249],{"class":203,"line":502},[201,1250,229],{"class":228},[201,1252,1253,1255,1257,1259,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280],{"class":203,"line":507},[201,1254,979],{"class":243},[201,1256,316],{"class":291},[201,1258,984],{"class":330},[201,1260,1261],{"class":334},"review_",[201,1263,990],{"class":330},[201,1265,993],{"class":243},[201,1267,321],{"class":330},[201,1269,998],{"class":262},[201,1271,1001],{"class":330},[201,1273,1004],{"class":291},[201,1275,1007],{"class":243},[201,1277,1010],{"class":330},[201,1279,331],{"class":330},[201,1281,359],{"class":228},[201,1283,1284,1286,1288,1290,1292,1294],{"class":203,"line":512},[201,1285,1019],{"class":243},[201,1287,316],{"class":291},[201,1289,351],{"class":243},[201,1291,321],{"class":228},[201,1293,356],{"class":243},[201,1295,359],{"class":228},[201,1297,1298,1301,1303,1305,1307,1309],{"class":203,"line":517},[201,1299,1300],{"class":243},"    PullRequestRecordId ",[201,1302,316],{"class":291},[201,1304,351],{"class":243},[201,1306,321],{"class":228},[201,1308,374],{"class":243},[201,1310,359],{"class":228},[201,1312,1313,1315,1317,1319,1321,1323],{"class":203,"line":525},[201,1314,1148],{"class":243},[201,1316,316],{"class":291},[201,1318,767],{"class":243},[201,1320,321],{"class":228},[201,1322,374],{"class":243},[201,1324,359],{"class":228},[201,1326,1327,1330,1332,1334,1336,1338],{"class":203,"line":539},[201,1328,1329],{"class":243},"    Status ",[201,1331,316],{"class":291},[201,1333,419],{"class":243},[201,1335,321],{"class":228},[201,1337,424],{"class":243},[201,1339,359],{"class":228},[201,1341,1342,1344,1346,1348],{"class":203,"line":546},[201,1343,1070],{"class":243},[201,1345,316],{"class":291},[201,1347,890],{"class":243},[201,1349,359],{"class":228},[201,1351,1352],{"class":203,"line":551},[201,1353,1081],{"class":228},[201,1355,1356,1358,1360,1362,1364],{"class":203,"line":567},[201,1357,887],{"class":217},[201,1359,852],{"class":221},[201,1361,893],{"class":291},[201,1363,913],{"class":291},[201,1365,1366],{"class":221}," ActiveCodeReviewLock\n",[201,1368,1369],{"class":203,"line":583},[201,1370,229],{"class":228},[201,1372,1373,1375,1377,1379,1381,1383],{"class":203,"line":599},[201,1374,1019],{"class":243},[201,1376,316],{"class":291},[201,1378,558],{"class":243},[201,1380,321],{"class":228},[201,1382,356],{"class":243},[201,1384,359],{"class":228},[201,1386,1387,1389,1391,1393,1395,1397],{"class":203,"line":615},[201,1388,1148],{"class":243},[201,1390,316],{"class":291},[201,1392,558],{"class":243},[201,1394,321],{"class":228},[201,1396,578],{"class":243},[201,1398,359],{"class":228},[201,1400,1401,1403,1405,1407,1409,1411],{"class":203,"line":631},[201,1402,1300],{"class":243},[201,1404,316],{"class":291},[201,1406,558],{"class":243},[201,1408,321],{"class":228},[201,1410,594],{"class":243},[201,1412,359],{"class":228},[201,1414,1415,1418,1420,1422,1424,1426],{"class":203,"line":665},[201,1416,1417],{"class":243},"    CodeReviewRecordId ",[201,1419,316],{"class":291},[201,1421,558],{"class":243},[201,1423,321],{"class":228},[201,1425,374],{"class":243},[201,1427,359],{"class":228},[201,1429,1430,1433,1435,1437],{"class":203,"line":670},[201,1431,1432],{"class":243},"    AcquiredAtUtc ",[201,1434,316],{"class":291},[201,1436,890],{"class":243},[201,1438,359],{"class":228},[201,1440,1441,1444,1446,1448,1450,1453,1455,1457],{"class":203,"line":677},[201,1442,1443],{"class":243},"    ExpiresAtUtc ",[201,1445,316],{"class":291},[201,1447,890],{"class":243},[201,1449,321],{"class":228},[201,1451,1452],{"class":262},"AddMinutes",[201,1454,327],{"class":228},[201,1456,659],{"class":658},[201,1458,340],{"class":228},[201,1460,1462],{"class":203,"line":1461},41,[201,1463,1081],{"class":228},[201,1465,1467],{"class":203,"line":1466},42,[201,1468,465],{"emptyLinePlaceholder":464},[201,1470,1472,1475,1477,1480,1482,1485,1487,1490,1492,1494,1496,1498,1500,1502,1504,1506,1508,1510,1512,1514],{"class":203,"line":1471},43,[201,1473,1474],{"class":243},"_db",[201,1476,321],{"class":228},[201,1478,1479],{"class":262},"AddRange",[201,1481,327],{"class":228},[201,1483,1484],{"class":243},"seed",[201,1486,321],{"class":228},[201,1488,1489],{"class":243},"Owner",[201,1491,282],{"class":228},[201,1493,1024],{"class":243},[201,1495,321],{"class":228},[201,1497,1029],{"class":243},[201,1499,282],{"class":228},[201,1501,767],{"class":243},[201,1503,282],{"class":228},[201,1505,351],{"class":243},[201,1507,282],{"class":228},[201,1509,558],{"class":243},[201,1511,282],{"class":228},[201,1513,852],{"class":243},[201,1515,953],{"class":228},[201,1517,1519,1521,1524,1526,1529],{"class":203,"line":1518},44,[201,1520,718],{"class":291},[201,1522,1523],{"class":243}," _db",[201,1525,321],{"class":228},[201,1527,1528],{"class":262},"SaveChangesAsync",[201,1530,867],{"class":228},[1532,1533,1534],"note",{},[181,1535,1536],{},"The anchor type lets the compiler check the next relationship. After a repository, you can add a pull request but not a review. Generated child graft methods accept only their parent's array anchor, so IntelliSense offers the matching child methods.",[176,1538,1540,1543],{"id":1539},"under-siblings-and-other-branches",[198,1541,1542],{},".Under",": siblings and other branches",[181,1545,1546,1547,1550,1551,321],{},"A chain follows one branch at a time. To add a sibling or start another branch, return to a parent you already built with ",[198,1548,1549],{},".Under(x)",". It adds no entities; the next Add attaches to ",[198,1552,1553],{},"x",[185,1555,1559],{"className":187,"code":1556,"filename":1557,"highlights":1558,"language":195,"meta":196,"style":196},"await TestBiome\n    .Start(out _)\n    .AddCodeRepository(out var repo)\n    .AddPullRequest(out var open)\n    .Under(repo) \u002F\u002F back to the repository\n    .AddPullRequest(out var closed, PullRequests.Closed)\n    .AddCodeReview(out var review) \u002F\u002F reviews `closed`\n    .BuildAsync();\n","Siblings",[253],[198,1560,1561,1567,1581,1598,1616,1634,1661,1681],{"__ignoreMap":196},[201,1562,1563,1565],{"class":203,"line":204},[201,1564,718],{"class":291},[201,1566,721],{"class":243},[201,1568,1569,1571,1573,1575,1577,1579],{"class":203,"line":225},[201,1570,726],{"class":228},[201,1572,729],{"class":262},[201,1574,327],{"class":228},[201,1576,734],{"class":207},[201,1578,737],{"class":243},[201,1580,740],{"class":228},[201,1582,1583,1585,1588,1590,1592,1594,1596],{"class":203,"line":232},[201,1584,726],{"class":228},[201,1586,1587],{"class":262},"AddCodeRepository",[201,1589,327],{"class":228},[201,1591,734],{"class":207},[201,1593,764],{"class":217},[201,1595,767],{"class":221},[201,1597,740],{"class":228},[201,1599,1600,1602,1605,1607,1609,1611,1614],{"class":203,"line":247},[201,1601,726],{"class":228},[201,1603,1604],{"class":262},"AddPullRequest",[201,1606,327],{"class":228},[201,1608,734],{"class":207},[201,1610,764],{"class":217},[201,1612,1613],{"class":221}," open",[201,1615,740],{"class":228},[201,1617,1619,1621,1624,1626,1629,1631],{"class":1618,"line":253},[203,267],[201,1620,726],{"class":228},[201,1622,1623],{"class":262},"Under",[201,1625,327],{"class":228},[201,1627,1628],{"class":243},"repo",[201,1630,288],{"class":228},[201,1632,1633],{"class":407}," \u002F\u002F back to the repository\n",[201,1635,1636,1638,1640,1642,1644,1646,1649,1651,1654,1656,1659],{"class":203,"line":259},[201,1637,726],{"class":228},[201,1639,1604],{"class":262},[201,1641,327],{"class":228},[201,1643,734],{"class":207},[201,1645,764],{"class":217},[201,1647,1648],{"class":221}," closed",[201,1650,282],{"class":228},[201,1652,1653],{"class":243}," PullRequests",[201,1655,321],{"class":228},[201,1657,1658],{"class":243},"Closed",[201,1660,740],{"class":228},[201,1662,1663,1665,1668,1670,1672,1674,1676,1678],{"class":203,"line":191},[201,1664,726],{"class":228},[201,1666,1667],{"class":262},"AddCodeReview",[201,1669,327],{"class":228},[201,1671,734],{"class":207},[201,1673,764],{"class":217},[201,1675,558],{"class":221},[201,1677,288],{"class":228},[201,1679,1680],{"class":407}," \u002F\u002F reviews `closed`\n",[201,1682,1683,1685,1687],{"class":203,"line":192},[201,1684,726],{"class":228},[201,1686,864],{"class":262},[201,1688,867],{"class":228},[181,1690,1691,1693,1694,1697,1698,1701],{},[198,1692,1542],{}," accepts a single entity or an ",[685,1695,1696],{},"array",": ",[198,1699,1700],{},".Under(repos)"," fans out across all of them.",[185,1703,1707],{"className":187,"code":1704,"filename":1705,"highlights":1706,"language":195,"meta":196,"style":196},"await TestBiome\n    .Start(out _)\n    .AddCodeRepository(out var repo)\n    .AddPullRequest(out var open) \u002F\u002F #1\n    .AddCodeReview(out var review) \u002F\u002F reviews open\n    .Under(repo)\n    .AddPullRequest(out var closed, PullRequests.Closed) \u002F\u002F #2, sibling of `open`\n    .Under(open)\n    .AddCodeReview(out var otherReview) \u002F\u002F a second review of `open`\n    .BuildAsync();\n","Branches",[259,192],[198,1708,1709,1715,1729,1745,1764,1783,1796,1823,1837,1857],{"__ignoreMap":196},[201,1710,1711,1713],{"class":203,"line":204},[201,1712,718],{"class":291},[201,1714,721],{"class":243},[201,1716,1717,1719,1721,1723,1725,1727],{"class":203,"line":225},[201,1718,726],{"class":228},[201,1720,729],{"class":262},[201,1722,327],{"class":228},[201,1724,734],{"class":207},[201,1726,737],{"class":243},[201,1728,740],{"class":228},[201,1730,1731,1733,1735,1737,1739,1741,1743],{"class":203,"line":232},[201,1732,726],{"class":228},[201,1734,1587],{"class":262},[201,1736,327],{"class":228},[201,1738,734],{"class":207},[201,1740,764],{"class":217},[201,1742,767],{"class":221},[201,1744,740],{"class":228},[201,1746,1747,1749,1751,1753,1755,1757,1759,1761],{"class":203,"line":247},[201,1748,726],{"class":228},[201,1750,1604],{"class":262},[201,1752,327],{"class":228},[201,1754,734],{"class":207},[201,1756,764],{"class":217},[201,1758,1613],{"class":221},[201,1760,288],{"class":228},[201,1762,1763],{"class":407}," \u002F\u002F #1\n",[201,1765,1766,1768,1770,1772,1774,1776,1778,1780],{"class":203,"line":253},[201,1767,726],{"class":228},[201,1769,1667],{"class":262},[201,1771,327],{"class":228},[201,1773,734],{"class":207},[201,1775,764],{"class":217},[201,1777,558],{"class":221},[201,1779,288],{"class":228},[201,1781,1782],{"class":407}," \u002F\u002F reviews open\n",[201,1784,1786,1788,1790,1792,1794],{"class":1785,"line":259},[203,267],[201,1787,726],{"class":228},[201,1789,1623],{"class":262},[201,1791,327],{"class":228},[201,1793,1628],{"class":243},[201,1795,740],{"class":228},[201,1797,1798,1800,1802,1804,1806,1808,1810,1812,1814,1816,1818,1820],{"class":203,"line":191},[201,1799,726],{"class":228},[201,1801,1604],{"class":262},[201,1803,327],{"class":228},[201,1805,734],{"class":207},[201,1807,764],{"class":217},[201,1809,1648],{"class":221},[201,1811,282],{"class":228},[201,1813,1653],{"class":243},[201,1815,321],{"class":228},[201,1817,1658],{"class":243},[201,1819,288],{"class":228},[201,1821,1822],{"class":407}," \u002F\u002F #2, sibling of `open`\n",[201,1824,1826,1828,1830,1832,1835],{"class":1825,"line":192},[203,267],[201,1827,726],{"class":228},[201,1829,1623],{"class":262},[201,1831,327],{"class":228},[201,1833,1834],{"class":243},"open",[201,1836,740],{"class":228},[201,1838,1839,1841,1843,1845,1847,1849,1852,1854],{"class":203,"line":193},[201,1840,726],{"class":228},[201,1842,1667],{"class":262},[201,1844,327],{"class":228},[201,1846,734],{"class":207},[201,1848,764],{"class":217},[201,1850,1851],{"class":221}," otherReview",[201,1853,288],{"class":228},[201,1855,1856],{"class":407}," \u002F\u002F a second review of `open`\n",[201,1858,1859,1861,1863],{"class":203,"line":304},[201,1860,726],{"class":228},[201,1862,864],{"class":262},[201,1864,867],{"class":228},[181,1866,1867,1869,1870,1873,1874,1877,1878,1881,1882,1885,1886,1889],{},[198,1868,1542],{}," takes ",[685,1871,1872],{},"Add outputs"," and the ",[685,1875,1876],{},"seed rows"," you listed in ",[198,1879,1880],{},"SeedEntities"," (for example ",[198,1883,1884],{},".Under(seed.Owner)","). A hand-built object, or an untracked part of an aggregate, can't be a parent, and Biome throws ",[198,1887,1888],{},"ArgumentException"," naming the offending index.",[176,1891,1893],{"id":1892},"anchors-and-sibling-blueprints","Anchors and sibling blueprints",[181,1895,1896,1897,1900,1901,1004],{},"Siblings that share a parent are separate branches. The library's ",[198,1898,1899],{},"ProjectManagement"," tests attach checklist items and comments to the same cards by jumping back with ",[198,1902,1903],{},".Under(cards)",[185,1905,1909],{"className":187,"code":1906,"filename":1907,"highlights":1908,"language":195,"meta":196,"style":196},"await biome\n    .AddWorkspaces(out var workspaces, 2)\n    .AddProjects(out _, 2)\n    .AddBoards(out _, 1)\n    .AddColumns(out var columns, 2)\n    .AddCards(out var cards, 3)\n    .AddChecklistItems(out var checklist, 4)\n    \u002F\u002F Comments attach to cards, so jump back from\n    \u002F\u002F checklist leaves to the saved card output.\n    .Under(cards)\n    .AddComments(out var comments, 2)\n    .BuildAsync();\n","ProjectManagementTests.cs",[192,193,304],[198,1910,1911,1918,1941,1960,1979,2001,2024,2047,2053,2059,2073,2095],{"__ignoreMap":196},[201,1912,1913,1915],{"class":203,"line":204},[201,1914,718],{"class":291},[201,1916,1917],{"class":243}," biome\n",[201,1919,1920,1922,1925,1927,1929,1931,1934,1936,1939],{"class":203,"line":225},[201,1921,726],{"class":228},[201,1923,1924],{"class":262},"AddWorkspaces",[201,1926,327],{"class":228},[201,1928,734],{"class":207},[201,1930,764],{"class":217},[201,1932,1933],{"class":221}," workspaces",[201,1935,282],{"class":228},[201,1937,1938],{"class":658}," 2",[201,1940,740],{"class":228},[201,1942,1943,1945,1948,1950,1952,1954,1956,1958],{"class":203,"line":232},[201,1944,726],{"class":228},[201,1946,1947],{"class":262},"AddProjects",[201,1949,327],{"class":228},[201,1951,734],{"class":207},[201,1953,737],{"class":243},[201,1955,282],{"class":228},[201,1957,1938],{"class":658},[201,1959,740],{"class":228},[201,1961,1962,1964,1967,1969,1971,1973,1975,1977],{"class":203,"line":247},[201,1963,726],{"class":228},[201,1965,1966],{"class":262},"AddBoards",[201,1968,327],{"class":228},[201,1970,734],{"class":207},[201,1972,737],{"class":243},[201,1974,282],{"class":228},[201,1976,1168],{"class":658},[201,1978,740],{"class":228},[201,1980,1981,1983,1986,1988,1990,1992,1995,1997,1999],{"class":203,"line":253},[201,1982,726],{"class":228},[201,1984,1985],{"class":262},"AddColumns",[201,1987,327],{"class":228},[201,1989,734],{"class":207},[201,1991,764],{"class":217},[201,1993,1994],{"class":221}," columns",[201,1996,282],{"class":228},[201,1998,1938],{"class":658},[201,2000,740],{"class":228},[201,2002,2003,2005,2008,2010,2012,2014,2017,2019,2022],{"class":203,"line":259},[201,2004,726],{"class":228},[201,2006,2007],{"class":262},"AddCards",[201,2009,327],{"class":228},[201,2011,734],{"class":207},[201,2013,764],{"class":217},[201,2015,2016],{"class":221}," cards",[201,2018,282],{"class":228},[201,2020,2021],{"class":658}," 3",[201,2023,740],{"class":228},[201,2025,2026,2028,2031,2033,2035,2037,2040,2042,2045],{"class":203,"line":191},[201,2027,726],{"class":228},[201,2029,2030],{"class":262},"AddChecklistItems",[201,2032,327],{"class":228},[201,2034,734],{"class":207},[201,2036,764],{"class":217},[201,2038,2039],{"class":221}," checklist",[201,2041,282],{"class":228},[201,2043,2044],{"class":658}," 4",[201,2046,740],{"class":228},[201,2048,2050],{"class":2049,"line":192},[203,267],[201,2051,2052],{"class":407},"    \u002F\u002F Comments attach to cards, so jump back from\n",[201,2054,2056],{"class":2055,"line":193},[203,267],[201,2057,2058],{"class":407},"    \u002F\u002F checklist leaves to the saved card output.\n",[201,2060,2062,2064,2066,2068,2071],{"class":2061,"line":304},[203,267],[201,2063,726],{"class":228},[201,2065,1623],{"class":262},[201,2067,327],{"class":228},[201,2069,2070],{"class":243},"cards",[201,2072,740],{"class":228},[201,2074,2075,2077,2080,2082,2084,2086,2089,2091,2093],{"class":203,"line":310},[201,2076,726],{"class":228},[201,2078,2079],{"class":262},"AddComments",[201,2081,327],{"class":228},[201,2083,734],{"class":207},[201,2085,764],{"class":217},[201,2087,2088],{"class":221}," comments",[201,2090,282],{"class":228},[201,2092,1938],{"class":658},[201,2094,740],{"class":228},[201,2096,2097,2099,2101],{"class":203,"line":343},[201,2098,726],{"class":228},[201,2100,864],{"class":262},[201,2102,867],{"class":228},[2104,2105,2106],"tip",{},[181,2107,2108,2109,2112,2113,2115,2116,2119,2120,2123,2124,2127],{},"Capture an entity with ",[198,2110,2111],{},"out var x"," when you intend to ",[198,2114,1549],{}," later. Keep the starting builder (",[198,2117,2118],{},"var biome = TestBiome.Start(...)",") when you also want ",[198,2121,2122],{},"biome.All\u003CT>()"," and ",[198,2125,2126],{},"biome.Last\u003CT>()"," to inspect entities a helper created.",[176,2129,2131],{"id":2130},"errors-you-may-see","Errors you may see",[2133,2134,2135,2148],"table",{},[2136,2137,2138],"thead",{},[2139,2140,2141,2145],"tr",{},[2142,2143,2144],"th",{},"Message",[2142,2146,2147],{},"Cause",[2149,2150,2151,2165,2181,2193],"tbody",{},[2139,2152,2153,2159],{},[2154,2155,2156],"td",{},[198,2157,2158],{},"A singular child AddOne requires exactly one parent",[2154,2160,2161,2162,321],{},"The previous step produced several (or zero) parents. Use the plural Add or ",[198,2163,2164],{},".Under(repos[0])",[2139,2166,2167,2172],{},[2154,2168,2169],{},[198,2170,2171],{},"No ancestor of type X exists…",[2154,2173,2174,2175,2178,2179,321],{},"A blueprint walks up to ",[198,2176,2177],{},"X",", but the chain skipped ",[198,2180,2177],{},[2139,2182,2183,2188],{},[2154,2184,2185],{},[198,2186,2187],{},"Parent at index N … is not owned by this biome session",[2154,2189,2190,2192],{},[198,2191,1542],{}," was given an object Biome didn't build or select as seed.",[2139,2194,2195,2200],{},[2154,2196,2197],{},[198,2198,2199],{},"This biome session is faulted because an earlier Add failed",[2154,2201,2202],{},"An earlier Add threw. Fix that error; the session cannot continue.",[2204,2205,2206],"warning",{},[181,2207,2208],{},"An Add that fails may have created only part of its step. Biome marks that session faulted instead of allowing more setup on an incomplete graph. Look for the first exception, fix its cause, and start a new session.",[2210,2211,2212],"style",{},"html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sG8yY, html code.shiki .sG8yY{--shiki-light:#E2931D;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .syTEX, html code.shiki .syTEX{--shiki-light:#FF5370;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":196,"searchDepth":204,"depth":225,"links":2214},[2215,2216,2217,2219,2220],{"id":178,"depth":225,"text":179},{"id":695,"depth":225,"text":696},{"id":1539,"depth":225,"text":2218},".Under: siblings and other branches",{"id":1892,"depth":225,"text":1893},{"id":2130,"depth":225,"text":2131},"Typed parents, the anchor rule, ancestors, and jumping back with Under.","md",null,{},{"icon":49},{"title":46,"description":2221},"nK9Q1j6Bb0kuUw5glDbYQgDQJyYW-Ukrf8UR9nDX3Lw",[2229,2231],{"title":41,"path":42,"stem":43,"description":2230,"icon":44,"children":-1},"How customizers and defaults work together, and why their order matters.",{"title":51,"path":52,"stem":53,"description":2232,"icon":54,"children":-1},"Child counts and customizers multiply per parent, and come back as one flat array.",1791831051792]