Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
},
"metadata": {
"description": "Loaf - An Opinionated Agentic Framework",
"version": "0.2.20"
"version": "0.2.21"
},
"plugins": [
{
"name": "loaf",
"description": "Loaf - An Opinionated Agentic Framework",
"source": "./plugins/loaf",
"version": "0.2.20",
"version": "0.2.21",
"license": "MIT",
"repository": "https://github.com/levifig/loaf"
}
Expand Down
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,24 @@ is a Loaf workflow staging section for curated entries before release.

- _No unreleased changes yet._

## [0.2.21] - 2026-08-10

### Added

- `loaf state migrate alias-orphans` retires entity rows orphaned from the alias registry — the damage left when a project rekey invalidated every derived ID and a later import re-minted the tree. Classification proves twin-ship (legacy-salt derivation, or window-gated content identity) and iterates to a fixed point; unproven rows refuse by default and take explicit `--retire`/`--realias` dispositions that rehearse in preview; apply takes a backup first and writes an fsynced rollback manifest that restores every deleted row ([#159](https://github.com/levifig/loaf/pull/159)).
- `loaf state migrate journal-duplicates` is the sibling repair for journal entries, which carry no aliases: identical `(type, scope, message)` twins across the two import windows retire their older copy, ambiguous groups refuse, and the reference sweep shares one polymorphic-table enumeration with alias-orphans so the two repairs cannot drift ([#159](https://github.com/levifig/loaf/pull/159)).
- `loaf state doctor` now checks alias parity: for every project and aliased entity table, raw row counts must equal alias-reachable counts with zero dead aliases. Divergence reports as an error diagnostic naming the repair command — identity damage is detectable the day it happens instead of discoverable by accident at housekeeping ([#159](https://github.com/levifig/loaf/pull/159), ADR-028).
- `loaf hooks list`, `loaf hooks enable`, and `loaf hooks disable` operate individual hooks from the installed catalog. Enablement lives in the global database, user-scoped and host-local — absence means enabled, disable records tombstone rather than delete — and every verb reprojects the target's hook file through the full reconciler under a per-target lock ([#161](https://github.com/levifig/loaf/pull/161)).

### Changed

- Codex and Cursor hook files are no longer whole-file managed artifacts guarded by a digest. Install and upgrade now converge Loaf-owned entries per hook point — adding missing ones, updating changed ones, removing retired ones, and absorbing an operator-deleted entry once as a disabled record — while every non-Loaf entry survives value-identical and order-stable. Drift refusals are gone as a class, including the refusal on user-modified `hooks.json` files frozen since the pre-reset releases; integrity violations still fail closed and preserve the file ([#161](https://github.com/levifig/loaf/pull/161)).
- Markdown import resolves identity through the alias registry before deriving an ID — existing entities, sources, and journal rows are reused instead of re-minted, colliding sparks receive numbered aliases, and a spark whose message normalizes to an empty slug gets a content-hash alias so no row is born unreachable. Derived IDs are now mint-once opaque keys (ADR-028); for healthy databases a re-import is byte-stable ([#159](https://github.com/levifig/loaf/pull/159)).

### Fixed

- A project rekey followed by a markdown re-import could silently fork the identity space — every artifact re-inserted as an invisible twin, aliases re-pointed to the copies, and the list surfaces disagreeing with the housekeeping scanner about how much work exists. The importer fix removes the cause; the migrations repair existing damage; doctor parity detects any recurrence ([#159](https://github.com/levifig/loaf/pull/159)).

## [0.2.20] - 2026-08-07

### Changed
Expand Down
Binary file modified bin/native/darwin-arm64/loaf
Binary file not shown.
2 changes: 1 addition & 1 deletion dist/amp/.amp/plugins/loaf.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* Amp Plugin - Agent Skills Hooks
* Auto-generated by loaf build system
* @version 0.2.20
* @version 0.2.21
*/

import type { PluginAPI } from '@ampcode/plugin';
Expand Down
4 changes: 2 additions & 2 deletions dist/amp/.loaf-target-manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"version": 1,
"target": "amp",
"package_version": "0.2.20",
"package_version": "0.2.21",
"capability_contract_version": 3,
"adapters": [
"amp-plugin-v1"
Expand All @@ -18,7 +18,7 @@
"kind": "plugin",
"source_path": ".amp/plugins/loaf.ts",
"destination": "plugins/loaf.ts",
"sha256": "4ee5d7f790420e4a892924f4fa5d87e3ca8d35bcef9322fdd23866da993b49c5",
"sha256": "adb2c9e3937071569b1bcafa40f10690a115942e65716db79aa98cdf9323048b",
"mode": 420
}
]
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/architecture/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ description: >-
`decision(scope)` entry to the project journal instead). The ADR log is
append-only — when circumstances change, write a new ADR that supersedes the
old one.
version: 0.2.20
version: 0.2.21
---

# Architecture
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/bootstrap/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: >-
populated project documents and setup recommendations. Not for shaping
features (use shape), problem discovery for a new concept (use pitch), or
quick idea capture (use idea).
version: 0.2.20
version: 0.2.21
---

# Bootstrap
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/brainstorm/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: >-
agent-facing inquiry lifecycle that consumes this technique. Not for problem
discovery as a ceremony (use pitch) or bounding a chosen direction (use
shape).
version: 0.2.20
version: 0.2.21
---

# Brainstorm
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/breakdown/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: >-
Use when the user asks "break this down" or "create tasks for this spec."
Produces task files with estimates, dependencies, and acceptance criteria. Not
for shaping ideas (use shape) or implementation work (use implement).
version: 0.2.20
version: 0.2.21
---

# Breakdown
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/council/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: >-
the user wants a structured debate between domain-specific viewpoints. Not for
single-perspective research (use research) or architectural decisions that
don't need multi-agent deliberation (use architecture).
version: 0.2.20
version: 0.2.21
---

# Council
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/database-design/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: >-
database administration and development. Not for ORM usage in application code
(use language-specific development skills) or infrastructure orchestration
(use infrastructure-management).
version: 0.2.20
version: 0.2.21
---

# Database Skill
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/debugging/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-
flaky tests. Provides methodology for root cause analysis and issue
resolution. Not for writing new tests (use development skills) or security
analysis (use security-compliance).
version: 0.2.20
version: 0.2.21
---

# Debugging
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/documentation-standards/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-
reviewing documentation quality, or creating architecture diagrams. Not for
inline code comments (use code style guides) or project READMEs (use
project-specific conventions).
version: 0.2.20
version: 0.2.21
---

# Documentation Standards
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/explore/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ description: >-
question (use research), continuing implementation (use implement), processing
the intake queue (use triage), shaping a bounded Change (use shape), problem
discovery (use pitch), or quick capture (use idea).
version: 0.2.20
version: 0.2.21
---

# Explore
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/foundations/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-
setting up project standards. Covers naming, TDD, verification, and review
workflows. Not for git workflow (use git-workflow), debugging (use debugging),
or security audits (use security-compliance).
version: 0.2.20
version: 0.2.21
---

# Code Standards
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/git-workflow/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-
PRs, or managing git history. Provides patterns for collaborative git
workflows. Not for code style (use foundations) or CI/CD pipelines (use
infrastructure-management).
version: 0.2.20
version: 0.2.21
---

# Git Workflow
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/go-development/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-
Follows Effective Go principles and community conventions. Not for database
schema design (use database-design) or infrastructure orchestration (use
infrastructure-management).
version: 0.2.20
version: 0.2.21
---

# Go Skill
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/handoff/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: >-
being parked for later. Not for routine journal continuity (use orchestration)
or an end-of-conversation checkpoint (use wrap). Produces a disposable handoff
artifact that housekeeping deletes after confirmed deprecation.
version: 0.2.20
version: 0.2.21
---

# Handoff
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/housekeeping/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: >-
completed work, and ensures extracted knowledge is preserved. Not for
strategic reflection (use reflect) or knowledge management (use
knowledge-base).
version: 0.2.20
version: 0.2.21
---

# Housekeeping
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/idea/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: >-
tracking an Intent or handing to pitch. Not for problem discovery (use pitch),
processing the intake queue (use triage), shaping (use shape), or agent-side
divergent inquiry when direction is undecided (use explore as a technique).
version: 0.2.20
version: 0.2.21
---

# Idea
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/implement/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: >-
delivering commits. Logs to the project journal and produces agent spawn plans
and progress tracking. Not for shaping (use shape), breakdown (use breakdown),
research, or review.
version: 0.2.20
version: 0.2.21
---

# Implement
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/infrastructure-management/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-
managing deployments. Provides patterns for infrastructure as code. Not for
application code (use development skills), database schema (use
database-design), or security audits (use security-compliance).
version: 0.2.20
version: 0.2.21
---

# Infrastructure
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/interface-design/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-
ensuring accessibility compliance. Not for frontend code (use
typescript-development) or API design (use architecture or language-specific
skills).
version: 0.2.20
version: 0.2.21
---

# Design Principles
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/knowledge-base/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-
covers: field, and the review workflow. Not for retrieval or search (use QMD
directly), architectural decisions (use ADRs), or agent instructions (use
AGENTS.md).
version: 0.2.20
version: 0.2.21
---

# Knowledge Base
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/loaf-reference/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: >-
when asked to upgrade, diagnose, repair, configure, or bring a Loaf project
current. Not for workflow guidance (workflow skills own their CLI contracts)
or build internals.
version: 0.2.20
version: 0.2.21
---

# Loaf Reference
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/orchestration/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: >-
integration, and council workflows. Use when delegating to agents or
coordinating cross-cutting work across multiple agents. Not for single-task
implementation (use direct tool delegation) or solo research (use research).
version: 0.2.20
version: 0.2.21
---

# Orchestration
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/pitch/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ description: >-
tasks, or PRs. Not for solution shaping (use shape), queue processing (use
triage), quick capture (use idea), or open-ended divergent inquiry (use
explore as an agent technique when pitch reveals the direction is undecided).
version: 0.2.20
version: 0.2.21
---

# Pitch
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/power-systems-modeling/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-
thermal calculations, validating conductors, or computing sag and resistance.
Not for infrastructure deployment (use infrastructure-management) or system
architecture.
version: 0.2.20
version: 0.2.21
---

# Power Systems Reference
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/python-development/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-
models, or tests. Provides patterns for modern Python development. Not for
schema design (use database-design), infrastructure (use
infrastructure-management), or frontend code (use typescript-development).
version: 0.2.20
version: 0.2.21
---

# Python Development
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/refactor-deepen/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: >-
improvements, or when the user asks "is this module too shallow?" or "where
should we deepen this code?" Produces either a read-only report or a PLAN file
with candidates, dependency categories, and proposed deepened modules.
version: 0.2.20
version: 0.2.21
---

# Refactor-Deepen
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/reflect/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-
VISION.md, STRATEGY.md, and ARCHITECTURE.md based on implementation
experience. Not for pre-implementation strategy (use strategy) or ADRs (use
architecture).
version: 0.2.20
version: 0.2.21
---

# Reflect
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/release/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: >-
a release," "publish a version," "release from main," or asks whether enough
landed work should become a release. Not for reviewing or merging a PR (use
ship).
version: 0.2.20
version: 0.2.21
---

# Release
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/research/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-
Produces state assessments, research findings with ranked options, or vision
change proposals. Not for problem discovery that should author a brief (use
pitch), multi-agent coordination (use orchestration), or implementation.
version: 0.2.20
version: 0.2.21
---

# Research
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/ruby-development/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-
following Rails patterns. Follows DHH/37signals conventions. Not for database
schema design (use database-design) or frontend outside Hotwire (use
typescript-development).
version: 0.2.20
version: 0.2.21
---

# Ruby Development
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/security-compliance/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: >-
verification. Use when reviewing code for security, managing secrets,
performing threat analysis, or running compliance audits. Not for debugging
(use debugging) or general code review (use foundations).
version: 0.2.20
version: 0.2.21
---

# Security & Compliance
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/shape/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ description: >-
idea), problem discovery that should author a brief first (use pitch), or
open-ended divergent thinking (agent technique: explore / brainstorm — user
entry intent routes to pitch).
version: 0.2.20
version: 0.2.21
---

# Shape
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/ship/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-
final merge gate. Produces a reviewed, squash-merged PR and post-merge
cleanup. Not for version bumps, tags, GitHub Releases, or install verification
(use release).
version: 0.2.20
version: 0.2.21
---

# Ship
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/strategy/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-
personas, market landscape analysis, and problem space definitions. Not for
architecture (use architecture) or post-implementation reflection (use
reflect).
version: 0.2.20
version: 0.2.21
---

# Strategy
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/triage/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: >-
pitch, or hand to shape. Not for reading a single known item (use loaf intent
show or journal directly), capturing new ideas (use idea), problem discovery
(use pitch), or bounding one chosen direction (use shape).
version: 0.2.20
version: 0.2.21
---

# Triage
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/typescript-development/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: >-
CSS, and Vitest testing. Use when writing TypeScript applications, React
components, or Node.js services. Not for UI/UX design (use interface-design),
database schema (use database-design), or Python (use python-development).
version: 0.2.20
version: 0.2.21
---

# TypeScript Development
Expand Down
2 changes: 1 addition & 1 deletion dist/amp/skills/wrap/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: >-
end of a work session or when the user asks "wrap up." Not for archiving (use
housekeeping) or capturing ideas (use idea). Produces a Session Wrap-Up
summary and an optional wrap journal entry.
version: 0.2.20
version: 0.2.21
---

# Wrap
Expand Down
Loading
Loading