Skip to main content

Changelog

All notable changes to the framework, grouped by date with issue references.

March 26, 2026

Replace ntfy with moshi-hooks

ORC-349

Migrated Claude Code notifications from ntfy.sh push notifications + local `afplay` sounds to Moshi's native `moshi-hooks` package. moshi-hooks provides Live Activity widget on iPhone lock screen, audio prompts (Peon Ping Pack), and event coverage for task completion, tool use, errors, and approval prompts. **Changes:** - **`~/.claude/settings.json`:** Removed ntfy curl hooks (Stop event, AskUserQuestion) and local `afplay` sound hook. moshi-hooks adds its own hooks via `bunx moshi-hooks setup`. - **`standards/reference/workstation-setup.md`:** Replaced webhook notifications section with Agent Hooks (moshi-hooks) section. Updated verification checklist, daily usage, risks, and unwind instructions. ---

March 24, 2026

Pipeline V3: /new + /go rewrite (ORC-463 — ORC-468)

**3-command architecture.** The framework pipeline is now 3 commands: `/new`, `/go`, `/approve`. All intermediate commands (`/estimate`, `/prep`, `/ship`, `/merge`, `/implementation`, `/to-do`) are deleted — their logic is inlined. **Changes:** - **`/new` rewritten (ORC-464):** Inlines estimate (type inference, complexity derivation) and prep (9-criterion DoR validation) directly. No slash-command delegation. - **`/go` rewritten (ORC-465):** 11-step single-issue pipeline with state file resume (`.go-state-{ID}.json`), trust gradient (auto/confirm-brief/confirm-pr/confirm-both), planning path with sub-issue creation + blocks relations, direct agent delegation. - **`/go` batch mode (ORC-466):** Deep analysis (30s budget/issue), prioritized execution plan with user approval, sequential execution with batch summary. - **Integration tested (ORC-467):** Structural verification + real Linear issue creation/deletion. - **Cleanup (ORC-468):** Deleted 7 command files + procedures file + pipelines directory. Updated CLAUDE.md and CHANGELOG. **Deleted files:** - `.claude/commands/estimate.md` - `.claude/commands/prep.md` - `.claude/commands/ship.md` - `.claude/commands/merge.md` - `.claude/commands/implementation.md` - `.claude/commands/to-do.md` - `.claude/pipelines/full-feature-autonomous.md` - `.claude/pipelines/` (directory removed) ---

March 20, 2026

/prep command for issue hygiene and Definition of Ready

ORC-394

- Added `/prep` command (`.claude/commands/prep.md`) with 9-criterion DoR checklist, auto-heal, and human flagging - Wired `/prep` into `/issue` as Step 7 (after `/estimate`) — issues are fully structured at creation time - Added DoR gate check (step 2b) to `/work` pipeline — validates readiness before execution begins - Added `--force` flag to `/estimate` for re-estimation when scope changes - Added `--check-only` flag to `/prep` for lightweight validation without modification

Global scratch workspace for conversational sessions

ORC-391

- Added `~/scratch/` workspace convention for conversational artifacts (brainstorms, diagrams, notes, research) - Convention: `~/scratch/<project>/<YYYY>/<MM>/<DD_slug>/` -- organized by project, year, month, and topic - Added "Scratch Workspace" section to global `~/.claude/CLAUDE.md` with usage rules and directory structure - Added cross-reference to project CLAUDE.md and documentation to workstation-setup.md - Distinct from `test-*` convention: `test-*` is for testing repo changes (gitignored), `~/scratch/` is for conversational work

Remove require-issue PreToolUse hook

ORC-392

- Removed `.claude/hooks/require-issue.sh` and the PreToolUse hook block from `.claude/settings.json` - Removed Critical Rule #10 ("No Code Without Issue" hook enforcement) from CLAUDE.md - The soft rule ("Never make code changes without a Linear issue") remains in the global `~/.claude/CLAUDE.md`

Tool Adoption Checklist

ORC-383

- Added "Tool adoption checklist" section to `workstation-setup.md` with a 5-point evaluation framework (update channel, cadence, maintainer risk, update policy, decision documented) - Added **Update policy** field to every tool section in workstation-setup.md (Core tools, Cursor, Claude Code, FFF MCP, Linear CLI, Wispr Flow, Tailscale/Mosh, Moshi, TouchscreenDriver, Stream Deck, D2, Excalidraw CLI) - Added cross-reference in CLAUDE.md § Locked Decisions requiring the checklist before adopting new tools - Bumped workstation-setup.md to v1.1.0

PreToolUse Hook: No Code Without Issue

ORC-381

- Added `.claude/hooks/require-issue.sh` -- PreToolUse hook that enforces issue tracking at the harness level - When no `.work-active` file exists, Edit/Write tool calls trigger a user permission prompt (`permissionDecision: "ask"`) - Auto-allows edits to `.claude/` and `memory/` paths without prompting - Registered hook in `.claude/settings.json` under `hooks.PreToolUse` with `Edit|Write` matcher - Added Critical Rule #10 to CLAUDE.md documenting the enforcement

Restore Interactive Session Name Prompt

ORC-382

- Restored the interactive prompt in `~/.claude/framework-session.sh` that ORC-368 removed - When a new iTerm session opens, the user is prompted for a short name/intent (e.g., `ORC-368 tab colors`) - Input is sanitized into a tmux-safe suffix: `framework-orc-368-tab-colors` - Pressing Enter without input falls back to auto-increment (`framework`, `framework-2`, etc.) - Updated `workstation-setup.md` with new behavior docs, Restore from Backup entry, and verification items

March 19, 2026

Linear API: 5 New Commands

ORC-365

Added 5 new commands to `tools/scripts/linear-api.ts`: `add-relation` (create issue relations including blocks, blocked-by, related, duplicate, parent, sub-issue), `search` (filter issues by state/label/project/assignee/team UUIDs), `list-statuses` (list workflow states for a team sorted by position), `list-labels` (list team labels sorted alphabetically), and `query` (execute raw GraphQL via inline string or file). Extracted shared `readLinearConfig()` and `resolveTeamId()` helpers. Refactored `listTodo()` to use the shared config reader.

Type and Estimate Inference in /work Pipeline

ORC-364

Enhanced step 2 of `/work` command to infer missing Type labels and Estimates instead of silently skipping complexity derivation. When a Type label is missing, the pipeline now infers it from the issue title prefix (e.g., `fix:` → bug, `feat:` → feature, no prefix → chore). When an estimate is missing, it defaults to M (3 points). This guarantees every issue has Type + Estimate before complexity derivation runs, eliminating the previous gap where issues without both fields got no complexity label at all. All inference reasoning is consolidated into a single Linear comment.

/issue command with Type and Estimate

ORC-366

Added `/issue` slash command for creating Linear issues mid-task without context-switching. The command reads `.linear.json` for project configuration, infers Type (bug/feature/chore/docs/planning) and Estimate (S/M/L → 2/3/5 points) from conversation context, creates the issue in Backlog with proper labels, and resumes the current task. Also added `--estimate` flag to `linear-api.ts` for both `create-issue` and `update-issue` commands, and included `estimate` in the `ISSUE_FIELDS` GraphQL fragment.

Remove --trivial flag from /work

ORC-358

Removed the `-t` / `--trivial` CLI flag and `BUILD_TRIVIAL` procedure from the `/work` pipeline. This scaffolding (added in ORC-357) became redundant after ORC-355 implemented complexity auto-detect — the pipeline now scales automatically based on `trivial`/`standard`/`complex` labels. Trivial issues still get lightweight handling (DESIGN skipped, BUILD with no reviewers) via the existing complexity branching within each procedure. ---

March 18, 2026

Pin actions/checkout to SHA

ORC-347

Pinned `actions/checkout@v4` to commit SHA `34e114876b0b11c390a56381ad16ebd13914f8d5` (v4.3.1) in `.github/workflows/claude-review.yml`. Same supply chain security hardening as ORC-344 — mutable tags can be moved without a workflow file change.

Install and Configure Moshi App

ORC-343

Added Moshi (Claude Code-optimized iPhone terminal) to the developer workstation setup. Moshi replaces Termius + ntfy with a single app providing Mosh protocol resilience, Claude Code keyboard shortcuts, voice-to-terminal, and built-in webhook notifications. Updated `.claude/settings.json` stop hook from ntfy to Moshi webhook API. Added Tailscale key expiry fix to prevent browser tab on reboot. Termius + ntfy docs retained as fallback until Moshi is validated.

NEW_FINDINGS .linear.json Fix

ORC-345

Fixed the NEW_FINDINGS procedure in `.claude/pipelines/full-feature-autonomous.md` to read `.linear.json` for team, state, project, and assignee UUIDs instead of hardcoding them. Previously, issues created during the NEW_FINDINGS step lacked project and assignee, landing as orphans. Also added `--project` flag support to `update-issue` in `tools/scripts/linear-api.ts` for parity with `create-issue`.

/to-do Slash Command

ORC-346

Added `/to-do` command that drains the project's To-Do backlog automatically. Fetches all To-Do issues from Linear (filtered by project and assignee from `.linear.json`), sorts by priority (Urgent first, None last), then delegates each issue sequentially to a fresh sub-agent running `/work -a`. Added `list-todo` command to `linear-api.ts` that reads `.linear.json` for filter context.

No Code Without Issue

ORC-342

Added "No Code Without Issue" global rule to `~/.claude/CLAUDE.md`. Enforces that Claude never makes code changes without a Linear issue — use `/issue` to create inline, then continue current task. Prohibits "should I start working?" prompts. Exception for `/work` pipeline (`.work-active`).

Activity Logging Telemetry Docs

ORC-338

Added pipeline telemetry mention to CLAUDE.md Activity Logging section. One sentence noting `/work` writes telemetry entries to `activity-log.json`.

Review Workflow Re-Run Fix

ORC-340

Added "Resolve PR context" pre-step to Claude Code review workflow that patches `$GITHUB_EVENT_PATH` when `github.event.pull_request` is null on `gh run rerun --failed`. Eliminates empty commit workaround. ---

March 17, 2026

Pipeline Telemetry

ORC-332ORC-333ORC-334ORC-335

- Added issue-level telemetry schema to activity-logging.md (v1.1.0): tokens, agents, skills, tools, plugins, wall_ms, agents_detail - Added telemetry accumulation instructions to /work pipeline (work.md) - Added self-reporting Work Summary instruction to sub-agent delegation prompts (full-feature-autonomous.md) - Fixed agent refusal on XML telemetry tags by reframing as natural-language Work Summary

Statusline Tokens + Telemetry Cleanup

ORC-336

- Replaced dollar cost with session token count in statusline (activity-logging.md v1.2.0) - Dropped `cost_usd` field from pipeline telemetry schema — was always null, not useful on Max plan - Added `(detached)` display for detached HEAD in statusline branch segment - Updated CLAUDE.md and workstation-setup.md references

March 9, 2026

Issue Scoping Guidance

RAJ-295

- Added `## Issue Scoping` section to sdlc.md (v9.3) with decision heuristic table, coordination guidance for split issues, and Nav registration case study (RAJ-291–294)

March 8, 2026

Pipeline Enforcement Rules

RAJ-279

- Added 9 pipeline enforcement rules to CLAUDE.md Critical Rules section - Added phase checklists, enhanced hooks, sequential execution protocol - Created Linear formatting standard (`standards/reference/linear-formatting.md`) - Updated review synthesis templates across review-protocol, linear-lifecycle, CLAUDE.md

New Findings Disposition

RAJ-285

- Added auto-disposition methodology for trivial review findings in review-protocol.md (v2.1) - Renamed "New Work" to "New Findings" across all templates and references - Updated framework reviewer agent definition for disposition awareness - Applied 2 Fix Now test cases: agents-template.md (issue-first model), new-project-checklist.md (hooks symlink)

March 7, 2026

Batch 4: Developer Experience & Versioning

RAJ-253RAJ-254RAJ-258

- Reorganized skills README into 3 tiers: Core, Recommended, Specialist (RAJ-253) - Added checkpoint examples, `memory: project` docs, validation command reference to CLAUDE.md (RAJ-254) - Created CHANGELOG.md with version bump criteria (RAJ-258) - Fixed dangling `standards/agents/workflow-implement.md` reference in CLAUDE.md

Batch 3: CI Validation & Checklist Fixes

RAJ-255RAJ-256

- Created GitHub Actions CI workflow with count, link, and symlink validation - Created `validate-counts.sh` — verifies CLAUDE.md counts match actual files - Created `validate-links.sh` — checks all internal markdown references resolve - Fixed new-project-checklist Linear MCP setup (CLI-based, not .mcp.json) - Added framework inheritance symlink setup step to checklist

Batch 2: Cleanup, Risk Stratification, Patterns

RAJ-249RAJ-250RAJ-251RAJ-252RAJ-257

- Demoted `activity-logging.md` from core to reference - Removed deprecated `improvement-cycle.md` - Deprecated `learnings` skill in favor of `framework-improvement.md` - Added Risk Stratification to SDLC (low-risk bypass criteria) - Added External Service Failures and Scope Changes to SDLC - Expanded LEARN phase with PostHog, Sentry, Axiom setup patterns - Created two-tier retrospective model (`framework-improvement.md`) - Added Prisma and TanStack Query patterns to coding conventions - Added Clerk auth mocking, Stripe webhook testing, RLS testing patterns - Added Supabase RLS, webhook security, CORS, CSP to security standards - Added Multi-Issue Parallel Recovery and Stale `awaiting-input` Detection

Batch 1: Broken Refs, Hook Fixes, Security Hardening

RAJ-245RAJ-246RAJ-247RAJ-248

- Created `.mcp.json.example` and PR template (referenced but missing) - Fixed dangling `standards/agents/workflow-*.md` references in agent definitions - Replaced `work-general-purpose` references in team-build-crew with Team Lead - Added `No findings` and `framework` case to task-completed hook - Added teammate allowlist to teammate-idle hook - Fixed theme count (42→43) and component count (17→31) contradictions - Added prototype exception for date-fns/native Date in coding conventions - Removed `Bash(read-only)` from review agents (prompt injection risk) - Created `verify-inheritance.sh` for child project symlink validation - Added webhook security, API key rotation, CORS, rate limiting to security standards --- ## Pre-2026-03-07 See git history for earlier changes. Key milestones: - Agent Teams migration (work-/review- prefix convention) - Linear lifecycle and status mapping - Epic phases and milestone planning - Skills library creation (34 skills) - Prototype scaffold with 43 themes and admin dashboard

Search Framework Explorer

Search agents, skills, and standards