Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
180 changes: 180 additions & 0 deletions config/manus_dispatch.example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
{
"version": "0.1.0",
"sourceOfTruth": {
"provider": "github",
"canonicalRepo": "jwk2588/nexus-platform",
"protectedIdPrefixes": [
"EV-",
"SB-"
]
},
"routingTargets": {
"codex": {
"provider": "openai",
"model": "codex",
"allowedScopes": [
"repo_maintenance",
"react",
"fastapi",
"schema_validation",
"tests",
"migration_scripts"
],
"blockedScopes": [
"legal_theory_generation",
"privileged_merits_analysis"
],
"costTier": "medium",
"notes": "Default implementation agent for deterministic code, tests, schemas, and PRs."
},
"claude_sonnet": {
"provider": "anthropic",
"model": "claude-sonnet-4-6",
"allowedScopes": [
"planning",
"summarization",
"light_repo_analysis",
"drafting_nonlegal_docs"
],
"costTier": "medium",
"notes": "Fast planning and synthesis target when long-horizon autonomy is unnecessary."
},
"claude_opus": {
"provider": "anthropic",
"model": "claude-opus-4-8",
"allowedScopes": [
"hard_reasoning",
"review",
"fallback_from_fable_safety_reroute"
],
"costTier": "high",
"notes": "Use for high-stakes review and as Fable fallback where Anthropic safety routing applies."
},
"claude_fable": {
"provider": "anthropic",
"model": "claude-fable-5",
"agentHarness": "claude_code_or_managed_agents",
"allowedScopes": [
"multi_day_repo_migration",
"large_codebase_consolidation",
"vision_ui_reverse_engineering",
"chart_table_extraction",
"autonomous_test_repair"
],
"blockedScopes": [
"privileged_merits_analysis",
"cybersecurity_dual_use",
"biology_or_chemistry"
],
"costTier": "very_high",
"notes": "Escalation target only when elapsed-time autonomy, visual reasoning, or million-token context materially reduces risk."
},
"kimi_swarm": {
"provider": "moonshot_or_local_skill_agents",
"model": "kimi_skill_agent_swarm",
"allowedScopes": [
"requirement_extraction",
"policy_checklists",
"nonlegal_corpus_tagging"
],
"blockedScopes": [
"source_of_truth_writes_without_codex_pr"
],
"costTier": "low",
"notes": "Parallel specialist extraction/checklist workers; all repository writes go through GitHub PRs."
},
"python_scripts": {
"provider": "local",
"model": "deterministic_python",
"allowedScopes": [
"monte_carlo",
"schema_validation",
"csv_json_transform",
"regression_tests"
],
"costTier": "low",
"notes": "Preferred for reproducible quantitative work."
}
},
"routingRules": [
{
"match": {
"taskTypes": [
"schema_validation",
"fastapi_endpoint",
"react_component"
],
"maxBudgetTier": "medium"
},
"target": "codex",
"reviewGate": "automated_tests"
},
{
"match": {
"taskTypes": [
"multi_day_repo_migration",
"history_preserving_consolidation"
],
"signals": [
"large_diff",
"many_repos",
"requires_persistent_memory"
]
},
"target": "claude_fable",
"fallbackTarget": "codex",
"reviewGate": "human_review"
},
{
"match": {
"taskTypes": [
"vision_ui_audit",
"diagram_chart_table_extraction"
],
"signals": [
"screenshot",
"pdf",
"table_heavy"
]
},
"target": "claude_fable",
"fallbackTarget": "claude_opus",
"reviewGate": "human_review"
},
{
"match": {
"taskTypes": [
"monte_carlo",
"financial_model_regression",
"data_transform"
]
},
"target": "python_scripts",
"reviewGate": "automated_tests"
},
{
"match": {
"taskTypes": [
"legal_requirement_extraction"
],
"signals": [
"functional_requirements_only"
]
},
"target": "kimi_swarm",
"fallbackTarget": "claude_sonnet",
"reviewGate": "privilege_review"
}
],
"writeBack": {
"mode": "pull_request_only",
"branchPrefix": "manus/",
"commitPolicy": "small_atomic_commits",
"idPolicy": {
"additiveOnly": true,
"noRenumbering": true,
"noReuse": true,
"appendLedgerPath": "data/id-ledger/append_only_ids.jsonl"
}
}
}
203 changes: 203 additions & 0 deletions config/manus_dispatch.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://example.local/nexus/manus-dispatch.schema.json",
"title": "MANUS Dispatch Configuration",
"type": "object",
"additionalProperties": false,
"required": [
"version",
"sourceOfTruth",
"routingTargets",
"routingRules",
"writeBack"
],
"properties": {
"version": {
"type": "string",
"description": "Semantic version for the conductor configuration."
},
Comment on lines +15 to +18

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To ensure that configuration versions strictly adhere to semantic versioning (SemVer), it is recommended to add a pattern constraint to the version property.

        "version": {
            "type": "string",
            "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(-[a-zA-Z0-9.]+)?$",
            "description": "Semantic version for the conductor configuration."
        },

"sourceOfTruth": {
"type": "object",
"additionalProperties": false,
"required": [
"provider",
"canonicalRepo",
"protectedIdPrefixes"
],
"properties": {
"provider": {
"const": "github"
},
"canonicalRepo": {
"type": "string",
"pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$"
},
"protectedIdPrefixes": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Z]{2,4}-$"
},
"uniqueItems": true,
"default": [
"EV-",
"SB-"
]
}
}
},
"routingTargets": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": false,
"required": [
"provider",
"model",
"allowedScopes"
],
"properties": {
"provider": {
"type": "string"
},
"model": {
"type": "string"
},
"agentHarness": {
"type": "string"
},
"allowedScopes": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"blockedScopes": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"costTier": {
"enum": [
"low",
"medium",
"high",
"very_high"
]
},
"notes": {
"type": "string"
}
}
}
},
"routingRules": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"match",
"target",
"reviewGate"
],
"properties": {
"match": {
"type": "object",
"additionalProperties": false,
"properties": {
"taskTypes": {
"type": "array",
"items": {
"type": "string"
}
},
Comment on lines +112 to +117

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To prevent redundant or duplicate matching criteria within routing rules, consider enforcing uniqueness on the taskTypes array by adding "uniqueItems": true.

                            "taskTypes": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "uniqueItems": true
                            },

"signals": {
"type": "array",
"items": {
"type": "string"
}
},
Comment on lines +118 to +123

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To prevent redundant or duplicate matching criteria within routing rules, consider enforcing uniqueness on the signals array by adding "uniqueItems": true.

                            "signals": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "uniqueItems": true
                            },

"maxBudgetTier": {
"enum": [
"low",
"medium",
"high",
"very_high"
]
}
}
},
"target": {
"type": "string"
},
"fallbackTarget": {
"type": "string"
},
"reviewGate": {
"enum": [
"none",
"automated_tests",
"human_review",
"privilege_review"
]
}
}
}
},
"writeBack": {
"type": "object",
"additionalProperties": false,
"required": [
"mode",
"branchPrefix",
"commitPolicy",
"idPolicy"
],
"properties": {
"mode": {
"enum": [
"pull_request_only",
"direct_push_disabled"
]
},
"branchPrefix": {
"type": "string"
},
"commitPolicy": {
"enum": [
"small_atomic_commits",
"squash_by_task"
]
},
"idPolicy": {
"type": "object",
"additionalProperties": false,
"required": [
"additiveOnly",
"noRenumbering",
"noReuse",
"appendLedgerPath"
],
"properties": {
"additiveOnly": {
"const": true
},
"noRenumbering": {
"const": true
},
"noReuse": {
"const": true
},
"appendLedgerPath": {
"type": "string"
}
}
}
}
}
}
}
Loading