|
67 | 67 | 4. **Proposed:** Show the exact interface, wording or architecture decision. |
68 | 68 | 5. **Feedback:** Ask one focused question about the proposal. |
69 | 69 |
|
| 70 | +### Route system boundaries to a dedicated interview |
| 71 | + |
| 72 | +During **Assessment**, before proposing a decision, explicitly trigger the |
| 73 | +system-boundary interview when any of these applies: |
| 74 | + |
| 75 | +- the Product Owner requests a member-by-member interface review; |
| 76 | +- the decision introduces a multi-member public or cross-package interface; |
| 77 | +- it materially changes an architecture or product boundary; |
| 78 | +- it changes the boundary's ownership, reachability, lifetime or absence |
| 79 | + semantics; |
| 80 | +- the interface combines independently meaningful capabilities, records, |
| 81 | + identities, routing or configuration; |
| 82 | +- understanding or naming one member requires reconciling neighboring members; |
| 83 | + or |
| 84 | +- the understanding interview reveals that the boundary itself is unclear. |
| 85 | + |
| 86 | +State why the trigger applies, inventory the members in scope, pause the main |
| 87 | +interview and run the system-boundary interview. Resume the main interview only |
| 88 | +after the complete boundary is accepted or explicitly deferred. |
| 89 | + |
| 90 | +Do not trigger it for local helpers, test-only or generated shapes, mechanical |
| 91 | +renames, or isolated conforming changes whose surrounding boundary remains |
| 92 | +settled. |
| 93 | + |
| 94 | +## System-boundary interviews |
| 95 | + |
| 96 | +Use this interview when the Product Owner asks to review an interface or type |
| 97 | +member by member, or when the routing rules above identify a system boundary. |
| 98 | +This is a contract review, not a JSDoc editing pass. |
| 99 | + |
| 100 | +### Prepare the boundary |
| 101 | + |
| 102 | +1. Read where the boundary is constructed and every place its members are |
| 103 | + consumed; do not infer their meaning from their names or comments. |
| 104 | +2. Inventory every member and keep a visible count of the review. |
| 105 | +3. For each member, determine the system behavior it enables, its owner and |
| 106 | + lifetime, why it is required or optional, and the smallest concrete example |
| 107 | + that demonstrates its purpose. |
| 108 | +4. Identify related debt, but do not expand the feature merely because the |
| 109 | + interview exposed it. |
| 110 | + |
| 111 | +### Review one member |
| 112 | + |
| 113 | +Review one member at a time in this order: |
| 114 | + |
| 115 | +1. **Feature:** Explain in one simple sentence what system behavior this member |
| 116 | + makes possible and what would be unavailable without it. |
| 117 | +2. **Example:** Show the smallest real product or execution path that uses it. |
| 118 | +3. **Current:** Show its exact signature and current documentation. |
| 119 | +4. **Contract:** Explain what it carries or decides, who owns it, its lifetime, |
| 120 | + why it may be absent, and what it does not decide when that distinction is |
| 121 | + easy to misunderstand. |
| 122 | +5. **Assessment:** Decide whether the name, type, optionality and documentation |
| 123 | + express that contract. |
| 124 | +6. **Proposed:** Show the exact replacement signature and JSDoc. |
| 125 | +7. **Feedback:** Ask one focused question, or ask for approval when the proposal |
| 126 | + is settled. |
| 127 | + |
| 128 | +Do not move to the next member until the Product Owner accepts, rejects or |
| 129 | +explicitly defers the current one. |
| 130 | + |
| 131 | +When the Product Owner does not understand, run the understanding interview |
| 132 | +below. Stop discussing names and wording, and explain the enabled behavior again |
| 133 | +with less terminology and a more concrete example. Do not use an internal |
| 134 | +concept to explain itself. |
| 135 | + |
| 136 | +### Finish the boundary |
| 137 | + |
| 138 | +1. Show the complete interface with all accepted names and documentation. |
| 139 | +2. Check related members for parallel naming, duplicated responsibility and |
| 140 | + inconsistent requiredness. |
| 141 | +3. Separate changes required for this boundary from follow-up Stories. |
| 142 | +4. Record any explicitly approved protection against later reinterpretation. |
| 143 | +5. Produce a prescriptive handoff carrying every accepted decision and explicit |
| 144 | + exclusion. |
| 145 | + |
70 | 146 | ## Communication rules |
71 | 147 |
|
72 | 148 | 1. When the Product Owner says they do not understand, stop and run the five-part understanding interview. |
|
0 commit comments