save checkpoint. addition features and their state. check some ofthem

This commit is contained in:
master
2026-02-10 07:54:44 +02:00
parent 4bdc298ec1
commit 5593212b41
211 changed files with 10248 additions and 1208 deletions

View File

@@ -1,295 +1,124 @@
{
"$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"
"default_agent": "stella-orchestrator",
"permission": "allow",
"instructions": [
"CLAUDE.md",
"docs/qa/feature-checks/FLOW.md"
],
"mcp": {
"playwright": {
"type": "local",
"command": ["npx", "-y", "@playwright/mcp@latest"],
"enabled": false
}
},
"tools": {
"playwright_*": false
},
"agent": {
"stella-architect": {
"stella-orchestrator": {
"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"
}
}
"prompt": "{file:.opencode/prompts/stella-orchestrator.md}"
},
"stella-reviewer": {
"stella-feature-checker": {
"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" }
}
"prompt": "{file:.opencode/prompts/stella-feature-checker.md}"
},
"stella-worker-libraries": {
"stella-issue-finder": {
"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"
}
}
"model": "github-copilot/claude-sonnet-4.5",
"temperature": 0.1,
"prompt": "{file:.opencode/prompts/stella-issue-finder.md}"
},
"stella-worker-advisoryai": {
"stella-issue-confirmer": {
"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"
}
}
"model": "github-copilot/claude-opus-4.6",
"temperature": 0.1,
"prompt": "{file:.opencode/prompts/stella-issue-confirmer.md}"
},
"stella-worker-attestor": {
"stella-fixer": {
"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"
}
}
"prompt": "{file:.opencode/prompts/stella-fixer.md}"
},
"stella-worker-policy": {
"stella-retester": {
"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"
}
}
"model": "github-copilot/claude-opus-4.6",
"temperature": 0.1,
"prompt": "{file:.opencode/prompts/stella-retester.md}"
}
},
"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."
"flow-init": {
"description": "Initialize per-module state files from docs/features/unchecked/<module>/*.md",
"agent": "stella-orchestrator",
"template": "Initialize the feature-check state ledger. Scan docs/features/unchecked/ for all module subdirectories. For each module, create docs/qa/feature-checks/state/<module>.json so each feature has status=queued. Do not run any checks."
},
"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)."
"flow-init-module": {
"description": "Initialize state for a single module: /flow-init-module <module>",
"agent": "stella-orchestrator",
"template": "Initialize state for module '${1}'. Scan docs/features/unchecked/${1}/ for *.md files and create docs/qa/feature-checks/state/${1}.json with each feature set to status=queued."
},
"flow-status": {
"description": "Show current ledger status across all modules",
"agent": "stella-orchestrator",
"template": "Read all files in docs/qa/feature-checks/state/*.json and print a compact summary table: module -> queued/passed/failed/done/blocked/skipped counts. Then list features currently in-progress or blocked."
},
"flow-status-module": {
"description": "Show detailed status for one module: /flow-status-module <module>",
"agent": "stella-orchestrator",
"template": "Read docs/qa/feature-checks/state/${1}.json and print a detailed table: feature -> status -> tier -> retryCount -> lastRunId -> lastUpdatedUtc."
},
"flow-next": {
"description": "Process exactly one feature through the pipeline",
"agent": "stella-orchestrator",
"template": "Run exactly ONE unit of work. Pick the next actionable feature from any module state file based on priority rules in FLOW.md. Execute the full pipeline per FLOW.md stages."
},
"flow-next-module": {
"description": "Process one feature from a specific module: /flow-next-module <module>",
"agent": "stella-orchestrator",
"template": "Run exactly ONE unit of work from module '${1}'. Pick the next actionable feature from docs/qa/feature-checks/state/${1}.json and execute the full pipeline per FLOW.md."
},
"flow-run-module": {
"description": "Process all features in a module: /flow-run-module <module>",
"agent": "stella-orchestrator",
"template": "Process all actionable features in module '${1}' sequentially per FLOW.md. Stop on hard blocks or when human decision is required."
},
"flow-tier0": {
"description": "Run Tier 0 (source file existence check) across all modules",
"agent": "stella-orchestrator",
"template": "Run Tier 0 only (source file existence verification) for ALL features across ALL modules per FLOW.md. Do NOT build or run tests."
},
"flow-tier0-module": {
"description": "Run Tier 0 for one module: /flow-tier0-module <module>",
"agent": "stella-orchestrator",
"template": "Run Tier 0 (source file verification) for module '${1}' only per FLOW.md. Update docs/qa/feature-checks/state/${1}.json."
}
}
}