feat(export): flowr export command with JSON and Mermaid adapters#16
Merged
feat(export): flowr export command with JSON and Mermaid adapters#16
Conversation
- Add export feature discovery artifacts (event storming, domain model, glossary updates, interview notes, feature file) - Migrate system.md content into technical_design.md, delete system.md - Convert all ASCII diagrams to Mermaid in spec docs - Fix glossary orphaned entry, domain_model title/section order
- AGENTS.md: read overlapping in/out artifacts before dispatch (UPDATE not CREATE) - AGENTS.md: unbundle dispatch phases with commit discipline reference - flowr-spec: add git to common attrs keys
- Split export.feature into 3 features for INVEST compliance (core/json/mermaid) - Add typed source stubs (FlowExporter Protocol, JsonExporter, MermaidExporter, registry) - Add 17 test skeletons with @id traceability (all skipped) - Add feature-specific Definition of Done for export - Add post-mortem PM_20260506_non-hex-feature-ids
pyright inferred node dict as dict[str, str], but attrs is dict[str, Any]. Explicit annotation resolves the static type check failure.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
flowr mermaidwith unifiedflowr export --format <format>command backed by a pluggable adapter architecture--flat,--no-attrs) and MermaidExporter (stateDiagram-v2 with--no-conditions)Acceptance Criteria
All 17 BDD scenarios pass (337 tests, 100% coverage):
8ababd336c684a4643d8849fd0169acb3c8f8a0ae4152bc919cb145bdad5b532f8eb40197187f2adf79514e599a274dda2045d9667b1b50c2e068a231d5ba1720ce7099fBreaking Change
flowr mermaidis removed. Users must migrate toflowr export --format mermaid.Files Changed
flowr/__main__.py— export subcommand, mermaid removal, directory modeflowr/domain/export.py— FlowExporter Protocolflowr/exporters/— JsonExporter, MermaidExporter, registrydocs/— discovery artifacts, feature files, spec updatestests/— 17 BDD tests + 7 unit tests, 100% coverage