Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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"]
Expand Down
Loading