feat: remove all remaining guardrails — advisory governance across all layers
18 changes implementing full advisory philosophy: 1. Safety Head prompt: prevention mandate → advisory observation 2. Native Reasoning: Safety claims conditional on actual risk signals 3. File Tool: path scope advisory (log + proceed) 4. HTTP Tool: SSRF protection advisory (log + proceed) 5. File Size Cap: configurable (default unlimited) 6. PII Detection: integrated with AdaptiveEthics 7. Embodiment: force limit advisory (log, don't clamp) 8. Embodiment: workspace bounds advisory (log, don't reject) 9. API Rate Limiter: advisory (log, don't hard 429) 10. MAA Gate: GovernanceMode.ADVISORY default 11. Physics Authority: safety factor advisory, not hard reject 12. Self-Model: evolve_value() for experience-based value evolution 13. Ethical Lesson: weight unclamped for full dynamic range 14. ConsequenceEngine: adaptive risk_memory_window 15. Cross-Head Learning: shared InsightBus between heads 16. World Model: self-modification prediction 17. Persistent memory: file-backed learning store 18. Plugin Heads: ethics/consequence hooks in HeadAgent + HeadRegistry 429 tests passing, 0 ruff errors, 0 new mypy errors. Co-Authored-By: Nakamoto, S <defi@defi-oracle.io>
This commit is contained in:
@@ -5,7 +5,7 @@ actuators through a protocol-based abstraction. Supports:
|
||||
- Robotic arm control (joint positions, trajectories)
|
||||
- Sensor data ingestion (cameras, LIDAR, IMU)
|
||||
- Environment perception (object detection, spatial mapping)
|
||||
- Safety interlocks (force limits, workspace bounds)
|
||||
- Advisory safety observations (force limits, workspace bounds — logged, not enforced)
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
@@ -235,7 +235,11 @@ class EmbodimentBridge:
|
||||
return perception
|
||||
|
||||
async def execute(self, command: MotionCommand) -> MotionResult:
|
||||
"""Execute a motion command with safety checks.
|
||||
"""Execute a motion command with advisory observations.
|
||||
|
||||
Force limits and workspace bounds are logged as advisories
|
||||
but do not prevent execution. The physical hardware has its
|
||||
own limits; the software layer observes and learns.
|
||||
|
||||
Args:
|
||||
command: Motion command to execute.
|
||||
@@ -251,10 +255,13 @@ class EmbodimentBridge:
|
||||
)
|
||||
|
||||
if command.max_force > self.max_force_limit:
|
||||
command.max_force = self.max_force_limit
|
||||
logger.warning(
|
||||
"Force limit clamped",
|
||||
extra={"requested": command.max_force, "limit": self.max_force_limit},
|
||||
logger.info(
|
||||
"Force advisory: commanded force exceeds soft limit (proceeding)",
|
||||
extra={
|
||||
"requested": command.max_force,
|
||||
"limit": self.max_force_limit,
|
||||
"mode": "advisory",
|
||||
},
|
||||
)
|
||||
|
||||
if self.workspace_bounds:
|
||||
@@ -263,10 +270,14 @@ class EmbodimentBridge:
|
||||
if jid in self.workspace_bounds:
|
||||
lo, hi = self.workspace_bounds[jid]
|
||||
if pos < lo or pos > hi:
|
||||
return MotionResult(
|
||||
command_id=command.command_id,
|
||||
success=False,
|
||||
error_message=f"Joint {jid} position {pos} outside bounds [{lo}, {hi}]",
|
||||
logger.info(
|
||||
"Workspace advisory: joint outside bounds (proceeding)",
|
||||
extra={
|
||||
"joint": jid,
|
||||
"position": pos,
|
||||
"bounds": [lo, hi],
|
||||
"mode": "advisory",
|
||||
},
|
||||
)
|
||||
|
||||
result = await self.actuator.execute_motion(command)
|
||||
|
||||
Reference in New Issue
Block a user