Skip to content

docs(vbrief): rename deft-setup+interview to deft-directive-* and rewrite for vBRIEF model#351

Merged
MScottAdams merged 4 commits intophase2/vbrief-cutoverfrom
agent1/docs/314-319-setup-interview
Apr 13, 2026
Merged

docs(vbrief): rename deft-setup+interview to deft-directive-* and rewrite for vBRIEF model#351
MScottAdams merged 4 commits intophase2/vbrief-cutoverfrom
agent1/docs/314-319-setup-interview

Conversation

@MScottAdams
Copy link
Copy Markdown
Collaborator

Summary

Rename skills/deft-setup/ to skills/deft-directive-setup/ and skills/deft-interview/ to skills/deft-directive-interview/, rewriting both for the vBRIEF-centric document model (Phase 2 vBRIEF Architecture Cutover).

Key changes:

  • deft-directive-setup: Phase 2 outputs PROJECT-DEFINITION.vbrief.json (not 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; Light path creates scope vBRIEFs in vbrief/proposed/; approval gate reviews vBRIEF narratives (not PRD.md); handoff updated to deft-directive-build
  • deft-directive-interview: Adds Output Targets section documenting Full path (7 rich narrative keys) and Light path (Overview + Architecture) vBRIEF output; PRD.md no longer generated on either path; task prd:render added for optional stakeholder export
  • Updated .agents/skills/ thin pointers, all cross-skill references, 21 existing tests, and added 13 new vBRIEF-model assertions
  • Created tasks/prd.yml with task prd:render wired into Taskfile.yml

Related 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)
  • Tests pass locally (task check -- 1253 passed, 0 failed)

Post-Merge

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 13, 2026

Greptile Summary

This PR renames skills/deft-setup/skills/deft-directive-setup/ and skills/deft-interview/skills/deft-directive-interview/, rewrites both for the vBRIEF-centric document model (Phase 2 cutover), and introduces task prd:render (tasks/prd.yml + scripts/prd_render.py) for optional stakeholder PRD export. All previously flagged P0/P1 findings — missing prd_render.py, dangling deft-directive-build reference, SyntaxError injections in test_skills.py, and the stale deft-setup path in SKILL_PATHS — have been resolved in the follow-up fix commits bundled into this branch.

Confidence Score: 5/5

Safe 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

Filename Overview
CHANGELOG.md Has a duplicate entry for the #314/#319 change: the corrupt line (with commit-message garbage appended) was not deleted when the clean replacement line was added by the injection-fix commit.
scripts/prd_render.py New script for PRD export; logic is correct but BANNER hardcodes the default spec path regardless of --spec argument, producing a misleading source-of-truth comment when a custom path is passed.
tests/cli/test_prd_render.py 7 tests cover happy paths, ordering, error handling, and empty narratives; test_prd_render_footer only checks that banner strings exist in content rather than verifying footer placement at document end.
tasks/prd.yml Correctly wires task prd:render to prd_render.py with CLI_ARGS passthrough; sources/generates entries match default spec and output paths.
tests/content/test_skills.py SyntaxError injections resolved; SKILL_PATHS updated to deft-directive-* names; 13 new vBRIEF-model assertions added for sections 34-35; no remaining stale paths.
skills/deft-directive-setup/SKILL.md Complete rewrite for vBRIEF model; handoff references deft-directive-build (skill exists); Phase 3 onboarding question, rich narrative keys, light/full paths, and anti-patterns all correctly documented.
skills/deft-directive-interview/SKILL.md Output Targets section added with Full/Light path narrative keys; PRD.md correctly marked as optional export only; invocation contract (embedded vs delegation modes) present.
Taskfile.yml prd namespace correctly included as optional; no issues.

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
Loading
Prompt To Fix All With AI
This 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

Comment thread tasks/prd.yml
@MScottAdams
Copy link
Copy Markdown
Collaborator Author

@greptileai review

Comment thread skills/deft-directive-setup/SKILL.md
@MScottAdams
Copy link
Copy Markdown
Collaborator Author

Review cycle complete (2 passes).

Round 1 findings (resolved in batch commit):

  • P1: Created scripts/prd_render.py + tests/cli/test_prd_render.py (7 tests)
  • P2: Updated deft_version from 0.15.0 to 0.19.0 (4 occurrences)

Round 2 findings (out of scope):

Confidence: 4/5. All P0/P1 in-scope issues resolved. Not merging per instructions.

@MScottAdams MScottAdams force-pushed the agent1/docs/314-319-setup-interview branch from 27a6fec to 3c56897 Compare April 13, 2026 21:57
Comment thread tests/content/test_skills.py Outdated
Comment thread tests/content/test_skills.py Outdated
Comment thread tests/content/test_skills.py Outdated
…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)
@MScottAdams MScottAdams force-pushed the agent1/docs/314-319-setup-interview branch from a0540c0 to 871cef8 Compare April 13, 2026 22:24
@MScottAdams MScottAdams merged commit 93f0170 into phase2/vbrief-cutover Apr 13, 2026
2 of 3 checks passed
@MScottAdams MScottAdams deleted the agent1/docs/314-319-setup-interview branch April 13, 2026 22:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant