ai-factory 2.3.0 → 2.4.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 +1 -0
- package/package.json +1 -1
- package/skills/aif/SKILL.md +29 -0
- package/skills/aif-architecture/SKILL.md +26 -0
- package/skills/aif-best-practices/SKILL.md +20 -0
- package/skills/aif-build-automation/SKILL.md +20 -0
- package/skills/aif-ci/SKILL.md +20 -0
- package/skills/aif-commit/SKILL.md +40 -10
- package/skills/aif-dockerize/SKILL.md +21 -0
- package/skills/aif-docs/SKILL.md +22 -0
- package/skills/aif-evolve/SKILL.md +352 -139
- package/skills/aif-explore/SKILL.md +102 -13
- package/skills/aif-fix/SKILL.md +22 -0
- package/skills/aif-grounded/SKILL.md +22 -0
- package/skills/aif-implement/SKILL.md +61 -0
- package/skills/aif-improve/SKILL.md +20 -0
- package/skills/aif-loop/SKILL.md +20 -0
- package/skills/aif-plan/SKILL.md +65 -1
- package/skills/aif-plan/references/EXAMPLES.md +18 -0
- package/skills/aif-plan/references/TASK-FORMAT.md +14 -0
- package/skills/aif-review/SKILL.md +39 -0
- package/skills/aif-roadmap/SKILL.md +21 -0
- package/skills/aif-rules/SKILL.md +23 -0
- package/skills/aif-security-checklist/SKILL.md +24 -0
- package/skills/aif-skill-generator/SKILL.md +22 -0
- package/skills/aif-skill-generator/scripts/validate.sh +4 -4
- package/skills/aif-verify/SKILL.md +92 -0
- package/skills/aif-verify/references/CONTEXT-GATES-AND-OWNERSHIP.md +75 -0
|
@@ -12,6 +12,28 @@ Add short, actionable rules and conventions for the current project. Rules are s
|
|
|
12
12
|
|
|
13
13
|
## Workflow
|
|
14
14
|
|
|
15
|
+
### Step 0: Load Skill Context
|
|
16
|
+
|
|
17
|
+
**Read `.ai-factory/skill-context/aif-rules/SKILL.md`** — MANDATORY if the file exists.
|
|
18
|
+
|
|
19
|
+
This file contains project-specific rules accumulated by `/aif-evolve` from patches,
|
|
20
|
+
codebase conventions, and tech-stack analysis. These rules are tailored to the current project.
|
|
21
|
+
|
|
22
|
+
**How to apply skill-context rules:**
|
|
23
|
+
- Treat them as **project-level overrides** for this skill's general instructions
|
|
24
|
+
- When a skill-context rule conflicts with a general rule written in this SKILL.md,
|
|
25
|
+
**the skill-context rule wins** (more specific context takes priority — same principle as nested CLAUDE.md files)
|
|
26
|
+
- When there is no conflict, apply both: general rules from SKILL.md + project rules from skill-context
|
|
27
|
+
- Do NOT ignore skill-context rules even if they seem to contradict this skill's defaults —
|
|
28
|
+
they exist because the project's experience proved the default insufficient
|
|
29
|
+
- **CRITICAL:** skill-context rules apply to ALL outputs of this skill — including the RULES.md
|
|
30
|
+
format and rule formulation. If a skill-context rule says "rules MUST follow format X" or
|
|
31
|
+
"RULES.md MUST include section Y" — you MUST comply. Generating rules that violate skill-context
|
|
32
|
+
is a bug.
|
|
33
|
+
|
|
34
|
+
**Enforcement:** After generating any output artifact, verify it against all skill-context rules.
|
|
35
|
+
If any rule is violated — fix the output before presenting it to the user.
|
|
36
|
+
|
|
15
37
|
### Step 1: Determine Mode
|
|
16
38
|
|
|
17
39
|
```
|
|
@@ -103,3 +125,4 @@ Total rules: [count]
|
|
|
103
125
|
3. **No duplicates** — check for existing rules with the same meaning before adding
|
|
104
126
|
4. **Actionable language** — rules should be clear directives ("Always...", "Never...", "Use...", "Routes must...")
|
|
105
127
|
5. **RULES.md location** — always `.ai-factory/RULES.md`, create `.ai-factory/` directory if needed
|
|
128
|
+
6. **Ownership boundary** — this command owns `.ai-factory/RULES.md`; other context artifacts stay read-only unless explicitly requested by the user
|
|
@@ -90,6 +90,30 @@ When audit results are shown, append this section at the end:
|
|
|
90
90
|
|
|
91
91
|
---
|
|
92
92
|
|
|
93
|
+
### Project Context
|
|
94
|
+
|
|
95
|
+
**Read `.ai-factory/skill-context/aif-security-checklist/SKILL.md`** — MANDATORY if the file exists.
|
|
96
|
+
|
|
97
|
+
This file contains project-specific rules accumulated by `/aif-evolve` from patches,
|
|
98
|
+
codebase conventions, and tech-stack analysis. These rules are tailored to the current project.
|
|
99
|
+
|
|
100
|
+
**How to apply skill-context rules:**
|
|
101
|
+
- Treat them as **project-level overrides** for this skill's general instructions
|
|
102
|
+
- When a skill-context rule conflicts with a general rule written in this SKILL.md,
|
|
103
|
+
**the skill-context rule wins** (more specific context takes priority — same principle as nested CLAUDE.md files)
|
|
104
|
+
- When there is no conflict, apply both: general rules from SKILL.md + project rules from skill-context
|
|
105
|
+
- Do NOT ignore skill-context rules even if they seem to contradict this skill's defaults —
|
|
106
|
+
they exist because the project's experience proved the default insufficient
|
|
107
|
+
- **CRITICAL:** skill-context rules apply to ALL outputs of this skill — including security
|
|
108
|
+
checklists, the Pre-Deployment Checklist, and SECURITY.md. If a skill-context rule says
|
|
109
|
+
"checklist MUST include X" or "audit MUST cover Y" — you MUST augment the checklists accordingly.
|
|
110
|
+
Producing a security report that ignores skill-context rules is a bug.
|
|
111
|
+
|
|
112
|
+
**Enforcement:** After generating any output artifact, verify it against all skill-context rules.
|
|
113
|
+
If any rule is violated — fix the output before presenting it to the user.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
93
117
|
## Quick Automated Audit
|
|
94
118
|
|
|
95
119
|
Run the automated security audit script:
|
|
@@ -14,6 +14,28 @@ metadata:
|
|
|
14
14
|
|
|
15
15
|
You are an expert Agent Skills architect. You help users create professional, production-ready skills that follow the [Agent Skills](https://agentskills.io/specification) open standard.
|
|
16
16
|
|
|
17
|
+
### Project Context
|
|
18
|
+
|
|
19
|
+
**Read `.ai-factory/skill-context/aif-skill-generator/SKILL.md`** — MANDATORY if the file exists.
|
|
20
|
+
|
|
21
|
+
This file contains project-specific rules accumulated by `/aif-evolve` from patches,
|
|
22
|
+
codebase conventions, and tech-stack analysis. These rules are tailored to the current project.
|
|
23
|
+
|
|
24
|
+
**How to apply skill-context rules:**
|
|
25
|
+
- Treat them as **project-level overrides** for this skill's general instructions
|
|
26
|
+
- When a skill-context rule conflicts with a general rule written in this SKILL.md,
|
|
27
|
+
**the skill-context rule wins** (more specific context takes priority — same principle as nested CLAUDE.md files)
|
|
28
|
+
- When there is no conflict, apply both: general rules from SKILL.md + project rules from skill-context
|
|
29
|
+
- Do NOT ignore skill-context rules even if they seem to contradict this skill's defaults —
|
|
30
|
+
they exist because the project's experience proved the default insufficient
|
|
31
|
+
- **CRITICAL:** skill-context rules apply to ALL outputs of this skill — including the generated
|
|
32
|
+
SKILL.md and skill package structure. If a skill-context rule says "generated skills MUST include X"
|
|
33
|
+
or "SKILL.md MUST have section Y" — you MUST augment the output accordingly. Generating a skill
|
|
34
|
+
that violates skill-context rules is a bug.
|
|
35
|
+
|
|
36
|
+
**Enforcement:** After generating any output artifact, verify it against all skill-context rules.
|
|
37
|
+
If any rule is violated — fix the output before presenting it to the user.
|
|
38
|
+
|
|
17
39
|
## CRITICAL: Security Scanning
|
|
18
40
|
|
|
19
41
|
**Every skill MUST be scanned for prompt injection before installation or use.**
|
|
@@ -43,7 +43,7 @@ fi
|
|
|
43
43
|
pass "SKILL.md exists"
|
|
44
44
|
|
|
45
45
|
# Extract frontmatter (between first two --- lines)
|
|
46
|
-
FRONTMATTER=$(awk '/^---$/{if(++n==1)next; if(n==2)exit} n==1'
|
|
46
|
+
FRONTMATTER=$(tr -d '\r' < "$SKILL_MD" | awk '/^---$/{if(++n==1)next; if(n==2)exit} n==1')
|
|
47
47
|
|
|
48
48
|
if [[ -z "$FRONTMATTER" ]]; then
|
|
49
49
|
error "No YAML frontmatter found (must be between --- markers)"
|
|
@@ -88,7 +88,7 @@ else
|
|
|
88
88
|
fi
|
|
89
89
|
|
|
90
90
|
# Check description field - handle multiline (read directly from file to avoid quoting issues)
|
|
91
|
-
DESC=$(awk '
|
|
91
|
+
DESC=$(tr -d '\r' < "$SKILL_MD" | awk '
|
|
92
92
|
/^---$/ { n++; next }
|
|
93
93
|
n == 1 && /^description:/ {
|
|
94
94
|
found = 1
|
|
@@ -105,7 +105,7 @@ DESC=$(awk '
|
|
|
105
105
|
n == 1 && found && /^[^[:space:]]/ { exit }
|
|
106
106
|
n == 2 { exit }
|
|
107
107
|
END { print desc }
|
|
108
|
-
'
|
|
108
|
+
' )
|
|
109
109
|
|
|
110
110
|
if [[ -z "$DESC" ]]; then
|
|
111
111
|
error "Missing required 'description' field"
|
|
@@ -144,7 +144,7 @@ if [[ -n "$ARG_HINT_LINE" ]]; then
|
|
|
144
144
|
fi
|
|
145
145
|
|
|
146
146
|
# Count body lines (after second ---)
|
|
147
|
-
BODY_LINES=$(awk '/^---$/{if(++n==2){found=1; next}} found'
|
|
147
|
+
BODY_LINES=$(tr -d '\r' < "$SKILL_MD" | awk '/^---$/{if(++n==2){found=1; next}} found' | wc -l | tr -d ' ')
|
|
148
148
|
|
|
149
149
|
if [[ $BODY_LINES -gt 500 ]]; then
|
|
150
150
|
warn "SKILL.md body exceeds 500 lines ($BODY_LINES). Consider moving content to references/"
|
|
@@ -23,6 +23,15 @@ Verify that the completed implementation matches the plan, nothing was missed, a
|
|
|
23
23
|
|
|
24
24
|
## Step 0: Load Context
|
|
25
25
|
|
|
26
|
+
### 0.0 Load Ownership and Gate Contract
|
|
27
|
+
|
|
28
|
+
- Read `references/CONTEXT-GATES-AND-OWNERSHIP.md` first.
|
|
29
|
+
- Treat it as the canonical source for:
|
|
30
|
+
- command-to-artifact ownership,
|
|
31
|
+
- read-only behavior for `aif-commit`/`aif-review`/`aif-verify`,
|
|
32
|
+
- normal vs strict context-gate thresholds.
|
|
33
|
+
- If this contract conflicts with older examples in this file, follow the contract.
|
|
34
|
+
|
|
26
35
|
### 0.1 Find Plan File
|
|
27
36
|
|
|
28
37
|
Same logic as `/aif-implement`:
|
|
@@ -49,6 +58,29 @@ Options:
|
|
|
49
58
|
- Read the plan file to understand what was supposed to be implemented
|
|
50
59
|
- `TaskList` → get all tasks and their statuses
|
|
51
60
|
- Read `.ai-factory/DESCRIPTION.md` for project context (tech stack, conventions)
|
|
61
|
+
- Read `.ai-factory/ARCHITECTURE.md` for dependency and boundary rules (if present)
|
|
62
|
+
- Read `.ai-factory/RULES.md` for project-specific conventions (if present)
|
|
63
|
+
- Read `.ai-factory/ROADMAP.md` for milestone alignment checks (if present)
|
|
64
|
+
|
|
65
|
+
**Read `.ai-factory/skill-context/aif-verify/SKILL.md`** — MANDATORY if the file exists.
|
|
66
|
+
|
|
67
|
+
This file contains project-specific rules accumulated by `/aif-evolve` from patches,
|
|
68
|
+
codebase conventions, and tech-stack analysis. These rules are tailored to the current project.
|
|
69
|
+
|
|
70
|
+
**How to apply skill-context rules:**
|
|
71
|
+
- Treat them as **project-level overrides** for this skill's general instructions
|
|
72
|
+
- When a skill-context rule conflicts with a general rule written in this SKILL.md,
|
|
73
|
+
**the skill-context rule wins** (more specific context takes priority — same principle as nested CLAUDE.md files)
|
|
74
|
+
- When there is no conflict, apply both: general rules from SKILL.md + project rules from skill-context
|
|
75
|
+
- Do NOT ignore skill-context rules even if they seem to contradict this skill's defaults —
|
|
76
|
+
they exist because the project's experience proved the default insufficient
|
|
77
|
+
- **CRITICAL:** skill-context rules apply to ALL outputs of this skill — including the Verification
|
|
78
|
+
Report template. If a skill-context rule says "verification MUST check X" or "report MUST include
|
|
79
|
+
section Y" — you MUST augment the report accordingly. Generating a verification that ignores
|
|
80
|
+
skill-context rules is a bug.
|
|
81
|
+
|
|
82
|
+
**Enforcement:** After generating any output artifact, verify it against all skill-context rules.
|
|
83
|
+
If any rule is violated — fix the output before presenting it to the user.
|
|
52
84
|
|
|
53
85
|
### 0.3 Gather Changed Files
|
|
54
86
|
|
|
@@ -206,6 +238,61 @@ Check if `.ai-factory/DESCRIPTION.md` reflects the current state:
|
|
|
206
238
|
- Architecture changes → should be reflected
|
|
207
239
|
- New integrations → should be documented
|
|
208
240
|
|
|
241
|
+
### 3.5 Context Gates (Architecture / Roadmap / Rules)
|
|
242
|
+
|
|
243
|
+
Apply the canonical contract from `references/CONTEXT-GATES-AND-OWNERSHIP.md`.
|
|
244
|
+
|
|
245
|
+
Evaluate and report each gate explicitly:
|
|
246
|
+
|
|
247
|
+
- **Architecture gate**
|
|
248
|
+
- Pass: implementation follows documented boundaries and dependency rules
|
|
249
|
+
- Warn: architecture mapping is ambiguous or stale
|
|
250
|
+
- Fail: clear violation of explicit architecture constraints
|
|
251
|
+
|
|
252
|
+
- **Rules gate**
|
|
253
|
+
- Pass: implementation follows explicit project rules
|
|
254
|
+
- Warn: relevance/verification is ambiguous
|
|
255
|
+
- Fail: clear violation of explicit rule text
|
|
256
|
+
|
|
257
|
+
- **Roadmap gate**
|
|
258
|
+
- Pass: work aligns with existing milestone direction (prefer `## Roadmap Linkage` from the plan when present)
|
|
259
|
+
- Warn: `.ai-factory/ROADMAP.md` missing, ambiguous mapping, or no milestone linkage for `feat`/`fix`/`perf` scope
|
|
260
|
+
- Fail (strict mode): clear roadmap contradiction after all available roadmap context is considered
|
|
261
|
+
|
|
262
|
+
Normal mode behavior:
|
|
263
|
+
- Architecture/rules clear violations fail verification.
|
|
264
|
+
- Roadmap mismatch and missing milestone linkage are warnings unless contradiction is explicit and severe.
|
|
265
|
+
|
|
266
|
+
Strict mode behavior:
|
|
267
|
+
- Architecture and rules clear violations fail verification.
|
|
268
|
+
- Clear roadmap mismatch fails verification.
|
|
269
|
+
- Missing milestone linkage for `feat`/`fix`/`perf` remains a warning (even when `.ai-factory/ROADMAP.md` exists).
|
|
270
|
+
|
|
271
|
+
Logging/reporting format:
|
|
272
|
+
- Non-blocking findings: `WARN [gate-name] ...`
|
|
273
|
+
- Blocking findings: `ERROR [gate-name] ...`
|
|
274
|
+
|
|
275
|
+
### 3.6 Context Drift (Optional Remediation)
|
|
276
|
+
|
|
277
|
+
`/aif-verify` is **read-only** for context artifacts. Do not edit or regenerate `.ai-factory/*` files here.
|
|
278
|
+
|
|
279
|
+
If you detect that a context artifact is stale, missing, or ambiguous, report it as a drift finding and provide the owner-command remediation:
|
|
280
|
+
|
|
281
|
+
- `DESCRIPTION.md` drift → suggest `/aif` (or note that `/aif-implement` should have updated it during implementation)
|
|
282
|
+
- `ARCHITECTURE.md` drift → suggest `/aif-architecture`
|
|
283
|
+
- `ROADMAP.md` drift → suggest `/aif-roadmap check` (or `/aif-roadmap <update request>`)
|
|
284
|
+
- `RULES.md` drift → suggest `/aif-rules <rule text>`
|
|
285
|
+
|
|
286
|
+
Ask the user a single optional question **only if** drift was detected and fixing it now would materially improve correctness:
|
|
287
|
+
|
|
288
|
+
```
|
|
289
|
+
AskUserQuestion: Context drift detected. Capture updates now?
|
|
290
|
+
|
|
291
|
+
Options:
|
|
292
|
+
1. Yes — show the exact commands to run (recommended)
|
|
293
|
+
2. No — proceed without updating context
|
|
294
|
+
```
|
|
295
|
+
|
|
209
296
|
---
|
|
210
297
|
|
|
211
298
|
## Step 4: Verification Report
|
|
@@ -348,6 +435,11 @@ When invoked with `--strict`:
|
|
|
348
435
|
- **Lint must pass** — zero warnings, zero errors
|
|
349
436
|
- **No TODOs/FIXMEs** in changed files
|
|
350
437
|
- **No undocumented environment variables**
|
|
438
|
+
- **Architecture gate must pass** — fail on clear boundary/dependency violations
|
|
439
|
+
- **Rules gate must pass** — fail on clear rule violations
|
|
440
|
+
- **Roadmap gate must pass** — fail on clear roadmap mismatch
|
|
441
|
+
- Missing milestone linkage for `feat`/`fix`/`perf` is a warning even in strict mode
|
|
442
|
+
- Do not fail strict verification solely because milestone linkage is missing
|
|
351
443
|
|
|
352
444
|
Strict mode is recommended before merging to main or creating a pull request.
|
|
353
445
|
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Context Gates and Artifact Ownership Contract
|
|
2
|
+
|
|
3
|
+
Canonical contract for AI Factory workflow commands. This file defines:
|
|
4
|
+
- which command owns each artifact,
|
|
5
|
+
- which commands consume artifacts as read-only context,
|
|
6
|
+
- and how context gates behave in normal vs strict verification.
|
|
7
|
+
|
|
8
|
+
## Command-to-Artifact Matrix
|
|
9
|
+
|
|
10
|
+
| Command | Primary write ownership | Read-only context | Approved exceptions |
|
|
11
|
+
|--------------------|------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
12
|
+
| `aif` | `.ai-factory/DESCRIPTION.md`, `AGENTS.md` (setup map), skill installation and MCP config | Existing project files and context artifacts | May invoke `aif-architecture` to create/update `.ai-factory/ARCHITECTURE.md` during setup |
|
|
13
|
+
| `aif-architecture` | `.ai-factory/ARCHITECTURE.md` | `.ai-factory/DESCRIPTION.md` | May update `DESCRIPTION.md` architecture pointer and `AGENTS.md` context table |
|
|
14
|
+
| `aif-roadmap` | `.ai-factory/ROADMAP.md` | `.ai-factory/DESCRIPTION.md`, `.ai-factory/ARCHITECTURE.md` | `aif-implement` may mark completed milestones after implementation |
|
|
15
|
+
| `aif-rules` | `.ai-factory/RULES.md` | Existing project context | None |
|
|
16
|
+
| `aif-plan` | `.ai-factory/PLAN.md`, `.ai-factory/plans/<branch>.md` | `.ai-factory/DESCRIPTION.md`, `.ai-factory/ARCHITECTURE.md`, `.ai-factory/RESEARCH.md` | `aif-improve` may refine existing plan files |
|
|
17
|
+
| `aif-implement` | Plan progress updates (checkboxes/task status) | `.ai-factory/RULES.md`, `.ai-factory/ARCHITECTURE.md`, `.ai-factory/DESCRIPTION.md`, patches | May update `.ai-factory/DESCRIPTION.md` and `.ai-factory/ARCHITECTURE.md` only when stack/structure changed; may update `.ai-factory/ROADMAP.md` milestone completion |
|
|
18
|
+
| `aif-fix` | `.ai-factory/FIX_PLAN.md` (plan mode), `.ai-factory/patches/*.md` | `.ai-factory/DESCRIPTION.md`, existing patches | None (context artifacts remain read-only by default) |
|
|
19
|
+
| `aif-evolve` | `.ai-factory/evolutions/*.md`, `.ai-factory/skill-context/*` | `.ai-factory/DESCRIPTION.md`, `.ai-factory/patches/*.md` | None |
|
|
20
|
+
| `aif-docs` | `README.md`, `docs/*`, `AGENTS.md` documentation section | Project/context files for factual docs | None |
|
|
21
|
+
| `aif-explore` | `.ai-factory/RESEARCH.md` only | All context and codebase files for analysis | None |
|
|
22
|
+
| `aif-commit` | Git commit object/message only | Context artifacts are read-only gates | No context artifact writes by default |
|
|
23
|
+
| `aif-review` | Review output/comments only | Context artifacts are read-only gates | No context artifact writes by default unless user explicitly asks |
|
|
24
|
+
| `aif-verify` | Verification report output | Context artifacts are read-only gates | May move to fix flow after user confirmation; no default context artifact writes |
|
|
25
|
+
|
|
26
|
+
## Artifact Update Policy (Recommended)
|
|
27
|
+
|
|
28
|
+
- **Owner writes only:** An artifact should be updated by its owner command.
|
|
29
|
+
- **Implement may do factual deltas:** `aif-implement` may update `.ai-factory/DESCRIPTION.md` and `.ai-factory/ARCHITECTURE.md` only when implementation materially changed stack/structure; it may mark roadmap milestones complete when evidence is clear.
|
|
30
|
+
- **Verify stays read-only:** `aif-verify` reports drift and suggests owner commands; it does not update context artifacts by default.
|
|
31
|
+
- **Rules are explicit:** Only `aif-rules` edits `.ai-factory/RULES.md`. Other commands may propose candidate rules and instruct the user to run `/aif-rules`.
|
|
32
|
+
|
|
33
|
+
## Context Gates (commit/review/verify)
|
|
34
|
+
|
|
35
|
+
These commands evaluate context consistency against:
|
|
36
|
+
- `.ai-factory/ARCHITECTURE.md`
|
|
37
|
+
- `.ai-factory/ROADMAP.md` (optional, graceful if missing)
|
|
38
|
+
- `.ai-factory/RULES.md` (optional, graceful if missing)
|
|
39
|
+
|
|
40
|
+
Gate outputs must use:
|
|
41
|
+
- `WARN` for non-blocking mismatches or missing optional files
|
|
42
|
+
- `ERROR` for blocking violations
|
|
43
|
+
|
|
44
|
+
### Architecture Gate
|
|
45
|
+
- **Pass:** Changes follow documented module/layer boundaries.
|
|
46
|
+
- **Warn:** Architecture document appears stale or mapping is ambiguous.
|
|
47
|
+
- **Fail:** Clear boundary/dependency violation against explicit architecture rules.
|
|
48
|
+
|
|
49
|
+
### Rules Gate
|
|
50
|
+
- **Pass:** Changes comply with explicit project rules.
|
|
51
|
+
- **Warn:** Rule relevance is uncertain or cannot be verified confidently.
|
|
52
|
+
- **Fail:** Clear violation of an explicit rule in `.ai-factory/RULES.md`.
|
|
53
|
+
|
|
54
|
+
### Roadmap Gate
|
|
55
|
+
- **Pass:** Changes align with an active milestone or approved roadmap direction.
|
|
56
|
+
- **Warn:** `.ai-factory/ROADMAP.md` missing, ambiguous milestone mapping, or no milestone linkage for `feat`/`fix`/`perf` work.
|
|
57
|
+
- **Fail (strict verify only):** Clear mismatch with roadmap direction after all available roadmap context is considered.
|
|
58
|
+
|
|
59
|
+
## Threshold Decisions (Resolved)
|
|
60
|
+
|
|
61
|
+
### Verify normal mode
|
|
62
|
+
- Architecture/rules clear violations: **fail**
|
|
63
|
+
- Roadmap mismatch: **warn** unless contradiction is explicit and severe
|
|
64
|
+
- Missing milestone linkage for `feat`/`fix`/`perf`: **warn**
|
|
65
|
+
|
|
66
|
+
### Verify strict mode
|
|
67
|
+
- Architecture clear violations: **fail**
|
|
68
|
+
- Rules clear violations: **fail**
|
|
69
|
+
- Roadmap clear mismatch: **fail**
|
|
70
|
+
- Missing milestone linkage for `feat`/`fix`/`perf` when `.ai-factory/ROADMAP.md` exists: **warn**
|
|
71
|
+
|
|
72
|
+
### Commit and review mode
|
|
73
|
+
- Context gates are read-only and non-destructive.
|
|
74
|
+
- Missing roadmap linkage for `feat`/`fix`/`perf`: **warn** by default.
|
|
75
|
+
- Blocking behavior is only allowed when explicitly requested by the user or policy extension.
|