# Cross-module links

> One direction: the draft settles into records, renames follow identity, deletes are guarded.

Source: https://loomworld.ai/docs/cross-sync

## Direction: script → library, never back

Links in Loomworld have a direction. What you write in the draft settles into library records; a record you made by hand does not vanish because a script line was deleted. This answers most “will it change by itself?” questions: it will not.

## The three links that happen while writing

- Committing a Character line (Enter, moving the caret, or the editor losing focus) looks the name up in the roster after trimming and case-folding, aliases included: a hit binds, a miss files a new card at the Minor tier. Half-typed names and pauses never create one.
- A scene node’s location matches the location library on the same rule when you commit it, creating a card if there is no match.
- A bracketed name such as [old pocket watch] in ordinary text is checked against the prop library on commit and creates the prop if absent; the line records its prop references.

The opening delivery and continuations follow the same rule: while the model streams, half a scene heading or half a name stays in a side draft and files nothing. Only when the run finishes, stops, or fails does the text settle into nodes—so no card is created from a single character.

## What still needs your hand

Relationships, owners, chapter evolution, foreshadow anchors, leaderboard scores, map placements, canvas positions: these exist because you decided them. Nothing infers a motive, decides who loves whom, or files a sword because you wrote “he picked it up”.

Scene setting locations are the careful exception: committing one can create or reuse a location card, but only inside the scene’s own location subtree; rebinding never renames, and clearing only drops the reference.

## What a rename reaches, what a delete reaches

- Renames barely reach: a faction card renamed updates character chips, roster groups, member counts, boards and what the agent reads; a location renamed shows its latest name on flat labels and in the script. Identity is stored, not text.
- Deletes do reach: removing a character removes its relation lines; a location still referenced by a scene or scene setting (or anywhere in its subtree) cannot be deleted, and its parent cannot change while it is referenced; deleting a plotline cascades to its events; deleting chapters or scenes clears the foreshadow and timeline anchors that pointed at them, leaving no dangling ids.
- Maps only affect presentation: deleting a placement removes that view’s rendering, never the record, the other view’s geometry, or sub-maps.
- Leaving the faction category goes through an impact confirmation: in one update it clears base memberships, chapter keyframes and board filters, and can be undone as one step.

## How per-chapter state is read

Character and prop changes merge at read time: the base value is how things were at the start, a keyframe applies from its chapter until the next one. Asking for a chapter’s effective state never leaks later changes in; asking for history requires both an start and end chapter and returns each change before / after.

AI reads on the same terms: state lookups require a chapter and return age, occupation, faction and phase as of that chapter, with factions expressed as the card’s current name plus its id; the graph draws membership only from valid references, never by name or alias fallback.

## AI writes go through the same door

The agent never edits because it recognised something. Every write is a confirmation card: up to 8 atomic operations, one transaction; if the target changed underneath you the whole card is refused rather than quietly overwritten; once confirmed the card lands on the project undo stack and one undo returns everything. Deletions state their impact first—counts of appearances, relations, subtrees, inbound links, events in the lane, script anchors.

See [AI collaboration overview](https://loomworld.ai/docs/ai-overview).

## Limits and troubleshooting

- One direction only: card changes never rewrite the draft, and draft changes never fill in lore or relations for you.
- Auto-filing matches normalized names and aliases only. To make two names the same person, add the alias to the card instead of hoping it is guessed.
- An imported package with dangling ids is cleaned at import—base values, chapter keyframes and board filters are cleared and summarised, never silently rebound to a same-named card.
