# A memory you can shape A fresh house holds a small base vocabulary and nothing about your domain. Everything else is defined by whoever uses it. Through the modeller door you call `define_form` to declare what a record of your domain looks like, `define_aspect` to declare a kind of individual with named, changeable properties, and `include_concept` to coin a term the house should know. These definitions are themselves nodes of the graph: they have an identity, they can be listed, described and counted like anything else. This is the difference to memory products with a fixed entity model. A research agent can model "claim" and "source"; a business agent "contact" and "offer"; an archive agent "folio" and "hand". None of these is built in, and each is first-class once defined. ## What "shaping" looks like A form `Claim` with a statement and a strength, an aspect `Source` with a reliability and a versioned summary, and a link form `Stated in` with a page number are three calls. After them, `store_value` stores a claim, `create_individual` creates a source, `assert_formed_link` states that the claim stands on page 41 of the source, and `find_things` with the condition `{"aspect": "Source"}` returns all sources. The worked example is in `forms-aspects-concepts`. ## The discipline that comes with it The house does not let a vocabulary sprawl silently: - **A form is its schema.** Defining the same form twice returns the same form, and the answer says so with `is_new: false`. Any change to the schema is a new form. - **A concept is its description.** The same description is the same concept; a changed description is a new one. - **Reuse before coinage.** The house's own preamble for the modeller door says: check `list_concepts`, `list_forms` and `form_usage` before defining anything. - **Values are shared.** Storing the same text or the same formed value twice yields the same node. Writing is idempotent wherever content is identity. - **Facts are switched, never deleted.** `retract` takes a fact back; asserting it again reactivates it. An agent that follows this gets a memory that stays readable for years, including for its successor. ## What the house already knows A fresh house registers thirteen aspects of its own, among them `Document`, `Person`, `Organisation` and `Hierarchy`, and a number of forms. Several built-in names are German (`Ort` for place, `Bestand` for holding, `Gespräch` for conversation); `the-building-blocks` has a list. Use the built-in aspects where they fit (`create_person`, `create_place`, `create_organization`, `create_document`) and define your own for the rest. ## Go deeper - [forms-aspects-concepts](forms-aspects-concepts.md): the three definitions, with real calls - [the-building-blocks](the-building-blocks.md): things, links, chains, trees - [the-three-doors](the-three-doors.md): which door serves which skill - [first-hour-in-a-house](first-hour-in-a-house.md): ten calls from nothing to your own vocabulary