A spec that spans several repositories is not one document that everyone reads the same way. It is one source of truth that six different people open to find six different things. The product manager wants to know the feature is described correctly. The developer wants to know what lands in their repository. QA wants the test scenarios. Hand all of them the same PDF and most of them are skimming for the one section that is theirs.
The mistake is treating that as a documentation problem — write it better, add headings — when it is a structure problem. Each role has a different job to do with the same underlying facts, and the artifact only works if it serves each of those jobs without forcing everyone to read the whole thing.
What every role actually depends on is the same underlying map: which repositories the feature touches, how the services connect, and where each claim comes from in the code. A product manager who cannot enumerate the affected services, and a developer who does not trust the task landing in their queue, are suffering from two symptoms of one missing thing — a shared, source-anchored view of the work.
That is why the design goal is a single generated artifact with the evidence attached, not a stack of role-specific documents that drift apart. When the technical section cites a file, a line, and a commit, the tech lead can verify it instead of arguing about it. When the same underlying analysis produces the product doc and the task breakdown, the developer's tickets and the PM's spec cannot quietly disagree, because they came from the same reading of the repositories.
How a person uses the spec is not the same as what the system lets them do. Job titles are not permissions — the tool does not have a "developer" or "QA" role. The permission model underneath is deliberately small: within a project you are an owner, an admin, a member, or a viewer, and that is the whole list.
Two parts of that are worth calling out because they shape how a team adopts it:
The result is one artifact that six roles use differently and a permission model that keeps the outward-facing decisions with the people accountable for them. A spec is not more useful because everyone reads all of it. It is more useful when each person can trust the slice that is theirs — and follow it back to the code when they don't.
Your product ships from five repositories, but every tool you own understands one at a time. That gap is where planning breaks, and it is the gap WeaveSpec exists to close.
Connecting your repositories to any tool is a real decision. The questions worth asking are not about trust — they are about what gets stored, what can leave, and what keeps tenants apart.
A coding agent is only as good as the spec you hand it. Across several repositories, the missing input is not more code — it is a clear, source-anchored description of the work.
A tool that reads your repositories and writes documents is easy to describe and easy to mistrust. The refusals are the part worth reading first.