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
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/).

### Removed

- **`langgraph_engine/helper_nodes/` is deleted** (5 modules, 538 lines). All nine of its public node functions were also defined in `orchestrator.py`, which is the module the graph actually wires, and nothing imported the package -- it was an extraction that was started and never completed. Two documentation corrections existed **only** in the orphaned copy and were ported to `orchestrator.py` before the deletion rather than discarded with it: `save_workflow_memory`'s comment named `~/.claude/memory/sessions/` while its code writes to `memory/logs/sessions/`, and `optimize_context_after_level1` still said "Level 3" in three places, a level that stopped existing in the `06b0463` rename. The live module had the stale text in both cases.

- **Step 1 no longer decomposes or executes the prompt it emits** (fb7bbaa). Phase 2 ran `todo_decomposer` to split the orchestration prompt into a TODO list and `orchestrator_agent_caller` once per TODO, each a nested `claude -p` subprocess. Both re-derived work that belongs elsewhere: the master template's STEP 13 already produces the MULTI-AGENT PROMPT BUNDLE, and the node runs inside a hook subprocess, so it cannot execute in the session it is serving -- it can only hand that session something to run. `orchestrator_result` now records what was emitted (`mode`, `prompt_chars`, `template_source`, `library_version`) rather than what was executed. An empty dict would have satisfied the contracts equally well, but `flow_trace_converter` and `decision_explainer` both read the field to build reports, and handing them a hollow value to keep a postcondition green is how a trace starts lying about what happened.
- **The three Step 1 Phase 2 scripts are deleted** (c1d1d47): `todo_decomposer.py`, `todo_executor.py`, `orchestrator_agent_caller.py`, together with `tests/test_todo_decomposition.py` (27 tests, which imported them directly and covered nothing else). They had no caller after fb7bbaa. Dead code that still looks live is worse than absent code -- the next reader would have found three plausible scripts describing an execution model the pipeline no longer has.
- **Four FlowState fields dropped** (e59a271): `todo_list`, `todo_results`, `completed_todos`, `current_todo_index`. With the scripts gone they had neither a writer nor a reader anywhere in the engine. `completed_todos` additionally declared an `_merge_lists` parallel-write reducer for a value no node produces.
Expand Down
5 changes: 2 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Claude Workflow Engine is a 3-level LangGraph-based orchestration pipeline for a
| **Status** | Active Development |
| **Primary Location** | langgraph_engine/ |
| **MCP Servers** | 13 servers -- all in separate repos under [techdeveloper-org](https://github.com/orgs/techdeveloper-org/repositories); 1 also keeps an in-engine copy in `src/mcp/` |
| **Total Python Files** | 253 (langgraph_engine/); 493 repo-wide |
| **Total Python Files** | 248 (langgraph_engine/); 488 repo-wide |
| **Test Files** | 100 (91 unit, 5 integration, 3 e2e, 1 load) |
| **Call Graph** | 578 classes, 3,985 methods, 4 languages (Python/Java/TS/Kotlin) |

Expand Down Expand Up @@ -141,7 +141,7 @@ Level 2: SDLC Execution Core (9 active steps: Steps 0-8)
| +-- project_session.py # Session utilities (imported by hook packages)
| +-- policy_tracking_helper.py # Policy tracking (imported by hook packages)
+-- langgraph_engine/ # Core orchestration engine (REPO ROOT -- sibling of scripts/, NOT nested under it)
| +-- core/ state/ routing/ helper_nodes/ # LazyLoader/ErrorHandler, FlowState, routing, helper nodes
| +-- core/ state/ routing/ # LazyLoader/ErrorHandler, FlowState, routing
| +-- diagrams/ (+drawio/) parsers/ integrations/ # Strategy/Factory: UML gens, 4 lang parsers, GitHub/Jira/Figma/Jenkins
| +-- analysis/ context/ engine_logging/ github/ metrics/ quality/ security/ skills/ standards/ # domain subpackages (v1.20 migration)
| +-- build_dependency_resolver/ runtime_verification/ # build-dep parsers; node contracts + verifier
Expand Down Expand Up @@ -177,7 +177,6 @@ Level 2: SDLC Execution Core (9 active steps: Steps 0-8)
| State Package | langgraph_engine/state/ | FlowState, StepKeys, reducers, WorkflowContextOptimizer |
| Core Package | langgraph_engine/core/ | LazyLoader, get_logger, node_error_handler, NodeResult, create_step_node |
| Routing Package | langgraph_engine/routing/ | All routing functions split by level |
| Helper Nodes | langgraph_engine/helper_nodes/ | Orphaned package -- no live importers anywhere in the repo (confirmed by repo-wide grep); kept internally consistent but scheduled for removal in a follow-up cleanup |
| Graph Factory | langgraph_engine/orchestrator.py | create_flow_graph(hook_mode): single canonical StateGraph factory (verify_node runtime-verification wrapping applied here) |
| Diagrams Package | langgraph_engine/diagrams/ | Strategy Pattern: DiagramFactory + 13 generators |
| Parsers Package | langgraph_engine/parsers/ | Abstract Factory: ParserRegistry + 4 language parsers |
Expand Down
20 changes: 0 additions & 20 deletions langgraph_engine/helper_nodes/__init__.py

This file was deleted.

94 changes: 0 additions & 94 deletions langgraph_engine/helper_nodes/context_helpers.py

This file was deleted.

Loading
Loading