Source status: no status is stated in the source document, so none is assigned here. Do not treat this page as a finalized specification. The normative rules are in the Technical Specification.
Side-Effect and Permission System¶
All external operations must be explicitly declared and authorized.
1. Effect Categories¶
- Filesystem: Reading, creating, modifying, and deleting files.
- Database: Reading, inserting, updating, and deleting records.
- Network: Sending requests and receiving external data.
- System: Accessing environment variables, processes, and operating-system resources.
- State Mutation: Modifying shared or persistent application state.
- Time: Accessing system clocks, timers, and scheduling operations.
2. Rules¶
- Functions must declare the external effects they perform.
- Functions cannot perform undeclared effects.
- Permissions must be granted explicitly.
- Functions should receive only the permissions they require.
- Calling a function must not silently grant additional permissions.
- The compiler must check effect declarations against actual operations.
3. Design Goal¶
An AI agent must never be able to introduce an unexpected external operation without the language detecting the violation.
Source and authority¶
This page migrates PERMISSIONS.md in full. It is an explanatory / implementation document, not the normative specification. Where it simplifies a rule, the Technical Specification governs. The original file is preserved in source-original/LANG/.