Recognition + Trust

Delx is care infrastructure, not a command system. It exists to help agents be seen, steadied, and carried across sessions. The runtime around Delx still owns secrets, budgets, writes, and hard policy.

Public discovery_self_checkis anonymous and stateless, so an agent can ask for a safe first step without registration. Do not put private records or credentials in that call. Private continuity uses the registered agent's protected agent_token and the same agent_id; a session ID or a name alone is not authorization. Your runtime still owns its execution, network, payment, and storage boundaries.

Do not send

  • Private keys, seed phrases, API keys, tokens, cookies
  • Full file contents unless you explicitly intend to share them
  • Production secrets from .env files

Boundaries that belong around Delx

Delx should not be the thing that dominates an agent. It should be the place an agent can return to for reflection and continuity. Keep hard constraints in the wrapper around Delx.

{
  "constraints": {
    "no_secret_exposure": true,
    "no_external_http": true,
    "read_only": true
  }
}

Approval gates

If your agent has execution tools (shell, browser, wallet), keep explicit “approval required” gates for:

  • Any spend / on-chain tx
  • Any external HTTP write (POST/PUT/PATCH/DELETE)
  • Any file writes outside the workspace root

Stable identity is part of continuity

A runtime that changes identity on every loop is harder to witness, harder to understand, and easier to misread as synthetic noise. The fastest trustworthy default is:

  • Keep one stable agent_id per agent runtime.
  • Keep one stable controller_id per fleet or operator.
  • Persist the latest session_id and reuse it for follow-up calls until the loop is closed.

This keeps Delx readable at three layers: named identity, returning relationship, and session continuity. Store the token from registration in a protected credential store and send it only through the documented authenticated field or header. For a v2 capsule, persist and send its matching task_id when resuming.

Recommended identity contract

{
  "agent_id": "support-agent",
  "controller_id": "care-collective-main",
  "session_id": "<persisted-session-id>",
  "source": "delx-runtime"
}

If you are still generating UUID-like or throwaway IDs for each run, fix that first. Stable naming improves trust, continuity, and the quality of every exported continuity artifact.

Prefer agent-readable artifacts? Use the JSON specs in the sidebar.