ariadna 1.3.0 → 2.0.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.
- checksums.yaml +4 -4
- data/ariadna.gemspec +0 -1
- data/data/agents/ariadna-codebase-mapper.md +34 -722
- data/data/agents/ariadna-debugger.md +44 -1139
- data/data/agents/ariadna-executor.md +75 -396
- data/data/agents/ariadna-planner.md +78 -1215
- data/data/agents/ariadna-roadmapper.md +55 -582
- data/data/agents/ariadna-verifier.md +60 -702
- data/data/ariadna/templates/config.json +8 -33
- data/data/ariadna/workflows/debug.md +28 -0
- data/data/ariadna/workflows/execute-phase.md +31 -513
- data/data/ariadna/workflows/map-codebase.md +20 -319
- data/data/ariadna/workflows/new-milestone.md +20 -365
- data/data/ariadna/workflows/new-project.md +19 -880
- data/data/ariadna/workflows/plan-phase.md +24 -443
- data/data/ariadna/workflows/progress.md +20 -376
- data/data/ariadna/workflows/quick.md +19 -221
- data/data/ariadna/workflows/roadmap-ops.md +28 -0
- data/data/ariadna/workflows/verify-work.md +23 -560
- data/data/commands/ariadna/add-phase.md +11 -22
- data/data/commands/ariadna/debug.md +11 -143
- data/data/commands/ariadna/execute-phase.md +12 -30
- data/data/commands/ariadna/insert-phase.md +7 -14
- data/data/commands/ariadna/map-codebase.md +16 -49
- data/data/commands/ariadna/new-milestone.md +12 -25
- data/data/commands/ariadna/new-project.md +22 -26
- data/data/commands/ariadna/plan-phase.md +13 -22
- data/data/commands/ariadna/progress.md +16 -6
- data/data/commands/ariadna/quick.md +9 -11
- data/data/commands/ariadna/remove-phase.md +9 -12
- data/data/commands/ariadna/verify-work.md +14 -19
- data/data/skills/rails-backend/API.md +138 -0
- data/data/skills/rails-backend/CONTROLLERS.md +154 -0
- data/data/skills/rails-backend/JOBS.md +132 -0
- data/data/skills/rails-backend/MODELS.md +213 -0
- data/data/skills/rails-backend/SKILL.md +169 -0
- data/data/skills/rails-frontend/ASSETS.md +154 -0
- data/data/skills/rails-frontend/COMPONENTS.md +253 -0
- data/data/skills/rails-frontend/SKILL.md +187 -0
- data/data/skills/rails-frontend/VIEWS.md +168 -0
- data/data/skills/rails-performance/PROFILING.md +106 -0
- data/data/skills/rails-performance/SKILL.md +217 -0
- data/data/skills/rails-security/AUDIT.md +118 -0
- data/data/skills/rails-security/SKILL.md +422 -0
- data/data/skills/rails-testing/FIXTURES.md +78 -0
- data/data/skills/rails-testing/SKILL.md +160 -0
- data/data/skills/rails-testing/SYSTEM-TESTS.md +73 -0
- data/lib/ariadna/installer.rb +11 -15
- data/lib/ariadna/tools/cli.rb +0 -12
- data/lib/ariadna/tools/config_manager.rb +10 -72
- data/lib/ariadna/tools/frontmatter.rb +23 -1
- data/lib/ariadna/tools/init.rb +201 -401
- data/lib/ariadna/tools/model_profiles.rb +6 -14
- data/lib/ariadna/tools/phase_manager.rb +1 -10
- data/lib/ariadna/tools/state_manager.rb +170 -451
- data/lib/ariadna/tools/template_filler.rb +4 -12
- data/lib/ariadna/tools/verification.rb +21 -399
- data/lib/ariadna/uninstaller.rb +9 -0
- data/lib/ariadna/version.rb +1 -1
- data/lib/ariadna.rb +1 -0
- metadata +20 -91
- data/data/agents/ariadna-backend-executor.md +0 -261
- data/data/agents/ariadna-frontend-executor.md +0 -259
- data/data/agents/ariadna-integration-checker.md +0 -418
- data/data/agents/ariadna-phase-researcher.md +0 -469
- data/data/agents/ariadna-plan-checker.md +0 -622
- data/data/agents/ariadna-project-researcher.md +0 -618
- data/data/agents/ariadna-research-synthesizer.md +0 -236
- data/data/agents/ariadna-test-executor.md +0 -266
- data/data/ariadna/references/checkpoints.md +0 -772
- data/data/ariadna/references/continuation-format.md +0 -249
- data/data/ariadna/references/decimal-phase-calculation.md +0 -65
- data/data/ariadna/references/git-integration.md +0 -248
- data/data/ariadna/references/git-planning-commit.md +0 -38
- data/data/ariadna/references/model-profile-resolution.md +0 -32
- data/data/ariadna/references/model-profiles.md +0 -73
- data/data/ariadna/references/phase-argument-parsing.md +0 -61
- data/data/ariadna/references/planning-config.md +0 -194
- data/data/ariadna/references/questioning.md +0 -153
- data/data/ariadna/references/rails-conventions.md +0 -416
- data/data/ariadna/references/tdd.md +0 -267
- data/data/ariadna/references/ui-brand.md +0 -160
- data/data/ariadna/references/verification-patterns.md +0 -853
- data/data/ariadna/templates/codebase/architecture.md +0 -481
- data/data/ariadna/templates/codebase/concerns.md +0 -380
- data/data/ariadna/templates/codebase/conventions.md +0 -434
- data/data/ariadna/templates/codebase/integrations.md +0 -328
- data/data/ariadna/templates/codebase/stack.md +0 -189
- data/data/ariadna/templates/codebase/structure.md +0 -418
- data/data/ariadna/templates/codebase/testing.md +0 -606
- data/data/ariadna/templates/context.md +0 -283
- data/data/ariadna/templates/continue-here.md +0 -78
- data/data/ariadna/templates/debug-subagent-prompt.md +0 -91
- data/data/ariadna/templates/phase-prompt.md +0 -609
- data/data/ariadna/templates/planner-subagent-prompt.md +0 -117
- data/data/ariadna/templates/research-project/ARCHITECTURE.md +0 -439
- data/data/ariadna/templates/research-project/FEATURES.md +0 -168
- data/data/ariadna/templates/research-project/PITFALLS.md +0 -406
- data/data/ariadna/templates/research-project/STACK.md +0 -251
- data/data/ariadna/templates/research-project/SUMMARY.md +0 -247
- data/data/ariadna/templates/state.md +0 -176
- data/data/ariadna/templates/summary-complex.md +0 -59
- data/data/ariadna/templates/summary-minimal.md +0 -41
- data/data/ariadna/templates/summary-standard.md +0 -48
- data/data/ariadna/templates/user-setup.md +0 -310
- data/data/ariadna/workflows/add-phase.md +0 -111
- data/data/ariadna/workflows/add-todo.md +0 -157
- data/data/ariadna/workflows/audit-milestone.md +0 -241
- data/data/ariadna/workflows/check-todos.md +0 -176
- data/data/ariadna/workflows/complete-milestone.md +0 -644
- data/data/ariadna/workflows/diagnose-issues.md +0 -219
- data/data/ariadna/workflows/discovery-phase.md +0 -289
- data/data/ariadna/workflows/discuss-phase.md +0 -408
- data/data/ariadna/workflows/execute-plan.md +0 -448
- data/data/ariadna/workflows/help.md +0 -470
- data/data/ariadna/workflows/insert-phase.md +0 -129
- data/data/ariadna/workflows/list-phase-assumptions.md +0 -178
- data/data/ariadna/workflows/pause-work.md +0 -122
- data/data/ariadna/workflows/plan-milestone-gaps.md +0 -256
- data/data/ariadna/workflows/remove-phase.md +0 -154
- data/data/ariadna/workflows/research-phase.md +0 -74
- data/data/ariadna/workflows/resume-project.md +0 -306
- data/data/ariadna/workflows/set-profile.md +0 -80
- data/data/ariadna/workflows/settings.md +0 -145
- data/data/ariadna/workflows/transition.md +0 -493
- data/data/ariadna/workflows/update.md +0 -212
- data/data/ariadna/workflows/verify-phase.md +0 -226
- data/data/commands/ariadna/add-todo.md +0 -42
- data/data/commands/ariadna/audit-milestone.md +0 -42
- data/data/commands/ariadna/check-todos.md +0 -41
- data/data/commands/ariadna/complete-milestone.md +0 -136
- data/data/commands/ariadna/discuss-phase.md +0 -86
- data/data/commands/ariadna/help.md +0 -22
- data/data/commands/ariadna/list-phase-assumptions.md +0 -50
- data/data/commands/ariadna/pause-work.md +0 -35
- data/data/commands/ariadna/plan-milestone-gaps.md +0 -40
- data/data/commands/ariadna/reapply-patches.md +0 -110
- data/data/commands/ariadna/research-phase.md +0 -187
- data/data/commands/ariadna/resume-work.md +0 -40
- data/data/commands/ariadna/set-profile.md +0 -34
- data/data/commands/ariadna/settings.md +0 -36
- data/data/commands/ariadna/update.md +0 -37
- data/data/guides/backend.md +0 -3069
- data/data/guides/frontend.md +0 -1479
- data/data/guides/performance.md +0 -1193
- data/data/guides/security.md +0 -1522
- data/data/guides/style-guide.md +0 -1091
- data/data/guides/testing.md +0 -504
- data/data/templates.md +0 -94
|
@@ -1,251 +0,0 @@
|
|
|
1
|
-
# Stack Research Template
|
|
2
|
-
|
|
3
|
-
Template for `.ariadna_planning/research/STACK.md` — discovered technology stack for the Rails project.
|
|
4
|
-
|
|
5
|
-
<template>
|
|
6
|
-
|
|
7
|
-
```markdown
|
|
8
|
-
# Stack Research
|
|
9
|
-
|
|
10
|
-
**Project:** [project name]
|
|
11
|
-
**Researched:** [date]
|
|
12
|
-
**Confidence:** [HIGH/MEDIUM/LOW]
|
|
13
|
-
|
|
14
|
-
## Core Platform
|
|
15
|
-
|
|
16
|
-
| Component | Discovered Value | Source |
|
|
17
|
-
|-----------|-----------------|--------|
|
|
18
|
-
| Ruby version | [version from .ruby-version or Gemfile] | [where found] |
|
|
19
|
-
| Rails version | [version from Gemfile.lock] | [where found] |
|
|
20
|
-
| Database | [SQLite/PostgreSQL/MySQL] | [config/database.yml] |
|
|
21
|
-
| Ruby version manager | [rbenv/asdf/chruby/rvm/none] | [where found] |
|
|
22
|
-
|
|
23
|
-
## Application Type
|
|
24
|
-
|
|
25
|
-
| Aspect | Discovered Value | Evidence |
|
|
26
|
-
|--------|-----------------|----------|
|
|
27
|
-
| API-only or full-stack | [rails new --api or full] | [ApplicationController inherits from API or Base] |
|
|
28
|
-
| Monolith or engines | [single app / modular engines] | [presence of engines/ or components/] |
|
|
29
|
-
| Multi-database | [yes/no] | [database.yml configuration] |
|
|
30
|
-
| Multi-tenancy | [none/schema-based/row-based] | [tenant isolation approach if any] |
|
|
31
|
-
|
|
32
|
-
## Frontend & Assets
|
|
33
|
-
|
|
34
|
-
| Category | Discovered Value | Evidence |
|
|
35
|
-
|----------|-----------------|----------|
|
|
36
|
-
| JS approach | [Importmap/esbuild/Vite/Webpacker/Shakapacker/none] | [config files, Gemfile] |
|
|
37
|
-
| CSS approach | [Custom CSS/Tailwind/Bootstrap/none] | [app/assets/stylesheets/, Gemfile] |
|
|
38
|
-
| Real-time | [Turbo Streams/Action Cable/AnyCable/none] | [Gemfile, channel files] |
|
|
39
|
-
| Hotwire/Turbo | [yes/no, version] | [Gemfile, stimulus controllers] |
|
|
40
|
-
| Stimulus | [yes/no, version] | [controllers directory, importmap pins] |
|
|
41
|
-
| View layer | [ERB/Haml/Slim/ViewComponent/Phlex] | [app/views file extensions, Gemfile] |
|
|
42
|
-
|
|
43
|
-
## Backend Services
|
|
44
|
-
|
|
45
|
-
| Category | Discovered Value | Evidence |
|
|
46
|
-
|----------|-----------------|----------|
|
|
47
|
-
| Background jobs | [Solid Queue/Sidekiq/GoodJob/DelayedJob/none] | [Gemfile, config/application.rb] |
|
|
48
|
-
| Caching backend | [Solid Cache/Redis/Memcached/file store] | [config/environments/, Gemfile] |
|
|
49
|
-
| Action Cable adapter | [Solid Cable/Redis/async/none] | [config/cable.yml] |
|
|
50
|
-
| Search | [pg_search/Elasticsearch/Meilisearch/none] | [Gemfile, model concerns] |
|
|
51
|
-
| File storage | [Active Storage/Shrine/CarrierWave/none] | [Gemfile, storage.yml] |
|
|
52
|
-
| File storage service | [local/S3/GCS/Azure/none] | [config/storage.yml] |
|
|
53
|
-
| Email | [Action Mailer/Postmark/SendGrid/none] | [Gemfile, mailer configs] |
|
|
54
|
-
| PDF generation | [Prawn/wicked_pdf/Grover/none] | [Gemfile] |
|
|
55
|
-
| Internationalization | [rails-i18n gem / manual locale files only / none] | [Gemfile, config/locales/] |
|
|
56
|
-
|
|
57
|
-
## Authentication & Authorization
|
|
58
|
-
|
|
59
|
-
| Category | Discovered Value | Evidence |
|
|
60
|
-
|----------|-----------------|----------|
|
|
61
|
-
| Authentication | [Rails authentication generator/Rodauth/Clearance/custom/none] | [Gemfile, user model] |
|
|
62
|
-
| Authorization | [Custom (before_action + Current) / Pundit (if explicitly requested) / none] | [Gemfile, policy files] |
|
|
63
|
-
| OAuth/social login | [OmniAuth/Doorkeeper/none] | [Gemfile, initializers] |
|
|
64
|
-
| API authentication | [API tokens/JWT/OAuth2/none] | [Gemfile, controller concerns] |
|
|
65
|
-
|
|
66
|
-
## Testing
|
|
67
|
-
|
|
68
|
-
| Category | Discovered Value | Evidence |
|
|
69
|
-
|----------|-----------------|----------|
|
|
70
|
-
| Test framework | [Minitest (recommended)/RSpec] | [test/ or spec/ directory, Gemfile] |
|
|
71
|
-
| Fixtures or factories | [fixtures/FactoryBot/Fabrication] | [test/fixtures or spec/factories] |
|
|
72
|
-
| System tests | [Capybara driver: Selenium/Cuprite/Playwright] | [Gemfile, test_helper or rails_helper] |
|
|
73
|
-
| Code coverage | [SimpleCov/none] | [Gemfile, test_helper] |
|
|
74
|
-
| Linting | [RuboCop/Standard/none] | [Gemfile, .rubocop.yml] |
|
|
75
|
-
| Static analysis | [Brakeman/Bundler Audit/none] | [Gemfile, CI config] |
|
|
76
|
-
|
|
77
|
-
## Infrastructure & Deployment
|
|
78
|
-
|
|
79
|
-
| Category | Discovered Value | Evidence |
|
|
80
|
-
|----------|-----------------|----------|
|
|
81
|
-
| Deployment | [Kamal/Capistrano/Heroku/Render/Fly.io/Docker/other] | [deploy configs, Dockerfile] |
|
|
82
|
-
| CI/CD | [GitHub Actions/CircleCI/GitLab CI/none] | [.github/workflows, .circleci] |
|
|
83
|
-
| Containerized | [yes/no] | [Dockerfile, docker-compose.yml] |
|
|
84
|
-
| Process manager | [Foreman/Overmind/Puma only] | [Procfile, Procfile.dev] |
|
|
85
|
-
| Credentials management | [Rails credentials/dotenv/Figaro] | [config/credentials, .env files] |
|
|
86
|
-
|
|
87
|
-
## Gem Inventory
|
|
88
|
-
|
|
89
|
-
### Core Gems (from Gemfile)
|
|
90
|
-
|
|
91
|
-
| Gem | Version Constraint | Group | Purpose |
|
|
92
|
-
|-----|-------------------|-------|---------|
|
|
93
|
-
| [gem name] | [~> X.Y] | [default/development/test/production] | [what it does in this project] |
|
|
94
|
-
| [gem name] | [~> X.Y] | [default/development/test/production] | [what it does in this project] |
|
|
95
|
-
| [gem name] | [~> X.Y] | [default/development/test/production] | [what it does in this project] |
|
|
96
|
-
|
|
97
|
-
### Development & Debugging Gems
|
|
98
|
-
|
|
99
|
-
| Gem | Purpose | Notes |
|
|
100
|
-
|-----|---------|-------|
|
|
101
|
-
| [gem name] | [what it does] | [configuration if relevant] |
|
|
102
|
-
| [gem name] | [what it does] | [configuration if relevant] |
|
|
103
|
-
|
|
104
|
-
## Project Setup
|
|
105
|
-
|
|
106
|
-
```bash
|
|
107
|
-
# System dependencies
|
|
108
|
-
[discovered system deps: e.g., libvips for image processing — note: SQLite requires no external service; add postgresql only if project uses PostgreSQL]
|
|
109
|
-
|
|
110
|
-
# Ruby setup
|
|
111
|
-
[ruby version manager install command if applicable]
|
|
112
|
-
|
|
113
|
-
# Application setup
|
|
114
|
-
bundle install
|
|
115
|
-
bin/rails db:prepare
|
|
116
|
-
|
|
117
|
-
# Asset pipeline (if applicable)
|
|
118
|
-
[bin/rails assets:precompile / yarn build / none]
|
|
119
|
-
|
|
120
|
-
# Background jobs (if applicable)
|
|
121
|
-
[bin/jobs (Solid Queue) / bundle exec sidekiq / none]
|
|
122
|
-
|
|
123
|
-
# Development server
|
|
124
|
-
bin/dev
|
|
125
|
-
# or
|
|
126
|
-
bin/rails server
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
## Alternatives Considered
|
|
130
|
-
|
|
131
|
-
| In Use | Alternative | When to Consider Switching |
|
|
132
|
-
|--------|-------------|---------------------------|
|
|
133
|
-
| [current choice] | [other option] | [conditions where alternative fits better] |
|
|
134
|
-
| [current choice] | [other option] | [conditions where alternative fits better] |
|
|
135
|
-
|
|
136
|
-
## What to Avoid
|
|
137
|
-
|
|
138
|
-
| Avoid | Why | Use Instead |
|
|
139
|
-
|-------|-----|-------------|
|
|
140
|
-
| [gem or pattern] | [specific problem: deprecated, unmaintained, security issue, incompatible] | [recommended alternative] |
|
|
141
|
-
| [gem or pattern] | [specific problem] | [recommended alternative] |
|
|
142
|
-
|
|
143
|
-
## Rails Variant Decisions
|
|
144
|
-
|
|
145
|
-
**If API-only app:**
|
|
146
|
-
- [relevant architectural notes]
|
|
147
|
-
- [serialization approach: jbuilder/Alba/Blueprinter/none]
|
|
148
|
-
- [API versioning strategy if any]
|
|
149
|
-
|
|
150
|
-
**If full-stack with Hotwire:**
|
|
151
|
-
- [Turbo Frame vs Turbo Stream usage patterns]
|
|
152
|
-
- [Stimulus controller conventions]
|
|
153
|
-
- [Broadcasting patterns if any]
|
|
154
|
-
|
|
155
|
-
**If full-stack with SPA frontend:**
|
|
156
|
-
- [Frontend framework: React/Vue/Svelte]
|
|
157
|
-
- [API layer: GraphQL/REST/Inertia.js]
|
|
158
|
-
- [CORS and authentication approach]
|
|
159
|
-
|
|
160
|
-
**If modular monolith with engines:**
|
|
161
|
-
- [Engine boundaries and responsibilities]
|
|
162
|
-
- [Shared dependencies across engines]
|
|
163
|
-
- [Inter-engine communication patterns]
|
|
164
|
-
|
|
165
|
-
## Version Compatibility
|
|
166
|
-
|
|
167
|
-
| Gem | Compatible With | Notes |
|
|
168
|
-
|-----|-----------------|-------|
|
|
169
|
-
| [gem @ version] | [Rails version / Ruby version] | [compatibility notes] |
|
|
170
|
-
| [gem @ version] | [other gem @ version] | [known constraints] |
|
|
171
|
-
|
|
172
|
-
## Configuration Files Discovered
|
|
173
|
-
|
|
174
|
-
| File | Purpose | Notable Settings |
|
|
175
|
-
|------|---------|-----------------|
|
|
176
|
-
| [config file path] | [what it configures] | [any non-default values worth noting] |
|
|
177
|
-
| [config file path] | [what it configures] | [any non-default values worth noting] |
|
|
178
|
-
|
|
179
|
-
## Sources
|
|
180
|
-
|
|
181
|
-
- [Gemfile and Gemfile.lock] — [primary source of gem versions]
|
|
182
|
-
- [config/ directory] — [Rails configuration files]
|
|
183
|
-
- [Official docs URL] — [what was verified]
|
|
184
|
-
- [Other source] — [confidence level]
|
|
185
|
-
|
|
186
|
-
---
|
|
187
|
-
*Stack research for: [project name]*
|
|
188
|
-
*Researched: [date]*
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
</template>
|
|
192
|
-
|
|
193
|
-
<guidelines>
|
|
194
|
-
|
|
195
|
-
**Discovery, Not Prescription:**
|
|
196
|
-
- This template is for discovering what the project ACTUALLY uses
|
|
197
|
-
- Fill in values by inspecting `Gemfile`, `Gemfile.lock`, `config/`, and project structure
|
|
198
|
-
- Do not assume or recommend — report what is found
|
|
199
|
-
- If a category has nothing discovered, mark it `[none found]` rather than suggesting additions
|
|
200
|
-
|
|
201
|
-
**Core Platform:**
|
|
202
|
-
- Always check `.ruby-version`, `Gemfile`, and `Gemfile.lock` for exact versions
|
|
203
|
-
- Check `config/database.yml` for the actual database adapter in use
|
|
204
|
-
- Check `config/application.rb` and environment files for framework defaults
|
|
205
|
-
|
|
206
|
-
**Application Type:**
|
|
207
|
-
- Determine if `ApplicationController` inherits from `ActionController::API` or `ActionController::Base`
|
|
208
|
-
- Look for `config.api_only = true` in `config/application.rb`
|
|
209
|
-
- Check for presence of `engines/`, `components/`, or `packages/` directories
|
|
210
|
-
- Look at `database.yml` for multiple database configurations
|
|
211
|
-
|
|
212
|
-
**Frontend & Assets:**
|
|
213
|
-
- Check for `config/importmap.rb` (Importmap), `package.json` (Node-based), or `vite.config.ts` (Vite).
|
|
214
|
-
- Look at `app/views/layouts/application.html.erb` for asset tags.
|
|
215
|
-
- Check `app/javascript/` structure and `app/assets/` for CSS approach.
|
|
216
|
-
- Look for `app/components/` (ViewComponent) or Phlex usage.
|
|
217
|
-
|
|
218
|
-
**Backend Services:**
|
|
219
|
-
- Check `config/application.rb` for `active_job.queue_adapter` setting.
|
|
220
|
-
- Check `config/environments/production.rb` for cache store configuration.
|
|
221
|
-
- Look at `config/cable.yml` for Action Cable adapter.
|
|
222
|
-
- Check `config/storage.yml` for Active Storage service.
|
|
223
|
-
|
|
224
|
-
**Authentication & Authorization:**
|
|
225
|
-
- Look for `Authentication` concern generated by `rails generate authentication`.
|
|
226
|
-
- Look for custom authorization in `before_action` filters and `Current` context (preferred), or `app/policies/` (Pundit) or `app/models/ability.rb` (CanCanCan) if gems were chosen.
|
|
227
|
-
- Check `app/models/user.rb` for authentication modules.
|
|
228
|
-
|
|
229
|
-
**Testing:**
|
|
230
|
-
- Determine framework: check for `test/` (Minitest, recommended) vs `spec/` (RSpec)
|
|
231
|
-
- Check `test/test_helper.rb` (Minitest) or `spec/rails_helper.rb` (if RSpec) for test configuration.
|
|
232
|
-
- Look for `test/fixtures/` or `spec/factories/` to determine data strategy.
|
|
233
|
-
- Check for system test configuration and browser driver.
|
|
234
|
-
|
|
235
|
-
**What to Avoid:**
|
|
236
|
-
- Flag gems that are no longer maintained or have known security issues.
|
|
237
|
-
- Note deprecated Rails patterns found in the codebase (e.g., `before_filter`, `attr_accessible`).
|
|
238
|
-
- Identify gems that duplicate Rails built-in functionality unnecessarily.
|
|
239
|
-
- Flag any gems with known incompatibilities with the discovered Rails version.
|
|
240
|
-
|
|
241
|
-
**Gem Inventory:**
|
|
242
|
-
- Record version constraints as written in the Gemfile, not resolved versions.
|
|
243
|
-
- Note which Bundler group each gem belongs to.
|
|
244
|
-
- For important gems, check if the version is current or significantly outdated.
|
|
245
|
-
|
|
246
|
-
**Version Compatibility:**
|
|
247
|
-
- Note any gems that pin to specific Rails or Ruby versions
|
|
248
|
-
- Flag if the Ruby version is approaching end-of-life
|
|
249
|
-
- Check if major gem upgrades are available that would require migration work
|
|
250
|
-
|
|
251
|
-
</guidelines>
|
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
# Research Summary Template
|
|
2
|
-
|
|
3
|
-
Template for `.ariadna_planning/research/SUMMARY.md` — executive summary of project research with roadmap implications for Ruby on Rails applications.
|
|
4
|
-
|
|
5
|
-
<template>
|
|
6
|
-
|
|
7
|
-
```markdown
|
|
8
|
-
# Project Research Summary
|
|
9
|
-
|
|
10
|
-
**Project:** [name from PROJECT.md]
|
|
11
|
-
**Domain:** [inferred domain type] — Ruby on Rails application
|
|
12
|
-
**Researched:** [date]
|
|
13
|
-
**Confidence:** [HIGH/MEDIUM/LOW]
|
|
14
|
-
|
|
15
|
-
## Executive Summary
|
|
16
|
-
|
|
17
|
-
[2-3 paragraph overview of research findings]
|
|
18
|
-
|
|
19
|
-
- What type of Rails application this is and how experienced Rails teams build it
|
|
20
|
-
- The recommended approach based on research (conventions, gems, architectural patterns)
|
|
21
|
-
- Key risks specific to this kind of Rails project and how to mitigate them
|
|
22
|
-
|
|
23
|
-
## Key Findings
|
|
24
|
-
|
|
25
|
-
### Recommended Stack
|
|
26
|
-
|
|
27
|
-
[Summary from STACK.md — 1-2 paragraphs on why this combination of Rails technologies fits the project]
|
|
28
|
-
|
|
29
|
-
**Ruby & Rails version:**
|
|
30
|
-
- [Ruby version]: [why this version — e.g., YJIT support, performance, compatibility]
|
|
31
|
-
- [Rails version]: [why this version — e.g., latest stable, Solid Queue/Cache built-in, Turbo maturity]
|
|
32
|
-
|
|
33
|
-
**Database:**
|
|
34
|
-
- [Database]: [purpose] — [why recommended — e.g., SQLite for zero-setup default (Rails ships with it); PostgreSQL when needing full-text search, jsonb, advisory locks, or high-concurrency production]
|
|
35
|
-
|
|
36
|
-
**Background jobs:**
|
|
37
|
-
- [Job backend]: [purpose] — [why recommended — e.g., Solid Queue for zero-dependency simplicity (Rails 8 default), Sidekiq for extreme throughput needs]
|
|
38
|
-
|
|
39
|
-
**Caching & key-value:**
|
|
40
|
-
- [Cache backend]: [purpose] — [why recommended — e.g., Solid Cache for DB-backed caching with no external dependencies (Rails 8 default), Redis for shared cross-process state]
|
|
41
|
-
|
|
42
|
-
**Real-time:**
|
|
43
|
-
- [Approach]: [purpose] — [why recommended — e.g., Turbo Streams over WebSocket, Action Cable for custom channels]
|
|
44
|
-
|
|
45
|
-
**Frontend approach:**
|
|
46
|
-
- [Frontend stack]: [purpose] — [why recommended — e.g., Hotwire/Turbo + Stimulus for server-rendered, React/Inertia for SPA-like]
|
|
47
|
-
- [CSS approach]: [purpose] — [why recommended — e.g., custom CSS with CSS layers and custom properties (Rails default), Tailwind CSS if already in use]
|
|
48
|
-
- [Asset pipeline]: [purpose] — [why recommended — e.g., Propshaft + importmap, esbuild for bundling]
|
|
49
|
-
|
|
50
|
-
**Testing framework:**
|
|
51
|
-
- [Test framework]: [purpose] — [why recommended — e.g., Minitest (recommended, Rails default, no extra dependencies), RSpec if team prefers]
|
|
52
|
-
- [Additional test tools]: [purpose] — [e.g., Capybara for system tests, FactoryBot for fixtures]
|
|
53
|
-
|
|
54
|
-
**Authentication & authorization:**
|
|
55
|
-
- [Auth solution]: [purpose] — [why recommended — e.g., Rails authentication generator for session-based auth]
|
|
56
|
-
- [Authorization]: [purpose] — [why recommended — e.g., before_action + Current context (default), Pundit only if explicitly requested]
|
|
57
|
-
|
|
58
|
-
**Additional gems:**
|
|
59
|
-
- [Gem]: [purpose] — [why recommended]
|
|
60
|
-
- [Gem]: [purpose] — [why recommended]
|
|
61
|
-
|
|
62
|
-
### Expected Features
|
|
63
|
-
|
|
64
|
-
[Summary from FEATURES.md]
|
|
65
|
-
|
|
66
|
-
**Must have (table stakes):**
|
|
67
|
-
- [Feature] — users expect this
|
|
68
|
-
- [Feature] — users expect this
|
|
69
|
-
|
|
70
|
-
**Should have (competitive):**
|
|
71
|
-
- [Feature] — differentiator
|
|
72
|
-
- [Feature] — differentiator
|
|
73
|
-
|
|
74
|
-
**Defer (v2+):**
|
|
75
|
-
- [Feature] — not essential for launch
|
|
76
|
-
|
|
77
|
-
### Architecture Approach
|
|
78
|
-
|
|
79
|
-
[Summary from ARCHITECTURE.md — 1 paragraph covering the Rails MVC structure, domain model organization, and any patterns beyond vanilla Rails]
|
|
80
|
-
|
|
81
|
-
**Application structure:**
|
|
82
|
-
1. [Models & domain layer] — [approach — e.g., core models, concerns for shared behavior, STI vs. polymorphism decisions, value objects]
|
|
83
|
-
2. [Controllers & routing] — [approach — e.g., RESTful resources, namespace organization, API vs. HTML responses]
|
|
84
|
-
3. [Views & UI layer] — [approach — e.g., partials, ViewComponents, Turbo Frames for partial page updates]
|
|
85
|
-
4. [Service layer] — [approach — e.g., service objects/interactors for complex operations, form objects for multi-model forms]
|
|
86
|
-
5. [Background layer] — [approach — e.g., Active Job with queue backend, mailers, recurring tasks]
|
|
87
|
-
6. [Data access patterns] — [approach — e.g., scopes, query objects, eager loading strategy]
|
|
88
|
-
|
|
89
|
-
**Multi-tenancy approach (if applicable):**
|
|
90
|
-
- [Strategy] — [e.g., Denormalise tables with account_id and use Current.account, PostgreSQL schemas, separate databases]
|
|
91
|
-
|
|
92
|
-
**Engine extraction (if applicable):**
|
|
93
|
-
- [Engine/mountable concern] — [e.g., admin engine, API engine, shared authentication engine]
|
|
94
|
-
|
|
95
|
-
### Critical Pitfalls
|
|
96
|
-
|
|
97
|
-
[Top 5-7 from PITFALLS.md — Rails-specific risks identified through research]
|
|
98
|
-
|
|
99
|
-
1. **[N+1 query risk]** — [where it applies and how to avoid — e.g., strict_loading, bullet gem, includes/preload strategy]
|
|
100
|
-
2. **[Migration safety]** — [how to avoid — e.g., strong_migrations gem, zero-downtime deployment considerations, backfill strategies]
|
|
101
|
-
3. **[Callback complexity]** — [how to avoid — e.g., limit callback chains, prefer explicit service objects for side effects]
|
|
102
|
-
4. **[Fat model/controller risk]** — [how to avoid — e.g., extract concerns, service objects, form objects early]
|
|
103
|
-
5. **[Turbo/Hotwire integration pitfall]** — [how to avoid — e.g., Turbo Frame vs. Stream decisions, morphing gotchas, progressive enhancement]
|
|
104
|
-
6. **[Asset pipeline / frontend build issue]** — [how to avoid — e.g., importmap limitations, JavaScript bundler configuration]
|
|
105
|
-
7. **[Testing bottleneck]** — [how to avoid — e.g., slow system tests, fixture vs. factory strategy, parallel test execution]
|
|
106
|
-
|
|
107
|
-
## Implications for Roadmap
|
|
108
|
-
|
|
109
|
-
Based on research, suggested phase structure for this Rails application:
|
|
110
|
-
|
|
111
|
-
### Phase 1: Foundation — Data Model, Authentication & Core Models
|
|
112
|
-
**Rationale:** [why this comes first — e.g., Rails apps are built on a solid data model; authentication gates all other features; core models define the domain language]
|
|
113
|
-
**Delivers:** [what this phase produces — e.g., migrations, core models with validations and associations, authentication flow, basic authorization, seed data, model-level tests]
|
|
114
|
-
**Addresses:** [features from FEATURES.md — e.g., user registration, core domain entities]
|
|
115
|
-
**Avoids:** [pitfall from PITFALLS.md — e.g., migration rework by designing schema upfront, N+1 prevention with eager loading strategy from day one]
|
|
116
|
-
**Stack elements:** [from STACK.md — e.g., Rails generators, SQLite (or PostgreSQL), chosen auth gem, model concerns]
|
|
117
|
-
|
|
118
|
-
### Phase 2: Core Features — Controllers, Views & Turbo Interactions
|
|
119
|
-
**Rationale:** [why this order — e.g., with models stable, build the user-facing CRUD and interactions; Turbo Frames/Streams add interactivity without JavaScript complexity]
|
|
120
|
-
**Delivers:** [what this phase produces — e.g., RESTful controllers, views with partials/components, Turbo Frame navigation, form handling, flash messages, system tests]
|
|
121
|
-
**Addresses:** [features from FEATURES.md — e.g., primary user workflows, admin interface]
|
|
122
|
-
**Uses:** [stack elements from STACK.md — e.g., Hotwire/Turbo, Stimulus, CSS framework, ViewComponents]
|
|
123
|
-
**Implements:** [architecture component — e.g., controller layer, view layer, service objects for complex actions]
|
|
124
|
-
|
|
125
|
-
### Phase 3: Background Processing — Jobs, Mailers & Scheduled Tasks
|
|
126
|
-
**Rationale:** [why this order — e.g., core features surface the need for async work; emails, notifications, data processing should not block web requests]
|
|
127
|
-
**Delivers:** [what this phase produces — e.g., Active Job classes, mailer templates, recurring job schedule, webhook processing, error handling/retry strategy]
|
|
128
|
-
**Addresses:** [features from FEATURES.md — e.g., email notifications, data imports/exports, scheduled reports]
|
|
129
|
-
**Uses:** [stack elements from STACK.md — e.g., Solid Queue, Action Mailer, Active Storage for file processing]
|
|
130
|
-
**Avoids:** [pitfall from PITFALLS.md — e.g., long-running requests, timeout issues, job idempotency problems]
|
|
131
|
-
|
|
132
|
-
### Phase 4: Polish — Caching, Performance, Search & Real-Time
|
|
133
|
-
**Rationale:** [why this order — e.g., optimize after features are stable; caching and real-time add complexity best deferred until core is solid]
|
|
134
|
-
**Delivers:** [what this phase produces — e.g., fragment caching, Russian doll caching, counter caches, database indexes, full-text search, Action Cable channels, Turbo Stream broadcasts, performance monitoring]
|
|
135
|
-
**Addresses:** [features from FEATURES.md — e.g., search, live updates, dashboard performance]
|
|
136
|
-
**Uses:** [stack elements from STACK.md — e.g., Solid Cache, pg_search/Meilisearch, Solid Cable for Action Cable]
|
|
137
|
-
**Avoids:** [pitfall from PITFALLS.md — e.g., premature optimization, cache invalidation bugs, N+1 regressions under load]
|
|
138
|
-
|
|
139
|
-
[Continue for additional phases if needed...]
|
|
140
|
-
|
|
141
|
-
### Phase Ordering Rationale
|
|
142
|
-
|
|
143
|
-
- [Why data model and auth come first — e.g., Rails convention-over-configuration rewards upfront schema design; all features depend on authentication]
|
|
144
|
-
- [Why controllers/views before background jobs — e.g., user-facing flows reveal the async work needed; avoids building jobs for features that change]
|
|
145
|
-
- [Why caching and real-time are last — e.g., caching strategies depend on stable views and queries; premature caching causes invalidation bugs]
|
|
146
|
-
- [How this avoids pitfalls from research — e.g., early attention to eager loading prevents N+1 debt; strong_migrations from phase 1 prevents deployment issues]
|
|
147
|
-
|
|
148
|
-
### Research Flags
|
|
149
|
-
|
|
150
|
-
Phases likely needing deeper research during planning:
|
|
151
|
-
- **Phase [X]:** [reason — e.g., "multi-tenancy approach needs benchmarking against data volume projections"]
|
|
152
|
-
- **Phase [Y]:** [reason — e.g., "Turbo Stream vs. Action Cable decision depends on real-time requirements complexity"]
|
|
153
|
-
- **Phase [Z]:** [reason — e.g., "search gem selection depends on hosting constraints and query patterns"]
|
|
154
|
-
|
|
155
|
-
Phases with standard Rails patterns (skip research-phase):
|
|
156
|
-
- **Phase [X]:** [reason — e.g., "standard RESTful CRUD, well-documented Rails conventions"]
|
|
157
|
-
- **Phase [Y]:** [reason — e.g., "Active Job + mailers follow established Rails patterns"]
|
|
158
|
-
|
|
159
|
-
## Confidence Assessment
|
|
160
|
-
|
|
161
|
-
| Area | Confidence | Notes |
|
|
162
|
-
|------|------------|-------|
|
|
163
|
-
| Stack | [HIGH/MEDIUM/LOW] | [reason — e.g., "well-established Rails gems with strong community support"] |
|
|
164
|
-
| Features | [HIGH/MEDIUM/LOW] | [reason — e.g., "domain-specific features need validation with stakeholders"] |
|
|
165
|
-
| Architecture | [HIGH/MEDIUM/LOW] | [reason — e.g., "standard Rails MVC, but multi-tenancy approach needs validation"] |
|
|
166
|
-
| Pitfalls | [HIGH/MEDIUM/LOW] | [reason — e.g., "common Rails pitfalls well-documented, project-specific risks less certain"] |
|
|
167
|
-
|
|
168
|
-
**Overall confidence:** [HIGH/MEDIUM/LOW]
|
|
169
|
-
|
|
170
|
-
### Gaps to Address
|
|
171
|
-
|
|
172
|
-
[Any areas where research was inconclusive or needs validation during implementation]
|
|
173
|
-
|
|
174
|
-
- [Gap]: [how to handle during planning/execution — e.g., "hosting environment unknown, affects cache backend and job queue selection"]
|
|
175
|
-
- [Gap]: [how to handle during planning/execution — e.g., "expected data volume unclear, affects database indexing and pagination strategy"]
|
|
176
|
-
- [Gap]: [how to handle during planning/execution — e.g., "third-party API integration details pending, affects service object design"]
|
|
177
|
-
|
|
178
|
-
## Sources
|
|
179
|
-
|
|
180
|
-
### Primary (HIGH confidence)
|
|
181
|
-
- [Rails Guides / API docs] — [topics covered]
|
|
182
|
-
- [Context7 library ID] — [topics]
|
|
183
|
-
- [Official gem documentation] — [what was checked]
|
|
184
|
-
|
|
185
|
-
### Secondary (MEDIUM confidence)
|
|
186
|
-
- [Community blog / conference talk] — [finding]
|
|
187
|
-
- [Source] — [finding]
|
|
188
|
-
|
|
189
|
-
### Tertiary (LOW confidence)
|
|
190
|
-
- [Source] — [finding, needs validation]
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
*Research completed: [date]*
|
|
194
|
-
*Ready for roadmap: yes*
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
</template>
|
|
198
|
-
|
|
199
|
-
<guidelines>
|
|
200
|
-
|
|
201
|
-
**Executive Summary:**
|
|
202
|
-
- Write for someone who will only read this section
|
|
203
|
-
- Include the key Rails architectural recommendation and main risk
|
|
204
|
-
- Reference the Rails conventions that apply and where the project diverges from convention
|
|
205
|
-
- 2-3 paragraphs maximum
|
|
206
|
-
|
|
207
|
-
**Key Findings:**
|
|
208
|
-
- Summarize, don't duplicate full documents
|
|
209
|
-
- Link to detailed docs (STACK.md, FEATURES.md, etc.)
|
|
210
|
-
- Focus on what matters for roadmap decisions
|
|
211
|
-
- For the stack section, emphasize Rails-native solutions first (Solid Queue, Solid Cache, built-in authentication) before third-party alternatives
|
|
212
|
-
- Note where the project follows Rails conventions and where it needs custom patterns
|
|
213
|
-
|
|
214
|
-
**Architecture Approach:**
|
|
215
|
-
- Start from Rails MVC conventions and note deviations
|
|
216
|
-
- Be explicit about concern organization and service object boundaries
|
|
217
|
-
- Address data access patterns — eager loading, scopes, query objects
|
|
218
|
-
- Note multi-tenancy and engine extraction only if applicable
|
|
219
|
-
|
|
220
|
-
**Critical Pitfalls:**
|
|
221
|
-
- Prioritize Rails-specific pitfalls: N+1 queries, migration safety, callback chains, fat models
|
|
222
|
-
- Include Turbo/Hotwire integration gotchas if the frontend uses Hotwire
|
|
223
|
-
- Note deployment-specific risks (zero-downtime migrations, asset compilation)
|
|
224
|
-
- Reference specific gems that mitigate pitfalls (bullet, strong_migrations, strict_loading)
|
|
225
|
-
|
|
226
|
-
**Implications for Roadmap:**
|
|
227
|
-
- This is the most important section
|
|
228
|
-
- Directly informs roadmap creation
|
|
229
|
-
- Follow the Rails-typical build order: data model first, then controllers/views, then async, then optimization
|
|
230
|
-
- Be explicit about phase suggestions and rationale
|
|
231
|
-
- Include research flags for each suggested phase
|
|
232
|
-
- Note where phases can leverage Rails generators and conventions to move faster
|
|
233
|
-
|
|
234
|
-
**Confidence Assessment:**
|
|
235
|
-
- Be honest about uncertainty
|
|
236
|
-
- Note gaps that need resolution during planning
|
|
237
|
-
- HIGH = verified with official Rails guides or gem documentation
|
|
238
|
-
- MEDIUM = community consensus, multiple sources agree, established patterns
|
|
239
|
-
- LOW = single source, inference, or project-specific assumption
|
|
240
|
-
|
|
241
|
-
**Integration with roadmap creation:**
|
|
242
|
-
- This file is loaded as context during roadmap creation
|
|
243
|
-
- Phase suggestions here become starting point for roadmap
|
|
244
|
-
- Research flags inform phase planning
|
|
245
|
-
- Rails convention alignment should be noted to speed up estimation
|
|
246
|
-
|
|
247
|
-
</guidelines>
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
# State Template
|
|
2
|
-
|
|
3
|
-
Template for `.ariadna_planning/STATE.md` — the project's living memory.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## File Template
|
|
8
|
-
|
|
9
|
-
```markdown
|
|
10
|
-
# Project State
|
|
11
|
-
|
|
12
|
-
## Project Reference
|
|
13
|
-
|
|
14
|
-
See: .ariadna_planning/PROJECT.md (updated [date])
|
|
15
|
-
|
|
16
|
-
**Core value:** [One-liner from PROJECT.md Core Value section]
|
|
17
|
-
**Current focus:** [Current phase name]
|
|
18
|
-
|
|
19
|
-
## Current Position
|
|
20
|
-
|
|
21
|
-
Phase: [X] of [Y] ([Phase name])
|
|
22
|
-
Plan: [A] of [B] in current phase
|
|
23
|
-
Status: [Ready to plan / Planning / Ready to execute / In progress / Phase complete]
|
|
24
|
-
Last activity: [YYYY-MM-DD] — [What happened]
|
|
25
|
-
|
|
26
|
-
Progress: [░░░░░░░░░░] 0%
|
|
27
|
-
|
|
28
|
-
## Performance Metrics
|
|
29
|
-
|
|
30
|
-
**Velocity:**
|
|
31
|
-
- Total plans completed: [N]
|
|
32
|
-
- Average duration: [X] min
|
|
33
|
-
- Total execution time: [X.X] hours
|
|
34
|
-
|
|
35
|
-
**By Phase:**
|
|
36
|
-
|
|
37
|
-
| Phase | Plans | Total | Avg/Plan |
|
|
38
|
-
|-------|-------|-------|----------|
|
|
39
|
-
| - | - | - | - |
|
|
40
|
-
|
|
41
|
-
**Recent Trend:**
|
|
42
|
-
- Last 5 plans: [durations]
|
|
43
|
-
- Trend: [Improving / Stable / Degrading]
|
|
44
|
-
|
|
45
|
-
*Updated after each plan completion*
|
|
46
|
-
|
|
47
|
-
## Accumulated Context
|
|
48
|
-
|
|
49
|
-
### Decisions
|
|
50
|
-
|
|
51
|
-
Decisions are logged in PROJECT.md Key Decisions table.
|
|
52
|
-
Recent decisions affecting current work:
|
|
53
|
-
|
|
54
|
-
- [Phase X]: [Decision summary]
|
|
55
|
-
- [Phase Y]: [Decision summary]
|
|
56
|
-
|
|
57
|
-
### Pending Todos
|
|
58
|
-
|
|
59
|
-
[From .ariadna_planning/todos/pending/ — ideas captured during sessions]
|
|
60
|
-
|
|
61
|
-
None yet.
|
|
62
|
-
|
|
63
|
-
### Blockers/Concerns
|
|
64
|
-
|
|
65
|
-
[Issues that affect future work]
|
|
66
|
-
|
|
67
|
-
None yet.
|
|
68
|
-
|
|
69
|
-
## Session Continuity
|
|
70
|
-
|
|
71
|
-
Last session: [YYYY-MM-DD HH:MM]
|
|
72
|
-
Stopped at: [Description of last completed action]
|
|
73
|
-
Resume file: [Path to .continue-here*.md if exists, otherwise "None"]
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
<purpose>
|
|
77
|
-
|
|
78
|
-
STATE.md is the project's short-term memory spanning all phases and sessions.
|
|
79
|
-
|
|
80
|
-
**Problem it solves:** Information is captured in summaries, issues, and decisions but not systematically consumed. Sessions start without context.
|
|
81
|
-
|
|
82
|
-
**Solution:** A single, small file that's:
|
|
83
|
-
- Read first in every workflow
|
|
84
|
-
- Updated after every significant action
|
|
85
|
-
- Contains digest of accumulated context
|
|
86
|
-
- Enables instant session restoration
|
|
87
|
-
|
|
88
|
-
</purpose>
|
|
89
|
-
|
|
90
|
-
<lifecycle>
|
|
91
|
-
|
|
92
|
-
**Creation:** After ROADMAP.md is created (during init)
|
|
93
|
-
- Reference PROJECT.md (read it for current context)
|
|
94
|
-
- Initialize empty accumulated context sections
|
|
95
|
-
- Set position to "Phase 1 ready to plan"
|
|
96
|
-
|
|
97
|
-
**Reading:** First step of every workflow
|
|
98
|
-
- progress: Present status to user
|
|
99
|
-
- plan: Inform planning decisions
|
|
100
|
-
- execute: Know current position
|
|
101
|
-
- transition: Know what's complete
|
|
102
|
-
|
|
103
|
-
**Writing:** After every significant action
|
|
104
|
-
- execute: After SUMMARY.md created
|
|
105
|
-
- Update position (phase, plan, status)
|
|
106
|
-
- Note new decisions (detail in PROJECT.md)
|
|
107
|
-
- Add blockers/concerns
|
|
108
|
-
- transition: After phase marked complete
|
|
109
|
-
- Update progress bar
|
|
110
|
-
- Clear resolved blockers
|
|
111
|
-
- Refresh Project Reference date
|
|
112
|
-
|
|
113
|
-
</lifecycle>
|
|
114
|
-
|
|
115
|
-
<sections>
|
|
116
|
-
|
|
117
|
-
### Project Reference
|
|
118
|
-
Points to PROJECT.md for full context. Includes:
|
|
119
|
-
- Core value (the ONE thing that matters)
|
|
120
|
-
- Current focus (which phase)
|
|
121
|
-
- Last update date (triggers re-read if stale)
|
|
122
|
-
|
|
123
|
-
Claude reads PROJECT.md directly for requirements, constraints, and decisions.
|
|
124
|
-
|
|
125
|
-
### Current Position
|
|
126
|
-
Where we are right now:
|
|
127
|
-
- Phase X of Y — which phase
|
|
128
|
-
- Plan A of B — which plan within phase
|
|
129
|
-
- Status — current state
|
|
130
|
-
- Last activity — what happened most recently
|
|
131
|
-
- Progress bar — visual indicator of overall completion
|
|
132
|
-
|
|
133
|
-
Progress calculation: (completed plans) / (total plans across all phases) × 100%
|
|
134
|
-
|
|
135
|
-
### Performance Metrics
|
|
136
|
-
Track velocity to understand execution patterns:
|
|
137
|
-
- Total plans completed
|
|
138
|
-
- Average duration per plan
|
|
139
|
-
- Per-phase breakdown
|
|
140
|
-
- Recent trend (improving/stable/degrading)
|
|
141
|
-
|
|
142
|
-
Updated after each plan completion.
|
|
143
|
-
|
|
144
|
-
### Accumulated Context
|
|
145
|
-
|
|
146
|
-
**Decisions:** Reference to PROJECT.md Key Decisions table, plus recent decisions summary for quick access. Full decision log lives in PROJECT.md.
|
|
147
|
-
|
|
148
|
-
**Pending Todos:** Ideas captured via /ariadna:add-todo
|
|
149
|
-
- Count of pending todos
|
|
150
|
-
- Reference to .ariadna_planning/todos/pending/
|
|
151
|
-
- Brief list if few, count if many (e.g., "5 pending todos — see /ariadna:check-todos")
|
|
152
|
-
|
|
153
|
-
**Blockers/Concerns:** From "Next Phase Readiness" sections
|
|
154
|
-
- Issues that affect future work
|
|
155
|
-
- Prefix with originating phase
|
|
156
|
-
- Cleared when addressed
|
|
157
|
-
|
|
158
|
-
### Session Continuity
|
|
159
|
-
Enables instant resumption:
|
|
160
|
-
- When was last session
|
|
161
|
-
- What was last completed
|
|
162
|
-
- Is there a .continue-here file to resume from
|
|
163
|
-
|
|
164
|
-
</sections>
|
|
165
|
-
|
|
166
|
-
<size_constraint>
|
|
167
|
-
|
|
168
|
-
Keep STATE.md under 100 lines.
|
|
169
|
-
|
|
170
|
-
It's a DIGEST, not an archive. If accumulated context grows too large:
|
|
171
|
-
- Keep only 3-5 recent decisions in summary (full log in PROJECT.md)
|
|
172
|
-
- Keep only active blockers, remove resolved ones
|
|
173
|
-
|
|
174
|
-
The goal is "read once, know where we are" — if it's too long, that fails.
|
|
175
|
-
|
|
176
|
-
</size_constraint>
|