Skip to main content

Issue Tracking And Labels

Alternun now uses a simple issue workflow so roadmap items, implementation work, and validation gaps are visible in GitHub without relying on memory.

Required Issue Shape

For meaningful work, issues should include:

  • summary
  • scope
  • deliverables
  • acceptance criteria
  • dependencies
  • references to relevant docs or specs

That structure keeps planning readable and makes review easier when work spans backend, infrastructure, and blockchain concerns.

Parent And Child Flow

Use an epic when work is too large for one issue.

Good epic behavior:

  • defines the larger objective
  • lists child issues in execution order
  • keeps cross-cutting dependencies visible
  • stays open until the remaining child issues and epic acceptance criteria are satisfied

Good child issue behavior:

  • owns one coherent slice of delivery
  • declares dependencies explicitly
  • can be closed independently once its own acceptance criteria are met

Label Taxonomy

Every significant issue should usually have:

  • one type:* label
  • one or more area:* labels
  • one status:* label while it is open
  • one priority:* label

Type Labels

  • type:epic: parent tracker for a delivery stream
  • type:feature: implementation of a new capability or behavior
  • type:spec: design, schema, contract, or interface definition
  • type:task: focused operational or implementation work

Area Labels

  • area:identity: Authentik, auth flows, JWTs, and identity contracts
  • area:infra: deployment, DNS, TLS, runtime, secrets, and operations
  • area:backend: API services, workers, and server-side logic
  • area:api: REST and OpenAPI contracts
  • area:data: schemas, migrations, persistence, and ownership boundaries
  • area:wallet: wallet registration, linking, provisioning, and custody
  • area:blockchain: contracts, chain events, and token flows
  • area:admin: internal operator and admin surfaces

Status Labels

  • status:planned: defined and queued
  • status:in-progress: actively being worked
  • status:needs-validation: implementation exists but proof is still missing
  • status:blocked: cannot advance until an external dependency or decision is resolved

Priority Labels

  • priority:p0: launch-blocking or critical path
  • priority:p1: important near-term work
  • priority:p2: follow-up work after current priorities

1. Triage

When a new issue is opened:

  • decide whether it is an epic, feature, spec, or task
  • add the subsystem area labels
  • assign initial status and priority
  • reject or split issues that combine too many unrelated concerns

2. Planning

Before implementation:

  • add acceptance criteria
  • add dependencies
  • split oversized work into child issues if needed
  • link the issue to the PR once implementation starts

3. Execution

While work is active:

  • keep status:in-progress current
  • add progress comments when meaningful milestones land
  • move to status:needs-validation when code exists but evidence is incomplete

4. Closure

Before closing an issue:

  • verify the acceptance criteria are satisfied
  • update the parent epic checklist or status comment if applicable
  • close follow-up gaps as separate issues instead of leaving them implicit

When To Open A Follow-Up Issue

Open a follow-up issue when:

  • an implementation lands but validation is still missing
  • a spec is clear enough to split into implementation work
  • a merged PR reveals a separate operational or product task
  • an epic has mixed concerns that should be tracked independently

Documentation Rule

If a change alters:

  • architecture
  • delivery flow
  • contracts or schemas
  • contributor workflow

then update the relevant docs in the same change whenever possible.

For maintainer-specific operating notes, see the internal repo doc at docs/contribution-workflow.md.