feat(skill): add deft_version field to deft-setup artifact templates (#270)#277
Conversation
Greptile SummaryThis PR implements spec task t3.2.1 by adding a Confidence Score: 5/5Safe to merge — all remaining findings are P2 style suggestions with no impact on current correctness. The feature is correctly implemented: both templates now carry the deft_version field, the Freshness Detection rules cover the expected cases, the four new tests pass, and CHANGELOG/SPECIFICATION are properly updated. The only open finding is a P2 maintenance note about four hard-coded version strings that must stay in sync on future bumps — not a current defect. skills/deft-setup/SKILL.md — four hard-coded version strings to keep in sync on future version bumps. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[deft-setup: existing USER.md found] --> B{Check deft_version}
B -->|missing| C[Rule 1: Treat as stale]
B -->|present, differs from 0.15.0| D[Rule 2: Check for missing fields]
B -->|matches 0.15.0 + all fields present| E[Rule 5: USER.md is fresh — skip Phase 1]
C --> F{Fields missing?}
D --> F
F -->|yes| G[Rule 3: Query user for each missing field individually]
F -->|no — none needed| H[Rule 4: Write deft_version 0.15.0 to USER.md]
G --> H
H --> I[Continue to Phase 2]
E --> I
Prompt To Fix All With AIThis is a comment left during a code review.
Path: skills/deft-setup/SKILL.md
Line: 93-101
Comment:
**Version string duplicated in four places**
`0.15.0` is hard-coded in four separate locations — rule 2 (comparison value), rule 4 (write value), the USER.md template, and the PROJECT.md template. If any of these drift during a version bump, freshness detection breaks silently: a template that stamps `0.16.0` while rule 2 still compares against `0.15.0` will flag every newly-generated file as immediately stale; the reverse drift causes migration to never trigger. Consider adding a comment pinpointing all four locations so future version bumps are updated atomically.
How can I resolve this? If you propose a fix, please make it concise.Reviews (3): Last reviewed commit: "fix: address Greptile review findings (b..." | Re-trigger Greptile |
af2928a to
3e2669a
Compare
|
rebase-only onto master (post-#276 merge) -- no logic changes |
…270) - USER.md and PROJECT.md templates now include deft_version field - Returning session: detect stale USER.md via missing/outdated deft_version - Missing fields queried individually -- no full re-interview on partial staleness - ! rule: always set deft_version when generating or updating USER.md/PROJECT.md - tests/content/test_skills.py: 4 new tests for versioning behavior
- Decouple version-write step from field-update step in Freshness Detection - Rule 4 now fires whenever deft_version is missing/outdated, regardless of whether any fields needed updating (fixes stale version for pre-versioning users)
3e2669a to
359cd0e
Compare
Summary
Add
deft_versionfield to deft-setup artifact templates (USER.md and PROJECT.md) and implement stale USER.md detection via version field comparison.Implements spec task t3.2.1 -- Validate USER.md against current schema + artifact format versioning (#270).
Changes
skills/deft-setup/SKILL.md
**deft_version**: 0.15.0after the legend line**deft_version**: 0.15.0after the legend line### USER.md Freshness Detectionsubsection -- detects stale USER.md via missing/outdateddeft_version, queries missing fields individually (no full re-interview), writes current version after migration!rule in Anti-Patterns requiringdeft_versionon every generate/update; corresponding anti-pattern against omitting ittests/content/test_skills.py
!rule for deft_versionSPECIFICATION.md
[pending]to[completed]CHANGELOG.md
[Unreleased]Checklist
task checkpasses (95/95 skill tests pass; pre-existing Windows teardown issue unrelated)Closes #270