Problem
- build_dep_graph_from_architecture only returned a subgraph for the modules being synced. When architecture.json listed a dependency outside that set (partial sync) or a filename with no matching arch entry (orphan), edges were dropped with no signal. Operators could not tell whether the schedule was intentionally minimal or silently inconsistent with the file.
- update_architecture_from_prompt treated some prompts as “touching” dependencies even when the prompt had no metadata. Reason- or interface-only updates could wipe dependencies in architecture.json, even though those edges may still be valid (e.g. from or manual curation).
Solution
-
Visibility for graph construction
Return a small result type (graph + warnings) from build_dep_graph_from_architecture.
Emit warnings for orphan dependency filenames and for dependencies not in the sync target set (edge still omitted from the scheduled graph).
Surface warnings in agentic sync output when not in quiet mode.
-
Preserve dependencies unless the prompt defines them
Update architecture.json dependencies only when the prompt includes dependency intent: present (including empty tag to mean “clear”) or a non-empty parsed dependency list.
Do not clear dependencies on prompts that only change reason/interface and do not specify deps.
Tests cover the new graph API, warning text, preservation vs explicit clear, and related agentic/architecture sync paths.
Related Issue
Parent #733 (addresses parts of this issue) (733 will be broken into few smaller PRs to allow for continous methodical improvements)
Problem
Solution
Visibility for graph construction
Return a small result type (graph + warnings) from build_dep_graph_from_architecture.
Emit warnings for orphan dependency filenames and for dependencies not in the sync target set (edge still omitted from the scheduled graph).
Surface warnings in agentic sync output when not in quiet mode.
Preserve dependencies unless the prompt defines them
Update architecture.json dependencies only when the prompt includes dependency intent: present (including empty tag to mean “clear”) or a non-empty parsed dependency list.
Do not clear dependencies on prompts that only change reason/interface and do not specify deps.
Tests cover the new graph API, warning text, preservation vs explicit clear, and related agentic/architecture sync paths.
Related Issue
Parent #733 (addresses parts of this issue) (733 will be broken into few smaller PRs to allow for continous methodical improvements)