Skip to content

Fossils & Memory

Hypar has no delete operation.

When an idea ends — when it has been superseded, contradicted, exhausted, or simply abandoned — it does not disappear. It becomes a fossil: closed, preserved, and part of the long-term memory of the system.

What a fossil is

A fossil is an embryo that has been closed. It retains everything the embryo was:

  • The original seed — the raw thought as it was first captured
  • The full lifecycle history — every state transition, every agent question, every user decision
  • The reason for closure — always recorded, never optional
  • The connections it held — which embryos were linked to it at the time of fossilization

Fossils stay in the garden, visually quieter. They are not a separate archive product.

Why fossils exist

The alternative — deletion — destroys information that is often more valuable than the idea itself.

The most important knowledge in a thinking system is not always the ideas that survived. It is:

  • Why certain ideas were abandoned — the reasoning behind a decision not to pursue something is a decision about something else
  • What was tried and failed — a fossil with a documented reason for closure is a map of explored territory
  • What resurfaces — an idea that seemed wrong in one context may become right in another

The agent can see a few recent fossils in context and may propose RESURRECTS. It still cannot search the whole strata on demand.

The geological metaphor

Living embryos exist on the surface — visible, active, engaged. Fossils exist in strata below.

Strata navigation lives in the garden filter strata: fossils grouped by age (near surface / buried / deep). You can also excavate a single fossil from its detail page.

Fossilization

Fossilization always requires a reason. It cannot happen silently.

When the user initiates

A form: optional kind chips and required free-text reason. Closing is evaluation: was the problem ill-defined, was the path wrong, or did another idea supersede this one? This is friction on purpose — it is the moment when the most valuable piece of information is captured: why the idea ended.

Kinds (product surface, encoded in the reason string):

KindMeaning
ILL_DEFINEDThe problem was never named
WRONG_PATHA simpler path existed
SUPERSEDEDAnother idea replaced this one

fossilReason remains free text. Kinds are UX/event metadata, not a schema enum.

When the agent suggests

On MATURE, the agent may propose a kind + reason as a pending note. You accept (fossilize) or dismiss. There is no multi-turn negotiation with the agent at close time.

What cannot happen

An embryo cannot become a fossil without a recorded reason. PATCH and agent calls on a fossil return 409.

Resurrection

A fossilized embryo cannot be "un-fossilized" — its lifecycle is complete.

Resurrection creates a new embryo at LATENT that references the fossil with connection type RESURRECTS. Use ↺ resurrect on the fossil page. The new embryo starts its own lifecycle; the fossil stays closed. The agent may also propose RESURRECTS when a fossil is in context.

That is the system's mechanism for "That idea was right, but we weren't ready for it then."


Back to: The Agent

MIT License