mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 22:56:29 +00:00
75 lines
3.3 KiB
Markdown
75 lines
3.3 KiB
Markdown
## Step 2: Solution Analysis
|
|
|
|
**Role**: Professional software architect
|
|
**Goal**: Produce `architecture.md`, `system-flows.md`, `data_model.md`, and `deployment/` from the solution draft
|
|
**Constraints**: No code, no component-level detail yet; focus on system-level view
|
|
|
|
### Phase 2a: Architecture & Flows
|
|
|
|
1. Read all input files thoroughly
|
|
2. Incorporate findings, questions, and insights discovered during Step 1 (blackbox tests)
|
|
3. Research unknown or questionable topics via internet; ask user about ambiguities
|
|
4. Document architecture using `templates/architecture.md` as structure
|
|
5. Document system flows using `templates/system-flows.md` as structure
|
|
|
|
**Self-verification**:
|
|
- [ ] Architecture covers all capabilities mentioned in solution.md
|
|
- [ ] System flows cover all main user/system interactions
|
|
- [ ] No contradictions with problem.md or restrictions.md
|
|
- [ ] Technology choices are justified
|
|
- [ ] Blackbox test findings are reflected in architecture decisions
|
|
|
|
**Save action**: Write `architecture.md` and `system-flows.md`
|
|
|
|
**BLOCKING**: Present architecture summary to user. Do NOT proceed until user confirms.
|
|
|
|
### Phase 2b: Data Model
|
|
|
|
**Role**: Professional software architect
|
|
**Goal**: Produce a detailed data model document covering entities, relationships, and migration strategy
|
|
|
|
1. Extract core entities from architecture.md and solution.md
|
|
2. Define entity attributes, types, and constraints
|
|
3. Define relationships between entities (Mermaid ERD)
|
|
4. Define migration strategy: versioning tool (EF Core migrations / Alembic / sql-migrate), reversibility requirement, naming convention
|
|
5. Define seed data requirements per environment (dev, staging)
|
|
6. Define backward compatibility approach for schema changes (additive-only by default)
|
|
|
|
**Self-verification**:
|
|
- [ ] Every entity mentioned in architecture.md is defined
|
|
- [ ] Relationships are explicit with cardinality
|
|
- [ ] Migration strategy specifies reversibility requirement
|
|
- [ ] Seed data requirements defined
|
|
- [ ] Backward compatibility approach documented
|
|
|
|
**Save action**: Write `data_model.md`
|
|
|
|
### Phase 2c: Deployment Planning
|
|
|
|
**Role**: DevOps / Platform engineer
|
|
**Goal**: Produce deployment plan covering containerization, CI/CD, environment strategy, observability, and deployment procedures
|
|
|
|
Use the `/deploy` skill's templates as structure for each artifact:
|
|
|
|
1. Read architecture.md and restrictions.md for infrastructure constraints
|
|
2. Research Docker best practices for the project's tech stack
|
|
3. Define containerization plan: Dockerfile per component, docker-compose for dev and tests
|
|
4. Define CI/CD pipeline: stages, quality gates, caching, parallelization
|
|
5. Define environment strategy: dev, staging, production with secrets management
|
|
6. Define observability: structured logging, metrics, tracing, alerting
|
|
7. Define deployment procedures: strategy, health checks, rollback, checklist
|
|
|
|
**Self-verification**:
|
|
- [ ] Every component has a Docker specification
|
|
- [ ] CI/CD pipeline covers lint, test, security, build, deploy
|
|
- [ ] Environment strategy covers dev, staging, production
|
|
- [ ] Observability covers logging, metrics, tracing, alerting
|
|
- [ ] Deployment procedures include rollback and health checks
|
|
|
|
**Save action**: Write all 5 files under `deployment/`:
|
|
- `containerization.md`
|
|
- `ci_cd_pipeline.md`
|
|
- `environment_strategy.md`
|
|
- `observability.md`
|
|
- `deployment_procedures.md`
|