Contributing
The Brain grows through community contributions. Three ways to help:
- Accept good Blueprints in the plugin. They flow back automatically.
- Submit node references + patterns via the Brain API.
- Propose corrections to existing entries when you spot a bug.
Auto-contribution (easiest)
When you accept a generated Blueprint in the Woalz Craft panel:
- The plugin computes a blueprint topology signature (SHA-256 of node types + connections).
- A quality score from objective metrics: connection rate, compile status (clean / warnings / errors), skipped-node count, correction passes.
- If
quality >= 0.90, the Blueprint is submitted toPOST /contribute/blueprint. - The Brain runs dedup:
- Exact signature match in Gold → rejected (already have it).
- Exact signature match in Candidate → merged (rolling average on quality).
- Semantic match ≥ 0.85 → rejected (near-duplicate).
- Otherwise → accepted as Candidate.
Candidates auto-promote to Gold when they accumulate quality ≥ 0.95, query_count ≥ 5, helpful_votes ≥ 3, unhelpful_votes == 0.
Submit a node reference
Node refs tell the AI "this node exists, here's what its pins do". They never appear as Blueprints; they're context.
POST /contribute/node-ref
Authorization: Bearer <write-key>
Content-Type: application/json
{
"node_name": "CreateActorOfClass",
"function_target": "",
"prompt": "Spawn an actor of the given class without a blueprint-level SpawnActor node",
"category": "Gameplay",
"pin_data": {
"inputs": [
{ "name": "ActorClass", "type": "class" },
{ "name": "Transform", "type": "FTransform" }
],
"outputs": [{ "name": "ReturnValue", "type": "Actor*" }]
},
"ue5_versions": ["5.5", "5.6", "5.7"],
"notes": "Prefer this over SpawnActorFromClass when you don't need post-spawn init."
}
Community-tier submissions go to pending and are reviewed by admins. Write-tier submissions are auto-approved.
Submit a pattern
Patterns are text-only guidance: "prefer X over Y" best practices that the AI should internalise.
POST /contribute/pattern
Authorization: Bearer <write-key>
{
"name": "Use Enhanced Input over legacy InputComponent",
"prompt": "For any new input handling, use InputAction + InputMappingContext",
"category": "Input",
"tags": ["input", "best-practice"],
"ue5_versions": ["5.1", "5.2", "5.3", "5.4", "5.5", "5.6", "5.7"],
"notes": "Legacy BindAxis / BindAction are deprecated..."
}
Propose a correction
Spot a broken entry? Suggest a fix via the review queue:
POST /entries/{entry_id}/propose-correction
Authorization: Bearer <any-valid-key>
{
"diff": {
"field": "ue5_versions",
"from": ["5.3", "5.4"],
"to": ["5.3", "5.4", "5.5", "5.6", "5.7"],
"reason": "Also works in 5.5+; verified on my project."
},
"reason": "Tested on UE 5.7 and works without changes.",
"evidence": "Ran compile + PIE on a blank project, clean."
}
Proposals land in /admin/review-queue for admin review. Approved → merged onto the entry; updated_at bumped so plugin caches invalidate.
Rate limits: 20 proposals per proposer per 24h. Duplicate-detection window: 7 days.
What NOT to submit
- Personal / private Blueprints: anything that references your game's proprietary assets, unique mechanics, or NDA content. Keep those in your project.
- Massively generic prompts: "a blueprint" with no specificity has low informational value.
- Broken Blueprints knowingly. Tier-raw is fine for "works with caveats", but outright broken entries get rejected on compile_score.
Credit + GDPR
contributed_byis normalized on ingest (email → SHA-256 hash, agent labels kept as-is). No raw PII at rest.- Request erasure via support@woalz.com. Admin can soft-delete (entry stays, authorship cleared) or hard-delete (row + stats removed).
Thanks for helping the Brain grow 🧠✨