From d4f093db830a0b5ebf3ecc64244471bd60dcec9d Mon Sep 17 00:00:00 2001 From: Skill Test Date: Sun, 13 Sep 2026 11:37:45 -0400 Subject: [PATCH 1/3] feat(artifacts): improve Aurora report readability --- .../skills/create-artifacts/SKILL.md | 32 +++++++++++++++ .../assets/aurora/artifact-components.css | 19 +++++++++ .../templates/aurora/docs/_template.html | 19 +++++++++ .../aurora/pr-reports/_template.html | 19 +++++++++ .../templates/aurora/proposals/_template.html | 19 +++++++++ .../templates/aurora/reports/_template.html | 19 +++++++++ .../templates/aurora/research/_template.html | 19 +++++++++ .../templates/aurora/sessions/_template.html | 19 +++++++++ .../templates/aurora/specs/_template.html | 19 +++++++++ .../create-artifacts/references/design.md | 39 +++++++++++++++++++ plugins/artifacts/tests/test_artifacts.py | 18 +++++++++ 11 files changed, 241 insertions(+) diff --git a/plugins/artifacts/skills/create-artifacts/SKILL.md b/plugins/artifacts/skills/create-artifacts/SKILL.md index 4b93558..bd09a45 100644 --- a/plugins/artifacts/skills/create-artifacts/SKILL.md +++ b/plugins/artifacts/skills/create-artifacts/SKILL.md @@ -11,6 +11,38 @@ the skill, templates, instructions, tests, or reusable tooling into that directo An explicit output root from the user takes precedence. `init-root` creates README/agent guidance symlinks to this plugin; keep their maintained contents here. +## HTML Quality Goal + +An HTML artifact must provide a substantially better surface for understanding +its information than the equivalent Markdown. A reader should be able to infer +the result, status, severity, evidence shape, and next action from hierarchy, +icons, semantic color, and compact visual summaries before reading the prose. +HTML is not complete when it merely wraps the Markdown in styled cards. + +Design every region for the value it contributes at that location and size: + +- Lead with the conclusion and strongest proof. Keep supporting prose concise + and disclose forensic detail progressively. +- Use the full semantic palette consistently: cyan for navigation and + information, mint for verified success, rose for risk or failure, amber for + caution or uncertainty, and neutral tones for context. +- Prefer an unambiguous icon for compact actions. Every icon-only control needs + an accessible name and a keyboard-accessible tooltip or popover with a short + title or description. Keep text where an icon would make meaning less clear. +- Use purposeful hover, focus, disclosure, and state transitions to explain + interactivity. Avoid decorative motion, repetitive card effects, and motion + that competes with the report. Respect `prefers-reduced-motion`. +- Maintain deliberate spacing and containment. No text may overlap, collide + with an edge, form one-word columns, or depend on horizontal page scrolling. + Code and evidence may scroll inside their own bounded regions. +- Make desktop and phone layouts independently legible. At both sizes, inspect + the header, hero, metrics, navigation, expanded details, tables, code, and the + longest realistic identifier or evidence line. + +Use [Design and Template Parity](references/design.md) for the visual contract. +If the visual result is not faster to scan and easier to understand than the +source Markdown, revise it before delivery. + ## Choose the Project and Template Resolve the artifact's actual subject repository as `owner/repository`, using the diff --git a/plugins/artifacts/skills/create-artifacts/assets/aurora/artifact-components.css b/plugins/artifacts/skills/create-artifacts/assets/aurora/artifact-components.css index 8a32da0..b2dc6f4 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/aurora/artifact-components.css +++ b/plugins/artifacts/skills/create-artifacts/assets/aurora/artifact-components.css @@ -26,3 +26,22 @@ button:hover,.filter:hover,.kitlinks a:hover{background:var(--aurora-hover-bg);b :focus-visible{outline:2px solid var(--aurora-accent-primary);outline-offset:3px} table{font-family:var(--aurora-font-sans);font-size:var(--aurora-type-table)}th{background:var(--aurora-control-surface);color:var(--aurora-text-muted)}td,th{border-color:var(--aurora-border-default)} @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}} + +/* Aurora artifact visual contract v2: glanceable, contained, and semantic. */ +body{min-width:320px;overflow-x:hidden;text-rendering:optimizeLegibility} +.shell{width:min(100%,1540px);padding-inline:clamp(18px,3.2vw,52px)} +.top{height:auto;min-height:64px;gap:20px;padding:10px 0;box-shadow:0 1px 0 color-mix(in srgb,var(--aurora-accent-primary) 16%,transparent)} +.brand{min-width:0}.brand>span:last-child{white-space:nowrap}.commit{min-width:0;max-width:min(46vw,680px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right} +.hero{padding:clamp(42px,6vw,76px) 0 clamp(34px,4.5vw,56px);border:0;grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);gap:clamp(34px,5vw,76px);align-items:center} +.hero>div{min-width:0}.eyebrow{margin-bottom:14px;color:var(--aurora-info);font-size:11px}.hero h1{max-width:16ch;font-size:clamp(38px,4.7vw,66px)!important;line-height:1.01!important;letter-spacing:-.052em!important;text-wrap:balance;overflow-wrap:normal}.hero h1 span{color:color-mix(in srgb,var(--aurora-text-muted) 86%,var(--aurora-accent-pink))}.hero p{max-width:68ch;margin-top:22px;font-size:clamp(15px,1.2vw,18px);line-height:1.62;text-wrap:pretty} +.verified{position:relative;min-width:0;padding:22px 24px 22px 28px!important;border:1px solid var(--aurora-success-border)!important;border-left:4px solid var(--aurora-success)!important;background:linear-gradient(135deg,var(--aurora-success-surface),var(--aurora-panel-medium) 55%)!important}.verified:before{content:"✓";position:absolute;top:16px;right:18px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--aurora-success-surface);border:1px solid var(--aurora-success-border);color:var(--aurora-success);font-weight:800}.verified h2{padding-right:36px;font-size:14px}.verified li{min-width:0}.verified li span{min-width:0;color:var(--muted)}.verified strong{min-width:0;text-align:right;color:var(--aurora-success-foreground);overflow-wrap:anywhere} +.stats{position:relative;isolation:isolate;gap:14px!important;margin:0 0 clamp(40px,5vw,68px);padding:0!important;border:0!important}.stat{position:relative;min-width:0;min-height:132px;padding:22px 22px 20px!important;border:1px solid var(--aurora-border-default)!important;border-radius:16px!important;overflow:hidden;background:linear-gradient(155deg,color-mix(in srgb,var(--stat-color,var(--aurora-info)) 8%,var(--aurora-control-surface)),var(--aurora-control-surface) 62%)!important;transition:transform var(--motion-duration-medium) var(--motion-ease-out),border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-medium) var(--motion-ease-out)} +.stat:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--stat-color,var(--aurora-info))}.stat:after{content:"";position:absolute;right:-32px;top:-42px;width:110px;height:110px;border-radius:50%;background:color-mix(in srgb,var(--stat-color,var(--aurora-info)) 10%,transparent);transition:transform var(--motion-duration-medium) var(--motion-ease-out)}.stat:nth-child(1){--stat-color:var(--aurora-info)}.stat:nth-child(2){--stat-color:var(--aurora-accent-pink)}.stat:nth-child(3){--stat-color:var(--aurora-success)}.stat:nth-child(4){--stat-color:var(--aurora-warn)}.stat:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--stat-color) 52%,var(--aurora-border-default))!important;box-shadow:0 15px 30px -24px var(--stat-color)}.stat:hover:after{transform:scale(1.16)}.num{position:relative;z-index:1;color:var(--stat-color);font-size:clamp(29px,2.7vw,40px)!important;line-height:1.05}.label{position:relative;z-index:1;max-width:24ch;margin-top:10px;line-height:1.35;color:var(--aurora-text-muted)} +.layout{grid-template-columns:minmax(210px,250px) minmax(0,1fr);gap:clamp(30px,4vw,58px);padding-top:0}.layout>section{min-width:0}.rail{top:88px}.rail h2{margin-bottom:12px}.filters{gap:8px}.filter{position:relative;min-height:42px;padding:10px 12px 10px 34px!important;border:1px solid transparent!important;border-radius:10px!important}.filter:before{content:"";position:absolute;left:13px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--filter-color,var(--aurora-neutral));transform:translateY(-50%);box-shadow:0 0 0 4px color-mix(in srgb,var(--filter-color,var(--aurora-neutral)) 12%,transparent)}.filter[data-filter=runtime],.filter[data-filter=verify],.filter[data-filter=mandatory],.filter[data-filter=now]{--filter-color:var(--aurora-success)}.filter[data-filter=path],.filter[data-filter=change],.filter[data-filter=should]{--filter-color:var(--aurora-info)}.filter[data-filter=high],.filter[data-filter=blocked],.filter[data-filter=forbidden],.filter[data-filter=no]{--filter-color:var(--aurora-error)}.filter[data-filter=medium],.filter[data-filter=later],.filter[data-filter=open],.filter[data-filter=out]{--filter-color:var(--aurora-warn)}.filter:hover{transform:translateX(2px)}.filter.active{border-color:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 38%,transparent)!important;background:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 10%,transparent)!important;color:var(--bc)} +.sectionhead{min-width:0}.sectionhead h2{font-size:clamp(25px,2.4vw,34px);line-height:1.08}.sectionhead p{max-width:58ch;line-height:1.5;text-wrap:pretty}.issue{min-width:0;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-medium) var(--motion-ease-out)}summary{min-width:0;grid-template-columns:48px minmax(0,1fr) auto;padding:21px clamp(18px,2vw,26px)}.title{min-width:0}.title h3{font-size:clamp(16px,1.55vw,20px);text-wrap:pretty}.title p{max-width:76ch;line-height:1.5;text-wrap:pretty}.tags{min-width:0;flex-wrap:wrap;justify-content:flex-end}.chev{transition:transform var(--motion-duration-medium) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out)}details[open] .chev{transform:rotate(180deg);background:var(--aurora-selected-bg)} +.detail{min-width:0;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(26px,3.5vw,52px);padding:clamp(24px,3vw,38px) clamp(18px,2.5vw,32px)!important}.detail>div,.detail>aside{min-width:0}.trace{max-width:52ch}.step{line-height:1.52}.step b,.step span{overflow-wrap:anywhere}.evidence,.code,pre{max-width:100%;overflow:auto;overflow-wrap:anywhere;word-break:normal}.evidence{white-space:pre-wrap}.source,.limit,.fix,.scope,td,th{overflow-wrap:anywhere}.limit{border-color:var(--aurora-warn);background:linear-gradient(90deg,var(--aurora-warn-surface),transparent 68%);padding:10px 12px}.fix{border-color:var(--aurora-success);background:linear-gradient(90deg,var(--aurora-success-surface),transparent 68%);padding:10px 12px} +[data-tooltip],button[aria-label]{position:relative}[data-tooltip]:after,button[aria-label]:after{content:attr(data-tooltip);pointer-events:none;position:absolute;z-index:var(--z-popover);left:50%;bottom:calc(100% + 9px);width:max-content;max-width:240px;padding:8px 10px;border:1px solid var(--aurora-border-strong);border-radius:8px;background:var(--aurora-panel-strong);box-shadow:var(--aurora-shadow-strong);color:var(--bc);font:600 11px/1.35 var(--body);opacity:0;transform:translate(-50%,5px);transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after,button[aria-label]:hover:after,button[aria-label]:focus-visible:after{opacity:1;transform:translate(-50%,0)}button[aria-label]:after{content:attr(aria-label)} +@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:34px}.detail{grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr)}} +@media(max-width:900px){.hero{grid-template-columns:1fr}.hero h1{max-width:18ch}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:1fr}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.detail{grid-template-columns:1fr}.trace{max-width:70ch}.rail{position:static}} +@media(max-width:620px){main,.hero,.hero>div,.verified,.verified ul,.verified li{min-width:0;max-width:100%}.shell{padding-inline:16px}.top{align-items:flex-start}.brand>span:last-child{display:none}.aurora-wordmark{font-size:23px}.hero{padding-top:34px;gap:26px}.hero h1,.hero h1 span{font-size:clamp(34px,10vw,44px)!important;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}.hero p{max-width:100%;font-size:15px;overflow-wrap:anywhere}.verified{width:100%;padding:20px!important}.verified li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:12px}.verified strong{font-size:11px}.stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:38px}.stat{min-height:112px;padding:18px!important}.filters{grid-template-columns:1fr 1fr}.sectionhead{display:block}.sectionhead p{text-align:left}.issue summary{grid-template-columns:34px minmax(0,1fr)}.tags{grid-column:2;justify-content:flex-start}.detail{padding:22px 16px!important}.evidence,.code,pre{font-size:10.5px}.excluded-grid{grid-template-columns:1fr}.commit{max-width:42vw}} +@media(max-width:390px){.stats,.filters{grid-template-columns:1fr!important}.stat{min-height:96px}.commit{display:none}.issue summary{grid-template-columns:1fr}.rank,.tags{grid-column:1}} diff --git a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/docs/_template.html b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/docs/_template.html index 80eeb73..ca8e8c1 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/docs/_template.html +++ b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/docs/_template.html @@ -739,6 +739,25 @@ table{font-family:var(--aurora-font-sans);font-size:var(--aurora-type-table)}th{background:var(--aurora-control-surface);color:var(--aurora-text-muted)}td,th{border-color:var(--aurora-border-default)} @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}} +/* Aurora artifact visual contract v2: glanceable, contained, and semantic. */ +body{min-width:320px;overflow-x:hidden;text-rendering:optimizeLegibility} +.shell{width:min(100%,1540px);padding-inline:clamp(18px,3.2vw,52px)} +.top{height:auto;min-height:64px;gap:20px;padding:10px 0;box-shadow:0 1px 0 color-mix(in srgb,var(--aurora-accent-primary) 16%,transparent)} +.brand{min-width:0}.brand>span:last-child{white-space:nowrap}.commit{min-width:0;max-width:min(46vw,680px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right} +.hero{padding:clamp(42px,6vw,76px) 0 clamp(34px,4.5vw,56px);border:0;grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);gap:clamp(34px,5vw,76px);align-items:center} +.hero>div{min-width:0}.eyebrow{margin-bottom:14px;color:var(--aurora-info);font-size:11px}.hero h1{max-width:16ch;font-size:clamp(38px,4.7vw,66px)!important;line-height:1.01!important;letter-spacing:-.052em!important;text-wrap:balance;overflow-wrap:normal}.hero h1 span{color:color-mix(in srgb,var(--aurora-text-muted) 86%,var(--aurora-accent-pink))}.hero p{max-width:68ch;margin-top:22px;font-size:clamp(15px,1.2vw,18px);line-height:1.62;text-wrap:pretty} +.verified{position:relative;min-width:0;padding:22px 24px 22px 28px!important;border:1px solid var(--aurora-success-border)!important;border-left:4px solid var(--aurora-success)!important;background:linear-gradient(135deg,var(--aurora-success-surface),var(--aurora-panel-medium) 55%)!important}.verified:before{content:"✓";position:absolute;top:16px;right:18px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--aurora-success-surface);border:1px solid var(--aurora-success-border);color:var(--aurora-success);font-weight:800}.verified h2{padding-right:36px;font-size:14px}.verified li{min-width:0}.verified li span{min-width:0;color:var(--muted)}.verified strong{min-width:0;text-align:right;color:var(--aurora-success-foreground);overflow-wrap:anywhere} +.stats{position:relative;isolation:isolate;gap:14px!important;margin:0 0 clamp(40px,5vw,68px);padding:0!important;border:0!important}.stat{position:relative;min-width:0;min-height:132px;padding:22px 22px 20px!important;border:1px solid var(--aurora-border-default)!important;border-radius:16px!important;overflow:hidden;background:linear-gradient(155deg,color-mix(in srgb,var(--stat-color,var(--aurora-info)) 8%,var(--aurora-control-surface)),var(--aurora-control-surface) 62%)!important;transition:transform var(--motion-duration-medium) var(--motion-ease-out),border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-medium) var(--motion-ease-out)} +.stat:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--stat-color,var(--aurora-info))}.stat:after{content:"";position:absolute;right:-32px;top:-42px;width:110px;height:110px;border-radius:50%;background:color-mix(in srgb,var(--stat-color,var(--aurora-info)) 10%,transparent);transition:transform var(--motion-duration-medium) var(--motion-ease-out)}.stat:nth-child(1){--stat-color:var(--aurora-info)}.stat:nth-child(2){--stat-color:var(--aurora-accent-pink)}.stat:nth-child(3){--stat-color:var(--aurora-success)}.stat:nth-child(4){--stat-color:var(--aurora-warn)}.stat:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--stat-color) 52%,var(--aurora-border-default))!important;box-shadow:0 15px 30px -24px var(--stat-color)}.stat:hover:after{transform:scale(1.16)}.num{position:relative;z-index:1;color:var(--stat-color);font-size:clamp(29px,2.7vw,40px)!important;line-height:1.05}.label{position:relative;z-index:1;max-width:24ch;margin-top:10px;line-height:1.35;color:var(--aurora-text-muted)} +.layout{grid-template-columns:minmax(210px,250px) minmax(0,1fr);gap:clamp(30px,4vw,58px);padding-top:0}.layout>section{min-width:0}.rail{top:88px}.rail h2{margin-bottom:12px}.filters{gap:8px}.filter{position:relative;min-height:42px;padding:10px 12px 10px 34px!important;border:1px solid transparent!important;border-radius:10px!important}.filter:before{content:"";position:absolute;left:13px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--filter-color,var(--aurora-neutral));transform:translateY(-50%);box-shadow:0 0 0 4px color-mix(in srgb,var(--filter-color,var(--aurora-neutral)) 12%,transparent)}.filter[data-filter=runtime],.filter[data-filter=verify],.filter[data-filter=mandatory],.filter[data-filter=now]{--filter-color:var(--aurora-success)}.filter[data-filter=path],.filter[data-filter=change],.filter[data-filter=should]{--filter-color:var(--aurora-info)}.filter[data-filter=high],.filter[data-filter=blocked],.filter[data-filter=forbidden],.filter[data-filter=no]{--filter-color:var(--aurora-error)}.filter[data-filter=medium],.filter[data-filter=later],.filter[data-filter=open],.filter[data-filter=out]{--filter-color:var(--aurora-warn)}.filter:hover{transform:translateX(2px)}.filter.active{border-color:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 38%,transparent)!important;background:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 10%,transparent)!important;color:var(--bc)} +.sectionhead{min-width:0}.sectionhead h2{font-size:clamp(25px,2.4vw,34px);line-height:1.08}.sectionhead p{max-width:58ch;line-height:1.5;text-wrap:pretty}.issue{min-width:0;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-medium) var(--motion-ease-out)}summary{min-width:0;grid-template-columns:48px minmax(0,1fr) auto;padding:21px clamp(18px,2vw,26px)}.title{min-width:0}.title h3{font-size:clamp(16px,1.55vw,20px);text-wrap:pretty}.title p{max-width:76ch;line-height:1.5;text-wrap:pretty}.tags{min-width:0;flex-wrap:wrap;justify-content:flex-end}.chev{transition:transform var(--motion-duration-medium) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out)}details[open] .chev{transform:rotate(180deg);background:var(--aurora-selected-bg)} +.detail{min-width:0;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(26px,3.5vw,52px);padding:clamp(24px,3vw,38px) clamp(18px,2.5vw,32px)!important}.detail>div,.detail>aside{min-width:0}.trace{max-width:52ch}.step{line-height:1.52}.step b,.step span{overflow-wrap:anywhere}.evidence,.code,pre{max-width:100%;overflow:auto;overflow-wrap:anywhere;word-break:normal}.evidence{white-space:pre-wrap}.source,.limit,.fix,.scope,td,th{overflow-wrap:anywhere}.limit{border-color:var(--aurora-warn);background:linear-gradient(90deg,var(--aurora-warn-surface),transparent 68%);padding:10px 12px}.fix{border-color:var(--aurora-success);background:linear-gradient(90deg,var(--aurora-success-surface),transparent 68%);padding:10px 12px} +[data-tooltip],button[aria-label]{position:relative}[data-tooltip]:after,button[aria-label]:after{content:attr(data-tooltip);pointer-events:none;position:absolute;z-index:var(--z-popover);left:50%;bottom:calc(100% + 9px);width:max-content;max-width:240px;padding:8px 10px;border:1px solid var(--aurora-border-strong);border-radius:8px;background:var(--aurora-panel-strong);box-shadow:var(--aurora-shadow-strong);color:var(--bc);font:600 11px/1.35 var(--body);opacity:0;transform:translate(-50%,5px);transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after,button[aria-label]:hover:after,button[aria-label]:focus-visible:after{opacity:1;transform:translate(-50%,0)}button[aria-label]:after{content:attr(aria-label)} +@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:34px}.detail{grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr)}} +@media(max-width:900px){.hero{grid-template-columns:1fr}.hero h1{max-width:18ch}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:1fr}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.detail{grid-template-columns:1fr}.trace{max-width:70ch}.rail{position:static}} +@media(max-width:620px){main,.hero,.hero>div,.verified,.verified ul,.verified li{min-width:0;max-width:100%}.shell{padding-inline:16px}.top{align-items:flex-start}.brand>span:last-child{display:none}.aurora-wordmark{font-size:23px}.hero{padding-top:34px;gap:26px}.hero h1,.hero h1 span{font-size:clamp(34px,10vw,44px)!important;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}.hero p{max-width:100%;font-size:15px;overflow-wrap:anywhere}.verified{width:100%;padding:20px!important}.verified li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:12px}.verified strong{font-size:11px}.stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:38px}.stat{min-height:112px;padding:18px!important}.filters{grid-template-columns:1fr 1fr}.sectionhead{display:block}.sectionhead p{text-align:left}.issue summary{grid-template-columns:34px minmax(0,1fr)}.tags{grid-column:2;justify-content:flex-start}.detail{padding:22px 16px!important}.evidence,.code,pre{font-size:10.5px}.excluded-grid{grid-template-columns:1fr}.commit{max-width:42vw}} +@media(max-width:390px){.stats,.filters{grid-template-columns:1fr!important}.stat{min-height:96px}.commit{display:none}.issue summary{grid-template-columns:1fr}.rank,.tags{grid-column:1}} +
diff --git a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/pr-reports/_template.html b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/pr-reports/_template.html index f2507a4..8069be9 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/pr-reports/_template.html +++ b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/pr-reports/_template.html @@ -778,6 +778,25 @@ table{font-family:var(--aurora-font-sans);font-size:var(--aurora-type-table)}th{background:var(--aurora-control-surface);color:var(--aurora-text-muted)}td,th{border-color:var(--aurora-border-default)} @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}} +/* Aurora artifact visual contract v2: glanceable, contained, and semantic. */ +body{min-width:320px;overflow-x:hidden;text-rendering:optimizeLegibility} +.shell{width:min(100%,1540px);padding-inline:clamp(18px,3.2vw,52px)} +.top{height:auto;min-height:64px;gap:20px;padding:10px 0;box-shadow:0 1px 0 color-mix(in srgb,var(--aurora-accent-primary) 16%,transparent)} +.brand{min-width:0}.brand>span:last-child{white-space:nowrap}.commit{min-width:0;max-width:min(46vw,680px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right} +.hero{padding:clamp(42px,6vw,76px) 0 clamp(34px,4.5vw,56px);border:0;grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);gap:clamp(34px,5vw,76px);align-items:center} +.hero>div{min-width:0}.eyebrow{margin-bottom:14px;color:var(--aurora-info);font-size:11px}.hero h1{max-width:16ch;font-size:clamp(38px,4.7vw,66px)!important;line-height:1.01!important;letter-spacing:-.052em!important;text-wrap:balance;overflow-wrap:normal}.hero h1 span{color:color-mix(in srgb,var(--aurora-text-muted) 86%,var(--aurora-accent-pink))}.hero p{max-width:68ch;margin-top:22px;font-size:clamp(15px,1.2vw,18px);line-height:1.62;text-wrap:pretty} +.verified{position:relative;min-width:0;padding:22px 24px 22px 28px!important;border:1px solid var(--aurora-success-border)!important;border-left:4px solid var(--aurora-success)!important;background:linear-gradient(135deg,var(--aurora-success-surface),var(--aurora-panel-medium) 55%)!important}.verified:before{content:"✓";position:absolute;top:16px;right:18px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--aurora-success-surface);border:1px solid var(--aurora-success-border);color:var(--aurora-success);font-weight:800}.verified h2{padding-right:36px;font-size:14px}.verified li{min-width:0}.verified li span{min-width:0;color:var(--muted)}.verified strong{min-width:0;text-align:right;color:var(--aurora-success-foreground);overflow-wrap:anywhere} +.stats{position:relative;isolation:isolate;gap:14px!important;margin:0 0 clamp(40px,5vw,68px);padding:0!important;border:0!important}.stat{position:relative;min-width:0;min-height:132px;padding:22px 22px 20px!important;border:1px solid var(--aurora-border-default)!important;border-radius:16px!important;overflow:hidden;background:linear-gradient(155deg,color-mix(in srgb,var(--stat-color,var(--aurora-info)) 8%,var(--aurora-control-surface)),var(--aurora-control-surface) 62%)!important;transition:transform var(--motion-duration-medium) var(--motion-ease-out),border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-medium) var(--motion-ease-out)} +.stat:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--stat-color,var(--aurora-info))}.stat:after{content:"";position:absolute;right:-32px;top:-42px;width:110px;height:110px;border-radius:50%;background:color-mix(in srgb,var(--stat-color,var(--aurora-info)) 10%,transparent);transition:transform var(--motion-duration-medium) var(--motion-ease-out)}.stat:nth-child(1){--stat-color:var(--aurora-info)}.stat:nth-child(2){--stat-color:var(--aurora-accent-pink)}.stat:nth-child(3){--stat-color:var(--aurora-success)}.stat:nth-child(4){--stat-color:var(--aurora-warn)}.stat:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--stat-color) 52%,var(--aurora-border-default))!important;box-shadow:0 15px 30px -24px var(--stat-color)}.stat:hover:after{transform:scale(1.16)}.num{position:relative;z-index:1;color:var(--stat-color);font-size:clamp(29px,2.7vw,40px)!important;line-height:1.05}.label{position:relative;z-index:1;max-width:24ch;margin-top:10px;line-height:1.35;color:var(--aurora-text-muted)} +.layout{grid-template-columns:minmax(210px,250px) minmax(0,1fr);gap:clamp(30px,4vw,58px);padding-top:0}.layout>section{min-width:0}.rail{top:88px}.rail h2{margin-bottom:12px}.filters{gap:8px}.filter{position:relative;min-height:42px;padding:10px 12px 10px 34px!important;border:1px solid transparent!important;border-radius:10px!important}.filter:before{content:"";position:absolute;left:13px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--filter-color,var(--aurora-neutral));transform:translateY(-50%);box-shadow:0 0 0 4px color-mix(in srgb,var(--filter-color,var(--aurora-neutral)) 12%,transparent)}.filter[data-filter=runtime],.filter[data-filter=verify],.filter[data-filter=mandatory],.filter[data-filter=now]{--filter-color:var(--aurora-success)}.filter[data-filter=path],.filter[data-filter=change],.filter[data-filter=should]{--filter-color:var(--aurora-info)}.filter[data-filter=high],.filter[data-filter=blocked],.filter[data-filter=forbidden],.filter[data-filter=no]{--filter-color:var(--aurora-error)}.filter[data-filter=medium],.filter[data-filter=later],.filter[data-filter=open],.filter[data-filter=out]{--filter-color:var(--aurora-warn)}.filter:hover{transform:translateX(2px)}.filter.active{border-color:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 38%,transparent)!important;background:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 10%,transparent)!important;color:var(--bc)} +.sectionhead{min-width:0}.sectionhead h2{font-size:clamp(25px,2.4vw,34px);line-height:1.08}.sectionhead p{max-width:58ch;line-height:1.5;text-wrap:pretty}.issue{min-width:0;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-medium) var(--motion-ease-out)}summary{min-width:0;grid-template-columns:48px minmax(0,1fr) auto;padding:21px clamp(18px,2vw,26px)}.title{min-width:0}.title h3{font-size:clamp(16px,1.55vw,20px);text-wrap:pretty}.title p{max-width:76ch;line-height:1.5;text-wrap:pretty}.tags{min-width:0;flex-wrap:wrap;justify-content:flex-end}.chev{transition:transform var(--motion-duration-medium) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out)}details[open] .chev{transform:rotate(180deg);background:var(--aurora-selected-bg)} +.detail{min-width:0;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(26px,3.5vw,52px);padding:clamp(24px,3vw,38px) clamp(18px,2.5vw,32px)!important}.detail>div,.detail>aside{min-width:0}.trace{max-width:52ch}.step{line-height:1.52}.step b,.step span{overflow-wrap:anywhere}.evidence,.code,pre{max-width:100%;overflow:auto;overflow-wrap:anywhere;word-break:normal}.evidence{white-space:pre-wrap}.source,.limit,.fix,.scope,td,th{overflow-wrap:anywhere}.limit{border-color:var(--aurora-warn);background:linear-gradient(90deg,var(--aurora-warn-surface),transparent 68%);padding:10px 12px}.fix{border-color:var(--aurora-success);background:linear-gradient(90deg,var(--aurora-success-surface),transparent 68%);padding:10px 12px} +[data-tooltip],button[aria-label]{position:relative}[data-tooltip]:after,button[aria-label]:after{content:attr(data-tooltip);pointer-events:none;position:absolute;z-index:var(--z-popover);left:50%;bottom:calc(100% + 9px);width:max-content;max-width:240px;padding:8px 10px;border:1px solid var(--aurora-border-strong);border-radius:8px;background:var(--aurora-panel-strong);box-shadow:var(--aurora-shadow-strong);color:var(--bc);font:600 11px/1.35 var(--body);opacity:0;transform:translate(-50%,5px);transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after,button[aria-label]:hover:after,button[aria-label]:focus-visible:after{opacity:1;transform:translate(-50%,0)}button[aria-label]:after{content:attr(aria-label)} +@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:34px}.detail{grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr)}} +@media(max-width:900px){.hero{grid-template-columns:1fr}.hero h1{max-width:18ch}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:1fr}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.detail{grid-template-columns:1fr}.trace{max-width:70ch}.rail{position:static}} +@media(max-width:620px){main,.hero,.hero>div,.verified,.verified ul,.verified li{min-width:0;max-width:100%}.shell{padding-inline:16px}.top{align-items:flex-start}.brand>span:last-child{display:none}.aurora-wordmark{font-size:23px}.hero{padding-top:34px;gap:26px}.hero h1,.hero h1 span{font-size:clamp(34px,10vw,44px)!important;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}.hero p{max-width:100%;font-size:15px;overflow-wrap:anywhere}.verified{width:100%;padding:20px!important}.verified li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:12px}.verified strong{font-size:11px}.stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:38px}.stat{min-height:112px;padding:18px!important}.filters{grid-template-columns:1fr 1fr}.sectionhead{display:block}.sectionhead p{text-align:left}.issue summary{grid-template-columns:34px minmax(0,1fr)}.tags{grid-column:2;justify-content:flex-start}.detail{padding:22px 16px!important}.evidence,.code,pre{font-size:10.5px}.excluded-grid{grid-template-columns:1fr}.commit{max-width:42vw}} +@media(max-width:390px){.stats,.filters{grid-template-columns:1fr!important}.stat{min-height:96px}.commit{display:none}.issue summary{grid-template-columns:1fr}.rank,.tags{grid-column:1}} +
diff --git a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/proposals/_template.html b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/proposals/_template.html index d7e5fae..f12b47b 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/proposals/_template.html +++ b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/proposals/_template.html @@ -739,6 +739,25 @@ table{font-family:var(--aurora-font-sans);font-size:var(--aurora-type-table)}th{background:var(--aurora-control-surface);color:var(--aurora-text-muted)}td,th{border-color:var(--aurora-border-default)} @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}} +/* Aurora artifact visual contract v2: glanceable, contained, and semantic. */ +body{min-width:320px;overflow-x:hidden;text-rendering:optimizeLegibility} +.shell{width:min(100%,1540px);padding-inline:clamp(18px,3.2vw,52px)} +.top{height:auto;min-height:64px;gap:20px;padding:10px 0;box-shadow:0 1px 0 color-mix(in srgb,var(--aurora-accent-primary) 16%,transparent)} +.brand{min-width:0}.brand>span:last-child{white-space:nowrap}.commit{min-width:0;max-width:min(46vw,680px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right} +.hero{padding:clamp(42px,6vw,76px) 0 clamp(34px,4.5vw,56px);border:0;grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);gap:clamp(34px,5vw,76px);align-items:center} +.hero>div{min-width:0}.eyebrow{margin-bottom:14px;color:var(--aurora-info);font-size:11px}.hero h1{max-width:16ch;font-size:clamp(38px,4.7vw,66px)!important;line-height:1.01!important;letter-spacing:-.052em!important;text-wrap:balance;overflow-wrap:normal}.hero h1 span{color:color-mix(in srgb,var(--aurora-text-muted) 86%,var(--aurora-accent-pink))}.hero p{max-width:68ch;margin-top:22px;font-size:clamp(15px,1.2vw,18px);line-height:1.62;text-wrap:pretty} +.verified{position:relative;min-width:0;padding:22px 24px 22px 28px!important;border:1px solid var(--aurora-success-border)!important;border-left:4px solid var(--aurora-success)!important;background:linear-gradient(135deg,var(--aurora-success-surface),var(--aurora-panel-medium) 55%)!important}.verified:before{content:"✓";position:absolute;top:16px;right:18px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--aurora-success-surface);border:1px solid var(--aurora-success-border);color:var(--aurora-success);font-weight:800}.verified h2{padding-right:36px;font-size:14px}.verified li{min-width:0}.verified li span{min-width:0;color:var(--muted)}.verified strong{min-width:0;text-align:right;color:var(--aurora-success-foreground);overflow-wrap:anywhere} +.stats{position:relative;isolation:isolate;gap:14px!important;margin:0 0 clamp(40px,5vw,68px);padding:0!important;border:0!important}.stat{position:relative;min-width:0;min-height:132px;padding:22px 22px 20px!important;border:1px solid var(--aurora-border-default)!important;border-radius:16px!important;overflow:hidden;background:linear-gradient(155deg,color-mix(in srgb,var(--stat-color,var(--aurora-info)) 8%,var(--aurora-control-surface)),var(--aurora-control-surface) 62%)!important;transition:transform var(--motion-duration-medium) var(--motion-ease-out),border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-medium) var(--motion-ease-out)} +.stat:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--stat-color,var(--aurora-info))}.stat:after{content:"";position:absolute;right:-32px;top:-42px;width:110px;height:110px;border-radius:50%;background:color-mix(in srgb,var(--stat-color,var(--aurora-info)) 10%,transparent);transition:transform var(--motion-duration-medium) var(--motion-ease-out)}.stat:nth-child(1){--stat-color:var(--aurora-info)}.stat:nth-child(2){--stat-color:var(--aurora-accent-pink)}.stat:nth-child(3){--stat-color:var(--aurora-success)}.stat:nth-child(4){--stat-color:var(--aurora-warn)}.stat:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--stat-color) 52%,var(--aurora-border-default))!important;box-shadow:0 15px 30px -24px var(--stat-color)}.stat:hover:after{transform:scale(1.16)}.num{position:relative;z-index:1;color:var(--stat-color);font-size:clamp(29px,2.7vw,40px)!important;line-height:1.05}.label{position:relative;z-index:1;max-width:24ch;margin-top:10px;line-height:1.35;color:var(--aurora-text-muted)} +.layout{grid-template-columns:minmax(210px,250px) minmax(0,1fr);gap:clamp(30px,4vw,58px);padding-top:0}.layout>section{min-width:0}.rail{top:88px}.rail h2{margin-bottom:12px}.filters{gap:8px}.filter{position:relative;min-height:42px;padding:10px 12px 10px 34px!important;border:1px solid transparent!important;border-radius:10px!important}.filter:before{content:"";position:absolute;left:13px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--filter-color,var(--aurora-neutral));transform:translateY(-50%);box-shadow:0 0 0 4px color-mix(in srgb,var(--filter-color,var(--aurora-neutral)) 12%,transparent)}.filter[data-filter=runtime],.filter[data-filter=verify],.filter[data-filter=mandatory],.filter[data-filter=now]{--filter-color:var(--aurora-success)}.filter[data-filter=path],.filter[data-filter=change],.filter[data-filter=should]{--filter-color:var(--aurora-info)}.filter[data-filter=high],.filter[data-filter=blocked],.filter[data-filter=forbidden],.filter[data-filter=no]{--filter-color:var(--aurora-error)}.filter[data-filter=medium],.filter[data-filter=later],.filter[data-filter=open],.filter[data-filter=out]{--filter-color:var(--aurora-warn)}.filter:hover{transform:translateX(2px)}.filter.active{border-color:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 38%,transparent)!important;background:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 10%,transparent)!important;color:var(--bc)} +.sectionhead{min-width:0}.sectionhead h2{font-size:clamp(25px,2.4vw,34px);line-height:1.08}.sectionhead p{max-width:58ch;line-height:1.5;text-wrap:pretty}.issue{min-width:0;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-medium) var(--motion-ease-out)}summary{min-width:0;grid-template-columns:48px minmax(0,1fr) auto;padding:21px clamp(18px,2vw,26px)}.title{min-width:0}.title h3{font-size:clamp(16px,1.55vw,20px);text-wrap:pretty}.title p{max-width:76ch;line-height:1.5;text-wrap:pretty}.tags{min-width:0;flex-wrap:wrap;justify-content:flex-end}.chev{transition:transform var(--motion-duration-medium) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out)}details[open] .chev{transform:rotate(180deg);background:var(--aurora-selected-bg)} +.detail{min-width:0;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(26px,3.5vw,52px);padding:clamp(24px,3vw,38px) clamp(18px,2.5vw,32px)!important}.detail>div,.detail>aside{min-width:0}.trace{max-width:52ch}.step{line-height:1.52}.step b,.step span{overflow-wrap:anywhere}.evidence,.code,pre{max-width:100%;overflow:auto;overflow-wrap:anywhere;word-break:normal}.evidence{white-space:pre-wrap}.source,.limit,.fix,.scope,td,th{overflow-wrap:anywhere}.limit{border-color:var(--aurora-warn);background:linear-gradient(90deg,var(--aurora-warn-surface),transparent 68%);padding:10px 12px}.fix{border-color:var(--aurora-success);background:linear-gradient(90deg,var(--aurora-success-surface),transparent 68%);padding:10px 12px} +[data-tooltip],button[aria-label]{position:relative}[data-tooltip]:after,button[aria-label]:after{content:attr(data-tooltip);pointer-events:none;position:absolute;z-index:var(--z-popover);left:50%;bottom:calc(100% + 9px);width:max-content;max-width:240px;padding:8px 10px;border:1px solid var(--aurora-border-strong);border-radius:8px;background:var(--aurora-panel-strong);box-shadow:var(--aurora-shadow-strong);color:var(--bc);font:600 11px/1.35 var(--body);opacity:0;transform:translate(-50%,5px);transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after,button[aria-label]:hover:after,button[aria-label]:focus-visible:after{opacity:1;transform:translate(-50%,0)}button[aria-label]:after{content:attr(aria-label)} +@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:34px}.detail{grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr)}} +@media(max-width:900px){.hero{grid-template-columns:1fr}.hero h1{max-width:18ch}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:1fr}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.detail{grid-template-columns:1fr}.trace{max-width:70ch}.rail{position:static}} +@media(max-width:620px){main,.hero,.hero>div,.verified,.verified ul,.verified li{min-width:0;max-width:100%}.shell{padding-inline:16px}.top{align-items:flex-start}.brand>span:last-child{display:none}.aurora-wordmark{font-size:23px}.hero{padding-top:34px;gap:26px}.hero h1,.hero h1 span{font-size:clamp(34px,10vw,44px)!important;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}.hero p{max-width:100%;font-size:15px;overflow-wrap:anywhere}.verified{width:100%;padding:20px!important}.verified li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:12px}.verified strong{font-size:11px}.stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:38px}.stat{min-height:112px;padding:18px!important}.filters{grid-template-columns:1fr 1fr}.sectionhead{display:block}.sectionhead p{text-align:left}.issue summary{grid-template-columns:34px minmax(0,1fr)}.tags{grid-column:2;justify-content:flex-start}.detail{padding:22px 16px!important}.evidence,.code,pre{font-size:10.5px}.excluded-grid{grid-template-columns:1fr}.commit{max-width:42vw}} +@media(max-width:390px){.stats,.filters{grid-template-columns:1fr!important}.stat{min-height:96px}.commit{display:none}.issue summary{grid-template-columns:1fr}.rank,.tags{grid-column:1}} +
diff --git a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/reports/_template.html b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/reports/_template.html index 085ed2c..e230250 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/reports/_template.html +++ b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/reports/_template.html @@ -748,6 +748,25 @@ table{font-family:var(--aurora-font-sans);font-size:var(--aurora-type-table)}th{background:var(--aurora-control-surface);color:var(--aurora-text-muted)}td,th{border-color:var(--aurora-border-default)} @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}} +/* Aurora artifact visual contract v2: glanceable, contained, and semantic. */ +body{min-width:320px;overflow-x:hidden;text-rendering:optimizeLegibility} +.shell{width:min(100%,1540px);padding-inline:clamp(18px,3.2vw,52px)} +.top{height:auto;min-height:64px;gap:20px;padding:10px 0;box-shadow:0 1px 0 color-mix(in srgb,var(--aurora-accent-primary) 16%,transparent)} +.brand{min-width:0}.brand>span:last-child{white-space:nowrap}.commit{min-width:0;max-width:min(46vw,680px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right} +.hero{padding:clamp(42px,6vw,76px) 0 clamp(34px,4.5vw,56px);border:0;grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);gap:clamp(34px,5vw,76px);align-items:center} +.hero>div{min-width:0}.eyebrow{margin-bottom:14px;color:var(--aurora-info);font-size:11px}.hero h1{max-width:16ch;font-size:clamp(38px,4.7vw,66px)!important;line-height:1.01!important;letter-spacing:-.052em!important;text-wrap:balance;overflow-wrap:normal}.hero h1 span{color:color-mix(in srgb,var(--aurora-text-muted) 86%,var(--aurora-accent-pink))}.hero p{max-width:68ch;margin-top:22px;font-size:clamp(15px,1.2vw,18px);line-height:1.62;text-wrap:pretty} +.verified{position:relative;min-width:0;padding:22px 24px 22px 28px!important;border:1px solid var(--aurora-success-border)!important;border-left:4px solid var(--aurora-success)!important;background:linear-gradient(135deg,var(--aurora-success-surface),var(--aurora-panel-medium) 55%)!important}.verified:before{content:"✓";position:absolute;top:16px;right:18px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--aurora-success-surface);border:1px solid var(--aurora-success-border);color:var(--aurora-success);font-weight:800}.verified h2{padding-right:36px;font-size:14px}.verified li{min-width:0}.verified li span{min-width:0;color:var(--muted)}.verified strong{min-width:0;text-align:right;color:var(--aurora-success-foreground);overflow-wrap:anywhere} +.stats{position:relative;isolation:isolate;gap:14px!important;margin:0 0 clamp(40px,5vw,68px);padding:0!important;border:0!important}.stat{position:relative;min-width:0;min-height:132px;padding:22px 22px 20px!important;border:1px solid var(--aurora-border-default)!important;border-radius:16px!important;overflow:hidden;background:linear-gradient(155deg,color-mix(in srgb,var(--stat-color,var(--aurora-info)) 8%,var(--aurora-control-surface)),var(--aurora-control-surface) 62%)!important;transition:transform var(--motion-duration-medium) var(--motion-ease-out),border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-medium) var(--motion-ease-out)} +.stat:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--stat-color,var(--aurora-info))}.stat:after{content:"";position:absolute;right:-32px;top:-42px;width:110px;height:110px;border-radius:50%;background:color-mix(in srgb,var(--stat-color,var(--aurora-info)) 10%,transparent);transition:transform var(--motion-duration-medium) var(--motion-ease-out)}.stat:nth-child(1){--stat-color:var(--aurora-info)}.stat:nth-child(2){--stat-color:var(--aurora-accent-pink)}.stat:nth-child(3){--stat-color:var(--aurora-success)}.stat:nth-child(4){--stat-color:var(--aurora-warn)}.stat:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--stat-color) 52%,var(--aurora-border-default))!important;box-shadow:0 15px 30px -24px var(--stat-color)}.stat:hover:after{transform:scale(1.16)}.num{position:relative;z-index:1;color:var(--stat-color);font-size:clamp(29px,2.7vw,40px)!important;line-height:1.05}.label{position:relative;z-index:1;max-width:24ch;margin-top:10px;line-height:1.35;color:var(--aurora-text-muted)} +.layout{grid-template-columns:minmax(210px,250px) minmax(0,1fr);gap:clamp(30px,4vw,58px);padding-top:0}.layout>section{min-width:0}.rail{top:88px}.rail h2{margin-bottom:12px}.filters{gap:8px}.filter{position:relative;min-height:42px;padding:10px 12px 10px 34px!important;border:1px solid transparent!important;border-radius:10px!important}.filter:before{content:"";position:absolute;left:13px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--filter-color,var(--aurora-neutral));transform:translateY(-50%);box-shadow:0 0 0 4px color-mix(in srgb,var(--filter-color,var(--aurora-neutral)) 12%,transparent)}.filter[data-filter=runtime],.filter[data-filter=verify],.filter[data-filter=mandatory],.filter[data-filter=now]{--filter-color:var(--aurora-success)}.filter[data-filter=path],.filter[data-filter=change],.filter[data-filter=should]{--filter-color:var(--aurora-info)}.filter[data-filter=high],.filter[data-filter=blocked],.filter[data-filter=forbidden],.filter[data-filter=no]{--filter-color:var(--aurora-error)}.filter[data-filter=medium],.filter[data-filter=later],.filter[data-filter=open],.filter[data-filter=out]{--filter-color:var(--aurora-warn)}.filter:hover{transform:translateX(2px)}.filter.active{border-color:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 38%,transparent)!important;background:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 10%,transparent)!important;color:var(--bc)} +.sectionhead{min-width:0}.sectionhead h2{font-size:clamp(25px,2.4vw,34px);line-height:1.08}.sectionhead p{max-width:58ch;line-height:1.5;text-wrap:pretty}.issue{min-width:0;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-medium) var(--motion-ease-out)}summary{min-width:0;grid-template-columns:48px minmax(0,1fr) auto;padding:21px clamp(18px,2vw,26px)}.title{min-width:0}.title h3{font-size:clamp(16px,1.55vw,20px);text-wrap:pretty}.title p{max-width:76ch;line-height:1.5;text-wrap:pretty}.tags{min-width:0;flex-wrap:wrap;justify-content:flex-end}.chev{transition:transform var(--motion-duration-medium) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out)}details[open] .chev{transform:rotate(180deg);background:var(--aurora-selected-bg)} +.detail{min-width:0;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(26px,3.5vw,52px);padding:clamp(24px,3vw,38px) clamp(18px,2.5vw,32px)!important}.detail>div,.detail>aside{min-width:0}.trace{max-width:52ch}.step{line-height:1.52}.step b,.step span{overflow-wrap:anywhere}.evidence,.code,pre{max-width:100%;overflow:auto;overflow-wrap:anywhere;word-break:normal}.evidence{white-space:pre-wrap}.source,.limit,.fix,.scope,td,th{overflow-wrap:anywhere}.limit{border-color:var(--aurora-warn);background:linear-gradient(90deg,var(--aurora-warn-surface),transparent 68%);padding:10px 12px}.fix{border-color:var(--aurora-success);background:linear-gradient(90deg,var(--aurora-success-surface),transparent 68%);padding:10px 12px} +[data-tooltip],button[aria-label]{position:relative}[data-tooltip]:after,button[aria-label]:after{content:attr(data-tooltip);pointer-events:none;position:absolute;z-index:var(--z-popover);left:50%;bottom:calc(100% + 9px);width:max-content;max-width:240px;padding:8px 10px;border:1px solid var(--aurora-border-strong);border-radius:8px;background:var(--aurora-panel-strong);box-shadow:var(--aurora-shadow-strong);color:var(--bc);font:600 11px/1.35 var(--body);opacity:0;transform:translate(-50%,5px);transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after,button[aria-label]:hover:after,button[aria-label]:focus-visible:after{opacity:1;transform:translate(-50%,0)}button[aria-label]:after{content:attr(aria-label)} +@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:34px}.detail{grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr)}} +@media(max-width:900px){.hero{grid-template-columns:1fr}.hero h1{max-width:18ch}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:1fr}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.detail{grid-template-columns:1fr}.trace{max-width:70ch}.rail{position:static}} +@media(max-width:620px){main,.hero,.hero>div,.verified,.verified ul,.verified li{min-width:0;max-width:100%}.shell{padding-inline:16px}.top{align-items:flex-start}.brand>span:last-child{display:none}.aurora-wordmark{font-size:23px}.hero{padding-top:34px;gap:26px}.hero h1,.hero h1 span{font-size:clamp(34px,10vw,44px)!important;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}.hero p{max-width:100%;font-size:15px;overflow-wrap:anywhere}.verified{width:100%;padding:20px!important}.verified li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:12px}.verified strong{font-size:11px}.stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:38px}.stat{min-height:112px;padding:18px!important}.filters{grid-template-columns:1fr 1fr}.sectionhead{display:block}.sectionhead p{text-align:left}.issue summary{grid-template-columns:34px minmax(0,1fr)}.tags{grid-column:2;justify-content:flex-start}.detail{padding:22px 16px!important}.evidence,.code,pre{font-size:10.5px}.excluded-grid{grid-template-columns:1fr}.commit{max-width:42vw}} +@media(max-width:390px){.stats,.filters{grid-template-columns:1fr!important}.stat{min-height:96px}.commit{display:none}.issue summary{grid-template-columns:1fr}.rank,.tags{grid-column:1}} +
diff --git a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/research/_template.html b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/research/_template.html index 6fa2fa0..49c455a 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/research/_template.html +++ b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/research/_template.html @@ -739,6 +739,25 @@ table{font-family:var(--aurora-font-sans);font-size:var(--aurora-type-table)}th{background:var(--aurora-control-surface);color:var(--aurora-text-muted)}td,th{border-color:var(--aurora-border-default)} @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}} +/* Aurora artifact visual contract v2: glanceable, contained, and semantic. */ +body{min-width:320px;overflow-x:hidden;text-rendering:optimizeLegibility} +.shell{width:min(100%,1540px);padding-inline:clamp(18px,3.2vw,52px)} +.top{height:auto;min-height:64px;gap:20px;padding:10px 0;box-shadow:0 1px 0 color-mix(in srgb,var(--aurora-accent-primary) 16%,transparent)} +.brand{min-width:0}.brand>span:last-child{white-space:nowrap}.commit{min-width:0;max-width:min(46vw,680px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right} +.hero{padding:clamp(42px,6vw,76px) 0 clamp(34px,4.5vw,56px);border:0;grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);gap:clamp(34px,5vw,76px);align-items:center} +.hero>div{min-width:0}.eyebrow{margin-bottom:14px;color:var(--aurora-info);font-size:11px}.hero h1{max-width:16ch;font-size:clamp(38px,4.7vw,66px)!important;line-height:1.01!important;letter-spacing:-.052em!important;text-wrap:balance;overflow-wrap:normal}.hero h1 span{color:color-mix(in srgb,var(--aurora-text-muted) 86%,var(--aurora-accent-pink))}.hero p{max-width:68ch;margin-top:22px;font-size:clamp(15px,1.2vw,18px);line-height:1.62;text-wrap:pretty} +.verified{position:relative;min-width:0;padding:22px 24px 22px 28px!important;border:1px solid var(--aurora-success-border)!important;border-left:4px solid var(--aurora-success)!important;background:linear-gradient(135deg,var(--aurora-success-surface),var(--aurora-panel-medium) 55%)!important}.verified:before{content:"✓";position:absolute;top:16px;right:18px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--aurora-success-surface);border:1px solid var(--aurora-success-border);color:var(--aurora-success);font-weight:800}.verified h2{padding-right:36px;font-size:14px}.verified li{min-width:0}.verified li span{min-width:0;color:var(--muted)}.verified strong{min-width:0;text-align:right;color:var(--aurora-success-foreground);overflow-wrap:anywhere} +.stats{position:relative;isolation:isolate;gap:14px!important;margin:0 0 clamp(40px,5vw,68px);padding:0!important;border:0!important}.stat{position:relative;min-width:0;min-height:132px;padding:22px 22px 20px!important;border:1px solid var(--aurora-border-default)!important;border-radius:16px!important;overflow:hidden;background:linear-gradient(155deg,color-mix(in srgb,var(--stat-color,var(--aurora-info)) 8%,var(--aurora-control-surface)),var(--aurora-control-surface) 62%)!important;transition:transform var(--motion-duration-medium) var(--motion-ease-out),border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-medium) var(--motion-ease-out)} +.stat:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--stat-color,var(--aurora-info))}.stat:after{content:"";position:absolute;right:-32px;top:-42px;width:110px;height:110px;border-radius:50%;background:color-mix(in srgb,var(--stat-color,var(--aurora-info)) 10%,transparent);transition:transform var(--motion-duration-medium) var(--motion-ease-out)}.stat:nth-child(1){--stat-color:var(--aurora-info)}.stat:nth-child(2){--stat-color:var(--aurora-accent-pink)}.stat:nth-child(3){--stat-color:var(--aurora-success)}.stat:nth-child(4){--stat-color:var(--aurora-warn)}.stat:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--stat-color) 52%,var(--aurora-border-default))!important;box-shadow:0 15px 30px -24px var(--stat-color)}.stat:hover:after{transform:scale(1.16)}.num{position:relative;z-index:1;color:var(--stat-color);font-size:clamp(29px,2.7vw,40px)!important;line-height:1.05}.label{position:relative;z-index:1;max-width:24ch;margin-top:10px;line-height:1.35;color:var(--aurora-text-muted)} +.layout{grid-template-columns:minmax(210px,250px) minmax(0,1fr);gap:clamp(30px,4vw,58px);padding-top:0}.layout>section{min-width:0}.rail{top:88px}.rail h2{margin-bottom:12px}.filters{gap:8px}.filter{position:relative;min-height:42px;padding:10px 12px 10px 34px!important;border:1px solid transparent!important;border-radius:10px!important}.filter:before{content:"";position:absolute;left:13px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--filter-color,var(--aurora-neutral));transform:translateY(-50%);box-shadow:0 0 0 4px color-mix(in srgb,var(--filter-color,var(--aurora-neutral)) 12%,transparent)}.filter[data-filter=runtime],.filter[data-filter=verify],.filter[data-filter=mandatory],.filter[data-filter=now]{--filter-color:var(--aurora-success)}.filter[data-filter=path],.filter[data-filter=change],.filter[data-filter=should]{--filter-color:var(--aurora-info)}.filter[data-filter=high],.filter[data-filter=blocked],.filter[data-filter=forbidden],.filter[data-filter=no]{--filter-color:var(--aurora-error)}.filter[data-filter=medium],.filter[data-filter=later],.filter[data-filter=open],.filter[data-filter=out]{--filter-color:var(--aurora-warn)}.filter:hover{transform:translateX(2px)}.filter.active{border-color:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 38%,transparent)!important;background:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 10%,transparent)!important;color:var(--bc)} +.sectionhead{min-width:0}.sectionhead h2{font-size:clamp(25px,2.4vw,34px);line-height:1.08}.sectionhead p{max-width:58ch;line-height:1.5;text-wrap:pretty}.issue{min-width:0;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-medium) var(--motion-ease-out)}summary{min-width:0;grid-template-columns:48px minmax(0,1fr) auto;padding:21px clamp(18px,2vw,26px)}.title{min-width:0}.title h3{font-size:clamp(16px,1.55vw,20px);text-wrap:pretty}.title p{max-width:76ch;line-height:1.5;text-wrap:pretty}.tags{min-width:0;flex-wrap:wrap;justify-content:flex-end}.chev{transition:transform var(--motion-duration-medium) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out)}details[open] .chev{transform:rotate(180deg);background:var(--aurora-selected-bg)} +.detail{min-width:0;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(26px,3.5vw,52px);padding:clamp(24px,3vw,38px) clamp(18px,2.5vw,32px)!important}.detail>div,.detail>aside{min-width:0}.trace{max-width:52ch}.step{line-height:1.52}.step b,.step span{overflow-wrap:anywhere}.evidence,.code,pre{max-width:100%;overflow:auto;overflow-wrap:anywhere;word-break:normal}.evidence{white-space:pre-wrap}.source,.limit,.fix,.scope,td,th{overflow-wrap:anywhere}.limit{border-color:var(--aurora-warn);background:linear-gradient(90deg,var(--aurora-warn-surface),transparent 68%);padding:10px 12px}.fix{border-color:var(--aurora-success);background:linear-gradient(90deg,var(--aurora-success-surface),transparent 68%);padding:10px 12px} +[data-tooltip],button[aria-label]{position:relative}[data-tooltip]:after,button[aria-label]:after{content:attr(data-tooltip);pointer-events:none;position:absolute;z-index:var(--z-popover);left:50%;bottom:calc(100% + 9px);width:max-content;max-width:240px;padding:8px 10px;border:1px solid var(--aurora-border-strong);border-radius:8px;background:var(--aurora-panel-strong);box-shadow:var(--aurora-shadow-strong);color:var(--bc);font:600 11px/1.35 var(--body);opacity:0;transform:translate(-50%,5px);transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after,button[aria-label]:hover:after,button[aria-label]:focus-visible:after{opacity:1;transform:translate(-50%,0)}button[aria-label]:after{content:attr(aria-label)} +@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:34px}.detail{grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr)}} +@media(max-width:900px){.hero{grid-template-columns:1fr}.hero h1{max-width:18ch}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:1fr}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.detail{grid-template-columns:1fr}.trace{max-width:70ch}.rail{position:static}} +@media(max-width:620px){main,.hero,.hero>div,.verified,.verified ul,.verified li{min-width:0;max-width:100%}.shell{padding-inline:16px}.top{align-items:flex-start}.brand>span:last-child{display:none}.aurora-wordmark{font-size:23px}.hero{padding-top:34px;gap:26px}.hero h1,.hero h1 span{font-size:clamp(34px,10vw,44px)!important;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}.hero p{max-width:100%;font-size:15px;overflow-wrap:anywhere}.verified{width:100%;padding:20px!important}.verified li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:12px}.verified strong{font-size:11px}.stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:38px}.stat{min-height:112px;padding:18px!important}.filters{grid-template-columns:1fr 1fr}.sectionhead{display:block}.sectionhead p{text-align:left}.issue summary{grid-template-columns:34px minmax(0,1fr)}.tags{grid-column:2;justify-content:flex-start}.detail{padding:22px 16px!important}.evidence,.code,pre{font-size:10.5px}.excluded-grid{grid-template-columns:1fr}.commit{max-width:42vw}} +@media(max-width:390px){.stats,.filters{grid-template-columns:1fr!important}.stat{min-height:96px}.commit{display:none}.issue summary{grid-template-columns:1fr}.rank,.tags{grid-column:1}} +
diff --git a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/sessions/_template.html b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/sessions/_template.html index 7a5691a..5805624 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/sessions/_template.html +++ b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/sessions/_template.html @@ -739,6 +739,25 @@ table{font-family:var(--aurora-font-sans);font-size:var(--aurora-type-table)}th{background:var(--aurora-control-surface);color:var(--aurora-text-muted)}td,th{border-color:var(--aurora-border-default)} @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}} +/* Aurora artifact visual contract v2: glanceable, contained, and semantic. */ +body{min-width:320px;overflow-x:hidden;text-rendering:optimizeLegibility} +.shell{width:min(100%,1540px);padding-inline:clamp(18px,3.2vw,52px)} +.top{height:auto;min-height:64px;gap:20px;padding:10px 0;box-shadow:0 1px 0 color-mix(in srgb,var(--aurora-accent-primary) 16%,transparent)} +.brand{min-width:0}.brand>span:last-child{white-space:nowrap}.commit{min-width:0;max-width:min(46vw,680px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right} +.hero{padding:clamp(42px,6vw,76px) 0 clamp(34px,4.5vw,56px);border:0;grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);gap:clamp(34px,5vw,76px);align-items:center} +.hero>div{min-width:0}.eyebrow{margin-bottom:14px;color:var(--aurora-info);font-size:11px}.hero h1{max-width:16ch;font-size:clamp(38px,4.7vw,66px)!important;line-height:1.01!important;letter-spacing:-.052em!important;text-wrap:balance;overflow-wrap:normal}.hero h1 span{color:color-mix(in srgb,var(--aurora-text-muted) 86%,var(--aurora-accent-pink))}.hero p{max-width:68ch;margin-top:22px;font-size:clamp(15px,1.2vw,18px);line-height:1.62;text-wrap:pretty} +.verified{position:relative;min-width:0;padding:22px 24px 22px 28px!important;border:1px solid var(--aurora-success-border)!important;border-left:4px solid var(--aurora-success)!important;background:linear-gradient(135deg,var(--aurora-success-surface),var(--aurora-panel-medium) 55%)!important}.verified:before{content:"✓";position:absolute;top:16px;right:18px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--aurora-success-surface);border:1px solid var(--aurora-success-border);color:var(--aurora-success);font-weight:800}.verified h2{padding-right:36px;font-size:14px}.verified li{min-width:0}.verified li span{min-width:0;color:var(--muted)}.verified strong{min-width:0;text-align:right;color:var(--aurora-success-foreground);overflow-wrap:anywhere} +.stats{position:relative;isolation:isolate;gap:14px!important;margin:0 0 clamp(40px,5vw,68px);padding:0!important;border:0!important}.stat{position:relative;min-width:0;min-height:132px;padding:22px 22px 20px!important;border:1px solid var(--aurora-border-default)!important;border-radius:16px!important;overflow:hidden;background:linear-gradient(155deg,color-mix(in srgb,var(--stat-color,var(--aurora-info)) 8%,var(--aurora-control-surface)),var(--aurora-control-surface) 62%)!important;transition:transform var(--motion-duration-medium) var(--motion-ease-out),border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-medium) var(--motion-ease-out)} +.stat:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--stat-color,var(--aurora-info))}.stat:after{content:"";position:absolute;right:-32px;top:-42px;width:110px;height:110px;border-radius:50%;background:color-mix(in srgb,var(--stat-color,var(--aurora-info)) 10%,transparent);transition:transform var(--motion-duration-medium) var(--motion-ease-out)}.stat:nth-child(1){--stat-color:var(--aurora-info)}.stat:nth-child(2){--stat-color:var(--aurora-accent-pink)}.stat:nth-child(3){--stat-color:var(--aurora-success)}.stat:nth-child(4){--stat-color:var(--aurora-warn)}.stat:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--stat-color) 52%,var(--aurora-border-default))!important;box-shadow:0 15px 30px -24px var(--stat-color)}.stat:hover:after{transform:scale(1.16)}.num{position:relative;z-index:1;color:var(--stat-color);font-size:clamp(29px,2.7vw,40px)!important;line-height:1.05}.label{position:relative;z-index:1;max-width:24ch;margin-top:10px;line-height:1.35;color:var(--aurora-text-muted)} +.layout{grid-template-columns:minmax(210px,250px) minmax(0,1fr);gap:clamp(30px,4vw,58px);padding-top:0}.layout>section{min-width:0}.rail{top:88px}.rail h2{margin-bottom:12px}.filters{gap:8px}.filter{position:relative;min-height:42px;padding:10px 12px 10px 34px!important;border:1px solid transparent!important;border-radius:10px!important}.filter:before{content:"";position:absolute;left:13px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--filter-color,var(--aurora-neutral));transform:translateY(-50%);box-shadow:0 0 0 4px color-mix(in srgb,var(--filter-color,var(--aurora-neutral)) 12%,transparent)}.filter[data-filter=runtime],.filter[data-filter=verify],.filter[data-filter=mandatory],.filter[data-filter=now]{--filter-color:var(--aurora-success)}.filter[data-filter=path],.filter[data-filter=change],.filter[data-filter=should]{--filter-color:var(--aurora-info)}.filter[data-filter=high],.filter[data-filter=blocked],.filter[data-filter=forbidden],.filter[data-filter=no]{--filter-color:var(--aurora-error)}.filter[data-filter=medium],.filter[data-filter=later],.filter[data-filter=open],.filter[data-filter=out]{--filter-color:var(--aurora-warn)}.filter:hover{transform:translateX(2px)}.filter.active{border-color:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 38%,transparent)!important;background:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 10%,transparent)!important;color:var(--bc)} +.sectionhead{min-width:0}.sectionhead h2{font-size:clamp(25px,2.4vw,34px);line-height:1.08}.sectionhead p{max-width:58ch;line-height:1.5;text-wrap:pretty}.issue{min-width:0;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-medium) var(--motion-ease-out)}summary{min-width:0;grid-template-columns:48px minmax(0,1fr) auto;padding:21px clamp(18px,2vw,26px)}.title{min-width:0}.title h3{font-size:clamp(16px,1.55vw,20px);text-wrap:pretty}.title p{max-width:76ch;line-height:1.5;text-wrap:pretty}.tags{min-width:0;flex-wrap:wrap;justify-content:flex-end}.chev{transition:transform var(--motion-duration-medium) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out)}details[open] .chev{transform:rotate(180deg);background:var(--aurora-selected-bg)} +.detail{min-width:0;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(26px,3.5vw,52px);padding:clamp(24px,3vw,38px) clamp(18px,2.5vw,32px)!important}.detail>div,.detail>aside{min-width:0}.trace{max-width:52ch}.step{line-height:1.52}.step b,.step span{overflow-wrap:anywhere}.evidence,.code,pre{max-width:100%;overflow:auto;overflow-wrap:anywhere;word-break:normal}.evidence{white-space:pre-wrap}.source,.limit,.fix,.scope,td,th{overflow-wrap:anywhere}.limit{border-color:var(--aurora-warn);background:linear-gradient(90deg,var(--aurora-warn-surface),transparent 68%);padding:10px 12px}.fix{border-color:var(--aurora-success);background:linear-gradient(90deg,var(--aurora-success-surface),transparent 68%);padding:10px 12px} +[data-tooltip],button[aria-label]{position:relative}[data-tooltip]:after,button[aria-label]:after{content:attr(data-tooltip);pointer-events:none;position:absolute;z-index:var(--z-popover);left:50%;bottom:calc(100% + 9px);width:max-content;max-width:240px;padding:8px 10px;border:1px solid var(--aurora-border-strong);border-radius:8px;background:var(--aurora-panel-strong);box-shadow:var(--aurora-shadow-strong);color:var(--bc);font:600 11px/1.35 var(--body);opacity:0;transform:translate(-50%,5px);transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after,button[aria-label]:hover:after,button[aria-label]:focus-visible:after{opacity:1;transform:translate(-50%,0)}button[aria-label]:after{content:attr(aria-label)} +@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:34px}.detail{grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr)}} +@media(max-width:900px){.hero{grid-template-columns:1fr}.hero h1{max-width:18ch}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:1fr}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.detail{grid-template-columns:1fr}.trace{max-width:70ch}.rail{position:static}} +@media(max-width:620px){main,.hero,.hero>div,.verified,.verified ul,.verified li{min-width:0;max-width:100%}.shell{padding-inline:16px}.top{align-items:flex-start}.brand>span:last-child{display:none}.aurora-wordmark{font-size:23px}.hero{padding-top:34px;gap:26px}.hero h1,.hero h1 span{font-size:clamp(34px,10vw,44px)!important;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}.hero p{max-width:100%;font-size:15px;overflow-wrap:anywhere}.verified{width:100%;padding:20px!important}.verified li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:12px}.verified strong{font-size:11px}.stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:38px}.stat{min-height:112px;padding:18px!important}.filters{grid-template-columns:1fr 1fr}.sectionhead{display:block}.sectionhead p{text-align:left}.issue summary{grid-template-columns:34px minmax(0,1fr)}.tags{grid-column:2;justify-content:flex-start}.detail{padding:22px 16px!important}.evidence,.code,pre{font-size:10.5px}.excluded-grid{grid-template-columns:1fr}.commit{max-width:42vw}} +@media(max-width:390px){.stats,.filters{grid-template-columns:1fr!important}.stat{min-height:96px}.commit{display:none}.issue summary{grid-template-columns:1fr}.rank,.tags{grid-column:1}} +
diff --git a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/specs/_template.html b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/specs/_template.html index db9261b..78244b4 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/specs/_template.html +++ b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/specs/_template.html @@ -739,6 +739,25 @@ table{font-family:var(--aurora-font-sans);font-size:var(--aurora-type-table)}th{background:var(--aurora-control-surface);color:var(--aurora-text-muted)}td,th{border-color:var(--aurora-border-default)} @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}} +/* Aurora artifact visual contract v2: glanceable, contained, and semantic. */ +body{min-width:320px;overflow-x:hidden;text-rendering:optimizeLegibility} +.shell{width:min(100%,1540px);padding-inline:clamp(18px,3.2vw,52px)} +.top{height:auto;min-height:64px;gap:20px;padding:10px 0;box-shadow:0 1px 0 color-mix(in srgb,var(--aurora-accent-primary) 16%,transparent)} +.brand{min-width:0}.brand>span:last-child{white-space:nowrap}.commit{min-width:0;max-width:min(46vw,680px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right} +.hero{padding:clamp(42px,6vw,76px) 0 clamp(34px,4.5vw,56px);border:0;grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);gap:clamp(34px,5vw,76px);align-items:center} +.hero>div{min-width:0}.eyebrow{margin-bottom:14px;color:var(--aurora-info);font-size:11px}.hero h1{max-width:16ch;font-size:clamp(38px,4.7vw,66px)!important;line-height:1.01!important;letter-spacing:-.052em!important;text-wrap:balance;overflow-wrap:normal}.hero h1 span{color:color-mix(in srgb,var(--aurora-text-muted) 86%,var(--aurora-accent-pink))}.hero p{max-width:68ch;margin-top:22px;font-size:clamp(15px,1.2vw,18px);line-height:1.62;text-wrap:pretty} +.verified{position:relative;min-width:0;padding:22px 24px 22px 28px!important;border:1px solid var(--aurora-success-border)!important;border-left:4px solid var(--aurora-success)!important;background:linear-gradient(135deg,var(--aurora-success-surface),var(--aurora-panel-medium) 55%)!important}.verified:before{content:"✓";position:absolute;top:16px;right:18px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--aurora-success-surface);border:1px solid var(--aurora-success-border);color:var(--aurora-success);font-weight:800}.verified h2{padding-right:36px;font-size:14px}.verified li{min-width:0}.verified li span{min-width:0;color:var(--muted)}.verified strong{min-width:0;text-align:right;color:var(--aurora-success-foreground);overflow-wrap:anywhere} +.stats{position:relative;isolation:isolate;gap:14px!important;margin:0 0 clamp(40px,5vw,68px);padding:0!important;border:0!important}.stat{position:relative;min-width:0;min-height:132px;padding:22px 22px 20px!important;border:1px solid var(--aurora-border-default)!important;border-radius:16px!important;overflow:hidden;background:linear-gradient(155deg,color-mix(in srgb,var(--stat-color,var(--aurora-info)) 8%,var(--aurora-control-surface)),var(--aurora-control-surface) 62%)!important;transition:transform var(--motion-duration-medium) var(--motion-ease-out),border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-medium) var(--motion-ease-out)} +.stat:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--stat-color,var(--aurora-info))}.stat:after{content:"";position:absolute;right:-32px;top:-42px;width:110px;height:110px;border-radius:50%;background:color-mix(in srgb,var(--stat-color,var(--aurora-info)) 10%,transparent);transition:transform var(--motion-duration-medium) var(--motion-ease-out)}.stat:nth-child(1){--stat-color:var(--aurora-info)}.stat:nth-child(2){--stat-color:var(--aurora-accent-pink)}.stat:nth-child(3){--stat-color:var(--aurora-success)}.stat:nth-child(4){--stat-color:var(--aurora-warn)}.stat:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--stat-color) 52%,var(--aurora-border-default))!important;box-shadow:0 15px 30px -24px var(--stat-color)}.stat:hover:after{transform:scale(1.16)}.num{position:relative;z-index:1;color:var(--stat-color);font-size:clamp(29px,2.7vw,40px)!important;line-height:1.05}.label{position:relative;z-index:1;max-width:24ch;margin-top:10px;line-height:1.35;color:var(--aurora-text-muted)} +.layout{grid-template-columns:minmax(210px,250px) minmax(0,1fr);gap:clamp(30px,4vw,58px);padding-top:0}.layout>section{min-width:0}.rail{top:88px}.rail h2{margin-bottom:12px}.filters{gap:8px}.filter{position:relative;min-height:42px;padding:10px 12px 10px 34px!important;border:1px solid transparent!important;border-radius:10px!important}.filter:before{content:"";position:absolute;left:13px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--filter-color,var(--aurora-neutral));transform:translateY(-50%);box-shadow:0 0 0 4px color-mix(in srgb,var(--filter-color,var(--aurora-neutral)) 12%,transparent)}.filter[data-filter=runtime],.filter[data-filter=verify],.filter[data-filter=mandatory],.filter[data-filter=now]{--filter-color:var(--aurora-success)}.filter[data-filter=path],.filter[data-filter=change],.filter[data-filter=should]{--filter-color:var(--aurora-info)}.filter[data-filter=high],.filter[data-filter=blocked],.filter[data-filter=forbidden],.filter[data-filter=no]{--filter-color:var(--aurora-error)}.filter[data-filter=medium],.filter[data-filter=later],.filter[data-filter=open],.filter[data-filter=out]{--filter-color:var(--aurora-warn)}.filter:hover{transform:translateX(2px)}.filter.active{border-color:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 38%,transparent)!important;background:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 10%,transparent)!important;color:var(--bc)} +.sectionhead{min-width:0}.sectionhead h2{font-size:clamp(25px,2.4vw,34px);line-height:1.08}.sectionhead p{max-width:58ch;line-height:1.5;text-wrap:pretty}.issue{min-width:0;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-medium) var(--motion-ease-out)}summary{min-width:0;grid-template-columns:48px minmax(0,1fr) auto;padding:21px clamp(18px,2vw,26px)}.title{min-width:0}.title h3{font-size:clamp(16px,1.55vw,20px);text-wrap:pretty}.title p{max-width:76ch;line-height:1.5;text-wrap:pretty}.tags{min-width:0;flex-wrap:wrap;justify-content:flex-end}.chev{transition:transform var(--motion-duration-medium) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out)}details[open] .chev{transform:rotate(180deg);background:var(--aurora-selected-bg)} +.detail{min-width:0;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(26px,3.5vw,52px);padding:clamp(24px,3vw,38px) clamp(18px,2.5vw,32px)!important}.detail>div,.detail>aside{min-width:0}.trace{max-width:52ch}.step{line-height:1.52}.step b,.step span{overflow-wrap:anywhere}.evidence,.code,pre{max-width:100%;overflow:auto;overflow-wrap:anywhere;word-break:normal}.evidence{white-space:pre-wrap}.source,.limit,.fix,.scope,td,th{overflow-wrap:anywhere}.limit{border-color:var(--aurora-warn);background:linear-gradient(90deg,var(--aurora-warn-surface),transparent 68%);padding:10px 12px}.fix{border-color:var(--aurora-success);background:linear-gradient(90deg,var(--aurora-success-surface),transparent 68%);padding:10px 12px} +[data-tooltip],button[aria-label]{position:relative}[data-tooltip]:after,button[aria-label]:after{content:attr(data-tooltip);pointer-events:none;position:absolute;z-index:var(--z-popover);left:50%;bottom:calc(100% + 9px);width:max-content;max-width:240px;padding:8px 10px;border:1px solid var(--aurora-border-strong);border-radius:8px;background:var(--aurora-panel-strong);box-shadow:var(--aurora-shadow-strong);color:var(--bc);font:600 11px/1.35 var(--body);opacity:0;transform:translate(-50%,5px);transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after,button[aria-label]:hover:after,button[aria-label]:focus-visible:after{opacity:1;transform:translate(-50%,0)}button[aria-label]:after{content:attr(aria-label)} +@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:34px}.detail{grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr)}} +@media(max-width:900px){.hero{grid-template-columns:1fr}.hero h1{max-width:18ch}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:1fr}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.detail{grid-template-columns:1fr}.trace{max-width:70ch}.rail{position:static}} +@media(max-width:620px){main,.hero,.hero>div,.verified,.verified ul,.verified li{min-width:0;max-width:100%}.shell{padding-inline:16px}.top{align-items:flex-start}.brand>span:last-child{display:none}.aurora-wordmark{font-size:23px}.hero{padding-top:34px;gap:26px}.hero h1,.hero h1 span{font-size:clamp(34px,10vw,44px)!important;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}.hero p{max-width:100%;font-size:15px;overflow-wrap:anywhere}.verified{width:100%;padding:20px!important}.verified li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:12px}.verified strong{font-size:11px}.stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:38px}.stat{min-height:112px;padding:18px!important}.filters{grid-template-columns:1fr 1fr}.sectionhead{display:block}.sectionhead p{text-align:left}.issue summary{grid-template-columns:34px minmax(0,1fr)}.tags{grid-column:2;justify-content:flex-start}.detail{padding:22px 16px!important}.evidence,.code,pre{font-size:10.5px}.excluded-grid{grid-template-columns:1fr}.commit{max-width:42vw}} +@media(max-width:390px){.stats,.filters{grid-template-columns:1fr!important}.stat{min-height:96px}.commit{display:none}.issue summary{grid-template-columns:1fr}.rank,.tags{grid-column:1}} +
diff --git a/plugins/artifacts/skills/create-artifacts/references/design.md b/plugins/artifacts/skills/create-artifacts/references/design.md index b508431..a0f50bb 100644 --- a/plugins/artifacts/skills/create-artifacts/references/design.md +++ b/plugins/artifacts/skills/create-artifacts/references/design.md @@ -49,6 +49,45 @@ Preserve dark/light contrast, reduced-motion behavior, readable code wrapping or scrolling, native keyboard-operated details, and tables on narrow screens. Body prose stays in Inter; monospace is reserved for code and identifiers. +### Visual comprehension contract + +Aurora HTML artifacts are information interfaces, not decorated documents. +Their composition must make the outcome, confidence, severity, progress, and +proof boundaries visible before a reader parses the prose. Prefer compact +metrics, state indicators, status rails, diagrams, and progressive disclosure +when they replace repeated explanation without losing evidence. + +Use Aurora color by meaning across the whole page: cyan for information and +navigation, mint for verified success, rose for risk and failure, amber for +caution and unknowns, and frost neutrals for supporting context. Do not tint +every surface. Reserve color for signals so it remains useful at a glance. + +Keep display headings balanced and contained, with a practical maximum near +66px on wide screens and 44px on phones. Body lines should normally stay within +68 characters. Layout columns must use `minmax(0, …)` where long identifiers or +evidence could otherwise force overflow. Never allow narrow columns to turn +sentences into stacks of single words. Evidence and code scroll inside bounded +regions rather than widening the page. + +Separate metric cards with space; do not use borders or pseudo-elements that +visually connect unrelated cards. Give each metric a semantic accent and enough +padding for its longest expected label. Every page region must earn its area: +remove repeated prose, collapse secondary evidence, and let the primary result +occupy the strongest visual position. + +Use hover and focus feedback on interactive elements. Icon-only controls are +preferred when the icon is familiar and the surrounding context is clear; they +must expose an accessible name and a keyboard-accessible tooltip or popover. +Keep a text label when removing it would slow comprehension. Use transitions +for disclosure, selection, and direct manipulation, and provide an equivalent +reduced-motion state. + +Before delivery, inspect a representative filled artifact at desktop and phone +widths. Check the top and bottom of every section, expanded details, the longest +title, every control and tooltip, code and evidence overflow, table behavior, +focus visibility, and reduced motion. A template scaffold alone is insufficient +visual proof because placeholder lengths do not represent real content. + ## Updating the Snapshot Update design resources deliberately against an inspected Aurora revision. diff --git a/plugins/artifacts/tests/test_artifacts.py b/plugins/artifacts/tests/test_artifacts.py index 734c80f..fb320a7 100644 --- a/plugins/artifacts/tests/test_artifacts.py +++ b/plugins/artifacts/tests/test_artifacts.py @@ -96,6 +96,24 @@ def test_every_html_family_has_embedded_fonts_and_stable_pr_sections(self): ids=lambda family:re.findall(r']*\bid="([^"]+)"',template_path('pr-reports',family).read_text()) self.assertEqual(ids('aurora'),ids('unraid')) + def test_every_aurora_html_template_uses_visual_contract_v2(self): + for kind in ['reports','pr-reports','proposals','specs','research','sessions','docs']: + source=template_path(kind,'aurora').read_text() + self.assertIn('Aurora artifact visual contract v2',source) + self.assertIn('--stat-color:var(--aurora-accent-pink)',source) + self.assertIn('--stat-color:var(--aurora-success)',source) + self.assertIn('--stat-color:var(--aurora-warn)',source) + self.assertIn('grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)',source) + self.assertIn('@media(max-width:620px)',source) + self.assertIn('button[aria-label]:focus-visible:after',source) + self.assertIn('@media(prefers-reduced-motion:reduce)',source) + + def test_artifact_skill_sets_html_comprehension_goal(self): + source=(SKILL/'SKILL.md').read_text() + self.assertIn('substantially better surface for understanding',source) + self.assertIn('keyboard-accessible tooltip or popover',source) + self.assertIn('No text may overlap',source) + def test_generic_plan_header_and_discovery_output_root(self): from _app.validate import check_plan self.assertNotIn('PLAN-HEADER',{i['rule'] for i in check_plan('plans/example.md',template_path('plans','aurora').read_text())}) From 68057dcb8cd3906bd7646d4c2d382a188e0cdf43 Mon Sep 17 00:00:00 2001 From: Skill Test Date: Sun, 13 Sep 2026 12:36:56 -0400 Subject: [PATCH 2/3] feat(artifacts): align Aurora artifact navigation --- .../skills/create-artifacts/SKILL.md | 8 +++++ .../assets/aurora/artifact-components.css | 12 +++++++ .../templates/aurora/docs/_template.html | 28 ++++++++++----- .../aurora/pr-reports/_template.html | 18 ++++++++-- .../templates/aurora/proposals/_template.html | 28 ++++++++++----- .../templates/aurora/reports/_template.html | 28 ++++++++++----- .../templates/aurora/research/_template.html | 28 ++++++++++----- .../templates/aurora/sessions/_template.html | 36 ++++++++++++------- .../templates/aurora/specs/_template.html | 28 ++++++++++----- .../create-artifacts/references/design.md | 23 ++++++++++++ plugins/artifacts/tests/test_artifacts.py | 23 ++++++++++++ 11 files changed, 205 insertions(+), 55 deletions(-) diff --git a/plugins/artifacts/skills/create-artifacts/SKILL.md b/plugins/artifacts/skills/create-artifacts/SKILL.md index bd09a45..e83ab6d 100644 --- a/plugins/artifacts/skills/create-artifacts/SKILL.md +++ b/plugins/artifacts/skills/create-artifacts/SKILL.md @@ -43,6 +43,14 @@ Use [Design and Template Parity](references/design.md) for the visual contract. If the visual result is not faster to scan and easier to understand than the source Markdown, revise it before delivery. +Share the Aurora shell, tokens, accessibility behavior, and component patterns +across artifact types, while giving every type its own information architecture. +A report centers findings and proof; a proposal centers a decision and its +alternatives; a spec centers requirements and acceptance; research centers +confidence and falsifiers; a session centers chronology and handoff; docs center +durable rules; and a PR report centers lifecycle readiness. Do not ship one +generic page with labels changed for each type. + ## Choose the Project and Template Resolve the artifact's actual subject repository as `owner/repository`, using the diff --git a/plugins/artifacts/skills/create-artifacts/assets/aurora/artifact-components.css b/plugins/artifacts/skills/create-artifacts/assets/aurora/artifact-components.css index b2dc6f4..2f40d69 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/aurora/artifact-components.css +++ b/plugins/artifacts/skills/create-artifacts/assets/aurora/artifact-components.css @@ -45,3 +45,15 @@ body{min-width:320px;overflow-x:hidden;text-rendering:optimizeLegibility} @media(max-width:900px){.hero{grid-template-columns:1fr}.hero h1{max-width:18ch}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:1fr}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.detail{grid-template-columns:1fr}.trace{max-width:70ch}.rail{position:static}} @media(max-width:620px){main,.hero,.hero>div,.verified,.verified ul,.verified li{min-width:0;max-width:100%}.shell{padding-inline:16px}.top{align-items:flex-start}.brand>span:last-child{display:none}.aurora-wordmark{font-size:23px}.hero{padding-top:34px;gap:26px}.hero h1,.hero h1 span{font-size:clamp(34px,10vw,44px)!important;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}.hero p{max-width:100%;font-size:15px;overflow-wrap:anywhere}.verified{width:100%;padding:20px!important}.verified li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:12px}.verified strong{font-size:11px}.stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:38px}.stat{min-height:112px;padding:18px!important}.filters{grid-template-columns:1fr 1fr}.sectionhead{display:block}.sectionhead p{text-align:left}.issue summary{grid-template-columns:34px minmax(0,1fr)}.tags{grid-column:2;justify-content:flex-start}.detail{padding:22px 16px!important}.evidence,.code,pre{font-size:10.5px}.excluded-grid{grid-template-columns:1fr}.commit{max-width:42vw}} @media(max-width:390px){.stats,.filters{grid-template-columns:1fr!important}.stat{min-height:96px}.commit{display:none}.issue summary{grid-template-columns:1fr}.rank,.tags{grid-column:1}} + +/* Aurora artifact visual contract v3: full-bleed shell and visual wayfinding. */ +.top{width:100vw;margin-left:calc(50% - 50vw);padding-inline:max(clamp(18px,3.2vw,52px),calc((100vw - 1540px)/2 + 52px));border-bottom-color:color-mix(in srgb,var(--aurora-accent-primary) 34%,var(--aurora-border-default));background:color-mix(in srgb,var(--aurora-nav-bg) 94%,transparent)} +.top:before{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:linear-gradient(90deg,transparent,var(--aurora-accent-primary) 18%,var(--aurora-accent-pink) 50%,var(--aurora-success) 82%,transparent);opacity:.42} +.header-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.header-nav a{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid transparent;border-radius:10px;color:var(--muted);transition:color var(--motion-duration-fast) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.header-nav a:hover,.header-nav a:focus-visible{color:var(--p);background:var(--aurora-selected-bg);border-color:var(--aurora-accent-primary-border);transform:translateY(-1px)}.header-nav svg,.metric-icon svg,.section-icon svg,.card-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.header-nav a:after{content:attr(aria-label);pointer-events:none;position:absolute;z-index:var(--z-popover);top:calc(100% + 9px);right:0;width:max-content;max-width:220px;padding:8px 10px;border:1px solid var(--aurora-border-strong);border-radius:8px;background:var(--aurora-panel-strong);box-shadow:var(--aurora-shadow-strong);color:var(--bc);font:600 11px/1.35 var(--body);opacity:0;transform:translateY(-4px);transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.header-nav a:hover:after,.header-nav a:focus-visible:after{opacity:1;transform:translateY(0)} +.stat{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:4px 12px}.stat .num{grid-column:1}.stat .label{grid-column:1/-1;align-self:end}.metric-icon{grid-column:2;grid-row:1;display:grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--stat-color) 36%,transparent);border-radius:11px;background:color-mix(in srgb,var(--stat-color) 10%,transparent);color:var(--stat-color)} +.sectionhead{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(240px,.72fr);align-items:center;gap:14px 18px;margin-bottom:22px;padding:0 2px}.section-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--aurora-info-border);border-radius:13px;background:var(--aurora-info-surface);color:var(--aurora-info)}.sectionhead h2{min-width:0;margin:0}.sectionhead p{min-width:0;justify-self:end} +.excluded{margin-top:clamp(42px,5vw,68px)!important;padding:clamp(24px,3vw,38px)!important;border:1px solid var(--aurora-border-default)!important;border-radius:var(--aurora-radius-2)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--section-color,var(--aurora-warn)) 4%,var(--aurora-panel-medium)),var(--aurora-page-bg))!important;box-shadow:var(--aurora-highlight-medium)!important}.excluded>.sectionhead{margin-bottom:26px}.excluded>.sectionhead .section-icon{border-color:color-mix(in srgb,var(--section-color,var(--aurora-warn)) 35%,transparent);background:color-mix(in srgb,var(--section-color,var(--aurora-warn)) 10%,transparent);color:var(--section-color,var(--aurora-warn))}.excluded-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.excluded-grid article{position:relative;min-width:0;min-height:178px;padding:22px 22px 22px 24px!important;border:1px solid var(--aurora-border-default)!important;border-radius:14px!important;background:color-mix(in srgb,var(--aurora-control-surface) 92%,transparent);overflow:hidden;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-medium) var(--motion-ease-out)}.excluded-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--card-color,var(--aurora-neutral))}.excluded-grid article:nth-child(4n+1){--card-color:var(--aurora-accent-pink)}.excluded-grid article:nth-child(4n+2){--card-color:var(--aurora-warn)}.excluded-grid article:nth-child(4n+3){--card-color:var(--aurora-info)}.excluded-grid article:nth-child(4n){--card-color:var(--aurora-success)}.excluded-grid article:hover{border-color:color-mix(in srgb,var(--card-color) 42%,var(--aurora-border-default))!important;transform:translateY(-2px)}.card-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:15px;border-radius:9px;background:color-mix(in srgb,var(--card-color) 10%,transparent);color:var(--card-color)}.excluded-grid h3{font-size:15px;line-height:1.35}.excluded-grid p{font-size:12px;line-height:1.6;overflow-wrap:anywhere} +.artifact-nav{display:grid;gap:6px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--b3)}.artifact-nav a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:40px;padding:6px 8px;border:1px solid transparent;border-radius:10px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:650;transition:background var(--motion-duration-fast) var(--motion-ease-out),color var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.artifact-nav a:hover,.artifact-nav a:focus-visible{background:var(--aurora-hover-bg);border-color:var(--aurora-border-strong);color:var(--bc);transform:translateX(2px)}.artifact-nav .nav-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--aurora-info-surface);color:var(--aurora-info)}.artifact-nav svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.artifact-nav .nav-arrow{color:var(--aurora-border-strong)} +.filter-feedback{display:none;min-height:180px;place-items:center;margin-top:12px;padding:32px;border:1px dashed var(--aurora-border-strong);border-radius:var(--aurora-radius-2);background:var(--aurora-control-surface);text-align:center}.filter-feedback.visible{display:grid}.filter-feedback .empty-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 13px;border:1px solid var(--aurora-success-border);border-radius:15px;background:var(--aurora-success-surface);color:var(--aurora-success)}.filter-feedback svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8}.filter-feedback strong{display:block;font-family:var(--font-display);font-size:17px}.filter-feedback span{display:block;max-width:42ch;margin-top:6px;color:var(--muted);font-size:12px}.filter[aria-pressed=true]{border-color:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 42%,transparent)!important} +@media(max-width:900px){.sectionhead{grid-template-columns:auto minmax(0,1fr)}.sectionhead p{grid-column:2;justify-self:start;text-align:left}.artifact-nav{grid-template-columns:repeat(3,minmax(0,1fr));border:0}.artifact-nav a{grid-template-columns:30px minmax(0,1fr)}.artifact-nav .nav-arrow{display:none}} +@media(max-width:620px){.top{padding-inline:16px}.header-nav{gap:2px}.header-nav a{width:32px;height:32px}.sectionhead{grid-template-columns:36px minmax(0,1fr);gap:10px}.section-icon{width:36px;height:36px}.sectionhead p{grid-column:1/-1;justify-self:start}.excluded{padding:20px 16px!important}.excluded-grid{grid-template-columns:1fr}.excluded-grid article{min-height:0}.artifact-nav{grid-template-columns:1fr 1fr}.artifact-nav a{min-height:44px}.stat .metric-icon{width:32px;height:32px}} diff --git a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/docs/_template.html b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/docs/_template.html index ca8e8c1..feb5791 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/docs/_template.html +++ b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/docs/_template.html @@ -758,23 +758,35 @@ @media(max-width:620px){main,.hero,.hero>div,.verified,.verified ul,.verified li{min-width:0;max-width:100%}.shell{padding-inline:16px}.top{align-items:flex-start}.brand>span:last-child{display:none}.aurora-wordmark{font-size:23px}.hero{padding-top:34px;gap:26px}.hero h1,.hero h1 span{font-size:clamp(34px,10vw,44px)!important;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}.hero p{max-width:100%;font-size:15px;overflow-wrap:anywhere}.verified{width:100%;padding:20px!important}.verified li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:12px}.verified strong{font-size:11px}.stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:38px}.stat{min-height:112px;padding:18px!important}.filters{grid-template-columns:1fr 1fr}.sectionhead{display:block}.sectionhead p{text-align:left}.issue summary{grid-template-columns:34px minmax(0,1fr)}.tags{grid-column:2;justify-content:flex-start}.detail{padding:22px 16px!important}.evidence,.code,pre{font-size:10.5px}.excluded-grid{grid-template-columns:1fr}.commit{max-width:42vw}} @media(max-width:390px){.stats,.filters{grid-template-columns:1fr!important}.stat{min-height:96px}.commit{display:none}.issue summary{grid-template-columns:1fr}.rank,.tags{grid-column:1}} +/* Aurora artifact visual contract v3: full-bleed shell and visual wayfinding. */ +.top{width:100vw;margin-left:calc(50% - 50vw);padding-inline:max(clamp(18px,3.2vw,52px),calc((100vw - 1540px)/2 + 52px));border-bottom-color:color-mix(in srgb,var(--aurora-accent-primary) 34%,var(--aurora-border-default));background:color-mix(in srgb,var(--aurora-nav-bg) 94%,transparent)} +.top:before{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:linear-gradient(90deg,transparent,var(--aurora-accent-primary) 18%,var(--aurora-accent-pink) 50%,var(--aurora-success) 82%,transparent);opacity:.42} +.header-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.header-nav a{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid transparent;border-radius:10px;color:var(--muted);transition:color var(--motion-duration-fast) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.header-nav a:hover,.header-nav a:focus-visible{color:var(--p);background:var(--aurora-selected-bg);border-color:var(--aurora-accent-primary-border);transform:translateY(-1px)}.header-nav svg,.metric-icon svg,.section-icon svg,.card-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.header-nav a:after{content:attr(aria-label);pointer-events:none;position:absolute;z-index:var(--z-popover);top:calc(100% + 9px);right:0;width:max-content;max-width:220px;padding:8px 10px;border:1px solid var(--aurora-border-strong);border-radius:8px;background:var(--aurora-panel-strong);box-shadow:var(--aurora-shadow-strong);color:var(--bc);font:600 11px/1.35 var(--body);opacity:0;transform:translateY(-4px);transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.header-nav a:hover:after,.header-nav a:focus-visible:after{opacity:1;transform:translateY(0)} +.stat{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:4px 12px}.stat .num{grid-column:1}.stat .label{grid-column:1/-1;align-self:end}.metric-icon{grid-column:2;grid-row:1;display:grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--stat-color) 36%,transparent);border-radius:11px;background:color-mix(in srgb,var(--stat-color) 10%,transparent);color:var(--stat-color)} +.sectionhead{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(240px,.72fr);align-items:center;gap:14px 18px;margin-bottom:22px;padding:0 2px}.section-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--aurora-info-border);border-radius:13px;background:var(--aurora-info-surface);color:var(--aurora-info)}.sectionhead h2{min-width:0;margin:0}.sectionhead p{min-width:0;justify-self:end} +.excluded{margin-top:clamp(42px,5vw,68px)!important;padding:clamp(24px,3vw,38px)!important;border:1px solid var(--aurora-border-default)!important;border-radius:var(--aurora-radius-2)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--section-color,var(--aurora-warn)) 4%,var(--aurora-panel-medium)),var(--aurora-page-bg))!important;box-shadow:var(--aurora-highlight-medium)!important}.excluded>.sectionhead{margin-bottom:26px}.excluded>.sectionhead .section-icon{border-color:color-mix(in srgb,var(--section-color,var(--aurora-warn)) 35%,transparent);background:color-mix(in srgb,var(--section-color,var(--aurora-warn)) 10%,transparent);color:var(--section-color,var(--aurora-warn))}.excluded-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.excluded-grid article{position:relative;min-width:0;min-height:178px;padding:22px 22px 22px 24px!important;border:1px solid var(--aurora-border-default)!important;border-radius:14px!important;background:color-mix(in srgb,var(--aurora-control-surface) 92%,transparent);overflow:hidden;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-medium) var(--motion-ease-out)}.excluded-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--card-color,var(--aurora-neutral))}.excluded-grid article:nth-child(4n+1){--card-color:var(--aurora-accent-pink)}.excluded-grid article:nth-child(4n+2){--card-color:var(--aurora-warn)}.excluded-grid article:nth-child(4n+3){--card-color:var(--aurora-info)}.excluded-grid article:nth-child(4n){--card-color:var(--aurora-success)}.excluded-grid article:hover{border-color:color-mix(in srgb,var(--card-color) 42%,var(--aurora-border-default))!important;transform:translateY(-2px)}.card-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:15px;border-radius:9px;background:color-mix(in srgb,var(--card-color) 10%,transparent);color:var(--card-color)}.excluded-grid h3{font-size:15px;line-height:1.35}.excluded-grid p{font-size:12px;line-height:1.6;overflow-wrap:anywhere} +.artifact-nav{display:grid;gap:6px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--b3)}.artifact-nav a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:40px;padding:6px 8px;border:1px solid transparent;border-radius:10px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:650;transition:background var(--motion-duration-fast) var(--motion-ease-out),color var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.artifact-nav a:hover,.artifact-nav a:focus-visible{background:var(--aurora-hover-bg);border-color:var(--aurora-border-strong);color:var(--bc);transform:translateX(2px)}.artifact-nav .nav-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--aurora-info-surface);color:var(--aurora-info)}.artifact-nav svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.artifact-nav .nav-arrow{color:var(--aurora-border-strong)} +.filter-feedback{display:none;min-height:180px;place-items:center;margin-top:12px;padding:32px;border:1px dashed var(--aurora-border-strong);border-radius:var(--aurora-radius-2);background:var(--aurora-control-surface);text-align:center}.filter-feedback.visible{display:grid}.filter-feedback .empty-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 13px;border:1px solid var(--aurora-success-border);border-radius:15px;background:var(--aurora-success-surface);color:var(--aurora-success)}.filter-feedback svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8}.filter-feedback strong{display:block;font-family:var(--font-display);font-size:17px}.filter-feedback span{display:block;max-width:42ch;margin-top:6px;color:var(--muted);font-size:12px}.filter[aria-pressed=true]{border-color:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 42%,transparent)!important} +@media(max-width:900px){.sectionhead{grid-template-columns:auto minmax(0,1fr)}.sectionhead p{grid-column:2;justify-self:start;text-align:left}.artifact-nav{grid-template-columns:repeat(3,minmax(0,1fr));border:0}.artifact-nav a{grid-template-columns:30px minmax(0,1fr)}.artifact-nav .nav-arrow{display:none}} +@media(max-width:620px){.top{padding-inline:16px}.header-nav{gap:2px}.header-nav a{width:32px;height:32px}.sectionhead{grid-template-columns:36px minmax(0,1fr);gap:10px}.section-icon{width:36px;height:36px}.sectionhead p{grid-column:1/-1;justify-self:start}.excluded{padding:20px 16px!important}.excluded-grid{grid-template-columns:1fr}.excluded-grid article{min-height:0}.artifact-nav{grid-template-columns:1fr 1fr}.artifact-nav a{min-height:44px}.stat .metric-icon{width:32px;height:32px}} +
-
Artifact Report
[what this artifact was produced against] [commit]
-
+
Reference
[what this artifact was produced against] [commit]
+
[Area] / [standing reference]

[The rule.]
[And why it exists.]

[One sentence: what this document governs and who must follow it. Docs describe how things are and must be done — durably. If it is only true this week, it is a session log.]

-
[nn]
[Rules — this becomes the index stat]
[nn]
[Forbidden shortcuts]
[nn]
[Verification layers]
[nn]
[Known exceptions]
-
-

Contract

[Each rule states what is required, why it exists, and how non-compliance is detected.]

+
[nn]
[Rules — this becomes the index stat]
[nn]
[Forbidden shortcuts]
[nn]
[Verification layers]
[nn]
[Known exceptions]
+
+

Contract

[Each rule states what is required, why it exists, and how non-compliance is detected.]

C1

[The rule, stated as a requirement]

[The failure this rule prevents.]

[Mandatory]

What is required

[The rule in full. Be specific enough that two readers cannot disagree about whether it was followed.]

Do[The required pattern.]
Do not[The forbidden shortcut, and what it breaks.]
Why[The incident, invariant, or constraint this rule comes from. A rule without a reason gets ignored.]
-
+
No matching recordsChoose another result category to continue.
-

Not governed here

Adjacent concerns this document deliberately does not rule on, and where they live instead.

[Adjacent concern]

[Which document owns it.]

+

Not governed here

Adjacent concerns this document deliberately does not rule on, and where they live instead.

[Adjacent concern]

[Which document owns it.]

[How this was produced — the run, the repo, the constraints.][Discipline line] · [date]
- + diff --git a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/pr-reports/_template.html b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/pr-reports/_template.html index 8069be9..cde16e7 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/pr-reports/_template.html +++ b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/pr-reports/_template.html @@ -797,6 +797,18 @@ @media(max-width:620px){main,.hero,.hero>div,.verified,.verified ul,.verified li{min-width:0;max-width:100%}.shell{padding-inline:16px}.top{align-items:flex-start}.brand>span:last-child{display:none}.aurora-wordmark{font-size:23px}.hero{padding-top:34px;gap:26px}.hero h1,.hero h1 span{font-size:clamp(34px,10vw,44px)!important;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}.hero p{max-width:100%;font-size:15px;overflow-wrap:anywhere}.verified{width:100%;padding:20px!important}.verified li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:12px}.verified strong{font-size:11px}.stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:38px}.stat{min-height:112px;padding:18px!important}.filters{grid-template-columns:1fr 1fr}.sectionhead{display:block}.sectionhead p{text-align:left}.issue summary{grid-template-columns:34px minmax(0,1fr)}.tags{grid-column:2;justify-content:flex-start}.detail{padding:22px 16px!important}.evidence,.code,pre{font-size:10.5px}.excluded-grid{grid-template-columns:1fr}.commit{max-width:42vw}} @media(max-width:390px){.stats,.filters{grid-template-columns:1fr!important}.stat{min-height:96px}.commit{display:none}.issue summary{grid-template-columns:1fr}.rank,.tags{grid-column:1}} +/* Aurora artifact visual contract v3: full-bleed shell and visual wayfinding. */ +.top{width:100vw;margin-left:calc(50% - 50vw);padding-inline:max(clamp(18px,3.2vw,52px),calc((100vw - 1540px)/2 + 52px));border-bottom-color:color-mix(in srgb,var(--aurora-accent-primary) 34%,var(--aurora-border-default));background:color-mix(in srgb,var(--aurora-nav-bg) 94%,transparent)} +.top:before{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:linear-gradient(90deg,transparent,var(--aurora-accent-primary) 18%,var(--aurora-accent-pink) 50%,var(--aurora-success) 82%,transparent);opacity:.42} +.header-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.header-nav a{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid transparent;border-radius:10px;color:var(--muted);transition:color var(--motion-duration-fast) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.header-nav a:hover,.header-nav a:focus-visible{color:var(--p);background:var(--aurora-selected-bg);border-color:var(--aurora-accent-primary-border);transform:translateY(-1px)}.header-nav svg,.metric-icon svg,.section-icon svg,.card-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.header-nav a:after{content:attr(aria-label);pointer-events:none;position:absolute;z-index:var(--z-popover);top:calc(100% + 9px);right:0;width:max-content;max-width:220px;padding:8px 10px;border:1px solid var(--aurora-border-strong);border-radius:8px;background:var(--aurora-panel-strong);box-shadow:var(--aurora-shadow-strong);color:var(--bc);font:600 11px/1.35 var(--body);opacity:0;transform:translateY(-4px);transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.header-nav a:hover:after,.header-nav a:focus-visible:after{opacity:1;transform:translateY(0)} +.stat{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:4px 12px}.stat .num{grid-column:1}.stat .label{grid-column:1/-1;align-self:end}.metric-icon{grid-column:2;grid-row:1;display:grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--stat-color) 36%,transparent);border-radius:11px;background:color-mix(in srgb,var(--stat-color) 10%,transparent);color:var(--stat-color)} +.sectionhead{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(240px,.72fr);align-items:center;gap:14px 18px;margin-bottom:22px;padding:0 2px}.section-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--aurora-info-border);border-radius:13px;background:var(--aurora-info-surface);color:var(--aurora-info)}.sectionhead h2{min-width:0;margin:0}.sectionhead p{min-width:0;justify-self:end} +.excluded{margin-top:clamp(42px,5vw,68px)!important;padding:clamp(24px,3vw,38px)!important;border:1px solid var(--aurora-border-default)!important;border-radius:var(--aurora-radius-2)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--section-color,var(--aurora-warn)) 4%,var(--aurora-panel-medium)),var(--aurora-page-bg))!important;box-shadow:var(--aurora-highlight-medium)!important}.excluded>.sectionhead{margin-bottom:26px}.excluded>.sectionhead .section-icon{border-color:color-mix(in srgb,var(--section-color,var(--aurora-warn)) 35%,transparent);background:color-mix(in srgb,var(--section-color,var(--aurora-warn)) 10%,transparent);color:var(--section-color,var(--aurora-warn))}.excluded-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.excluded-grid article{position:relative;min-width:0;min-height:178px;padding:22px 22px 22px 24px!important;border:1px solid var(--aurora-border-default)!important;border-radius:14px!important;background:color-mix(in srgb,var(--aurora-control-surface) 92%,transparent);overflow:hidden;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-medium) var(--motion-ease-out)}.excluded-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--card-color,var(--aurora-neutral))}.excluded-grid article:nth-child(4n+1){--card-color:var(--aurora-accent-pink)}.excluded-grid article:nth-child(4n+2){--card-color:var(--aurora-warn)}.excluded-grid article:nth-child(4n+3){--card-color:var(--aurora-info)}.excluded-grid article:nth-child(4n){--card-color:var(--aurora-success)}.excluded-grid article:hover{border-color:color-mix(in srgb,var(--card-color) 42%,var(--aurora-border-default))!important;transform:translateY(-2px)}.card-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:15px;border-radius:9px;background:color-mix(in srgb,var(--card-color) 10%,transparent);color:var(--card-color)}.excluded-grid h3{font-size:15px;line-height:1.35}.excluded-grid p{font-size:12px;line-height:1.6;overflow-wrap:anywhere} +.artifact-nav{display:grid;gap:6px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--b3)}.artifact-nav a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:40px;padding:6px 8px;border:1px solid transparent;border-radius:10px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:650;transition:background var(--motion-duration-fast) var(--motion-ease-out),color var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.artifact-nav a:hover,.artifact-nav a:focus-visible{background:var(--aurora-hover-bg);border-color:var(--aurora-border-strong);color:var(--bc);transform:translateX(2px)}.artifact-nav .nav-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--aurora-info-surface);color:var(--aurora-info)}.artifact-nav svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.artifact-nav .nav-arrow{color:var(--aurora-border-strong)} +.filter-feedback{display:none;min-height:180px;place-items:center;margin-top:12px;padding:32px;border:1px dashed var(--aurora-border-strong);border-radius:var(--aurora-radius-2);background:var(--aurora-control-surface);text-align:center}.filter-feedback.visible{display:grid}.filter-feedback .empty-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 13px;border:1px solid var(--aurora-success-border);border-radius:15px;background:var(--aurora-success-surface);color:var(--aurora-success)}.filter-feedback svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8}.filter-feedback strong{display:block;font-family:var(--font-display);font-size:17px}.filter-feedback span{display:block;max-width:42ch;margin-top:6px;color:var(--muted);font-size:12px}.filter[aria-pressed=true]{border-color:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 42%,transparent)!important} +@media(max-width:900px){.sectionhead{grid-template-columns:auto minmax(0,1fr)}.sectionhead p{grid-column:2;justify-self:start;text-align:left}.artifact-nav{grid-template-columns:repeat(3,minmax(0,1fr));border:0}.artifact-nav a{grid-template-columns:30px minmax(0,1fr)}.artifact-nav .nav-arrow{display:none}} +@media(max-width:620px){.top{padding-inline:16px}.header-nav{gap:2px}.header-nav a{width:32px;height:32px}.sectionhead{grid-template-columns:36px minmax(0,1fr);gap:10px}.section-icon{width:36px;height:36px}.sectionhead p{grid-column:1/-1;justify-self:start}.excluded{padding:20px 16px!important}.excluded-grid{grid-template-columns:1fr}.excluded-grid article{min-height:0}.artifact-nav{grid-template-columns:1fr 1fr}.artifact-nav a{min-height:44px}.stat .metric-icon{width:32px;height:32px}} +
@@ -806,7 +818,7 @@
DRAFTCurrent-head dossierEvidence governedPrivate canonical view
-
{{files count}}
Files changed
{{commits count}}
Commits in PR
Evidence
Verification manifest
Ledger
Required follow-up
+
{{files count}}
Files changed
{{commits count}}
Commits in PR
Evidence
Verification manifest
Ledger
Required follow-up

Executive change map

Fast scope orientation from the authoritative changed-file denominator. The complete ledger remains in Change.

0Implementation
0Tests
0Documentation
0Dependencies
0Generated
ExactGitHub denominator
@@ -815,7 +827,7 @@

Reviewer checkpoints

Digest- and head-bound acknowledgements become stale after material report changes.

ProblemOPEN
ScopeOPEN
ArchitectureOPEN
TestsOPEN
Security / privacyOPEN
OperationsOPEN
DocumentationOPEN
Public summaryOPEN
-

PR lifecycle dossier

Every section is required. Use None, Not applicable, Not run, or Unknown with a reason; never imply silent coverage.

+

PR lifecycle dossier

Every section is required. Use None, Not applicable, Not run, or Unknown with a reason; never imply silent coverage.

01

Orient

Understand the problem, identity, and lifecycle.

00

Public PR summary candidate

An allowlisted, copy-safe summary that contains no private provenance.

Human audit required

Copy-safe content only

{{Problem · solution · user-visible effect · public test summary · public docs/release impact. No absolute paths, session IDs, private URLs, internal hosts, secrets, PII, or unpublished artifacts.}}
Allowlist audit: {{timestamp · auditor · exact public fields reviewed · result}}
This section is not automatically authorized for publication. Recheck the live destination and payload immediately before any external mutation.
01

Issue, reproduction, and impact

The motivating problem or feature, expected/observed behavior, affected users, and bounded scope.

RequiredWhy now

Problem trace

Starting state{{Who experiences what, in which supported environment.}}
Trigger{{Minimal deterministic reproduction with inputs and preconditions.}}
Impact{{Observable consequence, frequency, severity, and blast radius.}}
Acceptance invariant{{Exact behavior that must be true for this PR to succeed, including deliberate non-goals.}}
@@ -853,7 +865,7 @@
27

Report accessibility, portability, and standalone quality

The artifact itself must remain usable across themes, viewports, keyboard input, print, and portable export.

Artifact QA
  • {{Semantic heading order and table captions/labels checked}}
  • {{Keyboard-only filters/details and focus visibility checked}}
  • {{Responsive tables/mobile/widescreen checked}}
  • {{Reduced motion, light/dark theme, print layout, and font fallback checked}}
  • {{No external runtime dependency; portable export links/fonts checked}}
Artifact stateUNKNOWN — {{reason}}
-

Current PR readiness

A terse, evidence-backed handoff. Do not call the PR ready while a required item remains open, stale, blocked, or unverified.

Ready now

{{What is current and independently proven against the exact head.}}

Blocking

{{Required work, failed/stale checks, open review threads, missing docs, or None with evidence.}}

Next action

{{Single concrete action, owner, trigger, and validation.}}

+

Current PR readiness

A terse, evidence-backed handoff. Do not call the PR ready while a required item remains open, stale, blocked, or unverified.

Ready now

{{What is current and independently proven against the exact head.}}

Blocking

{{Required work, failed/stale checks, open review threads, missing docs, or None with evidence.}}

Next action

{{Single concrete action, owner, trigger, and validation.}}

Private canonical PR lifecycle record · {{org/repo}} · {{PR}}base {{SHA}} → head {{SHA}} · updated {{ISO-8601}}
diff --git a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/proposals/_template.html b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/proposals/_template.html index f12b47b..4590871 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/proposals/_template.html +++ b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/proposals/_template.html @@ -758,23 +758,35 @@ @media(max-width:620px){main,.hero,.hero>div,.verified,.verified ul,.verified li{min-width:0;max-width:100%}.shell{padding-inline:16px}.top{align-items:flex-start}.brand>span:last-child{display:none}.aurora-wordmark{font-size:23px}.hero{padding-top:34px;gap:26px}.hero h1,.hero h1 span{font-size:clamp(34px,10vw,44px)!important;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}.hero p{max-width:100%;font-size:15px;overflow-wrap:anywhere}.verified{width:100%;padding:20px!important}.verified li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:12px}.verified strong{font-size:11px}.stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:38px}.stat{min-height:112px;padding:18px!important}.filters{grid-template-columns:1fr 1fr}.sectionhead{display:block}.sectionhead p{text-align:left}.issue summary{grid-template-columns:34px minmax(0,1fr)}.tags{grid-column:2;justify-content:flex-start}.detail{padding:22px 16px!important}.evidence,.code,pre{font-size:10.5px}.excluded-grid{grid-template-columns:1fr}.commit{max-width:42vw}} @media(max-width:390px){.stats,.filters{grid-template-columns:1fr!important}.stat{min-height:96px}.commit{display:none}.issue summary{grid-template-columns:1fr}.rank,.tags{grid-column:1}} +/* Aurora artifact visual contract v3: full-bleed shell and visual wayfinding. */ +.top{width:100vw;margin-left:calc(50% - 50vw);padding-inline:max(clamp(18px,3.2vw,52px),calc((100vw - 1540px)/2 + 52px));border-bottom-color:color-mix(in srgb,var(--aurora-accent-primary) 34%,var(--aurora-border-default));background:color-mix(in srgb,var(--aurora-nav-bg) 94%,transparent)} +.top:before{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:linear-gradient(90deg,transparent,var(--aurora-accent-primary) 18%,var(--aurora-accent-pink) 50%,var(--aurora-success) 82%,transparent);opacity:.42} +.header-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.header-nav a{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid transparent;border-radius:10px;color:var(--muted);transition:color var(--motion-duration-fast) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.header-nav a:hover,.header-nav a:focus-visible{color:var(--p);background:var(--aurora-selected-bg);border-color:var(--aurora-accent-primary-border);transform:translateY(-1px)}.header-nav svg,.metric-icon svg,.section-icon svg,.card-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.header-nav a:after{content:attr(aria-label);pointer-events:none;position:absolute;z-index:var(--z-popover);top:calc(100% + 9px);right:0;width:max-content;max-width:220px;padding:8px 10px;border:1px solid var(--aurora-border-strong);border-radius:8px;background:var(--aurora-panel-strong);box-shadow:var(--aurora-shadow-strong);color:var(--bc);font:600 11px/1.35 var(--body);opacity:0;transform:translateY(-4px);transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.header-nav a:hover:after,.header-nav a:focus-visible:after{opacity:1;transform:translateY(0)} +.stat{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:4px 12px}.stat .num{grid-column:1}.stat .label{grid-column:1/-1;align-self:end}.metric-icon{grid-column:2;grid-row:1;display:grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--stat-color) 36%,transparent);border-radius:11px;background:color-mix(in srgb,var(--stat-color) 10%,transparent);color:var(--stat-color)} +.sectionhead{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(240px,.72fr);align-items:center;gap:14px 18px;margin-bottom:22px;padding:0 2px}.section-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--aurora-info-border);border-radius:13px;background:var(--aurora-info-surface);color:var(--aurora-info)}.sectionhead h2{min-width:0;margin:0}.sectionhead p{min-width:0;justify-self:end} +.excluded{margin-top:clamp(42px,5vw,68px)!important;padding:clamp(24px,3vw,38px)!important;border:1px solid var(--aurora-border-default)!important;border-radius:var(--aurora-radius-2)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--section-color,var(--aurora-warn)) 4%,var(--aurora-panel-medium)),var(--aurora-page-bg))!important;box-shadow:var(--aurora-highlight-medium)!important}.excluded>.sectionhead{margin-bottom:26px}.excluded>.sectionhead .section-icon{border-color:color-mix(in srgb,var(--section-color,var(--aurora-warn)) 35%,transparent);background:color-mix(in srgb,var(--section-color,var(--aurora-warn)) 10%,transparent);color:var(--section-color,var(--aurora-warn))}.excluded-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.excluded-grid article{position:relative;min-width:0;min-height:178px;padding:22px 22px 22px 24px!important;border:1px solid var(--aurora-border-default)!important;border-radius:14px!important;background:color-mix(in srgb,var(--aurora-control-surface) 92%,transparent);overflow:hidden;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-medium) var(--motion-ease-out)}.excluded-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--card-color,var(--aurora-neutral))}.excluded-grid article:nth-child(4n+1){--card-color:var(--aurora-accent-pink)}.excluded-grid article:nth-child(4n+2){--card-color:var(--aurora-warn)}.excluded-grid article:nth-child(4n+3){--card-color:var(--aurora-info)}.excluded-grid article:nth-child(4n){--card-color:var(--aurora-success)}.excluded-grid article:hover{border-color:color-mix(in srgb,var(--card-color) 42%,var(--aurora-border-default))!important;transform:translateY(-2px)}.card-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:15px;border-radius:9px;background:color-mix(in srgb,var(--card-color) 10%,transparent);color:var(--card-color)}.excluded-grid h3{font-size:15px;line-height:1.35}.excluded-grid p{font-size:12px;line-height:1.6;overflow-wrap:anywhere} +.artifact-nav{display:grid;gap:6px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--b3)}.artifact-nav a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:40px;padding:6px 8px;border:1px solid transparent;border-radius:10px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:650;transition:background var(--motion-duration-fast) var(--motion-ease-out),color var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.artifact-nav a:hover,.artifact-nav a:focus-visible{background:var(--aurora-hover-bg);border-color:var(--aurora-border-strong);color:var(--bc);transform:translateX(2px)}.artifact-nav .nav-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--aurora-info-surface);color:var(--aurora-info)}.artifact-nav svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.artifact-nav .nav-arrow{color:var(--aurora-border-strong)} +.filter-feedback{display:none;min-height:180px;place-items:center;margin-top:12px;padding:32px;border:1px dashed var(--aurora-border-strong);border-radius:var(--aurora-radius-2);background:var(--aurora-control-surface);text-align:center}.filter-feedback.visible{display:grid}.filter-feedback .empty-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 13px;border:1px solid var(--aurora-success-border);border-radius:15px;background:var(--aurora-success-surface);color:var(--aurora-success)}.filter-feedback svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8}.filter-feedback strong{display:block;font-family:var(--font-display);font-size:17px}.filter-feedback span{display:block;max-width:42ch;margin-top:6px;color:var(--muted);font-size:12px}.filter[aria-pressed=true]{border-color:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 42%,transparent)!important} +@media(max-width:900px){.sectionhead{grid-template-columns:auto minmax(0,1fr)}.sectionhead p{grid-column:2;justify-self:start;text-align:left}.artifact-nav{grid-template-columns:repeat(3,minmax(0,1fr));border:0}.artifact-nav a{grid-template-columns:30px minmax(0,1fr)}.artifact-nav .nav-arrow{display:none}} +@media(max-width:620px){.top{padding-inline:16px}.header-nav{gap:2px}.header-nav a{width:32px;height:32px}.sectionhead{grid-template-columns:36px minmax(0,1fr);gap:10px}.section-icon{width:36px;height:36px}.sectionhead p{grid-column:1/-1;justify-self:start}.excluded{padding:20px 16px!important}.excluded-grid{grid-template-columns:1fr}.excluded-grid article{min-height:0}.artifact-nav{grid-template-columns:1fr 1fr}.artifact-nav a{min-height:44px}.stat .metric-icon{width:32px;height:32px}} +
-
Artifact Report
[what this artifact was produced against] [commit]
-
+
Decision Proposal
[what this artifact was produced against] [commit]
+
[Area] / [what is being proposed]

[Keep what works.]
[Change what does not.]

[One sentence: the change being recommended, and the boundary it respects. A proposal argues for a decision — it is not a plan and not a finding.]

-
[nn]
[Recommendations — this becomes the index stat]
[nn]
[Options considered]
[nn]
[Existing authorities left untouched]
[nn]
[Open decisions for review]
-
-

Recommendations

[Each recommendation states the change, why this option beat the alternatives, what it costs, and what it does not solve.]

+
[nn]
[Recommendations — this becomes the index stat]
[nn]
[Options considered]
[nn]
[Existing authorities left untouched]
[nn]
[Open decisions for review]
+
+

Recommendations

[Each recommendation states the change, why this option beat the alternatives, what it costs, and what it does not solve.]

R1

[The change, stated as an imperative]

[The problem it resolves, in one line.]

[Recommend now]

Why this option

[The reasoning. Name the alternatives you rejected and why — a recommendation without a discarded option is a preference, not a proposal.]

[Option considered][Why it lost.]
[Option considered][Why it lost.]
[Recommended option][Why it wins.]
Invariant preserved[What must remain true after the change.]
-
+
No matching recordsChoose another result category to continue.
-

Not proposed

Changes deliberately left out, so the scope cannot quietly expand later.

[Tempting change]

[Why it is out of scope, and what would have to be true to bring it in.]

+

Not proposed

Changes deliberately left out, so the scope cannot quietly expand later.

[Tempting change]

[Why it is out of scope, and what would have to be true to bring it in.]

[How this was produced — the run, the repo, the constraints.][Discipline line] · [date]
- + diff --git a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/reports/_template.html b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/reports/_template.html index e230250..208fbd3 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/reports/_template.html +++ b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/reports/_template.html @@ -767,23 +767,35 @@ @media(max-width:620px){main,.hero,.hero>div,.verified,.verified ul,.verified li{min-width:0;max-width:100%}.shell{padding-inline:16px}.top{align-items:flex-start}.brand>span:last-child{display:none}.aurora-wordmark{font-size:23px}.hero{padding-top:34px;gap:26px}.hero h1,.hero h1 span{font-size:clamp(34px,10vw,44px)!important;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}.hero p{max-width:100%;font-size:15px;overflow-wrap:anywhere}.verified{width:100%;padding:20px!important}.verified li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:12px}.verified strong{font-size:11px}.stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:38px}.stat{min-height:112px;padding:18px!important}.filters{grid-template-columns:1fr 1fr}.sectionhead{display:block}.sectionhead p{text-align:left}.issue summary{grid-template-columns:34px minmax(0,1fr)}.tags{grid-column:2;justify-content:flex-start}.detail{padding:22px 16px!important}.evidence,.code,pre{font-size:10.5px}.excluded-grid{grid-template-columns:1fr}.commit{max-width:42vw}} @media(max-width:390px){.stats,.filters{grid-template-columns:1fr!important}.stat{min-height:96px}.commit{display:none}.issue summary{grid-template-columns:1fr}.rank,.tags{grid-column:1}} +/* Aurora artifact visual contract v3: full-bleed shell and visual wayfinding. */ +.top{width:100vw;margin-left:calc(50% - 50vw);padding-inline:max(clamp(18px,3.2vw,52px),calc((100vw - 1540px)/2 + 52px));border-bottom-color:color-mix(in srgb,var(--aurora-accent-primary) 34%,var(--aurora-border-default));background:color-mix(in srgb,var(--aurora-nav-bg) 94%,transparent)} +.top:before{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:linear-gradient(90deg,transparent,var(--aurora-accent-primary) 18%,var(--aurora-accent-pink) 50%,var(--aurora-success) 82%,transparent);opacity:.42} +.header-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.header-nav a{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid transparent;border-radius:10px;color:var(--muted);transition:color var(--motion-duration-fast) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.header-nav a:hover,.header-nav a:focus-visible{color:var(--p);background:var(--aurora-selected-bg);border-color:var(--aurora-accent-primary-border);transform:translateY(-1px)}.header-nav svg,.metric-icon svg,.section-icon svg,.card-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.header-nav a:after{content:attr(aria-label);pointer-events:none;position:absolute;z-index:var(--z-popover);top:calc(100% + 9px);right:0;width:max-content;max-width:220px;padding:8px 10px;border:1px solid var(--aurora-border-strong);border-radius:8px;background:var(--aurora-panel-strong);box-shadow:var(--aurora-shadow-strong);color:var(--bc);font:600 11px/1.35 var(--body);opacity:0;transform:translateY(-4px);transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.header-nav a:hover:after,.header-nav a:focus-visible:after{opacity:1;transform:translateY(0)} +.stat{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:4px 12px}.stat .num{grid-column:1}.stat .label{grid-column:1/-1;align-self:end}.metric-icon{grid-column:2;grid-row:1;display:grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--stat-color) 36%,transparent);border-radius:11px;background:color-mix(in srgb,var(--stat-color) 10%,transparent);color:var(--stat-color)} +.sectionhead{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(240px,.72fr);align-items:center;gap:14px 18px;margin-bottom:22px;padding:0 2px}.section-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--aurora-info-border);border-radius:13px;background:var(--aurora-info-surface);color:var(--aurora-info)}.sectionhead h2{min-width:0;margin:0}.sectionhead p{min-width:0;justify-self:end} +.excluded{margin-top:clamp(42px,5vw,68px)!important;padding:clamp(24px,3vw,38px)!important;border:1px solid var(--aurora-border-default)!important;border-radius:var(--aurora-radius-2)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--section-color,var(--aurora-warn)) 4%,var(--aurora-panel-medium)),var(--aurora-page-bg))!important;box-shadow:var(--aurora-highlight-medium)!important}.excluded>.sectionhead{margin-bottom:26px}.excluded>.sectionhead .section-icon{border-color:color-mix(in srgb,var(--section-color,var(--aurora-warn)) 35%,transparent);background:color-mix(in srgb,var(--section-color,var(--aurora-warn)) 10%,transparent);color:var(--section-color,var(--aurora-warn))}.excluded-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.excluded-grid article{position:relative;min-width:0;min-height:178px;padding:22px 22px 22px 24px!important;border:1px solid var(--aurora-border-default)!important;border-radius:14px!important;background:color-mix(in srgb,var(--aurora-control-surface) 92%,transparent);overflow:hidden;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-medium) var(--motion-ease-out)}.excluded-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--card-color,var(--aurora-neutral))}.excluded-grid article:nth-child(4n+1){--card-color:var(--aurora-accent-pink)}.excluded-grid article:nth-child(4n+2){--card-color:var(--aurora-warn)}.excluded-grid article:nth-child(4n+3){--card-color:var(--aurora-info)}.excluded-grid article:nth-child(4n){--card-color:var(--aurora-success)}.excluded-grid article:hover{border-color:color-mix(in srgb,var(--card-color) 42%,var(--aurora-border-default))!important;transform:translateY(-2px)}.card-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:15px;border-radius:9px;background:color-mix(in srgb,var(--card-color) 10%,transparent);color:var(--card-color)}.excluded-grid h3{font-size:15px;line-height:1.35}.excluded-grid p{font-size:12px;line-height:1.6;overflow-wrap:anywhere} +.artifact-nav{display:grid;gap:6px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--b3)}.artifact-nav a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:40px;padding:6px 8px;border:1px solid transparent;border-radius:10px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:650;transition:background var(--motion-duration-fast) var(--motion-ease-out),color var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.artifact-nav a:hover,.artifact-nav a:focus-visible{background:var(--aurora-hover-bg);border-color:var(--aurora-border-strong);color:var(--bc);transform:translateX(2px)}.artifact-nav .nav-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--aurora-info-surface);color:var(--aurora-info)}.artifact-nav svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.artifact-nav .nav-arrow{color:var(--aurora-border-strong)} +.filter-feedback{display:none;min-height:180px;place-items:center;margin-top:12px;padding:32px;border:1px dashed var(--aurora-border-strong);border-radius:var(--aurora-radius-2);background:var(--aurora-control-surface);text-align:center}.filter-feedback.visible{display:grid}.filter-feedback .empty-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 13px;border:1px solid var(--aurora-success-border);border-radius:15px;background:var(--aurora-success-surface);color:var(--aurora-success)}.filter-feedback svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8}.filter-feedback strong{display:block;font-family:var(--font-display);font-size:17px}.filter-feedback span{display:block;max-width:42ch;margin-top:6px;color:var(--muted);font-size:12px}.filter[aria-pressed=true]{border-color:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 42%,transparent)!important} +@media(max-width:900px){.sectionhead{grid-template-columns:auto minmax(0,1fr)}.sectionhead p{grid-column:2;justify-self:start;text-align:left}.artifact-nav{grid-template-columns:repeat(3,minmax(0,1fr));border:0}.artifact-nav a{grid-template-columns:30px minmax(0,1fr)}.artifact-nav .nav-arrow{display:none}} +@media(max-width:620px){.top{padding-inline:16px}.header-nav{gap:2px}.header-nav a{width:32px;height:32px}.sectionhead{grid-template-columns:36px minmax(0,1fr);gap:10px}.section-icon{width:36px;height:36px}.sectionhead p{grid-column:1/-1;justify-self:start}.excluded{padding:20px 16px!important}.excluded-grid{grid-template-columns:1fr}.excluded-grid article{min-height:0}.artifact-nav{grid-template-columns:1fr 1fr}.artifact-nav a{min-height:44px}.stat .metric-icon{width:32px;height:32px}} +
-
Artifact Report
[what this artifact was produced against] [commit]
-
+
Evidence Report
[what this artifact was produced against] [commit]
+
[Area] / [what was audited]

[What is true.]
[What proves it.]

[One sentence: what was examined, by what method, and what survived the proof pass. Name the repo in mono.]

-
[nn]
[Headline metric — this becomes the index stat]
[nn]
[Metric]
[nn]
[Metric]
[0]
[Source files modified]
-
-

Findings

[How to read a finding: open it for its causal trace, observed evidence, exact source locations, and proof boundary.]

+
[nn]
[Headline metric — this becomes the index stat]
[nn]
[Metric]
[nn]
[Metric]
[0]
[Source files modified]
+
+

Findings

[How to read a finding: open it for its causal trace, observed evidence, exact source locations, and proof boundary.]

P1

[Finding stated as the defect, not the symptom]

[One line: the consequence a user or operator actually experiences.]

[Runtime proof][High]

Failure trace

[Precondition][What the system does here.]
[The step that goes wrong][Why it goes wrong.]
[Observable consequence][What is now broken.]
Required invariant[The property that must hold. State the invariant, not the patch.]
-
+
No matching recordsChoose another result category to continue.
-

Excluded from the finding count

Claims that did not survive the proof pass stay visible so the report cannot silently overstate its case.

[Claim that failed]

[Why it failed, and what the evidence actually showed.]

+

Excluded from the finding count

Claims that did not survive the proof pass stay visible so the report cannot silently overstate its case.

[Claim that failed]

[Why it failed, and what the evidence actually showed.]

[How this was produced — the run, the repo, the constraints.][Discipline line] · [date]
- + diff --git a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/research/_template.html b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/research/_template.html index 49c455a..dd456f5 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/research/_template.html +++ b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/research/_template.html @@ -758,23 +758,35 @@ @media(max-width:620px){main,.hero,.hero>div,.verified,.verified ul,.verified li{min-width:0;max-width:100%}.shell{padding-inline:16px}.top{align-items:flex-start}.brand>span:last-child{display:none}.aurora-wordmark{font-size:23px}.hero{padding-top:34px;gap:26px}.hero h1,.hero h1 span{font-size:clamp(34px,10vw,44px)!important;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}.hero p{max-width:100%;font-size:15px;overflow-wrap:anywhere}.verified{width:100%;padding:20px!important}.verified li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:12px}.verified strong{font-size:11px}.stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:38px}.stat{min-height:112px;padding:18px!important}.filters{grid-template-columns:1fr 1fr}.sectionhead{display:block}.sectionhead p{text-align:left}.issue summary{grid-template-columns:34px minmax(0,1fr)}.tags{grid-column:2;justify-content:flex-start}.detail{padding:22px 16px!important}.evidence,.code,pre{font-size:10.5px}.excluded-grid{grid-template-columns:1fr}.commit{max-width:42vw}} @media(max-width:390px){.stats,.filters{grid-template-columns:1fr!important}.stat{min-height:96px}.commit{display:none}.issue summary{grid-template-columns:1fr}.rank,.tags{grid-column:1}} +/* Aurora artifact visual contract v3: full-bleed shell and visual wayfinding. */ +.top{width:100vw;margin-left:calc(50% - 50vw);padding-inline:max(clamp(18px,3.2vw,52px),calc((100vw - 1540px)/2 + 52px));border-bottom-color:color-mix(in srgb,var(--aurora-accent-primary) 34%,var(--aurora-border-default));background:color-mix(in srgb,var(--aurora-nav-bg) 94%,transparent)} +.top:before{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:linear-gradient(90deg,transparent,var(--aurora-accent-primary) 18%,var(--aurora-accent-pink) 50%,var(--aurora-success) 82%,transparent);opacity:.42} +.header-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.header-nav a{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid transparent;border-radius:10px;color:var(--muted);transition:color var(--motion-duration-fast) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.header-nav a:hover,.header-nav a:focus-visible{color:var(--p);background:var(--aurora-selected-bg);border-color:var(--aurora-accent-primary-border);transform:translateY(-1px)}.header-nav svg,.metric-icon svg,.section-icon svg,.card-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.header-nav a:after{content:attr(aria-label);pointer-events:none;position:absolute;z-index:var(--z-popover);top:calc(100% + 9px);right:0;width:max-content;max-width:220px;padding:8px 10px;border:1px solid var(--aurora-border-strong);border-radius:8px;background:var(--aurora-panel-strong);box-shadow:var(--aurora-shadow-strong);color:var(--bc);font:600 11px/1.35 var(--body);opacity:0;transform:translateY(-4px);transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.header-nav a:hover:after,.header-nav a:focus-visible:after{opacity:1;transform:translateY(0)} +.stat{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:4px 12px}.stat .num{grid-column:1}.stat .label{grid-column:1/-1;align-self:end}.metric-icon{grid-column:2;grid-row:1;display:grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--stat-color) 36%,transparent);border-radius:11px;background:color-mix(in srgb,var(--stat-color) 10%,transparent);color:var(--stat-color)} +.sectionhead{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(240px,.72fr);align-items:center;gap:14px 18px;margin-bottom:22px;padding:0 2px}.section-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--aurora-info-border);border-radius:13px;background:var(--aurora-info-surface);color:var(--aurora-info)}.sectionhead h2{min-width:0;margin:0}.sectionhead p{min-width:0;justify-self:end} +.excluded{margin-top:clamp(42px,5vw,68px)!important;padding:clamp(24px,3vw,38px)!important;border:1px solid var(--aurora-border-default)!important;border-radius:var(--aurora-radius-2)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--section-color,var(--aurora-warn)) 4%,var(--aurora-panel-medium)),var(--aurora-page-bg))!important;box-shadow:var(--aurora-highlight-medium)!important}.excluded>.sectionhead{margin-bottom:26px}.excluded>.sectionhead .section-icon{border-color:color-mix(in srgb,var(--section-color,var(--aurora-warn)) 35%,transparent);background:color-mix(in srgb,var(--section-color,var(--aurora-warn)) 10%,transparent);color:var(--section-color,var(--aurora-warn))}.excluded-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.excluded-grid article{position:relative;min-width:0;min-height:178px;padding:22px 22px 22px 24px!important;border:1px solid var(--aurora-border-default)!important;border-radius:14px!important;background:color-mix(in srgb,var(--aurora-control-surface) 92%,transparent);overflow:hidden;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-medium) var(--motion-ease-out)}.excluded-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--card-color,var(--aurora-neutral))}.excluded-grid article:nth-child(4n+1){--card-color:var(--aurora-accent-pink)}.excluded-grid article:nth-child(4n+2){--card-color:var(--aurora-warn)}.excluded-grid article:nth-child(4n+3){--card-color:var(--aurora-info)}.excluded-grid article:nth-child(4n){--card-color:var(--aurora-success)}.excluded-grid article:hover{border-color:color-mix(in srgb,var(--card-color) 42%,var(--aurora-border-default))!important;transform:translateY(-2px)}.card-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:15px;border-radius:9px;background:color-mix(in srgb,var(--card-color) 10%,transparent);color:var(--card-color)}.excluded-grid h3{font-size:15px;line-height:1.35}.excluded-grid p{font-size:12px;line-height:1.6;overflow-wrap:anywhere} +.artifact-nav{display:grid;gap:6px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--b3)}.artifact-nav a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:40px;padding:6px 8px;border:1px solid transparent;border-radius:10px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:650;transition:background var(--motion-duration-fast) var(--motion-ease-out),color var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.artifact-nav a:hover,.artifact-nav a:focus-visible{background:var(--aurora-hover-bg);border-color:var(--aurora-border-strong);color:var(--bc);transform:translateX(2px)}.artifact-nav .nav-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--aurora-info-surface);color:var(--aurora-info)}.artifact-nav svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.artifact-nav .nav-arrow{color:var(--aurora-border-strong)} +.filter-feedback{display:none;min-height:180px;place-items:center;margin-top:12px;padding:32px;border:1px dashed var(--aurora-border-strong);border-radius:var(--aurora-radius-2);background:var(--aurora-control-surface);text-align:center}.filter-feedback.visible{display:grid}.filter-feedback .empty-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 13px;border:1px solid var(--aurora-success-border);border-radius:15px;background:var(--aurora-success-surface);color:var(--aurora-success)}.filter-feedback svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8}.filter-feedback strong{display:block;font-family:var(--font-display);font-size:17px}.filter-feedback span{display:block;max-width:42ch;margin-top:6px;color:var(--muted);font-size:12px}.filter[aria-pressed=true]{border-color:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 42%,transparent)!important} +@media(max-width:900px){.sectionhead{grid-template-columns:auto minmax(0,1fr)}.sectionhead p{grid-column:2;justify-self:start;text-align:left}.artifact-nav{grid-template-columns:repeat(3,minmax(0,1fr));border:0}.artifact-nav a{grid-template-columns:30px minmax(0,1fr)}.artifact-nav .nav-arrow{display:none}} +@media(max-width:620px){.top{padding-inline:16px}.header-nav{gap:2px}.header-nav a{width:32px;height:32px}.sectionhead{grid-template-columns:36px minmax(0,1fr);gap:10px}.section-icon{width:36px;height:36px}.sectionhead p{grid-column:1/-1;justify-self:start}.excluded{padding:20px 16px!important}.excluded-grid{grid-template-columns:1fr}.excluded-grid article{min-height:0}.artifact-nav{grid-template-columns:1fr 1fr}.artifact-nav a{min-height:44px}.stat .metric-icon{width:32px;height:32px}} +
-
Artifact Report
[what this artifact was produced against] [commit]
-
+
Research Brief
[what this artifact was produced against] [commit]
+
[Area] / [investigation]

[The question.]
[What the evidence says.]

[One sentence: the question asked, how it was investigated, and the confidence in the answer. Research reports uncertainty honestly — a confident wrong answer is worse than a hedged right one.]

-
[nn]
[Findings — this becomes the index stat]
[nn]
[High-confidence]
[nn]
[Needs more evidence]
[nn]
[Questions raised]
-
-

Findings

[Each finding carries its evidence, its confidence, and what observation would overturn it.]

+
[nn]
[Findings — this becomes the index stat]
[nn]
[High-confidence]
[nn]
[Needs more evidence]
[nn]
[Questions raised]
+
+

Findings

[Each finding carries its evidence, its confidence, and what observation would overturn it.]

F1

[The finding, stated as a claim that could be wrong]

[Why it matters to the decision this research feeds.]

[High confidence]

How this was established

Method[What was read, measured, or run.]
Observation[What was actually seen.]
Inference[The step from observation to claim — the part most likely to be wrong.]
What would change this answer[The concrete observation that would falsify the finding.]
-
+
No matching recordsChoose another result category to continue.
-

Did not survive

Hypotheses the evidence contradicted, kept so they are not re-investigated later.

[Hypothesis]

[What was expected, what was found instead.]

+

Did not survive

Hypotheses the evidence contradicted, kept so they are not re-investigated later.

[Hypothesis]

[What was expected, what was found instead.]

[How this was produced — the run, the repo, the constraints.][Discipline line] · [date]
- + diff --git a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/sessions/_template.html b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/sessions/_template.html index 5805624..ad3fc58 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/sessions/_template.html +++ b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/sessions/_template.html @@ -758,29 +758,41 @@ @media(max-width:620px){main,.hero,.hero>div,.verified,.verified ul,.verified li{min-width:0;max-width:100%}.shell{padding-inline:16px}.top{align-items:flex-start}.brand>span:last-child{display:none}.aurora-wordmark{font-size:23px}.hero{padding-top:34px;gap:26px}.hero h1,.hero h1 span{font-size:clamp(34px,10vw,44px)!important;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}.hero p{max-width:100%;font-size:15px;overflow-wrap:anywhere}.verified{width:100%;padding:20px!important}.verified li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:12px}.verified strong{font-size:11px}.stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:38px}.stat{min-height:112px;padding:18px!important}.filters{grid-template-columns:1fr 1fr}.sectionhead{display:block}.sectionhead p{text-align:left}.issue summary{grid-template-columns:34px minmax(0,1fr)}.tags{grid-column:2;justify-content:flex-start}.detail{padding:22px 16px!important}.evidence,.code,pre{font-size:10.5px}.excluded-grid{grid-template-columns:1fr}.commit{max-width:42vw}} @media(max-width:390px){.stats,.filters{grid-template-columns:1fr!important}.stat{min-height:96px}.commit{display:none}.issue summary{grid-template-columns:1fr}.rank,.tags{grid-column:1}} +/* Aurora artifact visual contract v3: full-bleed shell and visual wayfinding. */ +.top{width:100vw;margin-left:calc(50% - 50vw);padding-inline:max(clamp(18px,3.2vw,52px),calc((100vw - 1540px)/2 + 52px));border-bottom-color:color-mix(in srgb,var(--aurora-accent-primary) 34%,var(--aurora-border-default));background:color-mix(in srgb,var(--aurora-nav-bg) 94%,transparent)} +.top:before{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:linear-gradient(90deg,transparent,var(--aurora-accent-primary) 18%,var(--aurora-accent-pink) 50%,var(--aurora-success) 82%,transparent);opacity:.42} +.header-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.header-nav a{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid transparent;border-radius:10px;color:var(--muted);transition:color var(--motion-duration-fast) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.header-nav a:hover,.header-nav a:focus-visible{color:var(--p);background:var(--aurora-selected-bg);border-color:var(--aurora-accent-primary-border);transform:translateY(-1px)}.header-nav svg,.metric-icon svg,.section-icon svg,.card-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.header-nav a:after{content:attr(aria-label);pointer-events:none;position:absolute;z-index:var(--z-popover);top:calc(100% + 9px);right:0;width:max-content;max-width:220px;padding:8px 10px;border:1px solid var(--aurora-border-strong);border-radius:8px;background:var(--aurora-panel-strong);box-shadow:var(--aurora-shadow-strong);color:var(--bc);font:600 11px/1.35 var(--body);opacity:0;transform:translateY(-4px);transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.header-nav a:hover:after,.header-nav a:focus-visible:after{opacity:1;transform:translateY(0)} +.stat{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:4px 12px}.stat .num{grid-column:1}.stat .label{grid-column:1/-1;align-self:end}.metric-icon{grid-column:2;grid-row:1;display:grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--stat-color) 36%,transparent);border-radius:11px;background:color-mix(in srgb,var(--stat-color) 10%,transparent);color:var(--stat-color)} +.sectionhead{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(240px,.72fr);align-items:center;gap:14px 18px;margin-bottom:22px;padding:0 2px}.section-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--aurora-info-border);border-radius:13px;background:var(--aurora-info-surface);color:var(--aurora-info)}.sectionhead h2{min-width:0;margin:0}.sectionhead p{min-width:0;justify-self:end} +.excluded{margin-top:clamp(42px,5vw,68px)!important;padding:clamp(24px,3vw,38px)!important;border:1px solid var(--aurora-border-default)!important;border-radius:var(--aurora-radius-2)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--section-color,var(--aurora-warn)) 4%,var(--aurora-panel-medium)),var(--aurora-page-bg))!important;box-shadow:var(--aurora-highlight-medium)!important}.excluded>.sectionhead{margin-bottom:26px}.excluded>.sectionhead .section-icon{border-color:color-mix(in srgb,var(--section-color,var(--aurora-warn)) 35%,transparent);background:color-mix(in srgb,var(--section-color,var(--aurora-warn)) 10%,transparent);color:var(--section-color,var(--aurora-warn))}.excluded-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.excluded-grid article{position:relative;min-width:0;min-height:178px;padding:22px 22px 22px 24px!important;border:1px solid var(--aurora-border-default)!important;border-radius:14px!important;background:color-mix(in srgb,var(--aurora-control-surface) 92%,transparent);overflow:hidden;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-medium) var(--motion-ease-out)}.excluded-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--card-color,var(--aurora-neutral))}.excluded-grid article:nth-child(4n+1){--card-color:var(--aurora-accent-pink)}.excluded-grid article:nth-child(4n+2){--card-color:var(--aurora-warn)}.excluded-grid article:nth-child(4n+3){--card-color:var(--aurora-info)}.excluded-grid article:nth-child(4n){--card-color:var(--aurora-success)}.excluded-grid article:hover{border-color:color-mix(in srgb,var(--card-color) 42%,var(--aurora-border-default))!important;transform:translateY(-2px)}.card-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:15px;border-radius:9px;background:color-mix(in srgb,var(--card-color) 10%,transparent);color:var(--card-color)}.excluded-grid h3{font-size:15px;line-height:1.35}.excluded-grid p{font-size:12px;line-height:1.6;overflow-wrap:anywhere} +.artifact-nav{display:grid;gap:6px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--b3)}.artifact-nav a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:40px;padding:6px 8px;border:1px solid transparent;border-radius:10px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:650;transition:background var(--motion-duration-fast) var(--motion-ease-out),color var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.artifact-nav a:hover,.artifact-nav a:focus-visible{background:var(--aurora-hover-bg);border-color:var(--aurora-border-strong);color:var(--bc);transform:translateX(2px)}.artifact-nav .nav-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--aurora-info-surface);color:var(--aurora-info)}.artifact-nav svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.artifact-nav .nav-arrow{color:var(--aurora-border-strong)} +.filter-feedback{display:none;min-height:180px;place-items:center;margin-top:12px;padding:32px;border:1px dashed var(--aurora-border-strong);border-radius:var(--aurora-radius-2);background:var(--aurora-control-surface);text-align:center}.filter-feedback.visible{display:grid}.filter-feedback .empty-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 13px;border:1px solid var(--aurora-success-border);border-radius:15px;background:var(--aurora-success-surface);color:var(--aurora-success)}.filter-feedback svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8}.filter-feedback strong{display:block;font-family:var(--font-display);font-size:17px}.filter-feedback span{display:block;max-width:42ch;margin-top:6px;color:var(--muted);font-size:12px}.filter[aria-pressed=true]{border-color:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 42%,transparent)!important} +@media(max-width:900px){.sectionhead{grid-template-columns:auto minmax(0,1fr)}.sectionhead p{grid-column:2;justify-self:start;text-align:left}.artifact-nav{grid-template-columns:repeat(3,minmax(0,1fr));border:0}.artifact-nav a{grid-template-columns:30px minmax(0,1fr)}.artifact-nav .nav-arrow{display:none}} +@media(max-width:620px){.top{padding-inline:16px}.header-nav{gap:2px}.header-nav a{width:32px;height:32px}.sectionhead{grid-template-columns:36px minmax(0,1fr);gap:10px}.section-icon{width:36px;height:36px}.sectionhead p{grid-column:1/-1;justify-self:start}.excluded{padding:20px 16px!important}.excluded-grid{grid-template-columns:1fr}.excluded-grid article{min-height:0}.artifact-nav{grid-template-columns:1fr 1fr}.artifact-nav a{min-height:44px}.stat .metric-icon{width:32px;height:32px}} +
-
Artifact Report
[what this artifact was produced against] [commit]
-
+
Session Record
[what this artifact was produced against] [commit]
+
[Session log] / [date]

[What was asked.]
[What actually happened.]

[One sentence: what this session set out to do and where it ended. A session log is written for whoever picks this up cold — including you, next week.]

-
[nn]
[Changes landed — this becomes the index stat]
[nn]
[Open threads]
[nn]
[Verifications run]
[nn]
[Decisions taken]
-
-

What happened

[In order. Include the wrong turns — a log that only records the successful path teaches nothing.]

+
[nn]
[Changes landed — this becomes the index stat]
[nn]
[Open threads]
[nn]
[Verifications run]
[nn]
[Decisions taken]
+
+

What happened

[In order. Include the wrong turns — a log that only records the successful path teaches nothing.]

01

[The step, in past tense]

[Why it was done.]

[Change]

Sequence

Intent[What was being attempted.]
Action[What was actually done.]
Result[What happened, including if it failed.]
State now[Where this leaves the repo, the branch, or the service.]
-
+
No matching recordsChoose another result category to continue.
-

Artifacts in play

[What this session produced, consumed, and should be reconciled against. Name what you did NOT read too — an unstated absence reads as coverage.]

-

Produced — [artifact name]

[folder/] · [What it is, and which issue or question it answers.]

-

Consumed — [artifact name]

[folder/] · [What you actually took from it, and anything you hand back to it.]

-

Not consulted — [adjacent work]

[folder/file.html] · [Shares this topic, not read. Say so, so its absence is explicit rather than assumed.]

+

Artifacts in play

[What this session produced, consumed, and should be reconciled against. Name what you did NOT read too — an unstated absence reads as coverage.]

+

Produced — [artifact name]

[folder/] · [What it is, and which issue or question it answers.]

+

Consumed — [artifact name]

[folder/] · [What you actually took from it, and anything you hand back to it.]

+

Not consulted — [adjacent work]

[folder/file.html] · [Shares this topic, not read. Say so, so its absence is explicit rather than assumed.]

-

Open threads

Everything the next session needs to pick up, stated so it can be acted on without this context.

[Unfinished thread]

[Where it stands, what blocks it, and the obvious next move.]

+

Open threads

Everything the next session needs to pick up, stated so it can be acted on without this context.

[Unfinished thread]

[Where it stands, what blocks it, and the obvious next move.]

[How this was produced — the run, the repo, the constraints.][Discipline line] · [date]
- + diff --git a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/specs/_template.html b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/specs/_template.html index 78244b4..4aae7b8 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/specs/_template.html +++ b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/specs/_template.html @@ -758,23 +758,35 @@ @media(max-width:620px){main,.hero,.hero>div,.verified,.verified ul,.verified li{min-width:0;max-width:100%}.shell{padding-inline:16px}.top{align-items:flex-start}.brand>span:last-child{display:none}.aurora-wordmark{font-size:23px}.hero{padding-top:34px;gap:26px}.hero h1,.hero h1 span{font-size:clamp(34px,10vw,44px)!important;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}.hero p{max-width:100%;font-size:15px;overflow-wrap:anywhere}.verified{width:100%;padding:20px!important}.verified li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:12px}.verified strong{font-size:11px}.stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:38px}.stat{min-height:112px;padding:18px!important}.filters{grid-template-columns:1fr 1fr}.sectionhead{display:block}.sectionhead p{text-align:left}.issue summary{grid-template-columns:34px minmax(0,1fr)}.tags{grid-column:2;justify-content:flex-start}.detail{padding:22px 16px!important}.evidence,.code,pre{font-size:10.5px}.excluded-grid{grid-template-columns:1fr}.commit{max-width:42vw}} @media(max-width:390px){.stats,.filters{grid-template-columns:1fr!important}.stat{min-height:96px}.commit{display:none}.issue summary{grid-template-columns:1fr}.rank,.tags{grid-column:1}} +/* Aurora artifact visual contract v3: full-bleed shell and visual wayfinding. */ +.top{width:100vw;margin-left:calc(50% - 50vw);padding-inline:max(clamp(18px,3.2vw,52px),calc((100vw - 1540px)/2 + 52px));border-bottom-color:color-mix(in srgb,var(--aurora-accent-primary) 34%,var(--aurora-border-default));background:color-mix(in srgb,var(--aurora-nav-bg) 94%,transparent)} +.top:before{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:linear-gradient(90deg,transparent,var(--aurora-accent-primary) 18%,var(--aurora-accent-pink) 50%,var(--aurora-success) 82%,transparent);opacity:.42} +.header-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.header-nav a{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid transparent;border-radius:10px;color:var(--muted);transition:color var(--motion-duration-fast) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.header-nav a:hover,.header-nav a:focus-visible{color:var(--p);background:var(--aurora-selected-bg);border-color:var(--aurora-accent-primary-border);transform:translateY(-1px)}.header-nav svg,.metric-icon svg,.section-icon svg,.card-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.header-nav a:after{content:attr(aria-label);pointer-events:none;position:absolute;z-index:var(--z-popover);top:calc(100% + 9px);right:0;width:max-content;max-width:220px;padding:8px 10px;border:1px solid var(--aurora-border-strong);border-radius:8px;background:var(--aurora-panel-strong);box-shadow:var(--aurora-shadow-strong);color:var(--bc);font:600 11px/1.35 var(--body);opacity:0;transform:translateY(-4px);transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.header-nav a:hover:after,.header-nav a:focus-visible:after{opacity:1;transform:translateY(0)} +.stat{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:4px 12px}.stat .num{grid-column:1}.stat .label{grid-column:1/-1;align-self:end}.metric-icon{grid-column:2;grid-row:1;display:grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--stat-color) 36%,transparent);border-radius:11px;background:color-mix(in srgb,var(--stat-color) 10%,transparent);color:var(--stat-color)} +.sectionhead{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(240px,.72fr);align-items:center;gap:14px 18px;margin-bottom:22px;padding:0 2px}.section-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--aurora-info-border);border-radius:13px;background:var(--aurora-info-surface);color:var(--aurora-info)}.sectionhead h2{min-width:0;margin:0}.sectionhead p{min-width:0;justify-self:end} +.excluded{margin-top:clamp(42px,5vw,68px)!important;padding:clamp(24px,3vw,38px)!important;border:1px solid var(--aurora-border-default)!important;border-radius:var(--aurora-radius-2)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--section-color,var(--aurora-warn)) 4%,var(--aurora-panel-medium)),var(--aurora-page-bg))!important;box-shadow:var(--aurora-highlight-medium)!important}.excluded>.sectionhead{margin-bottom:26px}.excluded>.sectionhead .section-icon{border-color:color-mix(in srgb,var(--section-color,var(--aurora-warn)) 35%,transparent);background:color-mix(in srgb,var(--section-color,var(--aurora-warn)) 10%,transparent);color:var(--section-color,var(--aurora-warn))}.excluded-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.excluded-grid article{position:relative;min-width:0;min-height:178px;padding:22px 22px 22px 24px!important;border:1px solid var(--aurora-border-default)!important;border-radius:14px!important;background:color-mix(in srgb,var(--aurora-control-surface) 92%,transparent);overflow:hidden;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-medium) var(--motion-ease-out)}.excluded-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--card-color,var(--aurora-neutral))}.excluded-grid article:nth-child(4n+1){--card-color:var(--aurora-accent-pink)}.excluded-grid article:nth-child(4n+2){--card-color:var(--aurora-warn)}.excluded-grid article:nth-child(4n+3){--card-color:var(--aurora-info)}.excluded-grid article:nth-child(4n){--card-color:var(--aurora-success)}.excluded-grid article:hover{border-color:color-mix(in srgb,var(--card-color) 42%,var(--aurora-border-default))!important;transform:translateY(-2px)}.card-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:15px;border-radius:9px;background:color-mix(in srgb,var(--card-color) 10%,transparent);color:var(--card-color)}.excluded-grid h3{font-size:15px;line-height:1.35}.excluded-grid p{font-size:12px;line-height:1.6;overflow-wrap:anywhere} +.artifact-nav{display:grid;gap:6px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--b3)}.artifact-nav a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:40px;padding:6px 8px;border:1px solid transparent;border-radius:10px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:650;transition:background var(--motion-duration-fast) var(--motion-ease-out),color var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.artifact-nav a:hover,.artifact-nav a:focus-visible{background:var(--aurora-hover-bg);border-color:var(--aurora-border-strong);color:var(--bc);transform:translateX(2px)}.artifact-nav .nav-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--aurora-info-surface);color:var(--aurora-info)}.artifact-nav svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.artifact-nav .nav-arrow{color:var(--aurora-border-strong)} +.filter-feedback{display:none;min-height:180px;place-items:center;margin-top:12px;padding:32px;border:1px dashed var(--aurora-border-strong);border-radius:var(--aurora-radius-2);background:var(--aurora-control-surface);text-align:center}.filter-feedback.visible{display:grid}.filter-feedback .empty-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 13px;border:1px solid var(--aurora-success-border);border-radius:15px;background:var(--aurora-success-surface);color:var(--aurora-success)}.filter-feedback svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8}.filter-feedback strong{display:block;font-family:var(--font-display);font-size:17px}.filter-feedback span{display:block;max-width:42ch;margin-top:6px;color:var(--muted);font-size:12px}.filter[aria-pressed=true]{border-color:color-mix(in srgb,var(--filter-color,var(--aurora-info)) 42%,transparent)!important} +@media(max-width:900px){.sectionhead{grid-template-columns:auto minmax(0,1fr)}.sectionhead p{grid-column:2;justify-self:start;text-align:left}.artifact-nav{grid-template-columns:repeat(3,minmax(0,1fr));border:0}.artifact-nav a{grid-template-columns:30px minmax(0,1fr)}.artifact-nav .nav-arrow{display:none}} +@media(max-width:620px){.top{padding-inline:16px}.header-nav{gap:2px}.header-nav a{width:32px;height:32px}.sectionhead{grid-template-columns:36px minmax(0,1fr);gap:10px}.section-icon{width:36px;height:36px}.sectionhead p{grid-column:1/-1;justify-self:start}.excluded{padding:20px 16px!important}.excluded-grid{grid-template-columns:1fr}.excluded-grid article{min-height:0}.artifact-nav{grid-template-columns:1fr 1fr}.artifact-nav a{min-height:44px}.stat .metric-icon{width:32px;height:32px}} +
-
Artifact Report
[what this artifact was produced against] [commit]
-
+
Product Specification
[what this artifact was produced against] [commit]
+
[Area] / [what is being specified]

[What it must do.]
[And must not.]

[One sentence: the behavior being specified and who consumes it. A spec is testable — every requirement here must be checkable by someone who did not write it.]

-
[nn]
[Must-have requirements — this becomes the index stat]
[nn]
[Acceptance criteria]
[nn]
[Interfaces defined]
[nn]
[Unresolved questions]
-
-

Requirements

[Each requirement is numbered, testable, and paired with the acceptance check that proves it.]

+
[nn]
[Must-have requirements — this becomes the index stat]
[nn]
[Acceptance criteria]
[nn]
[Interfaces defined]
[nn]
[Unresolved questions]
+
+

Requirements

[Each requirement is numbered, testable, and paired with the acceptance check that proves it.]

M1

[Requirement, stated as observable behavior]

[Who needs this and why. If nobody needs it, delete it.]

[Must]

Behavior

Given[Starting state.]
When[The action or event.]
Then[The required, observable result.]
Acceptance check[How a reviewer verifies this without asking the author.]
-
+
No matching recordsChoose another result category to continue.
-

Explicitly out of scope

Behavior a reader might reasonably assume is included, and is not.

[Assumed behavior]

[Why it is excluded, and where it would belong instead.]

+

Explicitly out of scope

Behavior a reader might reasonably assume is included, and is not.

[Assumed behavior]

[Why it is excluded, and where it would belong instead.]

[How this was produced — the run, the repo, the constraints.][Discipline line] · [date]
- + diff --git a/plugins/artifacts/skills/create-artifacts/references/design.md b/plugins/artifacts/skills/create-artifacts/references/design.md index a0f50bb..c016be6 100644 --- a/plugins/artifacts/skills/create-artifacts/references/design.md +++ b/plugins/artifacts/skills/create-artifacts/references/design.md @@ -88,6 +88,29 @@ title, every control and tooltip, code and evidence overflow, table behavior, focus visibility, and reduced motion. A template scaffold alone is insufficient visual proof because placeholder lengths do not represent real content. +### Aligned artifact families + +Every Aurora HTML type shares the full-bleed identity bar, concise outcome hero, +semantic metric strip, icon vocabulary, sticky or compact wayfinding, accessible +disclosure and filtering, bounded evidence surfaces, responsive rules, and the +same token meanings. The primary visual story remains specific to the artifact: + +| Type | Primary visual story | Secondary destination | +| --- | --- | --- | +| Reports | Findings, causal trace, and observed proof | Excluded claims | +| PR reports | Six-stage lifecycle readiness and evidence graph | Handoff state | +| Proposals | Recommendation and decision tradeoffs | Rejected alternatives | +| Specs | Requirements and acceptance checks | Explicit boundaries | +| Research | Confidence-weighted findings | Uncertainty and falsifiers | +| Sessions | Chronology, actions, and results | Open work and handoff | +| Docs | Durable rules and verification | Exceptions and non-goals | + +Navigation must move between those meaningful regions or change the visible +information set. A control that produces no visible state change, useful empty +state, result count, or new destination is unfinished. Filters expose pressed +state and announce the visible record count. Zero-result filters explain what +is absent and offer a clear way back to the complete set. + ## Updating the Snapshot Update design resources deliberately against an inspected Aurora revision. diff --git a/plugins/artifacts/tests/test_artifacts.py b/plugins/artifacts/tests/test_artifacts.py index fb320a7..d088d97 100644 --- a/plugins/artifacts/tests/test_artifacts.py +++ b/plugins/artifacts/tests/test_artifacts.py @@ -108,6 +108,29 @@ def test_every_aurora_html_template_uses_visual_contract_v2(self): self.assertIn('button[aria-label]:focus-visible:after',source) self.assertIn('@media(prefers-reduced-motion:reduce)',source) + def test_aurora_templates_share_shell_but_keep_useful_navigation(self): + interactive=['reports','proposals','specs','research','sessions','docs'] + for kind in interactive: + source=template_path(kind,'aurora').read_text() + self.assertEqual(source.count('class="header-nav"'),1) + self.assertEqual(source.count('class="artifact-nav"'),1) + self.assertEqual(source.count('class="metric-icon"'),4) + self.assertGreaterEqual(source.count('class="section-icon"'),2) + self.assertIn('class="filter-feedback" role="status"',source) + self.assertIn('aria-pressed',source) + self.assertIn('visible ${visible===1?"record":"records"}',source) + pr=template_path('pr-reports','aurora').read_text() + self.assertEqual(pr.count('class="metric-icon"'),4) + self.assertEqual(pr.count('class="phasehead"'),6) + self.assertIn('aria-label="PR report stages"',pr) + + def test_aurora_header_is_full_bleed_and_content_stays_contained(self): + source=(SKILL/'assets/aurora/artifact-components.css').read_text() + self.assertIn('width:100vw;margin-left:calc(50% - 50vw)',source) + self.assertIn('.excluded{margin-top:',source) + self.assertIn('.excluded-grid article{position:relative;min-width:0',source) + self.assertIn('.filter-feedback.visible{display:grid}',source) + def test_artifact_skill_sets_html_comprehension_goal(self): source=(SKILL/'SKILL.md').read_text() self.assertIn('substantially better surface for understanding',source) From 88b68c21a40d92bf597f94b898732ec4b365ec8f Mon Sep 17 00:00:00 2001 From: Skill Test Date: Sun, 13 Sep 2026 13:44:16 -0400 Subject: [PATCH 3/3] refactor(artifacts): simplify report navigation --- .../assets/templates/aurora/reports/_template.html | 10 +++++----- .../skills/create-artifacts/references/design.md | 5 +++++ plugins/artifacts/tests/test_artifacts.py | 7 ++++++- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/reports/_template.html b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/reports/_template.html index 208fbd3..ff52a48 100644 --- a/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/reports/_template.html +++ b/plugins/artifacts/skills/create-artifacts/assets/templates/aurora/reports/_template.html @@ -782,20 +782,20 @@
-
Evidence Report
[what this artifact was produced against] [commit]
+
Evidence Report
[what this artifact was produced against] [commit]
[Area] / [what was audited]

[What is true.]
[What proves it.]

[One sentence: what was examined, by what method, and what survived the proof pass. Name the repo in mono.]

[nn]
[Headline metric — this becomes the index stat]
[nn]
[Metric]
[nn]
[Metric]
[0]
[Source files modified]
-
+

Findings

[How to read a finding: open it for its causal trace, observed evidence, exact source locations, and proof boundary.]

P1

[Finding stated as the defect, not the symptom]

[One line: the consequence a user or operator actually experiences.]

[Runtime proof][High]

Failure trace

[Precondition][What the system does here.]
[The step that goes wrong][Why it goes wrong.]
[Observable consequence][What is now broken.]
Required invariant[The property that must hold. State the invariant, not the patch.]
-
No matching recordsChoose another result category to continue.
+

Excluded from the finding count

Claims that did not survive the proof pass stay visible so the report cannot silently overstate its case.

[Claim that failed]

[Why it failed, and what the evidence actually showed.]

-
+

Evidence inventory

[The proof denominator, integrity state, and most important verification boundary.]

[Evidence manifest]

[Count, location, integrity result, and what evidence is authoritative.]

[Verification matrix]

[The strongest runtime, code-path, and static checks with exact outcomes.]

[Proof boundary]

[What this evidence establishes and what remains unverified.]

[How this was produced — the run, the repo, the constraints.][Discipline line] · [date]
- + diff --git a/plugins/artifacts/skills/create-artifacts/references/design.md b/plugins/artifacts/skills/create-artifacts/references/design.md index c016be6..c7b1aee 100644 --- a/plugins/artifacts/skills/create-artifacts/references/design.md +++ b/plugins/artifacts/skills/create-artifacts/references/design.md @@ -111,6 +111,11 @@ state, result count, or new destination is unfinished. Filters expose pressed state and announce the visible record count. Zero-result filters explain what is absent and offer a clear way back to the complete set. +Reports use Overview, Findings, and Evidence as their primary navigation. Do +not add category filters when the report has too few findings for filtering to +provide a meaningful reduction. A short report should spend that space on its +scope and evidence boundary instead. + ## Updating the Snapshot Update design resources deliberately against an inspected Aurora revision. diff --git a/plugins/artifacts/tests/test_artifacts.py b/plugins/artifacts/tests/test_artifacts.py index d088d97..14b78da 100644 --- a/plugins/artifacts/tests/test_artifacts.py +++ b/plugins/artifacts/tests/test_artifacts.py @@ -109,7 +109,7 @@ def test_every_aurora_html_template_uses_visual_contract_v2(self): self.assertIn('@media(prefers-reduced-motion:reduce)',source) def test_aurora_templates_share_shell_but_keep_useful_navigation(self): - interactive=['reports','proposals','specs','research','sessions','docs'] + interactive=['proposals','specs','research','sessions','docs'] for kind in interactive: source=template_path(kind,'aurora').read_text() self.assertEqual(source.count('class="header-nav"'),1) @@ -119,6 +119,11 @@ def test_aurora_templates_share_shell_but_keep_useful_navigation(self): self.assertIn('class="filter-feedback" role="status"',source) self.assertIn('aria-pressed',source) self.assertIn('visible ${visible===1?"record":"records"}',source) + report=template_path('reports','aurora').read_text() + self.assertEqual(report.count('class="artifact-nav"'),1) + self.assertNotIn('
',report) + self.assertNotIn('class="filter-feedback" role="status"',report) + self.assertIn('href="#artifact-evidence"',report) pr=template_path('pr-reports','aurora').read_text() self.assertEqual(pr.count('class="metric-icon"'),4) self.assertEqual(pr.count('class="phasehead"'),6)