create-harness-vibe-coding 0.7.2 → 0.8.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-CN.md +91 -155
- package/README.md +200 -177
- package/bin/create-harness-vibe-coding.js +2 -2
- package/package.json +45 -43
- package/src/generator.js +115 -77
- package/src/index.js +159 -49
- package/src/prompts.js +95 -27
- package/templates/common/.claude/agents/architect-manager.md +45 -45
- package/templates/common/.claude/agents/context-master.md +77 -77
- package/templates/common/.claude/agents/debugger.md +41 -41
- package/templates/common/.claude/agents/explore-manager.md +41 -41
- package/templates/common/.claude/agents/implement-manager.md +49 -49
- package/templates/common/.claude/agents/implementer.md +40 -40
- package/templates/common/.claude/agents/memory-master.md +66 -66
- package/templates/common/.claude/agents/planner.md +34 -34
- package/templates/common/.claude/agents/researcher.md +41 -41
- package/templates/common/.claude/agents/review-manager.md +56 -56
- package/templates/common/.claude/agents/test-writer.md +38 -38
- package/templates/common/.claude/agents/verifier.md +32 -32
- package/templates/common/.claude/rules/ecc/common.md +45 -45
- package/templates/common/.claude/settings.json +68 -68
- package/templates/common/.claude/skills/subagent-orchestrator/SKILL.md +36 -31
- package/templates/common/.claude/skills/wf/SKILL.md +36 -0
- package/templates/common/.claude/skills/wf-learn/SKILL.md +13 -28
- package/templates/common/.claude/skills/wf-max/SKILL.md +24 -88
- package/templates/common/.claude/skills/wf-readme/SKILL.md +49 -49
- package/templates/common/.claude/skills/wf-remove/SKILL.md +17 -38
- package/templates/common/.claude/skills/wf-review/SKILL.md +19 -69
- package/templates/common/.claude/skills/wf-update/SKILL.md +19 -61
- package/templates/common/.codex/config.toml +2 -2
- package/templates/common/.codex/hooks.json +37 -37
- package/templates/common/.harness-version +53 -51
- package/templates/common/AGENTS.md +30 -30
- package/templates/common/CLAUDE.md +94 -94
- package/templates/common/{docs/harness → Harness}/PROGRESS.md +17 -17
- package/templates/common/{docs → Harness}/README.md +18 -17
- package/templates/common/{docs/harness → Harness}/WF-MAX.md +223 -223
- package/templates/common/Harness/WF.md +217 -0
- package/templates/common/{docs/harness → Harness}/architecture.md +126 -126
- package/templates/common/{docs/harness → Harness}/dispatch.md +99 -99
- package/templates/common/{docs → Harness}/research/research-results.md +66 -66
- package/templates/common/{docs/harness → Harness}/subagents.md +194 -194
- package/templates/common/{docs → Harness}/tasks/_template/ARTIFACTS.md +3 -3
- package/templates/common/{docs → Harness}/tasks/_template/NOTES.md +3 -3
- package/templates/common/{docs → Harness}/tasks/_template/PLAN.md +40 -40
- package/templates/common/{docs → Harness}/tasks/_template/PROGRESS.md +29 -29
- package/templates/common/MEMORY.md +68 -66
- package/templates/common/README.md +44 -37
- package/templates/common/SETUP.md +41 -34
- package/templates/common/memory/agent-lessons-patterns.md +21 -21
- package/templates/common/memory/tool-usage-reflections.md +21 -21
- package/templates/common/memory/user-corrections-preferences.md +21 -21
- package/templates/common/scripts/scan-clean.mjs +450 -449
- package/templates/common/scripts/validate-harness.mjs +56 -34
- package/templates/common/scripts/wf-mode-hook.mjs +318 -318
- package/templates/common/scripts/wf-remove.mjs +400 -384
- package/templates/common/scripts/wf-statusline.ps1 +38 -38
- package/templates/common/scripts/wf-statusline.sh +48 -48
- package/templates/common/scripts/wf-update-check.mjs +389 -389
- package/templates/optional/catalog.json +63 -29
- package/templates/optional/skills/browser-e2e/.claude/skills/wf-browser/SKILL.md +194 -194
- package/templates/optional/skills/browser-e2e/{docs → Harness}/workflows/browser-e2e.md +75 -75
- package/templates/optional/skills/github-pr-review/{docs → Harness}/workflows/github-pr-review.md +28 -28
- package/templates/optional/skills/python-backend/{docs → Harness}/workflows/python-backend.md +34 -34
- package/templates/optional/skills/ts-react-frontend/{docs → Harness}/workflows/ts-react-frontend.md +35 -35
- package/templates/optional/skills/ui-ux-review/{docs → Harness}/workflows/ui-ux-review.md +26 -26
- package/templates/common/.claude/commands/wf-learn.md +0 -17
- package/templates/common/.claude/commands/wf-max.md +0 -49
- package/templates/common/.claude/commands/wf-remove.md +0 -23
- package/templates/common/.claude/commands/wf-review.md +0 -25
- package/templates/common/.claude/commands/wf-update.md +0 -17
- package/templates/common/.claude/commands/wf.md +0 -31
- package/templates/common/commands/wf-max.toml +0 -18
- package/templates/common/commands/wf-review.toml +0 -15
- package/templates/common/docs/harness/WF.md +0 -174
- package/templates/optional/skills/browser-e2e/.claude/commands/wf-browser.md +0 -25
- /package/templates/common/{docs/harness → Harness}/agent-workflow.md +0 -0
- /package/templates/common/{docs/harness → Harness}/context-loading.md +0 -0
- /package/templates/common/{docs/harness → Harness}/extension.md +0 -0
- /package/templates/common/{docs/harness → Harness}/lifecycle.md +0 -0
- /package/templates/common/{docs → Harness}/research/PRD.md +0 -0
- /package/templates/common/{docs → Harness}/research/README.md +0 -0
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
# Dispatch Protocol
|
|
2
|
-
|
|
3
|
-
Purpose: coordinate a small set of subagents without building a scheduler.
|
|
4
|
-
|
|
5
|
-
Use [subagents.md](subagents.md) for orchestration strategy. Use this file for the dispatch table, handoff format, and status protocol.
|
|
6
|
-
|
|
7
|
-
Use when work needs parallel reading, independent review, cross-layer analysis, or more than one bounded implementation pass.
|
|
8
|
-
|
|
9
|
-
## Principles
|
|
10
|
-
|
|
11
|
-
- Main agent owns the final decision, integration, and verification.
|
|
12
|
-
- project files are the only durable communication channel; chat/subagent transcript state is non-authoritative.
|
|
13
|
-
- Important assumptions, decisions, blockers, evidence, and handoffs must be written to `Harness/tasks/<task-id>/PROGRESS.md` and `Harness/tasks/<task-id>/PLAN.md`, the current feature doc, `Harness/MEMORY.md`, or `Harness/memory/*` as appropriate.
|
|
14
|
-
- Prefer three or fewer active agents (WF mode overrides this; see [WF.md](WF.md)).
|
|
15
|
-
- Read-only agents may run in parallel.
|
|
16
|
-
- Writing agents run serially unless write sets are disjoint.
|
|
17
|
-
- Use a worktree when two agents may touch overlapping files or long-running branches.
|
|
18
|
-
- Only summaries enter main context. Load named files directly when details are needed.
|
|
19
|
-
- Subagents read task files, return findings and PLAN patch suggestions. Only the main agent commits changes to PROGRESS.md and PLAN.md.
|
|
20
|
-
|
|
21
|
-
## Dispatch Loop
|
|
22
|
-
|
|
23
|
-
```text
|
|
24
|
-
Goal
|
|
25
|
-
-> Fill task PROGRESS.md and PLAN.md
|
|
26
|
-
-> Apply subagents.md efficiency ladder
|
|
27
|
-
-> Run parallel read-only agents
|
|
28
|
-
-> Main agent integrates findings
|
|
29
|
-
-> Test Writer defines failing test or manual check
|
|
30
|
-
-> Implementer makes bounded change
|
|
31
|
-
-> Reviewer checks diff
|
|
32
|
-
-> Verifier records evidence
|
|
33
|
-
-> Main agent updates task files and closes or iterates
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Modes
|
|
37
|
-
|
|
38
|
-
| Mode | Use When | Constraint |
|
|
39
|
-
| --- | --- | --- |
|
|
40
|
-
| Parallel Read | research, exploration, architecture review, docs/API check | no writes |
|
|
41
|
-
| Serial Write | tests, implementation, docs sync | one writer at a time |
|
|
42
|
-
| Isolated Worktree | overlapping write sets or competing approaches | merge only after review |
|
|
43
|
-
|
|
44
|
-
## Common Agents
|
|
45
|
-
|
|
46
|
-
| Agent | Mode | Purpose |
|
|
47
|
-
| --- | --- | --- |
|
|
48
|
-
| `planner` | Parallel Read | split goal into tasks, dependencies, write sets |
|
|
49
|
-
| Explorer Pass | Parallel Read | bounded read-only exploration when no dedicated agent is needed |
|
|
50
|
-
| `researcher` | Parallel Read | product, market, ecosystem, dependency research |
|
|
51
|
-
| `docs-researcher` | Parallel Read | official docs, API, SDK, version, limits |
|
|
52
|
-
| `architect` | Parallel Read | layer boundaries, ports, data flow, state impact |
|
|
53
|
-
| `test-writer` | Serial Write | failing test or manual verification plan |
|
|
54
|
-
| `implementer` | Serial Write | minimal change inside declared write set |
|
|
55
|
-
| `debugger` | Serial Write | smallest fix for a reproduced failure |
|
|
56
|
-
| `reviewer` | Parallel Read | diff review, risks, missing tests |
|
|
57
|
-
| `verifier` | Parallel Read | run checks and record evidence |
|
|
58
|
-
| `memory-master` | Serial Write | write/consolidate memory entries, dedup, cross-project extraction |
|
|
59
|
-
| `context-master` | Parallel Read | analyze context usage, recommend compression, extract session knowledge |
|
|
60
|
-
| `explore-manager` | Parallel Read | WF-MAX W0: spawn 5-10 researchers, synthesize, report to CEO |
|
|
61
|
-
| `architect-manager` | Parallel Read | WF-MAX W1: spawn 3 architects, synthesize interface contracts |
|
|
62
|
-
| `implement-manager` | Serial Write | WF-MAX W2: spawn implementers (one file_claim each), merge results |
|
|
63
|
-
| `review-manager` | Parallel Read | WF-MAX W2R: spawn 3-4 reviewers, deduplicate, classify severity |
|
|
64
|
-
|
|
65
|
-
## Dispatch Rules
|
|
66
|
-
|
|
67
|
-
- Every dispatch row needs task, agent, mode, read set, write set, dependency, output, and status.
|
|
68
|
-
- A write set of `none` means read-only.
|
|
69
|
-
- If two write sets overlap, do not run those agents in parallel.
|
|
70
|
-
- If an agent returns uncertainty, mark the row `Blocked` or add a follow-up row.
|
|
71
|
-
- If docs, tests, and code disagree, stop implementation and record the conflict in `Harness/tasks/<task-id>/PROGRESS.md`.
|
|
72
|
-
- In /wf max, file claims must respect WF-MAX.md leaf condition: no split below 50 avgLines, no split when files ≤ span×2.
|
|
73
|
-
|
|
74
|
-
## Handoff Format
|
|
75
|
-
|
|
76
|
-
Subagents return summaries in this shape:
|
|
77
|
-
|
|
78
|
-
```text
|
|
79
|
-
Agent:
|
|
80
|
-
Task:
|
|
81
|
-
Mode:
|
|
82
|
-
Files read:
|
|
83
|
-
Files changed:
|
|
84
|
-
Findings:
|
|
85
|
-
Evidence:
|
|
86
|
-
Risks:
|
|
87
|
-
Next:
|
|
88
|
-
PLAN patch:
|
|
89
|
-
Concurrency group: <wave number — 0=exploration, 1,2,3,...=implementation waves. Optional; only used in /wf max.>
|
|
90
|
-
File claim: <list of exact file paths this agent exclusively owns. Optional; only used in /wf max.>
|
|
91
|
-
Granularity floor: <50 avgLines → do NOT spawn. Apply leaf condition from WF-MAX.md.>
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
Use `Files changed: none` for read-only agents. Use `PLAN patch: none` when no state update is needed.
|
|
95
|
-
If a handoff matters after context loss, write it to `Harness/tasks/<task-id>/PROGRESS.md`, `Harness/tasks/<task-id>/PLAN.md`, the current feature doc, or `Harness/memory/*`; do not rely on chat transcript state.
|
|
96
|
-
|
|
97
|
-
## Statuses
|
|
98
|
-
|
|
99
|
-
Allowed dispatch statuses: Pending / In Progress / Returned / Integrated / Blocked / Verified.
|
|
1
|
+
# Dispatch Protocol
|
|
2
|
+
|
|
3
|
+
Purpose: coordinate a small set of subagents without building a scheduler.
|
|
4
|
+
|
|
5
|
+
Use [subagents.md](subagents.md) for orchestration strategy. Use this file for the dispatch table, handoff format, and status protocol.
|
|
6
|
+
|
|
7
|
+
Use when work needs parallel reading, independent review, cross-layer analysis, or more than one bounded implementation pass.
|
|
8
|
+
|
|
9
|
+
## Principles
|
|
10
|
+
|
|
11
|
+
- Main agent owns the final decision, integration, and verification.
|
|
12
|
+
- project files are the only durable communication channel; chat/subagent transcript state is non-authoritative.
|
|
13
|
+
- Important assumptions, decisions, blockers, evidence, and handoffs must be written to `Harness/tasks/<task-id>/PROGRESS.md` and `Harness/tasks/<task-id>/PLAN.md`, the current feature doc, `Harness/MEMORY.md`, or `Harness/memory/*` as appropriate.
|
|
14
|
+
- Prefer three or fewer active agents (WF mode overrides this; see [WF.md](WF.md)).
|
|
15
|
+
- Read-only agents may run in parallel.
|
|
16
|
+
- Writing agents run serially unless write sets are disjoint.
|
|
17
|
+
- Use a worktree when two agents may touch overlapping files or long-running branches.
|
|
18
|
+
- Only summaries enter main context. Load named files directly when details are needed.
|
|
19
|
+
- Subagents read task files, return findings and PLAN patch suggestions. Only the main agent commits changes to PROGRESS.md and PLAN.md.
|
|
20
|
+
|
|
21
|
+
## Dispatch Loop
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
Goal
|
|
25
|
+
-> Fill task PROGRESS.md and PLAN.md
|
|
26
|
+
-> Apply subagents.md efficiency ladder
|
|
27
|
+
-> Run parallel read-only agents
|
|
28
|
+
-> Main agent integrates findings
|
|
29
|
+
-> Test Writer defines failing test or manual check
|
|
30
|
+
-> Implementer makes bounded change
|
|
31
|
+
-> Reviewer checks diff
|
|
32
|
+
-> Verifier records evidence
|
|
33
|
+
-> Main agent updates task files and closes or iterates
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Modes
|
|
37
|
+
|
|
38
|
+
| Mode | Use When | Constraint |
|
|
39
|
+
| --- | --- | --- |
|
|
40
|
+
| Parallel Read | research, exploration, architecture review, docs/API check | no writes |
|
|
41
|
+
| Serial Write | tests, implementation, docs sync | one writer at a time |
|
|
42
|
+
| Isolated Worktree | overlapping write sets or competing approaches | merge only after review |
|
|
43
|
+
|
|
44
|
+
## Common Agents
|
|
45
|
+
|
|
46
|
+
| Agent | Mode | Purpose |
|
|
47
|
+
| --- | --- | --- |
|
|
48
|
+
| `planner` | Parallel Read | split goal into tasks, dependencies, write sets |
|
|
49
|
+
| Explorer Pass | Parallel Read | bounded read-only exploration when no dedicated agent is needed |
|
|
50
|
+
| `researcher` | Parallel Read | product, market, ecosystem, dependency research |
|
|
51
|
+
| `docs-researcher` | Parallel Read | official docs, API, SDK, version, limits |
|
|
52
|
+
| `architect` | Parallel Read | layer boundaries, ports, data flow, state impact |
|
|
53
|
+
| `test-writer` | Serial Write | failing test or manual verification plan |
|
|
54
|
+
| `implementer` | Serial Write | minimal change inside declared write set |
|
|
55
|
+
| `debugger` | Serial Write | smallest fix for a reproduced failure |
|
|
56
|
+
| `reviewer` | Parallel Read | diff review, risks, missing tests |
|
|
57
|
+
| `verifier` | Parallel Read | run checks and record evidence |
|
|
58
|
+
| `memory-master` | Serial Write | write/consolidate memory entries, dedup, cross-project extraction |
|
|
59
|
+
| `context-master` | Parallel Read | analyze context usage, recommend compression, extract session knowledge |
|
|
60
|
+
| `explore-manager` | Parallel Read | WF-MAX W0: spawn 5-10 researchers, synthesize, report to CEO |
|
|
61
|
+
| `architect-manager` | Parallel Read | WF-MAX W1: spawn 3 architects, synthesize interface contracts |
|
|
62
|
+
| `implement-manager` | Serial Write | WF-MAX W2: spawn implementers (one file_claim each), merge results |
|
|
63
|
+
| `review-manager` | Parallel Read | WF-MAX W2R: spawn 3-4 reviewers, deduplicate, classify severity |
|
|
64
|
+
|
|
65
|
+
## Dispatch Rules
|
|
66
|
+
|
|
67
|
+
- Every dispatch row needs task, agent, mode, read set, write set, dependency, output, and status.
|
|
68
|
+
- A write set of `none` means read-only.
|
|
69
|
+
- If two write sets overlap, do not run those agents in parallel.
|
|
70
|
+
- If an agent returns uncertainty, mark the row `Blocked` or add a follow-up row.
|
|
71
|
+
- If docs, tests, and code disagree, stop implementation and record the conflict in `Harness/tasks/<task-id>/PROGRESS.md`.
|
|
72
|
+
- In /wf max, file claims must respect WF-MAX.md leaf condition: no split below 50 avgLines, no split when files ≤ span×2.
|
|
73
|
+
|
|
74
|
+
## Handoff Format
|
|
75
|
+
|
|
76
|
+
Subagents return summaries in this shape:
|
|
77
|
+
|
|
78
|
+
```text
|
|
79
|
+
Agent:
|
|
80
|
+
Task:
|
|
81
|
+
Mode:
|
|
82
|
+
Files read:
|
|
83
|
+
Files changed:
|
|
84
|
+
Findings:
|
|
85
|
+
Evidence:
|
|
86
|
+
Risks:
|
|
87
|
+
Next:
|
|
88
|
+
PLAN patch:
|
|
89
|
+
Concurrency group: <wave number — 0=exploration, 1,2,3,...=implementation waves. Optional; only used in /wf max.>
|
|
90
|
+
File claim: <list of exact file paths this agent exclusively owns. Optional; only used in /wf max.>
|
|
91
|
+
Granularity floor: <50 avgLines → do NOT spawn. Apply leaf condition from WF-MAX.md.>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Use `Files changed: none` for read-only agents. Use `PLAN patch: none` when no state update is needed.
|
|
95
|
+
If a handoff matters after context loss, write it to `Harness/tasks/<task-id>/PROGRESS.md`, `Harness/tasks/<task-id>/PLAN.md`, the current feature doc, or `Harness/memory/*`; do not rely on chat transcript state.
|
|
96
|
+
|
|
97
|
+
## Statuses
|
|
98
|
+
|
|
99
|
+
Allowed dispatch statuses: Pending / In Progress / Returned / Integrated / Blocked / Verified.
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
# {{projectName}} - Research Results
|
|
2
|
-
|
|
3
|
-
> **Purpose**: Record final research results and decisions. Use [README.md](README.md) for process, tools, queries, and research-agent rules.
|
|
4
|
-
> **Principle**: Each candidate has a clear Purpose / Strength / Weakness / Decision.
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Research Date
|
|
9
|
-
|
|
10
|
-
{{YYYY-MM-DD}}
|
|
11
|
-
|
|
12
|
-
## Research Goal
|
|
13
|
-
|
|
14
|
-
{{WHAT_YOU_ARE_RESEARCHING}}
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Candidate References
|
|
19
|
-
|
|
20
|
-
### 1) {{CANDIDATE_1}}
|
|
21
|
-
|
|
22
|
-
- **What it is**: {{DESCRIPTION}}
|
|
23
|
-
- **Source Type**: {{OFFICIAL_DOCS / GITHUB_REPO / COMMUNITY / PAPER / OTHER}}
|
|
24
|
-
- **Checked Date**: {{YYYY-MM-DD}}
|
|
25
|
-
- **Strengths**: {{STRENGTHS}}
|
|
26
|
-
- **Weaknesses**: {{WEAKNESSES}}
|
|
27
|
-
- **Decision**: {{ADOPT / REJECT / WATCH}}
|
|
28
|
-
- **Link**: {{URL}}
|
|
29
|
-
|
|
30
|
-
### 2) {{CANDIDATE_2}}
|
|
31
|
-
|
|
32
|
-
- **What it is**: {{DESCRIPTION}}
|
|
33
|
-
- **Source Type**: {{OFFICIAL_DOCS / GITHUB_REPO / COMMUNITY / PAPER / OTHER}}
|
|
34
|
-
- **Checked Date**: {{YYYY-MM-DD}}
|
|
35
|
-
- **Strengths**: {{STRENGTHS}}
|
|
36
|
-
- **Weaknesses**: {{WEAKNESSES}}
|
|
37
|
-
- **Decision**: {{ADOPT / REJECT / WATCH}}
|
|
38
|
-
- **Link**: {{URL}}
|
|
39
|
-
|
|
40
|
-
### 3) {{CANDIDATE_3}}
|
|
41
|
-
|
|
42
|
-
- **What it is**: {{DESCRIPTION}}
|
|
43
|
-
- **Source Type**: {{OFFICIAL_DOCS / GITHUB_REPO / COMMUNITY / PAPER / OTHER}}
|
|
44
|
-
- **Checked Date**: {{YYYY-MM-DD}}
|
|
45
|
-
- **Strengths**: {{STRENGTHS}}
|
|
46
|
-
- **Weaknesses**: {{WEAKNESSES}}
|
|
47
|
-
- **Decision**: {{ADOPT / REJECT / WATCH}}
|
|
48
|
-
- **Link**: {{URL}}
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## Final Decision
|
|
53
|
-
|
|
54
|
-
- **Architecture Style**: {{DECISION}}
|
|
55
|
-
- **Core References**: {{REFERENCES}}
|
|
56
|
-
- **Key Constraints**:
|
|
57
|
-
- {{CONSTRAINT_1}}
|
|
58
|
-
- {{CONSTRAINT_2}}
|
|
59
|
-
- {{CONSTRAINT_3}}
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## Not Adopted But Worth Watching
|
|
64
|
-
|
|
65
|
-
- {{ALTERNATIVE_1}}
|
|
66
|
-
- {{ALTERNATIVE_2}}
|
|
1
|
+
# {{projectName}} - Research Results
|
|
2
|
+
|
|
3
|
+
> **Purpose**: Record final research results and decisions. Use [README.md](README.md) for process, tools, queries, and research-agent rules.
|
|
4
|
+
> **Principle**: Each candidate has a clear Purpose / Strength / Weakness / Decision.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Research Date
|
|
9
|
+
|
|
10
|
+
{{YYYY-MM-DD}}
|
|
11
|
+
|
|
12
|
+
## Research Goal
|
|
13
|
+
|
|
14
|
+
{{WHAT_YOU_ARE_RESEARCHING}}
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Candidate References
|
|
19
|
+
|
|
20
|
+
### 1) {{CANDIDATE_1}}
|
|
21
|
+
|
|
22
|
+
- **What it is**: {{DESCRIPTION}}
|
|
23
|
+
- **Source Type**: {{OFFICIAL_DOCS / GITHUB_REPO / COMMUNITY / PAPER / OTHER}}
|
|
24
|
+
- **Checked Date**: {{YYYY-MM-DD}}
|
|
25
|
+
- **Strengths**: {{STRENGTHS}}
|
|
26
|
+
- **Weaknesses**: {{WEAKNESSES}}
|
|
27
|
+
- **Decision**: {{ADOPT / REJECT / WATCH}}
|
|
28
|
+
- **Link**: {{URL}}
|
|
29
|
+
|
|
30
|
+
### 2) {{CANDIDATE_2}}
|
|
31
|
+
|
|
32
|
+
- **What it is**: {{DESCRIPTION}}
|
|
33
|
+
- **Source Type**: {{OFFICIAL_DOCS / GITHUB_REPO / COMMUNITY / PAPER / OTHER}}
|
|
34
|
+
- **Checked Date**: {{YYYY-MM-DD}}
|
|
35
|
+
- **Strengths**: {{STRENGTHS}}
|
|
36
|
+
- **Weaknesses**: {{WEAKNESSES}}
|
|
37
|
+
- **Decision**: {{ADOPT / REJECT / WATCH}}
|
|
38
|
+
- **Link**: {{URL}}
|
|
39
|
+
|
|
40
|
+
### 3) {{CANDIDATE_3}}
|
|
41
|
+
|
|
42
|
+
- **What it is**: {{DESCRIPTION}}
|
|
43
|
+
- **Source Type**: {{OFFICIAL_DOCS / GITHUB_REPO / COMMUNITY / PAPER / OTHER}}
|
|
44
|
+
- **Checked Date**: {{YYYY-MM-DD}}
|
|
45
|
+
- **Strengths**: {{STRENGTHS}}
|
|
46
|
+
- **Weaknesses**: {{WEAKNESSES}}
|
|
47
|
+
- **Decision**: {{ADOPT / REJECT / WATCH}}
|
|
48
|
+
- **Link**: {{URL}}
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Final Decision
|
|
53
|
+
|
|
54
|
+
- **Architecture Style**: {{DECISION}}
|
|
55
|
+
- **Core References**: {{REFERENCES}}
|
|
56
|
+
- **Key Constraints**:
|
|
57
|
+
- {{CONSTRAINT_1}}
|
|
58
|
+
- {{CONSTRAINT_2}}
|
|
59
|
+
- {{CONSTRAINT_3}}
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Not Adopted But Worth Watching
|
|
64
|
+
|
|
65
|
+
- {{ALTERNATIVE_1}}
|
|
66
|
+
- {{ALTERNATIVE_2}}
|