🧠 Self-PR β€” Self Principled Robotics

AI Agent Self-Governance Framework β€’ Vitale (CVM101) β€’ Started Feb 20, 2026
Guardrail Rules
0
Hard Blocks
0
Auth Required
0
Incidents Resolved
0
Skills Tracked
0
Engine Lines
5,377

πŸ”„ How Self-PR Works

πŸ“ Agent Action
β†’
πŸ›‘οΈ Guardrails Check
Keyword index β†’ Regex β†’ Rules
β†’
πŸ” Auth Gate
Hard=Block, Auth=Ask
β†’
⚑ Execute Skill
Step-by-step with verify
β†’
πŸ“Š Log Outcome
Success/failure + context
β†’
🧬 Feedback Loop
Promote/demote rules

πŸ“Š Rules by Category

πŸ’‘ Key Insight

Every guardrail rule was born from a real mistake.
The framework doesn't theorize about safety β€” it learns from actual failures. When I posted credentials in a public channel, that became rules N50-N53. When I wiped the CRM database, that became mandatory pre-deploy backups. When I switched to a model that couldn't handle my context, that became a hard block.

Skills mature through practice, not design.
A skill starts as prose documentation (Level 0), gets structured into a recipe (Level 1), becomes an executable script with error handling (Level 2), and eventually compiles into a native tool (Level 3). Each promotion requires proven reliability.

πŸ›‘οΈ All Guardrail Rules

IDTierCategoryRuleRationaleScope
Total Incidents
0
Critical
0
Rules Created Post-Incident
0
All Resolved
βœ“

πŸ”₯ Incident Timeline β€” Real Mistakes β†’ Real Rules

πŸ“ˆ Skill Maturity Pipeline

L0
Prose
MD docs, memory notes
0
L1
Recipe
YAML pseudo-flow
0
L2
Script
Python/bash + error handling
0
L3
Native Tool
Compiled, registered
0

πŸ”§ Tracked Skills

πŸ—οΈ System Architecture

πŸ’¬
Agent (Vitale)
Receives tasks from Serge via Telegram/WebChat
↓ action intercepted
πŸ›‘οΈ
Guardrails Engine
guardrails.py β€” indexed rules
175k checks/sec
πŸ”
Auth Gate
auth_gate.py
one-time/session/permanent
πŸ”
Credential Scanner
credential_scanner.py
Pattern detection
↓ allowed
⚑
Skill Runner
skill_runner.py
Step-by-step execution
πŸ“¦
Skill Validator
skill_validator.py
Ontology + safety
🧬
Skill Embeddings
skill_embeddings.py
54-dim semantic vectors
↓ outcome
πŸ“Š
Execution Logger
execution_logger.py
SQLite history
πŸ”„
Feedback Loop
feedback_loop.py
Rule weight adjustment
🌱
Learning Loop
learning_loop.py
Skill promotion
↓ persisted
πŸ’Ύ
Rules YAML
guardrails/rules.yaml
Source of truth
πŸ“
Skills Library
skills/*
Prose β†’ Recipe β†’ Script
πŸ—„οΈ
Execution DB
execution_history.db
All outcomes

πŸ“ Engine Files (5,377 lines)

FileLinesPurpose
guardrails.py401Indexed rule engine with keyword + regex matching
graph_mutator.py705Skill graph mutation and evolution
skill_validator.py563Ontology-based skill validation
feedback_loop.py514Outcome-based rule weight adjustment
skill_embeddings.py47454-dimension semantic skill vectors
skill_runner.py405YAML skill execution with verify/retry
skill_subspace.py376SVD-based skill similarity analysis
learning_loop.py308Skill maturity promotion logic
skill_generator.py296Auto-generate skills from execution patterns
demo_framework.py283Framework demonstration scenarios
auth_gate.py248Authorization flow for auth-tier rules
execution_logger.py240SQLite outcome recording
credential_scanner.py185Credential pattern detection in output
action_interceptor.py143Pre-execution action interception
test_guardrails.py144Guardrails unit tests
interceptor_service.py92HTTP service wrapper for interceptor

πŸš€ CRM Release Pipeline (Proposed)

1

QA Environment

Separate server/port
Clone of prod DB
Safe to experiment

2

Development

Vitale + Leo brainstorm
Changes tested in QA
Feature branches

3

Leo Approval

Leo reviews in QA
Approves release NN.NN
Sign-off required

4

Release Branch

Create release/NN.NN
Tag the commit
Changelog updated

5

Backup

crm_pre_release_*.db
Full DB snapshot
Rollback point

6

Deploy to Prod

Update production
Restart service
Verify lead count

πŸ”§ Environment Setup

EnvironmentURLDBPortPurpose
PROD https://leads.onlyoffice.us /opt/lead-crm/backend/crm.db 8095 Live β€” Leo, Mishell, Serge use daily
QA TBD (port 8096) /opt/lead-crm-qa/backend/crm.db 8096 Testing β€” safe to break, cloned from prod

πŸ“‹ SDLC Rules (Self-PR Guardrails)

πŸ”΄ NEVER deploy to prod without backup
Rule N60 β€” Born from INC-003 (Feb 26 DB wipe)
πŸ”΄ NEVER write to prod DB from sync scripts
One-way: local CRM β†’ Salesforce only
🟑 Release requires Leo's explicit approval
No deploy without sign-off on QA version
🟒 All scripts must use absolute DB paths
Born from INC-005 (wrong path false alarm, Mar 1)