fix: sync context contract, tool roster, and version with current platform #2

Merged
basilensis merged 1 commits from fix/sync-context-and-tools into main 2026-09-07 09:38:42 +00:00
3 changed files with 44 additions and 34 deletions
+6 -7
View File
@@ -30,16 +30,15 @@ Sign in once at [spaghetti.gg](https://spaghetti.gg) — your account is created
## Project context (optional)
Your UE5 project can have a `.spaghetti` file at its root:
Your UE5 project can be linked to a Spaghetti team and project. With the Spaghetti editor connector (UE 5.8+) installed, the link lives in the project's own configuration — Project Settings → Plugins → Spaghetti — persisted to `Config/DefaultGame.ini`:
```json
{
"team_id": "your-team-uuid",
"project_id": "your-project-uuid"
}
```ini
[/Script/Spaghetti.SpaghettiProjectSettings]
TeamId=your-team-uuid
ProjectId=your-project-uuid
```
Team and project ids are UUIDs; a setup CLI that fetches them and writes this file automatically is coming. Until then, all tools also work on your personal account without this file. The file is safe to commit to Git/Perforce (no secrets).
No secrets — safe to commit to Git/Perforce. Everyone opening the project works on the same team/project, while each user still signs in individually. Automatic team/project wiring is on the roadmap; until then, all tools also work on your personal account without any context. Details: [spaghetti.gg/docs](https://spaghetti.gg/docs).
## Structure
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "unreal-workbench",
"version": "0.1.1",
"version": "0.3.1",
"description": "Unreal Engine 5 agent tools — log analysis, asset auditing, engine docs research, script generation. Powered by Spaghetti Unreal AI Workbench.",
"author": {
"name": "Tinirau Ltd",
+37 -26
View File
@@ -1,7 +1,7 @@
---
name: ue5-unreal
description: >
Unreal Engine 5 development assistant — crash analysis, asset auditing,
Unreal Engine 5 development assistant — log analysis, asset auditing,
knowledge-base search, and Python script generation via Spaghetti Unreal AI
Workbench. Call these tools when the user is working in a UE5 project and
needs expert help with crashes, asset cleanup, engine docs, or editor
@@ -17,28 +17,32 @@ connect — a browser window opens for sign-in at spaghetti.gg).
## Prerequisites
Your UE5 project must have a `.spaghetti` file at its root containing
`team_id` and `project_id`. If no `.spaghetti` exists, the first tool call
returns an Agentic Directive instructing you to create one. Follow it.
Project context is **optional**. If present, it lives in the project's
`Config/DefaultGame.ini` under `[/Script/Spaghetti.SpaghettiProjectSettings]`
(`TeamId`, `ProjectId`, written by the Spaghetti editor connector's Project
Settings page). If the section is absent, tools run on the user's personal
account — that is a valid state, not an error. Do not hand-edit the ini while
the editor is running (the editor owns that file); context changes go through
the connector's Project Settings.
## Available tools (Phase 1 — MVP)
## Available tools
### Crash Investigator (`spaghetti/analyze_crash`)
### Log Analyzer (`analyze_logs`)
**When to call:** The user reports a UE5 crash, paste an output log, or
mentions a crash dump / minidump.
**When to call:** The user reports a UE5 crash, pastes an output log, or
mentions a crash dump / minidump — or wants structured findings from any UE
log file.
**What it does:** Parses the UE5 Output Log and crash dumps, identifies
root-cause nodes or C++ pointers, and returns a precise fix with context from
the proprietary UE5 bug knowledge base.
**Input:** Crash log text (paste the Output Log contents or the relevant
section).
**Input:** Log text (paste the Output Log contents or the relevant section).
**Safety:** Read-only analysis. Returns a diagnosis + suggested fix; does
not modify project files.
### Asset Janitor (`spaghetti/audit_assets`)
### Asset Janitor (`tidy_assets`)
**When to call:** The user asks about asset cleanup, naming conventions, unused
assets, missing LODs, or compliance reports.
@@ -52,21 +56,26 @@ generates compliance reports.
**Safety:** Audit is read-only. If the user wants to apply fixes, use
Tool-Maker to generate a dry-run Python script first.
### Smart Librarian (`spaghetti/search_kb`)
### Research tools (free)
**When to call:** The user asks about UE5 engine architecture, best practices,
or how specific systems work. Also for snippet search (verified node setups,
Blueprint patterns).
or how specific systems work — or wants to search their project's ingested
logs and knowledge.
**What it does:** Semantic search over two knowledge bases:
- **Team KB:** your project's private RAG index (studio docs, past bug
resolutions, conventions).
- **UE5 Engine Graph:** GraphRAG over the public UE 5.8 source for multi-hop
reasoning about engine architecture.
- **`search_docs_code`** — semantic search over curated UE engine
documentation and source code.
- **`search_patterns`** — known engine patterns and anti-patterns (verified
node setups, Blueprint conventions).
- **`search_logs_temporal`** — the project's ingested log events over time
(requires project context).
- **`query_temporal_relations`** — temporal knowledge-graph queries over the
project's entities and their relations (requires project context).
- **`investigate_incident`** — multi-source incident investigation across the
project's logs, entities, and relations (requires project context).
**Input:** Natural-language query about UE5 or your project's knowledge base.
**Input:** Natural-language query about UE5 or the project's knowledge base.
### Tool-Maker (`spaghetti/make_tool`)
### Tool-Maker (`make_tool`)
**When to call:** The user wants to automate a UE5 editor task (batch-rename
assets, apply materials, configure project settings, etc.).
@@ -92,9 +101,11 @@ script modifies assets, wrap in `unreal.ScopedTransaction` for undo support.
- **Use ScopedTransaction** for reversible operations (enables Ctrl+Z).
- **Read the Output Log** for errors after any automated editor operation.
## Context
## Context and billing
The `.spaghetti` file at the project root identifies which team and project
this UE5 project belongs to. All tool calls are billed to the team's Spaghetti
wallet. If you see a `402 Payment Required`, direct the user to
`spaghetti.gg/billing` to top up.
The `Config/DefaultGame.ini` Spaghetti section (see Prerequisites) identifies
which team and project this UE5 project belongs to; billed tools draw from
that team's wallet — the research tools are free. On `402 Payment Required`,
direct the user to top up at `spaghetti.gg/billing`. A `403` with a portal
URL means the account needs to sign in or finish onboarding — open the URL;
retrying will not help.