Read by role
Every function page has the same 10 sections (see the page template). Each role reads and writes different sections.
| Section | BA | Dev | Tester |
|---|---|---|---|
| 1. Purpose & scope | Writes | Reads | Reads |
| 2. Roles | Writes | Reads (permissions) | Reads (role-based tests) |
| 3. Main flow | Writes | Reads | Reads |
| 4. Status lifecycle | Writes | Reads (state machine) | Reads (transition tests) |
| 5. Business rules | Writes | Cites BR-xxx codes in code / comments |
Cites BR-xxx codes in test cases |
| 6. Fields, validation & messages | Writes | Reads | Reads (compare messages verbatim) |
| 7. Dev notes | Reads | Writes | Reads |
| 8. Test notes | Reads | Reads | Writes |
| 9. Settled decisions | Writes | Reads | Reads |
| 10. Open questions | Writes, settles | Adds questions | Adds questions |
Anyone may edit any section — “Writes” only marks who writes it most often.
- When a function’s BRD gets a new version: update the page, change the
brd:frontmatter field to the new file name, updatestatus. - When the user settles a question: move the row from section 10 to section 9 with the
Q-…code from the Q&A log. - Follow other people’s changes through the repo commit history (the GitHub Watch button sends notifications).
- Code against section 5 and section 4. Where the BRD/page says nothing, don’t guess — add a row to 10. Open questions.
- Record in section 7 what the next person needs: APIs, tables, handled edge cases, places where the real system differs from the design. State the source and date (see conventions).
Tester
Section titled “Tester”- Test cases come from section 8 (acceptance scenarios) and section 5 (each
BR-xxxgets at least one passing case and one blocked case). - Compare error messages verbatim with section 6.
- Record in section 8 new edge cases, sample data that works on DEV, and run results (date, environment).