@ncoderz/awa 1.8.5 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/dist/{chunk-TTXSMGB5.js → chunk-PC3PMV3K.js} +6 -3
  2. package/dist/{chunk-TTXSMGB5.js.map → chunk-PC3PMV3K.js.map} +1 -1
  3. package/dist/index.js +179 -69
  4. package/dist/index.js.map +1 -1
  5. package/dist/{renumber-T46VEDEI.js → renumber-LG6FUVOP.js} +2 -2
  6. package/package.json +1 -1
  7. package/templates/awa/.agent/skills/awa-spec-deprecate/SKILL.md +3 -0
  8. package/templates/awa/.agent/skills/awa-spec-merge/SKILL.md +3 -0
  9. package/templates/awa/.agent/skills/awa-spec-tidy/SKILL.md +3 -0
  10. package/templates/awa/.agent/workflows/awa-spec-deprecate.md +3 -0
  11. package/templates/awa/.agent/workflows/awa-spec-merge.md +3 -0
  12. package/templates/awa/.agent/workflows/awa-spec-tidy.md +3 -0
  13. package/templates/awa/.agents/skills/awa-spec-deprecate/SKILL.md +3 -0
  14. package/templates/awa/.agents/skills/awa-spec-merge/SKILL.md +3 -0
  15. package/templates/awa/.agents/skills/awa-spec-tidy/SKILL.md +3 -0
  16. package/templates/awa/.awa/.agent/schemas/DEPRECATED.schema.yaml +42 -0
  17. package/templates/awa/.claude/skills/awa-spec-deprecate/SKILL.md +3 -0
  18. package/templates/awa/.claude/skills/awa-spec-merge/SKILL.md +3 -0
  19. package/templates/awa/.claude/skills/awa-spec-tidy/SKILL.md +3 -0
  20. package/templates/awa/.codex/prompts/awa-spec-deprecate.md +3 -0
  21. package/templates/awa/.cursor/rules/awa-spec-deprecate.md +8 -0
  22. package/templates/awa/.gemini/commands/awa-spec-deprecate.md +3 -0
  23. package/templates/awa/.gemini/commands/awa-spec-merge.md +3 -0
  24. package/templates/awa/.gemini/commands/awa-spec-tidy.md +3 -0
  25. package/templates/awa/.gemini/skills/awa-spec-deprecate/SKILL.md +3 -0
  26. package/templates/awa/.gemini/skills/awa-spec-merge/SKILL.md +3 -0
  27. package/templates/awa/.gemini/skills/awa-spec-tidy/SKILL.md +3 -0
  28. package/templates/awa/.github/prompts/awa.spec-deprecate.prompt.md +8 -0
  29. package/templates/awa/.github/prompts/awa.spec-tidy.prompt.md +1 -1
  30. package/templates/awa/.github/skills/awa-spec-deprecate/SKILL.md +8 -0
  31. package/templates/awa/.github/skills/awa-spec-merge/SKILL.md +3 -0
  32. package/templates/awa/.github/skills/awa-spec-tidy/SKILL.md +3 -0
  33. package/templates/awa/.kilocode/skills/awa-spec-deprecate/SKILL.md +3 -0
  34. package/templates/awa/.kilocode/skills/awa-spec-merge/SKILL.md +3 -0
  35. package/templates/awa/.kilocode/skills/awa-spec-tidy/SKILL.md +3 -0
  36. package/templates/awa/.kilocode/workflows/awa-spec-deprecate.md +3 -0
  37. package/templates/awa/.kilocode/workflows/awa-spec-merge.md +3 -0
  38. package/templates/awa/.kilocode/{skills/spec-merge/SKILL.md → workflows/awa-spec-tidy.md} +1 -1
  39. package/templates/awa/.opencode/commands/awa-spec-deprecate.md +3 -0
  40. package/templates/awa/.opencode/commands/awa-spec-merge.md +3 -0
  41. package/templates/awa/.opencode/commands/{spec-merge.md → awa-spec-tidy.md} +1 -1
  42. package/templates/awa/.opencode/skills/awa-spec-deprecate/SKILL.md +3 -0
  43. package/templates/awa/.opencode/skills/awa-spec-merge/SKILL.md +3 -0
  44. package/templates/awa/.opencode/skills/awa-spec-tidy/SKILL.md +3 -0
  45. package/templates/awa/.qwen/commands/awa-spec-deprecate.md +3 -0
  46. package/templates/awa/.qwen/commands/awa-spec-merge.md +3 -0
  47. package/templates/awa/.qwen/commands/awa-spec-tidy.md +3 -0
  48. package/templates/awa/.qwen/skills/awa-spec-deprecate/SKILL.md +3 -0
  49. package/templates/awa/.qwen/skills/awa-spec-merge/SKILL.md +3 -0
  50. package/templates/awa/.qwen/skills/awa-spec-tidy/SKILL.md +3 -0
  51. package/templates/awa/.roo/skills/awa-spec-deprecate/SKILL.md +3 -0
  52. package/templates/awa/.roo/skills/awa-spec-merge/SKILL.md +3 -0
  53. package/templates/awa/.roo/skills/awa-spec-tidy/SKILL.md +3 -0
  54. package/templates/awa/.windsurf/skills/awa-spec-deprecate/SKILL.md +3 -0
  55. package/templates/awa/.windsurf/skills/awa-spec-merge/SKILL.md +3 -0
  56. package/templates/awa/.windsurf/skills/awa-spec-tidy/SKILL.md +3 -0
  57. package/templates/awa/_delete.txt +108 -0
  58. package/templates/awa/_partials/_cmd.awa-spec-deprecate.md +6 -0
  59. package/templates/awa/_partials/{_cmd.spec-tidy.md → _cmd.awa-spec-tidy.md} +1 -1
  60. package/templates/awa/_partials/_skill.awa-spec-deprecate.md +6 -0
  61. package/templates/awa/_partials/{_skill.spec-merge.md → _skill.awa-spec-merge.md} +1 -1
  62. package/templates/awa/_partials/{_skill.spec-tidy.md → _skill.awa-spec-tidy.md} +2 -2
  63. package/templates/awa/_partials/awa.core.md +7 -3
  64. package/templates/awa/_partials/awa.spec-deprecate.md +86 -0
  65. package/templates/awa/_partials/awa.usage.md +16 -7
  66. package/templates/awa/_tests/claude/.claude/skills/awa-spec-deprecate/SKILL.md +88 -0
  67. package/templates/awa/_tests/claude/.claude/skills/{spec-merge → awa-spec-merge}/SKILL.md +1 -1
  68. package/templates/awa/_tests/{copilot/.github/skills/spec-tidy → claude/.claude/skills/awa-spec-tidy}/SKILL.md +1 -1
  69. package/templates/awa/_tests/claude/.claude/skills/awa-usage/SKILL.md +14 -5
  70. package/templates/awa/_tests/copilot/.github/prompts/awa.spec-deprecate.prompt.md +88 -0
  71. package/templates/awa/_tests/copilot/.github/skills/awa-spec-deprecate/SKILL.md +88 -0
  72. package/templates/awa/_tests/copilot/.github/skills/{spec-merge → awa-spec-merge}/SKILL.md +1 -1
  73. package/templates/awa/_tests/{claude/.claude/skills/spec-tidy → copilot/.github/skills/awa-spec-tidy}/SKILL.md +1 -1
  74. package/templates/awa/_tests/copilot/.github/skills/awa-usage/SKILL.md +14 -5
  75. package/templates/awa/.agent/skills/spec-merge/SKILL.md +0 -3
  76. package/templates/awa/.agent/skills/spec-tidy/SKILL.md +0 -3
  77. package/templates/awa/.agent/workflows/spec-merge.md +0 -3
  78. package/templates/awa/.agent/workflows/spec-tidy.md +0 -3
  79. package/templates/awa/.agents/skills/spec-merge/SKILL.md +0 -3
  80. package/templates/awa/.agents/skills/spec-tidy/SKILL.md +0 -3
  81. package/templates/awa/.claude/skills/spec-merge/SKILL.md +0 -3
  82. package/templates/awa/.claude/skills/spec-tidy/SKILL.md +0 -3
  83. package/templates/awa/.gemini/commands/spec-merge.md +0 -3
  84. package/templates/awa/.gemini/commands/spec-tidy.md +0 -3
  85. package/templates/awa/.gemini/skills/spec-merge/SKILL.md +0 -3
  86. package/templates/awa/.gemini/skills/spec-tidy/SKILL.md +0 -3
  87. package/templates/awa/.github/skills/spec-merge/SKILL.md +0 -3
  88. package/templates/awa/.github/skills/spec-tidy/SKILL.md +0 -3
  89. package/templates/awa/.kilocode/skills/spec-tidy/SKILL.md +0 -3
  90. package/templates/awa/.kilocode/workflows/spec-merge.md +0 -3
  91. package/templates/awa/.kilocode/workflows/spec-tidy.md +0 -3
  92. package/templates/awa/.opencode/commands/spec-tidy.md +0 -3
  93. package/templates/awa/.opencode/skills/spec-merge/SKILL.md +0 -3
  94. package/templates/awa/.opencode/skills/spec-tidy/SKILL.md +0 -3
  95. package/templates/awa/.qwen/commands/spec-merge.md +0 -3
  96. package/templates/awa/.qwen/commands/spec-tidy.md +0 -3
  97. package/templates/awa/.qwen/skills/spec-merge/SKILL.md +0 -3
  98. package/templates/awa/.qwen/skills/spec-tidy/SKILL.md +0 -3
  99. package/templates/awa/.roo/skills/spec-merge/SKILL.md +0 -3
  100. package/templates/awa/.roo/skills/spec-tidy/SKILL.md +0 -3
  101. package/templates/awa/.windsurf/skills/spec-merge/SKILL.md +0 -3
  102. package/templates/awa/.windsurf/skills/spec-tidy/SKILL.md +0 -3
  103. /package/dist/{renumber-T46VEDEI.js.map → renumber-LG6FUVOP.js.map} +0 -0
  104. /package/templates/awa/_partials/{_cmd.spec-merge.md → _cmd.awa-spec-merge.md} +0 -0
  105. /package/templates/awa/_partials/{awa.spec.tidy.md → awa.spec-tidy.md} +0 -0
@@ -22,15 +22,18 @@ YOU are also an expert software architect and developer, and write specification
22
22
  │ ├── API.schema.yaml
23
23
  │ ├── TASK.schema.yaml
24
24
  │ ├── PLAN.schema.yaml
25
- │ ├── README.schema.yaml
26
- └── ALIGN_REPORT.schema.yaml
25
+ │ ├── DEPRECATED.schema.yaml
26
+ ├── ALIGN_REPORT.schema.yaml
27
+ │ └── README.schema.yaml
27
28
  ├── specs/
28
29
  │ ├── ARCHITECTURE.md
29
30
  │ ├── FEAT-{CODE}-{feature-name}.md
30
31
  │ ├── EXAMPLE-{CODE}-{feature-name}-{nnn}.md
31
32
  │ ├── REQ-{CODE}-{feature-name}.md
32
33
  │ ├── DESIGN-{CODE}-{feature-name}.md
33
- └── API-{CODE}-{api-name}.tsp
34
+ ├── API-{CODE}-{api-name}.tsp
35
+ │ └── deprecated/
36
+ │ └── DEPRECATED.md
34
37
  ├── tasks/
35
38
  │ └── TASK-{CODE}-{feature-name}-{nnn}.md
36
39
  ├── plans/
@@ -52,6 +55,7 @@ YOU are also an expert software architect and developer, and write specification
52
55
  - TASK-{CODE}-{feature-name}-{nnn}.md: Step-by-step tasks for implementing features or tasks.
53
56
  - PLAN-{nnn}-{plan-name}.md: Ad-hoc plans for vibe coding.
54
57
  - ALIGN-{x}-WITH-{y}-{nnn}.md: Report comparing alignment of x with y (e.g. code with requirements).
58
+ - deprecated/DEPRECATED.md: Tombstone file for retired spec ids.
55
59
  - rules/*.md: Rules specific to the project (e.g. Coding standards, best practices to follow).
56
60
  </file_descriptions>
57
61
 
@@ -0,0 +1,86 @@
1
+ # Deprecate Requirements
2
+
3
+ ## Bootstrap
4
+
5
+ <tool name="read_file">
6
+ <read path=".awa/.agent/awa.core.md" required="true" error="on not found" />
7
+ <read path=".awa/rules/*.md" required="true" />
8
+ <read path=".awa/specs/ARCHITECTURE.md" required="true" error="on not found" />
9
+ <read path=".awa/.agent/schemas/DEPRECATED.schema.yaml" required="true" error="on not found" />
10
+ </tool>
11
+
12
+ ## User Input
13
+
14
+ ```text
15
+ ${input}
16
+ ```
17
+
18
+ You **MUST** consider the user input before proceeding (if not empty).
19
+
20
+ ## Inputs
21
+
22
+ <file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
23
+ <file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="true" />
24
+ <file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
25
+ <file type="deprecated" path=".awa/specs/deprecated/DEPRECATED.md" required="if exists" />
26
+
27
+ ## Action
28
+
29
+ Deprecate (retire) the specified requirements, acceptance criteria, properties, or components by adding their IDs to the tombstone file and cleaning up references.
30
+
31
+ ## Process
32
+
33
+ 1. IDENTIFY IDS TO DEPRECATE
34
+ - From the user input, determine which IDs to retire (requirement IDs, AC IDs, property IDs, component names)
35
+ - Verify each ID exists in the current specs using `awa trace <ID>`
36
+ - List the IDs grouped by feature code for confirmation
37
+
38
+ 2. UPDATE TOMBSTONE FILE
39
+ - Open or create `.awa/specs/deprecated/DEPRECATED.md`
40
+ - For each feature code affected, find or create the `# {CODE}` heading
41
+ - Add the deprecated IDs under the appropriate heading, comma-separated per line
42
+ - Group logically: requirement IDs, then AC IDs, then property IDs, then component names
43
+ - Ensure the file conforms to `DEPRECATED.schema.yaml` — only bare IDs, no prose
44
+
45
+ 3. REMOVE DEPRECATED CODE (ONLY IF REQUESTED)
46
+ - If the user specifically requests it, remove deprecated code, test and markers
47
+
48
+ 4. REMOVE FROM ACTIVE SPECS
49
+ - Remove deprecated requirements and their ACs from REQ files
50
+ - Remove deprecated components and properties from DESIGN files
51
+ - Remove IMPLEMENTS/VALIDATES references to deprecated IDs from remaining design components
52
+ - If an entire spec file becomes empty after removal, delete it
53
+
54
+ 5. CLEAN UP TASKS / PLANs
55
+ - In any TASK or PLAN files, mark tasks referencing deprecated IDs as complete or remove them
56
+ - Update task IMPLEMENTS/TESTS references that point to deprecated IDs
57
+
58
+ 6. VALIDATE
59
+ - Run `awa check` to verify:
60
+ - No orphaned markers reference deprecated IDs
61
+ - No active spec reuses a deprecated ID (`deprecated-id-conflict`)
62
+ - Traceability chain is intact for remaining requirements
63
+ - Run `awa check --deprecated` to surface any stale references as warnings
64
+ - Fix any errors found
65
+
66
+ 7. REPORT
67
+ - Summarize which IDs were deprecated
68
+ - Note any code that lost markers but was left in place
69
+ - Note any remaining `deprecated-ref` warnings from `--deprecated` output
70
+
71
+ ## Outputs
72
+
73
+ <file path=".awa/specs/deprecated/DEPRECATED.md" />
74
+ - Updated REQ, DESIGN, and TASK spec files (deprecated content removed)
75
+ - Updated source and test files (stale markers removed)
76
+
77
+ ## Rules
78
+
79
+ You SHALL verify each ID exists before deprecating it.
80
+ You SHALL add every deprecated ID to the tombstone file — no ID may be lost silently.
81
+ You SHALL NOT reuse a deprecated ID for new requirements.
82
+ You SHALL NOT delete code that implements deprecated requirements — only remove traceability markers.
83
+ You SHALL run `awa check` after deprecation to verify the traceability chain is clean.
84
+ You SHALL confirm the list of IDs with the user before making changes if the scope is large (more than 5 IDs).
85
+ You SHOULD deprecate an entire requirement and all its ACs together, not individual ACs in isolation, unless the user explicitly requests partial deprecation.
86
+ You MAY use todos and tools as needed.
@@ -27,15 +27,18 @@ All spec artifacts live in `.awa/`:
27
27
  │ ├── API.schema.yaml
28
28
  │ ├── TASK.schema.yaml
29
29
  │ ├── PLAN.schema.yaml
30
- │ ├── README.schema.yaml
31
- └── ALIGN_REPORT.schema.yaml
30
+ │ ├── DEPRECATED.schema.yaml
31
+ ├── ALIGN_REPORT.schema.yaml
32
+ │ └── README.schema.yaml
32
33
  ├── specs/
33
34
  │ ├── ARCHITECTURE.md # System overview
34
35
  │ ├── FEAT-{CODE}-*.md # Feature context and motivation
35
36
  │ ├── EXAMPLE-{CODE}-*-{nnn}.md # Usage examples per feature
36
37
  │ ├── REQ-{CODE}-*.md # Requirements (EARS format)
37
38
  │ ├── DESIGN-{CODE}-*.md # Design and components
38
- └── API-{CODE}-*.tsp # TypeSpec API definitions
39
+ ├── API-{CODE}-*.tsp # TypeSpec API definitions
40
+ │ └── deprecated/
41
+ │ └── DEPRECATED.md # Tombstone file for retired spec IDs
39
42
  ├── tasks/
40
43
  │ └── TASK-{CODE}-*-{nnn}.md # Implementation steps
41
44
  ├── plans/
@@ -58,10 +61,13 @@ All spec artifacts live in `.awa/`:
58
61
  | Tasks | `TASK-{CODE}-*-{nnn}.md` | Step-by-step implementation work items |
59
62
  | Code & Tests | Source files | Implementation with traceability markers |
60
63
  | Documentation | `README.md`, `docs/` | User-facing docs |
64
+ | *(lateral)* | `EXAMPLE-{CODE}-*-{nnn}.md` | Concrete usage examples for a feature |
65
+ | *(lateral)* | `API-{CODE}-*.tsp` | TypeSpec API definitions |
66
+ | *(lateral)* | `PLAN-{nnn}-*.md` | Ad-hoc plans for vibe coding |
67
+ | *(lateral)* | `ALIGN-{x}-WITH-{y}-{nnn}.md` | Alignment reports comparing artifacts |
68
+ | *(lateral)* | `deprecated/DEPRECATED.md` | Tombstone for retired spec IDs |
61
69
 
62
- Lateral artifacts (produced at any stage): EXAMPLE, PLAN, ALIGN reports.
63
-
64
- The workflow is flexible. Start top-down (architecture → code), bottom-up (code → extract requirements), or lateral (docs, refactors, ad-hoc plans).
70
+ The workflow is flexible. Start top-down (architecture code), bottom-up (code → extract requirements), or lateral (docs, refactors, ad-hoc plans). Lateral artifacts can be produced at any stage.
65
71
 
66
72
  ## Traceability Chain
67
73
 
@@ -160,10 +166,11 @@ Check traceability chain integrity and spec schema conformance. Exit code 0 = cl
160
166
  | `--allow-warnings` | Allow warnings without failing |
161
167
  | `--spec-only` | Run only spec-level checks; skip code-to-spec traceability |
162
168
  | `--no-fix` | Skip auto-regeneration of Requirements Traceability sections and Feature Codes table |
169
+ | `--deprecated` | Surface warnings for code markers and cross-references targeting deprecated IDs |
163
170
 
164
171
  Before running checks, `awa check` auto-regenerates Requirements Traceability sections in DESIGN and TASK files, and the Feature Codes table in ARCHITECTURE.md. Use `--no-fix` to skip this.
165
172
 
166
- Checks performed: orphaned markers, uncovered ACs, broken cross-refs, invalid ID format, orphaned specs, schema validation. Config-only options: `schema-dir`, `schema-enabled`, `ignore-markers`, `spec-only`, `id-pattern`, `cross-ref-patterns`.
173
+ Checks performed: orphaned markers, uncovered ACs, broken cross-refs, invalid ID format, orphaned specs, schema validation. Config-only options: `schema-dir`, `schema-enabled`, `ignore-markers`, `id-pattern`, `cross-ref-patterns`, `extra-spec-globs`, `extra-spec-ignore`.
167
174
 
168
175
  ### awa trace
169
176
 
@@ -313,6 +320,8 @@ Create `.awa.toml` in the project root. CLI arguments always override config val
313
320
  markers = ["@awa-impl", "@awa-test", "@awa-component"]
314
321
  spec-ignore = []
315
322
  code-ignore = ["node_modules/**", "dist/**", "vendor/**", "target/**", "build/**", "out/**", ".awa/**"]
323
+ extra-spec-globs = [".awa/**/*"] # additional spec globs for schema validation
324
+ extra-spec-ignore = [".awa/.agent/**"] # patterns to exclude from extra spec scanning
316
325
  ignore-markers = []
317
326
  id-pattern = "..." # regex for valid traceability IDs
318
327
  cross-ref-patterns = ["IMPLEMENTS:", "VALIDATES:"]
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: awa-deprecate
3
+ description: Deprecate requirements by retiring IDs to the tombstone file. Use this when asked to deprecate, retire, or remove requirements, acceptance criteria, or components.
4
+ ---
5
+
6
+ # Deprecate Requirements
7
+
8
+ ## Bootstrap
9
+
10
+ <tool name="read_file">
11
+ <read path=".awa/.agent/awa.core.md" required="true" error="on not found" />
12
+ <read path=".awa/rules/*.md" required="true" />
13
+ <read path=".awa/specs/ARCHITECTURE.md" required="true" error="on not found" />
14
+ <read path=".awa/.agent/schemas/DEPRECATED.schema.yaml" required="true" error="on not found" />
15
+ </tool>
16
+
17
+ ## User Input
18
+
19
+ ```text
20
+ ${input}
21
+ ```
22
+
23
+ You **MUST** consider the user input before proceeding (if not empty).
24
+
25
+ ## Inputs
26
+
27
+ <file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
28
+ <file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="true" />
29
+ <file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
30
+ <file type="deprecated" path=".awa/specs/deprecated/DEPRECATED.md" required="if exists" />
31
+
32
+ ## Action
33
+
34
+ Deprecate (retire) the specified requirements, acceptance criteria, properties, or components by adding their IDs to the tombstone file and cleaning up references.
35
+
36
+ ## Process
37
+
38
+ 1. IDENTIFY IDS TO DEPRECATE
39
+ - From the user input, determine which IDs to retire (requirement IDs, AC IDs, property IDs, component names)
40
+ - Verify each ID exists in the current specs using `awa trace <ID>`
41
+ - List the IDs grouped by feature code for confirmation
42
+
43
+ 2. UPDATE TOMBSTONE FILE
44
+ - Open or create `.awa/specs/deprecated/DEPRECATED.md`
45
+ - For each feature code affected, find or create the `# {CODE}` heading
46
+ - Add the deprecated IDs under the appropriate heading, comma-separated per line
47
+ - Group logically: requirement IDs, then AC IDs, then property IDs, then component names
48
+ - Ensure the file conforms to `DEPRECATED.schema.yaml` — only bare IDs, no prose
49
+
50
+ 3. REMOVE FROM ACTIVE SPECS
51
+ - Remove deprecated requirements and their ACs from REQ files
52
+ - Remove deprecated components and properties from DESIGN files
53
+ - Remove IMPLEMENTS/VALIDATES references to deprecated IDs from remaining design components
54
+ - If an entire spec file becomes empty after removal, delete it
55
+
56
+ 4. CLEAN UP TASKS / PLANs
57
+ - In any TASK or PLAN files, mark tasks referencing deprecated IDs as complete or remove them
58
+ - Update task IMPLEMENTS/TESTS references that point to deprecated IDs
59
+
60
+ 5. VALIDATE
61
+ - Run `awa check` to verify:
62
+ - No orphaned markers reference deprecated IDs
63
+ - No active spec reuses a deprecated ID (`deprecated-id-conflict`)
64
+ - Traceability chain is intact for remaining requirements
65
+ - Run `awa check --deprecated` to surface any stale references as warnings
66
+ - Fix any errors found
67
+
68
+ 6. REPORT
69
+ - Summarize which IDs were deprecated
70
+ - Note any code that lost markers but was left in place
71
+ - Note any remaining `deprecated-ref` warnings from `--deprecated` output
72
+
73
+ ## Outputs
74
+
75
+ <file path=".awa/specs/deprecated/DEPRECATED.md" />
76
+ - Updated REQ, DESIGN, and TASK spec files (deprecated content removed)
77
+ - Updated source and test files (stale markers removed)
78
+
79
+ ## Rules
80
+
81
+ You SHALL verify each ID exists before deprecating it.
82
+ You SHALL add every deprecated ID to the tombstone file — no ID may be lost silently.
83
+ You SHALL NOT reuse a deprecated ID for new requirements.
84
+ You SHALL NOT delete code that implements deprecated requirements — only remove traceability markers.
85
+ You SHALL run `awa check` after deprecation to verify the traceability chain is clean.
86
+ You SHALL confirm the list of IDs with the user before making changes if the scope is large (more than 5 IDs).
87
+ You SHOULD deprecate an entire requirement and all its ACs together, not individual ACs in isolation, unless the user explicitly requests partial deprecation.
88
+ You MAY use todos and tools as needed.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: spec-merge
2
+ name: awa-spec-merge
3
3
  description: Merge two feature codes into one. Use this when asked to combine, merge, or consolidate feature codes.
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: spec-tidy
2
+ name: awa-spec-tidy
3
3
  description: Tidy and reorganise the specifications logically. Use this when asked to tidy or reorganise the specifications.
4
4
  ---
5
5
 
@@ -32,6 +32,7 @@ All spec artifacts live in `.awa/`:
32
32
  │ ├── API.schema.yaml
33
33
  │ ├── TASK.schema.yaml
34
34
  │ ├── PLAN.schema.yaml
35
+ │ ├── DEPRECATED.schema.yaml
35
36
  │ ├── README.schema.yaml
36
37
  │ └── ALIGN_REPORT.schema.yaml
37
38
  ├── specs/
@@ -40,7 +41,9 @@ All spec artifacts live in `.awa/`:
40
41
  │ ├── EXAMPLE-{CODE}-*-{nnn}.md # Usage examples per feature
41
42
  │ ├── REQ-{CODE}-*.md # Requirements (EARS format)
42
43
  │ ├── DESIGN-{CODE}-*.md # Design and components
43
- └── API-{CODE}-*.tsp # TypeSpec API definitions
44
+ ├── API-{CODE}-*.tsp # TypeSpec API definitions
45
+ │ └── deprecated/
46
+ │ └── DEPRECATED.md # Tombstone file for retired spec IDs
44
47
  ├── tasks/
45
48
  │ └── TASK-{CODE}-*-{nnn}.md # Implementation steps
46
49
  ├── plans/
@@ -63,10 +66,13 @@ All spec artifacts live in `.awa/`:
63
66
  | Tasks | `TASK-{CODE}-*-{nnn}.md` | Step-by-step implementation work items |
64
67
  | Code & Tests | Source files | Implementation with traceability markers |
65
68
  | Documentation | `README.md`, `docs/` | User-facing docs |
69
+ | *(lateral)* | `EXAMPLE-{CODE}-*-{nnn}.md` | Concrete usage examples for a feature |
70
+ | *(lateral)* | `API-{CODE}-*.tsp` | TypeSpec API definitions |
71
+ | *(lateral)* | `PLAN-{nnn}-*.md` | Ad-hoc plans for vibe coding |
72
+ | *(lateral)* | `ALIGN-{x}-WITH-{y}-{nnn}.md` | Alignment reports comparing artifacts |
73
+ | *(lateral)* | `deprecated/DEPRECATED.md` | Tombstone for retired spec IDs — prevents reuse, `--deprecated` flags stale refs |
66
74
 
67
- Lateral artifacts (produced at any stage): EXAMPLE, PLAN, ALIGN reports.
68
-
69
- The workflow is flexible. Start top-down (architecture → code), bottom-up (code → extract requirements), or lateral (docs, refactors, ad-hoc plans).
75
+ The workflow is flexible. Start top-down (architecture code), bottom-up (code → extract requirements), or lateral (docs, refactors, ad-hoc plans). Lateral artifacts can be produced at any stage.
70
76
 
71
77
  ## Traceability Chain
72
78
 
@@ -165,10 +171,11 @@ Check traceability chain integrity and spec schema conformance. Exit code 0 = cl
165
171
  | `--allow-warnings` | Allow warnings without failing |
166
172
  | `--spec-only` | Run only spec-level checks; skip code-to-spec traceability |
167
173
  | `--no-fix` | Skip auto-regeneration of Requirements Traceability sections and Feature Codes table |
174
+ | `--deprecated` | Surface warnings for code markers and cross-references targeting deprecated IDs |
168
175
 
169
176
  Before running checks, `awa check` auto-regenerates Requirements Traceability sections in DESIGN and TASK files, and the Feature Codes table in ARCHITECTURE.md. Use `--no-fix` to skip this.
170
177
 
171
- Checks performed: orphaned markers, uncovered ACs, broken cross-refs, invalid ID format, orphaned specs, schema validation. Config-only options: `schema-dir`, `schema-enabled`, `ignore-markers`, `spec-only`, `id-pattern`, `cross-ref-patterns`.
178
+ Checks performed: orphaned markers, uncovered ACs, broken cross-refs, invalid ID format, orphaned specs, schema validation. Config-only options: `schema-dir`, `schema-enabled`, `ignore-markers`, `id-pattern`, `cross-ref-patterns`, `extra-spec-globs`, `extra-spec-ignore`.
172
179
 
173
180
  ### awa trace
174
181
 
@@ -315,6 +322,8 @@ Create `.awa.toml` in the project root. CLI arguments always override config val
315
322
  markers = ["@awa-impl", "@awa-test", "@awa-component"]
316
323
  spec-ignore = []
317
324
  code-ignore = ["node_modules/**", "dist/**", "vendor/**", "target/**", "build/**", "out/**", ".awa/**"]
325
+ extra-spec-globs = [".awa/**/*"] # additional spec globs for schema validation
326
+ extra-spec-ignore = [".awa/.agent/**"] # patterns to exclude from extra spec scanning
318
327
  ignore-markers = []
319
328
  id-pattern = "..." # regex for valid traceability IDs
320
329
  cross-ref-patterns = ["IMPLEMENTS:", "VALIDATES:"]
@@ -0,0 +1,88 @@
1
+ ---
2
+ description: Deprecate requirements by retiring IDs to the tombstone file
3
+ argument-hint: "<IDs or description of what to deprecate>"
4
+ ---
5
+
6
+ # Deprecate Requirements
7
+
8
+ ## Bootstrap
9
+
10
+ <tool name="read_file">
11
+ <read path=".awa/.agent/awa.core.md" required="true" error="on not found" />
12
+ <read path=".awa/rules/*.md" required="true" />
13
+ <read path=".awa/specs/ARCHITECTURE.md" required="true" error="on not found" />
14
+ <read path=".awa/.agent/schemas/DEPRECATED.schema.yaml" required="true" error="on not found" />
15
+ </tool>
16
+
17
+ ## User Input
18
+
19
+ ```text
20
+ ${input}
21
+ ```
22
+
23
+ You **MUST** consider the user input before proceeding (if not empty).
24
+
25
+ ## Inputs
26
+
27
+ <file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
28
+ <file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="true" />
29
+ <file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
30
+ <file type="deprecated" path=".awa/specs/deprecated/DEPRECATED.md" required="if exists" />
31
+
32
+ ## Action
33
+
34
+ Deprecate (retire) the specified requirements, acceptance criteria, properties, or components by adding their IDs to the tombstone file and cleaning up references.
35
+
36
+ ## Process
37
+
38
+ 1. IDENTIFY IDS TO DEPRECATE
39
+ - From the user input, determine which IDs to retire (requirement IDs, AC IDs, property IDs, component names)
40
+ - Verify each ID exists in the current specs using `awa trace <ID>`
41
+ - List the IDs grouped by feature code for confirmation
42
+
43
+ 2. UPDATE TOMBSTONE FILE
44
+ - Open or create `.awa/specs/deprecated/DEPRECATED.md`
45
+ - For each feature code affected, find or create the `# {CODE}` heading
46
+ - Add the deprecated IDs under the appropriate heading, comma-separated per line
47
+ - Group logically: requirement IDs, then AC IDs, then property IDs, then component names
48
+ - Ensure the file conforms to `DEPRECATED.schema.yaml` — only bare IDs, no prose
49
+
50
+ 3. REMOVE FROM ACTIVE SPECS
51
+ - Remove deprecated requirements and their ACs from REQ files
52
+ - Remove deprecated components and properties from DESIGN files
53
+ - Remove IMPLEMENTS/VALIDATES references to deprecated IDs from remaining design components
54
+ - If an entire spec file becomes empty after removal, delete it
55
+
56
+ 4. CLEAN UP TASKS / PLANs
57
+ - In any TASK or PLAN files, mark tasks referencing deprecated IDs as complete or remove them
58
+ - Update task IMPLEMENTS/TESTS references that point to deprecated IDs
59
+
60
+ 5. VALIDATE
61
+ - Run `awa check` to verify:
62
+ - No orphaned markers reference deprecated IDs
63
+ - No active spec reuses a deprecated ID (`deprecated-id-conflict`)
64
+ - Traceability chain is intact for remaining requirements
65
+ - Run `awa check --deprecated` to surface any stale references as warnings
66
+ - Fix any errors found
67
+
68
+ 6. REPORT
69
+ - Summarize which IDs were deprecated
70
+ - Note any code that lost markers but was left in place
71
+ - Note any remaining `deprecated-ref` warnings from `--deprecated` output
72
+
73
+ ## Outputs
74
+
75
+ <file path=".awa/specs/deprecated/DEPRECATED.md" />
76
+ - Updated REQ, DESIGN, and TASK spec files (deprecated content removed)
77
+ - Updated source and test files (stale markers removed)
78
+
79
+ ## Rules
80
+
81
+ You SHALL verify each ID exists before deprecating it.
82
+ You SHALL add every deprecated ID to the tombstone file — no ID may be lost silently.
83
+ You SHALL NOT reuse a deprecated ID for new requirements.
84
+ You SHALL NOT delete code that implements deprecated requirements — only remove traceability markers.
85
+ You SHALL run `awa check` after deprecation to verify the traceability chain is clean.
86
+ You SHALL confirm the list of IDs with the user before making changes if the scope is large (more than 5 IDs).
87
+ You SHOULD deprecate an entire requirement and all its ACs together, not individual ACs in isolation, unless the user explicitly requests partial deprecation.
88
+ You MAY use todos and tools as needed.
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: awa-deprecate
3
+ description: Deprecate requirements by retiring IDs to the tombstone file. Use this when asked to deprecate, retire, or remove requirements, acceptance criteria, or components.
4
+ ---
5
+
6
+ # Deprecate Requirements
7
+
8
+ ## Bootstrap
9
+
10
+ <tool name="read_file">
11
+ <read path=".awa/.agent/awa.core.md" required="true" error="on not found" />
12
+ <read path=".awa/rules/*.md" required="true" />
13
+ <read path=".awa/specs/ARCHITECTURE.md" required="true" error="on not found" />
14
+ <read path=".awa/.agent/schemas/DEPRECATED.schema.yaml" required="true" error="on not found" />
15
+ </tool>
16
+
17
+ ## User Input
18
+
19
+ ```text
20
+ ${input}
21
+ ```
22
+
23
+ You **MUST** consider the user input before proceeding (if not empty).
24
+
25
+ ## Inputs
26
+
27
+ <file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
28
+ <file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="true" />
29
+ <file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
30
+ <file type="deprecated" path=".awa/specs/deprecated/DEPRECATED.md" required="if exists" />
31
+
32
+ ## Action
33
+
34
+ Deprecate (retire) the specified requirements, acceptance criteria, properties, or components by adding their IDs to the tombstone file and cleaning up references.
35
+
36
+ ## Process
37
+
38
+ 1. IDENTIFY IDS TO DEPRECATE
39
+ - From the user input, determine which IDs to retire (requirement IDs, AC IDs, property IDs, component names)
40
+ - Verify each ID exists in the current specs using `awa trace <ID>`
41
+ - List the IDs grouped by feature code for confirmation
42
+
43
+ 2. UPDATE TOMBSTONE FILE
44
+ - Open or create `.awa/specs/deprecated/DEPRECATED.md`
45
+ - For each feature code affected, find or create the `# {CODE}` heading
46
+ - Add the deprecated IDs under the appropriate heading, comma-separated per line
47
+ - Group logically: requirement IDs, then AC IDs, then property IDs, then component names
48
+ - Ensure the file conforms to `DEPRECATED.schema.yaml` — only bare IDs, no prose
49
+
50
+ 3. REMOVE FROM ACTIVE SPECS
51
+ - Remove deprecated requirements and their ACs from REQ files
52
+ - Remove deprecated components and properties from DESIGN files
53
+ - Remove IMPLEMENTS/VALIDATES references to deprecated IDs from remaining design components
54
+ - If an entire spec file becomes empty after removal, delete it
55
+
56
+ 4. CLEAN UP TASKS / PLANs
57
+ - In any TASK or PLAN files, mark tasks referencing deprecated IDs as complete or remove them
58
+ - Update task IMPLEMENTS/TESTS references that point to deprecated IDs
59
+
60
+ 5. VALIDATE
61
+ - Run `awa check` to verify:
62
+ - No orphaned markers reference deprecated IDs
63
+ - No active spec reuses a deprecated ID (`deprecated-id-conflict`)
64
+ - Traceability chain is intact for remaining requirements
65
+ - Run `awa check --deprecated` to surface any stale references as warnings
66
+ - Fix any errors found
67
+
68
+ 6. REPORT
69
+ - Summarize which IDs were deprecated
70
+ - Note any code that lost markers but was left in place
71
+ - Note any remaining `deprecated-ref` warnings from `--deprecated` output
72
+
73
+ ## Outputs
74
+
75
+ <file path=".awa/specs/deprecated/DEPRECATED.md" />
76
+ - Updated REQ, DESIGN, and TASK spec files (deprecated content removed)
77
+ - Updated source and test files (stale markers removed)
78
+
79
+ ## Rules
80
+
81
+ You SHALL verify each ID exists before deprecating it.
82
+ You SHALL add every deprecated ID to the tombstone file — no ID may be lost silently.
83
+ You SHALL NOT reuse a deprecated ID for new requirements.
84
+ You SHALL NOT delete code that implements deprecated requirements — only remove traceability markers.
85
+ You SHALL run `awa check` after deprecation to verify the traceability chain is clean.
86
+ You SHALL confirm the list of IDs with the user before making changes if the scope is large (more than 5 IDs).
87
+ You SHOULD deprecate an entire requirement and all its ACs together, not individual ACs in isolation, unless the user explicitly requests partial deprecation.
88
+ You MAY use todos and tools as needed.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: spec-merge
2
+ name: awa-spec-merge
3
3
  description: Merge two feature codes into one. Use this when asked to combine, merge, or consolidate feature codes.
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: spec-tidy
2
+ name: awa-spec-tidy
3
3
  description: Tidy and reorganise the specifications logically. Use this when asked to tidy or reorganise the specifications.
4
4
  ---
5
5
 
@@ -32,6 +32,7 @@ All spec artifacts live in `.awa/`:
32
32
  │ ├── API.schema.yaml
33
33
  │ ├── TASK.schema.yaml
34
34
  │ ├── PLAN.schema.yaml
35
+ │ ├── DEPRECATED.schema.yaml
35
36
  │ ├── README.schema.yaml
36
37
  │ └── ALIGN_REPORT.schema.yaml
37
38
  ├── specs/
@@ -40,7 +41,9 @@ All spec artifacts live in `.awa/`:
40
41
  │ ├── EXAMPLE-{CODE}-*-{nnn}.md # Usage examples per feature
41
42
  │ ├── REQ-{CODE}-*.md # Requirements (EARS format)
42
43
  │ ├── DESIGN-{CODE}-*.md # Design and components
43
- └── API-{CODE}-*.tsp # TypeSpec API definitions
44
+ ├── API-{CODE}-*.tsp # TypeSpec API definitions
45
+ │ └── deprecated/
46
+ │ └── DEPRECATED.md # Tombstone file for retired spec IDs
44
47
  ├── tasks/
45
48
  │ └── TASK-{CODE}-*-{nnn}.md # Implementation steps
46
49
  ├── plans/
@@ -63,10 +66,13 @@ All spec artifacts live in `.awa/`:
63
66
  | Tasks | `TASK-{CODE}-*-{nnn}.md` | Step-by-step implementation work items |
64
67
  | Code & Tests | Source files | Implementation with traceability markers |
65
68
  | Documentation | `README.md`, `docs/` | User-facing docs |
69
+ | *(lateral)* | `EXAMPLE-{CODE}-*-{nnn}.md` | Concrete usage examples for a feature |
70
+ | *(lateral)* | `API-{CODE}-*.tsp` | TypeSpec API definitions |
71
+ | *(lateral)* | `PLAN-{nnn}-*.md` | Ad-hoc plans for vibe coding |
72
+ | *(lateral)* | `ALIGN-{x}-WITH-{y}-{nnn}.md` | Alignment reports comparing artifacts |
73
+ | *(lateral)* | `deprecated/DEPRECATED.md` | Tombstone for retired spec IDs — prevents reuse, `--deprecated` flags stale refs |
66
74
 
67
- Lateral artifacts (produced at any stage): EXAMPLE, PLAN, ALIGN reports.
68
-
69
- The workflow is flexible. Start top-down (architecture → code), bottom-up (code → extract requirements), or lateral (docs, refactors, ad-hoc plans).
75
+ The workflow is flexible. Start top-down (architecture code), bottom-up (code → extract requirements), or lateral (docs, refactors, ad-hoc plans). Lateral artifacts can be produced at any stage.
70
76
 
71
77
  ## Traceability Chain
72
78
 
@@ -165,10 +171,11 @@ Check traceability chain integrity and spec schema conformance. Exit code 0 = cl
165
171
  | `--allow-warnings` | Allow warnings without failing |
166
172
  | `--spec-only` | Run only spec-level checks; skip code-to-spec traceability |
167
173
  | `--no-fix` | Skip auto-regeneration of Requirements Traceability sections and Feature Codes table |
174
+ | `--deprecated` | Surface warnings for code markers and cross-references targeting deprecated IDs |
168
175
 
169
176
  Before running checks, `awa check` auto-regenerates Requirements Traceability sections in DESIGN and TASK files, and the Feature Codes table in ARCHITECTURE.md. Use `--no-fix` to skip this.
170
177
 
171
- Checks performed: orphaned markers, uncovered ACs, broken cross-refs, invalid ID format, orphaned specs, schema validation. Config-only options: `schema-dir`, `schema-enabled`, `ignore-markers`, `spec-only`, `id-pattern`, `cross-ref-patterns`.
178
+ Checks performed: orphaned markers, uncovered ACs, broken cross-refs, invalid ID format, orphaned specs, schema validation. Config-only options: `schema-dir`, `schema-enabled`, `ignore-markers`, `id-pattern`, `cross-ref-patterns`, `extra-spec-globs`, `extra-spec-ignore`.
172
179
 
173
180
  ### awa trace
174
181
 
@@ -315,6 +322,8 @@ Create `.awa.toml` in the project root. CLI arguments always override config val
315
322
  markers = ["@awa-impl", "@awa-test", "@awa-component"]
316
323
  spec-ignore = []
317
324
  code-ignore = ["node_modules/**", "dist/**", "vendor/**", "target/**", "build/**", "out/**", ".awa/**"]
325
+ extra-spec-globs = [".awa/**/*"] # additional spec globs for schema validation
326
+ extra-spec-ignore = [".awa/.agent/**"] # patterns to exclude from extra spec scanning
318
327
  ignore-markers = []
319
328
  id-pattern = "..." # regex for valid traceability IDs
320
329
  cross-ref-patterns = ["IMPLEMENTS:", "VALIDATES:"]
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('agy')) { %>
2
- <%~ include('_partials/_skill.spec-merge.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('agy')) { %>
2
- <%~ include('_partials/_skill.spec-tidy.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('agy')) { %>
2
- <%~ include('_partials/_cmd.spec-merge.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('agy')) { %>
2
- <%~ include('_partials/_cmd.spec-tidy.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('codex')) { %>
2
- <%~ include('_partials/_skill.spec-merge.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('codex')) { %>
2
- <%~ include('_partials/_skill.spec-tidy.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('claude')) { %>
2
- <%~ include('_partials/_skill.spec-merge.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('claude')) { %>
2
- <%~ include('_partials/_skill.spec-tidy.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('gemini')) { %>
2
- <%~ include('_partials/_cmd.spec-merge.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('gemini')) { %>
2
- <%~ include('_partials/_cmd.spec-tidy.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('gemini')) { %>
2
- <%~ include('_partials/_skill.spec-merge.md', it) %>
3
- <% } %>