Skip to content

Capabilities

Capabilities, projected from capability entities. Edit a capability entity and regenerate.

IdTitleSummary
Close-outClose-out- Closes the loop on a merged task: flips status to closed/done with a PR-citing completion_note, tears down the worktree, deletes the branch locally and on origin, and releases the lease.
Executable TaskExecutable Task- Root feature making SDLC a workflow tool: walks a single task from idea to merged code through a staged lifecycle of named, session-invokable operations.
Follow-up spawningFollow-up spawning- Opens one PR per scaffolded follow-up task so each friction bullet from a finished task lands independently reviewable, in this repo or a routed foreign repo.
PR responsePR response- Addresses review feedback on an open task PR under lease coordination: re-acquires the lease into a responding phase, dispatches a sub-agent, pushes commits, and returns the lease to awaiting-review.
PR state classificationPR state classification- Classifies one PR into a fixed verdict enum plus a reason, so dispatchers skip parsing.
Readiness verificationReadiness verification- Deterministic, non-interactive gate deciding whether a task is implementation-ready; stamps readiness_verified_at on pass, records a definition_gap and downshifts on fail.
Task definitionTask definition- Drives a draft task toward the implementation-ready contract via a guided interview that fills body sections while preserving author intent.
Task executionTask execution- Ships a ready task end-to-end: lease, worktree, readiness re-gate, sub-agent, checks, PR.
Task intakeTask intake- Creates a schema-valid draft task from an unstructured ask, handling filename, id, template, and frontmatter defaults so the user contributes only substance.
Task reviewTask review- Triages every unfinished task against the current codebase: checks relevance and spec-completeness, updates frontmatter, and ranks the next one or two tasks to tackle.

Emerging / retired:

IdTitleSummaryStatus
Dependency-graph readiness schedulingDependency-graph readiness scheduling- The whole ability graph-scheduler provides: given a dependency DAG and each node’s status, compute which nodes are runnable now and return the next N to run in parallel.open/planned
Eligibility filtersEligibility filters- Registered filters that gate which ready nodes are returnable, each returning a reasoned verdict (eligible / ineligible-with-reason), not a bare bool.open/planned
Embedded peer contentEmbedded peer content- Mermaid, JSON Canvas, and future embedded formats are opaque tagged payload spans in the core — losslessly preserved, never modeled in the markdown AST enum — with typed parsing delegated to sibling crates through the contract’s leaf extension point.open/planned
Goal-directed frontierGoal-directed frontier- A goal-directed variant: get_ready with toward: [G] ranks nodes that advance goal G (its unfinished ancestors) ahead of the rest of the frontier, plus a what_blocks(G) query.open/planned
Immutable DAG coreImmutable DAG core- The immutable graph substrate: opaque node ids with light attributes, directed dependency edges, topological queries, and cycle detection.open/planned
Lossless round-trip markdown IOLossless round-trip markdown IO- A rowan-style lossless CST ([[TM-0016-concrete-syntax-tree]], [[TM-0017-red-green-tree]]) in which every byte — whitespace, markers, comments, frontmatter — is a token, so untouched content reserializes byte-identically.open/planned
Markdown contract and validationMarkdown contract and validation- One contract per document type yields both validation (findings with path:line) and a typed model from a single parse — markdown-contract’s three-plane design adopted fleet-wide.open/building
Markdown ecosystem coreMarkdown ecosystem core- One Rust markdown core built around a single lossless CST, with contract/validation, transformation, and query as derived planes over that one tree — no plane re-parses.open/planned
Multi-harness control planeMulti-harness control plane- SDLC authors an agentic harness ONCE as a canonical, host-neutral model and emits it to multiple control planes — Claude Code, Codex, Cursor, Gemini — so one definition drives every host and no target is privileged.open/planned
Priority ordering and sortersPriority ordering and sorters- Registered sorters that order the ready frontier when it exceeds the requested N; priority_weight is the built-in default.open/planned
Pull / demand-driven resolutionPull / demand-driven resolution- A pull / demand-driven variant (Buck2 DICE-style): request a target and resolve what is needed to reach it, rather than enumerating the global frontier.open/planned
Push readiness frontierPush readiness frontier- The core query: given a graph and caller-supplied state, get_ready(graph, state, opts) returns up to limit nodes runnable now — the parallel-safe frontier.open/planned
Stateful wrapper and done-checkerStateful wrapper and done-checker- An optional stateful wrapper: register a status(id) function so the engine derives state, instead of threading a state map through every get_ready call.open/planned
Status model and trigger rulesStatus model and trigger rules- The state model: a small status enum (pending | running | success | failed | skipped) plus per-node trigger rules that decide “prerequisite satisfied” from parents’ statuses.open/planned
Vault model and structural transformsVault model and structural transforms- A vault kernel — file set, walk policy, reference graph, link identity — plus plan/execute structural transforms that keep link integrity across renames, moves, and restructures.open/planned
Vault query and indexVault query and index- An incremental vault index (frontmatter, links, structure) plus a query model of composable filters, formulas, and named views in the ergonomic shape of Obsidian Bases — without claiming compatibility with that proprietary format.open/planned
WASM/TypeScript consumption surfaceWASM/TypeScript consumption surface- One wasm-bindgen build with generated TypeScript types is the sole boundary between the Rust core and every TS consumer — browser and Node served by packaging, not by parallel bindings or reimplementations.open/planned