Grill Progress Tracker is a local-first Windows desktop planner for Markdown issue tickets. It scans one selected repository at a time, resolves prerequisite relationships, separates human gates from agent-ready work, and explains the safest execution order without a server, account, database, or orchestration layer.
The application is built with React, TypeScript, Vite, @xyflow/react, Tauri 2, and Rust. All
repository access is performed by a narrowly scoped native boundary; parsing and graph analysis are
pure TypeScript.
Windows x64 is the supported V1 platform.
- Run the unsigned NSIS installer from
src-tauri/target/x86_64-pc-windows-msvc/release/bundle/nsis/. Windows SmartScreen may show an unrecognized-publisher warning because no signing certificate is configured. Inspect the publisher/path, choose More info, then Run anyway if you trust the build. - The installer contains the offline WebView2 bootstrap payload, so installation does not depend on downloading WebView2.
- A directly runnable executable is produced at
src-tauri/target/x86_64-pc-windows-msvc/release/grill-progress-tracker.exewhen built with the documented x64 target. It expects a compatible WebView2 runtime to be present on the machine.
No updater is included, and the running application makes no network requests.
- Choose Add repository and select the local repository root.
- Configure one or more repository-relative issue roots, such as
.scratch. - Confirm the feature depth, field aliases, display-ID regular expression/template, dependency separators, and local-reference fallback.
- Review the extracted IDs and dependency links. Missing/duplicate IDs and blocking adapter diagnostics must be resolved before continuing.
- Map every discovered raw status to
ready,human-attention,deferred,completed,cancelled, orunknown. - Confirm the qualifier patterns that count as build-complete evidence for human gates.
- Optionally configure a repository-relative metadata count file plus regular-expression captures
named
count; drift between its documented totals and the snapshot appears as an Integrity warning.
Saved workspaces are path-specific. Moving a repository creates a new workspace and requires onboarding again. Planner state is stored under the Tauri application-data directory, never inside the analyzed repository.
See Adapter and edit safety for field semantics and the patch contract.
- Frontier + Flow ranks Human attention and Ready now separately and shows the dependency graph.
- Current Plan explains the combined ranked queue. Waves supports dependency-safe execution waves or exploratory grouping by critical relevance, lane, feature, manual group, status, priority, and actionable state, with configurable sorting and group-local pins.
- Critical Path focuses on a selected or automatically derived terminal goal. It highlights the weighted primary spine while showing every active prerequisite branch by default; completed ancestors can be revealed without changing active execution ranking.
- Frontier + Flow can automatically arrange dependencies in Critical Focus, Full Graph Layered, or Spread Out modes, and the most recent automatic layout can be undone. Selecting a node highlights its direct and transitive prerequisite paths; an on-canvas legend explains required, provisional, traced, and unrelated lines. Clicking empty canvas space clears the trace and ticket inspector so every dependency returns to its normal presentation. Completed nodes can be hidden without hiding cancelled work.
- All Tickets filters the inventory; Integrity lists malformed tickets, unresolved links, cycles, and reconciliation warnings. The graph warning disclosure groups the exact diagnostics for each non-executable ticket and opens that ticket directly in the inspector.
- History derives a newest-first task timeline from matching local Git commits. Each task appears once at its latest matching commit time, earlier matching commits can be expanded, and completed tasks without matching evidence remain visible as undated history.
- Ticket status is shown on cards and graph nodes with both text and color. Selecting a ticket adds a high-contrast glow and opens the same editable inspector beside the current view without navigating back to Frontier + Flow.
- Dragging graph nodes stores layout only. Queue pins affect ordering only inside the ticket's valid eligibility class and can never promote blocked or ineligible work.
- Goals, named manual groups, reviewed human-release overrides, filters, node positions, queue and wave pins, planner-view preferences, and theme are local planning metadata. Version-one planner state migrates to the current schema without discarding those settings.
- Ticket Markdown is rendered through a sanitizer. Links in previews are deliberately inert.
- Exports can copy Mermaid, copy a ranked Markdown plan, or save normalized JSON.
Git reconciliation is optional and read-only. The application examines at most 200 local commits; Git failures switch the inspector and History tab to clearly marked degraded modes and do not stop ticket analysis.
The application never creates or deletes tickets, rewrites prose or dependencies, commits, pushes, changes Git configuration, or auto-fixes diagnostics. The only supported writes are confirmed same-file status-token replacements and tri-state checkbox changes. Every pending change shows its exact Markdown diff. A stale source hash, ambiguous token, disallowed status, path escape, or changed span is rejected instead of silently rebased. Read-only repositories disable editing.
Up to 20 recovery copies per ticket are retained for 30 days in app data. See Adapter and edit safety for details.
Prerequisites are Node.js/npm, Rust stable, and Visual Studio 2022 C++ Build Tools.
npm.cmd install
npm.cmd run dev
npm.cmd run tauri -- devRun the verification suite:
npm.cmd run typecheck
npm.cmd run lint
npm.cmd test
npm.cmd run test:e2e
cargo fmt --check --manifest-path src-tauri/Cargo.toml
cargo test --manifest-path src-tauri/Cargo.toml
cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings
npm.cmd run build
npm.cmd run tauri -- build --target x86_64-pc-windows-msvcThe Playwright suite uses a mocked native boundary and never touches a real repository. Rust edit
tests operate only on temporary copies. The two pinned fuelsite-validator fixtures document a
historical/raw snapshot and the current 67-ticket, nine-feature snapshot; see
tests/fixtures/FIXTURE-NOTES.md.
Presentation and testing patterns were selectively informed by Backlog.md at pinned revision
226eff40aa1f3865080179d705042e65ae1df516. The required MIT attribution is retained in
THIRD_PARTY_NOTICES.md. No Backlog.md CLI server, MCP/agent integration,
remote Git behavior, task creation, telemetry, or orchestration code is included.