Kodebase
Concepts

Core Concepts

Understanding artifacts, hierarchy, and lifecycle in Kodebase

Kodebase organizes project work through artifacts - structured YAML files that describe what you're building. This page explains the core concepts you need to understand.

Artifacts

An artifact is a YAML file that describes a unit of work. Every artifact has:

  • Metadata - Title, priority, estimation, assignee, relationships
  • Content - Summary, acceptance criteria, implementation notes
  • Events - Lifecycle transitions with timestamps and actors
metadata:
  title: User authentication system
  priority: high
  estimation: M
  assignee: developer@example.com
  schema_version: 0.0.1
  relationships:
    blocked_by:
      - A.1.1
    blocks:
      - A.1.3
  events:
    - event: draft
      timestamp: 2024-01-15T10:00:00Z
      actor: developer@example.com
      trigger: artifact_created

content:
  summary: Implement OAuth-based authentication with JWT tokens
  acceptance_criteria:
    - Users can sign up with email/password
    - Users can login with Google OAuth
    - JWT tokens expire after 24 hours
    - Refresh token rotation implemented

Artifact Hierarchy

Artifacts are organized in a three-level hierarchy:

Initiative

The top-level artifact representing a major goal or project phase. Initiatives are broad in scope and may span weeks or months.

Example: "Alpha MCP Server" - Ship the first version of the MCP server with core functionality.

.kodebase/artifacts/
└── H.alpha-mcp-server/
    └── H.yml  # Initiative artifact

Milestone

A significant deliverable within an initiative. Milestones group related issues and represent meaningful progress checkpoints.

Example: "Core Planning Tools" - Implement Scout agent for idea-to-spec workflow.

.kodebase/artifacts/
└── H.alpha-mcp-server/
    └── H.1.core-planning-tools/
        └── H.1.yml  # Milestone artifact

Issue

The atomic unit of work. Issues have clear acceptance criteria and can typically be completed in a single work session.

Example: "Implement session management" - Create session store with persistence.

.kodebase/artifacts/
└── H.alpha-mcp-server/
    └── H.1.core-planning-tools/
        ├── H.1.yml
        ├── H.1.1.session-management.yml  # Issue
        └── H.1.2.question-generation.yml # Issue

ID System

Every artifact has a unique ID that encodes its position in the hierarchy:

IDTypeMeaning
HInitiativeInitiative H
H.1MilestoneFirst milestone of initiative H
H.1.3IssueThird issue of milestone H.1

IDs are:

  • Stable - Once assigned, they don't change
  • Hierarchical - Parent relationship is encoded in the ID
  • Human-readable - Easy to reference in conversations and commits

Artifact Lifecycle

Every artifact moves through a defined lifecycle:

draft → ready → in_progress → completed

                  blocked

States

StateDescription
draftInitial state, artifact is being defined
readyAll dependencies met, work can begin
in_progressActively being worked on
blockedWaiting on dependencies
completedWork finished, acceptance criteria met

Events

State transitions are recorded as events with full context:

events:
  - event: draft
    timestamp: 2024-01-15T10:00:00Z
    actor: developer@example.com
    trigger: artifact_created

  - event: ready
    timestamp: 2024-01-15T10:30:00Z
    actor: agent.cascade@github
    trigger: dependencies_met

  - event: in_progress
    timestamp: 2024-01-16T09:00:00Z
    actor: developer@example.com
    trigger: branch_created
    metadata:
      branch: H.1.1
      pr_number: 42

Relationships

Artifacts can have dependency relationships:

blocked_by

This artifact cannot start until the listed artifacts are completed.

relationships:
  blocked_by:
    - H.1.1  # Must complete session management first
    - H.1.2  # Must complete question generation first

blocks

This artifact must complete before the listed artifacts can start.

relationships:
  blocks:
    - H.1.4  # Validation depends on this
    - H.1.5  # Draft update depends on this

Kodebase automatically tracks these relationships and updates artifact states when dependencies are resolved.

Implementation Notes

When an artifact is completed, implementation notes capture learnings:

implementation_notes:
  result: Successfully implemented OAuth with Google and GitHub providers
  tags:
    - authentication
    - oauth
    - security
  challenges:
    - challenge: Token refresh race conditions
      solution: Implemented mutex lock on refresh endpoint
  insights:
    - Consider adding rate limiting to auth endpoints
    - JWT validation should happen at gateway level

These notes become valuable context for future work on related features.

Next Steps