From de3f04baab2933408a5be25946665690055c2554 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Thu, 17 Sep 2026 22:16:37 +0000 Subject: [PATCH] =?UTF-8?q?docs(deed):=20family-4=20extension=20=E2=80=94?= =?UTF-8?q?=20[methodology]=20tabled;=20D4-1=20comment-canon=20doctrine?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit rsr instance carries [methodology] fields (unobserved in the standards recon) and moves constraints/on-* protocol via comments. Field table extended; comment-carried blocks classified as identical template-canon (derivable doctrine applied to prose): deeds carry pointer fields only; canon-diff detection fails closed on divergence. Refs #837 --- ...gentic-neurosym-playbook-to-repo-deed.adoc | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/1-formats/deed/mappings/agentic-neurosym-playbook-to-repo-deed.adoc b/1-formats/deed/mappings/agentic-neurosym-playbook-to-repo-deed.adoc index 507b8acda..9ea0732d8 100644 --- a/1-formats/deed/mappings/agentic-neurosym-playbook-to-repo-deed.adoc +++ b/1-formats/deed/mappings/agentic-neurosym-playbook-to-repo-deed.adoc @@ -43,9 +43,27 @@ Clauses `(agentic …)`, `(neurosym …)`, `(playbook …)` on the repo's single | `[agent-permissions] can-edit-source/tests/docs/config/create-files` | `(agentic (permissions :source #t :tests #t :docs #t :config #t :create-files #t))` | BOOLEANs → `#t`/`#f` | `[agent-constraints]` | `(constraints …)` if populated, else slot dropped | fail-closed if any unknown key (see §4) | `[maintenance-integrity] fail-closed`, `require-evidence-per-step`, `allow-silent-skip`, `require-rerun-after-fix`, `release-claim-requires-hard-pass` | `(agentic (integrity :fail-closed #t :require-evidence-per-step #t :allow-silent-skip #f :require-rerun-after-fix #t :release-claim-requires-hard-pass #t))` | BOOLEANs → `#t`/`#f` — **including `#f` for `allow-silent-skip`**: the negative must survive verbatim, it is load-bearing security behaviour (a flipped "false" is how silent-skip escapes happen) -| `[automation-hooks]` | `(hooks …)` if populated, else dropped | fail-closed if unknown key shape +| `[methodology] instructions-dir` (rsr instance) | `(agentic (methodology :instructions-dir ".machine_readable/bot_directives/"))` | verbatim STRING — the bot_directives pointer is real config +| `… default-mode` | `(agentic (methodology :default-mode hybrid))` | SYMBOL verbatim (no closed set observed; fail-closed on table extension need) +| `[automation-hooks]` | see **D4-1** below this table | — |=== +**D4-1 (decision record): comment-carried constraints are TEMPLATE CANON, +not per-repo state.** In rsr (and therefore in every rsr-descended repo) the +`[agent-constraints]` and `[automation-hooks]` sections carry their entire +content as a2ml *comments* — the banned-language list, the never-relicense +rules, and the on-enter/on-exit/on-commit protocol. Translating would +silently drop load-bearing behaviour, so it does not happen silently: +these blocks are identical template-boilerplate across the fleet, which +makes them *derivable from canon* — their home is the standards repo's +`.machine_readable/agent_instructions/` surface (already canonical), and +deeds carry only the `(methodology …)` pointer fields above. This is the +derivable doctrine applied to prose, recorded here so no future +translation PR "discovers" it afresh. If a repo ever DIVERGES from the +canon block, diff-detection at translate time (the tool hashes the +comment block against canon) fails closed and the divergent file earns +its own table rows. + === NEUROSYM.a2ml → `(neurosym …)` [cols="2,3,4"]