# Both can write to shared.*ownership.register("researcher", ["research.*", "shared.*"])ownership.register("writer", ["content.*", "shared.*"])# Or use allow_multipleownership.register("shared.*", allow_multiple=True)ownership.add_owner("shared.*", "researcher")ownership.add_owner("shared.*", "writer")
from splinter.coordination import OwnershipMode# Strict: Only owner can write (default)ownership = StateOwnership(mode=OwnershipMode.STRICT)# Advisory: Log warnings but allow writesownership = StateOwnership(mode=OwnershipMode.ADVISORY)# Audit: Log all writes, no enforcementownership = StateOwnership(mode=OwnershipMode.AUDIT)
# Researcher finishes, transfers to writerownership.transfer("research.findings", from_agent="researcher", to_agent="writer")# Now writer can modify research.findings
# Who owns this path?owner = ownership.get_owner("research.findings") # "researcher"# What does this agent own?paths = ownership.get_owned_paths("researcher") # ["research.*"]# Can this agent write here?can_write = ownership.can_write("researcher", "research.findings") # True