[{"data":1,"prerenderedAt":355},["ShallowReactive",2],{"$fbnyC7Iu-qhDCs9vHKCi4Hei1x9eHmU_HurolQSgwGEs":3},{"newThing":4,"project":5,"cycle":8,"sections":23,"threads":308,"otherDocs":309,"images":311,"archiveItems":340,"links":349},null,{"id":6,"label":7,"liveBase":4},"design","Design",{"id":9,"num":10,"dir":11,"name":12,"title":13,"focus":14,"status":15,"statusNote":4,"created":16,"completed":4,"mode":4,"recordless":17,"thumbnail":18,"imageCount":19,"artifactCount":20,"lastActivity":21,"hasPickup":17,"hasInitialPrompt":22},"c56",56,"c56.compliance-framework-pages","compliance-framework-pages","Compliance Framework Pages","Mock up two compliance framework pages from Figma designs","archived","2026-07-25",false,"\u002Fcycles\u002Fdesign\u002Fc56-compliance.png",8,2,"2026-09-11",true,[24,38,81,155,273],{"key":25,"title":26,"empty":17,"ast":27},"why","Why",{"type":28,"children":29},"root",[30],{"type":31,"tag":32,"props":33,"children":34},"element","p",{},[35],{"type":36,"value":37},"text","The product needs two compliance-related pages mocked in the design site to validate the Figma designs and establish the component patterns for framework management workflows.",{"key":39,"title":40,"empty":17,"ast":41},"objective","Objective",{"type":28,"children":42},[43,48,76],{"type":31,"tag":32,"props":44,"children":45},{},[46],{"type":36,"value":47},"Create two pages in the design site:",{"type":31,"tag":49,"props":50,"children":51},"ol",{},[52,65],{"type":31,"tag":53,"props":54,"children":55},"li",{},[56,63],{"type":31,"tag":57,"props":58,"children":60},"code",{"className":59},[],[61],{"type":36,"value":62},"\u002Fv2\u002Fcompliance\u002Fframework-listing",{"type":36,"value":64}," — Lists Active Frameworks and Available Frameworks with Deactivate\u002FActivate action columns",{"type":31,"tag":53,"props":66,"children":67},{},[68,74],{"type":31,"tag":57,"props":69,"children":71},{"className":70},[],[72],{"type":36,"value":73},"\u002Fv2\u002Fcompliance\u002Fframework\u002Fowasp-llm-top-10",{"type":36,"value":75}," — Framework details page",{"type":31,"tag":32,"props":77,"children":78},{},[79],{"type":36,"value":80},"Both pages transcribed from the Figma design source (ignoring nav chrome).",{"key":82,"title":83,"empty":17,"ast":84},"scope","Scope",{"type":28,"children":85},[86,142],{"type":31,"tag":87,"props":88,"children":89},"ul",{},[90,119,132,137],{"type":31,"tag":53,"props":91,"children":92},{},[93,95,101,103,109,111,117],{"type":36,"value":94},"New pages: ",{"type":31,"tag":57,"props":96,"children":98},{"className":97},[],[99],{"type":36,"value":100},"app\u002Fpages\u002Fpages\u002Fframework-listing.vue",{"type":36,"value":102},", ",{"type":31,"tag":57,"props":104,"children":106},{"className":105},[],[107],{"type":36,"value":108},"app\u002Fpages\u002Fpages\u002Fframework-detail.vue",{"type":36,"value":110}," (design-site pages section, registered in ",{"type":31,"tag":57,"props":112,"children":114},{"className":113},[],[115],{"type":36,"value":116},"app\u002Fdata\u002Fpage-registry.ts",{"type":36,"value":118},")",{"type":31,"tag":53,"props":120,"children":121},{},[122,124],{"type":36,"value":123},"Figma source: ",{"type":31,"tag":125,"props":126,"children":130},"a",{"href":127,"rel":128},"https:\u002F\u002Fwww.figma.com\u002Fdesign\u002FAGxdHnJ1cf847C7WRuybch\u002Fapp.qpoint.io---1.1---Agent-Transition",[129],"nofollow",[131],{"type":36,"value":127},{"type":31,"tag":53,"props":133,"children":134},{},[135],{"type":36,"value":136},"Layer components: Reuse existing table, button, and layout components as needed",{"type":31,"tag":53,"props":138,"children":139},{},[140],{"type":36,"value":141},"No new layer components up front — build cells inline, extract to the layer in a follow-up pass if they prove reusable (c54 pattern)",{"type":31,"tag":32,"props":143,"children":144},{},[145,147,153],{"type":36,"value":146},"See ",{"type":31,"tag":57,"props":148,"children":150},{"className":149},[],[151],{"type":36,"value":152},"plan.md",{"type":36,"value":154}," for the full build plan.",{"key":156,"title":157,"empty":17,"ast":158},"key-changes","Key Changes",{"type":28,"children":159},[160],{"type":31,"tag":87,"props":161,"children":162},{},[163,198,224,242,260],{"type":31,"tag":53,"props":164,"children":165},{},[166,172,174,180,182,188,190,196],{"type":31,"tag":57,"props":167,"children":169},{"className":168},[],[170],{"type":36,"value":171},"app\u002Fpages\u002Fpages\u002Ffindings.vue",{"type":36,"value":173}," — ",{"type":31,"tag":57,"props":175,"children":177},{"className":176},[],[178],{"type":36,"value":179},"\u002Fv2\u002Ffindings",{"type":36,"value":181}," mock (added mid-cycle): framework-lens chip filters (working), severity rollup ",{"type":31,"tag":57,"props":183,"children":185},{"className":184},[],[186],{"type":36,"value":187},"DataCard",{"type":36,"value":189},", and a ",{"type":31,"tag":57,"props":191,"children":193},{"className":192},[],[194],{"type":36,"value":195},"UxTableListExpandRow",{"type":36,"value":197}," findings table where each row expands into the violation-detail panel (policy → violation → remediation chain, severity\u002Ffirst-seen\u002Flast-seen\u002Fframework meta, Manage Violation button) as drawn in the updated Figma frame.",{"type":31,"tag":53,"props":199,"children":200},{},[201,206,208,214,216,222],{"type":31,"tag":57,"props":202,"children":204},{"className":203},[],[205],{"type":36,"value":100},{"type":36,"value":207}," — Active (3) + Available (7) framework tables via ",{"type":31,"tag":57,"props":209,"children":211},{"className":210},[],[212],{"type":36,"value":213},"UxTableList",{"type":36,"value":215},"; framework\u002Fkind\u002Fviolations\u002Fcompleteness columns plus the prompt's Deactivate\u002FActivate action column. Reuses ",{"type":31,"tag":57,"props":217,"children":219},{"className":218},[],[220],{"type":36,"value":221},"PolicyCompletenessCell",{"type":36,"value":223}," from the c54 policy suite; kind glyphs (shield\u002Fscales\u002Fmedal) are inline SVGs since the layer icon set has no fit.",{"type":31,"tag":53,"props":225,"children":226},{},[227,232,234,240],{"type":31,"tag":57,"props":228,"children":230},{"className":229},[],[231],{"type":36,"value":108},{"type":36,"value":233}," — OWASP LLM Top 10 detail: header + kind badge, live recommended-controls progress bar, and an LLM01–LLM10 requirements table with real ",{"type":31,"tag":57,"props":235,"children":237},{"className":236},[],[238],{"type":36,"value":239},"UxToggle",{"type":36,"value":241}," control state (toggles and Activate\u002FDeactivate-all buttons drive the progress count).",{"type":31,"tag":53,"props":243,"children":244},{},[245,250,252,258],{"type":31,"tag":57,"props":246,"children":248},{"className":247},[],[249],{"type":36,"value":116},{"type":36,"value":251}," — two new entries in the ",{"type":31,"tag":57,"props":253,"children":255},{"className":254},[],[256],{"type":36,"value":257},"security",{"type":36,"value":259}," group; pages cross-link (listing \"Details + Configuration\" → detail, detail's back link → listing).",{"type":31,"tag":53,"props":261,"children":262},{},[263,265,271],{"type":36,"value":264},"Mock data varies per row instead of repeating the Figma placeholders (120 violations \u002F 84% everywhere); framework names & descriptions extend the set from ",{"type":31,"tag":57,"props":266,"children":268},{"className":267},[],[269],{"type":36,"value":270},"compliance.vue",{"type":36,"value":272},".",{"key":274,"title":275,"empty":17,"ast":276},"outcome","Outcome",{"type":28,"children":277},[278],{"type":31,"tag":87,"props":279,"children":280},{},[281],{"type":31,"tag":53,"props":282,"children":283},{},[284,286,292,294,300,302,307],{"type":36,"value":285},"Both pages render at ",{"type":31,"tag":57,"props":287,"children":289},{"className":288},[],[290],{"type":36,"value":291},"\u002Fpages\u002Fframework-listing",{"type":36,"value":293}," and ",{"type":31,"tag":57,"props":295,"children":297},{"className":296},[],[298],{"type":36,"value":299},"\u002Fpages\u002Fframework-detail",{"type":36,"value":301}," and are listed in the pages index. Cell-component extraction to the layer (framework cell, kind badge, violations stat, control toggle row, addressability status) deferred to a follow-up pass per ",{"type":31,"tag":57,"props":303,"children":305},{"className":304},[],[306],{"type":36,"value":152},{"type":36,"value":272},[],[310,152],"initial-prompt.md",[312,316,320,324,327,331,334,337],{"src":18,"kind":313,"order":314,"caption":315},"hero",13,"Instrumented framework mapping, projected frameworks, and evidence export",{"src":317,"kind":313,"order":318,"caption":319},"\u002Fcycles\u002Fdesign\u002Fc56-framework-listing.png",15,"Active and available compliance frameworks — kind, violations, control completeness, activate\u002Fdeactivate",{"src":321,"kind":313,"order":322,"caption":323},"\u002Fcycles\u002Fdesign\u002Fc56-findings.png",16,"Framework-lensed findings table — severity rollup, chip filters, and expandable violation-detail rows",{"src":325,"kind":313,"order":326},"\u002Farchive\u002F2026-q3\u002Fc56-framework-detail.png",4999,{"src":328,"kind":329,"order":330},"\u002Farchive\u002F2026-q3\u002Fc56-framework-detail-full.png","full",9000,{"src":332,"kind":329,"order":333},"\u002Fcycles\u002Fdesign\u002Fc56-compliance-full.png",9013,{"src":335,"kind":329,"order":336},"\u002Fcycles\u002Fdesign\u002Fc56-framework-listing-full.png",9015,{"src":338,"kind":329,"order":339},"\u002Fcycles\u002Fdesign\u002Fc56-findings-full.png",9016,[341],{"path":342,"title":343,"image":325,"gallery":344},"archive\u002F2026-q3\u002F2026-07-25-c56-framework-detail","Compliance Framework Detail",[345,347],{"src":325,"alt":346},"Framework detail mock — OWASP LLM Top 10 with live recommended-controls progress.",{"src":328,"alt":348},"Compliance Framework Detail — full page",[350,352,354],{"route":351,"href":351},"\u002Fpages\u002Fcompliance",{"route":353,"href":353},"\u002Fpages\u002Ffindings",{"route":291,"href":291},1789151084146]