Skip to content
← Documentation

docs/observation-basis.md


The minimal basis of observations

Derived by audit, not by argument. Every visual element was traced to the measured quantity that generated it, and every World field to the fact family it descends from.

What the platform actually emits

One acquisition of this repository, 1340 facts:

family count what it observes
exchange 596 a commit touched a file
measure 558 repo/bytes, repo/commits-touching, repo/authors-touching
placement 186 a file sits in a directory
condition 0 declared by the manifest (stalled), emitted never

Every fact carries id · validAt · recordedAt · evidence. Identity and time are attributes of every fact, not families of their own — there is no "identity observation" to make.

Observed vs derived

derived from
coupling exchange — co-change over commits, then shortest path
position coupling — so, exchange at two removes
district placement
height measure repo/bytes
activity measure repo/commits-touching
agents exchange — commit authors
ChangeSet the same families at two validAt instants
search index identity alone

Coupling and change are not primitive. Coupling is a transform of exchange; change is a comparison of two instants of everything. That corrects the proposed basis {containment, coupling, change, identity, time}: two of its five members are derived, two are attributes, and it omits measure — the magnitude family that produces height, activity, and every number in the inspector.

The regeneration test

Every World field read by any surface, and its lineage:

field family surfaces
buildings placement + measure (position via exchange) 3
districts placement 1
links exchange 3
measurements measure 1
agents exchange 3
history exchange + time (the same facts, listed instead of counted) 1
unplaced placement + exchange (absence of coupling) 2
origin identity + time 1
stats / focus derived 2
unobserved none 2
window none 1

Everything regenerates from {placement, measure, exchange, condition} plus identity and time — except two fields, and they are the finding.

A second class: facts about the observation

unobserved and window descend from no fact family because they are not about the world. They are about the act of observing it:

  • unobserved — paths the connector's vocabulary does not cover
  • window — how far back the history reached, and whether it was truncated
  • refusals — phenomena the ontology cannot hold at all

These cannot be expressed as facts about subjects, because their subject is the observer. Every one of them was added after a measured failure — a Python repository reporting an empty city, a shallow clone fabricating a commit, an omission nobody could see. They are not decoration on the ontology; they are a second axis of it.

The basis is: four fact families about subjects, carrying identity and time, plus a class of facts about the observation itself.

Answering the question directly: yes — if Cognithamus measured only these, every panel, city, review, search result and dashboard regenerates. Nothing in the audit is untraced once the second class is admitted.

Integration value — not measured, and why

The open question was whether a reader answers faster from C than from B and D consulted separately. That is a comprehension claim and I cannot measure it. Condition 3 of the standing objective says so explicitly: no test here can establish that a person understood something.

What is objectively measurable is a structural proxy — how many views a task requires:

task B C D views needed
what is this made of partly 1
what belongs together 1
which directory is largest 1
does this directory change as a unit 1
is this big file also central 2

Only the last needs two views, and C answers neither half of it exactly. So the structural case for C is one task, and that task is not one C solves.

Integration value remains unmeasured. It would need a human protocol — same question, same data, time to correct answer, C versus B+D. Until that exists, C is a hypothesis about comprehension, and this file will not pretend otherwise.

Consequence

The product is not a city. It is an observation engine, and every view is a projection of the basis above. The city is one projection, currently a dominated one (representation-family).

Optimising a projection cannot add information. Only the basis can — which is why the two additions that mattered most this month were both to the second class, and neither touched a pixel.