Jira Backlog Seed — Design¶
Date: 2026-04-18
Status: Proposed
Scope: Neumann's Workshop Jira — first project: PHON (PhonoLex)
Related: docs/superpowers/specs/2026-04-18-confluence-knowledge-base-design.md
Purpose¶
Seed the Jira backlog for PhonoLex (project key PHON) with an initial Workstream hierarchy and starter tickets, so that:
- Active and planned work is visible on the project roadmap for the sole operator (Jared Neumann) and the incoming collaborators.
- Audit findings surfaced during the Confluence KB build are tracked as actionable tickets rather than lurking in memory.
- The structure is template-able for future Neumann's Workshop project spaces, the same way the Confluence KB is.
Jira complements Confluence: Jira is the structured record of work to be done, Confluence is the durable record of what the project is.
Audience¶
Internal only — current operator (Jared Neumann) and incoming collaborators. Not public-facing.
Project conventions¶
Hierarchy¶
Workstream → Task | Bug → Sub-task.
- Workstream (hierarchy level 1) — an epic-level grouping of related work. Named descriptively (e.g., "Legal & compliance cleanup," not "PHON-1").
- Task (hierarchy level 0) — the unit of work. Discrete, shippable.
- Bug (hierarchy level 0) — a defect. Distinct from Task so filters and reports differentiate shipped features from fixed defects.
- Sub-task — decomposition within a Task or Bug when needed.
Story type is not used (distinction-without-difference for solo/small-team work).
Components and labels¶
PHON is a business-type Jira project and does not expose Components (a software-project feature). Rather than introduce a custom field, the Labels field does double duty: classification and package tagging. One Labels field, two concerns, no custom fields to maintain.
Classification labels:
bug— reserved for Bug issue type (redundant but filterable)compliance— legal, licensing, attribution, regulatoryaudit— data/doc completeness audit itemsux— user-facing design or behaviorperf— performance-sensitive worksecurity— auth, secrets, data exposurespike— time-boxed investigation with a written outcomegood-first-issue— scoped for an incoming collaborator's first week
Package labels (map 1:1 to monorepo packages):
web-api—packages/web/workersweb-frontend—packages/web/frontendgeneration—packages/generationgovernors—packages/governorsdata—packages/datafeatures—packages/featurestokenizer—packages/tokenizer(archived; retained for historical references)ops— CI/CD, deploy, infrastructure, cross-cuttingdocs— Confluence, repo docs, CLAUDE.md, specs
17 labels total. Autocomplete keeps the set tidy in practice; the Confluence conventions page is the human-readable enforcement mechanism.
Priority¶
Jira default scheme: Lowest / Low / Medium / High / Highest. Default for new tickets: Medium. Override upward only when the ticket is truly urgent (blocker, security, legal); override downward only when explicitly parking lot.
Estimation¶
None. Add story points later if capacity-based sprint planning becomes useful.
Assignment convention¶
- Unassigned = up for grabs. Anyone with project access can self-assign.
- Assigned = that person is actively working it.
This frees Jared from being default-assignee on every ticket.
Workflow (status scheme)¶
Full lifecycle, applied to Task and Bug:
Backlog → To Do → In Progress → In Review → Blocked → Done
Backlog— tracked but not scheduled for near-term work.To Do— scheduled; up for grabs or assigned and not yet started.In Progress— actively being worked on.In Review— work is complete, awaiting validation (PR open, spec under review, etc.).Blocked— cannot advance without an external unblock (another ticket, a collaborator decision, a vendor response). Blockers should be captured viablockedByissue links for dependency visibility.Done— completed and validated.
Workstreams use a simpler workflow: Backlog → In Progress → Done.
Access¶
- Admin: Jared Neumann
- Developer (on invite): incoming collaborators — create/edit/transition/comment, not project admin.
Access is granted manually in Project settings once collaborators accept their Atlassian invite.
Manual setup steps (before ticket seeding)¶
The MCP does not expose project admin. The following must be done in the Jira UI by the admin:
- Confirm issue types available: Workstream, Task, Sub-task. Add Bug via Project settings → Issue types. (Already done per this brainstorm.)
- Confirm workflow lifecycle matches the six states above. If Jira's default is shorter (
To Do → In Progress → Done), extend to includeBacklog,In Review, andBlocked. - Add the nine Components listed above.
- Define the eight Labels as the allowed vocabulary. (Jira doesn't restrict labels natively; this is a team convention documented here and in Confluence.)
- Set project default priority to
Medium.
Starter Workstreams and seed tickets¶
Eight Workstreams are created. Ticket counts are a minimum viable seed — the backlog grows in the flow of work.
PHON-1 · Legal & compliance cleanup¶
Direct fallout from the Confluence KB audit. Several unresolved legal/compliance items.
| Type | Summary | Component | Priority | Labels |
|---|---|---|---|---|
| Task | Reconcile package licenses across monorepo (root LICENSE and root pyproject.toml say Proprietary; packages/data, features, governors declare CC-BY-SA-3.0; root package.json and packages/tokenizer declare Apache-2.0) |
docs, ops |
High | compliance |
| Task | Research and record the domain registrar for phonolex.com on Confluence People & Relationships page |
docs |
Low | audit |
| Task | Decide trademark strategy for the "PhonoLex" name; record the decision as an ADR | docs |
Low | compliance |
| Task | Conduct OSS dependency license review across Python and JS manifests; document findings on Confluence Legal page | docs |
Medium | compliance |
PHON-2 · Dataset inventory completion¶
The Confluence Dataset inventory page has 24 of 38 rows flagged Unknown — needs research, and four datasets present on disk are not consumed by the active pipeline.
| Type | Summary | Component | Priority | Labels |
|---|---|---|---|---|
| Task | Research and backfill license / redistribution fields for the 24 Unknown rows on Dataset inventory | data, docs |
Medium | audit, compliance |
| Task | Decide fate of orphan datasets (SWOW, IPhOD, SIGMORPHON 2022, UniSegments) — wire into the active pipeline or remove from data/ |
data |
Medium | — |
| Task | Retire or fully update data/README.md (currently lists only CMU/Phoible/mappings; stale vs actual directory contents; superseded by Confluence Dataset inventory) |
docs |
Low | good-first-issue |
| Task | Prioritize license research for CYP-LEX, Hillenbrand, and Roget's Thesaurus derivation (license fields Unknown) | data, docs |
Medium | audit |
PHON-3 · Governed Generation quality¶
Known product defects and regressions surfaced during staging testing and captured in project memory.
| Type | Summary | Component | Priority | Labels |
|---|---|---|---|---|
| Bug | Mid-word hyphens leak through trie steering (e.g., "Dust-en"); hallucinated words escape the ban check | governors, generation |
Medium | — |
| Bug | Contrastive pair coverage undershoots target (~5–10% observed vs 15% target) | governors |
Low | — |
| Bug | Excluding /ɹ/ causes text quality regression; PunctuationBoost behavior needs restoration |
governors |
High | — |
| Task | Add UI disclaimer for restrictive constraint combinations (e.g., AoA ≤ 5 + exclude ⇒ ~1% word survival) | web-frontend |
Medium | ux |
PHON-4 · Governed Generation UI polish¶
In-flight frontend improvements for the Governed Generation tool.
| Type | Summary | Component | Priority | Labels |
|---|---|---|---|---|
| Task | OutputCard analysis redesign — merge compliance and Text Analysis into a shared WordHighlighter. Plan exists at docs/superpowers/plans/2026-04-17-output-card-analysis-redesign.md |
web-frontend |
Medium | ux |
| Task | Chip-click compliance lens — clicking a constraint chip filters the compliance view to that constraint | web-frontend |
Low | ux |
PHON-5 · Production validation & v5.1 prep¶
Active work: validate v5.x changes on staging before production merge, then cut a release.
| Type | Summary | Component | Priority | Labels |
|---|---|---|---|---|
| Task | End-to-end validation pass on staging for all seven tools (Custom Word Lists, Text Analysis, Contrastive Sets, Sound Similarity, Lookup, Governed Generation, Content Catalog placeholder) | web-frontend, web-api |
Medium | — |
| Task | Validate governed generation cold-start flow on staging RunPod endpoint (expected ~60s first request, hot thereafter) | generation, ops |
Medium | — |
| Task | Collect issues surfaced during staging validation; triage into PHON-3 / PHON-4 as Bugs or Tasks | ops |
Low | — |
| Task | Cut v5.1.0 release (tag, changelog, deploy) after staging sign-off | ops |
Medium | — |
PHON-6 · Collaborator onboarding¶
Preparation for the incoming collaborators.
| Type | Summary | Component | Priority | Labels |
|---|---|---|---|---|
| Task | Write "Onboarding a collaborator" runbook in Confluence Runbooks (Atlassian access, GitHub access, local dev setup, repo orientation, first-day checklist) | docs, ops |
High | — |
| Task | Grant Atlassian + GitHub access to incoming collaborators (manual) | ops |
Medium | — |
| Task | Seed 3–5 good-first-issue-labeled tickets across the backlog for pickup during first week |
docs |
Medium | — |
| Task | Record contractor engagement terms (scope, IP assignment, compensation structure) in Confluence Legal | docs |
Medium | compliance |
| Task | Write ADR 004 — Bayesian-learned phoneme feature vectors (backfill; work is complete but the decision is not yet on record in Confluence Decisions) | docs, features |
Medium | — |
PHON-7 · Operations maturity¶
Confluence Operations page surfaced several gaps: empty Runbooks section, unverified plan tiers, no secret rotation procedure.
| Type | Summary | Component | Priority | Labels |
|---|---|---|---|---|
| Task | Document actual Cloudflare plan tier, RunPod GPU SKU, and D1 plan tier on Confluence Environments and deploy topology page (currently marked unverified) | docs, ops |
Low | audit, good-first-issue |
| Task | Write "Deploy to staging" runbook in Confluence Runbooks | docs, ops |
Medium | — |
| Task | Write "Cut a production release" runbook in Confluence Runbooks | docs, ops |
Medium | — |
| Task | Write "Rotate a secret" runbook (inventory exists on Environments page; procedure does not) | docs, ops |
Medium | security |
| Task | Investigate centralized alerting options for RunPod and Workers errors (currently no centralized paging) | ops |
Low | spike |
PHON-8 · Content Catalog MVP¶
The third face of PhonoLex. Unblocked now that the generator and governor are production-usable. Seeding with planning tickets; implementation tickets decompose from the spec.
| Type | Summary | Component | Priority | Labels |
|---|---|---|---|---|
| Task | Write Content Catalog MVP spec (entry schema, metadata, search fields, batch pipeline, storage target, UI surface) | docs |
High | — |
| Task | Brainstorm initial catalog use cases with representative targets (articulation therapy templates, level-graded reading passages, contrastive-set passages) | docs |
Medium | ux |
| Task | Back-of-envelope time estimate for first batch generation run on local MPS hardware (target corpus size × per-generation wall time) — generation compute is free; the constraint is wall-clock and local-machine availability, not dollars | ops, generation |
Medium | — |
| Task | Decide catalog storage target — D1 table extension vs Cloudflare R2 for text blobs vs static-file generation | ops |
Medium | spike |
Out of scope (intentionally excluded)¶
- Story issue type — not added; Task covers the same need for solo/small-team work.
- Sprint cadence / agile rituals — YAGNI until team size warrants it.
- Story point estimation — deferred.
- Automation (Jira automation rules, workflow triggers) — deferred until real pain is observed.
- Content Catalog implementation tickets — those decompose from the MVP spec (PHON-8 first ticket); not pre-seeded here.
- Sub-tasks — this seed does not create sub-tasks; they're added as Tasks decompose during active work.
Success criteria¶
- Eight Workstreams exist in the PHON project, each with 2–5 seed tickets.
- All seed tickets are created with the correct type, component, priority, and labels per the tables above.
- Every ticket is in
Backlogstatus at creation; the few actively-in-flight items (PHON-5 validation pass) may be moved toTo Domanually after seeding. - At least three
good-first-issue-labeled tickets exist for collaborator pickup (data/README.mdretirement, Cloudflare/RunPod/D1 plan-tier documentation, one more to be labeled after seed review). - The conventions (hierarchy, components, labels, priority, workflow, assignment) are documented on a Confluence page under Operations or Runbooks so collaborators can reference them.
Template-ability for future NW projects¶
- The conventions (hierarchy, components-as-packages, label taxonomy, workflow) transfer to any Neumann's Workshop project.
- The starter-Workstream pattern — bucket work into 5–10 concern-based Workstreams at project kickoff — is the unit of replication.
- Components are project-specific (they mirror the project's monorepo layout), but the naming convention (component = package directory) is universal.