howone 0.1.29 → 0.1.30

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 (219) hide show
  1. package/package.json +1 -1
  2. package/templates/vite/.howone/skills/hallmark/SKILL.md +48 -42
  3. package/templates/vite/.howone/skills/hallmark/references/anti-patterns.md +12 -6
  4. package/templates/vite/.howone/skills/hallmark/references/assets.md +7 -0
  5. package/templates/vite/.howone/skills/hallmark/references/component-cookbook.md +19 -10
  6. package/templates/vite/.howone/skills/hallmark/references/components/f2-sticky-scroll-stack.md +1 -1
  7. package/templates/vite/.howone/skills/hallmark/references/components/ft6-letter-close.md +1 -1
  8. package/templates/vite/.howone/skills/hallmark/references/components/h7-demo-video-clipped-by-viewport-edge.md +1 -1
  9. package/templates/vite/.howone/skills/hallmark/references/components/h9-custom-illustration-centerpiece.md +1 -1
  10. package/templates/vite/.howone/skills/hallmark/references/components/n10-floating-on-scroll-morph.md +1 -1
  11. package/templates/vite/.howone/skills/hallmark/references/components/n11-mega-menu.md +40 -0
  12. package/templates/vite/.howone/skills/hallmark/references/components/n12-banner-retract.md +34 -0
  13. package/templates/vite/.howone/skills/hallmark/references/components/n13-inline-cmdk-pill.md +39 -0
  14. package/templates/vite/.howone/skills/hallmark/references/components/n1b-saas-three-section.md +35 -0
  15. package/templates/vite/.howone/skills/hallmark/references/components/n9-edge-aligned-minimal.md +1 -1
  16. package/templates/vite/.howone/skills/hallmark/references/components/s3-sticky-pinned.md +2 -2
  17. package/templates/vite/.howone/skills/hallmark/references/copy.md +8 -8
  18. package/templates/vite/.howone/skills/hallmark/references/custom-craft.md +2 -2
  19. package/templates/vite/.howone/skills/hallmark/references/custom-theme.md +50 -12
  20. package/templates/vite/.howone/skills/hallmark/references/export-formats.md +1 -1
  21. package/templates/vite/.howone/skills/hallmark/references/genres/atmospheric.md +11 -7
  22. package/templates/vite/.howone/skills/hallmark/references/genres/editorial.md +6 -4
  23. package/templates/vite/.howone/skills/hallmark/references/genres/modern-minimal.md +10 -6
  24. package/templates/vite/.howone/skills/hallmark/references/genres/playful.md +15 -10
  25. package/templates/vite/.howone/skills/hallmark/references/hero-enrichment.md +13 -12
  26. package/templates/vite/.howone/skills/hallmark/references/interaction-and-states.md +2 -1
  27. package/templates/vite/.howone/skills/hallmark/references/layout-and-space.md +4 -3
  28. package/templates/vite/.howone/skills/hallmark/references/macrostructures/04-stat-led.md +3 -1
  29. package/templates/vite/.howone/skills/hallmark/references/macrostructures/12-letter.md +1 -1
  30. package/templates/vite/.howone/skills/hallmark/references/macrostructures.md +1 -1
  31. package/templates/vite/.howone/skills/hallmark/references/microinteractions.md +1 -3
  32. package/templates/vite/.howone/skills/hallmark/references/preview-examples.md +12 -12
  33. package/templates/vite/.howone/skills/hallmark/references/responsive.md +8 -8
  34. package/templates/vite/.howone/skills/hallmark/references/slop-test.md +72 -85
  35. package/templates/vite/.howone/skills/hallmark/references/structure.md +9 -13
  36. package/templates/vite/.howone/skills/hallmark/references/study.md +40 -17
  37. package/templates/vite/.howone/skills/hallmark/references/themes/carnival.md +301 -0
  38. package/templates/vite/.howone/skills/hallmark/references/themes/cobalt.md +146 -0
  39. package/templates/vite/.howone/skills/hallmark/references/themes/hum.md +403 -0
  40. package/templates/vite/.howone/skills/hallmark/references/themes/lumen.md +478 -0
  41. package/templates/vite/.howone/skills/hallmark/references/typography.md +3 -3
  42. package/templates/vite/.howone/skills/hallmark/references/verbs/redesign.md +1 -1
  43. package/templates/vite/.howone/skills/hallmark/LICENSE +0 -21
  44. package/templates/vite/.howone/skills/hallmark/README.md +0 -147
  45. package/templates/vite/.howone/skills/hallmark/ROADMAP.md +0 -201
  46. package/templates/vite/.howone/skills/hallmark/docs/recipes.md +0 -186
  47. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-anya.jpg +0 -0
  48. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-bananastudio.jpg +0 -0
  49. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-hyperlane.jpg +0 -0
  50. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-najm.jpg +0 -0
  51. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-slow-pour.jpg +0 -0
  52. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-soroe.jpg +0 -0
  53. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-tally.jpg +0 -0
  54. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-wayfare.jpg +0 -0
  55. package/templates/vite/.howone/skills/hallmark/docs/study-examples.md +0 -176
  56. package/templates/vite/.howone/skills/hallmark/docs/talk-slides.md +0 -364
  57. package/templates/vite/.howone/skills/hallmark/package.json +0 -36
  58. package/templates/vite/.howone/skills/hallmark/site/OG-hallmark.png +0 -0
  59. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/brief.md +0 -71
  60. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/index.html +0 -64
  61. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/style.css +0 -240
  62. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/brief.md +0 -65
  63. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/index.html +0 -105
  64. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/style.css +0 -250
  65. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/brief.md +0 -64
  66. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/index.html +0 -131
  67. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/style.css +0 -240
  68. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/brief.md +0 -67
  69. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/index.html +0 -86
  70. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/style.css +0 -262
  71. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/brief.md +0 -63
  72. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/index.html +0 -167
  73. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/style.css +0 -457
  74. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/brief.md +0 -65
  75. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/index.html +0 -159
  76. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/style.css +0 -288
  77. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/brief.md +0 -64
  78. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/index.html +0 -146
  79. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/style.css +0 -484
  80. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/brief.md +0 -64
  81. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/index.html +0 -116
  82. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/style.css +0 -354
  83. package/templates/vite/.howone/skills/hallmark/site/_tests/09-slow-pour/index.html +0 -638
  84. package/templates/vite/.howone/skills/hallmark/site/_tests/10-owl-hours/index.html +0 -515
  85. package/templates/vite/.howone/skills/hallmark/site/_tests/11-soroe-ceramics/index.html +0 -515
  86. package/templates/vite/.howone/skills/hallmark/site/_tests/12-loafer/index.html +0 -608
  87. package/templates/vite/.howone/skills/hallmark/site/_tests/13-alma/index.html +0 -587
  88. package/templates/vite/.howone/skills/hallmark/site/_tests/README.md +0 -157
  89. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/BananaStudio-loop.mp4 +0 -0
  90. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/BananaStudio-still.jpg +0 -0
  91. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Hyperlane-example.mp4 +0 -0
  92. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Hyperlane-still.jpg +0 -0
  93. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Najm-loop.mp4 +0 -0
  94. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Najm-still.jpg +0 -0
  95. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Podcast-loop.mp4 +0 -0
  96. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/SaaS-loop.mp4 +0 -0
  97. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/SaaS-still.jpg +0 -0
  98. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Soroe-loop.mp4 +0 -0
  99. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Soroe-still.jpg +0 -0
  100. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/after-quiet-hour.png +0 -0
  101. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/anya-loop.mp4 +0 -0
  102. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/anya-still.jpg +0 -0
  103. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/audit-example.png +0 -0
  104. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/before-quiet-hour.png +0 -0
  105. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/example-redesign-uractivation.png +0 -0
  106. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/slow-pour-loop.mp4 +0 -0
  107. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/slow-pour-still.jpg +0 -0
  108. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/study-example.png +0 -0
  109. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/uractivation-after-loop.mp4 +0 -0
  110. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/wayfare-loop.mp4 +0 -0
  111. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/wayfare-still.jpg +0 -0
  112. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/01-coffeebox/index.html +0 -77
  113. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/01-coffeebox/style.css +0 -238
  114. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/02-loop/index.html +0 -110
  115. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/02-loop/style.css +0 -326
  116. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/03-mossroot/index.html +0 -134
  117. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/03-mossroot/style.css +0 -262
  118. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/README.md +0 -30
  119. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/README.md +0 -17
  120. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/audit-report.md +0 -56
  121. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/input.html +0 -160
  122. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/notes.md +0 -29
  123. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/input.html +0 -63
  124. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/notes.md +0 -72
  125. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/output.html +0 -374
  126. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/diagnosis.md +0 -52
  127. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/input-description.md +0 -29
  128. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/notes.md +0 -61
  129. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/output.css +0 -193
  130. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/output.html +0 -66
  131. package/templates/vite/.howone/skills/hallmark/site/css/base.css +0 -194
  132. package/templates/vite/.howone/skills/hallmark/site/css/components.css +0 -4886
  133. package/templates/vite/.howone/skills/hallmark/site/css/sections.css +0 -2072
  134. package/templates/vite/.howone/skills/hallmark/site/css/tokens.css +0 -1129
  135. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/index.html +0 -475
  136. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/styles.css +0 -1584
  137. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/tokens.css +0 -96
  138. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/index.html +0 -344
  139. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/script.js +0 -103
  140. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/styles.css +0 -1103
  141. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/tokens.css +0 -83
  142. package/templates/vite/.howone/skills/hallmark/site/examples/najm/index.html +0 -368
  143. package/templates/vite/.howone/skills/hallmark/site/examples/najm/script.js +0 -133
  144. package/templates/vite/.howone/skills/hallmark/site/examples/najm/styles.css +0 -1062
  145. package/templates/vite/.howone/skills/hallmark/site/examples/najm/tokens.css +0 -97
  146. package/templates/vite/.howone/skills/hallmark/site/examples/tally/app.js +0 -84
  147. package/templates/vite/.howone/skills/hallmark/site/examples/tally/index.html +0 -446
  148. package/templates/vite/.howone/skills/hallmark/site/examples/tally/styles.css +0 -1087
  149. package/templates/vite/.howone/skills/hallmark/site/examples/tally/tokens.css +0 -101
  150. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/index.html +0 -359
  151. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/style.css +0 -1168
  152. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/tokens.css +0 -81
  153. package/templates/vite/.howone/skills/hallmark/site/favicon-dark.svg +0 -5
  154. package/templates/vite/.howone/skills/hallmark/site/favicon-light.svg +0 -5
  155. package/templates/vite/.howone/skills/hallmark/site/index.html +0 -1043
  156. package/templates/vite/.howone/skills/hallmark/site/js/main.js +0 -1175
  157. package/templates/vite/.howone/skills/hallmark/vercel.json +0 -6
  158. package/templates/vite/.howone/skills/impeccable/SKILL.md +0 -168
  159. package/templates/vite/.howone/skills/impeccable/agents/impeccable-asset-producer.md +0 -101
  160. package/templates/vite/.howone/skills/impeccable/reference/adapt.md +0 -190
  161. package/templates/vite/.howone/skills/impeccable/reference/animate.md +0 -175
  162. package/templates/vite/.howone/skills/impeccable/reference/audit.md +0 -133
  163. package/templates/vite/.howone/skills/impeccable/reference/bolder.md +0 -113
  164. package/templates/vite/.howone/skills/impeccable/reference/brand.md +0 -118
  165. package/templates/vite/.howone/skills/impeccable/reference/clarify.md +0 -174
  166. package/templates/vite/.howone/skills/impeccable/reference/codex.md +0 -105
  167. package/templates/vite/.howone/skills/impeccable/reference/cognitive-load.md +0 -106
  168. package/templates/vite/.howone/skills/impeccable/reference/color-and-contrast.md +0 -105
  169. package/templates/vite/.howone/skills/impeccable/reference/colorize.md +0 -154
  170. package/templates/vite/.howone/skills/impeccable/reference/craft.md +0 -123
  171. package/templates/vite/.howone/skills/impeccable/reference/critique.md +0 -273
  172. package/templates/vite/.howone/skills/impeccable/reference/delight.md +0 -302
  173. package/templates/vite/.howone/skills/impeccable/reference/distill.md +0 -111
  174. package/templates/vite/.howone/skills/impeccable/reference/document.md +0 -427
  175. package/templates/vite/.howone/skills/impeccable/reference/extract.md +0 -69
  176. package/templates/vite/.howone/skills/impeccable/reference/harden.md +0 -347
  177. package/templates/vite/.howone/skills/impeccable/reference/heuristics-scoring.md +0 -234
  178. package/templates/vite/.howone/skills/impeccable/reference/interaction-design.md +0 -195
  179. package/templates/vite/.howone/skills/impeccable/reference/layout.md +0 -141
  180. package/templates/vite/.howone/skills/impeccable/reference/live.md +0 -622
  181. package/templates/vite/.howone/skills/impeccable/reference/motion-design.md +0 -109
  182. package/templates/vite/.howone/skills/impeccable/reference/onboard.md +0 -234
  183. package/templates/vite/.howone/skills/impeccable/reference/optimize.md +0 -258
  184. package/templates/vite/.howone/skills/impeccable/reference/overdrive.md +0 -130
  185. package/templates/vite/.howone/skills/impeccable/reference/personas.md +0 -179
  186. package/templates/vite/.howone/skills/impeccable/reference/polish.md +0 -242
  187. package/templates/vite/.howone/skills/impeccable/reference/product.md +0 -62
  188. package/templates/vite/.howone/skills/impeccable/reference/quieter.md +0 -99
  189. package/templates/vite/.howone/skills/impeccable/reference/responsive-design.md +0 -114
  190. package/templates/vite/.howone/skills/impeccable/reference/shape.md +0 -165
  191. package/templates/vite/.howone/skills/impeccable/reference/spatial-design.md +0 -100
  192. package/templates/vite/.howone/skills/impeccable/reference/teach.md +0 -156
  193. package/templates/vite/.howone/skills/impeccable/reference/typeset.md +0 -124
  194. package/templates/vite/.howone/skills/impeccable/reference/typography.md +0 -159
  195. package/templates/vite/.howone/skills/impeccable/reference/ux-writing.md +0 -107
  196. package/templates/vite/.howone/skills/impeccable/scripts/cleanup-deprecated.mjs +0 -284
  197. package/templates/vite/.howone/skills/impeccable/scripts/command-metadata.json +0 -94
  198. package/templates/vite/.howone/skills/impeccable/scripts/critique-storage.mjs +0 -242
  199. package/templates/vite/.howone/skills/impeccable/scripts/design-parser.mjs +0 -820
  200. package/templates/vite/.howone/skills/impeccable/scripts/detect-csp.mjs +0 -198
  201. package/templates/vite/.howone/skills/impeccable/scripts/detect.mjs +0 -21
  202. package/templates/vite/.howone/skills/impeccable/scripts/impeccable-paths.mjs +0 -110
  203. package/templates/vite/.howone/skills/impeccable/scripts/is-generated.mjs +0 -69
  204. package/templates/vite/.howone/skills/impeccable/scripts/live-accept.mjs +0 -595
  205. package/templates/vite/.howone/skills/impeccable/scripts/live-browser-session.js +0 -123
  206. package/templates/vite/.howone/skills/impeccable/scripts/live-browser.js +0 -4860
  207. package/templates/vite/.howone/skills/impeccable/scripts/live-complete.mjs +0 -75
  208. package/templates/vite/.howone/skills/impeccable/scripts/live-completion.mjs +0 -18
  209. package/templates/vite/.howone/skills/impeccable/scripts/live-inject.mjs +0 -446
  210. package/templates/vite/.howone/skills/impeccable/scripts/live-poll.mjs +0 -200
  211. package/templates/vite/.howone/skills/impeccable/scripts/live-resume.mjs +0 -48
  212. package/templates/vite/.howone/skills/impeccable/scripts/live-server.mjs +0 -838
  213. package/templates/vite/.howone/skills/impeccable/scripts/live-session-store.mjs +0 -254
  214. package/templates/vite/.howone/skills/impeccable/scripts/live-status.mjs +0 -47
  215. package/templates/vite/.howone/skills/impeccable/scripts/live-wrap.mjs +0 -632
  216. package/templates/vite/.howone/skills/impeccable/scripts/live.mjs +0 -247
  217. package/templates/vite/.howone/skills/impeccable/scripts/load-context.mjs +0 -141
  218. package/templates/vite/.howone/skills/impeccable/scripts/modern-screenshot.umd.js +0 -14
  219. package/templates/vite/.howone/skills/impeccable/scripts/pin.mjs +0 -214
@@ -1,67 +0,0 @@
1
- # Test 04 v2 — Meridian (studio manifesto)
2
-
3
- ## The prompt (verbatim, same as v1)
4
-
5
- > "Make me a manifesto for my new studio called Meridian. We work on environmental products. No flashy stuff."
6
-
7
- ## Step 0 · Pre-flight
8
-
9
- > *"No pre-flight signals — proceeding with full Hallmark stack."*
10
-
11
- ## Step 1 · Design-context gate — partial → inferred
12
-
13
- User gave audience-implied + tone (declarative, no flash). Skill infers:
14
-
15
- > *"Going with: audience = potential clients and collaborators · use = read our position · tone = declarative, polemical, restrained. If any of those is wrong, redirect."*
16
-
17
- ## Step 2.5 · Project memory rotation
18
-
19
- > *"Previous run on this brief picked Manifesto + Manifesto + none. Picking from {Quote-Led, Stat-Led, Numbered Theses} for the macro this time — Quote-Led wins because a manifesto can be one sentence as easily as it can be five, and the rotation rule pushes away from the Manifesto-named-twice pattern."*
20
- >
21
- > *"Theme rotation: Manifesto (dark · Inter Tight 900 display-heavy · red bleed) → Brutal (dark · Druk-condensed display · single yellow strike). Differs on display style and accent hue. Passes."*
22
-
23
- ## Step 3 · Visual ruleset loaded
24
-
25
- `macrostructures.md` (Quote-Led), `component-cookbook.md` (H3 pull-quote hero), `typography.md` (display-heavy condensed), `color.md` (Brutal palette: dark, single bold accent), `microinteractions.md` (none — manifesto is typography-only), `anti-patterns.md`.
26
-
27
- ## Step 4 · Hero enrichment
28
-
29
- > *"Enrichment: none. Quote-Led + Brutal is already loud; adding any visual would dilute the polemic. The 'no flashy stuff' constraint maps directly here — voice is the design."*
30
-
31
- ## Step 5 · Preview
32
-
33
- ```markdown
34
- **Hallmark · v0.6.0**
35
-
36
- - **Macrostructure** · Quote-Led
37
- - **Theme** · Brutal (near-black paper · Druk-condensed display · yellow strike accent)
38
- - **Enrichment** · none (typography only — voice is the design)
39
- - **Sections** · Masthead · Pull-quote (the hero) · Four principles · Working rules · Colophon
40
- - **Motion** · none — typography only
41
- - **Slop test** · 38 / 38 ✓
42
- - **Diversification** · differs from v1 (Manifesto/Manifesto) on macrostructure + display style + accent hue
43
- ```
44
-
45
- ## Step 6 · Macrostructure stamp
46
-
47
- ```
48
- /* Hallmark · macrostructure: Quote-Led · H3 hero knobs: weight=display-condensed-bold, attribution=under-quote, length=20-words
49
- * theme: Brutal · accent: strike-yellow ~3% (used as bleed-rule + one struck word)
50
- * enrichment: none (typography only — voice is the design)
51
- * studied: no · context: partial, inferred (audience + use) · v0.6.0
52
- */
53
- ```
54
-
55
- ## What changed vs v1
56
-
57
- - **Macro:** Manifesto → Quote-Led. v1 leads with five numbered declarations + a bleed band; v2 leads with one twenty-word pull-quote + three supporting principles. Different rhetoric, same brief.
58
- - **Theme:** Manifesto (Inter Tight 900) → Brutal (Druk-condensed). Both dark, both display-heavy, but Brutal's condensed cap-height reads sharper for a single-quote hero. Accent shifts from red to yellow.
59
- - **Voice:** v1 says "WE ARE A STUDIO. WE ARE NOT A PLATFORM." (one of five lines); v2 stakes the page on "We make products that don't outlive their use" as the single hero claim.
60
- - **Section count:** v1 had ~9 sections; v2 has 5. Quote-Led wants brevity — the quote is the page.
61
-
62
- ## What stayed the same
63
-
64
- - Brand and tone: Meridian, environmental products, "no flashy stuff."
65
- - Enrichment: none on both. Voice is the design.
66
- - Slop test: 38 / 38 ✓.
67
- - Dark paper. Single accent. No gradients. No rounded corners.
@@ -1,86 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <title>Meridian — environmental product practice</title>
7
- <meta name="description" content="A small environmental products design practice. We make products that don't outlive their use." />
8
- <link rel="preconnect" href="https://fonts.googleapis.com" />
9
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
10
- <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter+Tight:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap" />
11
- <link rel="stylesheet" href="style.css" />
12
- </head>
13
- <body>
14
- <main class="page">
15
- <header class="masthead">
16
- <span class="masthead__brand">MERIDIAN <strong>·</strong> environmental product practice</span>
17
- <span class="masthead__meta">Lisbon · est. 2026 · n.º I</span>
18
- </header>
19
-
20
- <section class="hero">
21
- <h1 class="quote">
22
- We make products that don't <span class="quote__strike">outlive</span> their use.
23
- <span class="quote__attr">— The studio · the position we open with · this is the page.</span>
24
- </h1>
25
- </section>
26
-
27
- <section class="principles" aria-labelledby="principles-h">
28
- <h2 class="principles__head" id="principles-h">§ Four principles</h2>
29
- <ol class="principles__list">
30
- <li class="principle">
31
- <span class="principle__num">01.</span>
32
- <h3 class="principle__head">Fewer things, made well</h3>
33
- <p class="principle__body">
34
- We don't pitch ranges. We don't pitch families. The studio works on one product at a
35
- time, finishes it, and starts the next. <strong>If we can't end-of-life it cleanly, we
36
- don't make it.</strong>
37
- </p>
38
- </li>
39
- <li class="principle">
40
- <span class="principle__num">02.</span>
41
- <h3 class="principle__head">Material is the brief</h3>
42
- <p class="principle__body">
43
- Every project starts with the material accounting — what it's made of, where it comes
44
- from, how it returns. <strong>Form follows the spec, not the visual mood-board.</strong>
45
- We send the LCA before we send the render.
46
- </p>
47
- </li>
48
- <li class="principle">
49
- <span class="principle__num">03.</span>
50
- <h3 class="principle__head">Repair before replace</h3>
51
- <p class="principle__body">
52
- Every product ships with a service manual, an exploded BOM, and the tools to take it
53
- apart. <strong>If it can't be opened, fixed, and closed again, it's not finished.</strong>
54
- Repair is a feature, not a footnote.
55
- </p>
56
- </li>
57
- <li class="principle">
58
- <span class="principle__num">04.</span>
59
- <h3 class="principle__head">Slow is the deliverable</h3>
60
- <p class="principle__body">
61
- We work with three clients a year. We turn the rest down. <strong>Slow is a craft
62
- position before it is a marketing one</strong> — fast, in this practice, is what you do
63
- when you don't yet know what you're making.
64
- </p>
65
- </li>
66
- </ol>
67
- </section>
68
-
69
- <section class="rules" aria-labelledby="rules-h">
70
- <h2 class="rules__head" id="rules-h">§ Working rules</h2>
71
- <ol class="rules__list">
72
- <li class="rules__item"><span class="rules__num">i.</span><span>The shop runs on a four-day week. Friday is for the workshop.</span></li>
73
- <li class="rules__item"><span class="rules__num">ii.</span><span>We answer the email ourselves. There is no account manager.</span></li>
74
- <li class="rules__item"><span class="rules__num">iii.</span><span>The first thing we send is the spec. The render comes after.</span></li>
75
- <li class="rules__item"><span class="rules__num">iv.</span><span>We don't sign NDAs that prevent us from naming the material.</span></li>
76
- <li class="rules__item"><span class="rules__num">v.</span><span>We publish what we learn. The notes are the practice.</span></li>
77
- </ol>
78
- </section>
79
-
80
- <footer class="colophon">
81
- <span>Meridian · Rua dos Anjos 38, Lisbon · the year twenty twenty-six</span>
82
- <span><a href="mailto:hello@meridian.studio">hello@meridian.studio</a></span>
83
- </footer>
84
- </main>
85
- </body>
86
- </html>
@@ -1,262 +0,0 @@
1
- /* Hallmark · macrostructure: Quote-Led · H3 hero knobs: weight=display-condensed-bold, attribution=under-quote, length=20-words
2
- * theme: Brutal · accent: strike-yellow ~3% (used as bleed-rule + one struck word)
3
- * enrichment: none (typography only — voice is the design)
4
- * studied: no · context: partial, inferred (audience + use) · v0.6.0
5
- */
6
-
7
- :root {
8
- --color-paper: oklch(11% 0.005 60);
9
- --color-paper-2: oklch(15% 0.006 60);
10
- --color-rule: oklch(28% 0.006 60);
11
- --color-ink: oklch(96% 0.005 90);
12
- --color-ink-soft: oklch(72% 0.006 90);
13
- --color-accent: oklch(86% 0.18 95);
14
-
15
- --font-display: "Bebas Neue", "Oswald", "Barlow Condensed", "Helvetica Neue", "Arial Narrow", sans-serif;
16
- --font-body: "Inter Tight", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
17
- --font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;
18
-
19
- --space-3xs: 0.25rem;
20
- --space-2xs: 0.5rem;
21
- --space-xs: 0.75rem;
22
- --space-sm: 1rem;
23
- --space-md: 1.5rem;
24
- --space-lg: 2rem;
25
- --space-xl: 3rem;
26
- --space-2xl: 4.5rem;
27
- --space-3xl: 6.5rem;
28
- --space-4xl: 9rem;
29
-
30
- --measure-prose: 56ch;
31
- }
32
-
33
- * { box-sizing: border-box; }
34
- html, body { overflow-x: clip; }
35
-
36
- body {
37
- margin: 0;
38
- background: var(--color-paper);
39
- color: var(--color-ink);
40
- font-family: var(--font-body);
41
- font-size: 1.0625rem;
42
- line-height: 1.5;
43
- font-weight: 400;
44
- -webkit-font-smoothing: antialiased;
45
- }
46
-
47
- .page {
48
- max-width: 80rem;
49
- margin: 0 auto;
50
- padding: 0;
51
- }
52
-
53
- /* Masthead */
54
- .masthead {
55
- display: flex;
56
- justify-content: space-between;
57
- align-items: center;
58
- padding: var(--space-md) var(--space-lg);
59
- border-block-end: 1px solid var(--color-rule);
60
- font-family: var(--font-mono);
61
- font-size: 0.75rem;
62
- text-transform: uppercase;
63
- letter-spacing: 0.12em;
64
- color: var(--color-ink-soft);
65
- }
66
-
67
- .masthead__brand { color: var(--color-ink); font-weight: 500; }
68
- .masthead__brand strong {
69
- color: var(--color-accent);
70
- font-weight: 500;
71
- }
72
- .masthead__meta { font-variant-numeric: tabular-nums; }
73
-
74
- /* Hero — pull-quote */
75
- .hero {
76
- padding: var(--space-4xl) var(--space-lg) var(--space-2xl);
77
- border-block-end: 4px solid var(--color-accent);
78
- }
79
-
80
- .quote {
81
- margin: 0;
82
- font-family: var(--font-display);
83
- font-size: clamp(3rem, 9vw, 7.5rem);
84
- font-weight: 700;
85
- line-height: 0.95;
86
- letter-spacing: -0.01em;
87
- text-transform: uppercase;
88
- color: var(--color-ink);
89
- max-width: 24ch;
90
- }
91
-
92
- .quote__strike {
93
- position: relative;
94
- display: inline-block;
95
- color: var(--color-ink);
96
- }
97
-
98
- .quote__strike::after {
99
- content: "";
100
- position: absolute;
101
- inset-inline: -0.05em;
102
- inset-block-start: 50%;
103
- height: 0.18em;
104
- background: var(--color-accent);
105
- transform: translateY(-30%) rotate(-2deg);
106
- }
107
-
108
- .quote__attr {
109
- display: block;
110
- font-family: var(--font-mono);
111
- font-size: 0.875rem;
112
- font-weight: 400;
113
- line-height: 1.4;
114
- letter-spacing: 0.1em;
115
- text-transform: uppercase;
116
- color: var(--color-ink-soft);
117
- margin-block-start: var(--space-xl);
118
- }
119
-
120
- .quote__attr strong {
121
- color: var(--color-ink);
122
- font-weight: 500;
123
- }
124
-
125
- /* Principles section */
126
- .principles {
127
- padding: var(--space-3xl) var(--space-lg);
128
- border-block-end: 1px solid var(--color-rule);
129
- }
130
-
131
- .principles__head {
132
- font-family: var(--font-mono);
133
- font-size: 0.75rem;
134
- letter-spacing: 0.16em;
135
- text-transform: uppercase;
136
- color: var(--color-ink-soft);
137
- margin: 0 0 var(--space-2xl);
138
- }
139
-
140
- .principles__list {
141
- display: grid;
142
- grid-template-columns: repeat(2, 1fr);
143
- gap: var(--space-2xl) var(--space-xl);
144
- list-style: none;
145
- padding: 0;
146
- margin: 0;
147
- }
148
-
149
- .principle {
150
- border-block-start: 1px solid var(--color-rule);
151
- padding-block-start: var(--space-md);
152
- }
153
-
154
- .principle__num {
155
- font-family: var(--font-mono);
156
- font-size: 0.75rem;
157
- letter-spacing: 0.16em;
158
- color: var(--color-accent);
159
- display: block;
160
- margin-block-end: var(--space-sm);
161
- }
162
-
163
- .principle__head {
164
- font-family: var(--font-display);
165
- font-size: clamp(1.75rem, 3vw, 2.5rem);
166
- font-weight: 700;
167
- letter-spacing: -0.005em;
168
- text-transform: uppercase;
169
- line-height: 0.95;
170
- margin: 0 0 var(--space-md);
171
- color: var(--color-ink);
172
- }
173
-
174
- .principle__body {
175
- font-family: var(--font-body);
176
- font-size: 1rem;
177
- line-height: 1.6;
178
- color: var(--color-ink-soft);
179
- max-width: var(--measure-prose);
180
- margin: 0;
181
- }
182
-
183
- .principle__body strong { color: var(--color-ink); font-weight: 500; }
184
-
185
- /* Working rules — terse list */
186
- .rules {
187
- padding: var(--space-2xl) var(--space-lg);
188
- background: var(--color-paper-2);
189
- border-block-end: 1px solid var(--color-rule);
190
- }
191
-
192
- .rules__head {
193
- font-family: var(--font-mono);
194
- font-size: 0.75rem;
195
- letter-spacing: 0.16em;
196
- text-transform: uppercase;
197
- color: var(--color-ink-soft);
198
- margin: 0 0 var(--space-lg);
199
- }
200
-
201
- .rules__list {
202
- display: grid;
203
- gap: 0;
204
- list-style: none;
205
- padding: 0;
206
- margin: 0;
207
- }
208
-
209
- .rules__item {
210
- display: grid;
211
- grid-template-columns: 4ch 1fr;
212
- gap: var(--space-md);
213
- padding: var(--space-md) 0;
214
- border-block-end: 1px solid var(--color-rule);
215
- font-family: var(--font-body);
216
- font-size: 1.0625rem;
217
- line-height: 1.4;
218
- color: var(--color-ink);
219
- }
220
-
221
- .rules__item:last-child { border-block-end: none; }
222
-
223
- .rules__num {
224
- font-family: var(--font-mono);
225
- font-size: 0.875rem;
226
- letter-spacing: 0.06em;
227
- color: var(--color-accent);
228
- }
229
-
230
- /* Colophon */
231
- .colophon {
232
- padding: var(--space-md) var(--space-lg);
233
- display: flex;
234
- justify-content: space-between;
235
- flex-wrap: wrap;
236
- gap: var(--space-sm);
237
- font-family: var(--font-mono);
238
- font-size: 0.75rem;
239
- letter-spacing: 0.12em;
240
- text-transform: uppercase;
241
- color: var(--color-ink-soft);
242
- }
243
-
244
- .colophon a {
245
- color: var(--color-ink-soft);
246
- text-decoration: none;
247
- transition: color 100ms ease;
248
- }
249
-
250
- .colophon a:hover, .colophon a:focus-visible {
251
- color: var(--color-accent);
252
- }
253
-
254
- .colophon a:focus-visible {
255
- outline: 2px solid var(--color-accent);
256
- outline-offset: 3px;
257
- }
258
-
259
- @media (max-width: 48rem) {
260
- .principles__list { grid-template-columns: 1fr; }
261
- .hero { padding: var(--space-2xl) var(--space-lg); }
262
- }
@@ -1,63 +0,0 @@
1
- # Test 05 v2 — Tracejam (SaaS observability)
2
-
3
- ## The prompt (verbatim, same as v1)
4
-
5
- > "Build a landing page for Tracejam — a tracing/observability tool for distributed systems. Audience: SREs and platform engineers. Use case: try it / contact sales. Tone: technical."
6
-
7
- ## Step 0 · Pre-flight
8
-
9
- > *"No pre-flight signals — proceeding with full Hallmark stack."*
10
-
11
- ## Step 1 · Design-context gate — fully answered
12
-
13
- Audience, use, tone all explicit.
14
-
15
- ## Step 2.5 · Project memory rotation
16
-
17
- > *"Previous run on this brief picked Bento Grid + Pastel + Tier-A flame chart. Picking from {Workbench, Stat-Led, Long Document} for the macro this time — Workbench wins because the brief says 'try it' and Workbench is structured to walk an SRE through a single workflow rather than show six surfaces in a tile grid."*
18
- >
19
- > *"Theme rotation: Pastel (light · geometric-sans · cool-indigo) → Midnight (dark · geometric-sans · phosphor-cyan). Differs on paper band (light → dark) and accent hue (indigo → phosphor-cyan). Two of three axes differ. Passes."*
20
-
21
- ## Step 3 · Visual ruleset loaded
22
-
23
- `macrostructures.md` (Workbench), `component-cookbook.md` (F2 sticky-scroll, H1 left-bias hero, code-card archetype), `typography.md` (Midnight pairing — Geist Mono display + Geist body), `color.md` (Midnight palette — dark cool greys), `microinteractions.md` (active-step highlight via `IntersectionObserver`, copy-to-clipboard on code lines, focus-visible rings), `anti-patterns.md`.
24
-
25
- ## Step 4 · Hero enrichment
26
-
27
- > *"Enrichment: Tier-A pure-CSS pinned dashboard panel — a hand-built waterfall trace rendered as flex bars. Different from v1's clipped-edge browser frame: this one sits in the right column, pinned during scroll, swapping its content as the user scrolls past each step. Same Tier-A custom-craft, different layout role."*
28
-
29
- ## Step 5 · Preview
30
-
31
- ```markdown
32
- **Hallmark · v0.6.0**
33
-
34
- - **Macrostructure** · Workbench
35
- - **Theme** · Midnight (dark cool paper · Geist Mono display · phosphor-cyan accent ~3%)
36
- - **Enrichment** · Tier-A pure-CSS sticky dashboard panel (3-state, swaps on scroll)
37
- - **Sections** · Masthead · Hero · Sticky-walkthrough (3 steps × pinned panel) · Integrations · Pricing · Colophon
38
- - **Motion** · sticky-step active highlight · copy-to-clipboard on code (2 primitives)
39
- - **Slop test** · 38 / 38 ✓
40
- - **Diversification** · differs from v1 (Bento Grid/Pastel) on macrostructure + paper band + accent hue
41
- ```
42
-
43
- ## Step 6 · Macrostructure stamp
44
-
45
- ```
46
- /* Hallmark · macrostructure: Workbench · F2 sticky-scroll knobs: pinned=right, content=trace-panel, steps=3
47
- * theme: Midnight · accent: phosphor-cyan ~3% · enrichment: tier-A CSS-art trace panel (sticky-pinned, 3-state)
48
- * studied: no · context: explicit · v0.6.0
49
- */
50
- ```
51
-
52
- ## What changed vs v1
53
-
54
- - **Macro:** Bento Grid → Workbench. v1 split Tracejam into six asymmetric tiles (stat / sparkline / quote / code / integrations / spotlight); v2 walks the user through three SRE-shaped steps, each pinned alongside a swapping dashboard panel.
55
- - **Theme:** Pastel → Midnight. v1's light-cool paper with indigo accent becomes dark cool paper with phosphor-cyan. The dashboard mockup reads more credible on dark surface for a tracing tool.
56
- - **Enrichment:** v1's right-clipped browser frame becomes a sticky 3-state panel that updates as the user scrolls past each step. Same hand-built CSS-art content; different layout role.
57
- - **Pricing:** v1 had no pricing on the page; v2 adds a 3-tier table (Free / Team / Scale) — Workbench can carry it without becoming a Bento.
58
-
59
- ## What stayed the same
60
-
61
- - Brand: Tracejam, distributed tracing, SRE audience.
62
- - Tier-A custom-craft (no Lottie, no real video).
63
- - Slop test: 38 / 38 ✓.
@@ -1,167 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <title>Tracejam — distributed tracing that explains itself</title>
7
- <meta name="description" content="Open the trace, find the span that regressed, and read why — in plain text — without a glossary, a YAML diff, or a status-page hunt." />
8
- <link rel="preconnect" href="https://fonts.googleapis.com" />
9
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
10
- <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500&family=Geist:wght@400;500;600&display=swap" />
11
- <link rel="stylesheet" href="style.css" />
12
- </head>
13
- <body>
14
- <main class="page">
15
- <header class="masthead">
16
- <span class="masthead__brand"><span class="dot"></span>tracejam · v0.4</span>
17
- <nav class="masthead__nav">
18
- <a href="#walkthrough">Walkthrough</a>
19
- <a href="#integrations">Integrations</a>
20
- <a href="#pricing">Pricing</a>
21
- <a href="#">Docs</a>
22
- </nav>
23
- </header>
24
-
25
- <section class="hero">
26
- <div class="hero__copy">
27
- <p class="hero__eyebrow">For SREs &amp; platform engineers</p>
28
- <h1 class="hero__head">Distributed tracing that <em>explains itself.</em></h1>
29
- <p class="hero__sub">
30
- Open the trace. Find the span that regressed. Read why — in plain text — without a glossary,
31
- a YAML diff, or a status-page hunt. The post-mortem starts in the trace, not in a doc.
32
- </p>
33
- <div class="hero__cta">
34
- <a class="btn btn--primary" href="#">Try it free <span aria-hidden="true">→</span></a>
35
- <a class="btn" href="#">Talk to sales</a>
36
- </div>
37
- </div>
38
- <aside class="hero__panel" aria-label="Sample trace preview">
39
- <div class="hero__panel-head"><span>trace · 9c3a72ef</span><span>4.21 s</span></div>
40
- <div class="trace">
41
- <div class="span"><span class="span__label">api.checkout</span><span class="span__bar" style="--w:100%"><style>.span__bar::after { width: var(--w); }</style></span><span class="span__time">4.21s</span></div>
42
- <div class="span"><span class="span__label">↳ auth.verify</span><span class="span__bar"><span style="position:absolute;inset:0;width:18%;background:var(--color-accent)"></span></span><span class="span__time">762ms</span></div>
43
- <div class="span span--err"><span class="span__label">↳ pricing.quote</span><span class="span__bar"><span style="position:absolute;inset:0;width:78%;background:var(--color-error)"></span></span><span class="span__time">3.28s</span></div>
44
- <div class="span span--warn"><span class="span__label">&nbsp;&nbsp;↳ rates.fx</span><span class="span__bar"><span style="position:absolute;inset:0;width:62%;background:var(--color-warn)"></span></span><span class="span__time">2.71s</span></div>
45
- <div class="span"><span class="span__label">↳ ledger.write</span><span class="span__bar"><span style="position:absolute;inset:0;width:6%;background:var(--color-accent)"></span></span><span class="span__time">240ms</span></div>
46
- </div>
47
- </aside>
48
- </section>
49
-
50
- <section class="workbench" id="walkthrough">
51
- <div class="steps">
52
- <article class="step">
53
- <p class="step__num">step 01 · open</p>
54
- <h2 class="step__head">Open the trace, not a dashboard.</h2>
55
- <p class="step__body">
56
- Drop a trace ID, a request URL, or a five-second time window. Tracejam pulls the spans
57
- from your collector and renders them inline — no dashboard hop, no link to Grafana,
58
- no separate logs window. The trace is the unit of work.
59
- </p>
60
- <div class="step__code"><span class="c"># by trace id</span><br/><span class="k">$</span> tracejam open 9c3a72ef</div>
61
- </article>
62
-
63
- <article class="step">
64
- <p class="step__num">step 02 · find</p>
65
- <h2 class="step__head">Find the regressed span.</h2>
66
- <p class="step__body">
67
- Tracejam ranks spans by <strong>p99 deviation against your service's seven-day baseline</strong>.
68
- The first one in the list is almost always the problem. No filters to set; the baseline
69
- is precomputed every five minutes per service.
70
- </p>
71
- <div class="step__code"><span class="c"># top 3 regressed spans this hour</span><br/><span class="k">$</span> tracejam top --window 1h</div>
72
- </article>
73
-
74
- <article class="step">
75
- <p class="step__num">step 03 · read</p>
76
- <h2 class="step__head">Read why, in plain text.</h2>
77
- <p class="step__body">
78
- Each span carries an <strong>auto-generated explainer</strong>: which dependency
79
- regressed, which version of which service, which deploy correlates, the last clean run,
80
- and the diff between then and now. Plain text, copy-paste ready into a post-mortem.
81
- </p>
82
- <div class="step__code"><span class="c"># dump the explainer</span><br/><span class="k">$</span> tracejam why <span class="s">"pricing.quote"</span></div>
83
- </article>
84
- </div>
85
-
86
- <aside class="pinned" aria-label="Pinned trace panel">
87
- <header class="pinned__head">
88
- <span>trace · 9c3a72ef</span>
89
- <span class="pinned__chip">REGRESSED</span>
90
- </header>
91
- <div class="pinned__body">
92
- <div class="span"><span class="span__label">api.checkout</span><span class="span__bar"><span style="position:absolute;inset:0;width:100%;background:var(--color-accent)"></span></span><span class="span__time">4.21s</span></div>
93
- <div class="span"><span class="span__label">↳ auth.verify</span><span class="span__bar"><span style="position:absolute;inset:0;width:18%;background:var(--color-accent)"></span></span><span class="span__time">762ms</span></div>
94
- <div class="span span--err"><span class="span__label">↳ pricing.quote</span><span class="span__bar"><span style="position:absolute;inset:0;width:78%;background:var(--color-error)"></span></span><span class="span__time">3.28s</span></div>
95
- <div class="span span--warn"><span class="span__label">&nbsp;&nbsp;↳ rates.fx</span><span class="span__bar"><span style="position:absolute;inset:0;width:62%;background:var(--color-warn)"></span></span><span class="span__time">2.71s</span></div>
96
- <div class="span"><span class="span__label">↳ ledger.write</span><span class="span__bar"><span style="position:absolute;inset:0;width:6%;background:var(--color-accent)"></span></span><span class="span__time">240ms</span></div>
97
- </div>
98
- <p class="pinned__why">
99
- <strong>WHY:</strong> rates.fx p99 doubled at 14:02 UTC. Correlates with deploy
100
- rates-svc@v1.34.2 — which lowered the FX cache TTL from 5 m to 30 s. Roll back, or raise
101
- TTL. Last clean run: 13:57 UTC (2.41 s end-to-end).
102
- </p>
103
- </aside>
104
- </section>
105
-
106
- <section class="integrations" id="integrations">
107
- <h2 class="integrations__head">Reads from</h2>
108
- <ul class="integrations__grid">
109
- <li>OpenTelemetry</li>
110
- <li>Jaeger</li>
111
- <li>Zipkin</li>
112
- <li>AWS X-Ray</li>
113
- <li>Tempo</li>
114
- <li>Datadog APM</li>
115
- <li>Honeycomb</li>
116
- <li>New Relic</li>
117
- </ul>
118
- </section>
119
-
120
- <section class="pricing" id="pricing">
121
- <h2 class="pricing__head">Pricing</h2>
122
- <div class="tiers">
123
- <article class="tier">
124
- <h3 class="tier__name">Free</h3>
125
- <p class="tier__price">$0 <span class="per">forever</span></p>
126
- <ul class="tier__list">
127
- <li>50 GB trace ingest / month</li>
128
- <li>7-day retention</li>
129
- <li>Single project</li>
130
- <li>Community Slack</li>
131
- </ul>
132
- <a class="btn" href="#">Start free</a>
133
- </article>
134
- <article class="tier tier--feature">
135
- <h3 class="tier__name">Team</h3>
136
- <p class="tier__price">$799 <span class="per">/ month</span></p>
137
- <ul class="tier__list">
138
- <li>500 GB ingest / month</li>
139
- <li>30-day retention</li>
140
- <li>Unlimited projects</li>
141
- <li>Auto-explainers</li>
142
- <li>SLO alerting</li>
143
- </ul>
144
- <a class="btn btn--primary" href="#">14-day trial</a>
145
- </article>
146
- <article class="tier">
147
- <h3 class="tier__name">Scale</h3>
148
- <p class="tier__price">Custom</p>
149
- <ul class="tier__list">
150
- <li>Custom ingest</li>
151
- <li>365-day retention</li>
152
- <li>SOC2 / ISO27001</li>
153
- <li>Dedicated infra</li>
154
- <li>24/7 oncall</li>
155
- </ul>
156
- <a class="btn" href="#">Talk to sales</a>
157
- </article>
158
- </div>
159
- </section>
160
-
161
- <footer class="colophon">
162
- <span>Tracejam · v0.4 · made in Lisbon &amp; Berlin</span>
163
- <span><a href="#">docs</a> · <a href="#">changelog</a> · <a href="#">status</a> · <a href="#">github</a></span>
164
- </footer>
165
- </main>
166
- </body>
167
- </html>