feat: session management, flow name resolution, configurable paths#5
Closed
feat: session management, flow name resolution, configurable paths#5
Conversation
…paths Three features delivered: 1. CLI Flow Name Resolution — resolves short flow names to file paths using the configured flows_dir. File paths take priority. --flows-dir global flag overrides pyproject.toml. Clear error on not-found. @id: a1b2c3d4 e5f6g7h8 i9j0k1l2 m3n4o5p6 q7r8s9t0 u1v2w3x4 y5z6a7b8 2. Session Management (Core) — session init/show/set-state subcommands, --session flag on transition with auto-write, subflow push/pop stack, state validation on set-state, atomic writes. SessionStore Protocol in domain layer per hexagonal architecture. @id: a1b2c3d4 i9j0k1l2 m3n4o5p6 u1v2w3x4 c9d0e1f2 o1p2q3r4 s5t6u7v8 w9x0y1z2 3. Configurable Paths — flowr config subcommand showing resolved config keys with sources (default/pyproject.toml/cli), --json output, resolve_config_with_sources() for source tracking. @id: 2e301322 36d41122 9d4c4973 Also includes: spec documentation (domain model, context map, technical design, system, glossary, product definition), interview notes, 8 post-mortems documenting process failures and golden rules.
- Add unit tests for session commands, session store, config, and domain edge cases - Add pragma: no cover for unreachable Protocol stubs, Python version fallbacks, and main() dispatch paths covered by integration tests - Fix lint: line length, unused imports, unused variables, trailing newlines
Owner
Author
|
Superseded by PR #6 which contains all changes from this PR plus the session-management-extended feature. |
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
flows_dir. File paths take priority.--flows-dirglobal flag overridespyproject.toml. Exit code 1 with clear error on not-found. (7 BDD scenarios, 5 unit tests, 100% coverage on changed modules)session init/show/set-statesubcommands,--sessionflag ontransitionwith auto-write, subflow push/pop stack, state validation on set-state, atomic writes.SessionStoreProtocol in domain layer per hexagonal architecture. (8 BDD scenarios, 1 unit test)flowr configsubcommand showing resolved config keys with sources (default/pyproject.toml/cli),--jsonoutput,resolve_config_with_sources()for source tracking. (3 BDD scenarios)Also includes: spec documentation (domain model, context map, technical design, system, glossary, product definition), 8 interview notes, and 8 post-mortems documenting process failures.
Test plan
ruff checkandruff format --checkpass cleanly