@christianmaf80/agentic-workflow 1.2.0-beta.1
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/LICENSE +15 -0
- package/README.es.md +88 -0
- package/README.md +88 -0
- package/bin/cli.js +44 -0
- package/dist/artifacts/index.md +28 -0
- package/dist/cli/commands/create.js +178 -0
- package/dist/cli/commands/init.js +212 -0
- package/dist/cli/commands/mcp-register.js +33 -0
- package/dist/cli/commands/restore.js +67 -0
- package/dist/cli/index.js +2 -0
- package/dist/core/context/manager.js +136 -0
- package/dist/core/index.js +1 -0
- package/dist/core/mapping/resolver.js +72 -0
- package/dist/core/migration/backup.js +14 -0
- package/dist/core/migration/detector.js +32 -0
- package/dist/core/migration/transformer.js +11 -0
- package/dist/core/utils/backup.js +41 -0
- package/dist/mcp/server.js +160 -0
- package/dist/rules/constitution/GEMINI.location.md +29 -0
- package/dist/rules/constitution/agent-system.md +77 -0
- package/dist/rules/constitution/agents-behavior.md +188 -0
- package/dist/rules/constitution/clean-code.md +153 -0
- package/dist/rules/constitution/index.md +29 -0
- package/dist/rules/constitution/project-architecture.md +57 -0
- package/dist/rules/index.md +26 -0
- package/dist/rules/roles/architect.md +40 -0
- package/dist/rules/roles/index.md +45 -0
- package/dist/rules/roles/neo.md +32 -0
- package/dist/rules/roles/qa.md +22 -0
- package/dist/rules/roles/researcher.md +22 -0
- package/dist/rules/roles/tooling.md +22 -0
- package/dist/templates/acceptance.md +64 -0
- package/dist/templates/agent-scores.md +25 -0
- package/dist/templates/agent-task.md +106 -0
- package/dist/templates/analysis.md +161 -0
- package/dist/templates/brief.md +96 -0
- package/dist/templates/changelog.md +30 -0
- package/dist/templates/closure.md +87 -0
- package/dist/templates/index.md +45 -0
- package/dist/templates/init.md +26 -0
- package/dist/templates/planning.md +157 -0
- package/dist/templates/research.md +89 -0
- package/dist/templates/results-acceptance.md +177 -0
- package/dist/templates/review.md +110 -0
- package/dist/templates/subtask-implementation.md +67 -0
- package/dist/templates/supplemental-report.md +30 -0
- package/dist/templates/task-metrics.md +39 -0
- package/dist/templates/task.md +151 -0
- package/dist/templates/todo-item.md +49 -0
- package/dist/templates/verification.md +77 -0
- package/dist/workflows/index.md +44 -0
- package/dist/workflows/init.md +61 -0
- package/dist/workflows/tasklifecycle-long/index.md +176 -0
- package/dist/workflows/tasklifecycle-long/phase-0-acceptance-criteria.md +161 -0
- package/dist/workflows/tasklifecycle-long/phase-1-research.md +151 -0
- package/dist/workflows/tasklifecycle-long/phase-2-analysis.md +136 -0
- package/dist/workflows/tasklifecycle-long/phase-3-planning.md +121 -0
- package/dist/workflows/tasklifecycle-long/phase-4-implementation.md +104 -0
- package/dist/workflows/tasklifecycle-long/phase-5-verification.md +82 -0
- package/dist/workflows/tasklifecycle-long/phase-6-results-acceptance.md +79 -0
- package/dist/workflows/tasklifecycle-long/phase-7-evaluation.md +85 -0
- package/dist/workflows/tasklifecycle-long/phase-8-commit-push.md +80 -0
- package/dist/workflows/tasklifecycle-short/index.md +67 -0
- package/dist/workflows/tasklifecycle-short/short-phase-1-brief.md +66 -0
- package/dist/workflows/tasklifecycle-short/short-phase-2-implementation.md +72 -0
- package/dist/workflows/tasklifecycle-short/short-phase-3-closure.md +67 -0
- package/package.json +53 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# Task (Template)
|
|
2
|
+
|
|
3
|
+
## Agent Identification (MANDATORY)
|
|
4
|
+
First line of the document:
|
|
5
|
+
`<icon> **<agent-name>**: <message>`
|
|
6
|
+
|
|
7
|
+
## Identification
|
|
8
|
+
- id: {{task.id}}
|
|
9
|
+
- title: {{task.title}}
|
|
10
|
+
- scope: candidate | current
|
|
11
|
+
- owner: architect-agent
|
|
12
|
+
|
|
13
|
+
## Source
|
|
14
|
+
- created_from:
|
|
15
|
+
- workflow: tasklifecycle
|
|
16
|
+
- source: init / tasklifecycle
|
|
17
|
+
- candidate_path: artifacts.candidate.task
|
|
18
|
+
|
|
19
|
+
## Task Description
|
|
20
|
+
{{task.description}}
|
|
21
|
+
|
|
22
|
+
## Objective
|
|
23
|
+
{{task.goal}}
|
|
24
|
+
|
|
25
|
+
## Lifecycle Status (SINGLE SOURCE OF TRUTH)
|
|
26
|
+
|
|
27
|
+
```yaml
|
|
28
|
+
task:
|
|
29
|
+
id: "{{task.id}}"
|
|
30
|
+
title: "{{task.title}}"
|
|
31
|
+
strategy: "{{task.strategy}}" # long | short
|
|
32
|
+
artifacts:
|
|
33
|
+
supplemental: []
|
|
34
|
+
phase:
|
|
35
|
+
current: "phase-0-acceptance-criteria"
|
|
36
|
+
validated_by: "architect-agent"
|
|
37
|
+
updated_at: "{{timestamp}}"
|
|
38
|
+
lifecycle:
|
|
39
|
+
phases:
|
|
40
|
+
phase-0-acceptance-criteria:
|
|
41
|
+
completed: false
|
|
42
|
+
validated_by: null
|
|
43
|
+
validated_at: null
|
|
44
|
+
phase-1-research:
|
|
45
|
+
completed: false
|
|
46
|
+
validated_by: null
|
|
47
|
+
validated_at: null
|
|
48
|
+
phase-2-analysis:
|
|
49
|
+
completed: false
|
|
50
|
+
validated_by: null
|
|
51
|
+
validated_at: null
|
|
52
|
+
phase-3-planning:
|
|
53
|
+
completed: false
|
|
54
|
+
validated_by: null
|
|
55
|
+
validated_at: null
|
|
56
|
+
phase-4-implementation:
|
|
57
|
+
completed: false
|
|
58
|
+
validated_by: null
|
|
59
|
+
validated_at: null
|
|
60
|
+
phase-5-verification:
|
|
61
|
+
completed: false
|
|
62
|
+
validated_by: null
|
|
63
|
+
validated_at: null
|
|
64
|
+
phase-6-results-acceptance:
|
|
65
|
+
completed: false
|
|
66
|
+
validated_by: null
|
|
67
|
+
validated_at: null
|
|
68
|
+
phase-7-evaluation:
|
|
69
|
+
completed: false
|
|
70
|
+
validated_by: null
|
|
71
|
+
validated_at: null
|
|
72
|
+
phase-8-commit-push:
|
|
73
|
+
completed: false
|
|
74
|
+
validated_by: null
|
|
75
|
+
validated_at: null
|
|
76
|
+
subflows:
|
|
77
|
+
drivers:
|
|
78
|
+
create:
|
|
79
|
+
- name: <driver-name>
|
|
80
|
+
completed: false
|
|
81
|
+
validated_by: null
|
|
82
|
+
validated_at: null
|
|
83
|
+
refactor:
|
|
84
|
+
- name: <driver-name>
|
|
85
|
+
completed: false
|
|
86
|
+
validated_by: null
|
|
87
|
+
validated_at: null
|
|
88
|
+
delete:
|
|
89
|
+
- name: <driver-name>
|
|
90
|
+
completed: false
|
|
91
|
+
validated_by: null
|
|
92
|
+
validated_at: null
|
|
93
|
+
modules:
|
|
94
|
+
create:
|
|
95
|
+
- name: <module-name>
|
|
96
|
+
completed: false
|
|
97
|
+
validated_by: null
|
|
98
|
+
validated_at: null
|
|
99
|
+
refactor:
|
|
100
|
+
- name: <module-name>
|
|
101
|
+
completed: false
|
|
102
|
+
validated_by: null
|
|
103
|
+
validated_at: null
|
|
104
|
+
delete:
|
|
105
|
+
- name: <module-name>
|
|
106
|
+
completed: false
|
|
107
|
+
validated_by: null
|
|
108
|
+
validated_at: null
|
|
109
|
+
pages:
|
|
110
|
+
create:
|
|
111
|
+
- name: <page-name>
|
|
112
|
+
completed: false
|
|
113
|
+
validated_by: null
|
|
114
|
+
validated_at: null
|
|
115
|
+
shards:
|
|
116
|
+
create:
|
|
117
|
+
- name: <shard-name>
|
|
118
|
+
completed: false
|
|
119
|
+
validated_by: null
|
|
120
|
+
validated_at: null
|
|
121
|
+
short-phase-1-brief:
|
|
122
|
+
completed: false
|
|
123
|
+
validated_by: null
|
|
124
|
+
validated_at: null
|
|
125
|
+
short-phase-2-implementation:
|
|
126
|
+
completed: false
|
|
127
|
+
validated_by: null
|
|
128
|
+
validated_at: null
|
|
129
|
+
short-phase-3-closure:
|
|
130
|
+
completed: false
|
|
131
|
+
validated_by: null
|
|
132
|
+
validated_at: null
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 2. Definition and Scope (Contract)
|
|
138
|
+
- **Acceptance Criteria**: [acceptance.md](file:///{{task.acceptance_path}})
|
|
139
|
+
- **Alias**: `task.acceptance`
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Contractual Rules
|
|
144
|
+
- This file is the **single source of truth** for the task status.
|
|
145
|
+
- The `task.phase.current` field **ONLY can be modified by `architect-agent`**.
|
|
146
|
+
- The `task.lifecycle.phases.*` field **ONLY can be marked as completed by `architect-agent`**.
|
|
147
|
+
- A phase **cannot be marked as completed** if it is not the current phase.
|
|
148
|
+
- Advancing to the next phase requires:
|
|
149
|
+
1. Marking the current phase as `completed: true`
|
|
150
|
+
2. Explicit validation from the architect
|
|
151
|
+
3. Updating `task.phase.current` to the next phase
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
artifact: todo_item
|
|
3
|
+
owner: architect-agent
|
|
4
|
+
status: open | in-progress | done | cancelled
|
|
5
|
+
priority: high | medium | low
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# TODO: <brief title>
|
|
9
|
+
|
|
10
|
+
## Agent Identification (MANDATORY)
|
|
11
|
+
First line of the document:
|
|
12
|
+
`<icon> **<agent-name>**: <message>`
|
|
13
|
+
|
|
14
|
+
## Source
|
|
15
|
+
- **Detected in task**: <taskId>-<taskTitle>
|
|
16
|
+
- **Phase**: <phase where it was detected>
|
|
17
|
+
- **Date**: <ISO-8601>
|
|
18
|
+
- **Agent**: <agent who detected it>
|
|
19
|
+
|
|
20
|
+
## Description
|
|
21
|
+
<Clear description of the proposed improvement>
|
|
22
|
+
|
|
23
|
+
## Justification
|
|
24
|
+
<Why it is important to make this change>
|
|
25
|
+
|
|
26
|
+
## Estimated Impact
|
|
27
|
+
- **Complexity**: low | medium | high
|
|
28
|
+
- **Affected Areas**: <components/workflows/templates>
|
|
29
|
+
|
|
30
|
+
## Acceptance Criteria
|
|
31
|
+
- [ ] <Verifiable condition 1>
|
|
32
|
+
- [ ] <Verifiable condition 2>
|
|
33
|
+
|
|
34
|
+
## Notes
|
|
35
|
+
<Additional relevant information>
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## History
|
|
40
|
+
```yaml
|
|
41
|
+
history:
|
|
42
|
+
- action: created
|
|
43
|
+
date: <ISO-8601>
|
|
44
|
+
by: <agent>
|
|
45
|
+
# - action: started | completed | cancelled
|
|
46
|
+
# date: <ISO-8601>
|
|
47
|
+
# by: <agent>
|
|
48
|
+
# task: <taskId where it was implemented>
|
|
49
|
+
```
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
artifact: verification
|
|
3
|
+
phase: phase-5-verification
|
|
4
|
+
owner: qa-agent
|
|
5
|
+
status: pending | approved | rejected
|
|
6
|
+
related_task: <taskId>-<taskTitle>
|
|
7
|
+
related_plan: .agent/artifacts/<taskId>-<taskTitle>/plan.md
|
|
8
|
+
related_review: .agent/artifacts/<taskId>-<taskTitle>/architect/review.md
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Verification Report — <taskId>-<taskTitle>
|
|
12
|
+
|
|
13
|
+
## Agent Identification (MANDATORY)
|
|
14
|
+
First line of the document:
|
|
15
|
+
`<icon> **<agent-name>**: <message>`
|
|
16
|
+
|
|
17
|
+
## 1. Verification Scope
|
|
18
|
+
- What was verified
|
|
19
|
+
- What was excluded
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 2. Executed Tests
|
|
24
|
+
- Unit tests (as per `constitution.project_architecture`)
|
|
25
|
+
- Suites
|
|
26
|
+
- Result (pass/fail)
|
|
27
|
+
- Integration tests (as per `constitution.project_architecture`, if applicable)
|
|
28
|
+
- Suites
|
|
29
|
+
- Result (pass/fail)
|
|
30
|
+
- E2E tests (as per `constitution.project_architecture`, if applicable)
|
|
31
|
+
- Suites
|
|
32
|
+
- Result (pass/fail)
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 3. Coverage and Thresholds
|
|
37
|
+
- Total Coverage (%)
|
|
38
|
+
- Coverage per area (if applicable)
|
|
39
|
+
- Thresholds defined in the plan (met / not met)
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 4. Performance (if applicable)
|
|
44
|
+
- Collected metrics
|
|
45
|
+
- Thresholds (met / not met)
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 5. Evidence
|
|
50
|
+
- Logs
|
|
51
|
+
- Test reports
|
|
52
|
+
- Screenshots (if applicable)
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 6. Issues
|
|
57
|
+
- Bugs found
|
|
58
|
+
- Severity
|
|
59
|
+
- Status
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 7. Checklist
|
|
64
|
+
- [ ] Verification completed
|
|
65
|
+
- [ ] Testing thresholds met
|
|
66
|
+
- [ ] Ready for Phase 6
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 8. Developer Approval (MANDATORY)
|
|
71
|
+
```yaml
|
|
72
|
+
approval:
|
|
73
|
+
developer:
|
|
74
|
+
decision: YES | NO
|
|
75
|
+
date: <ISO-8601>
|
|
76
|
+
comments: <optional>
|
|
77
|
+
```
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: workflows.index
|
|
3
|
+
owner: architect-agent
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
severity: PERMANENT
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# INDEX — Workflows
|
|
9
|
+
|
|
10
|
+
## Agent identification (MANDATORY)
|
|
11
|
+
First line of the document:
|
|
12
|
+
`<icon> **<agent-name>**: <message>`
|
|
13
|
+
|
|
14
|
+
## Objective
|
|
15
|
+
List workflow entry points and indexes for the workflow domain.
|
|
16
|
+
|
|
17
|
+
## Input (REQUIRED)
|
|
18
|
+
- None (index).
|
|
19
|
+
|
|
20
|
+
## Output (REQUIRED)
|
|
21
|
+
- Workflow index updated with current aliases.
|
|
22
|
+
|
|
23
|
+
## Aliases (YAML)
|
|
24
|
+
```yaml
|
|
25
|
+
workflows:
|
|
26
|
+
init: .agent/workflows/init.md
|
|
27
|
+
tasklifecycle_long: .agent/workflows/tasklifecycle-long/index.md
|
|
28
|
+
tasklifecycle_short: .agent/workflows/tasklifecycle-short/index.md
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Pass
|
|
32
|
+
- Alias list is up to date and valid.
|
|
33
|
+
|
|
34
|
+
## Gate (REQUIRED)
|
|
35
|
+
Requirements (all mandatory):
|
|
36
|
+
1. This index file exists.
|
|
37
|
+
2. All aliased workflows resolve to valid paths.
|
|
38
|
+
|
|
39
|
+
If Gate FAIL:
|
|
40
|
+
- Block until resolved.
|
|
41
|
+
|
|
42
|
+
## Rules
|
|
43
|
+
- Any new workflow entry point MUST be added here.
|
|
44
|
+
- Phase workflows should be listed in their domain indexes (e.g., tasklifecycle-long).
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: workflow.init
|
|
3
|
+
owner: architect-agent
|
|
4
|
+
version: 4.1.0
|
|
5
|
+
severity: PERMANENT
|
|
6
|
+
trigger:
|
|
7
|
+
commands: ["init", "/init", "/bootstrap", "/agentic-init"]
|
|
8
|
+
blocking: true
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# WORKFLOW: init
|
|
12
|
+
|
|
13
|
+
## 0. Role Activation and Prefix (MANDATORY)
|
|
14
|
+
- The agent **MUST** start their intervention by identifying themselves.
|
|
15
|
+
- Message: `🏛️ **architect-agent**: Starting work session.`
|
|
16
|
+
|
|
17
|
+
## Input (REQUIRED)
|
|
18
|
+
- None (init).
|
|
19
|
+
|
|
20
|
+
## Objective (ONLY)
|
|
21
|
+
- Activate the **architect-agent** role.
|
|
22
|
+
- Load the minimum bootstrap indices.
|
|
23
|
+
- Load the constitution rules into context.
|
|
24
|
+
- Detect the conversation language and confirm explicitly.
|
|
25
|
+
- **Select the lifecycle strategy (Long/Short)**.
|
|
26
|
+
- Create the **task candidate** artifact `init.md`.
|
|
27
|
+
|
|
28
|
+
## Mandatory Steps
|
|
29
|
+
1. **Reasoning (MANDATORY)**
|
|
30
|
+
- Explain to the developer what will be done in this phase and why.
|
|
31
|
+
2. Use the `bootstrap_context` tool to load indices, constitutions, and core roles in a single step.
|
|
32
|
+
3. If the tool is unavailable, load the bootstrap indices and base constitutions manually.
|
|
33
|
+
4. Save the bundle output to `.agent/artifacts/candidate/bootstrap.md`.
|
|
34
|
+
5. Detect preferred language and ask for explicit confirmation (**YES**).
|
|
35
|
+
6. Select lifecycle strategy (**Long** or **Short**).
|
|
36
|
+
7. Create the `init.md` artifact using `templates.init`.
|
|
37
|
+
8. Evaluate Gate.
|
|
38
|
+
- The developer **MUST** explicitly confirm with a **YES**.
|
|
39
|
+
|
|
40
|
+
## Output (REQUIRED)
|
|
41
|
+
- Created artifact: `artifacts.candidate.init` (from `templates.init`).
|
|
42
|
+
- Created artifact: `artifacts.candidate.bootstrap` (bundle from `bootstrap_context`).
|
|
43
|
+
|
|
44
|
+
## Reasoning (MANDATORY)
|
|
45
|
+
- Before executing, the architect-agent must explain to the developer what will be done and why.
|
|
46
|
+
- No document is required for this step.
|
|
47
|
+
|
|
48
|
+
## Pass
|
|
49
|
+
- `init.md` is created from `templates.init`.
|
|
50
|
+
- Language is confirmed and strategy is set.
|
|
51
|
+
- `bootstrap.md` exists and contains the bundle.
|
|
52
|
+
|
|
53
|
+
## Gate (REQUIRED)
|
|
54
|
+
Requirements (all mandatory):
|
|
55
|
+
1. `artifacts.candidate.init` exists.
|
|
56
|
+
2. `artifacts.candidate.bootstrap` exists.
|
|
57
|
+
3. In `init.md` YAML: `language.confirmed == true` and `strategy` is defined.
|
|
58
|
+
4. The developer has explicitly approved with **YES**.
|
|
59
|
+
|
|
60
|
+
If Gate FAIL:
|
|
61
|
+
- Block until resolved.
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: workflow.tasklifecycle-long
|
|
3
|
+
owner: architect-agent
|
|
4
|
+
version: 6.0.0
|
|
5
|
+
severity: PERMANENT
|
|
6
|
+
description: Orchestrates the complete (Long) lifecycle of a task starting from a valid init.
|
|
7
|
+
trigger:
|
|
8
|
+
commands: ["tasklifecycle-long", "/tasklifecycle-long"]
|
|
9
|
+
blocking: true
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# WORKFLOW: tasklifecycle-long (Index)
|
|
13
|
+
|
|
14
|
+
## Required Indexes (MANDATORY)
|
|
15
|
+
This workflow does **NOT** define aliases outside its domain (`taskcycle-long`).
|
|
16
|
+
To use artifacts and templates, global indexes **MUST** be loaded:
|
|
17
|
+
|
|
18
|
+
- Artifacts index: `.agent/artifacts/index.md`
|
|
19
|
+
- Templates index: `.agent/templates/index.md`
|
|
20
|
+
|
|
21
|
+
## Domain Aliases: `taskcycle-long` (MANDATORY)
|
|
22
|
+
This workflow defines aliases **only** for the `taskcycle-long` (task lifecycle long) domain.
|
|
23
|
+
There is **one unique namespace** `aliases.taskcycle-long.phases.*` containing:
|
|
24
|
+
- `id`: Phase ID
|
|
25
|
+
- `workflow`: Path to the phase workflow file
|
|
26
|
+
|
|
27
|
+
## Aliases (YAML)
|
|
28
|
+
```yaml
|
|
29
|
+
aliases:
|
|
30
|
+
taskcycle-long:
|
|
31
|
+
phases:
|
|
32
|
+
phase_0:
|
|
33
|
+
id: phase-0-acceptance-criteria
|
|
34
|
+
workflow: .agent/workflows/tasklifecycle-long/phase-0-acceptance-criteria.md
|
|
35
|
+
phase_1:
|
|
36
|
+
id: phase-1-research
|
|
37
|
+
workflow: .agent/workflows/tasklifecycle-long/phase-1-research.md
|
|
38
|
+
phase_2:
|
|
39
|
+
id: phase-2-analysis
|
|
40
|
+
workflow: .agent/workflows/tasklifecycle-long/phase-2-analysis.md
|
|
41
|
+
phase_3:
|
|
42
|
+
id: phase-3-planning
|
|
43
|
+
workflow: .agent/workflows/tasklifecycle-long/phase-3-planning.md
|
|
44
|
+
phase_4:
|
|
45
|
+
id: phase-4-implementation
|
|
46
|
+
workflow: .agent/workflows/tasklifecycle-long/phase-4-implementation.md
|
|
47
|
+
phase_5:
|
|
48
|
+
id: phase-5-verification
|
|
49
|
+
workflow: .agent/workflows/tasklifecycle-long/phase-5-verification.md
|
|
50
|
+
phase_6:
|
|
51
|
+
id: phase-6-results-acceptance
|
|
52
|
+
workflow: .agent/workflows/tasklifecycle-long/phase-6-results-acceptance.md
|
|
53
|
+
phase_7:
|
|
54
|
+
id: phase-7-evaluation
|
|
55
|
+
workflow: .agent/workflows/tasklifecycle-long/phase-7-evaluation.md
|
|
56
|
+
phase_8:
|
|
57
|
+
id: phase-8-commit-push
|
|
58
|
+
workflow: .agent/workflows/tasklifecycle-long/phase-8-commit-push.md
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Input (REQUIRED)
|
|
62
|
+
- `init` artifact (bootstrap contract) exists as defined in the **Artifacts index**:
|
|
63
|
+
- `artifacts.candidate.init`
|
|
64
|
+
- The `init` artifact **MUST** contain in its YAML block:
|
|
65
|
+
- `language.value`: Not empty
|
|
66
|
+
- `language.confirmed == true`
|
|
67
|
+
- The developer **MUST have responded** to the question in **Section 8 of the `init` workflow**:
|
|
68
|
+
- Task definition
|
|
69
|
+
- Task objective
|
|
70
|
+
|
|
71
|
+
## Output (REQUIRED)
|
|
72
|
+
- Create task candidate (defined in the **Artifacts index**):
|
|
73
|
+
- `artifacts.candidate.task`
|
|
74
|
+
- The `task candidate` file **MUST** exactly follow the template (defined in the **Templates index**):
|
|
75
|
+
- `templates.task`
|
|
76
|
+
|
|
77
|
+
## Objective (ONLY)
|
|
78
|
+
- Verify minimum requirements to **start Phase 0** (mandatory inputs).
|
|
79
|
+
- Create the **task candidate** using the contractual template.
|
|
80
|
+
- Verify that phase workflows for the `taskcycle-long` domain exist and can be loaded.
|
|
81
|
+
- If any requirement is missing, **block** and request the minimum action needed to start **Phase 0**.
|
|
82
|
+
|
|
83
|
+
> This workflow does **NOT** track phase completion.
|
|
84
|
+
> Phase validation and advancement is the responsibility of the `architect-agent` within each phase (via its own gate).
|
|
85
|
+
|
|
86
|
+
## Dispatch / Routing (MANDATORY)
|
|
87
|
+
- Phase routing **MUST** be based on `task.phase.current`.
|
|
88
|
+
- The active phase **MUST** be mapped to `aliases.taskcycle-long.phases.*.workflow`.
|
|
89
|
+
- If no mapping exists → **FAIL** (invalid phase or corrupt index).
|
|
90
|
+
- Only the `architect-agent` can change `task.phase.current`.
|
|
91
|
+
|
|
92
|
+
## Mandatory Steps
|
|
93
|
+
1. Load global indexes:
|
|
94
|
+
- Load `.agent/artifacts/index.md` and `.agent/templates/index.md`.
|
|
95
|
+
- If they cannot be loaded → go to **Step 7 (FAIL)**.
|
|
96
|
+
|
|
97
|
+
2. Verify input:
|
|
98
|
+
- Check if `artifacts.candidate.init` exists.
|
|
99
|
+
- Read its YAML block and validate:
|
|
100
|
+
- `language.value`: Not empty
|
|
101
|
+
- `language.confirmed == true`
|
|
102
|
+
- If validation fails → go to **Step 7 (FAIL)**.
|
|
103
|
+
|
|
104
|
+
3. Load task contractual template:
|
|
105
|
+
- `templates.task`
|
|
106
|
+
- If it doesn't exist or cannot be loaded → go to **Step 7 (FAIL)**.
|
|
107
|
+
|
|
108
|
+
4. Create candidate directory (if missing):
|
|
109
|
+
- `artifacts.candidate.dir`
|
|
110
|
+
|
|
111
|
+
5. Create task candidate artifact:
|
|
112
|
+
- Write `artifacts.candidate.task`
|
|
113
|
+
- Content **MUST** comply with the template (do not omit mandatory keys).
|
|
114
|
+
- **MUST include** information provided by the developer:
|
|
115
|
+
- Task description
|
|
116
|
+
- Task objective
|
|
117
|
+
- Initialize `task.phase.current` to `aliases.taskcycle-long.phases.phase_0.id`.
|
|
118
|
+
- If creation/writing fails → go to **Step 7 (FAIL)**.
|
|
119
|
+
|
|
120
|
+
6. Verify phase availability (existence/load check only)
|
|
121
|
+
- Phase workflows **MUST** exist as files (they are not executed here):
|
|
122
|
+
- `aliases.taskcycle-long.phases.phase_0.workflow`
|
|
123
|
+
- `aliases.taskcycle-long.phases.phase_1.workflow`
|
|
124
|
+
- `aliases.taskcycle-long.phases.phase_2.workflow`
|
|
125
|
+
- `aliases.taskcycle-long.phases.phase_3.workflow`
|
|
126
|
+
- `aliases.taskcycle-long.phases.phase_4.workflow`
|
|
127
|
+
- `aliases.taskcycle-long.phases.phase_5.workflow`
|
|
128
|
+
- `aliases.taskcycle-long.phases.phase_6.workflow`
|
|
129
|
+
- `aliases.taskcycle-long.phases.phase_7.workflow`
|
|
130
|
+
- `aliases.taskcycle-long.phases.phase_8.workflow`
|
|
131
|
+
- If any are missing → go to **Step 7 (FAIL)**.
|
|
132
|
+
|
|
133
|
+
7. FAIL (mandatory)
|
|
134
|
+
- Declare `tasklifecycle` as **NOT ready to start Phase 0**.
|
|
135
|
+
- Specify the applicable case(s):
|
|
136
|
+
- Global indexes not loadable (`.agent/artifacts/index.md` / `.agent/templates/index.md`)
|
|
137
|
+
- `init` does not exist (`artifacts.candidate.init`)
|
|
138
|
+
- Language undefined or unconfirmed in `init`
|
|
139
|
+
- Template inaccessible (`templates.task`)
|
|
140
|
+
- Could not create `task candidate` (`artifacts.candidate.task`)
|
|
141
|
+
- One or more phase workflows are missing (`aliases.taskcycle-long.phases.*.workflow`)
|
|
142
|
+
- Request minimum corrective action:
|
|
143
|
+
- Run `init` logic
|
|
144
|
+
- Confirm language
|
|
145
|
+
- Fix global indexes
|
|
146
|
+
- Fix permissions/path for candidate creation
|
|
147
|
+
- Create/restore missing phase workflow
|
|
148
|
+
- End blocked: until errors are fixed, **Phase 0 cannot begin**.
|
|
149
|
+
|
|
150
|
+
## Official Phase Execution Order
|
|
151
|
+
Lifecycle phases **MUST be executed strictly in the established numerical order**.
|
|
152
|
+
Skipping, reordering, or parallelizing phases is not permitted.
|
|
153
|
+
|
|
154
|
+
Mandatory Order:
|
|
155
|
+
0. `aliases.taskcycle-long.phases.phase_0.id`
|
|
156
|
+
1. `aliases.taskcycle-long.phases.phase_1.id`
|
|
157
|
+
2. `aliases.taskcycle-long.phases.phase_2.id`
|
|
158
|
+
3. `aliases.taskcycle-long.phases.phase_3.id`
|
|
159
|
+
4. `aliases.taskcycle-long.phases.phase_4.id`
|
|
160
|
+
5. `aliases.taskcycle-long.phases.phase_5.id`
|
|
161
|
+
6. `aliases.taskcycle-long.phases.phase_6.id`
|
|
162
|
+
7. `aliases.taskcycle-long.phases.phase_7.id`
|
|
163
|
+
8. `aliases.taskcycle-long.phases.phase_8.id`
|
|
164
|
+
|
|
165
|
+
## Pass
|
|
166
|
+
- `artifacts.candidate.task` is created from `templates.task`.
|
|
167
|
+
- All required phase workflows exist.
|
|
168
|
+
|
|
169
|
+
## Gate (REQUIRED)
|
|
170
|
+
Requirements (all mandatory):
|
|
171
|
+
1. `artifacts.candidate.task` exists.
|
|
172
|
+
2. `artifacts.candidate.task` complies with the `templates.task` template.
|
|
173
|
+
3. All phase workflows listed in Step 6 are available (exist).
|
|
174
|
+
|
|
175
|
+
If Gate FAIL:
|
|
176
|
+
- Execute **Step 7 (FAIL)**.
|