fix(kyberforge): a dispatch table satisfies the reference-wiring rule

body-discipline.md required every reference load to use the literal
'If X, read references/file.md' form and called anything else a generic
pointer. ADR-0020's own cited dispatch exemplar, apm-workflow, uses a
bare table plus one closing line, so an author could not satisfy both --
and the rule reliably produced duplication in exactly the bodies the
contract exists to keep short.

Resolves #109 with its option 1: a table row already pairs a condition
with a target, so where a body dispatches, the table is the wiring. The
literal form is what a body needs when it loads a reference without a
table.

Two corrections to the issue as filed. There is no Vale conflict --
PaddingPhrase.yml only matches 'see references/ for more info' and never
fired on the exemplar, so this is a one-file prose fix and no rule
changes. And gitea-workflow carried the predicted duplication: a
three-row table restated underneath as three conditionals. Removed, body
227 -> 148 words.

Closes #109
This commit is contained in:
2026-08-30 15:07:16 +00:00
parent ff187ef9fc
commit 7e80c09b13
4 changed files with 30 additions and 12 deletions

View File

@@ -33,11 +33,7 @@ The invocation's shape selects exactly one branch.
| A bare number, with neither "issue" nor "PR" said | Resolve which domain the number belongs to | `references/number-resolution.md` |
| A named capability whose owning skill is unclear | Route to the domain skill that owns it | `references/skill-index.md` |
If the invocation carries no specific request, read `references/status-checkin.md`.
If the request references a bare number and never says "issue" or "PR", read `references/number-resolution.md`.
If the request names a capability but not which skill owns it, read `references/skill-index.md`.
Read only the reference file matching the selected branch — each is self-contained for its concern.
## Report