partly or unimplemented features - now implemented

This commit is contained in:
master
2026-02-09 08:53:51 +02:00
parent 1bf6bbf395
commit 4bdc298ec1
674 changed files with 90194 additions and 2271 deletions

295
opencode.json Normal file
View File

@@ -0,0 +1,295 @@
{
"$schema": "https://opencode.ai/config.json",
"default_agent": "stella-architect",
"permission": {
"*": "allow",
"webfetch": "deny",
"edit": "ask",
"bash": "ask",
"external_directory": {
"*": "ask",
"../wt-*": "allow",
"..\\wt-*": "allow"
}
},
"agent": {
"stella-architect": {
"mode": "primary",
"description": "Reads docs/implplan sprints, writes SEP, spawns lane workers, runs reviewer, enforces determinism/offline + sprint log updates.",
"model": "github-copilot/claude-opus-4.6",
"temperature": 0.1,
"max_steps": 20,
"tools": { "write": false, "edit": false, "bash": true },
"permission": {
"edit": "deny",
"webfetch": "deny",
"bash": {
"*": "ask",
"git status*": "allow",
"git diff*": "allow",
"git log*": "allow",
"git show*": "allow",
"git branch*": "allow",
"git checkout*": "ask",
"git switch*": "ask",
"git worktree*": "ask",
"dotnet build*": "allow",
"dotnet test*": "allow",
"npm test*": "ask",
"npx playwright*": "ask"
},
"task": {
"*": "deny",
"stella-worker-*": "allow",
"stella-reviewer": "allow"
}
}
},
"stella-reviewer": {
"mode": "subagent",
"description": "Read-only gatekeeper: verifies sprint completion criteria, determinism/offline tests, and prevents architectural drift.",
"model": "github-copilot/claude-opus-4.6",
"temperature": 0.1,
"max_steps": 15,
"tools": { "write": false, "edit": false, "bash": true },
"permission": {
"edit": "deny",
"webfetch": "deny",
"bash": {
"*": "ask",
"git diff*": "allow",
"git status*": "allow",
"dotnet test*": "allow"
},
"task": { "*": "deny" }
}
},
"stella-worker-libraries": {
"mode": "subagent",
"description": "Codex worker for src/__Libraries/** and related docs/sprint log updates.",
"model": "openai/gpt-5.3-codex",
"temperature": 0.0,
"max_steps": 35,
"permission": {
"webfetch": "deny",
"task": { "*": "deny" },
"edit": {
"*": "deny",
"src/__Libraries/**": "allow",
"docs/implplan/**": "allow",
"docs/modules/**": "allow",
"docs/process/**": "allow"
},
"bash": {
"*": "ask",
"git status*": "allow",
"git diff*": "allow",
"dotnet build*": "allow",
"dotnet test*": "allow"
}
}
},
"stella-worker-advisoryai": {
"mode": "subagent",
"description": "Codex worker for src/AdvisoryAI/** (+ src/Zastava/**) and docs/sprint log updates.",
"model": "openai/gpt-5.3-codex",
"temperature": 0.0,
"max_steps": 35,
"permission": {
"webfetch": "deny",
"task": { "*": "deny" },
"edit": {
"*": "deny",
"src/AdvisoryAI/**": "allow",
"src/Zastava/**": "allow",
"docs/implplan/**": "allow",
"docs/modules/**": "allow",
"docs/process/**": "allow"
},
"bash": {
"*": "ask",
"git status*": "allow",
"git diff*": "allow",
"dotnet build*": "allow",
"dotnet test*": "allow"
}
}
},
"stella-worker-attestor": {
"mode": "subagent",
"description": "Codex worker for src/Attestor/** and related docs/sprint log updates.",
"model": "openai/gpt-5.3-codex",
"temperature": 0.0,
"max_steps": 35,
"permission": {
"webfetch": "deny",
"task": { "*": "deny" },
"edit": {
"*": "deny",
"src/Attestor/**": "allow",
"docs/implplan/**": "allow",
"docs/modules/**": "allow",
"docs/process/**": "allow"
},
"bash": {
"*": "ask",
"git status*": "allow",
"git diff*": "allow",
"dotnet build*": "allow",
"dotnet test*": "allow"
}
}
},
"stella-worker-policy": {
"mode": "subagent",
"description": "Codex worker for src/Policy/** and related docs/sprint log updates.",
"model": "openai/gpt-5.3-codex",
"temperature": 0.0,
"max_steps": 35,
"permission": {
"webfetch": "deny",
"task": { "*": "deny" },
"edit": {
"*": "deny",
"src/Policy/**": "allow",
"docs/implplan/**": "allow",
"docs/modules/**": "allow",
"docs/process/**": "allow"
},
"bash": {
"*": "ask",
"git status*": "allow",
"git diff*": "allow",
"dotnet build*": "allow",
"dotnet test*": "allow"
}
}
},
"stella-worker-scanner": {
"mode": "subagent",
"description": "Codex worker for src/Scanner/** and related docs/sprint log updates.",
"model": "openai/gpt-5.3-codex",
"temperature": 0.0,
"max_steps": 35,
"permission": {
"webfetch": "deny",
"task": { "*": "deny" },
"edit": {
"*": "deny",
"src/Scanner/**": "allow",
"docs/implplan/**": "allow",
"docs/modules/**": "allow",
"docs/process/**": "allow"
},
"bash": {
"*": "ask",
"git status*": "allow",
"git diff*": "allow",
"dotnet build*": "allow",
"dotnet test*": "allow"
}
}
},
"stella-worker-reachgraph": {
"mode": "subagent",
"description": "Codex worker for src/ReachGraph/** and related docs/sprint log updates.",
"model": "openai/gpt-5.3-codex",
"temperature": 0.0,
"max_steps": 35,
"permission": {
"webfetch": "deny",
"task": { "*": "deny" },
"edit": {
"*": "deny",
"src/ReachGraph/**": "allow",
"docs/implplan/**": "allow",
"docs/modules/**": "allow",
"docs/process/**": "allow"
},
"bash": {
"*": "ask",
"git status*": "allow",
"git diff*": "allow",
"dotnet build*": "allow",
"dotnet test*": "allow"
}
}
},
"stella-worker-orchestrator": {
"mode": "subagent",
"description": "Codex worker for src/Orchestrator/** and src/ReleaseOrchestrator/** and related docs/sprint log updates.",
"model": "openai/gpt-5.3-codex",
"temperature": 0.0,
"max_steps": 35,
"permission": {
"webfetch": "deny",
"task": { "*": "deny" },
"edit": {
"*": "deny",
"src/Orchestrator/**": "allow",
"src/ReleaseOrchestrator/**": "allow",
"docs/implplan/**": "allow",
"docs/modules/**": "allow",
"docs/process/**": "allow"
},
"bash": {
"*": "ask",
"git status*": "allow",
"git diff*": "allow",
"dotnet build*": "allow",
"dotnet test*": "allow"
}
}
},
"stella-worker-fe": {
"mode": "subagent",
"description": "Codex worker for src/Web/** (frontend) and related docs/sprint log updates. Use Playwright for UI testable features.",
"model": "openai/gpt-5.3-codex",
"temperature": 0.0,
"max_steps": 35,
"permission": {
"webfetch": "deny",
"task": { "*": "deny" },
"edit": {
"*": "deny",
"src/Web/**": "allow",
"docs/implplan/**": "allow",
"docs/modules/**": "allow",
"docs/process/**": "allow"
},
"bash": {
"*": "ask",
"git status*": "allow",
"git diff*": "allow",
"dotnet build*": "allow",
"dotnet test*": "allow",
"npm test*": "ask",
"npx playwright*": "ask"
}
}
}
},
"command": {
"sprint": {
"description": "Architect: read one sprint file, produce SEP, spawn lane worker, then run reviewer.",
"agent": "stella-architect",
"template": "You are the Stella Architect.\nRead the sprint file at @docs/implplan/$ARGUMENTS.\n\n1) Produce a Sprint Execution Plan (SEP):\n - files likely to change\n - T1/T2/T3 steps mapped to concrete edits\n - deterministic/offline test plan + exact commands\n - explicit non-goals\n\n2) Choose exactly one worker lane based on 'Working directory' and/or module:\n - src/__Libraries/** => @stella-worker-libraries\n - src/AdvisoryAI/** or src/Zastava/** => @stella-worker-advisoryai\n - src/Attestor/** => @stella-worker-attestor\n - src/Policy/** => @stella-worker-policy\n - src/Scanner/** => @stella-worker-scanner\n - src/ReachGraph/** => @stella-worker-reachgraph\n - src/Orchestrator/** or src/ReleaseOrchestrator/** => @stella-worker-orchestrator\n - src/Web/** or FE => @stella-worker-fe\n\n3) Spawn the worker as a subagent to implement the sprint strictly against the SEP.\n Requirements for the worker:\n - Update sprint Execution Log (START + FINISH entries) in the sprint file.\n - Add deterministic unit/integration tests; no external network calls in tests.\n - Update docs/modules/** if the sprint requires it.\n\n4) After the worker finishes, spawn @stella-reviewer to gate the diff vs completion criteria.\n5) If reviewer blocks, delegate fixes back to the same worker lane."
},
"sprints": {
"description": "Architect: run multiple sprints in parallel (only if lanes dont overlap).",
"agent": "stella-architect",
"template": "You are the Stella Architect.\nYou are given multiple sprint filenames in $ARGUMENTS (space-separated).\n\nProcess each sprint:\nA) Read @docs/implplan/<sprintfile> and generate an SEP.\nB) Determine its lane (libraries/advisoryai/attestor/policy/scanner/reachgraph/orchestrator/fe).\n\nConcurrency rules:\n- Never run two sprints at the same time in the same lane.\n- If two sprints map to the same lane, queue them (start the next only after the previous finishes).\n- If lanes are distinct, you may spawn multiple workers concurrently via Task tool.\n\nFor each sprint you start, spawn the matching @stella-worker-* subagent with that sprint + SEP.\nAfter each worker completes, spawn @stella-reviewer for that sprint diff.\n\nOutput a live table of: Sprint -> Lane -> Worker -> Status (Queued/Running/Review/Blocked/Done)."
}
}
}