Backlog Process¶
This runbook is the repeatable workflow for creating, updating, validating, and closing eMuleBB backlog records.
docs/active/ is the current local spec and evidence layer. For
GitHub-primary items marked workflow: github, GitHub issues in
emulebb/emulebb and org Project #2 (eMuleBB Roadmap) own workflow state;
the local Markdown file remains the engineering spec and evidence record.
Canonical public backlog workflow endpoints:
- issue tracker:
https://github.com/emulebb/emulebb/issues - project board:
https://github.com/orgs/emulebb/projects/2
When adding or materially updating an externally actionable backlog item, manage all three records together unless the item is explicitly local-only, historical, exploratory, or provenance-only: local Markdown spec, GitHub issue, and Project #2 item.
Preflight¶
- Read
EMULE_WORKSPACE_ROOT\repos\emulebb-tooling\docs\WORKSPACE-POLICY.md. - Check
git status --short --branchin every repo you will read for current-state decisions or edit. - Revalidate candidate backlog work against current
main, current dependency pins, and current workspace policy before treating older notes as active. - Keep each backlog/doc update as one coherent commit and push it before starting an unrelated slice, unless the user explicitly asks to hold commits.
Create Or Update An Active Item¶
- Classify the item:
BUG: user-visible or runtime correctness defectFEAT: product behavior, UX, or capability workREF: refactoring, architecture cleanup, or internal modernizationCI: build, validation, packaging, release proof, or tooling gateAMUT/ARR: accepted integration-specific work- Allocate the next ID by scanning both
docs\active\itemsanddocs\history\items. Never reuse an ID, even if the old item is closed orWONT_DO. - Create
docs\active\items\<ID>.md. The filename stem must match the front-matterid. - Include this active-item front matter:
---
id: FEAT-000
title: Short imperative item title
status: OPEN
priority: Minor
category: feature
labels: [area, risk, evidence]
milestone: post-0.7.3
created: YYYY-MM-DD
source: short provenance note
---
- Add a short body that records the problem, current evidence, intended shape, scope constraints, and acceptance criteria.
- Add or update the row in
docs\active\INDEX.mdin the matching section. Keep rows sorted by item ID inside each table section. - Update the snapshot counts in
docs\active\INDEX.mdwhen adding, closing, or changing active statuses.
GitHub-Primary Backlog¶
Use this path for normal externally actionable backlog slices:
- Create or update the local active item spec first, including the stable item ID, scope, constraints, and acceptance criteria.
- If the item belongs to an approved future lane, add the item ID to
docs\active\FUTURE-ROADMAP.md, then usepython scripts\github-roadmap-sync.pyto preview and apply the issue and Project #2 import. - If the item is GitHub-primary but not part of the future-roadmap import set,
create or update the issue in
https://github.com/emulebb/emulebb/issuesand add it to Project #2 (https://github.com/orgs/emulebb/projects/2) directly. - Set the project fields that mirror the local item:
Roadmap Status,Work Type,Priority,Lane,Local ID, andReleasewhen applicable. - Ensure the local item has
workflow: github,github_issue: https://github.com/emulebb/emulebb/issues/<number>, and a workflow-status note that points to the issue. - After migration, treat GitHub as the workflow authority for status, priority, release placement, discussion, ownership, and PR linkage. Keep the Markdown item as the durable spec/evidence record.
Run python scripts\github-roadmap-check.py after local edits. Run
python scripts\github-roadmap-check.py --github when the current GitHub token
has project scope and network access.
Close Or Reclassify An Item¶
- Revalidate the item against current
mainbefore closing it. - For
DONE,PASSED, orWONT_DO, move the item record fromdocs\active\itemstodocs\history\items. - Preserve provenance: include implementation commits, validation commands, product decisions, or rejection rationale in the historical item body.
- Update the
docs\active\INDEX.mdrow to point at../history/items/<ID>.mdand use the closed status. - Update active snapshot counts.
- If a GitHub-primary item is closed or materially advanced, update the linked GitHub issue/project as the workflow authority.
Validation And Commit¶
Run these checks from EMULE_WORKSPACE_ROOT\repos\emulebb-tooling after backlog
or active-index changes:
git diff --check
python scripts\docs-item-taxonomy-check.py
python scripts\docs-structure-check.py --fail-on-wide-tables
python scripts\github-roadmap-check.py
Run this when GitHub credentials are available:
python scripts\github-roadmap-check.py --github
For docs-only changes, app builds are not required unless the doc change claims new app validation evidence. Commit messages for backlog work must include the stable item ID, for example:
CI-039: document backlog process