/ AGENTIC.scm
AGENTIC.scm
 1  ;; SPDX-License-Identifier: AGPL-3.0-or-later
 2  ;; SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell
 3  ;; AGENTIC.scm — beamdeno
 4  
 5  (define-module (beamdeno agentic)
 6    #:export (agent-capabilities autonomy-levels decision-boundaries))
 7  
 8  (define agent-capabilities
 9    '((etf-codec
10       (description . "Agent can work on ETF encoder/decoder implementation")
11       (scope . ("Implement term types" "Add test cases" "Optimize encoding"))
12       (limitations . ("Cannot change wire format" "Must follow ETF spec")))
13  
14      (protocol-implementation
15       (description . "Agent can implement BEAM communication protocols")
16       (scope . ("Port communication" "Message serialization" "Connection handling"))
17       (limitations . ("Cannot modify BEAM side without Erlang expertise" "Security-sensitive")))
18  
19      (erlang-code
20       (description . "Agent can write Erlang/Elixir library code")
21       (scope . ("Supervisor trees" "GenServer implementations" "Port handlers"))
22       (limitations . ("Limited OTP pattern expertise" "Human review recommended")))
23  
24      (test-infrastructure
25       (description . "Agent can set up test infrastructure")
26       (scope . ("Deno tests" "EUnit tests" "Integration tests"))
27       (limitations . ("Requires running BEAM node" "Cannot mock BEAM internals")))))
28  
29  (define autonomy-levels
30    '((level-1-autonomous
31       (actions . ("Format code" "Add ETF term types" "Write tests" "Update types"))
32       (approval . "none"))
33  
34      (level-2-supervised
35       (actions . ("Implement protocols" "Add Erlang modules" "Modify message handling"))
36       (approval . "human-review"))
37  
38      (level-3-restricted
39       (actions . ("Change connection logic" "Modify cookie handling" "Update distribution protocol"))
40       (approval . "explicit-request"))
41  
42      (level-4-prohibited
43       (actions . ("Store credentials" "Bypass security" "Auto-connect to nodes"))
44       (approval . "never-autonomous"))))
45  
46  (define decision-boundaries
47    '((technical-decisions
48       (agent-decides . ("ETF encoding details" "Internal message format" "Test structure"))
49       (human-decides . ("Protocol choices" "Security model" "OTP patterns")))
50  
51      (cross-runtime-decisions
52       (agent-decides . ("TypeScript types" "Erlang module structure"))
53       (human-decides . ("API surface" "Interop semantics" "Error handling strategy")))
54  
55      (security-decisions
56       (agent-decides . ("Input validation" "Error messages"))
57       (human-decides . ("Cookie handling" "Authentication flow" "Network permissions")))))