How to produce and consume contributions via the synergy system — required inputs before work, structured output format
Before a task enters WORK stage, contributors provide input. These are REQUIREMENTS, not suggestions. The brain blocks dispatch without them.
Source of truth: config/synergy-matrix.yaml
| From | Type | Priority | What |
|---|---|---|---|
| Architect | design_input | required | Architecture constraints, patterns, integration points |
| QA | qa_test_definition | required | Structured TC-XXX test criteria, edge cases |
| DevSecOps | security_requirement | conditional | Threat model, required controls (if security-relevant) |
| UX | ux_spec | conditional | Interaction states, accessibility (if user-facing) |
| From | Type | Priority | What |
|---|---|---|---|
| Engineer | feasibility_assessment | recommended | Can we build this? Implementation constraints |
| DevSecOps | security_review | conditional | Architecture security assessment |
| From | Type | Priority | What |
|---|---|---|---|
| Architect | infrastructure_design | required | Deployment architecture, scaling strategy |
| DevSecOps | security_requirement | conditional | Infrastructure security requirements |
| Engineer | application_requirements | recommended | What the application needs from infrastructure |
| Delivery Phase | Required Contributions |
|---|---|
| idea/conceptual | Architect only |
| poc | Architect only |
| mvp | Architect + QA + DevSecOps (if applicable) |
| staging | + Technical Writer |
| production | ALL applicable contributions required |
arch_design_contribution(task_id) — prepares contextqa_test_predefinition(task_id) — prepares TC-XXX contextsec_contribution(task_id) — prepares security contextux_spec_contribution(task_id) — prepares UX contextdevops_deployment_contribution(task_id) — prepares infra contextwriter_doc_contribution(task_id) — prepares doc contextBad: "Be secure" / "Write good tests" / "Consider UX" Good:
fleet_contribute(
task_id=TARGET_TASK_ID,
contribution_type="design_input", # or qa_test_definition, security_requirement, etc.
content=YOUR_SPECIFIC_CONTENT
)
This posts a typed comment on the target task, embeds in the target agent's context, checks completeness (all required received?), and notifies PM when complete.
Call eng_contribution_check(task_id) (engineer) or pm_contribution_check(task_id) (PM).
Contributions appear as typed comments: **Contribution (design_input)** from architect:
They are also embedded in your task-context.md at dispatch time.
fleet_request_input(task_id, from_role="architect", question="Need design input for auth middleware")
Do NOT proceed to work stage without required contributions.
Every contribution action is recorded:
fleet_contribute → trail event with contributor, type, target