v1
A real conversion, with a public repo and a live dashboard, ambers included

Case study: a real Word BRD becomes a self-reporting project.

Refuge for Humans is a real C4G product: a 14-section business requirements document written in Word. This is what happened when we ran it through the pipeline, including the parts that failed.

Start here · Case study

A dense, well-written BRD with invisible gaps.

The document was good by Word-document standards: an executive summary, strategic goals, a success-metrics table, detailed signal specifications, NFRs, and a risk table, and its fourteen sections held real product thinking. What nobody could see from the prose was which requirements had no test, which risks had no owner, and what a reviewer would still need to chase down.

terminal
pip install "docassert[convert]" docassert extract "Refuge for Humans BRD.docx"   # .docx → plain text, tables included
The conversion

Mapped faithfully, with nothing padded to pass.

The doc-to-pmo skill split the BRD into a proper spine: a project anchor, charter, BRD, PRD, functional & non-functional requirements, a risk register, and test cases. At import that came to 49 traceable items, every reference resolving, all seven business requirements covered. The set has grown since; new scope arrives the same way everything else does here, through a pull request the gate re-checks. Where the source stated a threshold, it became a measurable criterion. Where it didn't, nothing was invented.

documents/PRJ-001-RFH/brd.md (excerpt)
- **RFH-BR-001**: The business shall block AI-generated posts before publication at a rate above 95% at steady state. - **RFH-BR-002**: The business shall keep false positives below 2% of genuine human posts.
The findings

The audit produced the PM's to-do list.

Run the checks and the invisible gaps become named findings that describe the actual state of the spec:

docassert validate · docassert status
✗ Missing required frontmatter: 'budget'; dates: 'target'   # the BRD names neither✗ RFH-RISK-001…005 missing Probability, Impact, Owner        # 5 risks, descriptions only🟠 product requirement covered by an acceptance criterion: 4/10 # six PRs untested
No budget, no target date, no named sponsor
The charter carries the gaps as TODOs. Nobody typed a plausible number to quiet the tool.
6 of 10 product requirements had no acceptance criterion
Surfaced by the traceability graph in seconds; prose reviews reliably miss this kind of gap.
The feedback loop

The deployment improved the standard itself.

The first audit blocked the draft charter for its missing budget, but "budget unknown yet" is a legitimate state for a draft. That tension went upstream the same day, into spec v0.2 and docassert 0.7.0, and the standard has distinguished integrity checks, which always block, from completeness checks, which are advisory for drafts and gate the moment a document is proposed. The finding came from real use and shipped back into the standard within a day.

Live now

See it running, ambers and all.

The repo is public, the gate is binding, and the dashboard derives its status from the documents on every push. The badge below is live: it turns green when the work does, and no one can set it by hand.

Refuge for Humans — live derived status

The execution bridge

Approved stories became a governed board.

When the user stories were approved, the bridge scaffolded delivery in one pass. Ten product requirements became Feature issues, ten stories became sub-issues beneath them, and every item landed on a Projects board carrying its document id and project. The gate is real: draft stories never reach the board, and the whole structure regenerated idempotently on the second run.

The scope guard proved itself the same day. A test issue titled "Add dark mode" was flagged scope:unverified within seconds of creation, with a comment pointing at the documents as the place scope changes actually happen. The project page now shows a Delivery panel reading from the board beside the document-derived status, and a Feature closes itself when its last story lands.

Do this to your documents

One template click gives you the gate and the dashboard; one prompt lets Claude convert your existing Word docs the same way.