Block Candidate
This issue has been reshaped as a Bijou Block candidate for maintainer approval. The implementation should use the current typed Blocks API first (defineBlock(), schema-bound Blocks, defineViewData(), command intents, blockRenderNode(), and renderBlockTree()). The YAML sketch below is a future declaration shape, not a new runtime requirement for the first slice.
Source lineage: DX-027 choose-your-lane starter for README and DOGFOOD.
Hill
A newcomer can choose the right Method lane and see the next concrete action without decoding the entire backlog system first.
Sponsored Perspectives
- Sponsored Human: Contributors deciding whether a request is release, asap, bad-code, up-next, cool-ideas, or inbox.
- Sponsored Agent: Agents shaping issues and avoiding mismatched lane labels, milestones, or evidence requirements.
Block Contract
- Block name:
LaneStarterBlock
- Family:
workflow
- Scale:
section
- Canonical modes:
interactive, static, pipe, accessible
Inputs:
- lanes
- selectedLaneId
- workIntent
- releaseContext?
Slots:
- intro?
- laneDetails?
- nextActions?
Bindings and data requirements:
- method lane metadata
- current milestone snapshot
Command intents:
- lane.select
- lane.createIssue
- lane.openMethodDoc
Semantic facts that must survive lowering:
- lane-id
- priority-posture
- required-evidence
TUI Mockup
+ Start A Bijou Work Item -------------------------------+
| Intent: build a reusable docs surface |
|> lane:release release-boundary work |
| lane:asap pull next |
| lane:bad-code structural risk |
| lane:cool-ideas optional exploration |
| Next: create issue, add design, name tests |
+----------------------------------------------------------+
Lower Mode Sketches
Static mode:
Lane starter selected lane: release. Next actions: create issue, add design, name tests.
Pipe mode:
lane meaning next
release release-boundary work create issue and design
Accessible mode:
Lane starter. Release lane selected. Required evidence: design, tests, playback, docs, retro.
Future YAML Declaration Sketch
block:
name: LaneStarterBlock
family: workflow
scale: section
modes:
- interactive
- static
- pipe
- accessible
inputs:
- lanes
- selectedLaneId
- workIntent
- releaseContext?
slots:
- intro?
- laneDetails?
- nextActions?
dataRequirements:
- method lane metadata
- current milestone snapshot
commandIntents:
- lane.select
- lane.createIssue
- lane.openMethodDoc
semanticFacts:
- lane-id
- priority-posture
- required-evidence
Acceptance Criteria
- The design doc names this as a Block candidate and uses IBM Design Thinking-style framing: hill, sponsored human, sponsored agent, playback questions, and evidence.
- The block metadata is declared with
defineBlock() or an explicitly justified narrower helper.
- Unknown boundary input is validated through a schema-bound Block or an equivalent typed parser before rendering.
- The block exposes data requirements and command intents as inspectable metadata, not hidden callbacks or global provider handles.
- DOGFOOD includes at least one story or preview that renders the TUI shape above or a reviewed equivalent.
- Tests prove interactive/static rendering and pipe/accessible lowerings preserve the semantic facts listed above.
- If a YAML or JSON declaration path is added, it is treated as a compiler/input adapter over the typed Block contract, not as a replacement for the typed API.
- Closeout links the PR, tests, playback evidence, docs update, and any retro notes.
Verification Notes
Expected proof for implementation:
- Focused unit tests for block metadata, schema binding, and lower-mode facts.
- DOGFOOD or storybook preview evidence for the visual mode.
- Pipe and accessible snapshots that are useful without ANSI, borders, color, or animation.
- Changelog and Method/design updates if this becomes release-scoped work.
Block Candidate
This issue has been reshaped as a Bijou Block candidate for maintainer approval. The implementation should use the current typed Blocks API first (
defineBlock(), schema-bound Blocks,defineViewData(), command intents,blockRenderNode(), andrenderBlockTree()). The YAML sketch below is a future declaration shape, not a new runtime requirement for the first slice.Source lineage: DX-027 choose-your-lane starter for README and DOGFOOD.
Hill
A newcomer can choose the right Method lane and see the next concrete action without decoding the entire backlog system first.
Sponsored Perspectives
Block Contract
LaneStarterBlockworkflowsectioninteractive,static,pipe,accessibleInputs:
Slots:
Bindings and data requirements:
Command intents:
Semantic facts that must survive lowering:
TUI Mockup
Lower Mode Sketches
Static mode:
Pipe mode:
Accessible mode:
Future YAML Declaration Sketch
Acceptance Criteria
defineBlock()or an explicitly justified narrower helper.Verification Notes
Expected proof for implementation: