Product build record

LoreWeaver Architect : everything it does

A complete catalogue of the current Architect build: the six-step pipeline that carries raw lore all the way to engine-ready data, the AI layer that drives it, and the credits, collaboration, and craft underneath.

Architect v0.9.0 · built October 2025 to July 2026 · grounded in the product changelog and the shipped build.

19releases shipped
6pipeline steps
5export targets
10subsystems
~9 moof build time
Shipped in the current build and documented in the product changelog New in v0.9.0 landed since the last documented release and ships in v0.9.0
00 Orientation

What Architect is, and how the pipeline runs

Architect is the authoring half of LoreWeaver: a narrative design environment that takes lore you have already written and turns it into structured, engine-ready data. You bring documents, notes, and world bibles. Architect slices them, proposes a schema, extracts the entities, resolves how they connect, lets you author story structure on a canvas, and exports the result into your engine. It is free to use, and nothing it generates reaches your game without passing through you first.

01 Lore
Import documents, notes, and images. Architect chunks them.
02 Schema
AI proposes the entity types your world needs. You edit them.
03 Entities
Characters, locations, factions, and arcs pulled out of the prose.
04 Relationships
Name references resolved into real, typed connections.
05 Narrative
Arcs, beats, and branching authored on a node canvas.
06 Export
Engine-ready files for Unreal, Unity, and anything reading JSON.
One idea holds the whole thing together

Everything in a project is an entity, or a relationship between entities. Characters, locations, items, arcs, and beats are all records of the same kind, linked by typed edges. That is why the entity list, the relationship graph, the narrative board, and the exporter can all read the same records with no translation between them, and why a new entity type costs nothing to add: it is data, not code.

The AI proposes. You decide.

The schema is a suggestion you edit. Every extracted entity is reviewable and editable. Even the prompts driving the extraction are files you can rewrite. Architect is built to remove the production work, not the authorship, and the whole design leans on that distinction.

01 Lore

Getting your material in

The intake half of the pipeline. The goal is to accept whatever you already have, in whatever shape it is in, without asking you to reformat anything first.

Import

Multi-format lore import

Shipped

Upload the documents you already wrote. Plain text, Markdown, and XML are read directly, and images go through OCR so that text living inside a picture (a scanned page, a map, a photographed notebook) arrives as prose like everything else. No restructuring first.

Large-document handling

Shipped

Documents in the hundreds of thousands of words are split on paragraph boundaries rather than at a fixed offset, which is what keeps a long contiguous passage from timing out an extraction or being cut through the middle of a sentence.

Batch multi-select across lore files

New in v0.9.0

Build a selection in the file grid with Ctrl or Cmd click, then act on the whole set at once: mark ready, mark not ready, or delete. The action bar shows the count, delete is confirmation-guarded, and a partial failure reports the file that could not be removed rather than rolling back the ones that could. Bulk actions issue one request for the selection instead of one per file, which is the difference between toggling forty documents and toggling forty documents forty times.

Chunking, readiness, and provenance

Context-aware chunking

Shipped

Lore is sliced into overlapping chunks sized to the model's context window, roughly 2,000 tokens with about 15 percent overlap and a hard ceiling of 20,000 characters per chunk. The overlap is what preserves an entity's context when it straddles a boundary. The ceiling is what stops one enormous paragraph from blowing the request.

Document readiness as a scope control

Shipped

Each lore document carries a ready flag, and only ready chunks feed entity extraction. That single switch is how you aim the pipeline: park the drafts, mark the canon ready, and the AI only ever reasons over the material you meant it to.

Source chunk tracking

Shipped

Every extracted entity records which chunks of which document contributed to it. That is a provenance trail running from a row in your export back to the sentence in your lore that produced it, which is what makes an extracted world auditable instead of merely plausible.

02 Schema

Describing the shape of your world

A schema is the list of entity types your project uses and the fields each one carries. Architect will propose one from your lore, or take one you already have. Either way you own it afterwards.

Getting to a schema

AI schema generation

Shipped

Architect reads your uploaded lore and proposes entity types and fields that fit the world you actually wrote rather than a generic template. A courtly political epic and a survival sim do not deserve the same schema, and they do not get one.

Blank schema

Shipped

Start from a valid five-type baseline instead of an empty file: Character, Location, Item, Arc, and Beat. It is a real schema, not a placeholder, and it works with every schema operation from the first click.

Schema import

Shipped

Bring a schema you already have. SQL DDL, JSON Schema, Prisma schema, Markdown tables, and YAML are translated into Architect's format by the AI. A schema Architect itself produced is recognised by its own signature and imported directly, with no AI round-trip and no cost.

Schema export

Shipped

Download the current project schema as an XML file straight from the schema view, so the structure of your world is portable and reviewable outside the tool that made it.

Editing the schema

Inline field editing

Shipped

Rename a field, change its type, rewrite its description, toggle whether it is required, or edit its allowed values, and the change propagates to every existing entity of that type. A schema edit is a revision, not a fresh start.

Enum fields

Shipped

A field can be constrained to a defined list of allowed values, enforced in the exported schema as a restriction rather than left as free text. This is what stops "faction" arriving in your engine as forty spellings of six factions.

Drag-to-reorder entity types

Shipped

Reorder entity types by dragging. The order persists per project and is applied consistently across the schema view, the entity list, and the sidebars, so the thing you care about most is where you put it.

Confirmation on destructive edits

Shipped

Removing an entity type asks first. Core fields can still be deleted, but they warn plainly about what depends on them rather than silently refusing. You are trusted with the sharp tools and told where the edges are.

03 Entities

Pulling the world out of the prose

The step that does the heavy lifting: reading your lore and producing the actual characters, locations, factions, items, and arcs as structured records you can edit.

Extraction

AI entity extraction

Shipped

Architect reads every ready chunk and produces typed entities with their fields filled from the text. Hundreds of entities out of a long document in a single pass, every one of them editable afterwards.

Additive extraction

Shipped

Running extraction again merges new findings into the entities you already have instead of overwriting them. There is no separate update step and no reset: re-running always adds and refines. That is what lets a project keep absorbing new lore for as long as it lives, rather than being a one-shot import you can never repeat.

Targeted extraction

Shipped

Scope a run to specific entity types. The prompt is restricted to the types you asked for, and a post-filter discards anything outside them even if the model ignores the instruction, so a targeted run stays targeted whatever the model decides to volunteer.

Extraction resilience

Shipped

A truncated or malformed model response no longer fails the whole job. The extractor recovers what it can and carries on. In a hundred-chunk document, one bad response used to cost the entire run.

Finding and curating

Semantic entity search

New in v0.9.0

Ask for what you mean, not what you typed. A natural-language search runs over the project's entities grounded in the lore itself, so it surfaces entities related by narrative context rather than by name match: "everyone present at the betrayal" finds the people the lore puts at the betrayal, even when not one of them has a word of your query in their name. It reasons chunk by chunk across every ready chunk rather than truncating the lore to fit one context window, so evidence buried on page 300 counts as much as evidence on page 1. Proposed matches are validated against real entity ids, so a hallucinated result is discarded before you ever see it. It is a distinct mode: the ordinary text field still does plain substring matching and never calls a model.

Entity merge

Shipped

Fold duplicate records into one. Long lore spread across many documents reliably produces the same character three times under three spellings. Merge is how that becomes one canonical entity without discarding what each mention contributed.

Per-entity icons and colour

Shipped

Give an individual entity its own icon and colour, overriding its type's defaults, so the ones that matter are findable at a glance in a list of hundreds. AI-suggested icons are validated against the canonical icon set before they are applied, so an invented icon name never reaches the interface as raw text.

04 Relationships

Turning names into a graph

Extraction leaves entities referring to each other the way prose does: by name. This step turns those names into real connections, which is what makes a world queryable rather than merely catalogued.

Intelligent relationship resolution

Shipped

Entities reference each other by name through the earlier steps, and this step resolves those names into identity-based links. "Captain Vane" in a paragraph becomes an actual edge to the actual Captain Vane record, and from that point on the graph no longer depends on spelling.

Canonical narrative relationship types

Shipped

Narrative structure uses named relationship types rather than one catch-all "connects to": a beat belongs to an arc, a beat follows a beat, an action hangs off a beat. Because the type is explicit, the narrative board and the filters read your structure instead of guessing at it.

Visual relationship editor

Shipped

The graph is editable, not just viewable. Connections are clickable, their type and description can be rewritten in place, and the edits persist. Filters narrow a dense graph down to the relationship types you are actually thinking about.

05 Narrative

Authoring story on the graph

The deepest layer of the tool: a node canvas where the extracted world becomes an actual structured story, with hierarchy, dialogue, state, and branches.

Structure

Node-based story editor

Shipped

A visual canvas for the Arc to Beat to Scene hierarchy. Drag entities in from the explorer, connect them, and lay the story out spatially. Node positions and connection labels persist, so the arrangement you built is the arrangement you come back to.

Screenplay-format dialogue

Shipped

Beats carry dialogue in a screenplay-like format with parentheticals and conditions, so what a character says and the circumstances under which they say it live in one authored line rather than in a line and a comment about the line.

Unassigned beats folder

Shipped

Beats belonging to no arc are surfaced in their own folder with a warning marker instead of being silently invisible. The structural holes in your story are shown to you, which is the only useful thing to do with them.

Branching and state

Conditional branching

Shipped

Branch nodes render as cards with one labelled row per branch, each with its own colour and its own output port, and the connection leaving a branch inherits that branch's colour. The card grows with the branch count. The intent is that a branching story is readable straight off the canvas without opening anything.

Branch editing

Shipped

Double-click a branch node to edit it: label the branches, colour them from a preset palette or a hex value, reorder them, delete them. The editor is backed by the same entity records as everything else on the board, so a branch is not a special case living in its own store.

Project variables

Shipped

Project-scoped typed variables (boolean, integer, string, and float) give branch conditions something real to test against, so a branch turns on state rather than on a note describing what the state would be.

Connect arcs and beats

Shipped

A single action that links loose arcs and beats into the hierarchy, callable from anywhere in the app rather than only from the view that happens to own the graph.

06 Export

Getting it into your engine

The point of the entire pipeline. Export is engine-agnostic by default and templated where it has to be specific.

Five export targets

Shipped

XML, JSON, CSV, Unity, and Unreal. The generic formats matter as much as the named ones: anything that can read structured data can consume an Architect project, including engines nobody here has thought about.

One file per entity type

Shipped

Every exporter produces a ZIP archive with one file per entity type rather than a single undifferentiated dump. That is what makes the output droppable into an existing pipeline without writing a preprocessing step first.

Correct XML escaping

Shipped

Ampersands, angle brackets, and quotes inside your field values are escaped on the way out. An apostrophe in a character's name does not produce a malformed file, which sounds like a small promise until it is broken.

07 AI layer

The model layer, and staying in charge of it

Architect is AI-powered, not AI-governed. The model is a component you choose, watch, and price, and every one of its outputs is something you review before it counts.

Model selection

Shipped

Choose which language model runs your operations. The preference is per-user and stored server-side, so it follows you across devices and sessions, and the catalogue tracks current models rather than freezing on whatever was good at launch.

Prompts are configuration, not code

Shipped

The prompts driving extraction and schema generation live as files outside the application logic, with the originals preserved beside them, and they are re-read on every run rather than cached at startup. That means extraction behaviour can be corrected without shipping a release, which is why quality can improve between version numbers. To be precise about what this is: it is an operational capability, not a setting in your account. Hosted users do not edit prompts.

Task tracking

Shipped

Every model operation is recorded with its duration, the model used, input and output sizes, and whether it succeeded. Nothing the AI did to your project is invisible after the fact.

Per-chunk progress

Shipped

Long operations report real progress per chunk ("processing chunk 1 of N") rather than an indeterminate spinner over a multi-minute job. Both extraction and semantic search report this way.

Cost tier indicators

Shipped

Models are shown with a visual cost tier instead of a raw price string, so choosing one is a legible decision made at the moment of choosing.

Automatic stuck-task recovery

Shipped

A sweep every five minutes finds and clears model tasks that died mid-flight, so a crash or a provider timeout cannot leave the progress monitor wedged forever waiting on something that is never coming back.

08 Credits

What costs money, and what does not

Architect itself is free. The AI operations inside it consume credits, because they consume real model capacity, and the design goal is that you always know the price before you pay it.

Open registration and a welcome credit

Shipped

Sign-up is open, with no invite and no beta key, and a new account starts with three euros of credit. That is enough to put a real project through the whole pipeline before you decide anything.

Per-user credit ledger

Shipped

Credits are deducted atomically before a model operation and rolled back if it fails. You are not charged for a run that did not happen.

Credit guards and real estimates

Shipped

Metered operations check your balance before they start rather than failing halfway through, and the estimate you are shown is a real computed number. Where an operation scales with the size of your project, the estimate scales with it: a semantic search over many chunks is priced as many calls, because that is what it is.

Top-up and balance in euros

Shipped

Balances are held and shown in euros, topped up through Stripe, with live exchange rates behind the conversion. Optional automatic top-up exists so a long extraction does not stop halfway for the sake of a few cents.

Cost tracking per operation

Shipped

Each model task records what it actually cost in euros alongside its token counts, so spend is attributable to the work that caused it instead of arriving as one opaque monthly number.

09 Collaboration

More than one person on a world

A lore bible is rarely one person's work for long. Architect is built for a project to have a team around it, and for whoever runs the thing to be able to answer questions with data.

Project sharing with roles

Shipped

Invite collaborators to a project by email as owner, editor, or viewer. The role is enforced on every project-scoped operation on the server, not merely reflected by hiding buttons in the interface.

Activity journal

Shipped

Project activity is logged, and every entry is stamped with the application version that produced it, so behaviour can always be traced back to the exact build it came from.

Admin dashboard

Shipped

An operator view across users, credit balances, model task history, projects, and an audit log, with sortable tables. Support questions get answered from records rather than from guesses.

10 Platform

The parts you should never have to notice

The unglamorous layer. None of this is a feature anyone asks for by name, and all of it is why the rest holds together.

Onboarding walkthrough

Shipped

A guided first run, plus contextual hints that appear as you reach each step and can be dismissed or reset from your profile. A six-step pipeline needs a way in.

In-app bug reports and feature requests

Shipped

Report a bug or request a feature without leaving the tool. A screenshot is captured automatically, and you can annotate it with arrows and boxes before sending. Reports land directly in the tracker the team works from, which is the only reason they get read.

In-app version stamp

Shipped

The running version is displayed in the interface at all times. When you report something, which build it happened on is never in question.

Appearance settings

Shipped

Board background and entity row colours are per-user and stored server-side, so your workspace looks the way you left it on any machine you sign in from.

End-to-end test coverage

Shipped

A Playwright suite drives the whole pipeline against a real backend on every change: project creation, lore upload, schema generation, entity extraction, relationship resolution, the narrative board, and export. The workflow described on this page is tested as a workflow, not as a pile of parts that each pass alone.

11 Timeline

How it got here

Nineteen releases between October 2025 and July 2026. The through-line is a tool that started as a single-player document processor and became a multi-user platform, without ever losing the six-step spine it launched with.

2025-10
v0.1.0 · First build

The six-panel workflow lands end to end: lore, schema, entities, relationships, narrative board, export. A FastAPI and PostgreSQL backend, a React frontend, and export to XML, JSON, Unity, Unreal, and CSV on day one.

2025-11
v0.2.0 · The relationship system

Entities start referencing each other by name and get resolved into real connections at step six. The prompt system becomes editable, and entity types gain colour-coded badges.

2025-12
v0.3.x · Narrative and observability

The advanced narrative system arrives: Arc to Beat to Scene, screenplay dialogue, branching, and project variables. Model task tracking, entity merge, image OCR, model selection, and context-aware chunking land alongside it.

2026-02
v0.3.2 · Export and progress

Every exporter moves to ZIP archives with one file per entity type, and the progress monitor gains real per-chunk reporting instead of a spinner.

2026-03
v0.4.0 to v0.5.5 · Multi-user

The single-player tool becomes a platform: accounts, project sharing with roles, a credit ledger, billing, per-user settings, the onboarding walkthrough, and the in-app bug reporter. Canonical narrative relationship types and targeted extraction sharpen the pipeline at the same time.

2026-03
v0.6.0 · The narrative board completes

Conditional branching becomes a first-class, editable, colour-routed system on the canvas, and the activity journal begins stamping the build version on every entry.

2026-04
v0.7.0 · Open doors

Registration opens with no beta key, new accounts receive a three euro welcome credit, the admin dashboard arrives, and model spend starts being tracked in euros per task.

2026-05
v0.8.0 to v0.8.1 · Additive and editable

Extraction becomes additive, so re-running refines instead of resetting, and starts recording the chunks each entity came from. The schema layer gains import, export, inline field editing, and enum fields.

2026-07
v0.9.0 · Search and scale

Natural-language semantic search over a project's entities, reasoning chunk by chunk so nothing is truncated, plus batch multi-select across lore files. The current build.

This catalogue is generated from the Architect product changelog and the shipped build, and describes v0.9.0. Internal infrastructure work, database migrations, and defects with no bearing on what the tool does are deliberately left out. Architect is free to use. Start at the Architect page, or read how it fits the wider pipeline in turning lore into game-ready data.

← All build records