Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .flowr/flows/architecture-flow.mermaid
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"mermaid": "stateDiagram-v2\n state \"architecture-assessment\" as architecture-assessment\n state \"context-mapping\" as context-mapping\n state \"technical-design\" as technical-design\n state \"review-signoff\" as review-signoff\n architecture-assessment --> complete : no-architecture-needed | architecture-complete: ==verified\n architecture-assessment --> context-mapping : needs-context-update | domain-model-md: ==exists\n architecture-assessment --> technical-design : needs-technical-design | domain-model-md: ==exists\n architecture-assessment --> context-mapping : greenfield | domain-model-md: ==missing\n architecture-assessment --> needs-discovery : delivery-mismatch-unresolvable\n architecture-assessment --> needs-discovery : needs-discovery\n context-mapping --> technical-design : done\n context-mapping --> needs-discovery : needs-discovery\n technical-design --> review-signoff : done\n review-signoff --> complete : approved | alignment: ==domain-model-verified, adr-compliance: ==adrs-respected, committed-to-main-locally: ==verified\n review-signoff --> architecture-assessment : inconsistent\n review-signoff --> needs-discovery : needs-discovery"
}
112 changes: 36 additions & 76 deletions .flowr/flows/architecture-flow.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
flow: architecture-flow
version: 6.0.0
version: 8.0.0
exits:
- complete
- needs_discovery
- needs-discovery

states:
- id: architecture-assessment
Expand All @@ -15,42 +15,36 @@ states:
in:
- product_definition.md
- domain_model.md
- "technical_design.md" # optional
- "context_map.md" # optional
out:
- product_definition.md:
- deployment
- quality_attributes
conditions:
architecture_complete:
technical_design_md: ==exists
context_map_md: ==exists
deployment_matches_codebase: ==verified
architecture_exists:
technical_design_md: ==exists
context_map_md: ==exists
no_architecture_exists:
technical_design_md: ==false
context_map_md: ==false
architecture-complete:
architecture-complete: ==verified
architecture-exists:
domain-model-md: ==exists
no-architecture-exists:
domain-model-md: ==missing
next:
no_architecture_needed:
no-architecture-needed:
to: complete
when: architecture_complete
needs_context_update:
when: architecture-complete
needs-context-update:
to: context-mapping
when: architecture_exists
needs_technical_design:
when: architecture-exists
needs-technical-design:
to: technical-design
when: architecture_exists
when: architecture-exists
greenfield:
to: context-mapping
when: no_architecture_exists
delivery_mismatch_unresolvable: needs_discovery
needs_discovery: needs_discovery
when: no-architecture-exists
delivery-mismatch-unresolvable: needs-discovery
needs-discovery: needs-discovery

- id: context-mapping
attrs:
description: "SA maps bounded context relationships, integration points, and anti-corruption layers"
description: "SA maps bounded context relationships, Vernon patterns, and anti-corruption layers into domain_model.md"
owner: SA
git: main
skills:
Expand All @@ -60,62 +54,30 @@ states:
- product_definition.md
- glossary.md
out:
- context_map.md:
- context_relationships
- context_map_diagram
- integration_points
- anti_corruption_layers
- domain_model.md:
- context_map
- changes
next:
done: technical-design
needs_discovery: needs_discovery
needs-discovery: needs-discovery

- id: technical-design
attrs:
description: "SA designs the technical solution — architectural style, stack, module structure, API/event contracts, interface definitions"
description: "SA selects technology stack, documents dependencies, and drafts ADRs for architectural decisions"
owner: SA
git: main
skills:
- design-technical-solution
- draft-adr
in:
- context_map.md
- domain_model.md
- glossary.md
- product_definition.md
- "technical_design.md" # optional
out:
- technical_design.md:
- architectural_style
- quality_attributes
- stack
- module_structure
- api_contracts
- event_contracts
- interface_definitions
- c4_diagrams
- product_definition.md:
- technology_stack
- dependencies
- configuration_keys
next:
done: review-signoff
needs_decisions: adr-draft

- id: adr-draft
attrs:
description: "SA documents architecturally significant decisions as ADRs and records key decisions and active constraints in technical_design.md"
owner: SA
git: main
skills:
- draft-adr
in:
- technical_design.md
- context_map.md
- domain_model.md
- product_definition.md
- glossary.md
out:
- technical_design.md:
- key_decisions
- active_constraints
- adr/<slug>.md
- adr/<adr_id>.md
next:
done: review-signoff

Expand All @@ -127,24 +89,22 @@ states:
skills:
- review-architecture
in:
- context_map.md
- technical_design.md
- "adr/*.md" # optional
- "adr/<adr_id>.md" # optional
- product_definition.md
- domain_model.md
- glossary.md
out: []
conditions:
architecture_approved:
alignment: ==domain_model_verified
adr_compliance: ==adrs_respected
committed_to_main_locally:
committed_to_main_locally: ==verified
architecture-approved:
alignment: ==domain-model-verified
adr-compliance: ==adrs-respected
committed-to-main-locally:
committed-to-main-locally: ==verified
next:
approved:
to: complete
when:
- architecture_approved
- committed_to_main_locally
- architecture-approved
- committed-to-main-locally
inconsistent: architecture-assessment
needs_discovery: needs_discovery
needs-discovery: needs-discovery
3 changes: 3 additions & 0 deletions .flowr/flows/branding-flow.mermaid
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"mermaid": "stateDiagram-v2\n state \"setup-branding\" as setup-branding\n state \"design-colors\" as design-colors\n state \"design-assets\" as design-assets\n setup-branding --> design-colors : confirmed\n setup-branding --> cancelled : cancelled\n design-colors --> design-assets : approved\n design-colors --> design-colors : revise\n design-colors --> cancelled : cancelled\n design-assets --> branded : approved | logo-monochrome: ==passes, logo-scalability: ==passes, logo-blur-test: ==passes, committed-to-main-locally: ==verified\n design-assets --> design-assets : revise\n design-assets --> cancelled : cancelled"
}
24 changes: 12 additions & 12 deletions .flowr/flows/branding-flow.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,21 +52,21 @@ states:
- docs/assets/logo.svg
- docs/assets/banner.svg
conditions:
monochrome_passed:
logo_monochrome: ==passes
scalability_passed:
logo_scalability: ==passes
blur_passed:
logo_blur_test: ==passes
assets_committed:
committed_to_main_locally: ==verified
monochrome-passed:
logo-monochrome: ==passes
scalability-passed:
logo-scalability: ==passes
blur-passed:
logo-blur-test: ==passes
assets-committed:
committed-to-main-locally: ==verified
next:
approved:
to: branded
when:
- monochrome_passed
- scalability_passed
- blur_passed
- assets_committed
- monochrome-passed
- scalability-passed
- blur-passed
- assets-committed
revise: design-assets
cancelled: cancelled
3 changes: 3 additions & 0 deletions .flowr/flows/delivery-flow.mermaid
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"mermaid": "stateDiagram-v2\n state \"acceptance\" as acceptance\n state \"local-merge\" as local-merge\n state \"publish-decision\" as publish-decision\n state \"pr-creation\" as pr-creation\n acceptance --> local-merge : approved | feature-status: ==ACCEPTED\n acceptance --> rejected : rejected\n local-merge --> publish-decision : merged\n local-merge --> needs-development : conflict\n publish-decision --> next-feature : accumulate\n publish-decision --> pr-creation : publish\n pr-creation --> next-feature : approved | ci-passes: ==verified, no-changes-requested: ==verified\n pr-creation --> needs-development : changes-requested\n pr-creation --> cancelled : cancelled"
}
33 changes: 17 additions & 16 deletions .flowr/flows/delivery-flow.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
flow: delivery-flow
version: 5.0.0
params: [feature_name]
params: [feature_id]

exits:
- next-feature
- rejected
- needs_development
- needs-development
- cancelled

states:
Expand All @@ -18,18 +18,19 @@ states:
- accept-feature
- verify-traceability
in:
- features/<feature_name>.feature
- features/<feature_id>.feature
- product_definition.md
- glossary.md
out:
- acceptance_evidence
- approval_record
conditions:
feature_accepted:
feature_status: ==ACCEPTED
feature-accepted:
feature-status: ==ACCEPTED
next:
approved:
to: local-merge
when: feature_accepted
when: feature-accepted
rejected: rejected

- id: local-merge
Expand All @@ -40,14 +41,14 @@ states:
skills:
- merge-local
in:
- feature_commits
- feature-commits
- approval_record
- features/<feature_name>.feature
- features/<feature_id>.feature
out:
- merged_commits
- merged-commits
next:
merged: publish-decision
conflict: needs_development
conflict: needs-development

- id: publish-decision
attrs:
Expand All @@ -57,7 +58,7 @@ states:
skills:
- decide-batch-action
in:
- merged_commits
- merged-commits
out: []
next:
accumulate: next-feature
Expand All @@ -71,16 +72,16 @@ states:
skills:
- create-pr
in:
- merged_commits
- features/<feature_name>.feature
- merged-commits
- features/<feature_id>.feature
out: []
conditions:
merged:
ci_passes: ==verified
no_changes_requested: ==verified
ci-passes: ==verified
no-changes-requested: ==verified
next:
approved:
to: next-feature
when: merged
changes_requested: needs_development
changes-requested: needs-development
cancelled: cancelled
3 changes: 3 additions & 0 deletions .flowr/flows/development-flow.mermaid
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"mermaid": "stateDiagram-v2\n state \"project-structuring\" as project-structuring\n tdd-cycle --> tdd-cycle-flow\n note right of tdd-cycle: invokes tdd-cycle-flow\n state \"tdd-cycle\" as tdd-cycle\n review-gate --> review-gate-flow\n note right of review-gate: invokes review-gate-flow\n state \"review-gate\" as review-gate\n state \"commit\" as commit\n project-structuring --> tdd-cycle : ready\n project-structuring --> needs-planning : needs-planning\n tdd-cycle --> review-gate : all-green | yagni: ==no-premature-abstractions, kiss: ==simplest-solution, dry: ==no-duplicated-logic, objcal: ==calisthenics-followed, smells: ==all-smells-addressed, solid: ==principles-applied, patterns: ==patterns-justified\n tdd-cycle --> project-structuring : blocked\n review-gate --> commit : pass\n review-gate --> tdd-cycle : fail\n commit --> done : done"
}
Loading
Loading