---
description: How to structure research and plan artifacts in thoughts/
---

# Artifact Format

Standardized format for thoughts/ artifacts. All beads-related artifacts should follow these conventions for consistency and machine parseability.

## Frontmatter (Required)

Every artifact MUST include YAML frontmatter:

```yaml
---
date: 2026-01-15T10:00:00-08:00  # ISO 8601 with timezone
bead_id: project-abc              # Bead identifier
bead_title: "Title of the bead"   # Human-readable title
author: claude                    # Who created this
git_commit: abc123def             # Commit hash at creation
branch: main                      # Branch name
repository: repo-name             # Repository name
status: draft|complete            # Artifact status
---
```

### Gathering Metadata

```bash
git rev-parse HEAD                           # Current commit
git branch --show-current                    # Current branch
basename $(git rev-parse --show-toplevel)    # Repo name
date -Iseconds                               # ISO timestamp
```

## Research Artifact Structure

Location: `thoughts/beads-{bead-id}/research.md`

```markdown
# Research: {bead title}

**Bead**: {bead-id}
**Date**: {timestamp}
**Git Commit**: {commit hash}

## Research Question
{Original question from bead description}

## Summary
{2-3 sentence overview answering the research question}

## Key Discoveries
- {Finding with file:line reference}
- {Pattern or convention found}
- {Architectural decision documented}

## Architecture
{Current patterns and conventions in the codebase}

## Code References
- `path/to/file.py:123` - Description of relevance
- `another/file.ts:45-67` - Description of relevance

## Open Questions
{Areas needing further investigation or human clarification}
```

## Plan Artifact Structure

Location: `thoughts/beads-{bead-id}/plan.md`

```markdown
# {Title} Implementation Plan

## Overview
{What we're implementing and why - 1-2 sentences}

## Current State
{What exists now, key constraints discovered}

### Key Discoveries
- {Finding with file:line reference}
- {Pattern to follow}

## Desired End State
{Specification of what success looks like}

## What We're NOT Doing
{Explicitly list out-of-scope items}

## Phase 1: {Descriptive Name}

### Overview
{What this phase accomplishes}

### Changes
- [ ] {Specific change with file path}
- [ ] {Another change}

### Success Criteria

#### Automated
- [ ] Tests pass: `{test command}`
- [ ] Lint passes: `{lint command}`

#### Manual
- [ ] {Human verification step}

## Phase 2: {Descriptive Name}
{Repeat structure...}

## References
- Bead: {bead-id}
- Research: `thoughts/beads-{bead-id}/research.md`
```

## Key Principles

1. **Always include file:line references** - Makes artifacts actionable
2. **Separate automated vs manual verification** - Enables agent autonomy
3. **Use checkboxes for phases** - Enables resumability after interruption
4. **Keep frontmatter machine-parseable** - Enables tooling integration
5. **Link related artifacts** - Research links to plan, plan links to bead
