huskies: done 493_bug_story_dependency_chain_not_firing_due_to_front_matter_format_issues

This commit is contained in:
dave
2026-04-07 13:32:42 +00:00
parent a3a3942b0a
commit c64577eff0
4 changed files with 34 additions and 64 deletions
@@ -1,21 +0,0 @@
---
name: "Display story dependencies in web UI and chat commands"
---
# Story 487: Display story dependencies in web UI and chat commands
## User Story
As a user managing stories with dependencies, I want to see dependency information in the web UI story panel and in chat/slash command output, so I can understand which stories are blocked and why without reading the raw markdown files.
## Acceptance Criteria
- [ ] The `UpcomingStory` API response includes a `depends_on` field (list of story numbers) when the story has dependencies in its front matter
- [ ] The `status <number>` chat command shows `depends_on` in the front matter fields section when present
- [ ] The web UI pipeline stage cards show a "Depends on: #N, #M" badge when a story has dependencies
- [ ] Stories with no `depends_on` field show no dependency indicator (no regressions)
## Out of Scope
- Rendering the dependency status (done/not done) in the UI — only the raw list of numbers is shown
- Adding or removing dependencies via the web UI (the existing `depends` chat command handles that)
@@ -1,17 +0,0 @@
---
name: "Web UI shows project name in browser tab with huskies favicon"
---
# Story 488: Web UI shows project name in browser tab with huskies favicon
## User Story
As a user running huskies on multiple projects, I want the browser tab to show the project name (e.g. "Reclaimer") instead of the hardcoded "Huskies", and I want a huskies favicon derived from the website logo, so I can distinguish tabs and have proper branding.
## Acceptance Criteria
- [ ] TODO
## Out of Scope
- TBD
@@ -1,26 +0,0 @@
---
name: "CRDT state layer backed by SQLite"
agent: coder-opus
depends_on: [489]
---
# Story 490: CRDT state layer backed by SQLite
## User Story
As a developer, I want the BFT JSON CRDT document backed by SQLite for persistence, so CRDT ops survive restarts and the state layer is ready for multi-node sync.
## Acceptance Criteria
- [ ] BFT CRDT crate (crates/bft-json-crdt/) integrated into the server
- [ ] CRDT ops persisted to SQLite via sqlx (backend-agnostic schema)
- [ ] Pipeline state reads switch from filesystem to CRDT document
- [ ] Pipeline state writes go through CRDT ops (which persist to SQLite)
- [ ] Filesystem .huskies/work/ directories still updated as a secondary output for backwards compat during transition
- [ ] CRDT state reconstructed from SQLite on startup
- [ ] agent: coder-opus
- [ ] depends_on: [489]
## Out of Scope
- TBD
@@ -0,0 +1,34 @@
---
name: "Story dependency chain not firing due to front matter format issues"
---
# Bug 493: Story dependency chain not firing due to front matter format issues
## Description
Two issues prevent the dependency tick loop from working:
1. **create_story puts depends_on in AC text, not front matter**: When `depends_on: [489]` is passed as an acceptance criterion string, it ends up as a checkbox item (`- [ ] depends_on: [489]`) instead of YAML front matter. Stories 490, 491, 492 are affected.
2. **update_story stores depends_on as a quoted string instead of YAML array**: The `front_matter` parameter serializes `[490]` as the string `"[490]"` instead of the YAML array `[490]`. Stories 478, 479, 480 are affected — their front matter shows `depends_on: "[490]"` instead of `depends_on: [490]`.
The dependency tick loop reads `depends_on` from YAML front matter and expects an integer array. Neither format matches.
## How to Reproduce
1. Create a story with `depends_on: [489]` in acceptance criteria
2. Or use update_story with `front_matter: {"depends_on": "[490]"}`
3. Check the generated front matter
4. Observe dependency tick loop does not promote the story
## Actual Result
depends_on either missing from front matter (in AC text as checkbox) or stored as quoted string instead of YAML array.
## Expected Result
depends_on stored as a proper YAML array in front matter: `depends_on: [489]`
## Acceptance Criteria
- [ ] Bug is fixed and verified