Extreme-BDD
A Radicle-native backlog protocol

The .feature file is the spec, the backlog, and the contract.

Extreme-BDD treats BDD scenarios as the single source of truth. Radicle issues become the collaboration surface, the local board reads your working tree directly, and your seed replicates the whole loop. No external tracker, no parallel backlog, no central server.

1 canonical backlog
3 priority lanes (p1, p2, p3)
1.16 current protocol
0 external trackers required

What you get

Spec = backlog

Every backlog item is a @pending scenario in a .feature file with a priority tag and an As a <Profile> actor.

Board reads working tree

The local board UI parses your bdd/features/*.feature directly. No commit required to see the backlog.

Issues mirror the spec

A sync script opens or edits Radicle issues for each pending scenario and writes the scenario → issue map locally.

Sovereign hosting

Replicate via your own Radicle seed. The board, the docs, and this site can all live on a single droplet you control.

The whole loop in one block

@p2 @board @epic:bdd-features-workflow-radicle-priorities-feature Scenario: A new scenario flows from spec to issue to board As a Backlog Gardener Given I add a @pending scenario to bdd/features/example.feature When I run scripts/sync_bdd_issues.py --apply Then a Radicle issue should be opened or updated for that scenario And the local board UI should show the card in the backlog column And `rad issue list` should include the new entry with priority labels

Why “extreme”?

Because the spec, the backlog, and the acceptance criteria collapse into one artifact instead of three. There is no separate ticket system to drift out of sync with the spec, and there is no spec document to drift out of sync with the tickets. Every change is one commit to one .feature file, and Radicle replicates that commit to every collaborator without a forge in the middle.

Project status Reference implementation lives at radicle-priorities and dogfoods the protocol — the entire backlog of the project is in bdd/features/, the board UI is in web/, and the Radicle issues mirror is in scripts/sync_bdd_issues.py.