ai-core-framework 0.2.0 → 0.3.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.
- package/README.md +8 -8
- package/agents/business-analyst.md +6 -6
- package/agents/developer.md +2 -2
- package/agents/qa-tester.md +3 -3
- package/agents/scrum-master.md +9 -9
- package/agents/tech-lead.md +4 -4
- package/{config → docs/config}/backlog.schema.json +1 -1
- package/{config → docs/config}/release.schema.json +1 -1
- package/{config → docs/config}/ticket.schema.json +1 -1
- package/lib/install-codex.js +1 -1
- package/package.json +2 -2
- package/rules/00-global-rules.md +13 -13
- package/rules/02-code-quality.md +1 -1
- package/rules/05-testing-mandatory.md +2 -2
- package/rules/06-approval-gates.md +2 -2
- package/rules/08-definition-of-done.md +1 -1
- package/scripts/ai-core.sh +8 -8
- package/scripts/generate-views.sh +2 -2
- package/scripts/log-user-request.sh +2 -2
- package/scripts/setup-project.sh +18 -18
- package/scripts/sync-platforms.sh +2 -2
- package/scripts/validate-audit-log.sh +1 -1
- package/scripts/validate-docs.sh +6 -6
- package/scripts/validate-permissions.sh +2 -2
- package/scripts/validate-state.sh +5 -5
- package/scripts/workflow.sh +9 -9
- package/skills/brainstorming/SKILL.md +1 -1
- package/skills/development-implement-task/SKILL.md +5 -5
- package/skills/meta-generate-views/SKILL.md +8 -8
- package/skills/meta-request-log/SKILL.md +4 -4
- package/skills/meta-sprint-report/SKILL.md +2 -2
- package/skills/meta-ticket-health/SKILL.md +1 -1
- package/skills/meta-validate-audit-log/SKILL.md +1 -1
- package/skills/meta-validate-permissions/SKILL.md +1 -1
- package/skills/meta-validate-state/SKILL.md +3 -3
- package/skills/planning-analyze-requirements/SKILL.md +8 -8
- package/skills/planning-backlog-status/SKILL.md +6 -6
- package/skills/planning-groom-ticket/SKILL.md +4 -4
- package/skills/planning-mark-ready/SKILL.md +2 -2
- package/skills/planning-plan-refactor/SKILL.md +3 -3
- package/skills/planning-plan-sprint/SKILL.md +4 -4
- package/skills/planning-prioritize-backlog/SKILL.md +2 -2
- package/skills/planning-write-plan/SKILL.md +1 -1
- package/skills/project-detect-stack/SKILL.md +1 -1
- package/skills/project-discover-codebase/SKILL.md +2 -2
- package/skills/project-setup-project/SKILL.md +10 -10
- package/skills/qa-bug-status/SKILL.md +1 -1
- package/skills/qa-report-bug/SKILL.md +7 -7
- package/skills/qa-smoke-test/SKILL.md +3 -3
- package/skills/qa-verify-fix/SKILL.md +3 -3
- package/skills/release-hotfix/SKILL.md +2 -2
- package/skills/release-release/SKILL.md +2 -2
- package/skills/release-rollback/SKILL.md +1 -1
- package/skills/review-create-pr/SKILL.md +2 -2
- package/skills/review-merge-pr/SKILL.md +1 -1
- package/skills/using-ai-core/SKILL.md +5 -4
- package/skills/verification-before-done/SKILL.md +1 -1
- package/templates/ci/ai-core-governance.yml +11 -11
- package/templates/pr/pull-request-template.md +1 -1
- package/templates/project/CODEOWNERS +2 -2
- package/templates/project/docs-policy.json +1 -1
- package/templates/project/project-structure.yaml +20 -20
- package/templates/qa/bug-report-template.md +1 -1
- package/templates/requirements/user-story-template.md +1 -1
- package/workflows/bug-lifecycle.md +3 -3
- package/workflows/feature-lifecycle.md +2 -2
- package/workflows/sprint-lifecycle.md +2 -2
- /package/{config → docs/config}/docs-policy.default.json +0 -0
|
@@ -79,7 +79,7 @@ curl -sf --max-time 10 "$STAGING_URL/health" || ABORT "Staging not responding"
|
|
|
79
79
|
Check build version matches expected:
|
|
80
80
|
```bash
|
|
81
81
|
deployed_commit=$(curl -s "$STAGING_URL/version" | jq -r .commit)
|
|
82
|
-
expected_commit=$(cat project/tickets/${TICKET_ID}.json | jq -r .merge_info.merge_commit_sha)
|
|
82
|
+
expected_commit=$(cat docs/runtime/project/tickets/${TICKET_ID}.json | jq -r .merge_info.merge_commit_sha)
|
|
83
83
|
# Verify deployed >= expected
|
|
84
84
|
```
|
|
85
85
|
|
|
@@ -145,7 +145,7 @@ Required test accounts / test data exist. If not, setup before testing.
|
|
|
145
145
|
│ → File separate regression bug (own ticket) │
|
|
146
146
|
├──────────────────────────────────────────────────────────┤
|
|
147
147
|
│ STEP 9: Generate report │
|
|
148
|
-
│ Save to: project/test-runs/TICKET-XXX-YYYYMMDD.md│
|
|
148
|
+
│ Save to: docs/runtime/project/test-runs/TICKET-XXX-YYYYMMDD.md│
|
|
149
149
|
├──────────────────────────────────────────────────────────┤
|
|
150
150
|
│ STEP 10: Handoff │
|
|
151
151
|
│ Pass → scrum-master (ready for release) │
|
|
@@ -261,7 +261,7 @@ None 🎉
|
|
|
261
261
|
Ticket state: QA → DONE ✅
|
|
262
262
|
|
|
263
263
|
### Test Run Record
|
|
264
|
-
Saved to: `project/test-runs/TICKET-042-20260418.md`
|
|
264
|
+
Saved to: `docs/runtime/project/test-runs/TICKET-042-20260418.md`
|
|
265
265
|
|
|
266
266
|
---
|
|
267
267
|
HANDOFF → scrum-master
|
|
@@ -54,7 +54,7 @@ After developer claims the bug is fixed and PR is merged + deployed:
|
|
|
54
54
|
|
|
55
55
|
### 1. Bug exists + in correct state
|
|
56
56
|
```bash
|
|
57
|
-
bug_status=$(cat project/bugs/${BUG_ID}.json | jq -r .status)
|
|
57
|
+
bug_status=$(cat docs/runtime/project/bugs/${BUG_ID}.json | jq -r .status)
|
|
58
58
|
[ "$bug_status" = "FIXED" ] || [ "$bug_status" = "READY_FOR_QA" ] || ABORT
|
|
59
59
|
```
|
|
60
60
|
|
|
@@ -141,7 +141,7 @@ Check linked PR is merged (not still open).
|
|
|
141
141
|
│ → HANDOFF → developer │
|
|
142
142
|
├──────────────────────────────────────────────────────────┤
|
|
143
143
|
│ STEP 9: Generate report │
|
|
144
|
-
│ Save to: project/verifications/BUG-XXX-YYYYMMDD.md│
|
|
144
|
+
│ Save to: docs/runtime/project/verifications/BUG-XXX-YYYYMMDD.md│
|
|
145
145
|
├──────────────────────────────────────────────────────────┤
|
|
146
146
|
│ STEP 10: Update bug state + notify │
|
|
147
147
|
└──────────────────────────────────────────────────────────┘
|
|
@@ -267,7 +267,7 @@ Bug status: FIXED → VERIFIED
|
|
|
267
267
|
- BUG-004 (email HTML rendering): Still open, separate fix
|
|
268
268
|
|
|
269
269
|
### Verification Record
|
|
270
|
-
Saved to: `project/verifications/BUG-002-20260418.md`
|
|
270
|
+
Saved to: `docs/runtime/project/verifications/BUG-002-20260418.md`
|
|
271
271
|
|
|
272
272
|
---
|
|
273
273
|
HANDOFF → scrum-master
|
|
@@ -56,7 +56,7 @@ Manual:
|
|
|
56
56
|
## 🔄 Execution Flow
|
|
57
57
|
|
|
58
58
|
1. Triage severity and impact.
|
|
59
|
-
2. Create or link `BUG-NNN` in `project/bugs/`.
|
|
59
|
+
2. Create or link `BUG-NNN` in `docs/runtime/project/bugs/`.
|
|
60
60
|
3. Create hotfix ticket if needed with minimal AC and status `READY`.
|
|
61
61
|
4. Create branch `hotfix/BUG-NNN-short-slug` or `hotfix/TICKET-NNN-short-slug` from production branch.
|
|
62
62
|
5. Reproduce the issue and write a regression test if feasible.
|
|
@@ -69,7 +69,7 @@ Manual:
|
|
|
69
69
|
12. QA verifies production or pre-prod depending on incident protocol.
|
|
70
70
|
13. Back-merge hotfix into `develop`.
|
|
71
71
|
14. Create follow-up ticket for full DoD, monitoring, and root cause analysis.
|
|
72
|
-
15. Write incident summary in `project/releases/` or `project/incidents/`.
|
|
72
|
+
15. Write incident summary in `docs/runtime/project/releases/` or `docs/runtime/project/incidents/`.
|
|
73
73
|
|
|
74
74
|
## 🔒 Hard Rules
|
|
75
75
|
|
|
@@ -65,7 +65,7 @@ Manual:
|
|
|
65
65
|
5. Confirm QA evidence exists for every included ticket.
|
|
66
66
|
6. Check open bugs and known issues.
|
|
67
67
|
7. Generate changelog with ticket IDs, PRs, bug fixes, migrations, and breaking changes.
|
|
68
|
-
8. Create `project/releases/vX.Y.Z.json` from `templates/release/release-record-template.json` with scope, approvals, risks, deploy plan, rollback plan, and timestamps.
|
|
68
|
+
8. Create `docs/runtime/project/releases/vX.Y.Z.json` from `templates/release/release-record-template.json` with scope, approvals, risks, deploy plan, rollback plan, and timestamps.
|
|
69
69
|
9. Create or update release branch if configured.
|
|
70
70
|
10. Tag release using `vX.Y.Z`.
|
|
71
71
|
11. Trigger deployment or document manual deployment step.
|
|
@@ -93,7 +93,7 @@ Database migrations MUST include forward plan, rollback or mitigation, and backu
|
|
|
93
93
|
Do not move an existing release tag. Create a new patch release instead.
|
|
94
94
|
|
|
95
95
|
### RULE REL-007: Release record schema required
|
|
96
|
-
Every release record MUST satisfy `config/release.schema.json`. Missing approvals, rollback verification, QA evidence, security scan status, or known issue approval blocks release.
|
|
96
|
+
Every release record MUST satisfy `docs/config/release.schema.json`. Missing approvals, rollback verification, QA evidence, security scan status, or known issue approval blocks release.
|
|
97
97
|
|
|
98
98
|
### RULE REL-008: Post-release smoke evidence
|
|
99
99
|
If a release is marked `RELEASED` and `qa.post_release_smoke_required=true`, then `qa.post_release_smoke_passed=true` and the evidence path MUST be recorded.
|
|
@@ -38,7 +38,7 @@ Restore service safely, preserve audit trail, and start follow-up remediation.
|
|
|
38
38
|
4. Notify stakeholders and freeze related deploys.
|
|
39
39
|
5. Execute documented rollback steps.
|
|
40
40
|
6. Verify service health and core flows.
|
|
41
|
-
7. Record rollback result in `project/releases/`.
|
|
41
|
+
7. Record rollback result in `docs/runtime/project/releases/`.
|
|
42
42
|
8. Create follow-up bug/ticket and incident notes.
|
|
43
43
|
|
|
44
44
|
## 🔒 Hard Rules
|
|
@@ -79,7 +79,7 @@ fi
|
|
|
79
79
|
Extract TICKET-XXX from branch name, verify:
|
|
80
80
|
```bash
|
|
81
81
|
TICKET_ID=$(echo "$current_branch" | grep -oE 'TICKET-[0-9]+')
|
|
82
|
-
test -f "project/tickets/${TICKET_ID}.json" || ABORT
|
|
82
|
+
test -f "docs/runtime/project/tickets/${TICKET_ID}.json" || ABORT
|
|
83
83
|
```
|
|
84
84
|
|
|
85
85
|
### 3. Ticket in IN_PROGRESS
|
|
@@ -203,7 +203,7 @@ fi
|
|
|
203
203
|
│ - (Optional) Slack notification via webhook │
|
|
204
204
|
├──────────────────────────────────────────────────────────┤
|
|
205
205
|
│ STEP 10: Log metrics │
|
|
206
|
-
│ project/metrics/create-pr.jsonl │
|
|
206
|
+
│ docs/runtime/project/metrics/create-pr.jsonl │
|
|
207
207
|
└──────────────────────────────────────────────────────────┘
|
|
208
208
|
```
|
|
209
209
|
|
|
@@ -205,7 +205,7 @@ If branch is `hotfix/*`:
|
|
|
205
205
|
- Merge commit SHA
|
|
206
206
|
- Strategy used
|
|
207
207
|
|
|
208
|
-
Store in `project/audit-log.jsonl`.
|
|
208
|
+
Store in `docs/runtime/project/audit-log.jsonl`.
|
|
209
209
|
|
|
210
210
|
### RULE MP-009: Rollback plan for risky merges
|
|
211
211
|
If PR flagged as `high-risk` (auth changes, DB migration, payment):
|
|
@@ -42,12 +42,13 @@ If command metadata and user intent conflict, explain the conflict and stop.
|
|
|
42
42
|
|
|
43
43
|
## Source Of Truth
|
|
44
44
|
|
|
45
|
-
- `project/` is machine-readable runtime state.
|
|
46
|
-
- `docs/` is human-readable project documentation.
|
|
47
|
-
- `
|
|
45
|
+
- `docs/runtime/project/` is machine-readable AI Core runtime state.
|
|
46
|
+
- `docs/project/` is human-readable project and product documentation.
|
|
47
|
+
- `docs/runtime/` also contains operational AI Core documentation.
|
|
48
|
+
- `docs/config/` is project configuration.
|
|
48
49
|
- Root-level framework folders are portable framework code.
|
|
49
50
|
|
|
50
|
-
|
|
51
|
+
Keep backlog, tickets, releases, bugs, sprints, and audit records under `docs/runtime/project/`. Generate human-readable summaries in `docs/runtime/project/views/` and keep longer narrative project/product docs in `docs/project/`.
|
|
51
52
|
|
|
52
53
|
## Guided Report
|
|
53
54
|
|
|
@@ -14,7 +14,7 @@ Before saying a workflow step is complete:
|
|
|
14
14
|
1. Identify what proves the claim.
|
|
15
15
|
2. Run or inspect the relevant verification.
|
|
16
16
|
3. Read the result.
|
|
17
|
-
4. Record evidence in `project/test-runs/`, `project/verifications/`, or the ticket.
|
|
17
|
+
4. Record evidence in `docs/runtime/project/test-runs/`, `docs/runtime/project/verifications/`, or the ticket.
|
|
18
18
|
5. Only then report completion.
|
|
19
19
|
|
|
20
20
|
## Required Evidence
|
|
@@ -4,10 +4,10 @@ on:
|
|
|
4
4
|
pull_request:
|
|
5
5
|
paths:
|
|
6
6
|
- "agents/**"
|
|
7
|
-
- "config/**"
|
|
7
|
+
- "docs/config/**"
|
|
8
8
|
- "docs/**"
|
|
9
9
|
- "hooks/**"
|
|
10
|
-
- "project/**"
|
|
10
|
+
- "docs/runtime/project/**"
|
|
11
11
|
- "rules/**"
|
|
12
12
|
- "scripts/**"
|
|
13
13
|
- "skills/**"
|
|
@@ -18,10 +18,10 @@ on:
|
|
|
18
18
|
branches: [main, develop, "release/**"]
|
|
19
19
|
paths:
|
|
20
20
|
- "agents/**"
|
|
21
|
-
- "config/**"
|
|
21
|
+
- "docs/config/**"
|
|
22
22
|
- "docs/**"
|
|
23
23
|
- "hooks/**"
|
|
24
|
-
- "project/**"
|
|
24
|
+
- "docs/runtime/project/**"
|
|
25
25
|
- "rules/**"
|
|
26
26
|
- "scripts/**"
|
|
27
27
|
- "skills/**"
|
|
@@ -55,25 +55,25 @@ jobs:
|
|
|
55
55
|
- name: Validate ticket schemas
|
|
56
56
|
run: |
|
|
57
57
|
set -e
|
|
58
|
-
for ticket in project/tickets/*.json; do
|
|
58
|
+
for ticket in docs/runtime/project/tickets/*.json; do
|
|
59
59
|
if [ ! -f "$ticket" ]; then continue; fi
|
|
60
|
-
ajv validate -s config/ticket.schema.json -d "$ticket"
|
|
60
|
+
ajv validate -s docs/config/ticket.schema.json -d "$ticket"
|
|
61
61
|
done
|
|
62
62
|
|
|
63
63
|
- name: Validate backlog schema
|
|
64
64
|
run: |
|
|
65
|
-
if [ ! -f "project/backlog/backlog.json" ]; then
|
|
65
|
+
if [ ! -f "docs/runtime/project/backlog/backlog.json" ]; then
|
|
66
66
|
echo "No backlog file, skipping"
|
|
67
67
|
exit 0
|
|
68
68
|
fi
|
|
69
|
-
ajv validate -s config/backlog.schema.json -d project/backlog/backlog.json
|
|
69
|
+
ajv validate -s docs/config/backlog.schema.json -d docs/runtime/project/backlog/backlog.json
|
|
70
70
|
|
|
71
71
|
- name: Validate release schemas
|
|
72
72
|
run: |
|
|
73
73
|
set -e
|
|
74
|
-
for release in project/releases/*.json; do
|
|
74
|
+
for release in docs/runtime/project/releases/*.json; do
|
|
75
75
|
if [ ! -f "$release" ]; then continue; fi
|
|
76
|
-
ajv validate -s config/release.schema.json -d "$release"
|
|
76
|
+
ajv validate -s docs/config/release.schema.json -d "$release"
|
|
77
77
|
done
|
|
78
78
|
|
|
79
79
|
- name: Validate state
|
|
@@ -95,7 +95,7 @@ jobs:
|
|
|
95
95
|
- name: Check state history immutability
|
|
96
96
|
if: github.event_name == 'pull_request'
|
|
97
97
|
run: |
|
|
98
|
-
CHANGED=$(git diff --name-only origin/${{ github.base_ref }}...HEAD -- 'project/tickets/*.json' || true)
|
|
98
|
+
CHANGED=$(git diff --name-only origin/${{ github.base_ref }}...HEAD -- 'docs/runtime/project/tickets/*.json' || true)
|
|
99
99
|
if [ -z "$CHANGED" ]; then
|
|
100
100
|
echo "No ticket changes"
|
|
101
101
|
exit 0
|
|
@@ -11,7 +11,7 @@ Instructions for developer:
|
|
|
11
11
|
|
|
12
12
|
<!-- 1-3 sentences: what does this PR do and why? -->
|
|
13
13
|
|
|
14
|
-
**Ticket**: [TICKET-XXX](./project/tickets/TICKET-XXX.json) <!-- Auto-filled by /create-pr -->
|
|
14
|
+
**Ticket**: [TICKET-XXX](./docs/runtime/project/tickets/TICKET-XXX.json) <!-- Auto-filled by /create-pr -->
|
|
15
15
|
|
|
16
16
|
**Type**: <!-- feature | bugfix | hotfix | refactor | chore | docs -->
|
|
17
17
|
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
/skills/ @tech-leads
|
|
8
8
|
/templates/ @tech-leads
|
|
9
9
|
/workflows/ @tech-leads
|
|
10
|
-
/config/ @scrum-masters @tech-leads
|
|
11
|
-
/project/ @scrum-masters @tech-leads
|
|
10
|
+
/docs/config/ @scrum-masters @tech-leads
|
|
11
|
+
/docs/runtime/project/ @scrum-masters @tech-leads
|
|
12
12
|
/docs/runtime/adr/ @tech-leads
|
|
13
13
|
/docs/project/specs/ @product-owners @tech-leads
|
|
14
14
|
/docs/project/plans/ @tech-leads
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
# Project-specific structure map copied by /setup-project into config/project-structure.yaml
|
|
1
|
+
# Project-specific structure map copied by /setup-project into docs/config/project-structure.yaml
|
|
2
2
|
# Framework folders remain framework-only. Runtime state and project docs live outside them.
|
|
3
3
|
|
|
4
4
|
state:
|
|
5
|
-
root: "project"
|
|
6
|
-
tickets: "project/tickets"
|
|
7
|
-
backlog: "project/backlog"
|
|
8
|
-
bugs: "project/bugs"
|
|
9
|
-
sprints: "project/sprints"
|
|
10
|
-
releases: "project/releases"
|
|
11
|
-
metrics: "project/metrics"
|
|
12
|
-
views: "project/views"
|
|
13
|
-
test_runs: "project/test-runs"
|
|
14
|
-
incidents: "project/incidents"
|
|
15
|
-
audit_log: "project/audit-log.jsonl"
|
|
5
|
+
root: "docs/runtime/project"
|
|
6
|
+
tickets: "docs/runtime/project/tickets"
|
|
7
|
+
backlog: "docs/runtime/project/backlog"
|
|
8
|
+
bugs: "docs/runtime/project/bugs"
|
|
9
|
+
sprints: "docs/runtime/project/sprints"
|
|
10
|
+
releases: "docs/runtime/project/releases"
|
|
11
|
+
metrics: "docs/runtime/project/metrics"
|
|
12
|
+
views: "docs/runtime/project/views"
|
|
13
|
+
test_runs: "docs/runtime/project/test-runs"
|
|
14
|
+
incidents: "docs/runtime/project/incidents"
|
|
15
|
+
audit_log: "docs/runtime/project/audit-log.jsonl"
|
|
16
16
|
|
|
17
17
|
project_docs:
|
|
18
18
|
root: "docs/project"
|
|
@@ -36,9 +36,9 @@ runtime_docs:
|
|
|
36
36
|
incidents: "docs/runtime/incidents"
|
|
37
37
|
|
|
38
38
|
backlog:
|
|
39
|
-
source_of_truth: "project/backlog/backlog.json"
|
|
40
|
-
ticket_details: "project/tickets/TICKET-XXX.json"
|
|
41
|
-
generated_views: "project/views"
|
|
39
|
+
source_of_truth: "docs/runtime/project/backlog/backlog.json"
|
|
40
|
+
ticket_details: "docs/runtime/project/tickets/TICKET-XXX.json"
|
|
41
|
+
generated_views: "docs/runtime/project/views"
|
|
42
42
|
|
|
43
43
|
ticket_docs:
|
|
44
44
|
spec_path_field: "spec_path"
|
|
@@ -53,8 +53,8 @@ refactor:
|
|
|
53
53
|
requires_adr_when_architectural: true
|
|
54
54
|
|
|
55
55
|
release:
|
|
56
|
-
records: "project/releases/vX.Y.Z.json"
|
|
57
|
-
schema: "config/release.schema.json"
|
|
56
|
+
records: "docs/runtime/project/releases/vX.Y.Z.json"
|
|
57
|
+
schema: "docs/config/release.schema.json"
|
|
58
58
|
template: "templates/release/release-record-template.json"
|
|
59
59
|
requires_rollback_verification: true
|
|
60
60
|
requires_post_release_smoke: true
|
|
@@ -65,12 +65,12 @@ scripts:
|
|
|
65
65
|
command_runner: "scripts/ai-core.sh"
|
|
66
66
|
workflow_handlers: "scripts/workflow.sh"
|
|
67
67
|
audit_validator: "scripts/validate-audit-log.sh"
|
|
68
|
-
audit_log: "project/audit-log.jsonl"
|
|
68
|
+
audit_log: "docs/runtime/project/audit-log.jsonl"
|
|
69
69
|
|
|
70
70
|
ci:
|
|
71
71
|
governance_template: "templates/ci/ai-core-governance.yml"
|
|
72
72
|
app_templates: "templates/ci"
|
|
73
73
|
|
|
74
74
|
docs_policy:
|
|
75
|
-
project_override: "config/docs-policy.json"
|
|
76
|
-
default: "config/docs-policy.default.json"
|
|
75
|
+
project_override: "docs/config/docs-policy.json"
|
|
76
|
+
default: "docs/config/docs-policy.default.json"
|
|
@@ -10,7 +10,7 @@ Make bugs reproducible, prioritized, fixed with regression coverage, and verifie
|
|
|
10
10
|
|
|
11
11
|
1. Discovery
|
|
12
12
|
- Any agent or user reports a defect with `/report-bug`.
|
|
13
|
-
- Bug is created in `project/bugs/` with status `NEW` or `NEEDS_MORE_INFO`.
|
|
13
|
+
- Bug is created in `docs/runtime/project/bugs/` with status `NEW` or `NEEDS_MORE_INFO`.
|
|
14
14
|
|
|
15
15
|
2. Triage
|
|
16
16
|
- BA runs `/triage-bug` with Tech Lead and QA input.
|
|
@@ -46,8 +46,8 @@ Make bugs reproducible, prioritized, fixed with regression coverage, and verifie
|
|
|
46
46
|
|
|
47
47
|
## 📊 Artifacts
|
|
48
48
|
|
|
49
|
-
- `project/bugs/BUG-XXX.json`
|
|
50
|
-
- Linked ticket in `project/tickets/`
|
|
49
|
+
- `docs/runtime/project/bugs/BUG-XXX.json`
|
|
50
|
+
- Linked ticket in `docs/runtime/project/tickets/`
|
|
51
51
|
- Verification report
|
|
52
52
|
- Regression tests
|
|
53
53
|
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
3. BA writes User Story (INVEST)
|
|
83
83
|
4. BA writes ≥3 AC scenarios (Gherkin)
|
|
84
84
|
5. BA creates `docs/project/specs/TICKET-XXX-<slug>.md`
|
|
85
|
-
6. BA creates `project/tickets/TICKET-XXX.json` with `spec_path`
|
|
85
|
+
6. BA creates `docs/runtime/project/tickets/TICKET-XXX.json` with `spec_path`
|
|
86
86
|
7. BA output HANDOFF → tech-lead
|
|
87
87
|
|
|
88
88
|
### Gates
|
|
@@ -181,7 +181,7 @@ Each requirement should finish in one session (< 30 minutes of BA work).
|
|
|
181
181
|
- Sort by priority (MUST > SHOULD > COULD)
|
|
182
182
|
- Pull tickets into sprint until capacity is reached (30 points default)
|
|
183
183
|
- Assign tickets to sprint
|
|
184
|
-
3. Create `project/sprints/SPRINT-XXX.json`
|
|
184
|
+
3. Create `docs/runtime/project/sprints/SPRINT-XXX.json`
|
|
185
185
|
|
|
186
186
|
### Gates
|
|
187
187
|
- ✅ Total points ≤ team capacity
|
|
@@ -46,8 +46,8 @@ Ensure sprint commitments are realistic, tracked, and closed with factual metric
|
|
|
46
46
|
|
|
47
47
|
## 📊 Artifacts
|
|
48
48
|
|
|
49
|
-
- `project/sprints/SPRINT-XXX.json`
|
|
50
|
-
- `project/metrics/`
|
|
49
|
+
- `docs/runtime/project/sprints/SPRINT-XXX.json`
|
|
50
|
+
- `docs/runtime/project/metrics/`
|
|
51
51
|
- Retrospective notes
|
|
52
52
|
- Sprint report
|
|
53
53
|
|
|
File without changes
|