chore: migrate task tracking from nbd to beans
Replace all .nbd/ ticket stores with .beans/ directories across the mono-repo (root, edu, nbd, quotesdb). Field mappings: status todo→todo, in_progress→in-progress, done→completed, closed→scrapped, archived→completed, backlog→draft; priority numeric→label; type project→epic. All dependency relationships preserved via --blocked-by. Add scripts/migrate-nbd-to-beans.sh for reproducible future migrations. Update CLAUDE.md task-tracking sections (root, edu, nbd, quotesdb) to reference beans commands instead of nbd commands. Counts: root 2, edu 48, nbd 38, quotesdb 121 beans created; 0 failures. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>main
parent
01d30b45c2
commit
2dd808cdd3
@ -0,0 +1,6 @@
|
||||
beans:
|
||||
path: .beans
|
||||
prefix: vibed-
|
||||
id_length: 4
|
||||
default_status: todo
|
||||
default_type: task
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Add justfiles for all projects with lint, check, build, build-release, and release recipes"
|
||||
priority = 5
|
||||
status = "todo"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# vibed-0fcp
|
||||
title: Add justfiles for all projects with lint, check, build, build-release, and release recipes
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:29:17Z
|
||||
updated_at: 2026-03-10T23:29:17Z
|
||||
---
|
||||
|
||||
## Background
|
||||
|
||||
The root `TODO.md` calls for each project in the mono-repo to have a `justfile` with standard recipe names so that any contributor can run the same commands regardless of project type. `just` is a command runner similar to Make but with cleaner syntax.
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Add contact footer to all service front-ends"
|
||||
priority = 3
|
||||
status = "todo"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# vibed-wqsu
|
||||
title: Add contact footer to all service front-ends
|
||||
status: todo
|
||||
type: task
|
||||
priority: low
|
||||
created_at: 2026-03-10T23:29:17Z
|
||||
updated_at: 2026-03-10T23:29:17Z
|
||||
---
|
||||
|
||||
## Background
|
||||
|
||||
The root `TODO.md` calls for a footer on every service front-end with contact info:
|
||||
@ -0,0 +1,6 @@
|
||||
beans:
|
||||
path: .beans
|
||||
prefix: edu-
|
||||
id_length: 4
|
||||
default_status: todo
|
||||
default_type: task
|
||||
@ -1,8 +1,11 @@
|
||||
+++
|
||||
title = "Markov exercise: Simulating a Random Walk (Rust)"
|
||||
priority = 7
|
||||
status = "archived"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-0w1v
|
||||
title: 'Markov exercise: Simulating a Random Walk (Rust)'
|
||||
status: completed
|
||||
type: task
|
||||
priority: high
|
||||
created_at: 2026-03-10T23:30:01Z
|
||||
updated_at: 2026-03-10T23:30:01Z
|
||||
---
|
||||
|
||||
Write Section 5 of edu/markov.md: Exercise 2 — Simulating a Random Walk\n\nLearning objectives:\n- Model a countably-finite state space (bounded integers) in Rust\n- Implement reflecting boundary conditions\n- Aggregate results from many trials into a histogram\n\nContent to produce:\n- Setup instructions (reuse or extend Exercise 1 project)\n- Step-by-step hints:\n 1. Define RandomWalk with min, max, prob_right fields\n 2. Implement step with boundary reflection (clamp or reverse)\n 3. Implement histogram by running simulate() many times\n 4. Print histogram as ASCII bar chart\n 5. Observe convergence toward uniform (symmetric walk) or skewed (asymmetric)\n- Full reference solution\n\nTarget: replace the stub in edu/markov.md §5
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§6 Recognizing Atoms: Integers, Booleans, Strings, Symbols"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-16fy
|
||||
title: '§6 Recognizing Atoms: Integers, Booleans, Strings, Symbols'
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:01Z
|
||||
updated_at: 2026-03-10T23:30:01Z
|
||||
---
|
||||
|
||||
## §6 Recognizing Atoms: Integers, Booleans, Strings, Symbols — Stub to fill
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "§12 Exercise 5: Retrieval-Augmented Generation"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-1oh8
|
||||
title: '§12 Exercise 5: Retrieval-Augmented Generation'
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:01Z
|
||||
updated_at: 2026-03-10T23:30:01Z
|
||||
---
|
||||
|
||||
## §12 Exercise 5 — Retrieval-Augmented Generation — Stub to fill
|
||||
|
||||
File: `edu/src/vector-db.md`, section `### 12. Exercise 5 — Retrieval-Augmented Generation`
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§11 Checking Special Forms"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-3sww
|
||||
title: §11 Checking Special Forms
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:01Z
|
||||
updated_at: 2026-03-10T23:30:01Z
|
||||
---
|
||||
|
||||
## §11 Checking Special Forms — Stub to fill
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
+++
|
||||
title = "Markov exercise: N-gram Generalization (Rust)"
|
||||
priority = 7
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-4gok
|
||||
title: 'Markov exercise: N-gram Generalization (Rust)'
|
||||
status: completed
|
||||
type: task
|
||||
priority: high
|
||||
created_at: 2026-03-10T23:30:00Z
|
||||
updated_at: 2026-03-10T23:30:00Z
|
||||
---
|
||||
|
||||
Write Section 8 of edu/markov.md: Exercise 4 — N-gram Generalization\n\nLearning objectives:\n- Generalize from bigrams to arbitrary-order n-gram chains\n- Use Vec<String> as a HashMap key (or a joined string)\n- Empirically compare output quality for n = 1, 2, 3, 4\n\nContent to produce:\n- Setup instructions (extend Exercise 3 project)\n- Step-by-step hints:\n 1. Modify train to use a sliding window of n words as the key\n 2. Modify generate to maintain a deque/window of the last n words\n 3. Run on the same corpus with n = 1, 2, 3, 4 and print 50 words each\n 4. Discuss observations: when does it start memorising the corpus?\n- Full reference solution\n- Stretch goal: implement character-level n-grams instead of word-level\n\nTarget: replace the stub in edu/markov.md §8
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§12 The C Runtime Preamble"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-4kkb
|
||||
title: §12 The C Runtime Preamble
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:00Z
|
||||
updated_at: 2026-03-10T23:30:00Z
|
||||
---
|
||||
|
||||
## §12 The C Runtime Preamble — Stub to fill
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "edu: write chapter on shader programming"
|
||||
priority = 3
|
||||
status = "todo"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-4u7w
|
||||
title: 'edu: write chapter on shader programming'
|
||||
status: todo
|
||||
type: task
|
||||
priority: low
|
||||
created_at: 2026-03-10T23:30:00Z
|
||||
updated_at: 2026-03-10T23:30:00Z
|
||||
---
|
||||
|
||||
## Background
|
||||
|
||||
From `edu/TODO.md`: Hands-on: Shader programming.
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§13 Generating C: Atoms and Expressions"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-63ze
|
||||
title: '§13 Generating C: Atoms and Expressions'
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:00Z
|
||||
updated_at: 2026-03-10T23:30:00Z
|
||||
---
|
||||
|
||||
## §13 Generating C: Atoms and Expressions — Stub to fill
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
+++
|
||||
title = "Markov exercise: Bigram Text Generator (Rust)"
|
||||
priority = 7
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-6r70
|
||||
title: 'Markov exercise: Bigram Text Generator (Rust)'
|
||||
status: completed
|
||||
type: task
|
||||
priority: high
|
||||
created_at: 2026-03-10T23:30:01Z
|
||||
updated_at: 2026-03-10T23:30:01Z
|
||||
---
|
||||
|
||||
Write Section 7 of edu/markov.md: Exercise 3 — Bigram Text Generator\n\nLearning objectives:\n- Build a HashMap-based transition table from a text corpus\n- Implement weighted random sampling over successor words\n- Generate and print novel word sequences from a seed\n\nContent to produce:\n- Setup instructions (new Cargo project or extend previous, add rand crate)\n- Step-by-step hints:\n 1. Tokenize corpus into words (split_whitespace)\n 2. Build BigramModel::train by iterating consecutive word pairs\n 3. Implement weighted sampling in generate (accumulate weights, compare to rng draw)\n 4. Handle end-of-chain gracefully (seed word not in model)\n 5. Try with a public-domain text (e.g., Project Gutenberg excerpt)\n- Full reference solution\n\nTarget: replace the stub in edu/markov.md §7
|
||||
@ -1,8 +1,11 @@
|
||||
+++
|
||||
title = "Markov exercise: Weather Model (Rust)"
|
||||
priority = 7
|
||||
status = "archived"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-7cp2
|
||||
title: 'Markov exercise: Weather Model (Rust)'
|
||||
status: completed
|
||||
type: task
|
||||
priority: high
|
||||
created_at: 2026-03-10T23:30:00Z
|
||||
updated_at: 2026-03-10T23:30:00Z
|
||||
---
|
||||
|
||||
Write Section 4 of edu/markov.md: Exercise 1 — Weather Model\n\nLearning objectives:\n- Translate a transition matrix into a Rust struct\n- Use a weighted random draw to implement a single Markov step\n- Run a simulation and print or collect the resulting sequence\n\nContent to produce:\n- Setup instructions (new Cargo project, add rand crate)\n- Step-by-step hints:\n 1. Define the Weather enum and index conversion\n 2. Implement WeatherChain::step using rand::Rng::gen::<f64>()\n 3. Implement WeatherChain::simulate as a loop collecting states\n 4. Run with transition matrix [[0.8, 0.2], [0.4, 0.6]] from Sunny\n 5. Count sunny vs rainy days and compare to stationary distribution\n- Full reference solution (collapsed or at end)\n\nTarget: replace the stub in edu/markov.md §4
|
||||
@ -1,10 +1,26 @@
|
||||
+++
|
||||
title = "vector-db"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "project"
|
||||
dependencies = ["21d9be", "584e0c", "99e1d9", "d9f850", "6ec5ff", "37cdd5", "081a55", "5674ce", "4c961f", "1ef9f4", "e8be9a", "5ed295"]
|
||||
+++
|
||||
---
|
||||
# edu-91j2
|
||||
title: vector-db
|
||||
status: completed
|
||||
type: epic
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:02Z
|
||||
updated_at: 2026-03-10T23:30:04Z
|
||||
blocked_by:
|
||||
- edu-mlut
|
||||
- edu-hvic
|
||||
- edu-twtl
|
||||
- edu-hvmi
|
||||
- edu-uz3e
|
||||
- edu-ic66
|
||||
- edu-pdeo
|
||||
- edu-paqf
|
||||
- edu-c98s
|
||||
- edu-ga52
|
||||
- edu-dgfl
|
||||
- edu-1oh8
|
||||
---
|
||||
|
||||
## Project: Vector Database Self-Guided Course
|
||||
|
||||
This is the top-level project ticket for `edu/src/vector-db.md` — a self-guided mdbook course on vector databases in the **Vibed Learning** site (`edu/`).
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "edu: write chapter on co-op worker-owned business structure"
|
||||
priority = 3
|
||||
status = "todo"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-al3r
|
||||
title: 'edu: write chapter on co-op worker-owned business structure'
|
||||
status: todo
|
||||
type: task
|
||||
priority: low
|
||||
created_at: 2026-03-10T23:30:01Z
|
||||
updated_at: 2026-03-10T23:30:01Z
|
||||
---
|
||||
|
||||
## Background
|
||||
|
||||
From `edu/TODO.md`: write a chapter about how to structure a co-op profit-sharing worker-owned business.
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§2 MiniLisp Language Specification"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-azf5
|
||||
title: §2 MiniLisp Language Specification
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:02Z
|
||||
updated_at: 2026-03-10T23:30:02Z
|
||||
---
|
||||
|
||||
## §2 MiniLisp Language Specification — Stub to fill
|
||||
|
||||
@ -1,10 +1,31 @@
|
||||
+++
|
||||
title = "Course: Writing a Lisp-to-C Compiler in Rust"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "project"
|
||||
dependencies = ["e8da8b", "a93829", "3aeb62", "5835e9", "3dc36b", "685f5e", "a1a827", "b6c9ad", "a4c9f8", "d0b9f8", "6d40a7", "3e1250", "1eb794", "cbc6e3", "de82f1", "58b37a", "8fa47a", "1d16da"]
|
||||
+++
|
||||
---
|
||||
# edu-b73b
|
||||
title: 'Course: Writing a Lisp-to-C Compiler in Rust'
|
||||
status: completed
|
||||
type: epic
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:01Z
|
||||
updated_at: 2026-03-10T23:30:03Z
|
||||
blocked_by:
|
||||
- edu-ylb8
|
||||
- edu-azf5
|
||||
- edu-n9ap
|
||||
- edu-jzvr
|
||||
- edu-g1r5
|
||||
- edu-16fy
|
||||
- edu-n7zb
|
||||
- edu-mmbr
|
||||
- edu-tzzh
|
||||
- edu-h3yx
|
||||
- edu-3sww
|
||||
- edu-4kkb
|
||||
- edu-63ze
|
||||
- edu-pyue
|
||||
- edu-unus
|
||||
- edu-nc61
|
||||
- edu-v0ud
|
||||
- edu-y4e6
|
||||
---
|
||||
|
||||
## Course: Writing a Lisp-to-C Compiler in Rust
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "§9 Generating Embeddings in Rust"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-c98s
|
||||
title: §9 Generating Embeddings in Rust
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:00Z
|
||||
updated_at: 2026-03-10T23:30:00Z
|
||||
---
|
||||
|
||||
## §9 Generating Embeddings in Rust — Stub to fill
|
||||
|
||||
File: `edu/src/vector-db.md`, section `### 9. Generating Embeddings in Rust`
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "edu: write Machine Learning chapter (self-play game AI, Alpha Go Zero style)"
|
||||
priority = 3
|
||||
status = "todo"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-coqp
|
||||
title: 'edu: write Machine Learning chapter (self-play game AI, Alpha Go Zero style)'
|
||||
status: todo
|
||||
type: task
|
||||
priority: low
|
||||
created_at: 2026-03-10T23:30:01Z
|
||||
updated_at: 2026-03-10T23:30:01Z
|
||||
---
|
||||
|
||||
## Background
|
||||
|
||||
From `edu/TODO.md`: Hands-on: Machine Learning; training a computer to play a game by playing against itself (a-la Alpha Go Zero).
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "§11 Exercise 4: Recommendation Engine"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-dgfl
|
||||
title: '§11 Exercise 4: Recommendation Engine'
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:02Z
|
||||
updated_at: 2026-03-10T23:30:02Z
|
||||
---
|
||||
|
||||
## §11 Exercise 4 — Recommendation Engine — Stub to fill
|
||||
|
||||
File: `edu/src/vector-db.md`, section `### 11. Exercise 4 — Recommendation Engine`
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§5 Setting Up the Project"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-g1r5
|
||||
title: §5 Setting Up the Project
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:00Z
|
||||
updated_at: 2026-03-10T23:30:00Z
|
||||
---
|
||||
|
||||
## §5 Setting Up the Project — Stub to fill
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "§10 Exercise 3: Semantic Document Search"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-ga52
|
||||
title: '§10 Exercise 3: Semantic Document Search'
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:00Z
|
||||
updated_at: 2026-03-10T23:30:00Z
|
||||
---
|
||||
|
||||
## §10 Exercise 3 — Semantic Document Search — Stub to fill
|
||||
|
||||
File: `edu/src/vector-db.md`, section `### 10. Exercise 3 — Semantic Document Search`
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§10 Symbol Tables and Scope"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-h3yx
|
||||
title: §10 Symbol Tables and Scope
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:02Z
|
||||
updated_at: 2026-03-10T23:30:02Z
|
||||
---
|
||||
|
||||
## §10 Symbol Tables and Scope — Stub to fill
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "§2 Embeddings"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-hvic
|
||||
title: §2 Embeddings
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:01Z
|
||||
updated_at: 2026-03-10T23:30:01Z
|
||||
---
|
||||
|
||||
## §2 Embeddings — Stub to fill
|
||||
|
||||
File: `edu/src/vector-db.md`, section `### 2. Embeddings`
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "§4 What Is a Vector Database?"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-hvmi
|
||||
title: §4 What Is a Vector Database?
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:02Z
|
||||
updated_at: 2026-03-10T23:30:02Z
|
||||
---
|
||||
|
||||
## §4 What Is a Vector Database? — Stub to fill
|
||||
|
||||
File: `edu/src/vector-db.md`, section `### 4. What Is a Vector Database?`
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "§6 Setting Up Turso + sqlite-vec"
|
||||
priority = 5
|
||||
status = "closed"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-ic66
|
||||
title: §6 Setting Up Turso + sqlite-vec
|
||||
status: scrapped
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:00Z
|
||||
updated_at: 2026-03-10T23:30:00Z
|
||||
---
|
||||
|
||||
## §6 Setting Up Turso + sqlite-vec — ALREADY COMPLETE
|
||||
|
||||
This section is fully written in `edu/src/vector-db.md` under `### 6. Setting Up`. No further content work is needed. Mark this ticket done.
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§4 Introduction to nom: Parser Combinators"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-jzvr
|
||||
title: '§4 Introduction to nom: Parser Combinators'
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:00Z
|
||||
updated_at: 2026-03-10T23:30:00Z
|
||||
---
|
||||
|
||||
## §4 Introduction to nom: Parser Combinators — Stub to fill
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "§1 What Is a Vector?"
|
||||
priority = 5
|
||||
status = "closed"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-mlut
|
||||
title: §1 What Is a Vector?
|
||||
status: scrapped
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:00Z
|
||||
updated_at: 2026-03-10T23:30:00Z
|
||||
---
|
||||
|
||||
## §1 What Is a Vector? — ALREADY COMPLETE
|
||||
|
||||
This section is fully written in `edu/src/vector-db.md` under `### 1. What Is a Vector?`. No further content work is needed. Mark this ticket done.
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§8 Parsing Atoms with nom"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-mmbr
|
||||
title: §8 Parsing Atoms with nom
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:02Z
|
||||
updated_at: 2026-03-10T23:30:02Z
|
||||
---
|
||||
|
||||
## §8 Parsing Atoms with nom — Stub to fill
|
||||
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§7 The Abstract Syntax Tree"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-n7zb
|
||||
title: §7 The Abstract Syntax Tree
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:02Z
|
||||
updated_at: 2026-03-10T23:30:02Z
|
||||
---
|
||||
|
||||
## §7 The Abstract Syntax Tree — Stub to fill
|
||||
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§3 Compiler Architecture: The Pipeline"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-n9ap
|
||||
title: '§3 Compiler Architecture: The Pipeline'
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:00Z
|
||||
updated_at: 2026-03-10T23:30:00Z
|
||||
---
|
||||
|
||||
## §3 Compiler Architecture: The Pipeline — Stub to fill
|
||||
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§16 The Compilation Pipeline"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-nc61
|
||||
title: §16 The Compilation Pipeline
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:01Z
|
||||
updated_at: 2026-03-10T23:30:01Z
|
||||
---
|
||||
|
||||
## §16 The Compilation Pipeline — Stub to fill
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "§8 Exercise 2: K-Nearest Neighbor Search"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-paqf
|
||||
title: '§8 Exercise 2: K-Nearest Neighbor Search'
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:00Z
|
||||
updated_at: 2026-03-10T23:30:00Z
|
||||
---
|
||||
|
||||
## §8 Exercise 2 — K-Nearest Neighbor Search — Stub to fill
|
||||
|
||||
File: `edu/src/vector-db.md`, section `### 8. Exercise 2 — K-Nearest Neighbor Search`
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "§7 Exercise 1: Storing and Retrieving Vectors"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-pdeo
|
||||
title: '§7 Exercise 1: Storing and Retrieving Vectors'
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:29:59Z
|
||||
updated_at: 2026-03-10T23:29:59Z
|
||||
---
|
||||
|
||||
## §7 Exercise 1 — Storing and Retrieving Vectors — Stub to fill
|
||||
|
||||
File: `edu/src/vector-db.md`, section `### 7. Exercise 1 — Storing and Retrieving Vectors`
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§14 Generating C: Definitions and Functions"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-pyue
|
||||
title: '§14 Generating C: Definitions and Functions'
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:02Z
|
||||
updated_at: 2026-03-10T23:30:02Z
|
||||
---
|
||||
|
||||
## §14 Generating C: Definitions and Functions — Stub to fill
|
||||
|
||||
@ -1,8 +1,22 @@
|
||||
+++
|
||||
title = "markov"
|
||||
priority = 7
|
||||
status = "done"
|
||||
ticket_type = "project"
|
||||
dependencies = ["fbf323", "738be2", "44ebe7", "257a2a", "64826a", "92a829", "74be50", "1f995a", "68ee16", "5994a6"]
|
||||
+++
|
||||
---
|
||||
# edu-svom
|
||||
title: markov
|
||||
status: completed
|
||||
type: epic
|
||||
priority: high
|
||||
created_at: 2026-03-10T23:30:02Z
|
||||
updated_at: 2026-03-10T23:30:04Z
|
||||
blocked_by:
|
||||
- edu-18qe
|
||||
- edu-zjy1
|
||||
- edu-a1al
|
||||
- edu-7cp2
|
||||
- edu-0w1v
|
||||
- edu-9kuk
|
||||
- edu-6r70
|
||||
- edu-4gok
|
||||
- edu-urpp
|
||||
- edu-34co
|
||||
---
|
||||
|
||||
Self-guided Markov chain course in edu/markov.md.\n\nThe course outline lives in edu/markov.md. Each of the 10 section tickets must be completed to flesh out all stubs before this project is done.\n\nSections:\n1. fbf323 — What Is a Markov Chain?\n2. 738be2 — States and Transitions\n3. 44ebe7 — Transition Probabilities and Matrices\n4. 257a2a — Exercise 1: Weather Model (Rust)\n5. 64826a — Exercise 2: Random Walk (Rust)\n6. 92a829 — Text Generation with Markov Chains\n7. 74be50 — Exercise 3: Bigram Text Generator (Rust)\n8. 1f995a — Exercise 4: N-gram Generalization (Rust)\n9. 68ee16 — Stationary Distributions\n10. 5994a6 — Applications and Further Reading
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "§3 Vector Similarity"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-twtl
|
||||
title: §3 Vector Similarity
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:01Z
|
||||
updated_at: 2026-03-10T23:30:01Z
|
||||
---
|
||||
|
||||
## §3 Vector Similarity — Stub to fill
|
||||
|
||||
File: `edu/src/vector-db.md`, section `### 3. Vector Similarity`
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Deploy edu mdbook to Cloudflare Pages at vibebooks.elijah.run"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "project"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-tx54
|
||||
title: Deploy edu mdbook to Cloudflare Pages at vibebooks.elijah.run
|
||||
status: completed
|
||||
type: epic
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:01Z
|
||||
updated_at: 2026-03-10T23:30:01Z
|
||||
---
|
||||
|
||||
## Background
|
||||
|
||||
From `edu/TODO.md`:
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§9 Parsing S-Expressions and Special Forms"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-tzzh
|
||||
title: §9 Parsing S-Expressions and Special Forms
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:02Z
|
||||
updated_at: 2026-03-10T23:30:02Z
|
||||
---
|
||||
|
||||
## §9 Parsing S-Expressions and Special Forms — Stub to fill
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "edu: write chapter on creating and training a simple LLM"
|
||||
priority = 3
|
||||
status = "todo"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-u2w7
|
||||
title: 'edu: write chapter on creating and training a simple LLM'
|
||||
status: todo
|
||||
type: task
|
||||
priority: low
|
||||
created_at: 2026-03-10T23:30:00Z
|
||||
updated_at: 2026-03-10T23:30:00Z
|
||||
---
|
||||
|
||||
## Background
|
||||
|
||||
From `edu/TODO.md`: Hands-on: Creating and training a simple LLM.
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§15 Generating C: Control Flow and Sequencing"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-unus
|
||||
title: '§15 Generating C: Control Flow and Sequencing'
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:02Z
|
||||
updated_at: 2026-03-10T23:30:02Z
|
||||
---
|
||||
|
||||
## §15 Generating C: Control Flow and Sequencing — Stub to fill
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "§5 Under the Hood: ANN Algorithms"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-uz3e
|
||||
title: '§5 Under the Hood: ANN Algorithms'
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:01Z
|
||||
updated_at: 2026-03-10T23:30:01Z
|
||||
---
|
||||
|
||||
## §5 Under the Hood: ANN Algorithms — Stub to fill
|
||||
|
||||
File: `edu/src/vector-db.md`, section `### 5. Under the Hood: ANN Algorithms`
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§17 Testing the Compiler"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-v0ud
|
||||
title: §17 Testing the Compiler
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:01Z
|
||||
updated_at: 2026-03-10T23:30:01Z
|
||||
---
|
||||
|
||||
## §17 Testing the Compiler — Stub to fill
|
||||
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§18 What's Next: Extensions and Further Reading"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-y4e6
|
||||
title: '§18 What''s Next: Extensions and Further Reading'
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:00Z
|
||||
updated_at: 2026-03-10T23:30:00Z
|
||||
---
|
||||
|
||||
## §18 What's Next: Extensions and Further Reading — Stub to fill
|
||||
|
||||
@ -1,10 +1,12 @@
|
||||
+++
|
||||
title = "§1 Introduction: What We're Building"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# edu-ylb8
|
||||
title: '§1 Introduction: What We''re Building'
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:02Z
|
||||
updated_at: 2026-03-10T23:30:02Z
|
||||
---
|
||||
|
||||
## §1 Introduction: What We're Building — Stub to fill
|
||||
|
||||
@ -1 +0,0 @@
|
||||
cache.db
|
||||
@ -0,0 +1,6 @@
|
||||
beans:
|
||||
path: .beans
|
||||
prefix: nbd-
|
||||
id_length: 4
|
||||
default_status: todo
|
||||
default_type: task
|
||||
@ -1,10 +1,15 @@
|
||||
+++
|
||||
title = "Add nbd next subcommand"
|
||||
priority = 7
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = ["887344"]
|
||||
+++
|
||||
---
|
||||
# nbd-08jg
|
||||
title: Add nbd next subcommand
|
||||
status: completed
|
||||
type: feature
|
||||
priority: high
|
||||
created_at: 2026-03-10T23:30:31Z
|
||||
updated_at: 2026-03-10T23:30:32Z
|
||||
blocked_by:
|
||||
- nbd-p9na
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
Add `nbd next` subcommand that selects the single highest-priority ticket that is
|
||||
@ -1,10 +1,15 @@
|
||||
+++
|
||||
title = "ASCII graph rendering in display.rs"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = ["9c9ebe"]
|
||||
+++
|
||||
---
|
||||
# nbd-17dp
|
||||
title: ASCII graph rendering in display.rs
|
||||
status: completed
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:31Z
|
||||
updated_at: 2026-03-10T23:30:32Z
|
||||
blocked_by:
|
||||
- nbd-csdh
|
||||
---
|
||||
|
||||
Add `format_graph` and `print_graph` to `src/display.rs` to render a ticket dependency DAG as an ASCII tree.
|
||||
|
||||
## Motivation
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "nbd claude-md command"
|
||||
priority = 6
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-2i1e
|
||||
title: nbd claude-md command
|
||||
status: completed
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:31Z
|
||||
updated_at: 2026-03-10T23:30:31Z
|
||||
---
|
||||
|
||||
Add `nbd claude-md` subcommand that prints a ready-to-paste CLAUDE.md snippet for adopting `nbd` in any project. The snippet content is maintained as a source file and baked into the binary at compile time via `include_str!`.
|
||||
|
||||
## Motivation
|
||||
@ -1,10 +1,15 @@
|
||||
+++
|
||||
title = "Exclude done tickets from nbd list by default"
|
||||
priority = 7
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = ["887344"]
|
||||
+++
|
||||
---
|
||||
# nbd-4w8z
|
||||
title: Exclude done tickets from nbd list by default
|
||||
status: completed
|
||||
type: feature
|
||||
priority: high
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:32Z
|
||||
blocked_by:
|
||||
- nbd-p9na
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
Change `nbd list` to hide `done` tickets by default. Users must explicitly opt in
|
||||
@ -1,10 +1,15 @@
|
||||
+++
|
||||
title = "Tests for nbd graph command"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = ["9ad11f"]
|
||||
+++
|
||||
---
|
||||
# nbd-56ho
|
||||
title: Tests for nbd graph command
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:31Z
|
||||
updated_at: 2026-03-10T23:30:32Z
|
||||
blocked_by:
|
||||
- nbd-d9dh
|
||||
---
|
||||
|
||||
Add comprehensive unit and integration tests for the `nbd graph` command introduced across tickets `9c9ebe`, `e14172`, and `9ad11f`.
|
||||
|
||||
## Unit tests (src/tests.rs)
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Print tickets in markdown format instead of key-value table"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-6j0q
|
||||
title: Print tickets in markdown format instead of key-value table
|
||||
status: completed
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:30Z
|
||||
---
|
||||
|
||||
## Goal
|
||||
|
||||
When a ticket is printed to stdout (e.g. by `nbd read`, `nbd create`, `nbd archive`, `nbd next`, `nbd update` without `--json`), it should be rendered as markdown with TOML frontmatter — the same format used by `--ftype md` files on disk — rather than the current key-value table.
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Add backlog status to tickets"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-7cab
|
||||
title: Add backlog status to tickets
|
||||
status: completed
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:31Z
|
||||
updated_at: 2026-03-10T23:30:31Z
|
||||
---
|
||||
|
||||
## Goal
|
||||
|
||||
Add a `backlog` status variant so tickets can be created without immediately surfacing in the active work queue. Tickets in `backlog` are created but intentionally deferred; they should not appear in `nbd list`, `nbd ready`, or `nbd next` by default.
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Add status convenience sub-commands (open, start, complete, close)"
|
||||
priority = 5
|
||||
status = "todo"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-8yn8
|
||||
title: Add status convenience sub-commands (open, start, complete, close)
|
||||
status: todo
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:31Z
|
||||
updated_at: 2026-03-10T23:30:31Z
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
`nbd update <id> --status <x>` is verbose for the most common lifecycle transitions. `nbd archive` already exists as a top-level convenience — the same pattern should apply to all transitions.
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "nbd init command"
|
||||
priority = 7
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-95l6
|
||||
title: nbd init command
|
||||
status: completed
|
||||
type: feature
|
||||
priority: high
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:30Z
|
||||
---
|
||||
|
||||
Add an explicit `nbd init` subcommand that creates `.nbd/tickets/` in the current working directory, analogous to `git init`.
|
||||
|
||||
## Motivation
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Add list status sub-commands (list todo, list backlog, etc.)"
|
||||
priority = 4
|
||||
status = "todo"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-9mxu
|
||||
title: Add list status sub-commands (list todo, list backlog, etc.)
|
||||
status: todo
|
||||
type: feature
|
||||
priority: low
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:30Z
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
Filtering by status requires the verbose `--filter status=X`. Common patterns like listing only backlog or only completed tickets should have ergonomic shortcuts.
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Add .nbd/config.toml for per-project defaults"
|
||||
priority = 5
|
||||
status = "todo"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-9vrn
|
||||
title: Add .nbd/config.toml for per-project defaults
|
||||
status: todo
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:30Z
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
All defaults (output format, file type, default status) are hard-coded in the CLI. Users in a project that always uses `--json` or always creates `md`-format tickets must pass these flags repeatedly. A per-project config file would let them set these once.
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Add graph computation module (src/graph.rs)"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-csdh
|
||||
title: Add graph computation module (src/graph.rs)
|
||||
status: completed
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:31Z
|
||||
updated_at: 2026-03-10T23:30:31Z
|
||||
---
|
||||
|
||||
Implement `src/graph.rs` — a module that builds a directed dependency graph from a flat list of tickets and provides the data structures needed by the ASCII renderer and JSON output.
|
||||
|
||||
## Motivation
|
||||
@ -1,10 +1,16 @@
|
||||
+++
|
||||
title = "Add 'nbd graph' CLI subcommand"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = ["9c9ebe", "e14172"]
|
||||
+++
|
||||
---
|
||||
# nbd-d9dh
|
||||
title: Add 'nbd graph' CLI subcommand
|
||||
status: completed
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:31Z
|
||||
updated_at: 2026-03-10T23:30:32Z
|
||||
blocked_by:
|
||||
- nbd-csdh
|
||||
- nbd-17dp
|
||||
---
|
||||
|
||||
Wire up the `graph` subcommand in `src/main.rs` to expose the ASCII dependency graph and JSON output.
|
||||
|
||||
## Motivation
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "nbd update diff output"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-fgwx
|
||||
title: nbd update diff output
|
||||
status: completed
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:30Z
|
||||
---
|
||||
|
||||
Show a git-diff-style +/- summary of what changed when `nbd update` is run without `--json`.
|
||||
|
||||
## Motivation
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Update claude-md snippet to show --json on all commands"
|
||||
priority = 4
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-flbj
|
||||
title: Update claude-md snippet to show --json on all commands
|
||||
status: completed
|
||||
type: task
|
||||
priority: low
|
||||
created_at: 2026-03-10T23:30:31Z
|
||||
updated_at: 2026-03-10T23:30:31Z
|
||||
---
|
||||
|
||||
## Goal
|
||||
|
||||
The `nbd claude-md` command emits `src/claude_md_snippet.md` verbatim. The current snippet shows core commands without `--json`, contradicting the guideline at the bottom that says to always pass it.
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "nbd ready command"
|
||||
priority = 7
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-i0fc
|
||||
title: nbd ready command
|
||||
status: completed
|
||||
type: feature
|
||||
priority: high
|
||||
created_at: 2026-03-10T23:30:31Z
|
||||
updated_at: 2026-03-10T23:30:31Z
|
||||
---
|
||||
|
||||
Add `nbd ready` subcommand that lists tickets which are actionable right now: not yet done and with all dependencies completed.
|
||||
|
||||
## Motivation
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Split archive/closed: archive=done, closed=cancelled"
|
||||
priority = 6
|
||||
status = "done"
|
||||
ticket_type = "bug"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-jc1v
|
||||
title: 'Split archive/closed: archive=done, closed=cancelled'
|
||||
status: completed
|
||||
type: bug
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:31Z
|
||||
updated_at: 2026-03-10T23:30:31Z
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
Currently `nbd archive` sets a ticket's status to `closed`. This conflates two distinct intents:
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Scope nbd next and nbd ready by dependency subtree"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-kq6o
|
||||
title: Scope nbd next and nbd ready by dependency subtree
|
||||
status: completed
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:30Z
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
Add an optional positional `<id>` argument to `nbd next` and `nbd ready` that scopes
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Fix graph orientation: show goals at root, prerequisites as leaves"
|
||||
priority = 7
|
||||
status = "done"
|
||||
ticket_type = "bug"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-l38k
|
||||
title: 'Fix graph orientation: show goals at root, prerequisites as leaves'
|
||||
status: completed
|
||||
type: bug
|
||||
priority: high
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:30Z
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
The dependency graph is inverted. Currently:
|
||||
@ -1,10 +1,15 @@
|
||||
+++
|
||||
title = "Fix nbd graph <id>: show ancestry path through ticket, not just subtree"
|
||||
priority = 6
|
||||
status = "todo"
|
||||
ticket_type = "bug"
|
||||
dependencies = ["668150"]
|
||||
+++
|
||||
---
|
||||
# nbd-lins
|
||||
title: 'Fix nbd graph <id>: show ancestry path through ticket, not just subtree'
|
||||
status: todo
|
||||
type: bug
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:29Z
|
||||
updated_at: 2026-03-10T23:30:31Z
|
||||
blocked_by:
|
||||
- nbd-l38k
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
Currently `nbd graph <id>` renders the subtree **below** the given ticket via dependent edges (tickets blocked by it). After the graph orientation fix (see ticket 668150), `nbd graph <id>` will render the dependency subtree **below** the given ticket.
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "nbd init: add cache.db to .nbd/.gitignore"
|
||||
priority = 5
|
||||
status = "todo"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-m9q2
|
||||
title: 'nbd init: add cache.db to .nbd/.gitignore'
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:30Z
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
`.nbd/cache.db` is a Turso/libsql SQLite cache file created automatically by `list_tickets_cached`. It should never be committed to git. Currently `nbd init` does not create a `.gitignore` to exclude it.
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Add --xml output format that wraps each ticket section in XML tags"
|
||||
priority = 4
|
||||
status = "todo"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-mkkm
|
||||
title: Add --xml output format that wraps each ticket section in XML tags
|
||||
status: todo
|
||||
type: feature
|
||||
priority: low
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:30Z
|
||||
---
|
||||
|
||||
## Background
|
||||
|
||||
From `nbd/TODO.md`:
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Investigate: user-configurable type and status strings with lifecycle phases"
|
||||
priority = 3
|
||||
status = "backlog"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-n2xz
|
||||
title: 'Investigate: user-configurable type and status strings with lifecycle phases'
|
||||
status: draft
|
||||
type: task
|
||||
priority: low
|
||||
created_at: 2026-03-10T23:30:29Z
|
||||
updated_at: 2026-03-10T23:30:29Z
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
`type` and `status` are currently hard-coded Rust enums. Users cannot add custom values (e.g., `status = "review"` or `type = "spike"`) without modifying the codebase. But certain status values (`done`, `archived`, `closed`) have special semantics (excluded from `list`/`ready`/`next`; counted as resolved for deps). Making these extensible requires a design that lets users declare which values are "pre-work", "in-work", and "post-work".
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Add --version flag with X.Y.Z+GitSha format"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-no88
|
||||
title: Add --version flag with X.Y.Z+GitSha format
|
||||
status: completed
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:31Z
|
||||
updated_at: 2026-03-10T23:30:31Z
|
||||
---
|
||||
|
||||
## Goal
|
||||
|
||||
Add a `--version` / `-V` flag to `nbd` that prints the version in the format:
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Remove id field from ticket JSON body"
|
||||
priority = 9
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-o3k8
|
||||
title: Remove id field from ticket JSON body
|
||||
status: completed
|
||||
type: task
|
||||
priority: critical
|
||||
created_at: 2026-03-10T23:30:31Z
|
||||
updated_at: 2026-03-10T23:30:31Z
|
||||
---
|
||||
|
||||
The ticket ID is already encoded in the filename (`a3f9c2.json`). Storing it redundantly inside the JSON body creates a potential consistency hazard (the two could disagree) and wastes space. The filename should be the sole source of truth for the ID.
|
||||
|
||||
## Motivation
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Turso cache for list performance"
|
||||
priority = 3
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-oziy
|
||||
title: Turso cache for list performance
|
||||
status: completed
|
||||
type: feature
|
||||
priority: low
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:30Z
|
||||
---
|
||||
|
||||
Add a Turso (libsql) cache in `.nbd/cache.db` to accelerate `nbd list` and `nbd ready` for large ticket stores.
|
||||
|
||||
## Motivation
|
||||
@ -1,10 +1,15 @@
|
||||
+++
|
||||
title = "Wire --filter flag into list, ready, and migrate commands"
|
||||
priority = 8
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = ["c2a024"]
|
||||
+++
|
||||
---
|
||||
# nbd-p9na
|
||||
title: Wire --filter flag into list, ready, and migrate commands
|
||||
status: completed
|
||||
type: feature
|
||||
priority: critical
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:32Z
|
||||
blocked_by:
|
||||
- nbd-zz62
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
Add `--filter KEY=VALUE` (repeatable) to the `list`, `ready`, and `migrate` CLI commands.
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "nbd archive command and Closed status"
|
||||
priority = 6
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-pq2x
|
||||
title: nbd archive command and Closed status
|
||||
status: completed
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:29Z
|
||||
updated_at: 2026-03-10T23:30:29Z
|
||||
---
|
||||
|
||||
Add `Status::Closed` (serialised as `"closed"`) and a convenience `nbd archive <id>` command that sets it.
|
||||
|
||||
## Motivation
|
||||
@ -1,10 +1,15 @@
|
||||
+++
|
||||
title = "nbd migrate command"
|
||||
priority = 9
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = ["d1634a"]
|
||||
+++
|
||||
---
|
||||
# nbd-q2d1
|
||||
title: nbd migrate command
|
||||
status: completed
|
||||
type: feature
|
||||
priority: critical
|
||||
created_at: 2026-03-10T23:30:29Z
|
||||
updated_at: 2026-03-10T23:30:31Z
|
||||
blocked_by:
|
||||
- nbd-o3k8
|
||||
---
|
||||
|
||||
Add `nbd migrate` to bring all ticket files on disk into conformance with the current schema. This is the standard mechanism for handling any schema change — field removals, field additions, renames, or type changes.
|
||||
|
||||
## Motivation
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Add next <type> filtered sub-commands (next bug, next feature, next task)"
|
||||
priority = 4
|
||||
status = "todo"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-ql0c
|
||||
title: Add next <type> filtered sub-commands (next bug, next feature, next task)
|
||||
status: todo
|
||||
type: feature
|
||||
priority: low
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:30Z
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
`nbd next --filter type=bug` is verbose. When an engineer wants the highest-priority ready bug, they should be able to say `nbd next bug`.
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Partial ID matching"
|
||||
priority = 8
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-rulc
|
||||
title: Partial ID matching
|
||||
status: completed
|
||||
type: feature
|
||||
priority: critical
|
||||
created_at: 2026-03-10T23:30:31Z
|
||||
updated_at: 2026-03-10T23:30:31Z
|
||||
---
|
||||
|
||||
Allow `nbd read`, `nbd update`, and dependency resolution to accept a prefix of a ticket ID (e.g. `nbd read a3f` resolves to `a3f9c2`).
|
||||
|
||||
## Motivation
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Multiple file format support (md, toml, jsonb)"
|
||||
priority = 5
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-s16w
|
||||
title: Multiple file format support (md, toml, jsonb)
|
||||
status: completed
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:30Z
|
||||
---
|
||||
|
||||
Add `--ftype` flag to `create` and `update` to write tickets in markdown, TOML, or binary JSON (CBOR) in addition to the existing JSON format. Format is detected from file extension on read.
|
||||
|
||||
## Motivation
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Investigate: filtering tickets by project / stream of work"
|
||||
priority = 3
|
||||
status = "backlog"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-urlz
|
||||
title: 'Investigate: filtering tickets by project / stream of work'
|
||||
status: draft
|
||||
type: task
|
||||
priority: low
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:30Z
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
When multiple streams of work coexist (e.g., refactoring vs. new feature), there is no way to select tickets for one stream only. `nbd next` and `nbd list` operate across all tickets.
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Nix flake for nbd"
|
||||
priority = 4
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-wbf7
|
||||
title: Nix flake for nbd
|
||||
status: completed
|
||||
type: task
|
||||
priority: low
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:30Z
|
||||
---
|
||||
|
||||
Add `nbd/flake.nix` so that `nbd` can be consumed as a Nix package and used as a CLI tool in other projects in the mono-repo.
|
||||
|
||||
## Motivation
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = 'VERSION file: compile into binary via include_str\! and add nbd version subcommand'
|
||||
priority = 5
|
||||
status = "todo"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-wi74
|
||||
title: '''VERSION file: compile into binary via include_str\! and add nbd version subcommand'''
|
||||
status: todo
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:30Z
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
The current version string is assembled in `main.rs` from `CARGO_PKG_VERSION` (Cargo.toml) and `GIT_SHORT_SHA` (build.rs). There is no `nbd version` subcommand — only `--version`. And the `/work` skill does not bump any version on completion.
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Change graph cycle marker from [cycle] to *"
|
||||
priority = 3
|
||||
status = "done"
|
||||
ticket_type = "task"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-y4nv
|
||||
title: Change graph cycle marker from [cycle] to *
|
||||
status: completed
|
||||
type: task
|
||||
priority: low
|
||||
created_at: 2026-03-10T23:30:30Z
|
||||
updated_at: 2026-03-10T23:30:30Z
|
||||
---
|
||||
|
||||
## Goal
|
||||
|
||||
When `nbd graph` renders a node that has already been visited (a node appearing in multiple branches of the tree), it currently labels the repeat occurrence as `[cycle]`. This label is misleading — the node isn't truly in a cycle, it's simply appearing twice in the tree because it's depended on from multiple places. Change the marker to `*` to indicate "this ticket appears elsewhere in the tree".
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Add triage status: new default for tickets lacking implementation detail"
|
||||
priority = 6
|
||||
status = "todo"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-yh0v
|
||||
title: 'Add triage status: new default for tickets lacking implementation detail'
|
||||
status: todo
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-03-10T23:30:31Z
|
||||
updated_at: 2026-03-10T23:30:31Z
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
New tickets are created with `status=todo`, implying they are ready to work on. But many tickets need further research or implementation details before work can begin. The TODO describes a `triage` status for exactly this case — tickets that need an LLM or human to fill in details before they become `todo`.
|
||||
@ -1,10 +1,13 @@
|
||||
+++
|
||||
title = "Implement TicketFilter module with glob matching"
|
||||
priority = 8
|
||||
status = "done"
|
||||
ticket_type = "feature"
|
||||
dependencies = []
|
||||
+++
|
||||
---
|
||||
# nbd-zz62
|
||||
title: Implement TicketFilter module with glob matching
|
||||
status: completed
|
||||
type: feature
|
||||
priority: critical
|
||||
created_at: 2026-03-10T23:30:31Z
|
||||
updated_at: 2026-03-10T23:30:31Z
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
Add a `src/filter.rs` module implementing `TicketFilter`, which parses and applies
|
||||
@ -1 +0,0 @@
|
||||
cache.db
|
||||
@ -1,8 +0,0 @@
|
||||
{
|
||||
"title": "Test archive",
|
||||
"body": "",
|
||||
"priority": 5,
|
||||
"status": "archived",
|
||||
"dependencies": [],
|
||||
"ticket_type": "task"
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
{
|
||||
"title": "Test ticket",
|
||||
"body": "Some body text",
|
||||
"priority": 7,
|
||||
"status": "done",
|
||||
"dependencies": [],
|
||||
"ticket_type": "bug"
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue