All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Entry-point classification (delivery phase, section 3.1) — before writing a smoke test, the AI must classify the touched surface (GET-safe action / state-changing HTTP / webhook / CLI / cron / queue / event listener) and pick the matching entry-point shape. The curl-GET template only applies to read-only routes; everything else has a one-line rule for triggering through its real mechanism. Ties back to the testing phase's integration-vs-unit hard rule.
docs/prompt-engineering.md— full catalogue of prompt-engineering patterns used across phases (structure, reasoning gates, output discipline, severity/confidence/consistency tiers, cross-phase contracts). Extracted from the README so the README stays scannable; linked from README, Phases tab of the GitHub Pages site, and CONTRIBUTING.docs/example-task/— synthetic end-to-end walkthrough of one feature (csv-export-reports-listing) with every artifact from requirements through delivery, including a consensus synthesis, an architecture decomposition, a verification finding with file:line evidence, and executed smoke tests with side-effect checks. Linked prominently from the README and the docs site.- Laravel 11.x+ framework guide (
prompts/frameworks/laravel.md) documented in README, CLAUDE.md, and the GitHub Pages Frameworks tab. Covers Eloquent, Form Requests, Policies, Events/Queues, Pest/PHPUnit, and artisan commands, with<framework_tool_affinity>rules and side-effect-asserting smoke-test templates. - VALIDATION.md cross-references added from CONTRIBUTING.md and PIPELINE_ORCHESTRATOR.md (the validation harness now has discoverable entry points from the two docs contributors actually start in).
.gitignorerule for.todo/parking-lot directory (personal deferred-work staging, not shipped).
- README opener rewritten to lead with the differentiator framing — "without the 'agent confidently broke prod' failure mode" — and the four pillars (hard-constraint phase gates, file:line-quoted verification, multi-model consensus, executed smoke tests). The Project Status disclaimer moved below the fold so first-time readers see the pitch, not the maintenance-mode caveat.
- Pipeline phase count unified to 6 across all surfaces — README, CLAUDE.md, plugin manifests, marketplace listing, GitHub repo description, and
docs/index.html. Consensus is now counted as phase 1 of 6 (previously framed as a separate pre-step); Requirements is explicitly "input you write" rather than a numbered phase. Previously the README said "five specialized AI agents" while plugin manifests said "6-phase" and the repo description said "5-phase" — three surfaces, three numbers. - Framework Support and Multi-Model Consensus copy reframed — removed hedging ("still works"/"enhancement") in favor of a contribution CTA and "fault-tolerant by design" language. The intent is the same; the tone now matches the actual posture.
- GitHub Pages site (
docs/index.html) brought current with the May 18 README rewrite — last edit before this batch was Apr 16. Hero now leads with the "broke prod" framing and links todocs/example-task/; phase cards renumbered so Consensus is 01 and Requirements is "Input" (file-text icon, not a numbered phase); a new "Install as a Claude Code Plugin (recommended)" section was added with/mots:*commands (the plugin install path had been entirely absent from the public site);AUTO_APPROVEdefault corrected from"none"to"all"and approval-gate copy reframed as optional throughout Overview / Workflow / Philosophy.
- Codex plugin manifests (
.codex-plugin/and.agents/). They were added speculatively in v1.1.0, never linked from the README, never tested in CI, and cost a dual-version-bump at every release. If Codex compatibility comes back as a real demand, the manifests are recoverable from git history. - 35-bullet prompt-engineering enumeration in the README — moved to
docs/prompt-engineering.mdand replaced with a 3-sentence summary plus link, so the README stops scrolling past the techniques the reader is actually trying to find.
- Consensus default Claude model bumped from Sonnet 4 to Sonnet 4.6 (
claude-sonnet-4-20250514→claude-sonnet-4-6). Sonnet 4 is being retired on the Anthropic API on 2026-06-15; this avoids service interruption forCONSENSUS_CLAUDE_MODE=apiand the standalonebin/consensus.phpscript.sessionmode is unaffected — it routes Claude work through Claude Code Task subagents, which the harness resolves to current models. motspilot.shtask-name validation now allows_and.in the interior of task names (e.g.01e_owasp-8.2.3-input-validation). Start/end must still be[a-z0-9].
CONSENSUS_CLAUDE_MODELenvironment variable inbin/consensus.php— overrides the default Claude model used for both the fan-out call and the synthesis/differences judge calls. Lets you upgrade past future deprecations without a code edit.
- Per-phase model routing — phase prompts now declare a
model:YAML frontmatter field. The orchestrator reads it withyqand passes it to the Task tool so each phase runs on the right model. Defaults: Architecture →opus(design trade-offs, blast-radius reasoning); Development / Testing / Verification / Delivery →sonnet(routine code generation + mechanical checks). Stretches Opus session quota without hurting output quality where it matters. - Session-mode consensus — new
CONSENSUS_CLAUDE_MODEconfig key with two modes:session(default inside Claude Code) —bin/consensus.php --external-onlyfans out to GPT-4o + Gemini only; the orchestrator spawns three Sonnet Task subagents for Claude's consensus roles (perspective →01_claude.md, synthesis →04_synthesis.md, differences →05_differences.md). Claude work draws from session quota;ANTHROPIC_API_KEYis no longer required for consensus.api(legacy) —bin/consensus.phphandles everything via direct Anthropic API calls. RequiresANTHROPIC_API_KEY.
bin/consensus.phpgains a--external-onlyflag that skips the Claude fan-out and both judge calls, dropsANTHROPIC_API_KEYfrom the required-key set, and reports=== EXTERNAL-ONLY CONSENSUS COMPLETE ===.
/mots:initadapts required-key checks toCONSENSUS_CLAUDE_MODE: onlyOPENAI_API_KEY+GEMINI_API_KEYare required in session mode. Claude Code'sANTHROPIC_API_KEYstripping is now reported as "ready (mode: session)" instead of a problem.- Default
.motspilot/configwritten bymotspilot.shnow includesCONSENSUS_CLAUDE_MODE="session". plugin.jsonuserConfig description forANTHROPIC_API_KEYclarifies it's only needed inapimode.
- Claude Code plugin support — install via
/plugin marketplace add motsmanish/motspilot+/plugin install mots - 7 skills:
/mots:pilot,/mots:pipeline(alias),/mots:init,/mots:status,/mots:archive,/mots:reactivate,/mots:view - Codex cross-compatibility (
.codex-plugin/+.agents/plugins/marketplace.json) CONSENSUSconfig variable — graceful degradation when PHP/API keys unavailableCONFIG_VERSIONfield for config migration tracking- Secret precedence in
consensus.php: userConfig (keychain) > env vars >.envfile
PIPELINE_ORCHESTRATOR.mdpaths are now plugin-aware (nomotspilot/prefix)- Consensus phase auto-skips when
CONSENSUS=disabled - README installation options re-lettered (plugin is now Option A)
WORKSPACE_DIRconfig option — store task artifacts in the project repo instead of inside motspilot's own directory. Enables version-controlling task data alongside project code.- Installation guide in README — symlink, submodule, and direct clone options with step-by-step instructions.
- Case-insensitive meta key matching in
list_tasks()for compatibility with tasks created by older versions.
- Default
AUTO_APPROVEtoall— pipeline phases run without pausing by default
- Use
set -esafe arithmetic for counter increments in shell script
- Initial release of motspilot
- 5-phase AI pipeline: Architecture, Development, Testing, Verification, Delivery
- Shell script (
motspilot.sh) for task management, archiving, and state tracking - Thinking framework prompts for each pipeline phase
- CakePHP 4.x framework guide (
prompts/frameworks/cakephp.md) - Auto-archive on pipeline completion
- Task lifecycle: create, prepare, run, archive, reactivate
- Checkpoint system for phase state tracking
- Configurable approval gates between phases (
AUTO_APPROVEsetting) - Claude Code as native orchestrator via
PIPELINE_ORCHESTRATOR.md - Multi-task support with concurrent task management
- Color-coded logging to console and file