docs: add architecture decision records and graduate their rules - #602
Closed
gbrlcustodio wants to merge 2 commits into
Closed
docs: add architecture decision records and graduate their rules#602gbrlcustodio wants to merge 2 commits into
gbrlcustodio wants to merge 2 commits into
Conversation
gbrlcustodio
force-pushed
the
docs/decisions
branch
from
August 11, 2026 23:32
b2de96b to
7f06108
Compare
gbrlcustodio
force-pushed
the
docs/authoring
branch
2 times, most recently
from
August 11, 2026 23:54
58b44e5 to
b2cd65b
Compare
gbrlcustodio
force-pushed
the
docs/decisions
branch
from
August 11, 2026 23:54
7f06108 to
a789c8f
Compare
gbrlcustodio
force-pushed
the
docs/authoring
branch
from
August 12, 2026 17:57
b2cd65b to
ec3c27f
Compare
gbrlcustodio
force-pushed
the
docs/decisions
branch
from
August 12, 2026 17:57
a789c8f to
19b7718
Compare
… conventions Fold the boundary cluster (validate at the edge, parse don't validate, self-guaranteeing types), type ownership, and the response-typing rule into docs/contributing/conventions.md. Re-scope architecture into docs/contributing/architecture.md around the layer model, composition root, ports, and the three surfaces. Thin the root AGENTS.md coding sections to a router that points to the two design docs. Remove docs/architecture.md and docs/response-typing.md, whose content moved. Repoint docs/README.md, packages/mcp/pyproject.toml, and packages/mcp/AGENTS.md at the new paths. Signed-off-by: Gabriel <gabriel.custodio@pipefy.com>
Add docs/contributing/authoring.md, which records where a doc belongs in the docs/ tree: audience first, then Diataxis kind. Add the four consolidated records under docs/contributing/adr/: layered responsibility, typed single-form contract, MCP tools express outcomes, and vertical-slice structure. An index README maps each record to the living doc that holds its current rule. All four records land as proposed. A fact-check against the code found that no record is adopted yet, so the set stays one editable proposal until each rule is true of the code. Link each record from the living doc that carries its rule, and add to docs/mcp/README.md the tool-design section that architecture.md points to. Signed-off-by: Gabriel <gabriel.custodio@pipefy.com>
gbrlcustodio
force-pushed
the
docs/decisions
branch
from
August 12, 2026 18:46
19b7718 to
b45fb3d
Compare
This was referenced Aug 12, 2026
Member
Author
|
Closing in favor of #627, which carries the same branch ( The content is unchanged and the head commit is the same. The only reason for a new number is that GitHub refuses a base change on a member of a native stack, and this PR still pointed at This PR also now includes the authoring guideline from #598 and the record statuses from #625, so the four-PR stack is two PRs: #597 then #627. |
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.
devdocs/architecture-principlesdocs/contributing/adr/.Review #597 first. This diff shows only the second step.
What
Record the architecture decisions from the refactor spike as four consolidated decision records, add the guideline that says where a doc belongs, and connect both to the living docs.
docs/contributing/authoring.md(new): where a doc goes. Audience first (contributor, consumer by surface, durable cross-cutting at root), then Diataxis kind, one kind per file where practical. Generate fast-changing reference from code. Keep recognizable names and do not invent buckets for a few files. It also holds the rule for where a decision record lives.docs/contributing/adr/(new): four records. Layered responsibility (0001), typed single-form contract (0002), MCP tools express outcomes (0003), vertical-slice structure and naming (0004). An indexREADME.mdmaps each record to the living doc that carries its current rule, and lists the rollout work tracked in refactor: apply the four architecture decisions (ADR rollout) #601.docs/mcp/README.md: gains the tool-design section thatarchitecture.mdpoints to.docs/contributing/architecture.md: four lines change, each one a back-link to a record this PR creates. That is the whole diff on this file.All four records land as proposed
None is adopted. A fact-check against the code found that the rules are not yet true of the code, so the set stays one editable proposal rather than a set of immutable records.
This matters for how you read them. An adopted record is immutable, and changing the decision means adding a record that supersedes it. A proposed record is still editable in place, so a correction here is cheap. Say so now if a decision reads wrong.
The rollout that would earn adoption is tracked in #601.
Why the records are separate from the rules
The rule a contributor follows day to day lives in a living doc (
architecture.md,conventions.md,mcp/README.md). The record keeps the reasoning that produced it. A living doc can be edited freely as the code moves. A record, once adopted, cannot. Splitting them means the durable why does not rot alongside the current how.Scope notes
refactor/mcp-named-concerns.domain-surface-map.mdships. It derived from an internal model, so its durable slice list moved into ADR-0004 and its migration work-list into refactor: apply the four architecture decisions (ADR rollout) #601.Testing
Docs-only. No test asserts a
docs/path, and no workflow checks links, so verification is manual:architecture.mdpoint at records this same PR adds, so no merge point has a dangling link.