docs: Modularization & Reproducibility Plan - #158
Draft
rafmacalaba wants to merge 1 commit into
Draft
Conversation
Proposes a datasource plugin contract (multi-server MCP registry, capability tags, prompt packs, frontend renderer registry) so other teams can self-host with their own data sources while Data360 remains the default profile. Includes current/target architecture diagrams, rationale for each design decision, 5-phase implementation plan, verification matrix, and risks.
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
Adds TODO/MODULARIZATION-REPRODUCIBILITY-PLAN.md — a proposal to modularize this repo so other teams can reproduce it with their own data sources / MCP servers, while Data360 remains the default profile. Documentation only in this single plan document — no code changes.
Why
The README already claims "Any other MCP server can be plugged in by changing
MCP_SERVER_URL", but only the endpoint is configurable. Everything downstream assumes Data360: tool-name partitions, 1,857 lines of Data360 prompts, quick-answer card synthesis ondata360_*names, adata360-hardcoded readiness gate, and a frontend with per-tool widget switches and mandatory@data360/*deps.Proposal (5 phases, each independently mergeable)
MCP_SERVERS_JSONwith per-server auth/capabilities; legacyMCP_*env vars keep workingdata360_*tool-name frozensetsexamples/demo-mcptoy server + onboarding guide; end-to-end run with zero Data360 dependencyThe document includes current/target architecture diagrams (mermaid), rationale for each design decision, a verification matrix, and risks & trade-offs.
Review focus
MCP_SERVERS_JSONenv var (recommended) vs YAML config fileapp/utils/stream.pypath