@dzhechkov/keysarium 1.4.0 → 1.5.0

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 (79) hide show
  1. package/README.md +50 -3
  2. package/bin/cli.js +0 -0
  3. package/package.json +5 -3
  4. package/templates/.claude/commands/analyst-manual.md +38 -0
  5. package/templates/.claude/commands/casarium.md +55 -4
  6. package/templates/.claude/commands/feature-adr.md +8 -0
  7. package/templates/.claude/rules/trust-tiers.md +5 -0
  8. package/templates/.claude/shards/feature-adr.shard.md +64 -10
  9. package/templates/.claude/shards/phase-ai-factory.shard.md +109 -0
  10. package/templates/.claude/skills/ai-factory-mapper/README.md +90 -0
  11. package/templates/.claude/skills/ai-factory-mapper/SKILL.md +309 -0
  12. package/templates/.claude/skills/ai-factory-mapper/assets/report-template.md +123 -0
  13. package/templates/.claude/skills/ai-factory-mapper/references/catalog.md +230 -0
  14. package/templates/.claude/skills/ai-factory-mapper/references/coverage-formula.md +219 -0
  15. package/templates/.claude/skills/ai-factory-mapper/references/decomposition-checklist.md +183 -0
  16. package/templates/.claude/skills/ai-factory-mapper/references/pattern-library.md +312 -0
  17. package/templates/.claude/skills/ai-factory-mapper/scripts/build_docx_report.js +423 -0
  18. package/templates/.claude/skills/analyst-manual-full/SKILL.md +286 -0
  19. package/templates/.claude/skills/edu-site-generator/SKILL.md +254 -0
  20. package/templates/.claude/skills/edu-site-generator/examples/sample-course-structure.md +116 -0
  21. package/templates/.claude/skills/edu-site-generator/modules/00-content-analysis.md +84 -0
  22. package/templates/.claude/skills/edu-site-generator/modules/01-course-structure.md +75 -0
  23. package/templates/.claude/skills/edu-site-generator/modules/02-data-generation.md +186 -0
  24. package/templates/.claude/skills/edu-site-generator/modules/03-scaffold.md +249 -0
  25. package/templates/.claude/skills/edu-site-generator/modules/04-components.md +130 -0
  26. package/templates/.claude/skills/edu-site-generator/modules/05-gamification.md +163 -0
  27. package/templates/.claude/skills/edu-site-generator/modules/06-deploy.md +88 -0
  28. package/templates/.claude/skills/edu-site-generator/modules/07-verification.md +97 -0
  29. package/templates/.claude/skills/edu-site-generator/references/component-templates.md +436 -0
  30. package/templates/.claude/skills/edu-site-generator/references/data-schemas.md +164 -0
  31. package/templates/.claude/skills/edu-site-generator/references/exercise-catalog.md +110 -0
  32. package/templates/.claude/skills/edu-site-generator/references/tech-stack.md +69 -0
  33. package/templates/.claude/skills/feature-adr/SKILL.md +245 -59
  34. package/templates/.claude/skills/feature-adr/modules/03-adr.md +43 -0
  35. package/templates/.claude/skills/feature-adr/modules/03.5-ideation-swarm.md +180 -0
  36. package/templates/.claude/skills/feature-adr/modules/06-implementation-plan.md +56 -7
  37. package/templates/.claude/skills/feature-adr/modules/08-qe.md +87 -23
  38. package/templates/.claude/skills/feature-adr/modules/09-fleet-qe.md +305 -0
  39. package/templates/.claude/skills/feature-adr/references/agentic-qe/README.md +143 -0
  40. package/templates/.claude/skills/feature-adr/references/agentic-qe/brutal-honesty-review.md +240 -0
  41. package/templates/.claude/skills/feature-adr/references/agentic-qe/chaos-engineering-resilience.md +163 -0
  42. package/templates/.claude/skills/feature-adr/references/agentic-qe/code-goal-planner.md +446 -0
  43. package/templates/.claude/skills/feature-adr/references/agentic-qe/enterprise-integration-testing.md +111 -0
  44. package/templates/.claude/skills/feature-adr/references/agentic-qe/mutation-testing.md +236 -0
  45. package/templates/.claude/skills/feature-adr/references/agentic-qe/performance-testing.md +315 -0
  46. package/templates/.claude/skills/feature-adr/references/agentic-qe/qcsd-ideation-swarm.md +126 -0
  47. package/templates/.claude/skills/feature-adr/references/agentic-qe/qcsd-production-swarm.md +108 -0
  48. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-coverage-analysis.md +193 -0
  49. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-requirements-validation.md +254 -0
  50. package/templates/.claude/skills/feature-adr/references/agentic-qe/regression-testing.md +233 -0
  51. package/templates/.claude/skills/feature-adr/references/agentic-qe/risk-based-testing.md +212 -0
  52. package/templates/.claude/skills/feature-adr/references/agentic-qe/security-testing.md +311 -0
  53. package/templates/.claude/skills/feature-adr/references/agentic-qe/shift-left-testing.md +231 -0
  54. package/templates/.claude/skills/feature-adr/references/agentic-qe/tdd-london-chicago.md +249 -0
  55. package/templates/.claude/skills/transcript-site-generator/SKILL.md +287 -0
  56. package/templates/.claude/skills/transcript-site-generator/examples/sample-text-only-site.md +123 -0
  57. package/templates/.claude/skills/transcript-site-generator/examples/sample-transcript-site.md +134 -0
  58. package/templates/.claude/skills/transcript-site-generator/modules/00-input-analysis.md +132 -0
  59. package/templates/.claude/skills/transcript-site-generator/modules/01-content-parsing.md +117 -0
  60. package/templates/.claude/skills/transcript-site-generator/modules/02-site-generation.md +293 -0
  61. package/templates/.claude/skills/transcript-site-generator/modules/03-interactivity.md +406 -0
  62. package/templates/.claude/skills/transcript-site-generator/modules/04-deploy.md +130 -0
  63. package/templates/.claude/skills/transcript-site-generator/modules/05-verification.md +155 -0
  64. package/templates/.claude/skills/transcript-site-generator/references/component-catalog.md +86 -0
  65. package/templates/.claude/skills/transcript-site-generator/references/data-schemas.md +123 -0
  66. package/templates/.claude/skills/transcript-site-generator/references/tech-stack.md +132 -0
  67. package/templates/CLAUDE.md +9 -2
  68. package/templates/docs/edu-site-generator/01-deployment-guide.md +911 -0
  69. package/templates/docs/edu-site-generator/02-admin-guide.md +901 -0
  70. package/templates/docs/edu-site-generator/03-user-guide.md +1008 -0
  71. package/templates/docs/edu-site-generator/04-infrastructure-requirements.md +489 -0
  72. package/templates/docs/edu-site-generator/05-architecture.md +902 -0
  73. package/templates/docs/edu-site-generator/06-user-flows.md +759 -0
  74. package/templates/docs/transcript-site-generator/01-deployment-guide.md +1042 -0
  75. package/templates/docs/transcript-site-generator/02-admin-guide.md +918 -0
  76. package/templates/docs/transcript-site-generator/03-user-guide.md +925 -0
  77. package/templates/docs/transcript-site-generator/04-infrastructure-requirements.md +482 -0
  78. package/templates/docs/transcript-site-generator/05-architecture.md +1068 -0
  79. package/templates/docs/transcript-site-generator/06-user-flows.md +855 -0
@@ -0,0 +1,86 @@
1
+ # Component Catalog Reference
2
+
3
+ ## HTML Sections (in index.html)
4
+
5
+ Since this is a static site, "components" are HTML sections within the single `index.html` file. Each section below maps to a distinct HTML block.
6
+
7
+ ### Layout Components
8
+
9
+ | Component | HTML Element | ID | Description |
10
+ |-----------|-------------|-----|-------------|
11
+ | Progress Bar | `<div>` | `progress-bar` | Fixed top bar showing scroll progress |
12
+ | Header | `<header>` | - | Sticky header with title, stats, dark mode, search |
13
+ | Sidebar TOC | `<nav>` | `sidebar` | Fixed sidebar with section links, scroll-spy active state |
14
+ | Mobile Menu Button | `<button>` | `menu-toggle` | Hamburger button, visible only on `lg:hidden` |
15
+ | Footer | `<footer>` | - | Author credits, video link, date |
16
+
17
+ ### Interactive Components
18
+
19
+ | Component | HTML Element | ID | Trigger |
20
+ |-----------|-------------|-----|---------|
21
+ | Search Modal | `<div>` | `search-modal` | Click search button or Ctrl+K |
22
+ | Search Input | `<input>` | `search-input` | Auto-focused when modal opens |
23
+ | Search Results | `<div>` | `search-results` | Populated by app.js after 2+ chars |
24
+ | Theme Toggle | `<button>` | `theme-toggle` | Toggles `dark` class on `<html>` |
25
+ | Theme Icon | `<i>` | `theme-icon` | Swaps between `fa-moon` and `fa-sun` |
26
+ | Back to Top | `<button>` | `back-to-top` | Appears after 500px scroll |
27
+ | Copy Button | `<button>` | - (per section) | Copies section prose to clipboard |
28
+ | YouTube Player | `<iframe>` | `yt-player` | Loaded on page, seeked via timestamp clicks |
29
+
30
+ ### Content Components
31
+
32
+ | Component | HTML Element | ID Pattern | Description |
33
+ |-----------|-------------|------------|-------------|
34
+ | Transcript Section | `<section>` | `section-{slug}` | One per transcript section |
35
+ | Section Title | `<h2>` | - | Includes optional timestamp link |
36
+ | Timestamp Link | `<a>` | - | Calls `seekTo(seconds)` on click |
37
+ | Speaker Badge | `<span>` | - | Colored badge with speaker name + role |
38
+ | Prose Container | `<div class="prose">` | - | Contains rendered transcript paragraphs |
39
+ | TOC Link | `<a class="toc-link">` | `data-section="{id}"` | Sidebar link, highlighted by scroll-spy |
40
+
41
+ ## JavaScript Modules (in app.js)
42
+
43
+ All functionality is in a single `app.js` file, organized into numbered sections:
44
+
45
+ | # | Module | Key APIs Used | Elements Referenced |
46
+ |---|--------|--------------|---------------------|
47
+ | 1 | Dark Mode | `localStorage`, `classList` | `#theme-toggle`, `#theme-icon`, `<html>` |
48
+ | 2 | Mobile Nav | `classList.toggle` | `#menu-toggle`, `#sidebar` |
49
+ | 3 | TOC Scroll-Spy | `IntersectionObserver` | `.toc-link`, `main section[id]` |
50
+ | 4 | Progress Bar | `requestAnimationFrame`, `scrollY` | `#progress-bar` |
51
+ | 5 | Back to Top | `scrollY`, `scrollTo` | `#back-to-top` |
52
+ | 6 | Search Modal | `setTimeout` (debounce), DOM generation | `#search-btn/modal/input/results` |
53
+ | 7 | Keyboard Shortcuts | `keydown` event | Ctrl+K, Escape |
54
+ | 8 | Copy Quote | `navigator.clipboard.writeText` | `.copy-btn` per section |
55
+ | 9 | YouTube Seek | YouTube IFrame Player API (`YT.Player`) + `postMessage` fallback | `#yt-player` |
56
+
57
+ ## CSS Classes (Tailwind)
58
+
59
+ ### Key Custom Classes
60
+
61
+ | Class | Purpose | Where Used |
62
+ |-------|---------|------------|
63
+ | `toc-link` | TOC navigation link, targeted by scroll-spy | Sidebar `<a>` elements |
64
+ | `copy-btn` | Copy button, icon swap on click | Section copy buttons |
65
+ | `no-print` | Hidden in print media | Sidebar, buttons, progress bar |
66
+ | `prose` | Tailwind typography styling | Transcript content container |
67
+ | `scroll-mt-20` | Scroll margin for sticky header offset | Section elements |
68
+ | `line-clamp-1` | Truncate title to single line | Header title |
69
+
70
+ ### Responsive Breakpoints
71
+
72
+ | Breakpoint | Width | Layout Change |
73
+ |-----------|-------|---------------|
74
+ | Default | < 1024px | Sidebar hidden, hamburger menu shown |
75
+ | `lg:` | >= 1024px | Sidebar visible, hamburger hidden |
76
+ | `sm:` | >= 640px | Keyboard shortcut hints shown |
77
+
78
+ ### Dark Mode Classes Pattern
79
+
80
+ Every visible element follows the pattern:
81
+ ```
82
+ bg-white dark:bg-gray-900
83
+ text-gray-900 dark:text-gray-100
84
+ border-gray-200 dark:border-gray-700
85
+ hover:bg-gray-100 dark:hover:bg-gray-800
86
+ ```
@@ -0,0 +1,123 @@
1
+ # Data Schemas Reference
2
+
3
+ ## Section Schema
4
+
5
+ Each transcript section is represented internally during generation:
6
+
7
+ ```typescript
8
+ interface Section {
9
+ id: string; // kebab-case slug, e.g. "early-career"
10
+ order: number; // 1-based sequential
11
+ title: string; // Display title, e.g. "2. Early Career"
12
+ shortTitle: string; // 2-3 words for mobile TOC
13
+ timestamp: string | null; // "HH:MM:SS" or "MM:SS" or null
14
+ timestampSeconds: number | null; // For YouTube seek, or null
15
+ content: string; // Full text, paragraphs separated by \n\n
16
+ wordCount: number; // Words in content
17
+ speakerName: string | null; // e.g. "Boris Cherny"
18
+ speakerRole: string | null; // "Host" | "Guest" | null
19
+ }
20
+ ```
21
+
22
+ ### Section ID Rules
23
+
24
+ - Derived from title, lowercase, kebab-case
25
+ - Remove numbers and punctuation
26
+ - Max 40 characters
27
+ - Must be unique across all sections
28
+ - Prefixed with `section-` in HTML (e.g., `id="section-early-career"`)
29
+
30
+ ### Content Formatting
31
+
32
+ In the HTML rendering, content follows these rules:
33
+ - Paragraphs → `<p>` tags inside a `.prose` container
34
+ - `**bold**` → `<strong>`
35
+ - `*italic*` → `<em>`
36
+ - Inline code → `<code class="...">`
37
+ - URLs → `<a href="..." target="_blank" class="text-primary-500 hover:underline">`
38
+ - Line breaks within a paragraph → `<br />`
39
+ - Special characters escaped: `<`, `>`, `&`, `"`
40
+
41
+ ## Metadata Schema
42
+
43
+ ```typescript
44
+ interface Metadata {
45
+ title: string; // Page title
46
+ description: string; // Max 160 chars for SEO
47
+ author: string;
48
+ language: "ru" | "en";
49
+ date: string; // ISO 8601 date
50
+
51
+ video: {
52
+ url: string; // Full YouTube URL
53
+ videoId: string; // 11-char YouTube ID
54
+ embedUrl: string; // https://www.youtube.com/embed/{videoId}
55
+ duration: string; // ISO 8601 duration (PT1H23M)
56
+ channelName: string;
57
+ publishDate: string;
58
+ } | null;
59
+
60
+ stats: {
61
+ totalWords: number;
62
+ estimatedReadMinutes: number; // totalWords / 200, rounded up
63
+ sectionCount: number;
64
+ speakerCount: number;
65
+ };
66
+
67
+ speakers: Array<{
68
+ name: string;
69
+ role: "Host" | "Guest" | "Speaker";
70
+ }>;
71
+
72
+ seo: {
73
+ ogTitle: string;
74
+ ogDescription: string;
75
+ ogType: "article" | "video.other";
76
+ ogImage: string | null; // YouTube thumbnail or null
77
+ twitterCard: "summary_large_image";
78
+ jsonLdType: "Article" | "VideoObject";
79
+ };
80
+ }
81
+ ```
82
+
83
+ ## VTT Subtitle Schema (Input)
84
+
85
+ When parsing YouTube VTT files:
86
+
87
+ ```
88
+ WEBVTT
89
+
90
+ 00:00:00.000 --> 00:00:05.500
91
+ First line of subtitle text
92
+
93
+ 00:00:03.000 --> 00:00:08.000
94
+ Second line (may overlap with first)
95
+
96
+ 00:00:08.000 --> 00:00:12.500
97
+ Third line
98
+ ```
99
+
100
+ ### VTT Parsing Rules
101
+
102
+ 1. Skip `WEBVTT` header line and any `NOTE` or `STYLE` blocks
103
+ 2. Parse timestamp lines: `HH:MM:SS.mmm --> HH:MM:SS.mmm`
104
+ 3. Extract text lines between timestamp blocks
105
+ 4. Remove HTML tags (`<c>`, `</c>`, `<c.colorE5E5E5>`, etc.)
106
+ 5. Deduplicate: if two consecutive segments have >80% text overlap, keep only the later one
107
+ 6. Merge segments into paragraphs: group consecutive segments by speaker or 30-second gaps
108
+ 7. Round timestamps to nearest second for display
109
+
110
+ ## GitHub Pages Deploy Schema
111
+
112
+ ```yaml
113
+ # .github/workflows/deploy.yml structure
114
+ name: Deploy to GitHub Pages
115
+ on: push (main) + workflow_dispatch
116
+ permissions: contents:read, pages:write, id-token:write
117
+ jobs.deploy:
118
+ steps:
119
+ - checkout
120
+ - configure-pages
121
+ - upload-pages-artifact (path: 'docs')
122
+ - deploy-pages
123
+ ```
@@ -0,0 +1,132 @@
1
+ # Tech Stack Reference
2
+
3
+ ## Static Site Architecture (Default)
4
+
5
+ The transcript site is a pure static site with zero build step. This architecture was chosen for maximum simplicity and instant deployment.
6
+
7
+ ### Core Stack
8
+
9
+ | Technology | Version | Role | Delivery |
10
+ |-----------|---------|------|----------|
11
+ | HTML5 | - | Page structure, semantic markup | Inline |
12
+ | Tailwind CSS | 3.x (CDN) | Utility-first styling, dark mode, responsive | CDN: `cdn.tailwindcss.com` |
13
+ | Vanilla JavaScript | ES2020+ | All interactivity | `docs/static/app.js` |
14
+ | Font Awesome | 6.5.x | Icons (moon, sun, search, copy, bars, arrow-up, youtube) | CDN: `cdnjs.cloudflare.com` |
15
+
16
+ ### Why Static (Not React/Vite)?
17
+
18
+ | Criterion | Static HTML | React + Vite SPA |
19
+ |-----------|------------|-------------------|
20
+ | Build step | None | Required (npm install + npm run build) |
21
+ | Deploy complexity | Push `docs/` | Build + deploy `dist/` |
22
+ | Dependencies | 0 | 15+ npm packages |
23
+ | Load time | Instant (single file) | Initial bundle load |
24
+ | Maintenance | Zero | Dependency updates |
25
+ | GitHub Pages setup | Trivial (serve docs/) | Needs workflow |
26
+ | File count | 3 files | 30+ files |
27
+ | Searchability | Full HTML content | JavaScript-rendered |
28
+ | SEO | Native | Requires SSR/prerender |
29
+
30
+ **Bottom line:** For a read-only transcript site, static HTML is superior in every dimension.
31
+
32
+ ### CDN Links (Development Default)
33
+
34
+ > **Note:** `cdn.tailwindcss.com` is the Tailwind Play CDN intended for development and prototyping.
35
+ > It works well for transcript sites (read-only, low-traffic), but is NOT recommended by the
36
+ > Tailwind team for high-traffic production use. For production hardening, see the self-hosted
37
+ > alternative below.
38
+
39
+ ```html
40
+ <!-- Tailwind CSS (Play CDN — development/prototyping) -->
41
+ <script src="https://cdn.tailwindcss.com"></script>
42
+
43
+ <!-- Font Awesome (with SRI hash) -->
44
+ <link rel="stylesheet"
45
+ href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
46
+ integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA=="
47
+ crossorigin="anonymous" referrerpolicy="no-referrer" />
48
+ ```
49
+
50
+ ### Self-Hosted Tailwind Alternative (Production)
51
+
52
+ For high-traffic or offline-capable deployments, replace the Play CDN with a pre-built CSS file:
53
+
54
+ ```bash
55
+ # Install Tailwind CLI (one-time, no npm project needed)
56
+ curl -sLO https://github.com/tailwindlabs/tailwindcss/releases/latest/download/tailwindcss-linux-x64
57
+ chmod +x tailwindcss-linux-x64
58
+
59
+ # Generate minified CSS from index.html
60
+ ./tailwindcss-linux-x64 -i /dev/null -o docs/static/tailwind.min.css --content docs/index.html --minify
61
+ ```
62
+
63
+ Then in `index.html`, replace the CDN script with:
64
+ ```html
65
+ <link rel="stylesheet" href="static/tailwind.min.css" />
66
+ ```
67
+
68
+ The user can request this mode via: "use self-hosted Tailwind" or "make it work offline".
69
+
70
+ ### Tailwind Configuration
71
+
72
+ ```javascript
73
+ tailwind.config = {
74
+ darkMode: 'class',
75
+ theme: {
76
+ extend: {
77
+ colors: {
78
+ primary: {
79
+ 50: '#eef2ff', 100: '#e0e7ff', 200: '#c7d2fe', 300: '#a5b4fc',
80
+ 400: '#818cf8', 500: '#6366f1', 600: '#4f46e5', 700: '#4338ca',
81
+ 800: '#3730a3', 900: '#312e81', 950: '#1e1b4b'
82
+ }
83
+ }
84
+ }
85
+ }
86
+ }
87
+ ```
88
+
89
+ ### Browser Support
90
+
91
+ - Chrome 80+, Firefox 78+, Safari 14+, Edge 80+
92
+ - `IntersectionObserver`: supported in all modern browsers
93
+ - `navigator.clipboard.writeText`: requires HTTPS (works on GitHub Pages)
94
+ - `backdrop-filter: blur()`: Safari 14+, Chrome 76+
95
+
96
+ ### YouTube Integration
97
+
98
+ - Embed via `<iframe>` with `enablejsapi=1` parameter
99
+ - Timestamp seeking via YouTube IFrame Player API (`YT.Player` + `seekTo()`)
100
+ - Fallback: `postMessage` to iframe if IFrame API hasn't loaded yet
101
+ - Thumbnail URL pattern: `https://img.youtube.com/vi/{VIDEO_ID}/maxresdefault.jpg`
102
+
103
+ ### CDN Availability Note
104
+
105
+ The site depends on external CDNs (Tailwind CSS, Font Awesome). If CDNs are unavailable (corporate firewalls, offline):
106
+ - Content remains fully readable (semantic HTML)
107
+ - Layout will be unstyled but functional
108
+ - Icons will not display (consider adding `aria-label` on icon-only buttons as fallback)
109
+
110
+ ### Optional: yt-dlp
111
+
112
+ For extracting transcripts from YouTube videos:
113
+ ```bash
114
+ pip install yt-dlp
115
+
116
+ # Extract subtitles
117
+ yt-dlp --write-auto-sub --sub-lang ru,en --skip-download --sub-format vtt -o "transcript" "<URL>"
118
+
119
+ # Get video metadata
120
+ yt-dlp --print title --print channel --print duration --skip-download "<URL>"
121
+ ```
122
+
123
+ ### Output File Sizes (Typical)
124
+
125
+ | File | Size | Content |
126
+ |------|------|---------|
127
+ | `docs/index.html` | 50-150 KB | All HTML + inline content |
128
+ | `docs/static/app.js` | 10-12 KB | All JavaScript |
129
+ | `docs/static/style.css` | 0.5 KB | Print styles + overrides |
130
+ | **Total** | **60-165 KB** | **Before CDN resources** |
131
+
132
+ CDN resources are cached by the browser after first load.
@@ -8,6 +8,7 @@
8
8
 
9
9
  ```
10
10
  /casarium [текст кейса] — Полный пайплайн (7 фаз)
11
+ /casarium --ai-factory [текст] — Пайплайн + маппинг на Cloud.ru AI Factory (все фазы)
11
12
  /new-research [название] — Создать новое исследование
12
13
  /parallel-research кейс1 | кейс2 — Запустить несколько параллельно
13
14
  /harvest [путь или "all"] — Извлечь знания после проекта
@@ -28,6 +29,8 @@
28
29
 
29
30
  /feature-adr [описание фичи] — Adaptive Feature Development (9 шагов, S/M/L/XL)
30
31
 
32
+ /analyst-manual [тема/задача] — Стратегический анализ с checkpoint'ами (explore → research → solve)
33
+
31
34
  /bto [путь или описание] — Build-Test-Optimize полный цикл
32
35
  /bto-build [описание] — Генерация нового скилла/команды
33
36
  /bto-benchmark [путь] — Детерминистический бенчмаркинг артефакта
@@ -45,7 +48,7 @@ product-keysarium-2026/
45
48
  ├── TOOLKIT_HARVEST.md ← Трекер знаний для извлечения
46
49
  ├── .claude/
47
50
  │ ├── commands/ ← Slash-команды (пайплайн)
48
- │ │ ├── casarium.md ← /casarium — полный пайплайн
51
+ │ │ ├── casarium.md ← /casarium — полный пайплайн (+ --ai-factory флаг)
49
52
  │ │ ├── new-research.md ← /new-research — новое исследование
50
53
  │ │ ├── parallel-research.md ← /parallel-research — параллельные кейсы
51
54
  │ │ ├── discovery.md ← /discovery — Phase 0
@@ -75,6 +78,7 @@ product-keysarium-2026/
75
78
  │ │ ├── phase-3-solve.shard.md
76
79
  │ │ ├── phase-4-architecture.shard.md
77
80
  │ │ ├── phase-5-presentation.shard.md
81
+ │ │ ├── phase-ai-factory.shard.md ← AI Factory mode (только при --ai-factory)
78
82
  │ │ ├── bto-evaluation.shard.md
79
83
  │ │ └── feature-adr.shard.md
80
84
  │ └── skills/ ← Навыки (building blocks)
@@ -86,7 +90,9 @@ product-keysarium-2026/
86
90
  │ ├── problem-solver-enhanced/ ← Решение проблем (TRIZ + Game Theory)
87
91
  │ ├── reverse-engineering-unicorn/ ← Reverse engineering компаний
88
92
  │ ├── feature-adr/ ← Adaptive feature development (9 steps, S/M/L/XL)
89
- │ └── knowledge-extractor/ ← Knowledge harvesting (5 agents, 7 categories, 8 gates)
93
+ │ ├── knowledge-extractor/ ← Knowledge harvesting (5 agents, 7 categories, 8 gates)
94
+ │ ├── analyst-manual-full/ ← Композитный аналитик (explore + research + solve, manual checkpoints)
95
+ │ └── ai-factory-mapper/ ← Маппинг сценариев на Cloud.ru Evolution AI Factory (v1.0)
90
96
  ├── lib/ ← Библиотечные модули
91
97
  │ ├── background-workers.md ← Протокол фоновых воркеров
92
98
  │ ├── memory-protocol.md ← Протокол memory_query / memory_store
@@ -164,6 +170,7 @@ DISCOVERY → EXPLORE → RESEARCH → CJM PROTO → SOLVE → ARCHITECTU
164
170
  8. **Governance shards** — каждая фаза загружает свой shard из `.claude/shards/`
165
171
  9. **Model routing** — haiku для Layer 0-1, sonnet для research/judges, opus для creative work
166
172
  10. **Trust tiers** — скиллы классифицированы (Tier 0-3), повышение через `/bto-test`
173
+ 11. **`--ai-factory` флаг полностью аддитивен** — без флага поведение идентично предыдущим версиям; с флагом — маппинг на Cloud.ru AI Factory интегрируется во все фазы через `phase-ai-factory.shard.md`
167
174
 
168
175
  ## Governance System
169
176