docs(vbrief): rename deft-setup+interview to deft-directive-* and rewrite for vBRIEF model#351
Conversation
Greptile SummaryThis PR renames Confidence Score: 5/5Safe to merge — all previously flagged P0/P1 issues are resolved and only minor P2 style findings remain. The three original blocking issues (missing prd_render.py, dangling deft-directive-build reference, SyntaxError injections in test_skills.py) were all resolved in follow-up fix commits. The remaining findings are a duplicate CHANGELOG line, a hardcoded banner path in prd_render.py, and a weak footer test — none affect runtime behaviour or test correctness. CHANGELOG.md (duplicate entry on line 15); scripts/prd_render.py (hardcoded BANNER path) Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[deft-directive-setup Phase 3] -->|Full path| B[Interview via deft-directive-interview]
A -->|Light path| C[slim narratives: Overview + Architecture]
B --> D[Write specification.vbrief.json\nplan.narratives with 7 rich keys]
C --> E[Create scope vBRIEFs\nin vbrief/proposed/]
D --> F[User reviews vBRIEF narratives\napproval gate]
F -->|Approved| G[Handoff to deft-directive-build]
F -->|Optional export| H[task prd:render\nscripts/prd_render.py]
H --> I[PRD.md\nread-only export artifact]
E --> G
Prompt To Fix All With AIThis is a comment left during a code review.
Path: CHANGELOG.md
Line: 15
Comment:
**Duplicate CHANGELOG entry with residual commit-message garbage**
The injection-fix commit (`f12603c`) added a clean replacement entry for the #314/#319 change (line 16) but did not remove the original corrupt line. Line 15 ends with the same commit subject appended twice: `...added 13 new vBRIEF-model assertions: rename deft-setup+interview to deft-directive-* and rewrite for vBRIEF model (#314, #319)): rename deft-setup+interview...`. The clean line 16 is the correct entry; line 15 should be deleted.
How can I resolve this? If you propose a fix, please make it concise.
---
This is a comment left during a code review.
Path: scripts/prd_render.py
Line: 33-36
Comment:
**BANNER hardcodes default spec path regardless of `--spec` argument**
The `BANNER` constant always embeds `vbrief/specification.vbrief.json` as the declared source of truth. When a caller passes `--spec some/other/path.json` (e.g. in tests or multi-project setups), the generated PRD's banner will still claim `vbrief/specification.vbrief.json`, which is factually incorrect. Consider computing the banner inside `render_prd` using the actual `spec_path` argument:
```python
def render_prd(spec_path: Path, output_path: Path) -> None:
banner = (
"<!-- AUTO-GENERATED by task prd:render -- DO NOT EDIT -->\n"
f"<!-- Source of truth: {spec_path} -->\n"
)
```
How can I resolve this? If you propose a fix, please make it concise.
---
This is a comment left during a code review.
Path: tests/cli/test_prd_render.py
Line: 187-195
Comment:
**`test_prd_render_footer` only verifies banner strings, not footer placement**
Both `"AUTO-GENERATED"` and `"task prd:render"` appear in the `BANNER` at the top of every generated file, so this test would pass even if the footer block were removed entirely. To actually verify a footer exists, check the tail of the document:
```python
assert content.rstrip().endswith("Do not edit directly.*")
```
How can I resolve this? If you propose a fix, please make it concise.Reviews (6): Last reviewed commit: "fix: add missing closing paren in test_d..." | Re-trigger Greptile |
|
@greptileai review |
|
Review cycle complete (2 passes). Round 1 findings (resolved in batch commit):
Round 2 findings (out of scope):
Confidence: 4/5. All P0/P1 in-scope issues resolved. Not merging per instructions. |
27a6fec to
3c56897
Compare
…rite for vBRIEF model (#314, #319) - Rename skills/deft-setup/ to skills/deft-directive-setup/ with updated SKILL.md frontmatter (name: deft-directive-setup) - Rename skills/deft-interview/ to skills/deft-directive-interview/ with updated SKILL.md frontmatter (name: deft-directive-interview) - Update .agents/skills/ thin pointers to new directory names - deft-directive-setup Phase 2 now outputs PROJECT-DEFINITION.vbrief.json instead of PROJECT.md - Phase 3 adds onboarding question (adding scope vs starting new) with repo-state-aware default - Full path writes rich narratives (ProblemStatement, Goals, UserStories, Requirements, SuccessMetrics, Architecture, Overview) to specification.vbrief.json plan.narratives - Light path creates scope vBRIEFs in vbrief/proposed/ - Approval gate reviews vBRIEF narratives (replaces PRD.md review) - PRD.md no longer generated; added task prd:render in tasks/prd.yml for optional stakeholder export - deft-directive-interview adds Output Targets section documenting Full and Light path vBRIEF output - All cross-skill references updated to deft-directive-* names - Updated 21 tests and added 13 new vBRIEF-model assertions Part of Phase 2 vBRIEF Architecture Cutover (RFC #309)
- Create scripts/prd_render.py implementation for task prd:render (P1: task definition referenced missing script) - Add tests/cli/test_prd_render.py with 7 subprocess-based tests (basic generation, banner, key ordering, missing spec, empty narratives, full path narratives, footer) - Update deft_version from 0.15.0 to 0.19.0 in skills/deft-directive-setup/SKILL.md (4 occurrences -- P2: version was stale, carried over from old skill) - Note: deft-build cross-skill reference (P2) is out of scope per PR constraints (skills/deft-build/ in do-not-touch list; tracked in Story F #315)
…ded_allocation_antipattern
a0540c0 to
871cef8
Compare
Summary
Rename
skills/deft-setup/toskills/deft-directive-setup/andskills/deft-interview/toskills/deft-directive-interview/, rewriting both for the vBRIEF-centric document model (Phase 2 vBRIEF Architecture Cutover).Key changes:
PROJECT-DEFINITION.vbrief.json(notPROJECT.md); Phase 3 adds onboarding question (adding scope vs starting new) with repo-state-aware default; Full path writes rich narratives (ProblemStatement, Goals, UserStories, Requirements, SuccessMetrics, Architecture, Overview) tospecification.vbrief.json; Light path creates scope vBRIEFs invbrief/proposed/; approval gate reviews vBRIEF narratives (not PRD.md); handoff updated to deft-directive-buildtask prd:renderadded for optional stakeholder export.agents/skills/thin pointers, all cross-skill references, 21 existing tests, and added 13 new vBRIEF-model assertionstasks/prd.ymlwithtask prd:renderwired intoTaskfile.ymlRelated Issues
Closes #314
Closes #319
Part of #309 (RFC: vBRIEF-centric document model)
Checklist
/deft:change <name>-- N/A (doc/skill rewrite per RFC RFC: vBRIEF-centric document model for Deft Directive #309 stories, <3 source files changed)CHANGELOG.md-- added entry under[Unreleased]ROADMAP.md-- N/A (ROADMAP updates happen at release time)task check-- 1253 passed, 0 failed)Post-Merge
masterrequiring CI status check (one-time setup, see Add GitHub Actions CI workflow for linting and tests on PRs and pushes #57)