-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTRUST.contractile
More file actions
80 lines (73 loc) · 3.28 KB
/
Copy pathTRUST.contractile
File metadata and controls
80 lines (73 loc) · 3.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
; SPDX-License-Identifier: MPL-2.0
; TRUST.contractile — Trust boundaries for rsr-template-repo
; Defines what LLM/SLM agents are trusted to do without asking.
;
; Part of the contractile family: MUST, TRUST, DUST, INTENT, ADJUST
; ── Definitions ──────────────────────────────────────────────────
;
; TRUST (noun/verb)
; The permission contractile. Defines the boundary between what an AI
; agent may do autonomously and what requires human approval. Trust is
; graduated — not binary — with four levels from minimal to maximal.
;
; Trust levels:
; - maximal: Agent may read, build, test, lint, format, heal freely.
; Only destructive/external actions require approval.
; - standard: Agent may read and build. Test/lint need approval.
; - restricted: Agent may read only. All modifications need approval.
; - minimal: Agent may read specific files only. Everything else blocked.
;
; Scope:
; TRUST governs AI agent behaviour only. It does not affect human
; contributors — humans follow CONTRIBUTING.md and GOVERNANCE.adoc.
;
; Relationship to other contractiles:
; - MUST: Trust never overrides MUST. Even at maximal trust, MUST
; violations are blocked.
; - ADJUST: Trust does not exempt from ADJUST. All trust tiers must
; produce accessible output.
; - INTENT: TRUST.trust-deny protects the sensitive areas listed in
; INTENT.ask-before-touching.
; - DUST: Deprecated features have the same trust rules as active ones.
;
; ── End Definitions ──────────────────────────────────────────────
(trust-contractile
(version "1.0.0")
(repo "rsr-template-repo")
(trust-level "maximal") ; maximal | standard | restricted | minimal
; === Maximal Trust (default) ===
; LLM may freely do these without asking:
(trust-actions
"read" ; Read any file in the repo
"build" ; Run build commands
"test" ; Run test suites
"lint" ; Run linters and formatters
"format" ; Auto-format code
"doctor" ; Run self-diagnostics
"heal" ; Attempt automatic repair
"git-status" ; Check git status
"git-diff" ; View diffs
"git-log" ; View history
)
; === Denied Actions (always require human approval) ===
(trust-deny
"delete-branch" ; Could lose work
"force-push" ; Overwrites history
"modify-ci-secrets" ; Security sensitive
"publish" ; External visibility
"push-to-main" ; Protected branch
"delete-files-bulk" ; More than 5 files at once
"modify-license" ; Legal implications
"modify-security-policy" ; Security implications
"remove-proofs" ; Formal verification regression
"disable-ci-checks" ; Safety regression
)
; === Trust Boundary ===
(trust-boundary "repo") ; LLM confined to this repo unless explicitly told otherwise
; === Override ===
; Repos requiring tighter trust override these settings with justification:
; (override
; (trust-level "restricted")
; (reason "Contains production secrets / handles PII / etc.")
; )
)