sense §11: what a running agent receives when an observation surfaces to it #584
Loading…
Reference in a new issue
No description provided.
Delete branch "sense/injected-observation"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
§5 decides whether an observation is worth attention; §8 seals that decision.
Neither said what the recipient receives. Where the recipient is a person that
is right — the form is a UI concern and a non-goal (§1.6). Where the recipient is
a running agent it is not, because the delivery enters the agent's own record
of what it has been told, and Sense had nothing to say about a frame that record
has to hold.
Why the form is normative rather than a matter of taste
Three plausible forms each corrupt the record:
So a surfaced observation delivered to an agent is an injected observation — a
distinctly-kinded frame occupying one position in the recipient's order, which
states the surfacing link it carries out (§8, by content address, so the delivery
cites a sealed decision rather than restating it and the two cannot drift), the
event's id and trust level (§2, bound in so a delivery cannot re-tag what it
carries), its destination, the authority under which a parked recipient was woken,
and the joules the delivery charged — which is not the joules §5 already
charged for deciding to surface.
The injected kind may not be offered to the agent as something it can author, and
a host must refuse the recipient authoring one: an agent able to author its own
observations could manufacture a record of having been told something, which is
the one thing the frame exists to witness.
§11.1 — the destination is stated, never inferred
ownputs the observation in the recipient's own record, so everything it doesafterwards was done knowing it.
derivedputs it in a record inheriting therecipient's context, and the recipient's own record gains that record's
outcome, not the observation — so the recipient never came to know the
observation itself. An auditor reading a recipient's record must be able to tell
an observation was handled elsewhere rather than never delivered.
§11.2 — four conditions refused rather than recorded
surface cannot be quietly forgotten; delivering one is that fault in the other
direction.
differ from its author (JCP §4.7).
Already-running names none, which is a different fact from a wake nobody
permitted; the absent case carries no key rather than a null, so the
distinction lives in the frame's address.
read the frame. Zero is not a measurement; where a host cannot measure it
estimates and labels (§7). This is the same rule as a parked run not being
free, applied to the other side of the boundary.
Conformance
Class C6. The published pack gains three frame addresses — the same delivery
to each destination, and one that needed a wake against one that did not — plus
the four refusals as stable tokens rather than prose, so rewording a message
cannot move a vector.
tests/pack.rsholds all of it to the file and asserts the three addresses staydistinct. That assertion earns its place: if the destination or the wake stopped
being bound in, two of the three would collapse into one, and a delivery could be
rewritten after the fact without changing what it addresses to. Every published
value from the five existing classes is unchanged — the vectors diff is
additions only.
One implementation note worth reading
The harness picks its surfaced and held links from the C5 log by what they
decided, not by position. My first attempt indexed
entries()[1]as the hold;that fixture's budget surfaces the first two, so the "a hold is not deliverable"
case silently passed as a success instead of a refusal. Selecting by decision
means a later change to the fixture's budget cannot quietly stop testing a
refusal.
Evidence
Run on the Framework box, deliberately not the CI host (which is mid-matrix for
another PR):
cargo clippy --workspace --all-targets -- -D warnings: clean.cargo test --workspace: passes — nine conformance classes and the fivepublished-pack checks.
check-comparative-prose.shclean over 4,063 files;check-no-vanity-metrics.shclean over 517 Markdown files.🤖 Generated with Claude Code