feat(business): roles v2, business and project files, variable layers (row 36, S1, darkwing)

Darkwing's round 2 candidate, approved by Filbert (#1518 comment 26730).
build-r2.patch a27890d5, manifest 869168c7, 34 files, applied on HEAD and
checked 34/34. Integration gate on an export of HEAD plus the patch:
business 60/60 on Node 24 and 26, every package test and every
scripts/test-*.sh green, test-task 98/98 with the live-provider cases.
Conductor, queue, conversation and discord confirmed in git worktrees of
HEAD with and without the patch, identical results. Lead decision 63
accepts the vocabulary location, the example path and the business
branch.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-05 17:09:07 -05:00
co-authored by Claude Opus 5.5
parent d1e633b220
commit 2d64c71eb2
34 changed files with 2825 additions and 25 deletions
+26
View File
@@ -0,0 +1,26 @@
{
"roleVersion": 2,
"name": "coder",
"title": "Coder",
"contract": "coder.md",
"tools": ["read", "write", "edit", "bash", "grep", "find", "ls"],
"network": "api-only",
"authority": {
"withinRole": ["task.update.assigned", "git.push.working", "review.request", "message.send"],
"crossRole": ["task.reassign", "task.scope.change"]
},
"credentials": [
{
"service": "gitea",
"scopes": ["write:issue", "write:repository", "read:user"]
},
{
"service": "vikunja",
"scopes": {
"tasks": ["read_one", "update"],
"tasks_comments": ["create"],
"projects": ["views_buckets_tasks"]
}
}
]
}