Replies: 6 comments 4 replies
-
|
Question - Since architectural decisions often apply across multiple services or repositories (especially in distributed systems), it might make sense to maintain a dedicated Decision Records repository at the org or program level. This centralized ADR repo could: Track decisions that impact multiple systems (e.g., authentication strategies, data contracts, shared infrastructure). Reference individual project-level ADRs where needed (e.g., via links or IDs). Serve as a governance artifact for architecture review boards. Of course, some decisions are very localized, and it still makes sense to keep those in the repo where the implementation lives. So we could adopt a hybrid model: Local /adr folders for repo-specific decisions. Furthermore, am I the only one who gets concerned that as the number of tools and supporting artifacts grows — things like SPARC outputs, ADRs, test scaffolding, architecture diagrams, and config files — the repo risks becoming increasingly cluttered? It starts to blur the line between core implementation and surrounding process/meta artifacts, which may impact maintainability |
Beta Was this translation helpful? Give feedback.
-
|
ADR for a single application works also.... This would be interesting indeed. |
Beta Was this translation helpful? Give feedback.
-
|
This would increase standards across multiple projects and reduce duplicate code and Maintenace of code. |
Beta Was this translation helpful? Give feedback.
-
|
@ruvnet What are your thoughts? |
Beta Was this translation helpful? Give feedback.
-
|
Makes sense. I like the split between local ADRs for module-specific
context and a central repo for shared protocol-level decisions. Fits well
with how SPARC agents operate across scopes. Main concern is divergence…
might be worth enforcing sync rules or having agents auto-flag conflicts.
Let’s keep it lightweight and agent-parsable. What do you think about next
steps?
@ruv
…On Wed, Jul 16, 2025 at 8:08 PM tbowman01 ***@***.***> wrote:
@ruvnet <https://github.com/ruvnet> What are your thoughts?
—
Reply to this email directly, view it on GitHub
<#268 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAWMM6RYZ62RL42C7JWAASD3I3SOLAVCNFSM6AAAAACBQSBMJKVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGNZYGQYTONQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
Here is my pilot of this solution. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
As a developer, I have a need to add Architectural Design Records to our projects in order to assist with the governance and transparency workflow. I would like to explore if this is a feature @ruvnet or the community are interested in.
Goal: Combine SPARC’s structured, AI-augmented development pipeline with the clarity and traceability of MADR-style Architectural Decision Records. In practice, this means running a SPARC project and maintaining an /adr folder (or docs/decisions) where all significant architectural decisions are logged in Markdown. The two systems complement each other: SPARC gives you a working product with rich artifacts (code, tests, generated docs), while MADR ensures you don’t lose sight of the reasoning behind the key design and architecture choices made along the way.
📂 Suggested Project Structure with ADRs
/adr/ # ADR markdown files (the decision records log)
/plans/ # SPARC-generated specifications and plans (Specification phase outputs)
/architecture/ # SPARC-generated architecture artifacts (Architecture phase outputs, diagrams, etc.)
/tests/ # Tests (from SPARC's testing/TDD phases)
/src/ # Source code (from Refinement/Completion phases)
... # (other SPARC files: .roo config, .roomodes, etc.)
In this layout, the ADRs live in their own directory alongside the other major components of the project. Keeping adr/ at the top level (or under a top-level docs/ folder) is a common practice so that these records are easily discoverable. Meanwhile, SPARC’s normal output folders (like plans, architecture, etc.) remain as expected. The point is not to alter SPARC’s structure, but to augment it: whenever SPARC’s process results in a decision or an artifact that represents a choice, we create a corresponding entry in the adr/ log documenting that choice. The ADR files are plain text and can cross-reference the other artifacts. For example, an ADR might say “see the design diagram in /architecture/auth_flow.png for details” and the architecture.md might note “decision rationale recorded in ADR-0005”. This parallel structure ensures code, documentation, and decision records all travel together in the project.
** I have more detailed plans drafted if interested.
Beta Was this translation helpful? Give feedback.
All reactions