MD

Finding

canonical/finding.md

Finding

Purpose

A Finding is a result returned for presentation in the Results pane.

A Finding references the Object or Collection the result pertains to. It does not duplicate
that entity, and it is not a Placement — a Finding places nothing on a layer (see
layout.md).

Used By

Structure

A Finding consists of:

- id — Identifies the Finding.
- content — references the entity the result pertains to, exactly one of:
- object — the id of an Object, or
- collection — the id of a Collection.

The canonical structure is defined in finding.json.

Semantics

Findings are carried in a World Dataset's findings list, and Results-pane membership and
Carry/Field placement are independent lifecycles. A fresh Entry search adds a Finding for
each of its own new top-level results (a result already navigated-into or shown as a member
of an already-open container is not independently added). Once added, a Finding is never
removed by focusing it, navigating, or closing the panel it opened — the only thing that
removes a Finding is world.clear, which empties the whole findings list and nothing
else. A Runtime reads the findings list to populate the Results pane; it does not derive
Findings by any other means, and it does not infer that opening something implicitly removes
its card from the Results pane.

The Results pane is cumulative, newest first (see layout.md). findings list order is
that order: the entry for the most recent result leads, followed by everything carried
forward from before, in their existing order.

Focusing a Finding opens its referenced Object on Carry. This is a World operation (see
layout.md, Finding): the Runtime submits the focus and World returns the new snapshot. The
Object stays listed as a Finding regardless: World keeps its own data and actions intact
(even across a later world.close) for as long as it remains a Finding, so the Results-pane
card stays fully functional (e.g. still re-openable) until world.clear removes it.

Scope

A Finding is a reference for presentation. It does not define:

Invariants

- Every Finding has a unique identifier within a Dataset.
- A Finding's content references exactly one present Object or Collection.
- A Finding is not itself a Placement, but the entity it references MAY also be placed (on
Carry or Field) in the same Dataset — Results-pane membership and layer placement are
independent; one does not imply or exclude the other.
- A Finding persists across any number of Calls once recorded. Only world.clear removes
it; no other operation (focusing it, navigating, closing its panel) does.
- findings appears on a World Dataset. A Service Dataset does not carry Findings — World
decides which of a Service's new results become Findings when it composes the World
Dataset, and carries every previously-recorded Finding forward unchanged otherwise.

Related Models