@echelon-foundry/design-system 0.2.0 → 0.3.0-main.216.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +46 -0
  3. package/dist/all.css +5537 -841
  4. package/dist/assessment.css +55 -12
  5. package/dist/build-metrics.json +181 -5
  6. package/dist/components.css +2965 -36
  7. package/dist/foundations.css +90 -0
  8. package/dist/marketing/forma-all.css +8162 -0
  9. package/dist/marketing/forma-echelon-marketing.css +2109 -0
  10. package/dist/marketing/forma-marketing-theme-echelon.css +163 -0
  11. package/dist/marketing/forma-marketing.css +1947 -0
  12. package/dist/marketing/forma-marketing.manifest.json +52 -0
  13. package/dist/marketing/forma-marketing.sha256 +4 -0
  14. package/dist/marketing.css +1198 -0
  15. package/dist/patterns/active-filter-summary.html +10 -0
  16. package/dist/patterns/attention-path.html +29 -0
  17. package/dist/patterns/badge.html +9 -0
  18. package/dist/patterns/callout.html +23 -0
  19. package/dist/patterns/card-grid.html +25 -0
  20. package/dist/patterns/character-grid-3270.html +39 -0
  21. package/dist/patterns/character-grid-field.html +21 -0
  22. package/dist/patterns/character-grid-keys.html +20 -0
  23. package/dist/patterns/character-grid-reveal.html +16 -0
  24. package/dist/patterns/character-grid-selection.html +30 -0
  25. package/dist/patterns/character-grid-status.html +11 -0
  26. package/dist/patterns/character-grid-workflow.html +147 -0
  27. package/dist/patterns/character-grid.html +16 -0
  28. package/dist/patterns/cluster.html +5 -0
  29. package/dist/patterns/code-sample.html +9 -0
  30. package/dist/patterns/command-group.html +6 -0
  31. package/dist/patterns/comparison-grid.html +7 -0
  32. package/dist/patterns/comparison-pairs.html +13 -0
  33. package/dist/patterns/cta.html +12 -0
  34. package/dist/patterns/dense-ledger.html +7 -0
  35. package/dist/patterns/diagnostic-status.html +7 -0
  36. package/dist/patterns/diagram.html +49 -0
  37. package/dist/patterns/documentation-layout.html +18 -0
  38. package/dist/patterns/emphasis-budget.html +21 -0
  39. package/dist/patterns/entry-index.html +16 -0
  40. package/dist/patterns/evidence-relationship.html +1 -0
  41. package/dist/patterns/facts.html +7 -0
  42. package/dist/patterns/fault-banner.html +19 -0
  43. package/dist/patterns/fault-blocking.html +25 -0
  44. package/dist/patterns/fault-details.html +11 -0
  45. package/dist/patterns/fault-inline.html +17 -0
  46. package/dist/patterns/fault-notification.html +20 -0
  47. package/dist/patterns/fault-reference.html +5 -0
  48. package/dist/patterns/fault-summary.html +20 -0
  49. package/dist/patterns/fault.html +17 -0
  50. package/dist/patterns/feed-item.html +12 -0
  51. package/dist/patterns/focus-stage.html +4 -0
  52. package/dist/patterns/frame.html +4 -0
  53. package/dist/patterns/freshness.html +1 -0
  54. package/dist/patterns/handoff-summary.html +1 -0
  55. package/dist/patterns/hero.html +17 -0
  56. package/dist/patterns/hierarchy-tree.html +11 -0
  57. package/dist/patterns/identifier.html +9 -0
  58. package/dist/patterns/landmark-region.html +4 -0
  59. package/dist/patterns/lane-board.html +10 -0
  60. package/dist/patterns/marketing-shell.html +40 -0
  61. package/dist/patterns/measure.html +4 -0
  62. package/dist/patterns/metric-value-change.html +9 -0
  63. package/dist/patterns/mosaic.html +6 -0
  64. package/dist/patterns/navigation-shell.html +8 -0
  65. package/dist/patterns/overflow-command-disclosure.html +6 -0
  66. package/dist/patterns/overview-disclosure.html +12 -0
  67. package/dist/patterns/path-summary.html +8 -0
  68. package/dist/patterns/priority-stack.html +4 -0
  69. package/dist/patterns/progress-bar.html +15 -0
  70. package/dist/patterns/prose.html +9 -0
  71. package/dist/patterns/rail.html +4 -0
  72. package/dist/patterns/recovery-actions.html +5 -0
  73. package/dist/patterns/relationship-index.html +8 -0
  74. package/dist/patterns/reorder-states.html +31 -0
  75. package/dist/patterns/resizable-split-pane.html +11 -0
  76. package/dist/patterns/responsive-grid.html +5 -0
  77. package/dist/patterns/scope-trail.html +1 -0
  78. package/dist/patterns/scroll-progress.html +6 -0
  79. package/dist/patterns/section-heading.html +12 -0
  80. package/dist/patterns/security-blockers.html +3 -0
  81. package/dist/patterns/security-evidence-age.html +1 -0
  82. package/dist/patterns/security-evidence-chain.html +2 -0
  83. package/dist/patterns/security-exception.html +2 -0
  84. package/dist/patterns/security-invariant-result.html +1 -0
  85. package/dist/patterns/security-posture.html +22 -0
  86. package/dist/patterns/security-state-matrix.html +5 -0
  87. package/dist/patterns/security-trend.html +1 -0
  88. package/dist/patterns/security-unknown.html +2 -0
  89. package/dist/patterns/sidebar.html +4 -0
  90. package/dist/patterns/site-footer.html +12 -0
  91. package/dist/patterns/site-header.html +18 -0
  92. package/dist/patterns/spatial-canvas.html +13 -0
  93. package/dist/patterns/spinner.html +4 -0
  94. package/dist/patterns/split-pane.html +4 -0
  95. package/dist/patterns/stack.html +5 -0
  96. package/dist/patterns/state-survivability.html +19 -0
  97. package/dist/patterns/steps.html +8 -0
  98. package/dist/patterns/switcher.html +4 -0
  99. package/dist/patterns/tooltip.html +48 -0
  100. package/dist/patterns/verification-frame.html +22 -0
  101. package/dist/patterns/workspace-shell.html +6 -0
  102. package/dist/tokens.css +436 -1
  103. package/docs/BRANDING.md +6 -1
  104. package/docs/MARKETING-SITES.md +321 -0
  105. package/figma/component-contracts.json +1544 -0
  106. package/package.json +34 -8
  107. package/patterns/active-filter-summary.html +10 -0
  108. package/patterns/aegis-faults.manifest.md +81 -0
  109. package/patterns/attention-path.html +29 -0
  110. package/patterns/badge.html +9 -0
  111. package/patterns/callout.html +23 -0
  112. package/patterns/card-grid.html +25 -0
  113. package/patterns/character-grid-3270.html +39 -0
  114. package/patterns/character-grid-field.html +21 -0
  115. package/patterns/character-grid-keys.html +20 -0
  116. package/patterns/character-grid-reveal.html +16 -0
  117. package/patterns/character-grid-selection.html +30 -0
  118. package/patterns/character-grid-status.html +11 -0
  119. package/patterns/character-grid-workflow.html +147 -0
  120. package/patterns/character-grid.html +16 -0
  121. package/patterns/cluster.html +5 -0
  122. package/patterns/code-sample.html +9 -0
  123. package/patterns/command-group.html +6 -0
  124. package/patterns/comparison-grid.html +7 -0
  125. package/patterns/comparison-pairs.html +13 -0
  126. package/patterns/cta.html +12 -0
  127. package/patterns/dense-ledger.html +7 -0
  128. package/patterns/diagnostic-status.html +7 -0
  129. package/patterns/diagram.html +49 -0
  130. package/patterns/documentation-layout.html +18 -0
  131. package/patterns/emphasis-budget.html +21 -0
  132. package/patterns/entry-index.html +16 -0
  133. package/patterns/evidence-relationship.html +1 -0
  134. package/patterns/facts.html +7 -0
  135. package/patterns/fault-banner.html +19 -0
  136. package/patterns/fault-blocking.html +25 -0
  137. package/patterns/fault-details.html +11 -0
  138. package/patterns/fault-inline.html +17 -0
  139. package/patterns/fault-notification.html +20 -0
  140. package/patterns/fault-reference.html +5 -0
  141. package/patterns/fault-summary.html +20 -0
  142. package/patterns/fault.html +17 -0
  143. package/patterns/feed-item.html +12 -0
  144. package/patterns/focus-stage.html +4 -0
  145. package/patterns/frame.html +4 -0
  146. package/patterns/freshness.html +1 -0
  147. package/patterns/handoff-summary.html +1 -0
  148. package/patterns/hero.html +17 -0
  149. package/patterns/hierarchy-tree.html +11 -0
  150. package/patterns/identifier.html +9 -0
  151. package/patterns/landmark-region.html +4 -0
  152. package/patterns/lane-board.html +10 -0
  153. package/patterns/manifest.md +2 -0
  154. package/patterns/marketing-shell.html +40 -0
  155. package/patterns/measure.html +4 -0
  156. package/patterns/metric-value-change.html +9 -0
  157. package/patterns/mosaic.html +6 -0
  158. package/patterns/navigation-shell.html +8 -0
  159. package/patterns/overflow-command-disclosure.html +6 -0
  160. package/patterns/overview-disclosure.html +12 -0
  161. package/patterns/path-summary.html +8 -0
  162. package/patterns/priority-stack.html +4 -0
  163. package/patterns/progress-bar.html +15 -0
  164. package/patterns/prose.html +9 -0
  165. package/patterns/rail.html +4 -0
  166. package/patterns/recovery-actions.html +5 -0
  167. package/patterns/relationship-index.html +8 -0
  168. package/patterns/reorder-states.html +31 -0
  169. package/patterns/resizable-split-pane.html +11 -0
  170. package/patterns/responsive-grid.html +5 -0
  171. package/patterns/scope-trail.html +1 -0
  172. package/patterns/scroll-progress.html +6 -0
  173. package/patterns/section-heading.html +12 -0
  174. package/patterns/security-blockers.html +3 -0
  175. package/patterns/security-evidence-age.html +1 -0
  176. package/patterns/security-evidence-chain.html +2 -0
  177. package/patterns/security-exception.html +2 -0
  178. package/patterns/security-invariant-result.html +1 -0
  179. package/patterns/security-posture.html +22 -0
  180. package/patterns/security-posture.manifest.md +20 -0
  181. package/patterns/security-state-matrix.html +5 -0
  182. package/patterns/security-trend.html +1 -0
  183. package/patterns/security-unknown.html +2 -0
  184. package/patterns/sidebar.html +4 -0
  185. package/patterns/site-footer.html +12 -0
  186. package/patterns/site-header.html +18 -0
  187. package/patterns/spatial-canvas.html +13 -0
  188. package/patterns/spinner.html +4 -0
  189. package/patterns/split-pane.html +4 -0
  190. package/patterns/stack.html +5 -0
  191. package/patterns/state-survivability.html +19 -0
  192. package/patterns/steps.html +8 -0
  193. package/patterns/switcher.html +4 -0
  194. package/patterns/tooltip.html +48 -0
  195. package/patterns/verification-frame.html +22 -0
  196. package/patterns/workspace-shell.html +6 -0
  197. package/schemas/brand-manifest.schema.json +17 -3
  198. package/tokens/echelon.tokens.json +2801 -0
@@ -0,0 +1,6 @@
1
+ <div class="ef-scroll-progress" aria-hidden="true"></div>
2
+ <article class="ef-stack">
3
+ <h2>Release notes</h2>
4
+ <p>The reading-progress bar above is a decorative projection of the page's scroll position. It adds no lag, triggers nothing, and is absent where scroll timelines are unsupported or reduced motion is requested.</p>
5
+ <p>The scrollbar and the headings remain the authoritative way to know where you are in the document.</p>
6
+ </article>
@@ -0,0 +1,12 @@
1
+ <div class="ef-site">
2
+ <section class="ef-section" aria-labelledby="services-title">
3
+ <header class="ef-section-heading">
4
+ <div class="ef-section-heading__text">
5
+ <p class="ef-eyebrow">Service lines</p>
6
+ <h2 id="services-title">Name the section in plain language</h2>
7
+ <p>An optional sentence frames what follows and why it matters.</p>
8
+ </div>
9
+ <div class="ef-section-heading__aside"><a class="ef-button" href="#services">Explore the services</a></div>
10
+ </header>
11
+ </section>
12
+ </div>
@@ -0,0 +1,3 @@
1
+ <section class="ef-security-blockers" aria-labelledby="security-blockers-title"><h2 id="security-blockers-title">Release blockers</h2>
2
+ <ul><li data-kind="violation"><a href="#SEC-INV-014">SEC-INV-014</a><span>Authorization invariant violated.</span></li>
3
+ <li data-kind="unknown"><a href="#SEC-UNK-003">SEC-UNK-003</a><span>Runtime egress behavior has not been established.</span></li></ul></section>
@@ -0,0 +1 @@
1
+ <section class="ef-evidence-age" aria-labelledby="evidence-age-title"><h2 id="evidence-age-title">Evidence freshness</h2><ul><li data-state="current"><a href="#SEC-EVD-042">SEC-EVD-042</a><span>Current · observed 24 Sep 2026</span></li><li data-state="stale"><a href="#SEC-EVD-031">SEC-EVD-031</a><span>Stale · invalidated by boundary change</span></li></ul></section>
@@ -0,0 +1,2 @@
1
+ <figure class="ef-security-evidence-chain" aria-labelledby="evidence-chain-title"><figcaption id="evidence-chain-title">Evidence chain for SEC-INV-014</figcaption>
2
+ <ol><li><strong>Source</strong><span>Aegis</span></li><li><strong>Observation</strong><a href="#SEC-EVD-042">SEC-EVD-042</a></li><li><strong>Invariant</strong><a href="#SEC-INV-014">SEC-INV-014</a></li><li><strong>State</strong><span>Violated</span></li></ol></figure>
@@ -0,0 +1,2 @@
1
+ <article class="ef-security-exception" id="SEC-EXC-002"><header><p>Security exception</p><h3>SEC-EXC-002</h3></header>
2
+ <dl><div><dt>Status</dt><dd>Active</dd></div><div><dt>Approver</dt><dd>Security owner</dd></div><div><dt>Expires</dt><dd><time datetime="2026-10-01">1 Oct 2026</time></dd></div><div><dt>Compensating control</dt><dd>Restricted capability and enhanced audit logging.</dd></div></dl></article>
@@ -0,0 +1 @@
1
+ <article class="ef-invariant-result" id="SEC-INV-014" data-state="violated"><header><p>Security invariant</p><h3>SEC-INV-014</h3><strong>Violated</strong></header><p>Privileged actions require explicit authorization at the effect boundary.</p><dl><div><dt>Threats</dt><dd><a href="#SEC-THR-004">SEC-THR-004</a></dd></div><div><dt>Evidence</dt><dd><a href="#SEC-EVD-042">SEC-EVD-042</a></dd></div><div><dt>Independent verification</dt><dd>Required</dd></div></dl></article>
@@ -0,0 +1,22 @@
1
+ <section class="ef-security-posture" data-posture="blocked" aria-labelledby="security-posture-title">
2
+ <header class="ef-security-posture__header">
3
+ <div>
4
+ <p class="ef-security-posture__eyebrow">Tutela release posture</p>
5
+ <h2 id="security-posture-title">Blocked</h2>
6
+ </div>
7
+ <span class="ef-status-lozenge" data-state="danger" aria-label="Release posture: blocked">Blocked</span>
8
+ </header>
9
+ <dl class="ef-security-posture__meta">
10
+ <div><dt>Subject</dt><dd><code>0123456789abcdef</code></dd></div>
11
+ <div><dt>Scope</dt><dd>Authentication, authorization, agent tools</dd></div>
12
+ <div><dt>Assessed</dt><dd><time datetime="2026-09-24T16:00:00Z">24 Sep 2026</time></dd></div>
13
+ </dl>
14
+ <div class="ef-security-posture__blockers" role="status">
15
+ <strong>2 release blockers</strong>
16
+ <ul>
17
+ <li><a href="#SEC-INV-002">SEC-INV-002</a>: authorization evidence is unknown.</li>
18
+ <li><a href="#SEC-UNK-001">SEC-UNK-001</a>: imported-organization behavior is not established.</li>
19
+ </ul>
20
+ </div>
21
+ <p class="ef-security-posture__qualification">This posture describes the defined assessment scope and evidence. It is not a general claim that the system is secure.</p>
22
+ </section>
@@ -0,0 +1,5 @@
1
+ <section class="ef-security-state-matrix" aria-labelledby="security-state-title">
2
+ <h2 id="security-state-title">Security evidence state</h2><dl class="ef-security-state-matrix__grid">
3
+ <div data-state="verified"><dt>Verified</dt><dd>18</dd></div><div data-state="violated"><dt>Violated</dt><dd>1</dd></div>
4
+ <div data-state="unknown"><dt>Unknown</dt><dd>3</dd></div><div data-state="stale"><dt>Stale</dt><dd>2</dd></div><div data-state="na"><dt>N/A</dt><dd>4</dd></div>
5
+ </dl></section>
@@ -0,0 +1 @@
1
+ <section class="ef-security-trend" aria-labelledby="security-trend-title"><h2 id="security-trend-title">Security trend</h2><p>Compared with the previous assessed artifact.</p><ul><li data-direction="regression"><strong>Regression</strong><span>Unknown security effects increased from 0 to 2.</span></li><li data-direction="improvement"><strong>Improvement</strong><span>Stale evidence decreased from 3 to 1.</span></li><li data-direction="unknown"><strong>No measurement</strong><span>Exception aging was not measured for the previous artifact.</span></li></ul></section>
@@ -0,0 +1,2 @@
1
+ <article class="ef-security-unknown" id="SEC-UNK-003"><header><p>Unknown security effect</p><h3>SEC-UNK-003</h3></header><p>Runtime egress behavior has not been established.</p>
2
+ <dl><div><dt>Consequence</dt><dd>Release posture cannot be established for the network boundary.</dd></div><div><dt>Evidence needed</dt><dd>Observed egress policy test against the release artifact.</dd></div></dl></article>
@@ -0,0 +1,4 @@
1
+ <section class="ef-sidebar" aria-label="Workspace">
2
+ <aside class="ef-sidebar__side"><nav aria-label="Workspace navigation"><a href="#overview" aria-current="page">Overview</a><a href="#evidence">Evidence</a></nav></aside>
3
+ <main class="ef-sidebar__content" id="overview"><h2>Overview</h2><p>The main region grows while the sidebar preserves a useful measure.</p></main>
4
+ </section>
@@ -0,0 +1,12 @@
1
+ <div class="ef-site">
2
+ <footer class="ef-site-footer" data-ef-tone="inverse">
3
+ <div class="ef-site-footer__inner">
4
+ <div class="ef-site-footer__main">
5
+ <div><p class="ef-eyebrow">Example / Product</p><p>Strategy, architecture, and delivery for consequential systems.</p></div>
6
+ <div class="ef-actions"><a class="ef-button" href="#contact">Schedule a working session</a></div>
7
+ </div>
8
+ <nav class="ef-site-footer__nav" aria-label="Footer"><ul><li><a href="#privacy">Privacy</a></li><li><a href="#source">Source</a></li></ul></nav>
9
+ <p class="ef-site-footer__note"><span>&copy; 2026 Example</span><span>Indianapolis, Indiana</span></p>
10
+ </div>
11
+ </footer>
12
+ </div>
@@ -0,0 +1,18 @@
1
+ <div class="ef-site">
2
+ <header class="ef-site-header">
3
+ <div class="ef-site-header__inner">
4
+ <div class="ef-site-header__identity">
5
+ <a class="ef-site-header__brand" href="#top"><span class="ef-site-header__mark" aria-hidden="true">EX</span><span class="ef-site-header__name">Example / Product</span></a>
6
+ <p class="ef-site-header__tagline">Evidence-driven engineering systems</p>
7
+ </div>
8
+ <nav class="ef-site-nav" aria-label="Primary">
9
+ <ul class="ef-site-nav__list">
10
+ <li><a class="ef-site-nav__link" href="#top" aria-current="page">Overview</a></li>
11
+ <li><a class="ef-site-nav__link" href="#research">Research</a></li>
12
+ <li><a class="ef-site-nav__link" href="#docs">Documentation</a></li>
13
+ <li><a class="ef-site-nav__link" data-ef-variant="action" href="#contact">Get in touch</a></li>
14
+ </ul>
15
+ </nav>
16
+ </div>
17
+ </header>
18
+ </div>
@@ -0,0 +1,13 @@
1
+ <section class="ef-spatial-canvas" aria-labelledby="canvas-title">
2
+ <header class="ef-spatial-canvas__header">
3
+ <div><h2 id="canvas-title">System map</h2><p class="ef-spatial-canvas__orientation">Viewport: services / billing</p></div>
4
+ <div class="ef-cluster" aria-label="Canvas controls"><button type="button">Zoom out</button><button type="button">Reset view</button><button type="button">Zoom in</button></div>
5
+ </header>
6
+ <div class="ef-spatial-canvas__viewport" tabindex="0" aria-label="Scrollable system map">
7
+ <div class="ef-spatial-canvas__surface">
8
+ <article class="ef-surface"><h3>Billing</h3><p>Selected node</p></article>
9
+ <article class="ef-surface"><h3>Chrona</h3><p>Time source</p></article>
10
+ </div>
11
+ </div>
12
+ <details class="ef-spatial-canvas__index"><summary>Objects in this view</summary><nav aria-label="Canvas objects"><a href="#billing">Billing</a><a href="#chrona">Chrona</a></nav></details>
13
+ </section>
@@ -0,0 +1,4 @@
1
+ <p class="ef-spinner" role="status">
2
+ <span class="ef-spinner__indicator" aria-hidden="true"></span>
3
+ <span class="ef-spinner__label">Loading deployment history</span>
4
+ </p>
@@ -0,0 +1,4 @@
1
+ <section class="ef-split-pane" aria-label="Inspector workspace">
2
+ <main class="ef-split-pane__primary"><h2>Working surface</h2><p>The primary task remains first in source order.</p></main>
3
+ <aside class="ef-split-pane__secondary" aria-label="Inspector"><h3>Inspector</h3><p>Contextual properties for the current selection.</p></aside>
4
+ </section>
@@ -0,0 +1,5 @@
1
+ <section class="ef-stack" aria-label="Stack composition">
2
+ <header><h2>Section title</h2><p>Supporting context remains grouped with the heading.</p></header>
3
+ <article><h3>Primary content</h3><p>Stack owns only the vertical relationship between independent children.</p></article>
4
+ <footer><button type="button">Continue</button></footer>
5
+ </section>
@@ -0,0 +1,19 @@
1
+ <section class="ef-state-survivability" aria-labelledby="state-survivability-title">
2
+ <h3 id="state-survivability-title">Authoritative state projection</h3>
3
+ <div class="ef-state-survivability__state">
4
+ <span class="ef-status-lozenge" data-state="unknown">Unknown</span>
5
+ <p>Outcome has not been confirmed. Reconcile before retrying.</p>
6
+ </div>
7
+ <div class="ef-state-survivability__state">
8
+ <span class="ef-status-lozenge" data-state="attention">Stale</span>
9
+ <p>The displayed evidence is older than the application freshness policy permits.</p>
10
+ </div>
11
+ <div class="ef-state-survivability__state">
12
+ <span class="ef-status-lozenge" data-state="attention">Partial</span>
13
+ <p>Only the stated scope is complete. Omitted scope remains unresolved.</p>
14
+ </div>
15
+ <div class="ef-state-survivability__state">
16
+ <span class="ef-status-lozenge" data-state="blocked">Unavailable</span>
17
+ <p>The application reports this capability is currently unavailable.</p>
18
+ </div>
19
+ </section>
@@ -0,0 +1,8 @@
1
+ <div class="ef-site">
2
+ <ol class="ef-steps" role="list" aria-label="Method">
3
+ <li>Understand the domain and its constraints.</li>
4
+ <li>Identify recurring symptom patterns.</li>
5
+ <li>Trace the causal mechanism.</li>
6
+ <li>Deliver treatment and prevention.</li>
7
+ </ol>
8
+ </div>
@@ -0,0 +1,4 @@
1
+ <section class="ef-switcher" aria-label="Narrative and supporting material">
2
+ <article class="ef-switcher__primary"><h2>Primary narrative</h2><p>The main content owns most available width.</p></article>
3
+ <aside class="ef-switcher__secondary" aria-label="Supporting material"><h2>Supporting material</h2><p>Secondary content remains adjacent when space permits.</p></aside>
4
+ </section>
@@ -0,0 +1,48 @@
1
+ <div class="ef-stack">
2
+ <p class="ef-tooltip-context">
3
+ Retention period: 90 days
4
+ <span class="ef-tooltip">
5
+ <button class="ef-tooltip__trigger" type="button" popovertarget="tooltip-retention" interestfor="tooltip-retention">
6
+ <span aria-hidden="true">?</span>
7
+ <span class="ef-visually-hidden">About the retention period</span>
8
+ </button>
9
+ <span class="ef-tooltip__surface" id="tooltip-retention" popover>Events older than the retention period are deleted automatically. Export them first if you need a longer record.</span>
10
+ </span>
11
+ </p>
12
+
13
+ <div class="ef-field">
14
+ <div class="ef-cluster">
15
+ <label class="ef-field__label" for="tooltip-window">Maintenance window</label>
16
+ <span class="ef-tooltip">
17
+ <button class="ef-tooltip__trigger" type="button" popovertarget="tooltip-window-hint" interestfor="tooltip-window-hint">
18
+ <span aria-hidden="true">?</span>
19
+ <span class="ef-visually-hidden">How maintenance windows are applied</span>
20
+ </button>
21
+ <span class="ef-tooltip__surface" id="tooltip-window-hint" popover>Times use the service region's local time zone.</span>
22
+ </span>
23
+ </div>
24
+ <p class="ef-field__description" id="tooltip-window-description">Required. Changes are scheduled, never applied immediately.</p>
25
+ <input id="tooltip-window" name="window" type="text" aria-describedby="tooltip-window-description" placeholder="Sun 02:00–04:00">
26
+ </div>
27
+
28
+ <table>
29
+ <thead>
30
+ <tr>
31
+ <th scope="col">Service</th>
32
+ <th scope="col">
33
+ Error budget
34
+ <span class="ef-tooltip">
35
+ <button class="ef-tooltip__trigger" type="button" popovertarget="tooltip-budget" interestfor="tooltip-budget">
36
+ <span aria-hidden="true">?</span>
37
+ <span class="ef-visually-hidden">About error budget</span>
38
+ </button>
39
+ <span class="ef-tooltip__surface" id="tooltip-budget" popover>Share of allowed unavailability left in the current 30-day window.</span>
40
+ </span>
41
+ </th>
42
+ </tr>
43
+ </thead>
44
+ <tbody>
45
+ <tr><td>Checkout</td><td>42% remaining</td></tr>
46
+ </tbody>
47
+ </table>
48
+ </div>
@@ -0,0 +1,22 @@
1
+ <section class="ef-verification-frame" aria-labelledby="verification-title">
2
+ <header class="ef-verification-frame__recognize">
3
+ <span class="ef-component-kicker">Recognition</span>
4
+ <h2 id="verification-title">Ready for deliberate verification</h2>
5
+ <p>The application reports one consequential transition is available. Verify the evidence below before acting.</p>
6
+ </header>
7
+ <section class="ef-verification-frame__verify" aria-labelledby="verify-heading">
8
+ <h3 id="verify-heading">Verify</h3>
9
+ <dl class="ef-verification-frame__facts">
10
+ <div><dt>Record</dt><dd><span class="ef-identifier">INV-1042</span></dd></div>
11
+ <div><dt>Amount</dt><dd><span class="ef-critical-value" data-ef-verify="true">$10,001.00</span></dd></div>
12
+ <div><dt>Evidence</dt><dd>3 sources reviewed</dd></div>
13
+ <div><dt>Freshness</dt><dd>Checked 2 minutes ago</dd></div>
14
+ </dl>
15
+ <p><strong>Unresolved work:</strong> none reported for this transition.</p>
16
+ </section>
17
+ <footer class="ef-verification-frame__act">
18
+ <p>Actions shown here must come from current application or Ordo capabilities.</p>
19
+ <button type="button">Review sources</button>
20
+ <button type="button">Approve transition</button>
21
+ </footer>
22
+ </section>
@@ -0,0 +1,6 @@
1
+ <main class="ef-workspace-shell">
2
+ <header class="ef-workspace-shell__landmark"><h1>Workspace</h1><p role="status">Ready</p></header>
3
+ <nav class="ef-workspace-shell__navigation" aria-label="Workspace"><a href="#work" aria-current="page">Work</a><a href="#history">History</a></nav>
4
+ <section class="ef-workspace-shell__primary" id="work"><h2>Primary work</h2></section>
5
+ <aside class="ef-workspace-shell__inspector" aria-label="Inspector"><h2>Inspector</h2></aside>
6
+ </main>