[{"data":1,"prerenderedAt":2758},["ShallowReactive",2],{"$fp-rOOnce7HPNUtPcdzeThQtCkMXnKIn3xRULGti4dac":3,"$fAJ7zuBxcmCbGHQiqrtpgKBLpQJywdgLdjcX2-cqPiRI":175},{"blueprints":4},[5,22,38,51,63,75,84,94,106,116,124,134,146,154,165],{"slug":6,"title":7,"summary":8,"category":9,"logo":10,"cover":11,"tags":12,"stats":15,"publishedAt":21},"bookmark-manager","Bookmark Manager","A private library of links you save yourself, from browser, phone or a browser's export, filed and tagged, with your own AI agent suggesting tidying.","productivity","\u002F_blueprints\u002Fbookmark-manager.logo.svg","\u002F_blueprints\u002Fbookmark-manager.cover.webp",[13,14],"agentic","single-user",{"entities":16,"capabilities":17,"journeys":18,"scenarios":19,"rules":20},7,15,3,37,18,"2026-10-07T14:20:29+03:00",{"slug":23,"title":24,"summary":25,"category":26,"logo":27,"cover":28,"tags":29,"stats":33,"publishedAt":21},"code-snippet-sharing","Code Snippet Sharing","Keep code snippets with their language, description and tags, share them by unlisted link or in public, fork others' public snippets, and revise code with kept history.","dev-tools","\u002F_blueprints\u002Fcode-snippet-sharing.logo.svg","\u002F_blueprints\u002Fcode-snippet-sharing.cover.webp",[30,31,32],"ai-assisted","multi-user","public",{"entities":34,"capabilities":35,"journeys":36,"scenarios":37,"rules":35},4,9,1,26,{"slug":39,"title":40,"summary":41,"category":9,"logo":42,"cover":43,"tags":44,"stats":45,"publishedAt":50},"content-feed-reader","Content Feed Reader","Follow feeds, catch up and keep worthwhile items in a private web or mobile library, and publish read-only collections for the web.","\u002F_blueprints\u002Fcontent-feed-reader.logo.svg","\u002F_blueprints\u002Fcontent-feed-reader.cover.webp",[32,14],{"entities":46,"capabilities":47,"journeys":48,"scenarios":49,"rules":17},6,20,2,39,"2026-08-04T15:46:50+03:00",{"slug":52,"title":53,"summary":54,"category":55,"logo":56,"cover":57,"tags":58,"stats":59,"publishedAt":21},"event-rsvp","Event RSVP","Create an event, share one invitation link, collect going, maybe and not going answers without guest accounts, keep a waitlist once it is full, and message the guests.","community","\u002F_blueprints\u002Fevent-rsvp.logo.svg","\u002F_blueprints\u002Fevent-rsvp.cover.webp",[30,31,32],{"entities":60,"capabilities":35,"journeys":48,"scenarios":61,"rules":62},5,33,11,{"slug":64,"title":65,"summary":66,"category":67,"logo":68,"cover":69,"tags":70,"stats":71,"publishedAt":21},"flashcard-app","Flashcard App","Build flashcard decks, study what is due with spaced repetition on the web or a phone, draft cards from pasted notes, and share decks for others to copy.","education","\u002F_blueprints\u002Fflashcard-app.logo.svg","\u002F_blueprints\u002Fflashcard-app.cover.webp",[30,31],{"entities":34,"capabilities":72,"journeys":48,"scenarios":73,"rules":74},14,29,13,{"slug":76,"title":77,"summary":78,"category":55,"logo":79,"cover":80,"tags":81,"stats":82,"publishedAt":21},"form-and-survey-builder","Form & Survey Builder","Build a form or survey, share it through a public link, collect answers from people without accounts, and review, summarize and export what came back.","\u002F_blueprints\u002Fform-and-survey-builder.logo.svg","\u002F_blueprints\u002Fform-and-survey-builder.cover.webp",[30,31,32],{"entities":46,"capabilities":20,"journeys":36,"scenarios":83,"rules":20},34,{"slug":85,"title":86,"summary":87,"category":9,"logo":88,"cover":89,"tags":90,"stats":91,"publishedAt":21},"habit-tracker","Habit Tracker","Define habits on a daily, chosen-day or weekly schedule, check them off, follow their streaks, pause one without losing it, and read an optional weekly reflection.","\u002F_blueprints\u002Fhabit-tracker.logo.svg","\u002F_blueprints\u002Fhabit-tracker.cover.webp",[30,14],{"entities":60,"capabilities":92,"journeys":48,"scenarios":93,"rules":17},12,30,{"slug":95,"title":96,"summary":97,"category":98,"logo":99,"cover":100,"tags":101,"stats":102,"publishedAt":21},"kanban-board","Kanban Board","Plan and track a small team's work on shared boards of columns and cards, with stalled work flagged and an AI agent proposing the next cards.","collaboration","\u002F_blueprints\u002Fkanban-board.logo.svg","\u002F_blueprints\u002Fkanban-board.cover.webp",[13,31],{"entities":35,"capabilities":103,"journeys":36,"scenarios":104,"rules":105},23,44,32,{"slug":107,"title":108,"summary":109,"category":9,"logo":110,"cover":111,"tags":112,"stats":113,"publishedAt":21},"notes-app","Notes App","Capture quick notes into an inbox, file them into notebooks, tag and link them, find them again, and let your own AI agent suggest where they belong.","\u002F_blueprints\u002Fnotes-app.logo.svg","\u002F_blueprints\u002Fnotes-app.cover.webp",[13,14],{"entities":46,"capabilities":74,"journeys":36,"scenarios":114,"rules":115},31,17,{"slug":117,"title":118,"summary":119,"category":98,"logo":120,"cover":121,"tags":122,"stats":123,"publishedAt":21},"polls-and-decisions","Polls & Decisions","Put a question to the team as a poll, vote and argue while it is open, and keep the outcome as a decision the team can look up.","\u002F_blueprints\u002Fpolls-and-decisions.logo.svg","\u002F_blueprints\u002Fpolls-and-decisions.cover.webp",[30,31],{"entities":60,"capabilities":62,"journeys":36,"scenarios":73,"rules":74},{"slug":125,"title":126,"summary":127,"category":26,"logo":128,"cover":129,"tags":130,"stats":131,"publishedAt":21},"public-status-page","Public Status Page","Publish a public page of your components and their current status, keep visitors informed through incidents and scheduled maintenance, and email confirmed subscribers every update an operator posts.","\u002F_blueprints\u002Fpublic-status-page.logo.svg","\u002F_blueprints\u002Fpublic-status-page.cover.webp",[30,31,32],{"entities":16,"capabilities":72,"journeys":36,"scenarios":132,"rules":133},28,19,{"slug":135,"title":136,"summary":137,"category":67,"logo":138,"cover":139,"tags":140,"stats":141,"publishedAt":21},"quiz-builder","Quiz Builder","Build quizzes of multiple-choice, true\u002Ffalse and short-answer questions, share them by link or with a class, score each learner's one attempt, and practice what was missed.","\u002F_blueprints\u002Fquiz-builder.logo.svg","\u002F_blueprints\u002Fquiz-builder.cover.webp",[30,31],{"entities":142,"capabilities":143,"journeys":48,"scenarios":144,"rules":145},10,22,45,24,{"slug":147,"title":148,"summary":149,"category":67,"logo":150,"cover":151,"tags":152,"stats":153,"publishedAt":21},"study-planner","Study Planner","Set dated study goals with estimated topics, get a schedule built around your weekly hours, log what you study, and let your AI agent propose revisions.","\u002F_blueprints\u002Fstudy-planner.logo.svg","\u002F_blueprints\u002Fstudy-planner.cover.webp",[13,14],{"entities":46,"capabilities":115,"journeys":48,"scenarios":83,"rules":103},{"slug":155,"title":156,"summary":157,"category":98,"logo":158,"cover":159,"tags":160,"stats":161,"publishedAt":21},"team-wiki","Team Wiki","Keep a team's knowledge in permissioned spaces of nested pages with revision history, find it by search, and let members' AI agents answer from it and suggest updates.","\u002F_blueprints\u002Fteam-wiki.logo.svg","\u002F_blueprints\u002Fteam-wiki.cover.webp",[13,31],{"entities":162,"capabilities":163,"journeys":48,"scenarios":164,"rules":47},8,16,41,{"slug":166,"title":167,"summary":168,"category":26,"logo":169,"cover":170,"tags":171,"stats":173,"publishedAt":21},"url-shortener","URL Shortener","Turn long addresses into short links on the web or through an API, disable them or let them expire, and see how often and where they are followed.","\u002F_blueprints\u002Furl-shortener.logo.svg","\u002F_blueprints\u002Furl-shortener.cover.webp",[172,32,14],"api",{"entities":46,"capabilities":142,"journeys":174,"scenarios":47,"rules":92},0,{"blueprint":176},{"slug":6,"publishedAt":21,"reportDigest":177,"logo":10,"cover":11,"report":178,"source":2755},"6db30f2acebc942c420b95150d8573b9991ef628be0f830b005ceae728d7fdbb",{"schemaVersion":179,"id":6,"title":7,"summary":8,"description":180,"category":9,"authors":181,"license":184,"intent":185,"supportingSections":186,"references":187,"referenceProfile":193,"tags":194,"languages":195,"generatedAt":197,"generator":198,"counts":201,"limitations":202,"model":209,"coverage":2750},"19.0.0","A personal library of links. The Owner saves a page from the browser or from\nany app on their phone, files it into a collection, gives it tags and a note,\nand finds it again by searching or browsing. Bookmarks kept in a browser come\nin from an export file, and an AI agent the Owner connects can classify them,\nfind the pages kept twice, and propose collections.",[182],{"name":183},"pdd-kit","MIT","Links worth keeping get lost in open tabs, chats and half-remembered searches,\nand a browser's bookmarks bar fills up faster than anyone files it. Make\nkeeping a link cheaper than losing it, and finding it again faster than\nsearching the web for it twice. The library is the Owner's alone: their AI\nagent reads it and suggests collections, tags and merges, and nothing changes\nuntil the Owner accepts.",[],[188],{"kind":189,"role":190,"target":191,"title":192},"research","context","https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fblob\u002Fmain\u002Fblueprints\u002Fbookmark-manager\u002Freferences\u002Fassumptions.md","Bookmark assumptions","portable",[13,14],[196],"en","2026-10-12",{"name":199,"version":200},"pdd-kit-cli","0.34.1",{"interfaces":18,"experiences":174,"screens":35,"domains":48,"entities":16,"capabilities":17,"capabilityScenarios":83,"journeys":18,"journeyScenarios":18,"businessRules":20,"variations":174},[203,204,205,206,207,208],"A library belongs to one person. There is no sharing, public collection, or collaboration.","Import reads a bookmarks file exported from a browser. Nothing stays in sync with a browser, and nothing is exported back to one.","The Product keeps links, not copies of pages. It does not archive page contents or check whether a link still works.","Tags are never renamed. A tag is removed when the last bookmark carrying it loses it.","The Owner signs in with an existing account; signing up and managing accounts are not part of this product.","Bring your own AI agent; the Product does not include one.",{"taxonomies":210,"interfaces":224,"experiences":262,"screens":263,"domains":512,"entities":525,"capabilities":658,"capabilityScenarios":790,"journeys":2268,"journeyScenarios":2302,"businessRules":2455,"variations":2749},{"scenarioKinds":211},[212,216,220],{"id":213,"name":214,"description":215,"colorSlot":46},"edge","Edge case","An uncommon but expected path with a distinct observable outcome.",{"id":217,"name":218,"description":219,"colorSlot":36},"primary","Primary","The expected observable behavior path.",{"id":221,"name":222,"description":223,"colorSlot":18},"validation","Validation","Input the Product refuses while preserving the Actor's work.",[225,237,250],{"id":226,"title":227,"description":228,"type":229,"actorIds":230,"entryPoints":232,"languages":233,"intent":234,"supportingSections":235,"references":236},"bookmarks-agent","Agent connection","The supported surface through which an AI agent the Owner connected reads their\nbookmarks, collections and tags and leaves filing and duplicate suggestions. It\noffers no way to change the library: whatever the agent proposes waits for the\nOwner on the web.","agent",[231],"ai-agent",[],[],"",[],[],{"id":238,"title":239,"description":240,"type":241,"actorIds":242,"entryPoints":244,"languages":247,"intent":234,"supportingSections":248,"references":249},"bookmarks-mobile","Bookmarks mobile application","The supported mobile Interface for keeping and finding links on a phone:\nsaving a page shared from any other app, finding, editing and deleting\nbookmarks. Collections are created and changed, browser bookmarks imported,\nand suggestions decided on the web.","mobile-app",[243],"owner",[245],{"type":241,"path":246},"bookmarks:\u002F\u002Flibrary",[],[],[],{"id":251,"title":252,"description":253,"type":254,"actorIds":255,"entryPoints":256,"languages":259,"intent":234,"supportingSections":260,"references":261},"bookmarks-web","Bookmarks web application","The supported browser Interface for the Owner's whole library: saving links,\nincluding from a button in the browser, finding and editing bookmarks, filing\nthem into collections, importing a browser's bookmarks, and deciding the\nsuggestions the Owner's AI agent leaves, which are presented here and nowhere\nelse.","web",[243],[257],{"type":254,"path":258},"\u002F",[],[],[],[],[264,309,337,362,384,410,427,447,469],{"id":265,"title":266,"description":267,"capabilityIds":268,"entities":274,"capabilityScenarioIds":295,"journeyScenarioIds":302,"entryPoints":304,"intent":234,"supportingSections":307,"references":308},"bookmarks-mobile::bookmark","Bookmark","One bookmark with everything the library keeps about it. The Owner changes\nits title, note and collection here, tags and untags it, opens the page it\nleads to, or deletes it.",[269,270,271,272,273],"delete-bookmark","edit-bookmark","save-bookmark","tag-bookmark","untag-bookmark",[275,286,291],{"entityId":276,"shows":277,"collects":285},"bookmark",[278,279,280,281,282,283,284],"Address","Collection","Imported from folder","Note","Saved at","Tags","Title",[279,281,283,284],{"entityId":287,"shows":288,"collects":290},"collection",[289],"Name",[],{"entityId":292,"shows":293,"collects":294},"tag",[289],[],[296,297,298,299,300,301],"delete-a-bookmark","edit-a-bookmark","remove-the-last-use-of-a-tag","save-an-address-already-kept","tag-a-bookmark","untag-a-bookmark",[303],"refile-a-link-already-kept",[305],{"type":238,"path":306},"bookmarks:\u002F\u002Fbookmarks\u002F:bookmarkId",[],[],{"id":310,"title":311,"description":312,"capabilityIds":313,"entities":315,"capabilityScenarioIds":325,"journeyScenarioIds":329,"entryPoints":330,"intent":234,"supportingSections":332,"references":336},"bookmarks-mobile::library","Library","Presents the Owner's bookmarks newest first. The Owner searches them, narrows\nthem to a collection, a tag or the Unsorted bookmarks, and opens a bookmark or\nthe page it leads to.",[314,269,270],"browse-library",[316,319,322],{"entityId":276,"shows":317,"collects":318},[278,279,281,282,283,284],[],{"entityId":287,"shows":320,"collects":321},[289],[],{"entityId":292,"shows":323,"collects":324},[289],[],[326,296,297,327,328],"browse-a-collection","find-a-bookmark-by-search","narrow-the-library-to-a-tag",[],[331],{"type":238,"path":246},[333],{"heading":334,"content":335},"Counterpart note","`bookmarks-web::library` is the same place on the web, where a collection\nopens in a place of its own.",[],{"id":338,"title":339,"description":340,"capabilityIds":341,"entities":342,"capabilityScenarioIds":352,"journeyScenarioIds":356,"entryPoints":357,"intent":234,"supportingSections":360,"references":361},"bookmarks-mobile::save-link","Save link","Opens over another app when the Owner shares a page to the Product, with the\nshared address and the title read from the page, and lets them change the\ntitle and add a note, tags and an existing collection before saving.",[271],[343,346,349],{"entityId":276,"shows":344,"collects":345},[278,284],[279,281,283,284],{"entityId":287,"shows":347,"collects":348},[289],[],{"entityId":292,"shows":350,"collects":351},[289],[],[353,354,355,299],"refuse-an-address-that-is-not-a-web-address","save-a-link","save-a-page-that-cannot-be-reached",[303],[358],{"type":238,"path":359},"bookmarks:\u002F\u002Fsave",[],[],{"id":363,"title":266,"description":364,"capabilityIds":365,"entities":366,"capabilityScenarioIds":376,"journeyScenarioIds":377,"entryPoints":379,"intent":234,"supportingSections":382,"references":383},"bookmarks-web::bookmark","One bookmark with everything the library keeps about it, including where it\ncame from when it arrived by import. The Owner changes its title, note and\ncollection here, tags and untags it, opens the page it leads to, or deletes it.",[269,270,271,272,273],[367,370,373],{"entityId":276,"shows":368,"collects":369},[278,279,280,281,282,283,284],[279,281,283,284],{"entityId":287,"shows":371,"collects":372},[289],[],{"entityId":292,"shows":374,"collects":375},[289],[],[296,297,298,299,300,301],[378,303],"file-imported-bookmarks",[380],{"type":251,"path":381},"\u002Fbookmarks\u002F:bookmarkId",[],[],{"id":385,"title":279,"description":386,"capabilityIds":387,"entities":391,"capabilityScenarioIds":398,"journeyScenarioIds":403,"entryPoints":405,"intent":234,"supportingSections":408,"references":409},"bookmarks-web::collection","One collection, opened to work in: its name and the bookmarks filed in it,\nnewest first. The Owner saves a link straight into it, renames or deletes the\ncollection here, and opens its bookmarks. A new collection opens here, empty.",[314,388,389,390,271],"create-collection","delete-collection","rename-collection",[392,395],{"entityId":276,"shows":393,"collects":394},[278,282,283,284],[],{"entityId":287,"shows":396,"collects":397},[289],[],[326,399,400,401,402],"create-a-collection","delete-a-collection-and-keep-its-bookmarks","rename-a-collection","save-a-link-into-an-open-collection",[404],"create-a-collection-and-save-its-first-link",[406],{"type":251,"path":407},"\u002Fcollections\u002F:collectionId",[],[],{"id":411,"title":412,"description":413,"capabilityIds":414,"entities":416,"capabilityScenarioIds":417,"journeyScenarioIds":421,"entryPoints":422,"intent":234,"supportingSections":425,"references":426},"bookmarks-web::import","Import","Takes a bookmarks file exported from a browser and reports how many bookmarks\nit added and how many it skipped because the library already kept their\naddress, then opens the Library on the Unsorted bookmarks it added.",[415],"import-bookmarks",[],[418,419,420],"import-a-browser-export","import-a-file-the-library-already-holds","refuse-a-file-that-is-not-a-bookmarks-export",[378],[423],{"type":251,"path":424},"\u002Fimport",[],[],{"id":428,"title":311,"description":429,"capabilityIds":430,"entities":431,"capabilityScenarioIds":441,"journeyScenarioIds":442,"entryPoints":443,"intent":234,"supportingSections":445,"references":446},"bookmarks-web::library","Presents the Owner's bookmarks newest first, each with its title, address,\ntags, collection and, for an imported one, the browser folder it came from. The\nOwner searches them, narrows them to a tag or to the\nUnsorted bookmarks filed in no collection, picks a collection to open, and\nopens a bookmark or the page it leads to.",[314,269,389,270,415],[432,435,438],{"entityId":276,"shows":433,"collects":434},[278,279,280,281,282,283,284],[],{"entityId":287,"shows":436,"collects":437},[289],[],{"entityId":292,"shows":439,"collects":440},[289],[],[326,296,400,297,327,418,328],[378],[444],{"type":251,"path":258},[],[],{"id":448,"title":339,"description":449,"capabilityIds":450,"entities":451,"capabilityScenarioIds":461,"journeyScenarioIds":463,"entryPoints":464,"intent":234,"supportingSections":467,"references":468},"bookmarks-web::save-link","Takes the Owner through keeping one page: its address, pasted or brought by\nthe browser button from the page they are on; the title the Product read from\nthe page, which the Owner may change; and an optional note, tags and\ncollection, including a new collection made on the spot. Opened from a\ncollection, it has that collection chosen.",[388,271],[452,455,458],{"entityId":276,"shows":453,"collects":454},[278,284],[278,279,281,283,284],{"entityId":287,"shows":456,"collects":457},[289],[],{"entityId":292,"shows":459,"collects":460},[289],[],[462,353,354,402,355,299],"create-a-collection-while-saving-a-link",[404,303],[465],{"type":251,"path":466},"\u002Fsave?url=:address",[],[],{"id":470,"title":471,"description":472,"capabilityIds":473,"entities":478,"capabilityScenarioIds":497,"journeyScenarioIds":505,"entryPoints":506,"intent":509,"supportingSections":510,"references":511},"bookmarks-web::suggestions","Suggestions","Presents the proposed suggestions the Owner's AI agent left, each with the\nbookmarks it names and the agent's reason: where to file bookmarks and which\ntags to add, and which bookmarks lead to the same page. The Owner accepts or\ndismisses each one; accepting a duplicate suggestion merges its bookmarks.",[474,475,476,477],"accept-duplicate-suggestion","accept-filing-suggestion","dismiss-duplicate-suggestion","dismiss-filing-suggestion",[479,482,485,492],{"entityId":276,"shows":480,"collects":481},[278,282,284],[],{"entityId":287,"shows":483,"collects":484},[289],[],{"entityId":486,"shows":487,"collects":491},"duplicate-suggestion",[488,489,490],"Kept bookmark","Reason","Shared page",[488],{"entityId":493,"shows":494,"collects":496},"filing-suggestion",[279,489,495],"Tags to add",[],[498,499,500,501,502,503,504],"dismiss-a-duplicate-suggestion","dismiss-a-filing-suggestion","file-into-a-new-collection","file-into-an-existing-collection","find-nothing-left-to-file","find-one-bookmark-left-to-merge","merge-the-bookmarks-of-a-duplicate-suggestion",[],[507],{"type":251,"path":508},"\u002Fsuggestions","Keep every change the AI agent proposes in one place where the Owner decides\nit, and nowhere it could take effect on its own.",[],[],[513,519],{"id":514,"name":311,"description":515,"boundary":516,"colorSlot":36,"intent":234,"supportingSections":517,"references":518},"library","The Owner's bookmarks and how they find them again: saving a link, describing\nit with a title and note, tagging it, filing it into a collection, browsing and\nsearching, and deleting it. Collections are opened from the Library rather than\nfrom a section of their own, so creating, renaming and deleting them belong\nhere too.","Owns bookmarks, the tags they carry and the collections they are filed in. It\ndoes not own importing a browser's bookmarks, or the AI agent's suggestions\nabout the library.",[],[],{"id":520,"name":471,"description":521,"boundary":522,"colorSlot":48,"intent":234,"supportingSections":523,"references":524},"suggestions","An AI agent's proposals for tidying the library and the Owner's decisions about\nthem: leaving suggestions, accepting a filing or a merge, and dismissing what\ndoes not fit.","Owns suggestions and their decisions. It does not own the bookmarks and\ncollections a suggestion names; those change only through the Owner's decision.",[],[],[526,541,566,577,605,629,648],{"id":231,"title":527,"description":528,"kind":529,"acts":530,"singleton":531,"informationKept":532,"relations":533,"states":538,"intent":234,"supportingSections":539,"references":540},"AI agent","An AI agent harness an Owner connects to their library. It chooses what to\nread, what to propose and when to look. It reads their bookmarks, collections\nand tags, and leaves each thing it proposes as a suggestion with its reason.","system","external",false,[],[534,537],{"entityId":493,"verb":535,"cardinality":536},"leaves","one-to-many",{"entityId":486,"verb":535,"cardinality":536},[],[],[],{"id":276,"title":266,"description":542,"domainId":514,"kind":543,"acts":543,"singleton":531,"informationKept":544,"relations":559,"states":563,"intent":234,"supportingSections":564,"references":565},"One link the Owner kept, with what they want to remember about it.",null,[545,547,549,551,553,555,557],{"name":284,"description":546},"what the bookmark is called; the page's own title unless the Owner changed it",{"name":278,"description":548},"the web address it opens",{"name":281,"description":550},"what the Owner wrote about it, if anything",{"name":283,"description":552},"the tags it carries, if any",{"name":279,"description":554},"the one collection it is filed in; none while it is Unsorted",{"name":282,"description":556},"when it entered the library",{"name":280,"description":558},"the browser folder it came from, when it arrived by import",[560],{"entityId":292,"verb":561,"cardinality":562},"carries","many-to-many",[],[],[],{"id":287,"title":279,"description":567,"domainId":514,"kind":543,"acts":543,"singleton":531,"informationKept":568,"relations":571,"states":574,"intent":234,"supportingSections":575,"references":576},"A named place the Owner files bookmarks in. A bookmark is in at most one\ncollection; one filed in none is Unsorted.",[569],{"name":289,"description":570},"the name the Owner or an accepted suggestion gave it, unique in the library",[572],{"entityId":276,"verb":573,"cardinality":536},"holds",[],[],[],{"id":486,"title":578,"description":579,"domainId":520,"kind":543,"acts":543,"singleton":531,"informationKept":580,"relations":587,"states":590,"intent":234,"supportingSections":603,"references":604},"Duplicate suggestion","An AI agent's proposal that two or more bookmarks lead to the same page and\nshould be merged into one.",[581,583,585],{"name":490,"description":582},"the page every bookmark in it leads to, however each address is written",{"name":488,"description":584},"the bookmark a merge keeps: the agent's choice until the Owner picks another",{"name":489,"description":586},"the agent's short explanation of why the bookmarks are the same page",[588],{"entityId":276,"verb":589,"cardinality":562},"groups",[591,594,597,600],{"name":592,"content":593},"Proposed","Waiting for the Owner to decide. Every bookmark in it is still in the library.",{"name":595,"content":596},"Accepted","The Owner accepted it, and its bookmarks were merged: the kept bookmark\ncarries the others' tags and notes, and the others are gone.",{"name":598,"content":599},"Dismissed","The Owner dismissed it. Every bookmark stays, and the same set cannot be\nsuggested again.",{"name":601,"content":602},"Outdated","All but one of its bookmarks were deleted before the Owner decided, so the\nProduct closed it with nothing left to merge.",[],[],{"id":493,"title":606,"description":607,"domainId":520,"kind":543,"acts":543,"singleton":531,"informationKept":608,"relations":615,"states":618,"intent":234,"supportingSections":627,"references":628},"Filing suggestion","An AI agent's proposal to file one or more bookmarks into a collection,\nexisting or new, and to add tags to them.",[609,611,613],{"name":279,"description":610},"the existing collection, or the name of a new one, it would file the bookmarks in",{"name":495,"description":612},"the tags it would add to each of the bookmarks, if any",{"name":489,"description":614},"the agent's short explanation of why the bookmarks belong there",[616],{"entityId":276,"verb":617,"cardinality":562},"covers",[619,621,623,625],{"name":592,"content":620},"Waiting for the Owner to decide. Nothing in the library has changed.",{"name":595,"content":622},"The Owner accepted it, and its bookmarks were filed and tagged as it said.",{"name":598,"content":624},"The Owner dismissed it. Nothing changed, and the same suggestion cannot be\nleft again.",{"name":601,"content":626},"Every bookmark it covered was deleted before the Owner decided, so the Product\nclosed it with nothing left to file.",[],[],{"id":243,"title":630,"description":631,"kind":632,"acts":530,"singleton":531,"informationKept":633,"relations":634,"states":645,"intent":234,"supportingSections":646,"references":647},"Owner","The one person whose library this is. The Owner saves, files, tags, finds and\ndeletes bookmarks, imports them from a browser, and decides every suggestion\ntheir AI agent leaves, which reaches them even after the bookmarks it names\nare gone.","person",[],[635,637,638,639,641,642],{"entityId":276,"verb":636,"cardinality":536},"owns",{"entityId":287,"verb":636,"cardinality":536},{"entityId":292,"verb":636,"cardinality":536},{"entityId":493,"verb":640,"cardinality":536},"receives",{"entityId":486,"verb":640,"cardinality":536},{"entityId":231,"verb":643,"cardinality":644},"connects","one-to-one",[],[],[],{"id":292,"title":649,"description":650,"domainId":514,"kind":543,"acts":543,"singleton":531,"informationKept":651,"relations":654,"states":655,"intent":234,"supportingSections":656,"references":657},"Tag","A label the Owner puts on bookmarks to find them across collections. A tag\nexists while at least one bookmark carries it.",[652],{"name":289,"description":653},"the word the Owner tags with",[],[],[],[],[659,667,675,684,692,701,709,717,725,734,746,755,763,772,781],{"id":474,"title":660,"description":661,"domainId":520,"availability":662,"intent":664,"supportingSections":665,"references":666},"Duplicate suggestion acceptance","Accepts a proposed duplicate suggestion by merging its bookmarks into one: the\nkept bookmark gains every tag and note the others carry, and the others are\ndeleted.",[663],{"placeId":251},"Leave one bookmark per page without losing anything the Owner wrote or tagged\non any copy of it.",[],[],{"id":475,"title":668,"description":669,"domainId":520,"availability":670,"intent":672,"supportingSections":673,"references":674},"Filing suggestion acceptance","Applies a proposed filing suggestion the Owner accepts: files its bookmarks into\nthe suggested collection, creating that collection when it is new, and adds\nthe suggested tags.",[671],{"placeId":251},"Make agreeing with a good suggestion one decision, and apply exactly what the\nOwner saw.",[],[],{"id":314,"title":676,"description":677,"domainId":514,"availability":678,"intent":681,"supportingSections":682,"references":683},"Library browsing","Presents the Owner's bookmarks newest first and narrows them by words they\nremember, by collection, by tag, or to the Unsorted ones, then opens a bookmark\nor the page it leads to.",[679,680],{"placeId":238},{"placeId":251},"Let the Owner find a link again from whatever they remember about it, whether\nor not they ever filed it.",[],[],{"id":388,"title":685,"description":686,"domainId":514,"availability":687,"intent":689,"supportingSections":690,"references":691},"Collection creation","Creates an empty, named collection to file bookmarks in.",[688],{"placeId":251},"Give the Owner a place for a subject the moment they need one.",[],[],{"id":269,"title":693,"description":694,"domainId":514,"availability":695,"intent":698,"supportingSections":699,"references":700},"Bookmark deletion","Removes one bookmark from the library for good, once the Owner confirms.",[696,697],{"placeId":238},{"placeId":251},"Keep the library to what the Owner still wants, with one deliberate way for a\nbookmark to leave it.",[],[],{"id":389,"title":702,"description":703,"domainId":514,"availability":704,"intent":706,"supportingSections":707,"references":708},"Collection deletion","Deletes a collection for good once the Owner confirms, leaving every bookmark\nit held in the library as Unsorted.",[705],{"placeId":251},"Let the Owner give up a way of filing without losing a single link filed that\nway.",[],[],{"id":476,"title":710,"description":711,"domainId":520,"availability":712,"intent":714,"supportingSections":715,"references":716},"Duplicate suggestion dismissal","Dismisses a proposed duplicate suggestion, keeping every bookmark in it and\nkeeping the same set from being suggested again.",[713],{"placeId":251},"Let the Owner keep apart what they mean to keep apart, once and for all.",[],[],{"id":477,"title":718,"description":719,"domainId":520,"availability":720,"intent":722,"supportingSections":723,"references":724},"Filing suggestion dismissal","Dismisses a proposed filing suggestion, leaving the library as it is and\nkeeping the same suggestion from being left again.",[721],{"placeId":251},"Make saying no as cheap as saying yes, and make it stick.",[],[],{"id":270,"title":726,"description":727,"domainId":514,"availability":728,"intent":731,"supportingSections":732,"references":733},"Bookmark editing","Changes what the library keeps about one bookmark — its title, note and\ncollection — while it keeps opening the same address. Its tags are put on and\ntaken off by tagging and untagging.",[729,730],{"placeId":238},{"placeId":251},"Let the Owner describe and file a link the way they will look for it later.",[],[],{"id":415,"title":735,"description":736,"availability":737,"intent":739,"supportingSections":740,"references":741},"Bookmark import","Reads a bookmarks file exported from a browser and adds each bookmark whose\naddress the library does not already keep, as Unsorted, remembering the browser\nfolder it came from. It then opens the Library on the Unsorted bookmarks it\nadded.",[738],{"placeId":251},"Bring years of browser bookmarks in at once without filing decisions up front,\nand leave the filing to the Owner, by hand or by accepting their AI agent's\nsuggestions.",[],[742],{"kind":743,"role":190,"target":744,"title":745},"spec","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fprevious-versions\u002Fwindows\u002Finternet-explorer\u002Fie-developer\u002Fplatform-apis\u002Faa753582(v=vs.85)","Netscape bookmark file format",{"id":747,"title":748,"description":749,"domainId":520,"availability":750,"intent":752,"supportingSections":753,"references":754},"prepare-suggestions","Suggestion preparation","Lets the Owner's AI agent read their bookmarks, collections and tags through\nthe agent connection and leave suggestions: a filing suggestion that puts\nbookmarks into a collection, existing or new, with tags — for Unsorted\nbookmarks and for what an import just added — and a duplicate suggestion for\nbookmarks that lead to the same page. Leaving a suggestion changes nothing in\nthe library, and the Product refuses any direct change from the agent.",[751],{"placeId":226},"Let an agent do the tedious part of tidying a library — reading every link and\nnoticing what belongs together — while every decision stays the Owner's.",[],[],{"id":390,"title":756,"description":757,"domainId":514,"availability":758,"intent":760,"supportingSections":761,"references":762},"Collection renaming","Gives a collection a new name without changing what is filed in it.",[759],{"placeId":251},"Let a collection's name keep up with what it has come to hold.",[],[],{"id":271,"title":764,"description":765,"domainId":514,"availability":766,"intent":769,"supportingSections":770,"references":771},"Bookmark saving","Keeps a page the Owner brings from the browser or from another app on their\nphone as a bookmark, with the title the page gives itself unless the Owner\nchanges it, and an optional note, tags and collection.",[767,768],{"placeId":238},{"placeId":251},"Make keeping a link a few seconds' work from wherever the Owner found it, so\nthat nothing worth finding again is lost for want of filing it first.",[],[],{"id":272,"title":773,"description":774,"domainId":514,"availability":775,"intent":778,"supportingSections":779,"references":780},"Bookmark tagging","Puts a tag on one bookmark, choosing one the library already has or creating a\nnew one.",[776,777],{"placeId":238},{"placeId":251},"Let the Owner mark a link with a word they will search for later, across\nwhatever collection it is filed in.",[],[],{"id":273,"title":782,"description":783,"domainId":514,"availability":784,"intent":787,"supportingSections":788,"references":789},"Bookmark untagging","Takes a tag off one bookmark, and removes the tag from the library when no\nother bookmark carries it.",[785,786],{"placeId":238},{"placeId":251},"Let the Owner stop finding a link under a word that no longer fits it.",[],[],[791,837,887,927,964,1015,1064,1099,1135,1192,1244,1293,1339,1383,1421,1458,1511,1547,1613,1655,1704,1733,1764,1802,1825,1856,1907,1946,2008,2048,2093,2127,2178,2226],{"id":326,"capabilityId":314,"title":792,"kindId":217,"actorIds":793,"routes":794,"steps":800,"trigger":830,"decisionPoints":831,"outcome":832,"edgeCases":833,"intent":234,"supportingSections":835,"references":836},"Browse a collection",[243],[795,797],{"id":254,"name":796},"Web",{"id":798,"name":799},"mobile","Mobile",[801,811,822],{"text":802,"kind":803,"actorId":243,"capabilityId":314,"entities":804,"unattended":531,"contexts":808},"The Owner picks a collection","actor",[805],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":807,"with":543},"reads",[289],[809,810],{"routeId":254,"placeId":428},{"routeId":798,"placeId":310},{"text":812,"kind":813,"actorId":243,"capabilityId":314,"entities":814,"unattended":531,"contexts":819},"The Product presents the bookmarks filed in it, newest first","product",[815,817],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":816,"with":543},[289],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":818,"with":543},[278,282,284],[820,821],{"routeId":254,"placeId":385},{"routeId":798,"placeId":310},{"text":823,"kind":803,"actorId":243,"capabilityId":314,"entities":824,"unattended":531,"contexts":827},"The Owner opens one of its bookmarks",[825],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":826,"with":543},[284],[828,829],{"routeId":254,"placeId":385},{"routeId":798,"placeId":310},"The Owner wants to look through what they filed in one collection.",[],"The Owner sees the collection's bookmarks and has the one they wanted open.",[834],"The collection is empty → the Owner is told so, and the collection stays.",[],[],{"id":838,"capabilityId":747,"title":839,"kindId":217,"actorIds":840,"routes":841,"steps":844,"trigger":881,"decisionPoints":882,"outcome":883,"edgeCases":884,"intent":234,"supportingSections":885,"references":886},"classify-imported-bookmarks","Classify imported bookmarks",[231],[842],{"id":229,"name":843},"Agent",[845,852,863,873],{"text":846,"kind":803,"actorId":231,"capabilityId":747,"entities":847,"unattended":531,"contexts":850},"The AI agent asks for the bookmarks the latest import added",[848],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":849,"with":543},[],[851],{"routeId":229,"placeId":226},{"text":853,"kind":813,"actorId":231,"capabilityId":747,"entities":854,"unattended":531,"contexts":861},"The Product provides those bookmarks with the browser folders they came from and the collections and tags already kept",[855,857,859],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":856,"with":543},[278,280,282,284],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":858,"with":543},[289],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":860,"with":543},[289],[862],{"routeId":229,"placeId":226},{"text":864,"kind":803,"actorId":231,"capabilityId":747,"entities":865,"unattended":531,"contexts":871},"The AI agent leaves a filing suggestion for each group of imported bookmarks, usually following their browser folder, with its reason",[866,869],{"entityId":493,"as":543,"effect":867,"from":543,"to":592,"facts":868,"with":543},"creates",[279,489,495],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":870,"with":543},[],[872],{"routeId":229,"placeId":226},{"text":874,"kind":875,"actorId":231,"capabilityId":747,"entities":876,"unattended":531,"contexts":879},"The imported bookmarks stay Unsorted while the suggestions are proposed","condition",[877],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":878,"with":543},[],[880],{"routeId":229,"placeId":226},"The Owner has imported their browser's bookmarks and their AI agent sets about\nfiling them.",[],"Proposed filing suggestions cover the imported bookmarks, each with its reason,\nand the imported bookmarks are still Unsorted.",[],[],[],{"id":399,"capabilityId":388,"title":888,"kindId":217,"actorIds":889,"routes":890,"steps":892,"trigger":921,"decisionPoints":922,"outcome":923,"edgeCases":924,"intent":234,"supportingSections":925,"references":926},"Create a collection",[243],[891],{"id":254,"name":796},[893,900,905,912],{"text":894,"kind":803,"actorId":243,"capabilityId":388,"entities":895,"unattended":531,"contexts":898},"The Owner chooses to make a new collection",[896],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":897,"with":543},[],[899],{"routeId":254,"placeId":251},{"text":901,"kind":803,"actorId":243,"capabilityId":388,"entities":902,"unattended":531,"contexts":903},"The Owner gives it a name",[],[904],{"routeId":254,"placeId":251},{"text":906,"kind":813,"actorId":243,"capabilityId":388,"entities":907,"unattended":531,"contexts":910},"The Product creates the empty collection",[908],{"entityId":287,"as":543,"effect":867,"from":543,"to":543,"facts":909,"with":543},[289],[911],{"routeId":254,"placeId":251},{"text":913,"kind":813,"actorId":243,"capabilityId":388,"entities":914,"unattended":531,"contexts":919},"The Product opens the new collection, ready to file bookmarks in",[915,917],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":916,"with":543},[289],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":918,"with":543},[],[920],{"routeId":254,"placeId":385},"The Owner wants a new place to file bookmarks on one subject.",[],"The library has a new, empty collection with the name the Owner gave it.",[],[],[],{"id":462,"capabilityId":388,"title":928,"kindId":217,"actorIds":929,"routes":930,"steps":932,"trigger":957,"decisionPoints":958,"outcome":959,"edgeCases":960,"intent":234,"supportingSections":962,"references":963},"Create a collection while saving a link",[243],[931],{"id":254,"name":796},[933,940,944,950],{"text":934,"kind":803,"actorId":243,"capabilityId":388,"entities":935,"unattended":531,"contexts":938},"While saving a link, the Owner chooses to make a new collection for it",[936],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":937,"with":543},[],[939],{"routeId":254,"placeId":448},{"text":901,"kind":803,"actorId":243,"capabilityId":388,"entities":941,"unattended":531,"contexts":942},[],[943],{"routeId":254,"placeId":448},{"text":906,"kind":813,"actorId":243,"capabilityId":388,"entities":945,"unattended":531,"contexts":948},[946],{"entityId":287,"as":543,"effect":867,"from":543,"to":543,"facts":947,"with":543},[289],[949],{"routeId":254,"placeId":448},{"text":951,"kind":813,"actorId":243,"capabilityId":388,"entities":952,"unattended":531,"contexts":955},"The Product chooses the new collection for the link being saved, which is not saved yet",[953],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":954,"with":543},[289],[956],{"routeId":254,"placeId":448},"The Owner is saving a page on a subject they have no collection for yet.",[],"The library has a new, empty collection, and the Owner is still saving the\nlink, with the new collection chosen for it.",[961],"The Owner leaves without saving the link → the new collection stays, empty.",[],[],{"id":296,"capabilityId":269,"title":965,"kindId":217,"actorIds":966,"routes":967,"steps":970,"trigger":1006,"decisionPoints":1007,"outcome":1008,"edgeCases":1009,"intent":234,"supportingSections":1013,"references":1014},"Delete a bookmark",[243],[968,969],{"id":254,"name":796},{"id":798,"name":799},[971,979,985,991,1000],{"text":972,"kind":803,"actorId":243,"capabilityId":269,"entities":973,"unattended":531,"contexts":976},"The Owner chooses to delete a bookmark",[974],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":975,"with":543},[284],[977,978],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":980,"kind":813,"actorId":243,"capabilityId":269,"entities":981,"unattended":531,"contexts":982},"The Product asks the Owner to confirm, and says that deleting cannot be undone",[],[983,984],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":986,"kind":803,"actorId":243,"capabilityId":269,"entities":987,"unattended":531,"contexts":988},"The Owner confirms",[],[989,990],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":992,"kind":813,"actorId":243,"capabilityId":269,"entities":993,"unattended":531,"contexts":997},"The Product deletes the bookmark",[994],{"entityId":276,"as":543,"effect":995,"from":543,"to":543,"facts":996,"with":543},"removes",[],[998,999],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":1001,"kind":875,"actorId":243,"capabilityId":269,"entities":1002,"unattended":531,"contexts":1003},"The Owner is back in the library, which no longer holds it",[],[1004,1005],{"routeId":254,"placeId":428},{"routeId":798,"placeId":310},"The Owner no longer wants to keep a bookmark.",[],"The bookmark is gone from the library, its collection and every tag view.",[1010,1011,1012],"The Owner declines to confirm → the bookmark stays as it was.","The bookmark carried the only use of a tag → the tag is removed with it.","A proposed suggestion named the bookmark → the suggestion no longer offers it, and still waits for the Owner to decide.",[],[],{"id":400,"capabilityId":389,"title":1016,"kindId":217,"actorIds":1017,"routes":1018,"steps":1020,"trigger":1056,"decisionPoints":1057,"outcome":1058,"edgeCases":1059,"intent":234,"supportingSections":1062,"references":1063},"Delete a collection and keep its bookmarks",[243],[1019],{"id":254,"name":796},[1021,1028,1035,1039,1049],{"text":1022,"kind":803,"actorId":243,"capabilityId":389,"entities":1023,"unattended":531,"contexts":1026},"The Owner chooses to delete the open collection",[1024],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":1025,"with":543},[289],[1027],{"routeId":254,"placeId":385},{"text":1029,"kind":813,"actorId":243,"capabilityId":389,"entities":1030,"unattended":531,"contexts":1033},"The Product asks the Owner to confirm, and says that its bookmarks will become Unsorted",[1031],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1032,"with":543},[],[1034],{"routeId":254,"placeId":385},{"text":986,"kind":803,"actorId":243,"capabilityId":389,"entities":1036,"unattended":531,"contexts":1037},[],[1038],{"routeId":254,"placeId":385},{"text":1040,"kind":813,"actorId":243,"capabilityId":389,"entities":1041,"unattended":531,"contexts":1047},"The Product deletes the collection and leaves each of its bookmarks Unsorted",[1042,1044],{"entityId":287,"as":543,"effect":995,"from":543,"to":543,"facts":1043,"with":543},[],{"entityId":276,"as":543,"effect":1045,"from":543,"to":543,"facts":1046,"with":543},"changes",[279],[1048],{"routeId":254,"placeId":385},{"text":1050,"kind":875,"actorId":243,"capabilityId":389,"entities":1051,"unattended":531,"contexts":1054},"The Owner is back in the library, where those bookmarks are Unsorted",[1052],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1053,"with":543},[],[1055],{"routeId":254,"placeId":428},"The Owner no longer wants a collection.",[],"The collection is gone, and every bookmark it held is still in the library,\nUnsorted, with its title, note and tags.",[1060,1061],"The Owner declines to confirm → the collection and its bookmarks stay as they were.","A proposed filing suggestion names the deleted collection → accepting it creates a collection of that name again.",[],[],{"id":498,"capabilityId":476,"title":1065,"kindId":217,"actorIds":1066,"routes":1067,"steps":1069,"trigger":1093,"decisionPoints":1094,"outcome":1095,"edgeCases":1096,"intent":234,"supportingSections":1097,"references":1098},"Dismiss a duplicate suggestion",[243],[1068],{"id":254,"name":796},[1070,1079,1086],{"text":1071,"kind":803,"actorId":243,"capabilityId":476,"entities":1072,"unattended":531,"contexts":1077},"The Owner reviews a proposed duplicate suggestion with its bookmarks and reason",[1073,1075],{"entityId":486,"as":543,"effect":806,"from":543,"to":543,"facts":1074,"with":543},[488,489,490],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1076,"with":543},[278,282,284],[1078],{"routeId":254,"placeId":470},{"text":1080,"kind":803,"actorId":243,"capabilityId":476,"entities":1081,"unattended":531,"contexts":1084},"The Owner dismisses it",[1082],{"entityId":486,"as":543,"effect":1045,"from":592,"to":598,"facts":1083,"with":543},[],[1085],{"routeId":254,"placeId":470},{"text":1087,"kind":875,"actorId":243,"capabilityId":476,"entities":1088,"unattended":531,"contexts":1091},"Every bookmark in it stays in the library, unchanged",[1089],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1090,"with":543},[],[1092],{"routeId":254,"placeId":470},"The Owner wants to keep bookmarks the AI agent judged to be the same page, such\nas two versions of one page they deliberately keep apart.",[],"The suggestion is dismissed, every bookmark in it stays, and the AI agent\ncannot suggest the same set again.",[],[],[],{"id":499,"capabilityId":477,"title":1100,"kindId":217,"actorIds":1101,"routes":1102,"steps":1104,"trigger":1129,"decisionPoints":1130,"outcome":1131,"edgeCases":1132,"intent":234,"supportingSections":1133,"references":1134},"Dismiss a filing suggestion",[243],[1103],{"id":254,"name":796},[1105,1114,1120],{"text":1106,"kind":803,"actorId":243,"capabilityId":477,"entities":1107,"unattended":531,"contexts":1112},"The Owner reviews a proposed filing suggestion with its bookmarks and reason",[1108,1110],{"entityId":493,"as":543,"effect":806,"from":543,"to":543,"facts":1109,"with":543},[279,489,495],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1111,"with":543},[278,284],[1113],{"routeId":254,"placeId":470},{"text":1080,"kind":803,"actorId":243,"capabilityId":477,"entities":1115,"unattended":531,"contexts":1118},[1116],{"entityId":493,"as":543,"effect":1045,"from":592,"to":598,"facts":1117,"with":543},[],[1119],{"routeId":254,"placeId":470},{"text":1121,"kind":875,"actorId":243,"capabilityId":477,"entities":1122,"unattended":531,"contexts":1127},"Its bookmarks stay where they were, with the tags they had",[1123,1125],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1124,"with":543},[],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":1126,"with":543},[],[1128],{"routeId":254,"placeId":470},"The Owner disagrees with where their AI agent would file some bookmarks.",[],"The suggestion is dismissed and nothing in the library has changed.",[],[],[],{"id":297,"capabilityId":270,"title":1136,"kindId":217,"actorIds":1137,"routes":1138,"steps":1141,"trigger":1184,"decisionPoints":1185,"outcome":1186,"edgeCases":1187,"intent":234,"supportingSections":1190,"references":1191},"Edit a bookmark",[243],[1139,1140],{"id":254,"name":796},{"id":798,"name":799},[1142,1150,1158,1166,1174],{"text":1143,"kind":803,"actorId":243,"capabilityId":270,"entities":1144,"unattended":531,"contexts":1147},"The Owner opens a bookmark from the library",[1145],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1146,"with":543},[278,284],[1148,1149],{"routeId":254,"placeId":428},{"routeId":798,"placeId":310},{"text":1151,"kind":813,"actorId":243,"capabilityId":270,"entities":1152,"unattended":531,"contexts":1155},"The Product presents everything the library keeps about it",[1153],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1154,"with":543},[278,279,280,281,282,283,284],[1156,1157],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":1159,"kind":803,"actorId":243,"capabilityId":270,"entities":1160,"unattended":531,"contexts":1163},"The Owner changes its title, note or collection and saves",[1161],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":1162,"with":543},[289],[1164,1165],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":1167,"kind":813,"actorId":243,"capabilityId":270,"entities":1168,"unattended":531,"contexts":1171},"The Product records the changes",[1169],{"entityId":276,"as":543,"effect":1045,"from":543,"to":543,"facts":1170,"with":543},[279,281,284],[1172,1173],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":1175,"kind":875,"actorId":243,"capabilityId":270,"entities":1176,"unattended":531,"contexts":1181},"The address, tags and when the bookmark was saved are unchanged",[1177,1179],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1178,"with":543},[],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":1180,"with":543},[],[1182,1183],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},"The Owner wants a bookmark described or filed differently.",[],"The bookmark carries the Owner's new title, note and collection, and still\nopens the same address with the same tags.",[1188,1189],"The Owner clears its collection → the bookmark is Unsorted.","The Owner leaves without saving → nothing about the bookmark changes.",[],[],{"id":500,"capabilityId":475,"title":1193,"kindId":217,"actorIds":1194,"routes":1195,"steps":1197,"trigger":1237,"decisionPoints":1238,"outcome":1239,"edgeCases":1240,"intent":234,"supportingSections":1242,"references":1243},"File into a new collection",[243],[1196],{"id":254,"name":796},[1198,1209,1214,1221,1230],{"text":1199,"kind":803,"actorId":243,"capabilityId":475,"entities":1200,"unattended":531,"contexts":1207},"The Owner reviews a proposed filing suggestion that names a new collection",[1201,1203,1205],{"entityId":493,"as":543,"effect":806,"from":543,"to":543,"facts":1202,"with":543},[279,489,495],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1204,"with":543},[278,284],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":1206,"with":543},[],[1208],{"routeId":254,"placeId":470},{"text":1210,"kind":803,"actorId":243,"capabilityId":475,"entities":1211,"unattended":531,"contexts":1212},"The Owner accepts it",[],[1213],{"routeId":254,"placeId":470},{"text":1215,"kind":813,"actorId":243,"capabilityId":475,"entities":1216,"unattended":531,"contexts":1219},"The Product creates the collection with the suggested name",[1217],{"entityId":287,"as":543,"effect":867,"from":543,"to":543,"facts":1218,"with":543},[289],[1220],{"routeId":254,"placeId":470},{"text":1222,"kind":813,"actorId":243,"capabilityId":475,"entities":1223,"unattended":531,"contexts":1228},"The Product files each of the bookmarks into it and adds the suggested tags, creating any tag that is new",[1224,1226],{"entityId":276,"as":543,"effect":1045,"from":543,"to":543,"facts":1225,"with":543},[279,283],{"entityId":292,"as":543,"effect":867,"from":543,"to":543,"facts":1227,"with":543},[289],[1229],{"routeId":254,"placeId":470},{"text":1231,"kind":813,"actorId":243,"capabilityId":475,"entities":1232,"unattended":531,"contexts":1235},"The Product marks the suggestion accepted",[1233],{"entityId":493,"as":543,"effect":1045,"from":592,"to":595,"facts":1234,"with":543},[],[1236],{"routeId":254,"placeId":470},"The Owner agrees that a group of bookmarks deserves a collection of its own.",[],"A new collection with the suggested name holds the bookmarks, which carry the\nsuggested tags, and the suggestion is accepted.",[1241],"A collection with that name was created since the suggestion was made → the bookmarks are filed into it and no second collection is created.",[],[],{"id":501,"capabilityId":475,"title":1245,"kindId":217,"actorIds":1246,"routes":1247,"steps":1249,"trigger":1286,"decisionPoints":1287,"outcome":1288,"edgeCases":1289,"intent":234,"supportingSections":1291,"references":1292},"File into an existing collection",[243],[1248],{"id":254,"name":796},[1250,1258,1262,1273,1279],{"text":1106,"kind":803,"actorId":243,"capabilityId":475,"entities":1251,"unattended":531,"contexts":1256},[1252,1254],{"entityId":493,"as":543,"effect":806,"from":543,"to":543,"facts":1253,"with":543},[279,489,495],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1255,"with":543},[278,284],[1257],{"routeId":254,"placeId":470},{"text":1210,"kind":803,"actorId":243,"capabilityId":475,"entities":1259,"unattended":531,"contexts":1260},[],[1261],{"routeId":254,"placeId":470},{"text":1263,"kind":813,"actorId":243,"capabilityId":475,"entities":1264,"unattended":531,"contexts":1271},"The Product files each of its bookmarks into the collection and adds its tags, creating any tag that is new",[1265,1267,1269],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":1266,"with":543},[289],{"entityId":276,"as":543,"effect":1045,"from":543,"to":543,"facts":1268,"with":543},[279,283],{"entityId":292,"as":543,"effect":867,"from":543,"to":543,"facts":1270,"with":543},[289],[1272],{"routeId":254,"placeId":470},{"text":1231,"kind":813,"actorId":243,"capabilityId":475,"entities":1274,"unattended":531,"contexts":1277},[1275],{"entityId":493,"as":543,"effect":1045,"from":592,"to":595,"facts":1276,"with":543},[],[1278],{"routeId":254,"placeId":470},{"text":1280,"kind":875,"actorId":243,"capabilityId":475,"entities":1281,"unattended":531,"contexts":1284},"Nothing the suggestion did not name has changed",[1282],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1283,"with":543},[],[1285],{"routeId":254,"placeId":470},"The Owner agrees that a group of bookmarks belongs in a collection they already\nhave.",[],"The bookmarks are filed in that collection and carry the suggested tags, and the\nsuggestion is accepted.",[1290],"One of its bookmarks was deleted since → the rest are filed and the deleted one is skipped.",[],[],{"id":327,"capabilityId":314,"title":1294,"kindId":217,"actorIds":1295,"routes":1296,"steps":1299,"trigger":1332,"decisionPoints":1333,"outcome":1334,"edgeCases":1335,"intent":234,"supportingSections":1337,"references":1338},"Find a bookmark by search",[243],[1297,1298],{"id":254,"name":796},{"id":798,"name":799},[1300,1306,1316,1324],{"text":1301,"kind":803,"actorId":243,"capabilityId":314,"entities":1302,"unattended":531,"contexts":1303},"The Owner enters words they remember",[],[1304,1305],{"routeId":254,"placeId":428},{"routeId":798,"placeId":310},{"text":1307,"kind":813,"actorId":243,"capabilityId":314,"entities":1308,"unattended":531,"contexts":1313},"The Product presents the bookmarks whose title, address, note or tags match, newest first",[1309,1311],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1310,"with":543},[278,281,282,283,284],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":1312,"with":543},[],[1314,1315],{"routeId":254,"placeId":428},{"routeId":798,"placeId":310},{"text":1317,"kind":803,"actorId":243,"capabilityId":314,"entities":1318,"unattended":531,"contexts":1321},"The Owner opens the page a found bookmark leads to",[1319],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1320,"with":543},[278],[1322,1323],{"routeId":254,"placeId":428},{"routeId":798,"placeId":310},{"text":1325,"kind":875,"actorId":243,"capabilityId":314,"entities":1326,"unattended":531,"contexts":1329},"Nothing in the library changes by being found",[1327],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1328,"with":543},[],[1330,1331],{"routeId":254,"placeId":428},{"routeId":798,"placeId":310},"The Owner remembers something about a link but not where it is filed.",[],"The page the Owner was looking for is open, found from a few words, with\nnothing in the library changed.",[1336],"Nothing matches → the Owner is told that the library holds no match, and the words stay available to change.",[],[],{"id":1340,"capabilityId":747,"title":1341,"kindId":217,"actorIds":1342,"routes":1343,"steps":1345,"trigger":1376,"decisionPoints":1377,"outcome":1378,"edgeCases":1379,"intent":234,"supportingSections":1381,"references":1382},"find-duplicate-bookmarks","Find duplicate bookmarks",[231],[1344],{"id":229,"name":843},[1346,1353,1360,1369],{"text":1347,"kind":803,"actorId":231,"capabilityId":747,"entities":1348,"unattended":531,"contexts":1351},"The AI agent asks for the bookmarks in the library",[1349],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1350,"with":543},[],[1352],{"routeId":229,"placeId":226},{"text":1354,"kind":813,"actorId":231,"capabilityId":747,"entities":1355,"unattended":531,"contexts":1358},"The Product provides every bookmark with its address and when it was saved",[1356],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1357,"with":543},[278,282,284],[1359],{"routeId":229,"placeId":226},{"text":1361,"kind":803,"actorId":231,"capabilityId":747,"entities":1362,"unattended":531,"contexts":1367},"The AI agent leaves a duplicate suggestion for bookmarks that lead to the same page under different addresses, naming the one to keep and its reason",[1363,1365],{"entityId":486,"as":543,"effect":867,"from":543,"to":592,"facts":1364,"with":543},[488,489,490],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1366,"with":543},[],[1368],{"routeId":229,"placeId":226},{"text":1370,"kind":875,"actorId":231,"capabilityId":747,"entities":1371,"unattended":531,"contexts":1374},"Every bookmark in it stays in the library while the suggestion is proposed",[1372],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1373,"with":543},[],[1375],{"routeId":229,"placeId":226},"The AI agent looks for pages the Owner has kept more than once.",[],"A proposed duplicate suggestion with its reason waits on the Owner's Suggestions,\nand every bookmark in it is still in the library.",[1380],"The Owner dismissed the same set before → the suggestion is refused, and the AI agent is told why.",[],[],{"id":502,"capabilityId":475,"title":1384,"kindId":213,"actorIds":1385,"routes":1386,"steps":1388,"trigger":1415,"decisionPoints":1416,"outcome":1417,"edgeCases":1418,"intent":234,"supportingSections":1419,"references":1420},"Find nothing left to file",[243],[1387],{"id":254,"name":796},[1389,1396,1403,1410],{"text":1390,"kind":803,"actorId":243,"capabilityId":475,"entities":1391,"unattended":531,"contexts":1394},"The Owner accepts a proposed filing suggestion",[1392],{"entityId":493,"as":543,"effect":806,"from":543,"to":543,"facts":1393,"with":543},[279,489,495],[1395],{"routeId":254,"placeId":470},{"text":1397,"kind":875,"actorId":243,"capabilityId":475,"entities":1398,"unattended":531,"contexts":1401},"Every bookmark it covered has been deleted since it was made",[1399],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1400,"with":543},[],[1402],{"routeId":254,"placeId":470},{"text":1404,"kind":813,"actorId":243,"capabilityId":475,"entities":1405,"unattended":531,"contexts":1408},"The Product closes the suggestion as outdated",[1406],{"entityId":493,"as":543,"effect":1045,"from":592,"to":601,"facts":1407,"with":543},[],[1409],{"routeId":254,"placeId":470},{"text":1411,"kind":813,"actorId":243,"capabilityId":475,"entities":1412,"unattended":531,"contexts":1413},"The Product explains that nothing was left to file",[],[1414],{"routeId":254,"placeId":470},"The Owner accepts a suggestion whose bookmarks they have since deleted.",[],"No collection is created or changed, and the suggestion is outdated.",[],[],[],{"id":503,"capabilityId":474,"title":1422,"kindId":213,"actorIds":1423,"routes":1424,"steps":1426,"trigger":1452,"decisionPoints":1453,"outcome":1454,"edgeCases":1455,"intent":234,"supportingSections":1456,"references":1457},"Find one bookmark left to merge",[243],[1425],{"id":254,"name":796},[1427,1434,1441,1447],{"text":1428,"kind":803,"actorId":243,"capabilityId":474,"entities":1429,"unattended":531,"contexts":1432},"The Owner accepts a proposed duplicate suggestion",[1430],{"entityId":486,"as":543,"effect":806,"from":543,"to":543,"facts":1431,"with":543},[488,489,490],[1433],{"routeId":254,"placeId":470},{"text":1435,"kind":875,"actorId":243,"capabilityId":474,"entities":1436,"unattended":531,"contexts":1439},"All but one of its bookmarks have been deleted since it was made",[1437],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1438,"with":543},[],[1440],{"routeId":254,"placeId":470},{"text":1404,"kind":813,"actorId":243,"capabilityId":474,"entities":1442,"unattended":531,"contexts":1445},[1443],{"entityId":486,"as":543,"effect":1045,"from":592,"to":601,"facts":1444,"with":543},[],[1446],{"routeId":254,"placeId":470},{"text":1448,"kind":813,"actorId":243,"capabilityId":474,"entities":1449,"unattended":531,"contexts":1450},"The Product explains that nothing was left to merge",[],[1451],{"routeId":254,"placeId":470},"The Owner accepts a duplicate suggestion after deleting all but one of its\nbookmarks themselves.",[],"The remaining bookmark is untouched, and the suggestion is outdated.",[],[],[],{"id":418,"capabilityId":415,"title":1459,"kindId":217,"actorIds":1460,"routes":1461,"steps":1463,"trigger":1504,"decisionPoints":1505,"outcome":1506,"edgeCases":1507,"intent":234,"supportingSections":1509,"references":1510},"Import a browser export",[243],[1462],{"id":254,"name":796},[1464,1469,1476,1483,1490,1497],{"text":1465,"kind":803,"actorId":243,"capabilityId":415,"entities":1466,"unattended":531,"contexts":1467},"The Owner chooses the export file their browser made",[],[1468],{"routeId":254,"placeId":411},{"text":1470,"kind":813,"actorId":243,"capabilityId":415,"entities":1471,"unattended":531,"contexts":1474},"The Product reads the bookmarks and the folders they sit in",[1472],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1473,"with":543},[],[1475],{"routeId":254,"placeId":411},{"text":1477,"kind":813,"actorId":243,"capabilityId":415,"entities":1478,"unattended":531,"contexts":1481},"The Product skips every bookmark whose address the library already keeps",[1479],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1480,"with":543},[278],[1482],{"routeId":254,"placeId":411},{"text":1484,"kind":813,"actorId":243,"capabilityId":415,"entities":1485,"unattended":531,"contexts":1488},"The Product adds the rest as Unsorted bookmarks, each remembering the browser folder it came from",[1486],{"entityId":276,"as":543,"effect":867,"from":543,"to":543,"facts":1487,"with":543},[278,279,280,281,282,283,284],[1489],{"routeId":254,"placeId":411},{"text":1491,"kind":813,"actorId":243,"capabilityId":415,"entities":1492,"unattended":531,"contexts":1495},"The Product reports how many bookmarks it added and how many it skipped",[1493],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1494,"with":543},[],[1496],{"routeId":254,"placeId":411},{"text":1498,"kind":813,"actorId":243,"capabilityId":415,"entities":1499,"unattended":531,"contexts":1502},"The Product takes the Owner to the Library, narrowed to the Unsorted bookmarks it added",[1500],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1501,"with":543},[278,280,284],[1503],{"routeId":254,"placeId":428},"The Owner has a bookmarks file exported from a browser and wants those links\nin the library.",[],"Every bookmark from the file whose address was new is in the library, Unsorted,\nwith the folder it came from. The Owner knows what was added and skipped, and is\nlooking at the new bookmarks in the Library, ready to file them.",[1508],"The file holds the same address twice → it is added once.",[],[],{"id":419,"capabilityId":415,"title":1512,"kindId":213,"actorIds":1513,"routes":1514,"steps":1516,"trigger":1541,"decisionPoints":1542,"outcome":1543,"edgeCases":1544,"intent":234,"supportingSections":1545,"references":1546},"Import a file the library already holds",[243],[1515],{"id":254,"name":796},[1517,1521,1527,1534],{"text":1465,"kind":803,"actorId":243,"capabilityId":415,"entities":1518,"unattended":531,"contexts":1519},[],[1520],{"routeId":254,"placeId":411},{"text":1470,"kind":813,"actorId":243,"capabilityId":415,"entities":1522,"unattended":531,"contexts":1525},[1523],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1524,"with":543},[],[1526],{"routeId":254,"placeId":411},{"text":1528,"kind":875,"actorId":243,"capabilityId":415,"entities":1529,"unattended":531,"contexts":1532},"The library already keeps every address in the file",[1530],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1531,"with":543},[278],[1533],{"routeId":254,"placeId":411},{"text":1535,"kind":813,"actorId":243,"capabilityId":415,"entities":1536,"unattended":531,"contexts":1539},"The Product reports that nothing was added and every bookmark was skipped",[1537],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1538,"with":543},[],[1540],{"routeId":254,"placeId":411},"The Owner imports a file whose bookmarks all came in before.",[],"The library is unchanged, and the Owner stays on Import knowing why.",[],[],[],{"id":504,"capabilityId":474,"title":1548,"kindId":217,"actorIds":1549,"routes":1550,"steps":1552,"trigger":1596,"decisionPoints":1597,"outcome":1608,"edgeCases":1609,"intent":234,"supportingSections":1611,"references":1612},"Merge the bookmarks of a duplicate suggestion",[243],[1551],{"id":254,"name":796},[1553,1565,1574,1583,1590],{"text":1071,"kind":803,"actorId":243,"capabilityId":474,"entities":1554,"unattended":531,"contexts":1563},[1555,1557,1560],{"entityId":486,"as":543,"effect":806,"from":543,"to":543,"facts":1556,"with":543},[488,489,490],{"entityId":276,"as":1558,"effect":806,"from":543,"to":543,"facts":1559,"with":543},"kept",[278,282,284],{"entityId":276,"as":1561,"effect":806,"from":543,"to":543,"facts":1562,"with":543},"duplicate",[278,282,284],[1564],{"routeId":254,"placeId":470},{"text":1566,"kind":803,"actorId":243,"capabilityId":474,"entities":1567,"unattended":531,"contexts":1572},"The Owner accepts it, keeping the bookmark it proposes or picking another",[1568,1570],{"entityId":486,"as":543,"effect":1045,"from":543,"to":543,"facts":1569,"with":543},[488],{"entityId":276,"as":1558,"effect":806,"from":543,"to":543,"facts":1571,"with":543},[],[1573],{"routeId":254,"placeId":470},{"text":1575,"kind":813,"actorId":243,"capabilityId":474,"entities":1576,"unattended":531,"contexts":1581},"The Product gives the kept bookmark every tag and note the others carry",[1577,1579],{"entityId":276,"as":1558,"effect":1045,"from":543,"to":543,"facts":1578,"with":543},[281,283],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":1580,"with":543},[],[1582],{"routeId":254,"placeId":470},{"text":1584,"kind":813,"actorId":243,"capabilityId":474,"entities":1585,"unattended":531,"contexts":1588},"The Product deletes the other bookmarks",[1586],{"entityId":276,"as":1561,"effect":995,"from":543,"to":543,"facts":1587,"with":543},[],[1589],{"routeId":254,"placeId":470},{"text":1231,"kind":813,"actorId":243,"capabilityId":474,"entities":1591,"unattended":531,"contexts":1594},[1592],{"entityId":486,"as":543,"effect":1045,"from":592,"to":595,"facts":1593,"with":543},[],[1595],{"routeId":254,"placeId":470},"The Owner agrees that bookmarks the AI agent grouped lead to the same page.",[1598],{"title":1599,"question":1600,"branches":1601},"Which bookmark is kept?","The Owner keeps the AI agent's choice or picks another bookmark of the set.",[1602,1605],{"condition":1603,"outcome":1604},"The Owner keeps the proposed bookmark","it survives with its own title, address and collection.",{"condition":1606,"outcome":1607},"The Owner picks another bookmark","that one survives instead, with its own title, address and collection.","One bookmark remains for the page, carrying every tag and note the set had, and\nthe suggestion is accepted.",[1610],"One of its bookmarks was deleted since, but two or more remain → the remaining ones are merged.",[],[],{"id":328,"capabilityId":314,"title":1614,"kindId":217,"actorIds":1615,"routes":1616,"steps":1619,"trigger":1648,"decisionPoints":1649,"outcome":1650,"edgeCases":1651,"intent":234,"supportingSections":1653,"references":1654},"Narrow the library to a tag",[243],[1617,1618],{"id":254,"name":796},{"id":798,"name":799},[1620,1628,1640],{"text":1621,"kind":803,"actorId":243,"capabilityId":314,"entities":1622,"unattended":531,"contexts":1625},"The Owner picks a tag",[1623],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":1624,"with":543},[289],[1626,1627],{"routeId":254,"placeId":428},{"routeId":798,"placeId":310},{"text":1629,"kind":813,"actorId":243,"capabilityId":314,"entities":1630,"unattended":531,"contexts":1637},"The Product presents only the bookmarks carrying that tag, from every collection",[1631,1633,1635],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1632,"with":543},[278,279,283,284],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":1634,"with":543},[],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":1636,"with":543},[],[1638,1639],{"routeId":254,"placeId":428},{"routeId":798,"placeId":310},{"text":1641,"kind":803,"actorId":243,"capabilityId":314,"entities":1642,"unattended":531,"contexts":1645},"The Owner opens one of them",[1643],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1644,"with":543},[284],[1646,1647],{"routeId":254,"placeId":428},{"routeId":798,"placeId":310},"The Owner wants every bookmark on one subject, whichever collection holds it.",[],"The Owner sees every bookmark carrying the tag and has the one they wanted open.",[1652],"The Owner picks Unsorted instead of a tag → only bookmarks filed in no collection are presented.",[],[],{"id":1656,"capabilityId":747,"title":1657,"kindId":217,"actorIds":1658,"routes":1659,"steps":1661,"trigger":1698,"decisionPoints":1699,"outcome":1700,"edgeCases":1701,"intent":234,"supportingSections":1702,"references":1703},"propose-a-new-collection","Propose a new collection",[231],[1660],{"id":229,"name":843},[1662,1669,1680,1691],{"text":1663,"kind":803,"actorId":231,"capabilityId":747,"entities":1664,"unattended":531,"contexts":1667},"The AI agent asks for the Unsorted bookmarks",[1665],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1666,"with":543},[],[1668],{"routeId":229,"placeId":226},{"text":1670,"kind":813,"actorId":231,"capabilityId":747,"entities":1671,"unattended":531,"contexts":1678},"The Product provides the Unsorted bookmarks with the names of the collections and tags the library already has",[1672,1674,1676],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1673,"with":543},[278,280,281,283,284],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":1675,"with":543},[289],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":1677,"with":543},[289],[1679],{"routeId":229,"placeId":226},{"text":1681,"kind":803,"actorId":231,"capabilityId":747,"entities":1682,"unattended":531,"contexts":1689},"The AI agent leaves a filing suggestion naming a collection the library does not have yet, with tags and its reason",[1683,1685,1687],{"entityId":493,"as":543,"effect":867,"from":543,"to":592,"facts":1684,"with":543},[279,489,495],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":1686,"with":543},[],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":1688,"with":543},[],[1690],{"routeId":229,"placeId":226},{"text":1692,"kind":875,"actorId":231,"capabilityId":747,"entities":1693,"unattended":531,"contexts":1696},"No collection is created while the suggestion is proposed",[1694],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":1695,"with":543},[],[1697],{"routeId":229,"placeId":226},"The AI agent finds Unsorted bookmarks on a subject no existing collection fits.",[],"A proposed filing suggestion proposes the new collection by name, with its\nreason, and the library has no new collection until the Owner accepts it.",[],[],[],{"id":1705,"capabilityId":747,"title":1706,"kindId":221,"actorIds":1707,"routes":1708,"steps":1710,"trigger":1727,"decisionPoints":1728,"outcome":1729,"edgeCases":1730,"intent":234,"supportingSections":1731,"references":1732},"refuse-a-direct-change-from-the-ai-agent","Refuse a direct change from the AI agent",[231],[1709],{"id":229,"name":843},[1711,1720],{"text":1712,"kind":803,"actorId":231,"capabilityId":747,"entities":1713,"unattended":531,"contexts":1718},"The AI agent tries to file, tag, merge or delete a bookmark itself instead of suggesting it",[1714,1716],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1715,"with":543},[],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":1717,"with":543},[],[1719],{"routeId":229,"placeId":226},{"text":1721,"kind":813,"actorId":231,"capabilityId":747,"entities":1722,"unattended":531,"contexts":1725},"The Product refuses, and says that the agent connection changes nothing in the library and offers leaving a suggestion instead",[1723],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1724,"with":543},[],[1726],{"routeId":229,"placeId":226},"The AI agent tries to change the library directly.",[],"The library is exactly as it was, and the AI agent is told that a suggestion is\nthe only change it can propose.",[],[],[],{"id":420,"capabilityId":415,"title":1734,"kindId":221,"actorIds":1735,"routes":1736,"steps":1738,"trigger":1758,"decisionPoints":1759,"outcome":1760,"edgeCases":1761,"intent":234,"supportingSections":1762,"references":1763},"Refuse a file that is not a bookmarks export",[243],[1737],{"id":254,"name":796},[1739,1744,1751],{"text":1740,"kind":803,"actorId":243,"capabilityId":415,"entities":1741,"unattended":531,"contexts":1742},"The Owner chooses a file their browser did not export",[],[1743],{"routeId":254,"placeId":411},{"text":1745,"kind":813,"actorId":243,"capabilityId":415,"entities":1746,"unattended":531,"contexts":1749},"The Product finds no bookmarks it can read in the file",[1747],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1748,"with":543},[],[1750],{"routeId":254,"placeId":411},{"text":1752,"kind":813,"actorId":243,"capabilityId":415,"entities":1753,"unattended":531,"contexts":1756},"The Product explains that the file is not a bookmarks export and how to make one",[1754],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1755,"with":543},[],[1757],{"routeId":254,"placeId":411},"The Owner chooses the wrong file, or one the Product cannot read.",[],"Nothing is added to the library, and the Owner can choose another file.",[],[],[],{"id":1765,"capabilityId":388,"title":1766,"kindId":221,"actorIds":1767,"routes":1768,"steps":1770,"trigger":1796,"decisionPoints":1797,"outcome":1798,"edgeCases":1799,"intent":234,"supportingSections":1800,"references":1801},"refuse-a-name-already-in-use","Refuse a name already in use",[243],[1769],{"id":254,"name":796},[1771,1777,1784,1791],{"text":894,"kind":803,"actorId":243,"capabilityId":388,"entities":1772,"unattended":531,"contexts":1775},[1773],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":1774,"with":543},[],[1776],{"routeId":254,"placeId":251},{"text":1778,"kind":803,"actorId":243,"capabilityId":388,"entities":1779,"unattended":531,"contexts":1782},"The Owner gives it the name of a collection the library already has",[1780],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":1781,"with":543},[],[1783],{"routeId":254,"placeId":251},{"text":1785,"kind":813,"actorId":243,"capabilityId":388,"entities":1786,"unattended":531,"contexts":1789},"The Product finds a collection with that name",[1787],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":1788,"with":543},[289],[1790],{"routeId":254,"placeId":251},{"text":1792,"kind":813,"actorId":243,"capabilityId":388,"entities":1793,"unattended":531,"contexts":1794},"The Product explains that the name is already in use",[],[1795],{"routeId":254,"placeId":251},"The Owner names a new collection the same as an existing one.",[],"No collection is created, and the name stays in place for the Owner to change.",[],[],[],{"id":1803,"capabilityId":747,"title":1804,"kindId":221,"actorIds":1805,"routes":1806,"steps":1808,"trigger":1819,"decisionPoints":1820,"outcome":1821,"edgeCases":1822,"intent":234,"supportingSections":1823,"references":1824},"refuse-a-suggestion-without-a-reason","Refuse a suggestion without a reason",[231],[1807],{"id":229,"name":843},[1809,1814],{"text":1810,"kind":803,"actorId":231,"capabilityId":747,"entities":1811,"unattended":531,"contexts":1812},"The AI agent leaves a suggestion that gives no reason",[],[1813],{"routeId":229,"placeId":226},{"text":1815,"kind":813,"actorId":231,"capabilityId":747,"entities":1816,"unattended":531,"contexts":1817},"The Product refuses it, and says that every suggestion must say why",[],[1818],{"routeId":229,"placeId":226},"The AI agent proposes a filing or a merge without explaining it.",[],"No suggestion is left, and the AI agent is told a reason is required.",[],[],[],{"id":353,"capabilityId":271,"title":1826,"kindId":221,"actorIds":1827,"routes":1828,"steps":1831,"trigger":1850,"decisionPoints":1851,"outcome":1852,"edgeCases":1853,"intent":234,"supportingSections":1854,"references":1855},"Refuse an address that is not a web address",[243],[1829,1830],{"id":254,"name":796},{"id":798,"name":799},[1832,1838,1844],{"text":1833,"kind":803,"actorId":243,"capabilityId":271,"entities":1834,"unattended":531,"contexts":1835},"The Owner brings text that is not a web address",[],[1836,1837],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},{"text":1839,"kind":813,"actorId":243,"capabilityId":271,"entities":1840,"unattended":531,"contexts":1841},"The Product finds no web address to save",[],[1842,1843],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},{"text":1845,"kind":813,"actorId":243,"capabilityId":271,"entities":1846,"unattended":531,"contexts":1847},"The Product explains that only a web address can be saved",[],[1848,1849],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},"The Owner tries to save something that is not a web address, such as a\nsentence copied from a page.",[],"No bookmark is added, and the text stays in place for the Owner to correct.",[],[],[],{"id":298,"capabilityId":273,"title":1857,"kindId":213,"actorIds":1858,"routes":1859,"steps":1862,"trigger":1901,"decisionPoints":1902,"outcome":1903,"edgeCases":1904,"intent":234,"supportingSections":1905,"references":1906},"Remove the last use of a tag",[243],[1860,1861],{"id":254,"name":796},{"id":798,"name":799},[1863,1873,1883,1893],{"text":1864,"kind":803,"actorId":243,"capabilityId":273,"entities":1865,"unattended":531,"contexts":1870},"The Owner takes a tag off a bookmark",[1866,1868],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":1867,"with":543},[289],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1869,"with":543},[],[1871,1872],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":1874,"kind":813,"actorId":243,"capabilityId":273,"entities":1875,"unattended":531,"contexts":1880},"The Product takes the tag off the bookmark",[1876,1878],{"entityId":276,"as":543,"effect":1045,"from":543,"to":543,"facts":1877,"with":543},[283],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":1879,"with":543},[],[1881,1882],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":1884,"kind":875,"actorId":243,"capabilityId":273,"entities":1885,"unattended":531,"contexts":1890},"No other bookmark carries that tag",[1886,1888],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":1887,"with":543},[],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1889,"with":543},[],[1891,1892],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":1894,"kind":813,"actorId":243,"capabilityId":273,"entities":1895,"unattended":531,"contexts":1898},"The Product removes the tag from the library",[1896],{"entityId":292,"as":543,"effect":995,"from":543,"to":543,"facts":1897,"with":543},[],[1899,1900],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},"The Owner takes off a tag that only this bookmark carried.",[],"The bookmark no longer carries the tag, and the tag no longer appears among the\nlibrary's tags.",[],[],[],{"id":401,"capabilityId":390,"title":1908,"kindId":217,"actorIds":1909,"routes":1910,"steps":1912,"trigger":1939,"decisionPoints":1940,"outcome":1941,"edgeCases":1942,"intent":234,"supportingSections":1944,"references":1945},"Rename a collection",[243],[1911],{"id":254,"name":796},[1913,1920,1925,1932],{"text":1914,"kind":803,"actorId":243,"capabilityId":390,"entities":1915,"unattended":531,"contexts":1918},"The Owner chooses to rename the open collection",[1916],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":1917,"with":543},[289],[1919],{"routeId":254,"placeId":385},{"text":1921,"kind":803,"actorId":243,"capabilityId":390,"entities":1922,"unattended":531,"contexts":1923},"The Owner gives it a new name",[],[1924],{"routeId":254,"placeId":385},{"text":1926,"kind":813,"actorId":243,"capabilityId":390,"entities":1927,"unattended":531,"contexts":1930},"The Product records the new name",[1928],{"entityId":287,"as":543,"effect":1045,"from":543,"to":543,"facts":1929,"with":543},[289],[1931],{"routeId":254,"placeId":385},{"text":1933,"kind":875,"actorId":243,"capabilityId":390,"entities":1934,"unattended":531,"contexts":1937},"The bookmarks filed in it stay filed there, unchanged",[1935],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1936,"with":543},[],[1938],{"routeId":254,"placeId":385},"The Owner wants a collection called something that says better what it holds.",[],"The collection has its new name and holds exactly what it held before.",[1943],"The new name belongs to another collection → the rename is refused as in creation, and the name stays to change.",[],[],{"id":354,"capabilityId":271,"title":1947,"kindId":217,"actorIds":1948,"routes":1949,"steps":1952,"trigger":2001,"decisionPoints":2002,"outcome":2003,"edgeCases":2004,"intent":234,"supportingSections":2006,"references":2007},"Save a link",[243],[1950,1951],{"id":254,"name":796},{"id":798,"name":799},[1953,1959,1965,1975,1981,1991],{"text":1954,"kind":803,"actorId":243,"capabilityId":271,"entities":1955,"unattended":531,"contexts":1956},"The Owner brings the address of a page they want to keep",[],[1957,1958],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},{"text":1960,"kind":813,"actorId":243,"capabilityId":271,"entities":1961,"unattended":531,"contexts":1962},"The Product reads the title the page gives itself",[],[1963,1964],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},{"text":1966,"kind":803,"actorId":243,"capabilityId":271,"entities":1967,"unattended":531,"contexts":1972},"The Owner keeps or changes the title and may add a note, tags and a collection",[1968,1970],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":1969,"with":543},[289],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":1971,"with":543},[289],[1973,1974],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},{"text":1976,"kind":803,"actorId":243,"capabilityId":271,"entities":1977,"unattended":531,"contexts":1978},"The Owner saves",[],[1979,1980],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},{"text":1982,"kind":813,"actorId":243,"capabilityId":271,"entities":1983,"unattended":531,"contexts":1988},"The Product adds the bookmark to the library, creating any tag that is new",[1984,1986],{"entityId":276,"as":543,"effect":867,"from":543,"to":543,"facts":1985,"with":543},[278,279,280,281,282,283,284],{"entityId":292,"as":543,"effect":867,"from":543,"to":543,"facts":1987,"with":543},[289],[1989,1990],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},{"text":1992,"kind":875,"actorId":243,"capabilityId":271,"entities":1993,"unattended":531,"contexts":1998},"The bookmark is in the chosen collection, or Unsorted when none was chosen",[1994,1996],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":1995,"with":543},[],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":1997,"with":543},[],[1999,2000],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},"On the web the Owner pastes a page's address or presses the browser button on\nthe page itself; on a phone they share the page to the Product from any app.",[],"The page is a bookmark in the library with its title, any note and tags, and\nthe collection the Owner chose.",[2005],"The Owner leaves before saving → nothing is added to the library.",[],[],{"id":402,"capabilityId":271,"title":2009,"kindId":217,"actorIds":2010,"routes":2011,"steps":2013,"trigger":2042,"decisionPoints":2043,"outcome":2044,"edgeCases":2045,"intent":234,"supportingSections":2046,"references":2047},"Save a link into an open collection",[243],[2012],{"id":254,"name":796},[2014,2021,2028,2033],{"text":2015,"kind":803,"actorId":243,"capabilityId":271,"entities":2016,"unattended":531,"contexts":2019},"The Owner chooses to save a link into the collection they have open",[2017],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":2018,"with":543},[289],[2020],{"routeId":254,"placeId":385},{"text":2022,"kind":813,"actorId":243,"capabilityId":271,"entities":2023,"unattended":531,"contexts":2026},"The Product opens Save link with that collection chosen",[2024],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":2025,"with":543},[289],[2027],{"routeId":254,"placeId":448},{"text":2029,"kind":803,"actorId":243,"capabilityId":271,"entities":2030,"unattended":531,"contexts":2031},"The Owner brings the page's address, keeps or changes its title, and saves",[],[2032],{"routeId":254,"placeId":448},{"text":2034,"kind":813,"actorId":243,"capabilityId":271,"entities":2035,"unattended":531,"contexts":2040},"The Product adds the bookmark to the library, filed in that collection",[2036,2038],{"entityId":276,"as":543,"effect":867,"from":543,"to":543,"facts":2037,"with":543},[278,279,280,281,282,283,284],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":2039,"with":543},[],[2041],{"routeId":254,"placeId":448},"The Owner is looking at a collection and has a page that belongs in it.",[],"The page is a bookmark filed in that collection.",[],[],[],{"id":355,"capabilityId":271,"title":2049,"kindId":213,"actorIds":2050,"routes":2051,"steps":2054,"trigger":2087,"decisionPoints":2088,"outcome":2089,"edgeCases":2090,"intent":234,"supportingSections":2091,"references":2092},"Save a page that cannot be reached",[243],[2052,2053],{"id":254,"name":796},{"id":798,"name":799},[2055,2061,2067,2073,2079],{"text":2056,"kind":803,"actorId":243,"capabilityId":271,"entities":2057,"unattended":531,"contexts":2058},"The Owner brings the address of a page to keep",[],[2059,2060],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},{"text":2062,"kind":875,"actorId":543,"capabilityId":271,"entities":2063,"unattended":531,"contexts":2064},"The page does not answer, so no title can be read from it",[],[2065,2066],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},{"text":2068,"kind":813,"actorId":243,"capabilityId":271,"entities":2069,"unattended":531,"contexts":2070},"The Product offers the address itself as the title",[],[2071,2072],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},{"text":2074,"kind":803,"actorId":243,"capabilityId":271,"entities":2075,"unattended":531,"contexts":2076},"The Owner keeps or changes the title and saves",[],[2077,2078],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},{"text":2080,"kind":813,"actorId":243,"capabilityId":271,"entities":2081,"unattended":531,"contexts":2084},"The Product adds the bookmark to the library",[2082],{"entityId":276,"as":543,"effect":867,"from":543,"to":543,"facts":2083,"with":543},[278,279,280,281,282,283,284],[2085,2086],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},"The Owner saves a page that is offline, slow or behind a sign-in the Product\ncannot pass.",[],"The bookmark is kept with the address, or the Owner's own title, as its title.",[],[],[],{"id":299,"capabilityId":271,"title":2094,"kindId":213,"actorIds":2095,"routes":2096,"steps":2099,"trigger":2121,"decisionPoints":2122,"outcome":2123,"edgeCases":2124,"intent":234,"supportingSections":2125,"references":2126},"Save an address already kept",[243],[2097,2098],{"id":254,"name":796},{"id":798,"name":799},[2100,2105,2113],{"text":2056,"kind":803,"actorId":243,"capabilityId":271,"entities":2101,"unattended":531,"contexts":2102},[],[2103,2104],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},{"text":2106,"kind":875,"actorId":243,"capabilityId":271,"entities":2107,"unattended":531,"contexts":2110},"The library already keeps a bookmark with exactly this address",[2108],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":2109,"with":543},[278],[2111,2112],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},{"text":2114,"kind":813,"actorId":243,"capabilityId":271,"entities":2115,"unattended":531,"contexts":2118},"The Product opens the bookmark already kept instead of adding a second one",[2116],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":2117,"with":543},[278,279,282,284],[2119,2120],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},"The Owner saves a page whose address the library already keeps.",[],"The library still holds one bookmark for the address, and the Owner is looking\nat it, with when it was saved and where it is filed.",[],[],[],{"id":2128,"capabilityId":747,"title":2129,"kindId":217,"actorIds":2130,"routes":2131,"steps":2133,"trigger":2170,"decisionPoints":2171,"outcome":2172,"edgeCases":2173,"intent":234,"supportingSections":2176,"references":2177},"suggest-collections-for-unsorted-bookmarks","Suggest collections for Unsorted bookmarks",[231],[2132],{"id":229,"name":843},[2134,2140,2150,2163],{"text":1663,"kind":803,"actorId":231,"capabilityId":747,"entities":2135,"unattended":531,"contexts":2138},[2136],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":2137,"with":543},[],[2139],{"routeId":229,"placeId":226},{"text":1670,"kind":813,"actorId":231,"capabilityId":747,"entities":2141,"unattended":531,"contexts":2148},[2142,2144,2146],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":2143,"with":543},[278,280,281,283,284],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":2145,"with":543},[289],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":2147,"with":543},[289],[2149],{"routeId":229,"placeId":226},{"text":2151,"kind":803,"actorId":231,"capabilityId":747,"entities":2152,"unattended":531,"contexts":2161},"The AI agent leaves a filing suggestion for bookmarks that belong in an existing collection, with tags and its reason",[2153,2155,2157,2159],{"entityId":493,"as":543,"effect":867,"from":543,"to":592,"facts":2154,"with":543},[279,489,495],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":2156,"with":543},[],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":2158,"with":543},[],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":2160,"with":543},[],[2162],{"routeId":229,"placeId":226},{"text":2164,"kind":875,"actorId":231,"capabilityId":747,"entities":2165,"unattended":531,"contexts":2168},"The bookmarks stay Unsorted and unchanged while the suggestion is proposed",[2166],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":2167,"with":543},[],[2169],{"routeId":229,"placeId":226},"The Owner's AI agent works through the bookmarks the Owner has not filed yet.",[],"A proposed filing suggestion with its reason waits on the Owner's Suggestions,\nand no bookmark has changed.",[2174,2175],"The suggestion repeats one the Owner dismissed or one still proposed → it is refused, and the AI agent is told why.","Nothing is Unsorted → the AI agent is told so, and no suggestion is left.",[],[],{"id":300,"capabilityId":272,"title":2179,"kindId":217,"actorIds":2180,"routes":2181,"steps":2184,"trigger":2219,"decisionPoints":2220,"outcome":2221,"edgeCases":2222,"intent":234,"supportingSections":2224,"references":2225},"Tag a bookmark",[243],[2182,2183],{"id":254,"name":796},{"id":798,"name":799},[2185,2195,2203,2209],{"text":2186,"kind":803,"actorId":243,"capabilityId":272,"entities":2187,"unattended":531,"contexts":2192},"The Owner opens a bookmark and chooses to add a tag",[2188,2190],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":2189,"with":543},[283,284],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":2191,"with":543},[],[2193,2194],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":2196,"kind":813,"actorId":243,"capabilityId":272,"entities":2197,"unattended":531,"contexts":2200},"The Product offers the tags the library already has",[2198],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":2199,"with":543},[289],[2201,2202],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":2204,"kind":803,"actorId":243,"capabilityId":272,"entities":2205,"unattended":531,"contexts":2206},"The Owner picks one of them or types a new one",[],[2207,2208],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":2210,"kind":813,"actorId":243,"capabilityId":272,"entities":2211,"unattended":531,"contexts":2216},"The Product puts the tag on the bookmark, creating it when it is new",[2212,2214],{"entityId":276,"as":543,"effect":1045,"from":543,"to":543,"facts":2213,"with":543},[283],{"entityId":292,"as":543,"effect":867,"from":543,"to":543,"facts":2215,"with":543},[289],[2217,2218],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},"The Owner wants to find a bookmark again under a word, whichever collection it\nis in.",[],"The bookmark carries the tag, and narrowing the Library to that tag shows it.",[2223],"The bookmark already carries the tag → nothing changes.",[],[],{"id":301,"capabilityId":273,"title":2227,"kindId":217,"actorIds":2228,"routes":2229,"steps":2232,"trigger":2262,"decisionPoints":2263,"outcome":2264,"edgeCases":2265,"intent":234,"supportingSections":2266,"references":2267},"Untag a bookmark",[243],[2230,2231],{"id":254,"name":796},{"id":798,"name":799},[2233,2243,2252],{"text":2234,"kind":803,"actorId":243,"capabilityId":273,"entities":2235,"unattended":531,"contexts":2240},"The Owner opens a bookmark and takes one of its tags off",[2236,2238],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":2237,"with":543},[283,284],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":2239,"with":543},[289],[2241,2242],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":1874,"kind":813,"actorId":243,"capabilityId":273,"entities":2244,"unattended":531,"contexts":2249},[2245,2247],{"entityId":276,"as":543,"effect":1045,"from":543,"to":543,"facts":2246,"with":543},[283],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":2248,"with":543},[],[2250,2251],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":2253,"kind":875,"actorId":243,"capabilityId":273,"entities":2254,"unattended":531,"contexts":2259},"Other bookmarks still carry the tag, so it stays in the library",[2255,2257],{"entityId":292,"as":543,"effect":806,"from":543,"to":543,"facts":2256,"with":543},[289],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":2258,"with":543},[],[2260,2261],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},"A tag no longer describes a bookmark.",[],"The bookmark no longer carries the tag and no longer appears when the Library is\nnarrowed to it; the other bookmarks carrying it are unchanged.",[],[],[],[2269,2280,2291],{"id":2270,"title":2271,"goal":2272,"successCriterion":2273,"actorIds":2274,"capabilityIds":2275,"failureOnlyCapabilityIds":2276,"domainIds":2277,"intent":234,"supportingSections":2278,"references":2279},"import-and-tidy-up","Import and tidy up","The Owner wants the bookmarks they kept in a browser in the library, filed\ninto collections.","The imported bookmarks are filed in the collections the Owner chose.",[243],[270,415],[],[514],[],[],{"id":2281,"title":2282,"goal":2283,"successCriterion":2284,"actorIds":2285,"capabilityIds":2286,"failureOnlyCapabilityIds":2287,"domainIds":2288,"intent":234,"supportingSections":2289,"references":2290},"keep-a-link","Keep a link where it belongs","The Owner wants a page they found kept in the collection it belongs to.","The page is one bookmark, filed in the collection the Owner intended.",[243],[270,271],[],[514],[],[],{"id":2292,"title":2293,"goal":2294,"successCriterion":2295,"actorIds":2296,"capabilityIds":2297,"failureOnlyCapabilityIds":2298,"domainIds":2299,"intent":234,"supportingSections":2300,"references":2301},"start-a-collection","Start a collection","The Owner wants a place for a new subject, with the first link they keep there.","A new collection holds the link the Owner saved into it.",[243],[388,271],[],[514],[],[],[2303,2356,2405],{"id":404,"journeyId":2292,"result":2304,"title":2305,"kindId":217,"actorIds":2306,"routes":2307,"steps":2309,"trigger":2350,"decisionPoints":2351,"outcome":2352,"edgeCases":2353,"intent":234,"supportingSections":2354,"references":2355},"achieved","Create a collection and save its first link",[243],[2308],{"id":254,"name":796},[2310,2317,2323,2330,2337,2341],{"text":2311,"kind":803,"actorId":243,"capabilityId":388,"entities":2312,"unattended":531,"contexts":2315},"The Owner chooses to make a new collection and gives it a name",[2313],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":2314,"with":543},[],[2316],{"routeId":254,"placeId":251},{"text":906,"kind":813,"actorId":243,"capabilityId":388,"entities":2318,"unattended":531,"contexts":2321},[2319],{"entityId":287,"as":543,"effect":867,"from":543,"to":543,"facts":2320,"with":543},[289],[2322],{"routeId":254,"placeId":251},{"text":2324,"kind":813,"actorId":243,"capabilityId":388,"entities":2325,"unattended":531,"contexts":2328},"The Product takes the Owner into the new, empty collection",[2326],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":2327,"with":543},[289],[2329],{"routeId":254,"placeId":385},{"text":2331,"kind":803,"actorId":243,"capabilityId":271,"entities":2332,"unattended":531,"contexts":2335},"The Owner chooses to save a link into the collection",[2333],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":2334,"with":543},[289],[2336],{"routeId":254,"placeId":385},{"text":2029,"kind":803,"actorId":243,"capabilityId":271,"entities":2338,"unattended":531,"contexts":2339},[],[2340],{"routeId":254,"placeId":448},{"text":2342,"kind":813,"actorId":243,"capabilityId":271,"entities":2343,"unattended":531,"contexts":2348},"The Product adds the bookmark to the library, filed in the new collection",[2344,2346],{"entityId":276,"as":543,"effect":867,"from":543,"to":543,"facts":2345,"with":543},[278,279,280,281,282,283,284],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":2347,"with":543},[],[2349],{"routeId":254,"placeId":448},"The Owner starts collecting links on a subject they have no collection for.",[],"The Journey goal is achieved: the new collection holds its first bookmark.",[],[],[],{"id":378,"journeyId":2270,"result":2304,"title":2357,"kindId":217,"actorIds":2358,"routes":2359,"steps":2361,"trigger":2399,"decisionPoints":2400,"outcome":2401,"edgeCases":2402,"intent":234,"supportingSections":2403,"references":2404},"File imported bookmarks",[243],[2360],{"id":254,"name":796},[2362,2367,2375,2381,2390],{"text":2363,"kind":803,"actorId":243,"capabilityId":415,"entities":2364,"unattended":531,"contexts":2365},"The Owner imports the export file their browser made",[],[2366],{"routeId":254,"placeId":411},{"text":2368,"kind":813,"actorId":243,"capabilityId":415,"entities":2369,"unattended":531,"contexts":2373},"The Product adds the bookmarks the library does not already keep, Unsorted",[2370],{"entityId":276,"as":2371,"effect":867,"from":543,"to":543,"facts":2372,"with":543},"imported",[278,279,280,281,282,283,284],[2374],{"routeId":254,"placeId":411},{"text":1498,"kind":813,"actorId":243,"capabilityId":415,"entities":2376,"unattended":531,"contexts":2379},[2377],{"entityId":276,"as":2371,"effect":806,"from":543,"to":543,"facts":2378,"with":543},[278,280,284],[2380],{"routeId":254,"placeId":428},{"text":2382,"kind":803,"actorId":243,"capabilityId":270,"entities":2383,"unattended":531,"contexts":2388},"The Owner opens an imported bookmark and chooses its collection",[2384,2386],{"entityId":276,"as":2371,"effect":806,"from":543,"to":543,"facts":2385,"with":543},[278,280,284],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":2387,"with":543},[289],[2389],{"routeId":254,"placeId":363},{"text":2391,"kind":813,"actorId":243,"capabilityId":270,"entities":2392,"unattended":531,"contexts":2397},"The Product files the bookmark in that collection",[2393,2395],{"entityId":276,"as":2371,"effect":1045,"from":543,"to":543,"facts":2394,"with":543},[279],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":2396,"with":543},[],[2398],{"routeId":254,"placeId":363},"The Owner imports their browser's bookmarks and files them.",[],"The Journey goal is achieved: the imported bookmarks are filed in the\ncollections the Owner chose, one by one.",[],[],[],{"id":303,"journeyId":2281,"result":2304,"title":2406,"kindId":217,"actorIds":2407,"routes":2408,"steps":2411,"trigger":2449,"decisionPoints":2450,"outcome":2451,"edgeCases":2452,"intent":234,"supportingSections":2453,"references":2454},"Refile a link already kept",[243],[2409,2410],{"id":254,"name":796},{"id":798,"name":799},[2412,2417,2424,2432,2440],{"text":2056,"kind":803,"actorId":243,"capabilityId":271,"entities":2413,"unattended":531,"contexts":2414},[],[2415,2416],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},{"text":2106,"kind":875,"actorId":243,"capabilityId":271,"entities":2418,"unattended":531,"contexts":2421},[2419],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":2420,"with":543},[278],[2422,2423],{"routeId":254,"placeId":448},{"routeId":798,"placeId":338},{"text":2425,"kind":813,"actorId":243,"capabilityId":271,"entities":2426,"unattended":531,"contexts":2429},"The Product opens the bookmark already kept",[2427],{"entityId":276,"as":543,"effect":806,"from":543,"to":543,"facts":2428,"with":543},[278,279,282,284],[2430,2431],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":2433,"kind":803,"actorId":243,"capabilityId":270,"entities":2434,"unattended":531,"contexts":2437},"The Owner chooses the collection it belongs in and saves",[2435],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":2436,"with":543},[289],[2438,2439],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},{"text":2391,"kind":813,"actorId":243,"capabilityId":270,"entities":2441,"unattended":531,"contexts":2446},[2442,2444],{"entityId":276,"as":543,"effect":1045,"from":543,"to":543,"facts":2443,"with":543},[279],{"entityId":287,"as":543,"effect":806,"from":543,"to":543,"facts":2445,"with":543},[],[2447,2448],{"routeId":254,"placeId":363},{"routeId":798,"placeId":265},"The Owner saves a page they already kept, meaning to file it somewhere.",[],"The Journey goal is achieved: the page is still one bookmark, now filed in the\ncollection the Owner intended.",[],[],[],[2456,2476,2495,2509,2520,2531,2542,2556,2573,2590,2613,2630,2647,2664,2681,2698,2715,2732],{"id":2457,"title":2458,"statement":2459,"rationale":2460,"appliesTo":2461,"permits":2466,"intent":234,"supportingSections":2474,"references":2475},"a-duplicate-suggestion-comes-only-from-the-owners-ai-agent","A duplicate suggestion comes only from the Owner's AI agent","Only the AI agent an Owner connected leaves a duplicate suggestion, and only\nabout that Owner's bookmarks.","Spotting the same page under different addresses needs judgment the Product\nleaves to the agent, and the decision to the Owner.",[2462],{"type":2463,"entityId":486,"effect":867,"from":543,"to":543,"facts":2464,"contexts":2465},"entity",[],[],[2467],{"actorIds":2468,"related":2469,"self":531,"when":2473,"unattended":531,"configuredByEntityId":543},[],[2470,2471,2472],{"verb":589,"entityId":276},{"verb":636,"entityId":243},{"verb":643,"entityId":231},[],[],[],{"id":2477,"title":2478,"statement":2479,"rationale":2480,"appliesTo":2481,"permits":2485,"intent":234,"supportingSections":2493,"references":2494},"a-filing-suggestion-comes-only-from-the-owners-ai-agent","A filing suggestion comes only from the Owner's AI agent","Only the AI agent an Owner connected leaves a filing suggestion, and only about\nthat Owner's bookmarks. The Owner files bookmarks directly and has no need to\nsuggest anything to themselves.","Suggestions are the one thing the AI agent may create, which keeps everything\nit does in one place the Owner reviews.",[2482],{"type":2463,"entityId":493,"effect":867,"from":543,"to":543,"facts":2483,"contexts":2484},[],[],[2486],{"actorIds":2487,"related":2488,"self":531,"when":2492,"unattended":531,"configuredByEntityId":543},[],[2489,2490,2491],{"verb":617,"entityId":276},{"verb":636,"entityId":243},{"verb":643,"entityId":231},[],[],[],{"id":2496,"title":2497,"statement":2498,"rationale":2499,"appliesTo":2500,"permits":543,"intent":234,"supportingSections":2507,"references":2508},"a-suggestion-changes-nothing-until-it-is-accepted","A suggestion changes nothing until it is accepted","While a suggestion is Proposed, every bookmark, collection and tag it names is\nexactly as it was. Leaving, dismissing or outdating a suggestion changes\nnothing in the library; only the Owner accepting it files, tags or merges.","The Owner can let suggestions pile up and decide them whenever they like,\nknowing that nothing is filed, merged or deleted behind their back.",[2501,2504],{"type":2463,"entityId":493,"effect":543,"from":543,"to":543,"facts":2502,"contexts":2503},[],[],{"type":2463,"entityId":486,"effect":543,"from":543,"to":543,"facts":2505,"contexts":2506},[],[],[],[],{"id":2510,"title":2511,"statement":2512,"rationale":2513,"appliesTo":2514,"permits":543,"intent":234,"supportingSections":2518,"references":2519},"a-tag-exists-while-a-bookmark-carries-it","A tag exists while a bookmark carries it","A tag comes into being the first time a bookmark carries it and is removed when\nthe last bookmark carrying it loses it or is deleted. The library never lists\na tag that leads to nothing.","Tags are how the Owner narrows the library. One that leads to no bookmark is\nnoise in every place tags are offered.",[2515],{"type":2463,"entityId":292,"effect":543,"from":543,"to":543,"facts":2516,"contexts":2517},[],[],[],[],{"id":2521,"title":2522,"statement":2523,"rationale":2524,"appliesTo":2525,"permits":543,"intent":234,"supportingSections":2529,"references":2530},"an-address-is-kept-once","An address is kept once","The library holds at most one bookmark for an address exactly as written.\nSaving an address already kept opens the bookmark that has it, and importing\none skips it. Different addresses that lead to the same page are separate\nbookmarks until the Owner merges them.","A second copy of the same link only splits its tags and notes in two. Exact\nrepeats are refused where they arrive; near repeats need judgment, which is the\nAI agent's to suggest and the Owner's to decide.",[2526],{"type":2463,"entityId":276,"effect":543,"from":543,"to":543,"facts":2527,"contexts":2528},[278],[],[],[],{"id":2532,"title":2533,"statement":2534,"rationale":2535,"appliesTo":2536,"permits":543,"intent":234,"supportingSections":2540,"references":2541},"collection-names-are-unique","Collection names are unique","No two collections share a name. Creating or renaming a collection to a name\nin use is refused, and accepting a suggestion that names a new collection files\ninto the existing one when a collection of that name already exists.","The Owner picks a collection by its name when saving and when browsing; two of\nthe same name would make that choice a guess.",[2537],{"type":2463,"entityId":287,"effect":543,"from":543,"to":543,"facts":2538,"contexts":2539},[289],[],[],[],{"id":2543,"title":2544,"statement":2545,"rationale":2546,"appliesTo":2547,"permits":543,"intent":234,"supportingSections":2554,"references":2555},"every-suggestion-says-why","Every suggestion says why","Each suggestion an AI agent leaves carries a short reason the Owner sees beside\nthe bookmarks it names: what the bookmarks have in common, or why they are the\nsame page. A suggestion without a reason is refused.","The Owner decides from what they can see. A reason lets them accept or dismiss\nin a moment, and makes a wrong suggestion recognizably wrong.",[2548,2551],{"type":2463,"entityId":493,"effect":543,"from":543,"to":543,"facts":2549,"contexts":2550},[489],[],{"type":2463,"entityId":486,"effect":543,"from":543,"to":543,"facts":2552,"contexts":2553},[489],[],[],[],{"id":2557,"title":2558,"statement":2559,"rationale":2560,"appliesTo":2561,"permits":2565,"intent":234,"supportingSections":2571,"references":2572},"only-the-owner-adds-their-bookmarks","Only the Owner adds their bookmarks","A bookmark enters a library only by its Owner's own action: saving a link or\nimporting a browser's bookmarks. Their AI agent never adds one.","What enters the library is what the Owner chose to keep, and nothing else.",[2562],{"type":2463,"entityId":276,"effect":867,"from":543,"to":543,"facts":2563,"contexts":2564},[],[],[2566],{"actorIds":2567,"related":2568,"self":531,"when":2570,"unattended":531,"configuredByEntityId":543},[],[2569],{"verb":636,"entityId":243},[],[],[],{"id":2574,"title":2575,"statement":2576,"rationale":2577,"appliesTo":2578,"permits":2582,"intent":234,"supportingSections":2588,"references":2589},"only-the-owner-adds-their-tags","Only the Owner adds their tags","A tag enters the library only through its Owner's own action: saving a\nbookmark with it, tagging a bookmark, or accepting a suggestion. Their AI agent\ncan propose a tag but never adds one.","Tags are the Owner's own words for what they keep.",[2579],{"type":2463,"entityId":292,"effect":867,"from":543,"to":543,"facts":2580,"contexts":2581},[],[],[2583],{"actorIds":2584,"related":2585,"self":531,"when":2587,"unattended":531,"configuredByEntityId":543},[],[2586],{"verb":636,"entityId":243},[],[],[],{"id":2591,"title":2592,"statement":2593,"rationale":2594,"appliesTo":2595,"permits":2599,"intent":234,"supportingSections":2611,"references":2612},"only-the-owner-and-their-ai-agent-read-bookmarks","Only the Owner and their AI agent read bookmarks","A bookmark is read by the Owner who keeps it and by the AI agent that Owner\nconnected, which reads it to suggest how to tidy the library. Nobody else reads\na bookmark.","What someone keeps is a record of what they read and care about. The agent\nreads it only because its Owner connected it to help.",[2596],{"type":2463,"entityId":276,"effect":806,"from":543,"to":543,"facts":2597,"contexts":2598},[],[],[2600,2605],{"actorIds":2601,"related":2602,"self":531,"when":2604,"unattended":531,"configuredByEntityId":543},[],[2603],{"verb":636,"entityId":243},[],{"actorIds":2606,"related":2607,"self":531,"when":2610,"unattended":531,"configuredByEntityId":543},[],[2608,2609],{"verb":636,"entityId":243},{"verb":643,"entityId":231},[],[],[],{"id":2614,"title":2615,"statement":2616,"rationale":2617,"appliesTo":2618,"permits":2622,"intent":234,"supportingSections":2628,"references":2629},"only-the-owner-changes-their-bookmarks","Only the Owner changes their bookmarks","A bookmark's title, note, tags and collection change only by its Owner's own\naction: editing, tagging or untagging it, deleting its collection, or accepting\na suggestion. Their AI agent never files or tags a bookmark itself.","The library is one person's memory of what they found worth keeping. An agent\nthat could rearrange it on its own would leave the Owner unsure where anything\nis.",[2619],{"type":2463,"entityId":276,"effect":1045,"from":543,"to":543,"facts":2620,"contexts":2621},[],[],[2623],{"actorIds":2624,"related":2625,"self":531,"when":2627,"unattended":531,"configuredByEntityId":543},[],[2626],{"verb":636,"entityId":243},[],[],[],{"id":2631,"title":2632,"statement":2633,"rationale":2634,"appliesTo":2635,"permits":2639,"intent":234,"supportingSections":2645,"references":2646},"only-the-owner-changes-their-collections","Only the Owner changes their collections","A collection is renamed only by its Owner.","The Owner finds a collection by its name; it changes only when they change it.",[2636],{"type":2463,"entityId":287,"effect":1045,"from":543,"to":543,"facts":2637,"contexts":2638},[],[],[2640],{"actorIds":2641,"related":2642,"self":531,"when":2644,"unattended":531,"configuredByEntityId":543},[],[2643],{"verb":636,"entityId":243},[],[],[],{"id":2648,"title":2649,"statement":2650,"rationale":2651,"appliesTo":2652,"permits":2656,"intent":234,"supportingSections":2662,"references":2663},"only-the-owner-creates-their-collections","Only the Owner creates their collections","A collection is created only by its Owner, directly or by accepting a\nsuggestion that names a new collection. Their AI agent can propose a collection\nbut never creates one.","Collections are how the Owner remembers where things are, so each one exists\nbecause the Owner decided it should.",[2653],{"type":2463,"entityId":287,"effect":867,"from":543,"to":543,"facts":2654,"contexts":2655},[],[],[2657],{"actorIds":2658,"related":2659,"self":531,"when":2661,"unattended":531,"configuredByEntityId":543},[],[2660],{"verb":636,"entityId":243},[],[],[],{"id":2665,"title":2666,"statement":2667,"rationale":2668,"appliesTo":2669,"permits":2673,"intent":234,"supportingSections":2679,"references":2680},"only-the-owner-decides-a-duplicate-suggestion","Only the Owner decides a duplicate suggestion","A duplicate suggestion is accepted, with the bookmark it keeps, or dismissed\nonly by the Owner it was left for, and it stays theirs to decide even after\nits bookmarks are deleted. The AI agent cannot accept its own suggestion,\nchange one after leaving it, or take one back.","A merge deletes bookmarks. Only the Owner who kept them may decide that they\nwere the same page.",[2670],{"type":2463,"entityId":486,"effect":1045,"from":543,"to":543,"facts":2671,"contexts":2672},[],[],[2674],{"actorIds":2675,"related":2676,"self":531,"when":2678,"unattended":531,"configuredByEntityId":543},[],[2677],{"verb":640,"entityId":243},[],[],[],{"id":2682,"title":2683,"statement":2684,"rationale":2685,"appliesTo":2686,"permits":2690,"intent":234,"supportingSections":2696,"references":2697},"only-the-owner-decides-a-filing-suggestion","Only the Owner decides a filing suggestion","A filing suggestion is accepted or dismissed only by the Owner it was left\nfor, and it stays theirs to decide even after every bookmark it covered is\ndeleted. The AI agent cannot accept its own suggestion, change one after\nleaving it, or take one back.","The approval is the point of a suggestion. A suggestion its author could decide\nwould be a change made on the Owner's behalf without asking.",[2687],{"type":2463,"entityId":493,"effect":1045,"from":543,"to":543,"facts":2688,"contexts":2689},[],[],[2691],{"actorIds":2692,"related":2693,"self":531,"when":2695,"unattended":531,"configuredByEntityId":543},[],[2694],{"verb":640,"entityId":243},[],[],[],{"id":2699,"title":2700,"statement":2701,"rationale":2702,"appliesTo":2703,"permits":2707,"intent":234,"supportingSections":2713,"references":2714},"only-the-owner-deletes-their-bookmarks","Only the Owner deletes their bookmarks","A bookmark leaves the library only by its Owner's own action: deleting it, or\naccepting a duplicate suggestion that merges it into another. Their AI agent\nnever deletes one.","A deleted bookmark is gone for good, so only the person who kept it decides it\nshould go.",[2704],{"type":2463,"entityId":276,"effect":995,"from":543,"to":543,"facts":2705,"contexts":2706},[],[],[2708],{"actorIds":2709,"related":2710,"self":531,"when":2712,"unattended":531,"configuredByEntityId":543},[],[2711],{"verb":636,"entityId":243},[],[],[],{"id":2716,"title":2717,"statement":2718,"rationale":2719,"appliesTo":2720,"permits":2724,"intent":234,"supportingSections":2730,"references":2731},"only-the-owner-deletes-their-collections","Only the Owner deletes their collections","A collection is deleted only by its Owner, once the Owner confirms.","Deleting a collection undoes the Owner's own filing, so only the Owner decides\nit.",[2721],{"type":2463,"entityId":287,"effect":995,"from":543,"to":543,"facts":2722,"contexts":2723},[],[],[2725],{"actorIds":2726,"related":2727,"self":531,"when":2729,"unattended":531,"configuredByEntityId":543},[],[2728],{"verb":636,"entityId":243},[],[],[],{"id":2733,"title":2734,"statement":2735,"rationale":2736,"appliesTo":2737,"permits":2741,"intent":234,"supportingSections":2747,"references":2748},"only-the-owner-removes-their-tags","Only the Owner removes their tags","A tag leaves the library only when its Owner's own action takes it off its last\nbookmark, by untagging or deleting that bookmark. Their AI agent never removes\none.","Tags are the Owner's own words for what they keep, so they go only when the\nOwner stops using them.",[2738],{"type":2463,"entityId":292,"effect":995,"from":543,"to":543,"facts":2739,"contexts":2740},[],[],[2742],{"actorIds":2743,"related":2744,"self":531,"when":2746,"unattended":531,"configuredByEntityId":543},[],[2745],{"verb":636,"entityId":243},[],[],[],[],{"scope":234,"method":234,"covered":2751,"exclusions":2752,"unmapped":2753,"limitations":2754},[],[],[],[],{"path":2756,"commit":2757},"blueprints\u002Fbookmark-manager","f474777f17005554bb7fd1f1e18189bfd01792bc",1791840534056]