You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

пре 5 дана
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. ---
  2. title: '{title}'
  3. type: 'feature' # feature | bugfix | refactor | chore
  4. created: '{date}'
  5. status: 'draft' # draft | ready-for-dev | in-progress | in-review | done
  6. context: [] # optional: `{project-root}/`-prefixed paths to project-wide standards/docs the implementation agent should load. Keep short — only what isn't already distilled into the spec body.
  7. ---
  8. <!-- Target: 900–1300 tokens. Above 1600 = high risk of context rot.
  9. Never over-specify "how" — use boundaries + examples instead.
  10. Cohesive cross-layer stories (DB+BE+UI) stay in ONE file.
  11. IMPORTANT: Remove all HTML comments when filling this template. -->
  12. <frozen-after-approval reason="human-owned intent — do not modify unless human renegotiates">
  13. ## Intent
  14. <!-- What is broken or missing, and why it matters. Then the high-level approach — the "what", not the "how". -->
  15. **Problem:** ONE_TO_TWO_SENTENCES
  16. **Approach:** ONE_TO_TWO_SENTENCES
  17. ## Boundaries & Constraints
  18. <!-- Three tiers: Always = invariant rules. Ask First = human-gated decisions. Never = out of scope + forbidden approaches. -->
  19. **Always:** INVARIANT_RULES
  20. **Ask First:** DECISIONS_REQUIRING_HUMAN_APPROVAL
  21. <!-- Agent: if any of these trigger during execution, HALT and ask the user before proceeding. -->
  22. **Never:** NON_GOALS_AND_FORBIDDEN_APPROACHES
  23. ## I/O & Edge-Case Matrix
  24. <!-- If no meaningful I/O scenarios exist, DELETE THIS ENTIRE SECTION. Do not write "N/A" or "None". -->
  25. | Scenario | Input / State | Expected Output / Behavior | Error Handling |
  26. |----------|--------------|---------------------------|----------------|
  27. | HAPPY_PATH | INPUT | OUTCOME | N/A |
  28. | ERROR_CASE | INPUT | OUTCOME | ERROR_HANDLING |
  29. </frozen-after-approval>
  30. ## Code Map
  31. <!-- Agent-populated during planning. Annotated paths prevent blind codebase searching. -->
  32. - `FILE` -- ROLE_OR_RELEVANCE
  33. - `FILE` -- ROLE_OR_RELEVANCE
  34. ## Tasks & Acceptance
  35. <!-- Tasks: backtick-quoted file path -- action -- rationale. Prefer one task per file; group tightly-coupled changes when splitting would be artificial. -->
  36. <!-- If an I/O Matrix is present, include a task to unit-test its edge cases. -->
  37. <!-- AC covers system-level behaviors not captured by the I/O Matrix. Do not duplicate I/O scenarios here. -->
  38. **Execution:**
  39. - [ ] `FILE` -- ACTION -- RATIONALE
  40. **Acceptance Criteria:**
  41. - Given PRECONDITION, when ACTION, then EXPECTED_RESULT
  42. ## Spec Change Log
  43. <!-- Append-only. Populated by step-04 during review loops. Do not modify or delete existing entries.
  44. Each entry records: what finding triggered the change, what was amended, what known-bad state
  45. the amendment avoids, and any KEEP instructions (what worked well and must survive re-derivation).
  46. Empty until the first bad_spec loopback. -->
  47. ## Design Notes
  48. <!-- If the approach is straightforward, DELETE THIS ENTIRE SECTION. Do not write "N/A" or "None". -->
  49. <!-- Design rationale and golden examples only when non-obvious. Keep examples to 5–10 lines. -->
  50. DESIGN_RATIONALE_AND_EXAMPLES
  51. ## Verification
  52. <!-- If no build, test, or lint commands apply, DELETE THIS ENTIRE SECTION. Do not write "N/A" or "None". -->
  53. <!-- How the agent confirms its own work. Prefer CLI commands. When no CLI check applies, state what to inspect manually. -->
  54. **Commands:**
  55. - `COMMAND` -- expected: SUCCESS_CRITERIA
  56. **Manual checks (if no CLI):**
  57. - WHAT_TO_INSPECT_AND_EXPECTED_STATE