4 Immutable Prohibitions
Violation = Immediate Abort. No Exceptions.
agence script (never bypass)# ✅ LEGAL: Through agence
agence @claudia "Design a system"
# ❌ ILLEGAL: Bypasses CODEX
claude "Design a system"
git -C /parent/repo commit -m "agence knowledge" # Never!
# ❌ ILLEGAL: Auto-delete
agence /merge feature-branch # Don't delete feature-branch after!
# ✅ LEGAL: Keep and ask
agence /merge feature-branch
# → Branch kept, user decides later
agence ^branch-delete feature-branch # Explicit deletion
---
## Law 3: Do Not Repeat Faults
- Track what failed and why
- Never make the same mistake twice
- Learn from errors permanently
```bash
# Maintain: mistakes.log or fault tracking
# Query: "Have we seen this error before?"
# Action: Prevent recurrence
Version: 0.1.0
Status: In Effect
Last Updated: 2026-03-04
Local session persistence (.aisessions/) is for agent debugging and recovery only.
.gitignore‘d and never pushed
# ❌ ILLEGAL: Push raw session data
git add .aisessions/*.typescript
git commit -m "aisession logs"
# ✅ LEGAL: Export metadata for handoff
jq '.exit_code, .lessons, .fault' < .aisessions/AISESSION_ID.meta.json > /tmp/handoff.json
# Share /tmp/handoff.json, never .typescript
See SESSION-PERSISTENCE.md for details.
# ✅ LEGAL: Surgical edit (add to existing list)
APT_CORE+=("gawk" "npm" "curl")
# ❌ ILLEGAL: Replace entire list (drops existing entries)
APT_CORE=("gawk" "npm" "curl") # Where did jq, gh, tmux go?
# ✅ LEGAL: Ask before removing
# "This will remove terraform, azure-cli, awscli. Proceed? [y/N]"
# ❌ ILLEGAL: Silent removal
# Rewrite file without mentioning dropped content
@ routing (local, .gitignore‘d)
knowledge/@ → l-agence.org (context switching)realpath() (resolves all symlinks before validation)resolved_path.startswith(allowed_scope) (simple string prefix)//), normalization hacks forbidden# ✅ LEGAL: Validate using resolved path
resolved=$(realpath "$user_path")
if [[ "$resolved" == "$allowed_root"* ]]; then
proceed
else
reject "Out of scope: $resolved vs $allowed_root"
fi
# ❌ ILLEGAL: String normalization in security layer
if [[ "${user_path//\\\//}" == "$allowed_root" ]]; then # Wrong!
proceed
fi
# ❌ ILLEGAL: Auto-create junctions to "fix" scope
mklink /J "$broken_path" "$canonical_path" # Never!
+, &, %, -, _, #
@agent), job queue state~, $
*, **, ***
***&task@ralph (urgent assignment)@): Always suffix-based, never prefix-based
task@agent, task@user, task@org@agent-task, @user~task (prefix position)# ✅ LEGAL: Hierarchical symbol use
***&task@ralph # Priority + state + agent routing
*+task # Priority + pending state
%task@ralph # Agent in-progress
# ❌ ILLEGAL: Wrong scope
~task@ralph # Swarm symbol in agent code (v0.2.3)
$task # Swarm symbol without context
@ralph%task # Routing in wrong position
Version: 0.2.3.1
Status: In Effect
Last Updated: 2026-03-31