AkurAI Build
Menu

AkurAI-Build

public

Latest change 30e6b8c347048d64c2c048dfd05a8ded219d37f6 - Host authenticated Git repositories over Smart HTTP with repo host/sync CLI by Ólafur Búi Ólafsson

# Definition of Workflow

## Work item

A work item is one Markdown card under `columns/` with JSON front matter and an
outcome-focused body. Types are feature, bug, security, performance, docs,
chore, or spike. Priority is P0 (critical), P1 (high), P2 (normal), or P3
(low). A card is the canonical local task artifact; external issues/PRs are
references, not replacements for required local handoff state.

## Start, finish, and SLE

- Commitment point: entry into `In Progress`.
- Finish point: entry into `Done`.
- Provisional SLE: 85% finish within 10 calendar days of commitment.
- Recalculate after 30 completed items from observed cycle-time data.

## Pull policy

Pull the highest-priority, oldest Ready task whose dependencies are Done. Do
not pull when the destination WIP limit is full. Prefer finishing, reviewing,
verifying, or unblocking current work over starting another item.

## Column policies

### Inbox

Entry: a concise title and type are enough. Work: capture source and basic
intent. Exit to Triage: demand is understandable enough to assess. No delivery
commitment exists.

### Triage

Entry: an intake item exists. Work: establish value, urgency, duplicate status,
security/operational impact, likely owner domain, and whether discovery is
needed. Exit to Discovery or Ready: route is explicit. Exit to Done: add
`resolution` evidence and set a non-delivery resolution such as `cancelled`,
`duplicate`, `not-planned`, `superseded`, or `verified-existing`. `delivered`
may enter Done only from Release Ready.

### Discovery

Entry: uncertainty blocks safe execution. Work: inspect code and callers,
resolve requirements, dependencies, constraints, risks, acceptance criteria,
test strategy, non-goals, and approvals. Spikes produce a decision/evidence,
not production code by default. Exit to Ready: another agent can execute the
card without guessing.

### Ready

Entry: completed Objective, Context, Acceptance criteria, Boundaries, and
Verification sections; dependencies are Done. The CLI enforces these fields and
rejects untouched template text. Work: order by priority then
age. Exit to In Progress only by `claim`, with one owner and available WIP.

### In Progress

Entry: owner assigned, unblocked, WIP available. Work: implement only the card's
scope, keep notes/evidence current, and avoid two writers in one worktree. Exit
to Review: requested outcomes are implemented and `implementation` evidence
exists. Return to Discovery when the specification is invalid,
not merely because implementation is hard.

### Review

Entry: implementation evidence exists. Work: independent review for correctness,
security, project rules, acceptance criteria, unnecessary complexity, tests,
and docs. Record `review` evidence. Exit to Verification when findings are
resolved or explicitly accepted. Return to In Progress for actionable fixes.

### Verification

Entry: review gate passed. Work: run deterministic tests/typechecks/builds,
integration or UI checks, and verify current artifacts against acceptance
criteria. Record `verification` evidence. Exit to Release Ready only with that
current stage evidence. Return to Review or
In Progress when evidence fails.

### Release Ready

Entry: accepted review and verification evidence, unblocked, release notes/docs
current, and any PR/branch reference recorded. Work: await explicit approval for
merge, deploy, publish, migration, or other external effects. Exit to Done after
approved delivery or explicit resolution; the CLI requires the owner to assert
`--approval HUMAN` for this transition. This is an auditable trust assertion,
not cryptographic identity verification. New code changes return to an earlier
state and require refreshed evidence.

### Done

Entry: resolution and matching stage evidence exist; `completedAt` is recorded.
Possible resolutions include `delivered`, `verified-existing`, `cancelled`,
`duplicate`, `not-planned`, and `superseded`. Reopen to Triage when new facts
invalidate the resolution, but only after every Ready-or-later dependent is
moved upstream or no longer depends on this task.

## Blocking policy

Blocked is not a column. Use:

```sh
node .kanban/bin/kanban.mjs block KB-ID --reason "specific external dependency"
node .kanban/bin/kanban.mjs unblock KB-ID
```

The owner must record the blocker, required external action, and next review
point in the card or handoff. Blocked work still consumes its current WIP slot.
Escalate ageing work; do not move it to hide the queue.

## Expedite and exceptions

P0 work may jump upstream queues only with `--force --reason`; it still obeys
active-state WIP and quality gates. Forced events are auditable. An exception is
not a permanent alternate workflow—review it in the retrospective.