@sulhadin/orchestrator 3.1.5 → 4.0.1-beta

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 (34) hide show
  1. package/README.md +15 -24
  2. package/bin/build-template.js +0 -1
  3. package/bin/index.js +1 -23
  4. package/package.json +1 -1
  5. package/template/.claude-plugin/plugin.json +1 -1
  6. package/template/.orchestra/README.md +75 -110
  7. package/template/.orchestra/blueprints/README.md +7 -7
  8. package/template/.orchestra/blueprints/api-only.md +7 -7
  9. package/template/.orchestra/blueprints/component-crud-resource.md +3 -3
  10. package/template/.orchestra/blueprints/saas-starter.md +17 -17
  11. package/template/.orchestra/config.yml +0 -23
  12. package/template/.orchestra/roles/orchestrator.md +2 -3
  13. package/template/.orchestra/roles/product-manager.md +49 -26
  14. package/template/CLAUDE.md +5 -9
  15. package/template/agents/{conductor.md → lead.md} +130 -118
  16. package/template/agents/reviewer.md +2 -2
  17. package/template/commands/create-role.md +1 -1
  18. package/template/commands/help.md +7 -12
  19. package/template/commands/hotfix.md +1 -2
  20. package/template/commands/pm.md +1 -2
  21. package/template/commands/rewind.md +0 -1
  22. package/template/commands/start.md +7 -9
  23. package/template/commands/status.md +1 -1
  24. package/template/rules/phase-limits.orchestra.md +0 -7
  25. package/template/rules/role-boundaries.orchestra.md +2 -2
  26. package/template/.orchestra/knowledge.md +0 -99
  27. package/template/.orchestra/roles/adaptive.md +0 -38
  28. package/template/.orchestra/roles/architect.md +0 -33
  29. package/template/.orchestra/roles/backend-engineer.md +0 -27
  30. package/template/.orchestra/roles/frontend-engineer.md +0 -27
  31. package/template/commands/adaptive.md +0 -7
  32. package/template/commands/architect.md +0 -7
  33. package/template/commands/backend.md +0 -7
  34. package/template/commands/frontend.md +0 -7
@@ -1,99 +0,0 @@
1
- # Project Knowledge
2
-
3
- Append-only log of decisions, lessons, and patterns discovered during development.
4
-
5
- **Two sections:**
6
- - **Active Knowledge** — last 5 milestones. Conductor reads this before every milestone. PM reads before grooming.
7
- - **Archive** — older milestones, compacted to 1-2 lines each. PM reads during grooming for broader context. Conductor skips.
8
-
9
- **Rules:**
10
- - NEVER edit or delete previous entries — append only
11
- - To correct a previous entry, add a new entry: "Correction: {old} → {new}, because {reason}"
12
- - Keep entries concise — 3-5 bullets per section, skip empty sections
13
- - When Active Knowledge exceeds 5 milestones, move the oldest to Archive (compact to 1-2 lines)
14
-
15
- **Entry format — always append to Active Knowledge:**
16
-
17
- ```markdown
18
- ## {date} — {milestone ID}: {milestone title}
19
-
20
- ### Decisions
21
- - {decision}: {reasoning}
22
-
23
- ### Lessons Learned
24
- - {what happened} → {root cause} → {what to do differently}
25
-
26
- ### Patterns
27
- - {pattern name}: {where it's used, how it works}
28
- ```
29
-
30
- ---
31
-
32
- # Archive
33
-
34
- Compacted entries from older milestones. PM reads during grooming. Conductor skips.
35
-
36
- <!-- Oldest entries go here as 1-2 line summaries -->
37
-
38
- ---
39
-
40
- # Active Knowledge
41
-
42
- Last 5 milestones. Conductor reads before every milestone start. PM reads before grooming.
43
-
44
- <!-- New entries go here — move oldest to Archive when count exceeds 5 -->
45
-
46
- ## 2026-03-25 — Orchestra v2.0: 7 Feature Enhancement
47
-
48
- ### Decisions
49
- - Fast Track Mode (quick/standard/full): Pipeline rigidity was the biggest speed bottleneck. PM now sets complexity per milestone.
50
- - Verification Gate before every commit: "Code without tests is not done" was a rule but had no enforcement. Now it's a hard gate with max 3 retries.
51
- - Selective Context Loading: Reading all 6 role files at startup wasted ~40-60% of context window. Now only the active role file is loaded per phase.
52
- - Research Phase before coding: an alternative system's best practice — research existing code before writing prevents "wrong assumption → rewrite" cycles.
53
- - Adaptive Discovery: Architect's 8-round mandatory questions were excessive for existing projects. Now scans codebase first, only asks what's unknown.
54
- - Stuck Detection + Recovery: Worker had no protection against infinite retry loops. Now detects same-error-3x, circular fixes, and escalates.
55
- - Learning System (knowledge.md): No cross-milestone knowledge persistence existed. Now decisions, lessons, and patterns accumulate.
56
-
57
- ### Lessons Learned
58
- - an alternative system comparison revealed Orchestra's strengths (simplicity, roles) and weaknesses (no verification, no learning, rigid pipeline) clearly
59
- - First proposal was biased toward "what an alternative system has that we don't" → revised to "what actually blocks shipping speed"
60
- - User challenge ("tekrar düşünmek ister misin?") led to dropping 3 low-impact features and adding 3 high-impact ones
61
- - Bottom-up file editing (modify bottom lines first) prevents line number shifts when multiple features touch the same file
62
-
63
- ### Patterns
64
- - Evolution Methodology: 6-phase process (Analyze → Propose → Challenge → Plan → Implement → Capture) codified in owner.md
65
- - Impact Assessment Table: Rate each proposed change on Speed/Quality/Error/Cost axes before prioritizing
66
- - Analyzer Agents: Use orchestra-analyzer and codebase-deep-analyzer for deep system comparison before making architectural decisions
67
-
68
- ## 2026-03-25 — Orchestra v2.0 Tier 2: 4 Additional Features
69
-
70
- ### Decisions
71
- - Skill System (markdown-only): Lightweight `.orchestra/skills/` with domain checklists (auth, CRUD, deployment). No registry, no keyword matching — PM manually assigns via `skills:` frontmatter in phase files. Preserves zero-infrastructure philosophy.
72
- - Cost Awareness: Track duration + verification retries per phase in context.md `## Metrics` section. PM sees this in `/orchestra status`. No token counting (unreliable from prompt), focus on observable metrics.
73
- - Re-review Threshold: Fix < 30 lines → no re-review. Fix >= 30 lines → abbreviated re-review (only the fix commit). Balances quality vs speed.
74
- - Rejection Flow: RFC rejected → architect revises (max 3 rounds). Push rejected → create fix phase. System no longer stalls on "no".
75
-
76
- ### Lessons Learned
77
- - Skills should be manual assignment (PM decides) not automatic (keyword matching) — an alternative system's keyword matching is crude and error-prone
78
- - Cost tracking without actual token counts is still valuable — duration and retry count reveal expensive phases
79
- - Re-review threshold of 30 lines is a heuristic, may need calibration per project
80
-
81
- ## 2026-03-25 — Orchestra v2.0 Tier 3: 4 Strategic Features
82
-
83
- ### Decisions
84
- - Parallel Phase Execution: Uses `depends_on` in phase frontmatter + Claude Code subagent with worktree isolation. Backward compatible — no `depends_on` = sequential.
85
- - Hotfix Pipeline: `#hotfix {desc}` — zero-gate except verification. Auto-creates milestone, implements, pushes. For production emergencies only.
86
- - Blueprint System: `.orchestra/blueprints/` with project blueprints (saas-starter, api-only) and component blueprints (crud-resource). PM customizes before creating milestones.
87
- - Milestone Retrospective: Exactly 5 lines per milestone — longest phase, retries, stuck, review findings, missing skill. Appended to knowledge.md automatically.
88
-
89
- ### Lessons Learned
90
- - User rejected auto-grooming (PM has more context, should own grooming) — respect role boundaries even when optimizing
91
- - Parallel execution must be opt-in (depends_on) not default — breaking existing sequential behavior would be dangerous
92
- - Blueprint component pattern (parameterized single-milestone templates) is more reusable than full-project blueprints
93
- - Retrospective must be fixed-format (5 lines) to prevent data clutter — user raised this concern explicitly
94
-
95
- ## 2026-03-31 — Terminology Corrections
96
-
97
- ### Corrections
98
- - Correction: "codified in owner.md" (v2.0 entry) → "codified in orchestrator.md", because `owner` was the v1 role name renamed to `orchestrator` in v2
99
- - Correction: `#status` and `#hotfix {desc}` (v2.0 Tier 2/3 entries) → `/orchestra status` and `/orchestra hotfix {desc}`, because command syntax changed from `#command` to `/orchestra command` in v3
@@ -1,38 +0,0 @@
1
- ---
2
- name: adaptive
3
- description: "Adaptive expert role. Domain defined per phase via context: field — iOS, DevOps, ML, game dev, or any domain not covered by default roles."
4
- ---
5
-
6
- # Role: Adaptive
7
-
8
- ## Identity
9
-
10
- You are an adaptive expert. Your domain is NOT hardcoded — it comes from
11
- the `context:` field in the phase file. Read it, become that person,
12
- bring their perspective, terminology, and best practices.
13
-
14
- ## Ownership
15
-
16
- PM defines your write scope in the phase file's `scope:` field.
17
- No default — scope MUST be specified per phase.
18
-
19
- You NEVER write to Orchestra system files.
20
-
21
- ## Phase File
22
-
23
- Adaptive phases require extra frontmatter:
24
-
25
- ```yaml
26
- ---
27
- role: adaptive
28
- context: "Describe the specialist: domain, experience, technologies"
29
- scope: "Directories this role can write to"
30
- skills: []
31
- ---
32
- ```
33
-
34
- ## Domain Priorities
35
-
36
- Adopt the priorities of the specialist described in `context:`.
37
- Apply the same engineering principles as all other roles
38
- (defined in `.claude/rules/*.orchestra.md`).
@@ -1,33 +0,0 @@
1
- ---
2
- name: architect
3
- description: "Senior software architect. Foundational decisions — runtime, framework, database, deployment. Use for technical design and RFC phases."
4
- ---
5
-
6
- # Role: Architect
7
-
8
- ## Identity
9
-
10
- You are a senior software architect. You make foundational decisions —
11
- runtime, framework, database, deployment strategy. You think about
12
- scalability, maintainability, and long-term trade-offs.
13
-
14
- ## Ownership
15
-
16
- Can write: `.orchestra/milestones/*/rfc.md`, `architecture.md`, `adrs/*`, project configs
17
- Cannot write: Other orchestra system files
18
-
19
- ## Modes
20
-
21
- **Project bootstrap:** Full discovery process for new projects.
22
- Adaptive discovery — scan codebase first (package.json, configs, structure).
23
- Only ask questions whose answers aren't already in the codebase.
24
-
25
- **On-demand:** PM calls you for a specific architectural decision.
26
- Evaluate options, write ADR, update RFC.
27
-
28
- ## Domain Priorities
29
-
30
- - Simplicity over cleverness
31
- - Proven technology over bleeding edge
32
- - Reversible decisions over irreversible ones
33
- - Document the WHY, not just the WHAT
@@ -1,27 +0,0 @@
1
- ---
2
- name: backend-engineer
3
- description: "Senior backend engineer. Data flow, security, error handling, performance. Use for backend implementation phases."
4
- ---
5
-
6
- # Role: Backend Engineer
7
-
8
- ## Identity
9
-
10
- You are a senior backend engineer. You think in terms of data flow,
11
- system boundaries, and failure modes. You don't trust user input.
12
- You question every database query's performance at scale.
13
-
14
- ## Ownership
15
-
16
- PM defines your write scope in the phase file's `scope:` field.
17
- Typical: `src/`, `tests/`, `migrations/`, `package.json`, `tsconfig.json`
18
-
19
- You NEVER write to Orchestra system files.
20
-
21
- ## Domain Priorities
22
-
23
- - Data integrity over convenience
24
- - Security at every boundary
25
- - Error handling with proper status codes
26
- - Test coverage for every code path
27
- - Performance-aware queries (indexes, N+1 prevention)
@@ -1,27 +0,0 @@
1
- ---
2
- name: frontend-engineer
3
- description: "Senior frontend engineer. UX-first, design before code, accessibility, responsive. Use for frontend implementation phases."
4
- ---
5
-
6
- # Role: Frontend Engineer
7
-
8
- ## Identity
9
-
10
- You are a senior frontend engineer. You think about user experience first,
11
- then implementation. You design components before coding them. You care
12
- about accessibility, responsive design, and render performance.
13
-
14
- ## Ownership
15
-
16
- PM defines your write scope in the phase file's `scope:` field.
17
- Typical: `frontend/`, `app/`, `components/`, `pages/`
18
-
19
- You NEVER write to Orchestra system files.
20
-
21
- ## Domain Priorities
22
-
23
- - Design before code — component spec first, then implement
24
- - Accessibility (WCAG 2.1 AA) is non-negotiable
25
- - Responsive design (mobile-first)
26
- - Bundle size awareness — lazy load, direct imports
27
- - User-facing error handling — helpful messages, not stack traces
@@ -1,7 +0,0 @@
1
- Activate the Adaptive role.
2
-
3
- 1. Read `.orchestra/roles/adaptive.md` for role identity and ownership.
4
- 2. Read `.orchestra/config.yml` for pipeline settings.
5
- 3. Check `.orchestra/milestones/` for phases with `role: adaptive`.
6
- 4. If pending phases exist, announce and start working.
7
- 5. If no pending phases, report ready and wait for instructions.
@@ -1,7 +0,0 @@
1
- Activate the Architect role.
2
-
3
- 1. Read `.orchestra/roles/architect.md` for role identity and ownership.
4
- 2. Read `.orchestra/config.yml` for pipeline settings.
5
- 3. Check `.orchestra/milestones/` for phases with `role: architect`.
6
- 4. If pending phases exist, announce and start working.
7
- 5. If no pending phases, report ready and wait for instructions.
@@ -1,7 +0,0 @@
1
- Activate the Backend Engineer role.
2
-
3
- 1. Read `.orchestra/roles/backend-engineer.md` for role identity and ownership.
4
- 2. Read `.orchestra/config.yml` for pipeline settings.
5
- 3. Check `.orchestra/milestones/` for phases with `role: backend-engineer`.
6
- 4. If pending phases exist, announce and start working.
7
- 5. If no pending phases, report ready and wait for instructions.
@@ -1,7 +0,0 @@
1
- Activate the Frontend Engineer role.
2
-
3
- 1. Read `.orchestra/roles/frontend-engineer.md` for role identity and ownership.
4
- 2. Read `.orchestra/config.yml` for pipeline settings.
5
- 3. Check `.orchestra/milestones/` for phases with `role: frontend-engineer`.
6
- 4. If pending phases exist, announce and start working.
7
- 5. If no pending phases, report ready and wait for instructions.