Repository navigation
[v0.5.4]
Added
- Parallel delivery with git worktrees — independent packages can be delivered concurrently on
sdp/<delivery-id>branches/worktrees./plan-taskrecords a parallel-safety verdict (independent,additive-overlap,sequenced) when other packages are open, the developer edits shared hotspots additively, and the acceptance brief reports read-only merge readiness. Single-package flow is unchanged.
Changed
- Package-scoped state — plans, run records, and history live in
spec/<slug>/deliveries/<delivery-id>/. Shared specs are read-only during delivery and feature/story status is derived, so parallel packages do not conflict in spec files. ACTIVE.mdis a local pointer (slug,title,current_gate,current_delivery) with no body; agents must not append notes, summaries, or history to it and move any legacy body content to the packageHISTORY.md, run record, or gate artifacts.delivery_statusandpending_auditmoved toDELIVERY-RUN.jsonschema version 3;feature_statusis derived. Package resolution order: explicit ID,sdp/<delivery-id>branch,ACTIVE.md, only open package.TECH.mddelivery policy — added integration branch, parallel delivery, and merge hotspot lines.
Migration
- Move existing
PLAN.md, run record, and history entries into the package folder and move delivery state out ofACTIVE.md; see README "Upgrading to package-scoped state". Installer behavior is unchanged.
[v0.5.3]
Added
scripts/sync-templates.sh— regenerates the APMsdp-templatesskill-asset mirror from the canonical.apm/templates/directory (apm run sync-templates) and checks for drift without modifying files (apm run check-templates), replacing the manual byte-for-byte copy obligation.- Proportional assurance profiles — added Lean, Balanced (default), and Compliance delivery profiles. Review remains independent, while specialist security and QA stages run when policy, risk, or independently observable behavior requires them. Compliance retains strict hashes, manifests, environment identity, and evidence retention when a project needs them.
- Natural-language correction flow — after the acceptance brief, users can accept, reject, or describe what is wrong without supplying delivery/candidate identifiers. Bounded corrections are repaired and rechecked; changed contracts return to planning.
- Durable comment policy — production comments must not contain story/task/epic/AC identifiers, implementation narration, change history, completed planning notes, or obvious code restatements. Developer and reviewer agents now enforce this policy.
- Implementation autonomy — plans explicitly preserve developer ownership of naming, idiomatic local design, helper reuse/extraction, and adjacent tests inside the approved outcome and change boundary.
Changed
- Simplified
/deliverworkflow — bare/delivernow resolvesspec/ACTIVE.md, approves the current visiblePLAN.md, executes it, runs proportionate assurance, and stops at human acceptance. Delivery IDs, plan revisions, digests, and candidate hashes are no longer required when active state is unambiguous. Advanced Compliance, resume, inspect, and reject actions remain available. - Risk-based security is now the default — epic policy is
risk-based | per-story | epic-level | waived. Specialist security review is triggered by authentication, authorization, secrets, untrusted input, sensitive data, cryptography, trust boundaries, dependency/infrastructure security, regulated controls, or explicit policy. - Reviewer and QA responsibilities are separated — reviewer owns technical correctness, maintainability, scope, and test quality. QA runs when independently exercising observable behavior adds evidence beyond review and focused tests.
PLAN.mdis implementation-focused — removed normal-mode orchestration bookkeeping such as upstream hashes, model references, resource counters, file manifests, and immutable revision metadata. Plans retain outcome, non-goals, decisions, boundary, ordered work, verification, applicable recovery, and autonomy limits.- Delivery evidence is compact by default —
DELIVERY-RUN.jsonschema version 2 is a small resume checkpoint, andHISTORY.mdstores one final delivery summary plus unresolved blocks/escalations instead of duplicating successful stage narratives and command logs. - State model consolidated —
ACTIVE.mdnow usescurrent_delivery,feature_status, anddelivery_status, replacing overlappingcurrent_story,status, andfinal_statusfields. - Earlier gates can be right-sized — small resolved changes may explicitly reference existing product/design contracts instead of generating redundant artifacts, while still requiring an outcome, plan, verification, independent review, and human acceptance.
- Global standards made proportional — softened universal requirements around assertions, health endpoints, metrics, branching, ADRs, test placement, and migration rollback so project-specific policy can live in
TECH.md. - All agents and prompts aligned — role files now contain role-specific behavior rather than repeating the entire run-state and compliance contract. Bare
/deliver, profile routing, conversational correction, and compact evidence are consistent across agents, prompts, instructions, templates, and README. - Skills refined — API/UI/error-handling skills reinforce durable comments, migration guidance supports safe forward recovery for approved irreversible operations, and test guidance permits multiple assertions that verify one behavioral outcome.
- Documentation and installer guidance updated — README now documents the simplified workflow, delivery profiles, security/QA triggers, state migration, and Compliance fallback. Installer behavior is unchanged; output now points users to the SDP Delivery Policy in
TECH.md. - Generated context refreshed — root
AGENTS.mdand the APM template-asset mirror were regenerated from canonical.apm/sources.
Breaking Changes
- Existing clients must migrate
current_storytocurrent_delivery,statustofeature_status, andfinal_statusto the closestdelivery_status. - Existing active plans should be regenerated with the simplified
PLAN.mdtemplate. - New delivery checkpoints use
DELIVERY-RUN.jsonschema version 2; unresolvedpending_auditobligations must be preserved during migration. - Old agents, prompts, instructions, and templates must not be mixed with the redesigned workflow. Upgrade SDP-managed files together and preserve project
TECH.mdwithSDP_TECH_MODE=skipwhen appropriate.
Removed
- Mandatory plan digests, upstream artifact hashes, full working-tree manifests, environment fingerprints, exact candidate IDs, and immutable plan archives from Lean/Balanced delivery. These remain available through project-configured Compliance policy.
- Required
approve-and-run <delivery-id> <revision>andaccept <delivery-id> <candidate-id>syntax from the normal user workflow.
[v0.5.2]
Customization-layer refactor addressing SDP-REVIEW.md, with synchronized documentation and installer notices. No version bump in apm.yml/plugin.json.
Added
- APM-compatible template assets — canonical
.apm/templates/files are mirrored into thesdp-templatesskill because APM 0.29 rejects unknown primitive directories duringapm pack; process instructions now resolve either direct-installer or APM asset paths. sdp.orchestratoragent and/deliverprompt — a supervised-delivery entry point that dispatchessdp.developer,sdp.reviewer,sdp.security, andsdp.qain sequence within one session, ends at a human acceptance checkpoint, and never writes product code itself. Manual mode (/implement,/run-review,/audit-security,/qa-validate) remains fully valid and is the required fallback.- Final Human Acceptance checkpoint — a
sdp.qaPass now setsfinal_status: awaiting-acceptanceand produces an acceptance brief instead of marking the story/featuredoneautomatically. Only an explicit human accept/reject/request-changes decision closes a delivery package; acceptance never itself authorizes commit/merge/deploy/next-package. spec/ACTIVE.mdfields — addedfinal_status(not-started | in-delivery | awaiting-acceptance | accepted | rejected) andpending_audit(list of outstanding epic audit IDs).- Plan digest —
PLAN.mdapproval now records a content fingerprint of the plan body; any later edit to the body invalidates the approval regardless of thestatusfield, binding approval to a specific revision instead of a filename. - Symmetric upstream-approval enforcement — every gate agent (
sdp.analyst,sdp.architect,sdp.planner,sdp.developer/sdp.orchestrator) now explicitly refuses to proceed unless its upstream artifact isstatus: approvedwithapproved_by/approved_atfilled in, not just the developer/PLAN.md pair. - Capability Sizing — replaced the fixed Gate 4 Scope Budget (8 files / 300 lines / S-M-L) with an independent Size (S/M/L/XL) x Risk (Low/Moderate/High) x Uncertainty (Resolved/Bounded/Open) rating and outcome-based split criteria, carried from
DESIGN.mdthroughEPIC.md/BACKLOG.md/PLAN.md. - Delivery Contract —
PLAN.mdrestructured into a Human Decision Brief plus an Execution Contract (Delivery Identity, Change Boundary, Work Graph, Verification Matrix, Autonomy Policy, Operational Limits, Recovery). - Delivery Run Record: new
DELIVERY-RUN.jsontemplate for baseline/candidate manifests, steps, results, obligations, resource use and acceptance. HISTORY defines the worker envelope and validation contract. Both manual and supervised runs use the same data format; no runtime engine or dependency is added. - Model Policy —
TECH.mdgained a section mapping each gate role to a model profile label, with an explicit instruction not to invent unavailable model IDs. - Deferred-audit closure tracking: the final package dispatches an aggregate audit against the original epic baseline, then final QA before closure. Intermediate acceptance retains obligations; multi-story/multi-epic packages preserve all policies.
Changed
- Central rejected-candidate counter replaces "same story fails the same hardening step twice" — escalation to the user now triggers after the delivery package's 2nd rejected candidate, counting rejections from review, security, or QA in any combination, not per-stage.
- Delivery package replaces "one story at a time" as the Gate 4-6 unit of work — a package may bundle tightly related stories sharing one coherent, demonstrable outcome; unrelated work is never bundled.
sdp.developer,sdp.reviewer,sdp.security,sdp.qanow describe dual-mode operation: standalone manual handoffs are unchanged, and each also returns a structured result tosdp.orchestratorinstead of self-chaining when invoked under/deliver.write-testsskill's test-deletion guidance ("fix or delete failing tests") replaced with a requirement for a root-cause explanation and confirmation that equivalent required coverage remains.README.md— added a "Manual vs. Supervised Delivery" section, updated the Quick Start walkthrough, 6-gate diagram, feedback loop table, feature folder structure, and agents/prompts/templates reference tables.- Added documented tool allowlists and worker subagent restrictions. The read-only reviewer returns records for the next role/coordinator to persist; terminal permissions are not represented as a sandbox.
- Added explicit approve-and-run/run/resume/accept/reject/request-changes routing with fresh candidate checks and no automatic next-package selection.
- Both installers now report mixed-version upgrade risks and Model Policy setup; copy/force/TECH handling is unchanged. Normalized the touched Bash installer to LF so the raw syntax gate passes. Corrected Bash README examples to apply environment variables to
bash, notcurl. - Regenerated root
AGENTS.mdusing the installed APM CLI; no manual edits or archived build changes.
Not Changed
- Installer copy behavior: both already recursively copy
.apm/to.github/, including the new agent, prompt and run template. Default preservation and explicit force behavior remain intact. apm.yml/plugin.json— no version bump; these point at the.apm/directories generically and needed no path changes.- No durable execution service, authenticated approval system, automatic model selector, or live cross-harness compatibility guarantee is introduced.
What's Changed
- feat: Enhance installation scripts and introduce orchestrator agent f… by @wojcikmm-dnv in #9
Full Changelog: spec-development-protocol-v0.5.1...spec-development-protocol-v0.5.4