Skip to Content
ReferenceGlobal artifacts

Global artifacts

Lamina writes three project-wide files at .lamina/ root. These persist across runs and ground every design and verify cycle.

Quick path

  1. Run /lamina-init before any design or verify
  2. Inspect .lamina/business-context.md and .lamina/personas.json
  3. Reference these files in every run via business_context_ref and personas_ref

Advanced: /lamina-design and /lamina-verify are blocked until a valid .lamina/business-context.md exists from /lamina-init. This init gate cannot be bypassed.

Directory layout

.lamina/ ├── business-context.md # Domain charter ├── personas.json # Actor cast ├── decisions.md # Conflict resolution log └── runs/ └── <run_id>/ # Per-run artifacts

business-context.md

Domain charter from /lamina-init. Scopes the problem space before flow design.

Sections

SectionPurpose
Problem statementWhat problem the product solves
Business goalsSuccess criteria and time horizon
Success metricsMeasurable targets
ScopeIn-scope and out-of-scope for v1
Users & marketSegments served and alternatives
Product posturePlatform, density, role in user’s workflow
ConstraintsTeam, timeline, compliance, integrations
StakeholdersWho cares and known tensions
Risks & unknownsOpen delivery and market risks
Open questionsDecisions not yet made
ChangelogUpdates from /lamina-init update

Frontmatter

--- lamina: maturity: greenfield | brownfield platform: [web] last_updated: 2026-07-10 ---

Example excerpt (HavenStay)

# Business context **HavenStay** — two-sided marketplace connecting leisure and business travelers with independent and boutique hotels in the United States. ## Problem statement Travelers face cluttered, opaque OTA experiences optimized for inventory scale rather than clarity and trust. Independent and boutique hotels struggle to compete with large chains on incumbent platforms... ## Scope **In for first production release:** - Traveler: registration/auth, discovery & search, booking flow, payments - Hotel: dashboard, property management, room inventory, pricing **Explicitly out of v1:** - Vacation rentals, flights, cars, packages - Full PMS, channel managers, native mobile apps

Written by: /lamina-init (modes: establish or update)
Read by: /lamina-design, /lamina-verify, you

personas.json

Actor cast — roles, goals, permissions, and constraints for everyone who interacts with the product.

Structure

personas: - id: leisure_traveler primary: true surface: traveler_web summary: Plans leisure stays; wants clear search and fast booking. goals: end: - find a suitable hotel for trip dates - complete a paid booking and receive confirmation experience: - feel the process is transparent on price and policies permissions: - register_and_authenticate - search_and_filter_hotels - create_booking - pay_for_booking constraints: - english_only - usd_only technical_literacy: medium confidence: medium evidence: stakeholder input

Field reference

FieldDescription
idStable actor identifier used in run.json and verify walks
primaryWhether this actor is a core design target
negativeExplicitly out-of-scope persona (design guardrail)
surfaceWhere the actor interacts (e.g. traveler_web, hotel_dashboard)
summaryOne-line role description
goals.endOutcomes the actor must achieve
goals.experienceHow the actor should feel during flows
permissionsOperations this actor may perform
constraintsScope limits and platform restrictions
technical_literacylow, medium, or high — affects verify walk depth
confidenceHow well-grounded this persona is (low / medium / high)
evidenceSource for persona definition

Advanced: Negative personas (negative: true) document who the product explicitly does not serve. They prevent scope creep during design.

Written by: /lamina-init, updated by /lamina-design
Read by: /lamina-verify (one subagent per primary actor)

decisions.md

Conflict resolution log. When design choices conflict — scope vs timeline, actor goals vs invariants — Lamina records the decision, rationale, and affected run_id.

Typical entry:

## 2026-07-10 — cancellation policy defaults - **Decision:** Platform-mandated cancellation tiers; hotels select one at onboarding - **Rationale:** Traveler trust requires predictable policy language - **Runs affected:** havenstay-platform-2026-07-10 - **Skill:** lamina-decision-making

Written by: Lamina during design when conflicts arise
Read by: You, future design runs

Init modes

ModeCommandBehavior
establish/lamina-init (default)Create business-context.md and personas.json from scratch
update/lamina-init updateMerge changelog when domain pivots; preserve prior decisions

Next steps

Last updated on