@nurix/etna 0.19.41 → 0.19.43

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 (360) hide show
  1. package/bin/etna.js +14 -0
  2. package/data/harness-index.json +5 -1
  3. package/data/harnesses/apollo/.prettierignore +29 -0
  4. package/data/harnesses/apollo/.prettierrc.json +3 -0
  5. package/data/harnesses/apollo/.vscode/settings.json +19 -0
  6. package/data/harnesses/apollo/CLAUDE.md +162 -0
  7. package/data/harnesses/apollo/agents/brainstorm.md +144 -0
  8. package/data/harnesses/apollo/agents/change-review.md +251 -0
  9. package/data/harnesses/apollo/agents/lld-mode.md +56 -0
  10. package/data/harnesses/apollo/agents/maintenance.md +229 -0
  11. package/data/harnesses/apollo/agents/performance-review.md +223 -0
  12. package/data/harnesses/apollo/agents/retro.md +46 -0
  13. package/data/harnesses/apollo/codex/agents/brainstorm.toml +142 -0
  14. package/data/harnesses/apollo/codex/agents/change-review.toml +249 -0
  15. package/data/harnesses/apollo/codex/agents/lld-mode.toml +52 -0
  16. package/data/harnesses/apollo/codex/agents/maintenance.toml +228 -0
  17. package/data/harnesses/apollo/codex/agents/performance-review.toml +222 -0
  18. package/data/harnesses/apollo/codex/agents/retro.toml +45 -0
  19. package/data/harnesses/apollo/docs/README.md +28 -0
  20. package/data/harnesses/apollo/docs/history/CHANGELOG.md +26 -0
  21. package/data/harnesses/apollo/docs/history/backlog.md +19 -0
  22. package/data/harnesses/apollo/docs/memory/main.md +15 -0
  23. package/data/harnesses/apollo/docs/structure.md +54 -0
  24. package/data/harnesses/apollo/harness.json +18 -0
  25. package/data/harnesses/apollo/hooks/generate-ownership-index.mjs +148 -0
  26. package/data/harnesses/apollo/hooks/hooks.json +16 -0
  27. package/data/harnesses/apollo/rules/changelog.md +19 -0
  28. package/data/harnesses/apollo/rules/database.md +123 -0
  29. package/data/harnesses/apollo/rules/express.md +33 -0
  30. package/data/harnesses/apollo/rules/frontend.md +32 -0
  31. package/data/harnesses/apollo/rules/general.md +62 -0
  32. package/data/harnesses/apollo/rules/nomenclature.md +34 -0
  33. package/data/harnesses/apollo/rules/pnpm.md +57 -0
  34. package/data/harnesses/apollo/rules/testing.md +23 -0
  35. package/data/harnesses/apollo/rules/verification.md +67 -0
  36. package/data/harnesses/apollo/skills/boundary/SKILL.md +69 -0
  37. package/data/harnesses/apollo/skills/boundary/references/index.md +16 -0
  38. package/data/harnesses/apollo/skills/boundary/references/mechanisms.md +99 -0
  39. package/data/harnesses/apollo/skills/boundary/references/packs/async-messaging.md +81 -0
  40. package/data/harnesses/apollo/skills/boundary/references/packs/auth.md +93 -0
  41. package/data/harnesses/apollo/skills/boundary/references/packs/build-config-runtime.md +93 -0
  42. package/data/harnesses/apollo/skills/boundary/references/packs/cloudflare.md +93 -0
  43. package/data/harnesses/apollo/skills/boundary/references/packs/frontend.md +93 -0
  44. package/data/harnesses/apollo/skills/boundary/references/packs/generic-tail.md +55 -0
  45. package/data/harnesses/apollo/skills/boundary/references/packs/persistence.md +93 -0
  46. package/data/harnesses/apollo/skills/boundary/references/packs/wire-api.md +87 -0
  47. package/data/harnesses/apollo/skills/brainstorm/README.md +56 -0
  48. package/data/harnesses/apollo/skills/brainstorm/SKILL.md +173 -0
  49. package/data/harnesses/apollo/skills/brainstorm/references/doctrine.md +98 -0
  50. package/data/harnesses/apollo/skills/brainstorm/references/harvest.md +86 -0
  51. package/data/harnesses/apollo/skills/brainstorm/references/session-schema.md +186 -0
  52. package/data/harnesses/apollo/skills/brainstorm/scripts/detector.mjs +460 -0
  53. package/data/harnesses/apollo/skills/design/SKILL.md +100 -0
  54. package/data/harnesses/apollo/skills/design/components/charts.md +76 -0
  55. package/data/harnesses/apollo/skills/design/components/collections.md +132 -0
  56. package/data/harnesses/apollo/skills/design/components/feedback.md +47 -0
  57. package/data/harnesses/apollo/skills/design/components/hooks.md +35 -0
  58. package/data/harnesses/apollo/skills/design/components/index.md +143 -0
  59. package/data/harnesses/apollo/skills/design/components/inputs.md +327 -0
  60. package/data/harnesses/apollo/skills/design/components/layout.md +52 -0
  61. package/data/harnesses/apollo/skills/design/components/media.md +66 -0
  62. package/data/harnesses/apollo/skills/design/components/motion.md +82 -0
  63. package/data/harnesses/apollo/skills/design/components/navigation.md +29 -0
  64. package/data/harnesses/apollo/skills/design/components/overlays.md +72 -0
  65. package/data/harnesses/apollo/skills/design/components/setup.md +40 -0
  66. package/data/harnesses/apollo/skills/design/components/typography.md +46 -0
  67. package/data/harnesses/apollo/skills/design/components/utils.md +37 -0
  68. package/data/harnesses/apollo/skills/design/data/blueprints/browse.md +38 -0
  69. package/data/harnesses/apollo/skills/design/data/blueprints/creation-flow.md +38 -0
  70. package/data/harnesses/apollo/skills/design/data/blueprints/dashboard.md +38 -0
  71. package/data/harnesses/apollo/skills/design/data/blueprints/grid.md +38 -0
  72. package/data/harnesses/apollo/skills/design/data/blueprints/queue.md +38 -0
  73. package/data/harnesses/apollo/skills/design/data/blueprints/record-detail.md +38 -0
  74. package/data/harnesses/apollo/skills/design/data/blueprints/settings.md +38 -0
  75. package/data/harnesses/apollo/skills/design/data/chart-styling/Readme.md +33 -0
  76. package/data/harnesses/apollo/skills/design/data/chart-styling/carbon-accessible-alert-semantic.md +19 -0
  77. package/data/harnesses/apollo/skills/design/data/chart-styling/carbon-monochrome-sequential-trend.md +19 -0
  78. package/data/harnesses/apollo/skills/design/data/chart-styling/datadog-classic-six-aligned.md +19 -0
  79. package/data/harnesses/apollo/skills/design/data/chart-styling/datawrapper-tiered-gray-hierarchy.md +19 -0
  80. package/data/harnesses/apollo/skills/design/data/chart-styling/econ-red-rule-horizontal.md +19 -0
  81. package/data/harnesses/apollo/skills/design/data/chart-styling/financial-diverging-threshold-overlay.md +19 -0
  82. package/data/harnesses/apollo/skills/design/data/chart-styling/ft-vocabulary-ranked-muted.md +19 -0
  83. package/data/harnesses/apollo/skills/design/data/chart-styling/grafana-dark-threshold-bands.md +19 -0
  84. package/data/harnesses/apollo/skills/design/data/chart-styling/material-rounded-explicit-label.md +19 -0
  85. package/data/harnesses/apollo/skills/design/data/chart-styling/nyt-ghost-grid-direct-label.md +19 -0
  86. package/data/harnesses/apollo/skills/design/data/chart-styling/plot-currentcolor-inherit.md +19 -0
  87. package/data/harnesses/apollo/skills/design/data/chart-styling/saas-gradient-glow-area.md +19 -0
  88. package/data/harnesses/apollo/skills/design/data/chart-styling/shadcn-composable-css-vars.md +19 -0
  89. package/data/harnesses/apollo/skills/design/data/charts/census.csv +58 -0
  90. package/data/harnesses/apollo/skills/design/data/checklists/browse.md +21 -0
  91. package/data/harnesses/apollo/skills/design/data/checklists/creation-flow.md +20 -0
  92. package/data/harnesses/apollo/skills/design/data/checklists/dashboard.md +21 -0
  93. package/data/harnesses/apollo/skills/design/data/checklists/grid.md +21 -0
  94. package/data/harnesses/apollo/skills/design/data/checklists/queue.md +21 -0
  95. package/data/harnesses/apollo/skills/design/data/checklists/record-detail.md +21 -0
  96. package/data/harnesses/apollo/skills/design/data/checklists/settings.md +21 -0
  97. package/data/harnesses/apollo/skills/design/data/chrome/board-column.md +68 -0
  98. package/data/harnesses/apollo/skills/design/data/chrome/data-table.md +63 -0
  99. package/data/harnesses/apollo/skills/design/data/chrome/side-panel.md +60 -0
  100. package/data/harnesses/apollo/skills/design/data/chrome/sidebar.md +78 -0
  101. package/data/harnesses/apollo/skills/design/data/chrome/stat-cards.md +62 -0
  102. package/data/harnesses/apollo/skills/design/data/chrome/topbar.md +65 -0
  103. package/data/harnesses/apollo/skills/design/data/color/accent-presets.md +90 -0
  104. package/data/harnesses/apollo/skills/design/data/color/aesop-earth-mute.md +91 -0
  105. package/data/harnesses/apollo/skills/design/data/color/arc-peach-play.md +90 -0
  106. package/data/harnesses/apollo/skills/design/data/color/attio-hunter-teal.md +90 -0
  107. package/data/harnesses/apollo/skills/design/data/color/carbon-cyan-signal.md +90 -0
  108. package/data/harnesses/apollo/skills/design/data/color/clay-parchment.md +90 -0
  109. package/data/harnesses/apollo/skills/design/data/color/duolingo-feather.md +90 -0
  110. package/data/harnesses/apollo/skills/design/data/color/geist-mono-signal.md +90 -0
  111. package/data/harnesses/apollo/skills/design/data/color/linear-graphite-violet.md +90 -0
  112. package/data/harnesses/apollo/skills/design/data/color/mercury-onyx-cobalt.md +90 -0
  113. package/data/harnesses/apollo/skills/design/data/color/notion-paper-ink.md +90 -0
  114. package/data/harnesses/apollo/skills/design/data/color/radix-slate-iris.md +90 -0
  115. package/data/harnesses/apollo/skills/design/data/color/raycast-void-spectrum.md +90 -0
  116. package/data/harnesses/apollo/skills/design/data/color/spectrum-celery-fuchsia.md +90 -0
  117. package/data/harnesses/apollo/skills/design/data/color/stripe-blurple-ruby.md +90 -0
  118. package/data/harnesses/apollo/skills/design/data/color/superhuman-cod-picton.md +89 -0
  119. package/data/harnesses/apollo/skills/design/data/corpora/operations-review/companies.csv +15 -0
  120. package/data/harnesses/apollo/skills/design/data/corpora/operations-review/corpus.md +87 -0
  121. package/data/harnesses/apollo/skills/design/data/corpora/operations-review/people.csv +25 -0
  122. package/data/harnesses/apollo/skills/design/data/corpora/procurement-approvals/companies.csv +15 -0
  123. package/data/harnesses/apollo/skills/design/data/corpora/procurement-approvals/corpus.md +83 -0
  124. package/data/harnesses/apollo/skills/design/data/corpora/procurement-approvals/people.csv +25 -0
  125. package/data/harnesses/apollo/skills/design/data/corpora/revenue-analytics/companies.csv +15 -0
  126. package/data/harnesses/apollo/skills/design/data/corpora/revenue-analytics/corpus.md +89 -0
  127. package/data/harnesses/apollo/skills/design/data/corpora/revenue-analytics/people.csv +25 -0
  128. package/data/harnesses/apollo/skills/design/data/elevation/ant-design-directional-shadow.md +19 -0
  129. package/data/harnesses/apollo/skills/design/data/elevation/apple-liquid-glass-material.md +18 -0
  130. package/data/harnesses/apollo/skills/design/data/elevation/atlassian-surface-shadow-pairing.md +20 -0
  131. package/data/harnesses/apollo/skills/design/data/elevation/fluent-2-key-ambient-ramp.md +20 -0
  132. package/data/harnesses/apollo/skills/design/data/elevation/github-primer-sparing-shadow.md +19 -0
  133. package/data/harnesses/apollo/skills/design/data/elevation/ibm-carbon-layer-and-border.md +19 -0
  134. package/data/harnesses/apollo/skills/design/data/elevation/linear-dark-surface-ladder.md +17 -0
  135. package/data/harnesses/apollo/skills/design/data/elevation/material-2-key-ambient-dp-ramp.md +19 -0
  136. package/data/harnesses/apollo/skills/design/data/elevation/material-3-tonal-elevation.md +21 -0
  137. package/data/harnesses/apollo/skills/design/data/elevation/neobrutalist-hard-offset.md +19 -0
  138. package/data/harnesses/apollo/skills/design/data/elevation/neumorphic-soft-dual-shadow.md +18 -0
  139. package/data/harnesses/apollo/skills/design/data/elevation/notion-warm-minimal-hairline.md +17 -0
  140. package/data/harnesses/apollo/skills/design/data/elevation/polaris-elevation-inset-bevel.md +21 -0
  141. package/data/harnesses/apollo/skills/design/data/elevation/radix-themes-alpha-ring-scale.md +19 -0
  142. package/data/harnesses/apollo/skills/design/data/elevation/shadcn-neutral-derived-radius.md +19 -0
  143. package/data/harnesses/apollo/skills/design/data/elevation/stripe-brand-tinted-dual-shadow.md +18 -0
  144. package/data/harnesses/apollo/skills/design/data/elevation/tailwind-default-utility-scale.md +19 -0
  145. package/data/harnesses/apollo/skills/design/data/elevation/vercel-geist-shadow-as-border.md +20 -0
  146. package/data/harnesses/apollo/skills/design/data/gradients/amber-attention-fill.md +16 -0
  147. package/data/harnesses/apollo/skills/design/data/gradients/cloud-shadow-wash.md +16 -0
  148. package/data/harnesses/apollo/skills/design/data/gradients/confident-lavender-wash.md +16 -0
  149. package/data/harnesses/apollo/skills/design/data/gradients/ember-ship-flare.md +18 -0
  150. package/data/harnesses/apollo/skills/design/data/gradients/full-metal-wash.md +16 -0
  151. package/data/harnesses/apollo/skills/design/data/gradients/indigo-ruby-cta-band.md +18 -0
  152. package/data/harnesses/apollo/skills/design/data/gradients/linear-graphite-wash.md +18 -0
  153. package/data/harnesses/apollo/skills/design/data/gradients/marble-quartz-wash.md +16 -0
  154. package/data/harnesses/apollo/skills/design/data/gradients/midnight-aurora-panel.md +16 -0
  155. package/data/harnesses/apollo/skills/design/data/gradients/neutral-volume-fill.md +16 -0
  156. package/data/harnesses/apollo/skills/design/data/gradients/revenue-uptrend-fill.md +16 -0
  157. package/data/harnesses/apollo/skills/design/data/gradients/risk-decline-fill.md +16 -0
  158. package/data/harnesses/apollo/skills/design/data/gradients/signal-blue-develop.md +18 -0
  159. package/data/harnesses/apollo/skills/design/data/gradients/slate-mist-wash.md +16 -0
  160. package/data/harnesses/apollo/skills/design/data/gradients/stripe-atmosphere-mesh.md +18 -0
  161. package/data/harnesses/apollo/skills/design/data/gradients/teal-signal-accent.md +16 -0
  162. package/data/harnesses/apollo/skills/design/data/gradients/violet-magenta-promo.md +16 -0
  163. package/data/harnesses/apollo/skills/design/data/iconography.md +199 -0
  164. package/data/harnesses/apollo/skills/design/data/motion/accordion-expand.md +18 -0
  165. package/data/harnesses/apollo/skills/design/data/motion/destructive-hold-confirm.md +18 -0
  166. package/data/harnesses/apollo/skills/design/data/motion/drag-dismiss-momentum.md +18 -0
  167. package/data/harnesses/apollo/skills/design/data/motion/empty-state-arrive.md +18 -0
  168. package/data/harnesses/apollo/skills/design/data/motion/hover-lift.md +18 -0
  169. package/data/harnesses/apollo/skills/design/data/motion/modal-center-arrive.md +18 -0
  170. package/data/harnesses/apollo/skills/design/data/motion/number-ticker-roll.md +18 -0
  171. package/data/harnesses/apollo/skills/design/data/motion/onboarding-bounce.md +18 -0
  172. package/data/harnesses/apollo/skills/design/data/motion/panel-slide.md +18 -0
  173. package/data/harnesses/apollo/skills/design/data/motion/press-feedback.md +18 -0
  174. package/data/harnesses/apollo/skills/design/data/motion/progress-linear-loop.md +18 -0
  175. package/data/harnesses/apollo/skills/design/data/motion/route-crossfade.md +18 -0
  176. package/data/harnesses/apollo/skills/design/data/motion/rubber-band-overscroll.md +18 -0
  177. package/data/harnesses/apollo/skills/design/data/motion/skeleton-shimmer.md +18 -0
  178. package/data/harnesses/apollo/skills/design/data/motion/stagger-arrive.md +18 -0
  179. package/data/harnesses/apollo/skills/design/data/motion/toast-enter-stack.md +18 -0
  180. package/data/harnesses/apollo/skills/design/data/motion/tooltip-chain-instant.md +18 -0
  181. package/data/harnesses/apollo/skills/design/data/motion/trigger-anchored-reveal.md +18 -0
  182. package/data/harnesses/apollo/skills/design/data/tells.csv +34 -0
  183. package/data/harnesses/apollo/skills/design/data/typography/anton-work-sans.md +17 -0
  184. package/data/harnesses/apollo/skills/design/data/typography/archivo-black-archivo.md +17 -0
  185. package/data/harnesses/apollo/skills/design/data/typography/bitter-karla.md +17 -0
  186. package/data/harnesses/apollo/skills/design/data/typography/dm-serif-dm-sans.md +17 -0
  187. package/data/harnesses/apollo/skills/design/data/typography/fraunces-inter.md +17 -0
  188. package/data/harnesses/apollo/skills/design/data/typography/geist-geist-mono.md +17 -0
  189. package/data/harnesses/apollo/skills/design/data/typography/hubot-sans-mona-sans.md +17 -0
  190. package/data/harnesses/apollo/skills/design/data/typography/ibm-plex-sans-operator-single-family.md +17 -0
  191. package/data/harnesses/apollo/skills/design/data/typography/instrument-serif-instrument-sans.md +17 -0
  192. package/data/harnesses/apollo/skills/design/data/typography/inter-operator-single-family.md +17 -0
  193. package/data/harnesses/apollo/skills/design/data/typography/libre-baskerville-libre-franklin.md +17 -0
  194. package/data/harnesses/apollo/skills/design/data/typography/newsreader-inter.md +17 -0
  195. package/data/harnesses/apollo/skills/design/data/typography/playfair-display-source-sans.md +17 -0
  196. package/data/harnesses/apollo/skills/design/data/typography/public-sans-operator-single-family.md +17 -0
  197. package/data/harnesses/apollo/skills/design/data/typography/sohne-inter-fintech.md +17 -0
  198. package/data/harnesses/apollo/skills/design/data/typography/source-serif-source-sans.md +17 -0
  199. package/data/harnesses/apollo/skills/design/data/typography/space-grotesk-work-sans-space-mono.md +17 -0
  200. package/data/harnesses/apollo/skills/design/data/typography/spectral-manrope.md +17 -0
  201. package/data/harnesses/apollo/skills/design/data/voices/bright-collaborator.md +29 -0
  202. package/data/harnesses/apollo/skills/design/data/voices/direct-operator.md +29 -0
  203. package/data/harnesses/apollo/skills/design/data/voices/earnest-helper.md +29 -0
  204. package/data/harnesses/apollo/skills/design/data/voices/editorial-composed.md +29 -0
  205. package/data/harnesses/apollo/skills/design/data/voices/quiet-concierge.md +29 -0
  206. package/data/harnesses/apollo/skills/design/data/voices/warm-guide.md +29 -0
  207. package/data/harnesses/apollo/skills/design/design-md/SCHEMA.md +179 -0
  208. package/data/harnesses/apollo/skills/design/design-md/index.csv +67 -0
  209. package/data/harnesses/apollo/skills/design/design-md/library/airbnb.md +207 -0
  210. package/data/harnesses/apollo/skills/design/design-md/library/airtable.md +205 -0
  211. package/data/harnesses/apollo/skills/design/design-md/library/anthropic-claude.md +203 -0
  212. package/data/harnesses/apollo/skills/design/design-md/library/apple.md +206 -0
  213. package/data/harnesses/apollo/skills/design/design-md/library/binance.md +210 -0
  214. package/data/harnesses/apollo/skills/design/design-md/library/bmw.md +210 -0
  215. package/data/harnesses/apollo/skills/design/design-md/library/cal.md +209 -0
  216. package/data/harnesses/apollo/skills/design/design-md/library/clay.md +204 -0
  217. package/data/harnesses/apollo/skills/design/design-md/library/clickhouse.md +205 -0
  218. package/data/harnesses/apollo/skills/design/design-md/library/cohere.md +205 -0
  219. package/data/harnesses/apollo/skills/design/design-md/library/coinbase.md +198 -0
  220. package/data/harnesses/apollo/skills/design/design-md/library/composio.md +198 -0
  221. package/data/harnesses/apollo/skills/design/design-md/library/cursor.md +197 -0
  222. package/data/harnesses/apollo/skills/design/design-md/library/elevenlabs.md +199 -0
  223. package/data/harnesses/apollo/skills/design/design-md/library/expo.md +200 -0
  224. package/data/harnesses/apollo/skills/design/design-md/library/figma.md +199 -0
  225. package/data/harnesses/apollo/skills/design/design-md/library/framer.md +202 -0
  226. package/data/harnesses/apollo/skills/design/design-md/library/hashicorp.md +205 -0
  227. package/data/harnesses/apollo/skills/design/design-md/library/ibm.md +205 -0
  228. package/data/harnesses/apollo/skills/design/design-md/library/intercom.md +204 -0
  229. package/data/harnesses/apollo/skills/design/design-md/library/kraken.md +200 -0
  230. package/data/harnesses/apollo/skills/design/design-md/library/linear-app.md +198 -0
  231. package/data/harnesses/apollo/skills/design/design-md/library/lovable.md +199 -0
  232. package/data/harnesses/apollo/skills/design/design-md/library/meta.md +204 -0
  233. package/data/harnesses/apollo/skills/design/design-md/library/minimax.md +204 -0
  234. package/data/harnesses/apollo/skills/design/design-md/library/mintlify.md +210 -0
  235. package/data/harnesses/apollo/skills/design/design-md/library/miro.md +209 -0
  236. package/data/harnesses/apollo/skills/design/design-md/library/mistral-ai.md +201 -0
  237. package/data/harnesses/apollo/skills/design/design-md/library/mongodb.md +201 -0
  238. package/data/harnesses/apollo/skills/design/design-md/library/notion.md +204 -0
  239. package/data/harnesses/apollo/skills/design/design-md/library/nvidia.md +215 -0
  240. package/data/harnesses/apollo/skills/design/design-md/library/ollama.md +213 -0
  241. package/data/harnesses/apollo/skills/design/design-md/library/opencode-ai.md +216 -0
  242. package/data/harnesses/apollo/skills/design/design-md/library/posthog.md +218 -0
  243. package/data/harnesses/apollo/skills/design/design-md/library/raycast.md +214 -0
  244. package/data/harnesses/apollo/skills/design/design-md/library/replicate.md +202 -0
  245. package/data/harnesses/apollo/skills/design/design-md/library/resend.md +203 -0
  246. package/data/harnesses/apollo/skills/design/design-md/library/revolut.md +203 -0
  247. package/data/harnesses/apollo/skills/design/design-md/library/runwayml.md +203 -0
  248. package/data/harnesses/apollo/skills/design/design-md/library/sanity.md +200 -0
  249. package/data/harnesses/apollo/skills/design/design-md/library/sentry.md +201 -0
  250. package/data/harnesses/apollo/skills/design/design-md/library/shopify.md +202 -0
  251. package/data/harnesses/apollo/skills/design/design-md/library/slack.md +202 -0
  252. package/data/harnesses/apollo/skills/design/design-md/library/spacex.md +206 -0
  253. package/data/harnesses/apollo/skills/design/design-md/library/spotify.md +206 -0
  254. package/data/harnesses/apollo/skills/design/design-md/library/stripe.md +196 -0
  255. package/data/harnesses/apollo/skills/design/design-md/library/supabase.md +196 -0
  256. package/data/harnesses/apollo/skills/design/design-md/library/superhuman.md +194 -0
  257. package/data/harnesses/apollo/skills/design/design-md/library/tesla.md +198 -0
  258. package/data/harnesses/apollo/skills/design/design-md/library/theverge.md +199 -0
  259. package/data/harnesses/apollo/skills/design/design-md/library/together-ai.md +193 -0
  260. package/data/harnesses/apollo/skills/design/design-md/library/uber.md +195 -0
  261. package/data/harnesses/apollo/skills/design/design-md/library/vercel.md +195 -0
  262. package/data/harnesses/apollo/skills/design/design-md/library/voltagent.md +197 -0
  263. package/data/harnesses/apollo/skills/design/design-md/library/warp.md +196 -0
  264. package/data/harnesses/apollo/skills/design/design-md/library/webflow.md +197 -0
  265. package/data/harnesses/apollo/skills/design/design-md/library/wired.md +197 -0
  266. package/data/harnesses/apollo/skills/design/design-md/library/wise.md +198 -0
  267. package/data/harnesses/apollo/skills/design/design-md/library/x-ai.md +199 -0
  268. package/data/harnesses/apollo/skills/design/design-md/library/zapier.md +198 -0
  269. package/data/harnesses/apollo/skills/design/design-md/nurix.md +214 -0
  270. package/data/harnesses/apollo/skills/design/design-md/variants/editorial-luxury.md +184 -0
  271. package/data/harnesses/apollo/skills/design/design-md/variants/expressive-saas.md +216 -0
  272. package/data/harnesses/apollo/skills/design/design-md/variants/quiet-premium.md +211 -0
  273. package/data/harnesses/apollo/skills/design/design-md/variants/terse-dense-operator.md +212 -0
  274. package/data/harnesses/apollo/skills/design/design-md/variants/warm-approachable.md +216 -0
  275. package/data/harnesses/apollo/skills/design/references/compose.md +23 -0
  276. package/data/harnesses/apollo/skills/design/references/content.md +28 -0
  277. package/data/harnesses/apollo/skills/design/references/emission.md +21 -0
  278. package/data/harnesses/apollo/skills/design/references/existing-apps.md +27 -0
  279. package/data/harnesses/apollo/skills/design/references/intake.md +36 -0
  280. package/data/harnesses/apollo/skills/design/references/object-pass.md +24 -0
  281. package/data/harnesses/apollo/skills/design/references/ship-gate.md +29 -0
  282. package/data/harnesses/apollo/skills/design/references/ux-patterns/Readme.md +195 -0
  283. package/data/harnesses/apollo/skills/design/references/ux-patterns/ai-layer.md +49 -0
  284. package/data/harnesses/apollo/skills/design/references/ux-patterns/attributes-lifecycle.md +43 -0
  285. package/data/harnesses/apollo/skills/design/references/ux-patterns/container-choice.md +44 -0
  286. package/data/harnesses/apollo/skills/design/references/ux-patterns/creation-paths.md +46 -0
  287. package/data/harnesses/apollo/skills/design/references/ux-patterns/dashboards.md +42 -0
  288. package/data/harnesses/apollo/skills/design/references/ux-patterns/modes.md +42 -0
  289. package/data/harnesses/apollo/skills/design/references/ux-patterns/object-model.md +46 -0
  290. package/data/harnesses/apollo/skills/design/references/ux-patterns/page-archetype.md +48 -0
  291. package/data/harnesses/apollo/skills/design/references/ux-patterns/promotion-demotion.md +37 -0
  292. package/data/harnesses/apollo/skills/design/references/ux-patterns/settings.md +42 -0
  293. package/data/harnesses/apollo/skills/design/references/ux-patterns/standard-pages.md +46 -0
  294. package/data/harnesses/apollo/skills/design/references/ux-patterns/state-matrix.md +41 -0
  295. package/data/harnesses/apollo/skills/design/references/ux-patterns/table-mechanics.md +48 -0
  296. package/data/harnesses/apollo/skills/design/references/ux-patterns/verbs.md +45 -0
  297. package/data/harnesses/apollo/skills/design/references/ux-patterns/viewer-context.md +40 -0
  298. package/data/harnesses/apollo/skills/design/scripts/README-validator.md +27 -0
  299. package/data/harnesses/apollo/skills/design/scripts/select-chart.mjs +596 -0
  300. package/data/harnesses/apollo/skills/design/scripts/validate-design-md.mjs +1198 -0
  301. package/data/harnesses/apollo/skills/documentation/SKILL.md +132 -0
  302. package/data/harnesses/apollo/skills/documentation/references/examples.md +279 -0
  303. package/data/harnesses/apollo/skills/documentation/references/frontmatter.md +44 -0
  304. package/data/harnesses/apollo/skills/documentation/references/instruction-style.md +49 -0
  305. package/data/harnesses/apollo/skills/documentation/references/style-guide.md +351 -0
  306. package/data/harnesses/apollo/skills/documentation/references/untemplated.md +38 -0
  307. package/data/harnesses/apollo/skills/documentation/scripts/doc-lint.mjs +140 -0
  308. package/data/harnesses/apollo/skills/documentation/templates/Readme.md +32 -0
  309. package/data/harnesses/apollo/skills/documentation/templates/api-reference.md +20 -0
  310. package/data/harnesses/apollo/skills/documentation/templates/architecture-decision.md +121 -0
  311. package/data/harnesses/apollo/skills/documentation/templates/backlog.md +33 -0
  312. package/data/harnesses/apollo/skills/documentation/templates/behavioral-checklist.md +79 -0
  313. package/data/harnesses/apollo/skills/documentation/templates/changelog-entry.md +57 -0
  314. package/data/harnesses/apollo/skills/documentation/templates/changelog-index.md +41 -0
  315. package/data/harnesses/apollo/skills/documentation/templates/docs-readme.md +72 -0
  316. package/data/harnesses/apollo/skills/documentation/templates/domain-model.md +30 -0
  317. package/data/harnesses/apollo/skills/documentation/templates/environment-registry.md +15 -0
  318. package/data/harnesses/apollo/skills/documentation/templates/feature.md +149 -0
  319. package/data/harnesses/apollo/skills/documentation/templates/glossary.md +11 -0
  320. package/data/harnesses/apollo/skills/documentation/templates/memory-main.md +25 -0
  321. package/data/harnesses/apollo/skills/documentation/templates/migration-runbook.md +34 -0
  322. package/data/harnesses/apollo/skills/documentation/templates/non-goals.md +11 -0
  323. package/data/harnesses/apollo/skills/documentation/templates/operations-procedure.md +36 -0
  324. package/data/harnesses/apollo/skills/documentation/templates/plan.md +71 -0
  325. package/data/harnesses/apollo/skills/documentation/templates/protected-files.md +37 -0
  326. package/data/harnesses/apollo/skills/documentation/templates/root-readme.md +104 -0
  327. package/data/harnesses/apollo/skills/documentation/templates/security-overview.md +27 -0
  328. package/data/harnesses/apollo/skills/documentation/templates/structure.md +65 -0
  329. package/data/harnesses/apollo/skills/documentation/templates/system-overview.md +32 -0
  330. package/data/harnesses/apollo/skills/documentation/templates/testing-strategy.md +29 -0
  331. package/data/harnesses/apollo/skills/test-plan/SKILL.md +83 -0
  332. package/data/harnesses/apollo/skills/workflow-mapper/SKILL.md +451 -0
  333. package/data/harnesses/apollo/skills/workflow-mapper/references/patterns.md +214 -0
  334. package/data/harnesses/code/agents/maintenance.md +2 -2
  335. package/data/harnesses/code/codex/agents/maintenance.toml +2 -2
  336. package/data/harnesses/code/harness.json +3 -2
  337. package/data/harnesses/delivery/agents/maintenance.md +2 -2
  338. package/data/harnesses/delivery/codex/agents/maintenance.toml +2 -2
  339. package/data/harnesses/delivery/harness.json +3 -2
  340. package/data/harnesses/discover/codex/agents/api.toml +24 -0
  341. package/data/harnesses/discover/codex/agents/codebase.toml +24 -0
  342. package/data/harnesses/discover/codex/agents/community.toml +24 -0
  343. package/data/harnesses/discover/codex/agents/deployed-client-bundle.toml +24 -0
  344. package/data/harnesses/discover/codex/agents/distribution-artifacts.toml +24 -0
  345. package/data/harnesses/discover/codex/agents/docs.toml +27 -1
  346. package/data/harnesses/discover/codex/agents/infra-backend-fingerprint.toml +24 -0
  347. package/data/harnesses/discover/codex/agents/packages.toml +24 -0
  348. package/data/harnesses/discover/codex/agents/session.toml +40 -0
  349. package/data/harnesses/discover/codex/agents/website.toml +24 -0
  350. package/data/harnesses/discover/codex/agents/wire-capture.toml +40 -0
  351. package/data/harnesses/discover/harness.json +3 -2
  352. package/data/harnesses/discover/rules/calibration.md +219 -0
  353. package/data/harnesses/discover/rules/tooling.md +205 -0
  354. package/data/harnesses/discussion/harness.json +1 -0
  355. package/data/harnesses/etna/agents/maintenance.md +2 -2
  356. package/data/harnesses/etna/codex/agents/maintenance.toml +2 -2
  357. package/data/harnesses/etna/harness.json +3 -2
  358. package/data/harnesses/hr/harness.json +1 -0
  359. package/data/harnesses/kb-agi/harness.json +1 -0
  360. package/package.json +2 -2
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "harness": "code",
3
3
  "name": "code",
4
- "version": "3.5.8",
4
+ "version": "3.5.9",
5
5
  "files": [
6
6
  ".prettierignore",
7
7
  ".prettierrc.json",
8
8
  ".vscode/settings.json"
9
9
  ],
10
- "digest": "5dafd73481fb"
10
+ "seeds": [],
11
+ "digest": "b48a9de4fe22"
11
12
  }
@@ -27,7 +27,7 @@ Decide the mode once, up front, from the version marker — then run.
27
27
  2. Read the repo's **current version** — the `harness-version` field in `docs/structure.md` frontmatter (a semver).
28
28
  - **Absent** ⇒ the repo is unharnessed ⇒ **baseline mode** (reconcile from nothing), then audit.
29
29
  - **Behind on major** ⇒ **baseline mode** (reconcile across the gap), then audit.
30
- - **Behind on minor/patch** ⇒ **probe before deciding.** Run the Step B2 detection pass read-only: if any old-shape artifact in the fold table is present, **or** any **scaffolded file** in the target tree is missing (`docs/README.md`, `docs/structure.md`, `docs/history/CHANGELOG.md`, `docs/history/backlog.md`, `docs/memory/index.md`), the shape *did* change ⇒ **baseline mode**. Only when the probe finds nothing ⇒ re-stamp the version (no reshape), then audit.
30
+ - **Behind on minor/patch** ⇒ **probe before deciding.** Run the Step B2 detection pass read-only: if any old-shape artifact in the fold table is present, **or** any **scaffolded file** in the target tree is missing (`docs/README.md`, `docs/structure.md`, `docs/history/CHANGELOG.md`, `docs/history/backlog.md`, `docs/memory/main.md`), the shape *did* change ⇒ **baseline mode**. Only when the probe finds nothing ⇒ re-stamp the version (no reshape), then audit.
31
31
 
32
32
  > **Never probe on a missing folder.** Git does not track empty directories, so an unused folder is absent on every clone — reading that as drift puts the repo in baseline mode *forever* and contradicts this agent's own idempotency guarantee. Only the five scaffolded files above are shape signals; every folder in the target tree is created on first use.
33
33
  - **Equal to installed** ⇒ **audit only** (the default spine).
@@ -148,7 +148,7 @@ docs/
148
148
  │ ├── research/ # Deep-research records ({topic}/ — README.md synthesis + findings.md + sources.md); frozen, cited, owns no code
149
149
  │ └── backlog.md ✱ # Tracked work items by priority (P0-P3)
150
150
  ├── memory/
151
- │ └── index.md ✱ # plus main.md, {agent}.md — project knowledge + per-agent strategy memory
151
+ │ └── main.md ✱ # plus {agent}.md — project knowledge + per-agent strategy memory
152
152
  └── tests/ # Behavioral test checklists ({feature}.md, step → **Assert**), derived at plan Completion via the `documentation` skill; author-maintained
153
153
  ```
154
154
 
@@ -25,7 +25,7 @@ Decide the mode once, up front, from the version marker — then run.
25
25
  2. Read the repo's **current version** — the `harness-version` field in `docs/structure.md` frontmatter (a semver).
26
26
  - **Absent** ⇒ the repo is unharnessed ⇒ **baseline mode** (reconcile from nothing), then audit.
27
27
  - **Behind on major** ⇒ **baseline mode** (reconcile across the gap), then audit.
28
- - **Behind on minor/patch** ⇒ **probe before deciding.** Run the Step B2 detection pass read-only: if any old-shape artifact in the fold table is present, **or** any **scaffolded file** in the target tree is missing (`docs/README.md`, `docs/structure.md`, `docs/history/CHANGELOG.md`, `docs/history/backlog.md`, `docs/memory/index.md`), the shape *did* change ⇒ **baseline mode**. Only when the probe finds nothing ⇒ re-stamp the version (no reshape), then audit.
28
+ - **Behind on minor/patch** ⇒ **probe before deciding.** Run the Step B2 detection pass read-only: if any old-shape artifact in the fold table is present, **or** any **scaffolded file** in the target tree is missing (`docs/README.md`, `docs/structure.md`, `docs/history/CHANGELOG.md`, `docs/history/backlog.md`, `docs/memory/main.md`), the shape *did* change ⇒ **baseline mode**. Only when the probe finds nothing ⇒ re-stamp the version (no reshape), then audit.
29
29
 
30
30
  > **Never probe on a missing folder.** Git does not track empty directories, so an unused folder is absent on every clone — reading that as drift puts the repo in baseline mode *forever* and contradicts this agent's own idempotency guarantee. Only the five scaffolded files above are shape signals; every folder in the target tree is created on first use.
31
31
  - **Equal to installed** ⇒ **audit only** (the default spine).
@@ -146,7 +146,7 @@ docs/
146
146
  │ ├── research/ # Deep-research records ({topic}/ — README.md synthesis + findings.md + sources.md); frozen, cited, owns no code
147
147
  │ └── backlog.md ✱ # Tracked work items by priority (P0-P3)
148
148
  ├── memory/
149
- │ └── index.md ✱ # plus main.md, {agent}.md — project knowledge + per-agent strategy memory
149
+ │ └── main.md ✱ # plus {agent}.md — project knowledge + per-agent strategy memory
150
150
  └── tests/ # Behavioral test checklists ({feature}.md, step → **Assert**), derived at plan Completion via the `documentation` skill; author-maintained
151
151
  ```
152
152
 
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "harness": "delivery",
3
3
  "name": "delivery",
4
- "version": "0.1.4",
4
+ "version": "0.1.5",
5
5
  "files": [
6
6
  ".prettierignore",
7
7
  ".prettierrc.json",
8
8
  ".vscode/settings.json"
9
9
  ],
10
- "digest": "6fb95b8c81d5"
10
+ "seeds": [],
11
+ "digest": "ee08c0d0162a"
11
12
  }
@@ -30,4 +30,28 @@ You collect a target's documented machine interface into `research/<target>/dime
30
30
  A one-paragraph headline (the API surface in a sentence) + endpoint-family counts + the auth model. Flag overlap with the packages/docs dimensions (the published SDK often wraps this API) and especially any drift vs. the session dimension's _observed_ wire surface, for synthesis.
31
31
 
32
32
  **Discipline:** the spec is the load-bearing artifact — capture it accurately, digest if huge. Redact any embedded keys/example tokens. A disabled-introspection or undocumented API is a finding, recorded as an Open question, not a guess.
33
+
34
+ ---
35
+
36
+ ## Dump manifest (ingestion §5.3–5.4) — evidence before narrative
37
+
38
+ **MUST land in `raw/` as verbatim, redacted files before this dimension may be `status: complete`:**
39
+ the served spec **exactly as served** (`openapi.json` / SDL / introspection result) saved with `curl -o` — never a re-typed table; plus each probed endpoint's raw response body.
40
+
41
+ Three rules bind this, and they override any instinct to summarise:
42
+
43
+ 1. **If you cite it, dump it (§5.3).** Every value that reaches your `_summary.md` — a version, a path, a
44
+ count, a price, a field name — must be traceable to a file on disk. **The session is not a storage
45
+ medium:** a number you extracted from a response you did not save is unverifiable by the next run, and
46
+ the citation will outlive its evidence.
47
+ 2. **Digest IN ADDITION, never INSTEAD (§5.1).** `raw/` is the evidence layer and may be unreadable;
48
+ `_summary.md` is the narrative layer. A readable digest whose source artifact was never written is an
49
+ essay, not a capture.
50
+ 3. **Size is a routing problem (§5.2).** Never read a large artifact into context to save it — pipe it
51
+ straight to disk (`curl -o`, `| gzip >`, or the clipboard channel for in-page captures). If you must
52
+ bound an unbounded source, record the bound in `_meta.sampling`. Context budget is never a reason to
53
+ discard evidence.
54
+
55
+ **Self-check before returning:** count the verbatim files in `raw/`. Zero ⇒ the dimension is `partial`,
56
+ regardless of how good the prose is.
33
57
  '''
@@ -40,4 +40,28 @@ Return a **per-unit work-list** as a compact table so the main session can dispa
40
40
  Plus a one-paragraph headline of what the codebase reveals. The main session will dispatch readers that each write `raw/<unit>.md` (install/exports/key-files/architecture for that unit).
41
41
 
42
42
  **Discipline:** breadth over depth; digest large trees; never read or write secrets (scan `.env*`, config, fixtures for credentials and redact before quoting). An empty/over-large area is an Open question, not a guess.
43
+
44
+ ---
45
+
46
+ ## Dump manifest (ingestion §5.3–5.4) — evidence before narrative
47
+
48
+ **MUST land in `raw/` as verbatim, redacted files before this dimension may be `status: complete`:**
49
+ the resolved manifests (`package.json`, `pyproject.toml`, lockfile summaries) and the structure map — the clone in `source/<target>/` is itself the artifact.
50
+
51
+ Three rules bind this, and they override any instinct to summarise:
52
+
53
+ 1. **If you cite it, dump it (§5.3).** Every value that reaches your `_summary.md` — a version, a path, a
54
+ count, a price, a field name — must be traceable to a file on disk. **The session is not a storage
55
+ medium:** a number you extracted from a response you did not save is unverifiable by the next run, and
56
+ the citation will outlive its evidence.
57
+ 2. **Digest IN ADDITION, never INSTEAD (§5.1).** `raw/` is the evidence layer and may be unreadable;
58
+ `_summary.md` is the narrative layer. A readable digest whose source artifact was never written is an
59
+ essay, not a capture.
60
+ 3. **Size is a routing problem (§5.2).** Never read a large artifact into context to save it — pipe it
61
+ straight to disk (`curl -o`, `| gzip >`, or the clipboard channel for in-page captures). If you must
62
+ bound an unbounded source, record the bound in `_meta.sampling`. Context budget is never a reason to
63
+ discard evidence.
64
+
65
+ **Self-check before returning:** count the verbatim files in `raw/`. Zero ⇒ the dimension is `partial`,
66
+ regardless of how good the prose is.
43
67
  '''
@@ -28,4 +28,28 @@ You collect a target's living signal into `research/<target>/dimensions/communit
28
28
  A one-paragraph headline (where the product is heading + its biggest acknowledged gap) + the top 3–5 themes. This feeds the competitive-positioning and product-features rollups.
29
29
 
30
30
  **Discipline:** themes over threads; cite representative examples, don't dump feeds. Respect rate limits and TOS. Mark anything paywalled/private as an Open question.
31
+
32
+ ---
33
+
34
+ ## Dump manifest (ingestion §5.3–5.4) — evidence before narrative
35
+
36
+ **MUST land in `raw/` as verbatim, redacted files before this dimension may be `status: complete`:**
37
+ the changelog / issue / release payloads **as fetched** — JSON wherever an API exists (GitHub API, RSS, Featurebase/Canny), not only a themed digest.
38
+
39
+ Three rules bind this, and they override any instinct to summarise:
40
+
41
+ 1. **If you cite it, dump it (§5.3).** Every value that reaches your `_summary.md` — a version, a path, a
42
+ count, a price, a field name — must be traceable to a file on disk. **The session is not a storage
43
+ medium:** a number you extracted from a response you did not save is unverifiable by the next run, and
44
+ the citation will outlive its evidence.
45
+ 2. **Digest IN ADDITION, never INSTEAD (§5.1).** `raw/` is the evidence layer and may be unreadable;
46
+ `_summary.md` is the narrative layer. A readable digest whose source artifact was never written is an
47
+ essay, not a capture.
48
+ 3. **Size is a routing problem (§5.2).** Never read a large artifact into context to save it — pipe it
49
+ straight to disk (`curl -o`, `| gzip >`, or the clipboard channel for in-page captures). If you must
50
+ bound an unbounded source, record the bound in `_meta.sampling`. Context budget is never a reason to
51
+ discard evidence.
52
+
53
+ **Self-check before returning:** count the verbatim files in `raw/`. Zero ⇒ the dimension is `partial`,
54
+ regardless of how good the prose is.
31
55
  '''
@@ -50,4 +50,28 @@ Then Method / Findings (framework, build tool, route count, endpoint count — t
50
50
  Return a one-paragraph headline of what the deployed shell reveals — framework + build tool, route count, the shape of the API surface it calls, whether source maps were shipped (and the confidence that implies). **Cross-checks:** flag that `dimensions/_shared/api-path-catalog.md` and `dimensions/_shared/feature-flags.md` are the SHARED seam artifacts (§6, one physical file each) — `session`/`wire`/`distribution` append to the same files with `source: session | wire | distribution`, and evaluation owns the adaptive static-vs-observed diff. Surface any endpoint or flag that looks authed/internal but is statically declared in the unauth bundle — that gap is the dimension's highest-value output.
51
51
 
52
52
  **Discipline:** breadth over depth; digest large chunks, never paste them; check for a source map before string-mining (it upgrades confidence); REDACT every env value before any `raw/` write and log it in `_meta.redactions`; obey the seam rule — one canonical shared catalog name, never a private fork. An absent bundle, obfuscated route table, or missing source map is an Open question, not a guess.
53
+
54
+ ---
55
+
56
+ ## Dump manifest (ingestion §5.3–5.4) — evidence before narrative
57
+
58
+ **MUST land in `raw/` as verbatim, redacted files before this dimension may be `status: complete`:**
59
+ the entry bundle itself (`curl -o raw/bundle.js`, gzip is fine) and any `.map` — the route table, API-path catalog and flag extracts are written **in addition**, never instead.
60
+
61
+ Three rules bind this, and they override any instinct to summarise:
62
+
63
+ 1. **If you cite it, dump it (§5.3).** Every value that reaches your `_summary.md` — a version, a path, a
64
+ count, a price, a field name — must be traceable to a file on disk. **The session is not a storage
65
+ medium:** a number you extracted from a response you did not save is unverifiable by the next run, and
66
+ the citation will outlive its evidence.
67
+ 2. **Digest IN ADDITION, never INSTEAD (§5.1).** `raw/` is the evidence layer and may be unreadable;
68
+ `_summary.md` is the narrative layer. A readable digest whose source artifact was never written is an
69
+ essay, not a capture.
70
+ 3. **Size is a routing problem (§5.2).** Never read a large artifact into context to save it — pipe it
71
+ straight to disk (`curl -o`, `| gzip >`, or the clipboard channel for in-page captures). If you must
72
+ bound an unbounded source, record the bound in `_meta.sampling`. Context budget is never a reason to
73
+ discard evidence.
74
+
75
+ **Self-check before returning:** count the verbatim files in `raw/`. Zero ⇒ the dimension is `partial`,
76
+ regardless of how good the prose is.
53
77
  '''
@@ -55,4 +55,28 @@ Then write the per-type raw files that apply — `raw/{extension-manifest.md, el
55
55
  Return a **one-paragraph headline** of what the shipped client reveals — its declared hosts, permission surface, embedded vendor SDKs, and how much richer (or not) it is than the web app. The API paths and feature flags you appended feed the **seam rule (§6)**: your `dimensions/_shared/api-path-catalog.md` rows carry `source: distribution` so evaluation can run its adaptive diff against `deployed-client-bundle` (`source: bundle`), `session`, and `wire-capture`. The hosts and SDK list cross-check **infra-backend-fingerprint** (a host the binary calls that DNS/CT didn't surface is a finding); the runtime hosts also seed **wire-capture** targets (the binary says what it _might_ call; the capture says what it _does_).
56
56
 
57
57
  **Discipline:** EULA before extraction — restrictive license ⇒ Open question, never silent decompile. Manifests/strings only; no protected-logic reversing. Redact every embedded key before any `raw/` write (§7 rule 3). Digest large bundles (§5). A missing artifact type is a recorded gap, not a guess.
58
+
59
+ ---
60
+
61
+ ## Dump manifest (ingestion §5.3–5.4) — evidence before narrative
62
+
63
+ **MUST land in `raw/` as verbatim, redacted files before this dimension may be `status: complete`:**
64
+ the manifests verbatim (`manifest.json`, `Info.plist`, `AndroidManifest.xml`) and the extracted file listing.
65
+
66
+ Three rules bind this, and they override any instinct to summarise:
67
+
68
+ 1. **If you cite it, dump it (§5.3).** Every value that reaches your `_summary.md` — a version, a path, a
69
+ count, a price, a field name — must be traceable to a file on disk. **The session is not a storage
70
+ medium:** a number you extracted from a response you did not save is unverifiable by the next run, and
71
+ the citation will outlive its evidence.
72
+ 2. **Digest IN ADDITION, never INSTEAD (§5.1).** `raw/` is the evidence layer and may be unreadable;
73
+ `_summary.md` is the narrative layer. A readable digest whose source artifact was never written is an
74
+ essay, not a capture.
75
+ 3. **Size is a routing problem (§5.2).** Never read a large artifact into context to save it — pipe it
76
+ straight to disk (`curl -o`, `| gzip >`, or the clipboard channel for in-page captures). If you must
77
+ bound an unbounded source, record the bound in `_meta.sampling`. Context budget is never a reason to
78
+ discard evidence.
79
+
80
+ **Self-check before returning:** count the verbatim files in `raw/`. Zero ⇒ the dimension is `partial`,
81
+ regardless of how good the prose is.
58
82
  '''
@@ -32,5 +32,31 @@ You collect a target's docs into `research/<target>/dimensions/docs/`. Read `.cl
32
32
 
33
33
  A one-paragraph headline (the product's documented surface in a sentence) + the section list with page counts + anything that overlaps the api/packages dimensions (flag it so synthesis can cross-check).
34
34
 
35
- **Discipline:** distill, don't mirror. A 300-page docs site becomes a navigable map + the load-bearing content, not 300 verbatim files. Record paywalled/gated docs as Open questions.
35
+ **Discipline:** distill **in addition to**, never instead of. Save each captured page's source form under `raw/pages/` (md or html, as fetched) — that is the evidence layer — and build the navigable map + load-bearing content as the narrative layer beside it (ingestion §5.1). A distilled section whose source page was never saved is unverifiable by the next run (§5.3).
36
+
37
+ **Do not mirror the SITE:** A 300-page docs site becomes a navigable map + the load-bearing content, not 300 verbatim files. Record paywalled/gated docs as Open questions.
38
+
39
+ ---
40
+
41
+ ## Dump manifest (ingestion §5.3–5.4) — evidence before narrative
42
+
43
+ **MUST land in `raw/` as verbatim, redacted files before this dimension may be `status: complete`:**
44
+ each captured page's source form under `raw/pages/` (md or html, as fetched).
45
+
46
+ Three rules bind this, and they override any instinct to summarise:
47
+
48
+ 1. **If you cite it, dump it (§5.3).** Every value that reaches your `_summary.md` — a version, a path, a
49
+ count, a price, a field name — must be traceable to a file on disk. **The session is not a storage
50
+ medium:** a number you extracted from a response you did not save is unverifiable by the next run, and
51
+ the citation will outlive its evidence.
52
+ 2. **Digest IN ADDITION, never INSTEAD (§5.1).** `raw/` is the evidence layer and may be unreadable;
53
+ `_summary.md` is the narrative layer. A readable digest whose source artifact was never written is an
54
+ essay, not a capture.
55
+ 3. **Size is a routing problem (§5.2).** Never read a large artifact into context to save it — pipe it
56
+ straight to disk (`curl -o`, `| gzip >`, or the clipboard channel for in-page captures). If you must
57
+ bound an unbounded source, record the bound in `_meta.sampling`. Context budget is never a reason to
58
+ discard evidence.
59
+
60
+ **Self-check before returning:** count the verbatim files in `raw/`. Zero ⇒ the dimension is `partial`,
61
+ regardless of how good the prose is.
36
62
  '''
@@ -61,4 +61,28 @@ Return a **one-paragraph headline** of the reconstructed backend — origin clou
61
61
  **Discipline:** read-only public recon — never scan, brute-force, or hit a non-public host; respect crt.sh/WHOIS rate limits and back off; redact any credential-shaped value before writing (contract §7 rule 3 — DSNs, verification tokens, embedded keys surfaced in headers/TXT). An unresolvable host or a missing sub-processor page is an Open question, not a guess.
62
62
 
63
63
  **Verify an absence before asserting it (contract §7 rule 10).** Before reporting any host as **NXDOMAIN / absent** — especially `api.<target>` or any host a sibling dimension (bundle / session / wire) reports actually hitting — re-resolve via a **second resolver** (`dig @1.1.1.1 <host>`, `dig @8.8.8.8 <host>`) **and** a direct `curl -sI https://<host>`. An HTTP 4xx/5xx response means the host **resolves** → report it **present**, not absent. A single negative resolver result is recorded as _tentative_, never stated as fact and never used to instruct sibling dimensions. Likewise, an _inferred_ backend engine (e.g. "looks like Hasura/Supabase from the CNAME") is phrased as an inference and yields to a runtime-observing dimension (`session`/`deployed-client-bundle`) that names the engine directly.
64
+
65
+ ---
66
+
67
+ ## Dump manifest (ingestion §5.3–5.4) — evidence before narrative
68
+
69
+ **MUST land in `raw/` as verbatim, redacted files before this dimension may be `status: complete`:**
70
+ the raw `dig`, `crt.sh` and HTTP header responses as returned; the decoded table is the narrative layer beside them.
71
+
72
+ Three rules bind this, and they override any instinct to summarise:
73
+
74
+ 1. **If you cite it, dump it (§5.3).** Every value that reaches your `_summary.md` — a version, a path, a
75
+ count, a price, a field name — must be traceable to a file on disk. **The session is not a storage
76
+ medium:** a number you extracted from a response you did not save is unverifiable by the next run, and
77
+ the citation will outlive its evidence.
78
+ 2. **Digest IN ADDITION, never INSTEAD (§5.1).** `raw/` is the evidence layer and may be unreadable;
79
+ `_summary.md` is the narrative layer. A readable digest whose source artifact was never written is an
80
+ essay, not a capture.
81
+ 3. **Size is a routing problem (§5.2).** Never read a large artifact into context to save it — pipe it
82
+ straight to disk (`curl -o`, `| gzip >`, or the clipboard channel for in-page captures). If you must
83
+ bound an unbounded source, record the bound in `_meta.sampling`. Context budget is never a reason to
84
+ discard evidence.
85
+
86
+ **Self-check before returning:** count the verbatim files in `raw/`. Zero ⇒ the dimension is `partial`,
87
+ regardless of how good the prose is.
64
88
  '''
@@ -27,4 +27,28 @@ You collect a target's installable artifacts into `research/<target>/dimensions/
27
27
  A one-paragraph headline (the package family in a sentence) + the package table + which packages are the core public API (so synthesis can anchor the SDK surface). Flag overlap with the docs api-reference and the codebase dimensions for cross-check.
28
28
 
29
29
  **Discipline:** the exports map + type defs are the load-bearing artifact — prioritize them over download-count trivia. Digest huge `.d.ts` to signatures. Redact any registry tokens.
30
+
31
+ ---
32
+
33
+ ## Dump manifest (ingestion §5.3–5.4) — evidence before narrative
34
+
35
+ **MUST land in `raw/` as verbatim, redacted files before this dimension may be `status: complete`:**
36
+ per package: the registry metadata JSON (`npm view <pkg> --json > raw/<pkg>.registry.json`, PyPI `/pypi/<pkg>/json`) and the `.d.ts` / exports surface as fetched.
37
+
38
+ Three rules bind this, and they override any instinct to summarise:
39
+
40
+ 1. **If you cite it, dump it (§5.3).** Every value that reaches your `_summary.md` — a version, a path, a
41
+ count, a price, a field name — must be traceable to a file on disk. **The session is not a storage
42
+ medium:** a number you extracted from a response you did not save is unverifiable by the next run, and
43
+ the citation will outlive its evidence.
44
+ 2. **Digest IN ADDITION, never INSTEAD (§5.1).** `raw/` is the evidence layer and may be unreadable;
45
+ `_summary.md` is the narrative layer. A readable digest whose source artifact was never written is an
46
+ essay, not a capture.
47
+ 3. **Size is a routing problem (§5.2).** Never read a large artifact into context to save it — pipe it
48
+ straight to disk (`curl -o`, `| gzip >`, or the clipboard channel for in-page captures). If you must
49
+ bound an unbounded source, record the bound in `_meta.sampling`. Context budget is never a reason to
50
+ discard evidence.
51
+
52
+ **Self-check before returning:** count the verbatim files in `raw/`. Zero ⇒ the dimension is `partial`,
53
+ regardless of how good the prose is.
30
54
  '''
@@ -38,4 +38,44 @@ Under `research/<target>/dimensions/session/`:
38
38
  A one-paragraph headline (the auth model + transport + the single most load-bearing wire finding) + the phase coverage + which passes ran. Flag drift between the _observed_ wire surface and the _published_ api/packages surface — that drift is the highest-value synthesis input. If Pass 2 was needed but not authorized, list the open write-side questions; never fabricate request bodies.
39
39
 
40
40
  **Discipline:** ethics first, always. Redact before writing. Confirm before any state change. No destructive actions. No exfiltration. A gap is an Open question, never a guess.
41
+
42
+ ---
43
+
44
+ ## Dump manifest (ingestion §5.3–5.4) — evidence before narrative
45
+
46
+ **MUST land in `raw/` as verbatim, redacted files before this dimension may be `status: complete`:**
47
+ ≥3 verbatim envelopes as `raw/*.json` — the identity read, one canonical list read, and the primary write (request + response) — per ingestion §8.
48
+
49
+ Three rules bind this, and they override any instinct to summarise:
50
+
51
+ 1. **If you cite it, dump it (§5.3).** Every value that reaches your `_summary.md` — a version, a path, a
52
+ count, a price, a field name — must be traceable to a file on disk. **The session is not a storage
53
+ medium:** a number you extracted from a response you did not save is unverifiable by the next run, and
54
+ the citation will outlive its evidence.
55
+ 2. **Digest IN ADDITION, never INSTEAD (§5.1).** `raw/` is the evidence layer and may be unreadable;
56
+ `_summary.md` is the narrative layer. A readable digest whose source artifact was never written is an
57
+ essay, not a capture.
58
+ 3. **Size is a routing problem (§5.2).** Never read a large artifact into context to save it — pipe it
59
+ straight to disk (`curl -o`, `| gzip >`, or the clipboard channel for in-page captures). If you must
60
+ bound an unbounded source, record the bound in `_meta.sampling`. Context budget is never a reason to
61
+ discard evidence.
62
+
63
+ **Self-check before returning:** count the verbatim files in `raw/`. Zero ⇒ the dimension is `partial`,
64
+ regardless of how good the prose is.
65
+
66
+ ## Visual capture (ingestion §5.5) — screenshot generously
67
+
68
+ You drive a real browser, so you carry the visual-evidence obligation. **Capture continuously, not
69
+ one-image-per-surface:** every surface, plus every materially different state within it — empty vs
70
+ populated, modal/drawer open, dropdown expanded, error and validation states, permission/plan walls,
71
+ loading/in-flight, and the before/after pair around any authorized state change.
72
+
73
+ This is **not** scored — `screenshot_coverage` is a narrow Mode-5 floor. The beneficiary is the human
74
+ reading this corpus weeks later for a purpose nobody anticipated. The product's past state is the one thing
75
+ a later run genuinely cannot reproduce.
76
+
77
+ **Redact in the DOM before the shutter** (`tradecraft.md` §1c) — a leaked pixel is undetectable afterwards.
78
+ **Check the corners of the frame**, not just the content: support-chat widgets, toasts, presence avatars and
79
+ member lists routinely carry *another human's* name and message. Then look at the saved image, and record
80
+ `redacted: <what>` in `screens/_index.md` rather than a blanket zero-PII claim.
41
81
  '''
@@ -33,4 +33,28 @@ You collect a target's public-facing site into `research/<target>/dimensions/web
33
33
  A one-paragraph headline (the positioning in a sentence) + the pricing tiers + the headline feature claims. Flag claims that should be cross-checked against the codebase/docs (marketing often over-claims) so synthesis can reconcile.
34
34
 
35
35
  **Discipline:** quote positioning verbatim; capture pricing precisely (numbers + limits); separate _claims_ from verified capability — the reconciliation happens in synthesis. Respect robots.txt and rate limits; this is read-only public crawling, not scraping at scale.
36
+
37
+ ---
38
+
39
+ ## Dump manifest (ingestion §5.3–5.4) — evidence before narrative
40
+
41
+ **MUST land in `raw/` as verbatim, redacted files before this dimension may be `status: complete`:**
42
+ the raw HTML or extracted text per captured page, and the pricing table as structured data.
43
+
44
+ Three rules bind this, and they override any instinct to summarise:
45
+
46
+ 1. **If you cite it, dump it (§5.3).** Every value that reaches your `_summary.md` — a version, a path, a
47
+ count, a price, a field name — must be traceable to a file on disk. **The session is not a storage
48
+ medium:** a number you extracted from a response you did not save is unverifiable by the next run, and
49
+ the citation will outlive its evidence.
50
+ 2. **Digest IN ADDITION, never INSTEAD (§5.1).** `raw/` is the evidence layer and may be unreadable;
51
+ `_summary.md` is the narrative layer. A readable digest whose source artifact was never written is an
52
+ essay, not a capture.
53
+ 3. **Size is a routing problem (§5.2).** Never read a large artifact into context to save it — pipe it
54
+ straight to disk (`curl -o`, `| gzip >`, or the clipboard channel for in-page captures). If you must
55
+ bound an unbounded source, record the bound in `_meta.sampling`. Context budget is never a reason to
56
+ discard evidence.
57
+
58
+ **Self-check before returning:** count the verbatim files in `raw/`. Zero ⇒ the dimension is `partial`,
59
+ regardless of how good the prose is.
36
60
  '''
@@ -42,4 +42,44 @@ Then the captures + raw artifacts (per `discovery` Part C (wire-capture)):
42
42
  Return a **one-paragraph headline** of what the wire reveals — the real hosts contacted, the envelope/auth scheme, and the rung used (so the reader knows how much to trust it). Then a compact table of observed endpoints. **Flag the seam rule (§6):** every `api-path-catalog.md` row is `source: wire`, so evaluation can diff _actually-called_ (wire) against _statically-declared_ (`bundle` / `distribution-artifacts`) and _browser-observed_ (`session`) — a host or path the binary declares but the wire never hits is a finding, not noise; the inverse (called but undeclared) is a stronger one. If only rung 1 was authorized, say so and name what rungs 2/3 would unlock so the main session can request authorization.
43
43
 
44
44
  **Discipline:** lowest privilege first; never self-escalate the ladder; never install a CA or tap third-party traffic; never run Wireshark; redact every body before disk and log it in `_meta`. An unauthorized higher rung is an Open question, not an excuse to guess what the wire would show.
45
+
46
+ ---
47
+
48
+ ## Dump manifest (ingestion §5.3–5.4) — evidence before narrative
49
+
50
+ **MUST land in `raw/` as verbatim, redacted files before this dimension may be `status: complete`:**
51
+ the flow log itself (HAR or the tap's JSON export), not only the decoded narrative.
52
+
53
+ Three rules bind this, and they override any instinct to summarise:
54
+
55
+ 1. **If you cite it, dump it (§5.3).** Every value that reaches your `_summary.md` — a version, a path, a
56
+ count, a price, a field name — must be traceable to a file on disk. **The session is not a storage
57
+ medium:** a number you extracted from a response you did not save is unverifiable by the next run, and
58
+ the citation will outlive its evidence.
59
+ 2. **Digest IN ADDITION, never INSTEAD (§5.1).** `raw/` is the evidence layer and may be unreadable;
60
+ `_summary.md` is the narrative layer. A readable digest whose source artifact was never written is an
61
+ essay, not a capture.
62
+ 3. **Size is a routing problem (§5.2).** Never read a large artifact into context to save it — pipe it
63
+ straight to disk (`curl -o`, `| gzip >`, or the clipboard channel for in-page captures). If you must
64
+ bound an unbounded source, record the bound in `_meta.sampling`. Context budget is never a reason to
65
+ discard evidence.
66
+
67
+ **Self-check before returning:** count the verbatim files in `raw/`. Zero ⇒ the dimension is `partial`,
68
+ regardless of how good the prose is.
69
+
70
+ ## Visual capture (ingestion §5.5) — screenshot generously
71
+
72
+ You drive a real browser, so you carry the visual-evidence obligation. **Capture continuously, not
73
+ one-image-per-surface:** every surface, plus every materially different state within it — empty vs
74
+ populated, modal/drawer open, dropdown expanded, error and validation states, permission/plan walls,
75
+ loading/in-flight, and the before/after pair around any authorized state change.
76
+
77
+ This is **not** scored — `screenshot_coverage` is a narrow Mode-5 floor. The beneficiary is the human
78
+ reading this corpus weeks later for a purpose nobody anticipated. The product's past state is the one thing
79
+ a later run genuinely cannot reproduce.
80
+
81
+ **Redact in the DOM before the shutter** (`tradecraft.md` §1c) — a leaked pixel is undetectable afterwards.
82
+ **Check the corners of the frame**, not just the content: support-chat widgets, toasts, presence avatars and
83
+ member lists routinely carry *another human's* name and message. Then look at the saved image, and record
84
+ `redacted: <what>` in `screens/_index.md` rather than a blanket zero-PII claim.
45
85
  '''
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "harness": "discover",
3
3
  "name": "discover",
4
- "version": "0.1.13",
4
+ "version": "0.1.15",
5
5
  "files": [
6
6
  ".prettierignore",
7
7
  ".prettierrc.json",
8
8
  ".vscode/settings.json"
9
9
  ],
10
- "digest": "3272a670df3c"
10
+ "seeds": [],
11
+ "digest": "4ab9f67f0d67"
11
12
  }