Entity Dissolution: Before and After

This document demonstrates how the dissolution workflow solves the circular dependency problem.

Before: Impossible to Delete Entity

Scenario

Alice is the sole founder of "Food Cooperative" and wants to close it down.

Attempted Steps

  1. Try to delete the entity directly:

    DELETE /entities/entity:icn:cooperative:food-coop
    

    Result: ❌ 400 Bad Request: "Cannot remove entity with active members"

  2. Try to remove herself as the last member:

    DELETE /entities/entity:icn:cooperative:food-coop/members/entity:icn:individual:alice
    

    Result: ❌ 400 Bad Request: "Cannot remove the last founder. Transfer founder role to another member first."

  3. Circular deadlock:

    • Can't delete entity → has members
    • Can't remove last founder → would leave entity leaderless
    • IMPOSSIBLE TO PROCEED 🔒

After: Dissolution Workflow

Scenario

Alice uses the new dissolution workflow to properly wind down the cooperative.

Step-by-Step Process

Step 1: Create Governance Proposal

POST /governance/proposals
Authorization: Bearer alice_token

{
  "domain_id": "food-coop-domain",
  "title": "Dissolve Food Cooperative",
  "description": "Market conditions require wind-down of operations",
  "payload": { "Membership": {} }
}

Result: ✅ Proposal created with ID proposal-123

Step 2: Vote on Proposal

# Alice and other stakeholders vote
POST /governance/proposals/proposal-123/votes

{
  "vote": "yes",
  "comment": "Agreed, orderly wind-down is necessary"
}

Result: ✅ Proposal approved after voting period

Step 3: Initiate Dissolution

POST /entities/entity:icn:cooperative:food-coop/dissolution
Authorization: Bearer alice_token

{
  "proposal_id": "proposal-123",
  "reason": "Approved by governance - market wind-down",
  "waiting_period_seconds": 2592000  // 30 days
}

Result: ✅ Dissolution initiated

{
  "entity_id": "entity:icn:cooperative:food-coop",
  "status": "dissolving",
  "initiated_at": 1706131200,
  "completion_date": 1708723200,
  "proposal_id": "proposal-123"
}

Step 4: Wind-Down Period (30 days)

During this period:

  • ✅ Members are notified of dissolution
  • ✅ Assets are distributed according to bylaws
  • ✅ Accounts are settled
  • ✅ Members gradually leave
  • ✅ Final member removal is possible because entity is in Dissolving state
# Members leave voluntarily or are removed
DELETE /entities/entity:icn:cooperative:food-coop/members/entity:icn:individual:bob
DELETE /entities/entity:icn:cooperative:food-coop/members/entity:icn:individual:carol
# ... until only Alice remains
DELETE /entities/entity:icn:cooperative:food-coop/members/entity:icn:individual:alice

Result: ✅ All members removed successfully

Step 5: Complete Dissolution (after 30 days)

POST /entities/entity:icn:cooperative:food-coop/dissolution/complete
Authorization: Bearer alice_token

Result: ✅ 204 No Content - Entity successfully dissolved

Audit Trail

Complete record of dissolution:

[
  {
    "operation": "DissolutionInitiated",
    "proposal_id": "proposal-123",
    "performed_by": "entity:icn:individual:alice",
    "performed_at": 1706131200,
    "reason": "Approved by governance - market wind-down"
  },
  {
    "operation": "MemberRemoved",
    "member_id": "entity:icn:individual:bob",
    "performed_by": "entity:icn:individual:alice",
    "performed_at": 1706735000
  },
  {
    "operation": "MemberRemoved",
    "member_id": "entity:icn:individual:carol",
    "performed_by": "entity:icn:individual:alice",
    "performed_at": 1707339600
  },
  {
    "operation": "MemberRemoved",
    "member_id": "entity:icn:individual:alice",
    "performed_by": "entity:icn:individual:alice",
    "performed_at": 1708722000,
    "reason": "Self-removal"
  },
  {
    "operation": "DissolutionCompleted",
    "proposal_id": "proposal-123",
    "performed_by": "entity:icn:individual:alice",
    "performed_at": 1708723200
  }
]

Key Differences

Aspect Before After
Process Single-step deletion Multi-step dissolution
Governance No approval needed Requires proposal approval
Last Founder Cannot be removed Can be removed during dissolution
Member Removal Blocked by circular dependency Orderly wind-down
Audit Trail Single "Deleted" record Complete dissolution history
Notice Period Immediate (if possible) 30-day mandatory waiting period
Cancellation N/A (couldn't start) Can cancel before completion
Asset Distribution No time to handle 30 days to distribute assets

Benefits of New Workflow

  1. Solves Circular Dependency: Entities in Dissolving state can have members removed, including the last founder
  2. Governance Compliance: Requires democratic approval for major organizational changes
  3. Orderly Wind-Down: 30-day period allows proper handling of assets, accounts, and obligations
  4. Transparency: Complete audit trail of all dissolution steps
  5. Flexibility: Can be cancelled if circumstances change
  6. Safety: Multiple validation checkpoints prevent accidental deletion
  7. Member Protection: Ensures all stakeholders are notified and have time to prepare

Common Scenarios

Scenario 1: Quick Test Cleanup (Development)

# Short waiting period for development
POST /entities/:id/dissolution
{
  "proposal_id": "test-proposal",
  "reason": "Test cleanup",
  "waiting_period_seconds": 1  // 1 second
}

# Wait 1 second, remove members, complete
POST /entities/:id/dissolution/complete

Scenario 2: Bankruptcy

# Standard 30-day wind-down
POST /entities/:id/dissolution
{
  "proposal_id": "bankruptcy-proposal",
  "reason": "Chapter 7 bankruptcy filing",
  "waiting_period_seconds": 2592000  // 30 days
}

# During 30 days:
# - Liquidate assets
# - Pay creditors
# - Distribute remaining funds
# - Members exit

# After 30 days:
POST /entities/:id/dissolution/complete

Scenario 3: Merger

# Dissolution due to merger
POST /entities/old-coop/dissolution
{
  "proposal_id": "merger-proposal",
  "reason": "Merging into Larger Cooperative Federation",
  "waiting_period_seconds": 2592000
}

# During 30 days:
# - Transfer members to new entity
# - Transfer assets
# - Close accounts
# - Complete legal paperwork

# After transfer:
POST /entities/old-coop/dissolution/complete

Scenario 4: Changed Circumstances

# Start dissolution
POST /entities/:id/dissolution
{
  "proposal_id": "closure-proposal",
  "reason": "Market challenges"
}

# Market improves, members vote to continue
DELETE /entities/:id/dissolution  // Cancel

# Entity reverts to Active status

Conclusion

The dissolution workflow transforms an impossible task into a safe, governed, auditable process that:

  • ✅ Solves the circular dependency problem
  • ✅ Protects stakeholders with mandatory waiting periods
  • ✅ Ensures democratic governance through proposal requirements
  • ✅ Maintains complete audit trails for compliance
  • ✅ Provides flexibility through cancellation capability
  • ✅ Enables orderly wind-down of cooperatives

Result: Entities can now be properly dissolved when needed, while maintaining the protections that prevent accidental deletion.