mirror of
https://github.com/PR0M3TH3AN/TORCH.git
synced 2026-11-06 21:01:54 +00:00
Add mixed Claude and Codex runtimes
This commit is contained in:
1 parent
23d03b624c
commit
1c9834e3d7
12 files changed
+452
-31
No files matched your search
@@ -136,6 +136,7 @@ function domainFromComponent(component) {
|
||||
shared_paths: [],
|
||||
neighbours: [],
|
||||
required_checks: [],
|
||||
runtime: 'claude',
|
||||
evidence: component.evidence,
|
||||
};
|
||||
}
|
||||
@@ -151,6 +152,7 @@ export function proposeDomains({ repository, analysis }) {
|
||||
id: 'core', title: 'Core project', kind: 'development',
|
||||
scope: ['initial project implementation and architecture'],
|
||||
not_scope: [], owned_paths: ['**'], shared_paths: [], neighbours: [], required_checks: [],
|
||||
runtime: 'claude',
|
||||
evidence: analysis.inventory.manifests,
|
||||
});
|
||||
}
|
||||
@@ -162,6 +164,7 @@ export function proposeDomains({ repository, analysis }) {
|
||||
not_scope: ['implementing domain features solely to make checks pass'],
|
||||
owned_paths: ['test/**', 'tests/**', 'e2e/**'], shared_paths: [], neighbours: [],
|
||||
required_checks: [], evidence: graph.verificationSurfaces.slice(0, 12),
|
||||
runtime: 'claude',
|
||||
});
|
||||
}
|
||||
if (graph.operationalSurfaces.some((path) => /deploy|release/i.test(path))) {
|
||||
@@ -171,6 +174,7 @@ export function proposeDomains({ repository, analysis }) {
|
||||
not_scope: ['feature implementation', 'deployment without configured authority'],
|
||||
owned_paths: graph.operationalSurfaces.filter((path) => /deploy|release|workflow/i.test(path)).slice(0, 20),
|
||||
shared_paths: [], neighbours: [], required_checks: [],
|
||||
runtime: 'claude',
|
||||
evidence: graph.operationalSurfaces.slice(0, 12),
|
||||
});
|
||||
}
|
||||
@@ -274,6 +278,9 @@ export function validateApprovedProposal({ proposal, repository }) {
|
||||
if (!domain.scope?.length) problems.push(`domain ${domain.id} has no scope`);
|
||||
if (!Array.isArray(domain.not_scope)) problems.push(`domain ${domain.id} has no not_scope list`);
|
||||
if (!domain.owned_paths?.length) problems.push(`domain ${domain.id} has no owned paths`);
|
||||
if (domain.runtime !== undefined && (typeof domain.runtime !== 'string' || !domain.runtime.trim())) {
|
||||
problems.push(`domain ${domain.id} has an invalid runtime`);
|
||||
}
|
||||
}
|
||||
for (const collision of proposal?.collisions ?? []) {
|
||||
if (!collision.resolution?.strategy) problems.push(`collision ${collision.domains?.join('/')} has no resolution`);
|
||||
|
||||
@@ -34,7 +34,11 @@ function initialFiles({ repository, projectId, createdAt, proposal }) {
|
||||
allow_force_push: false, allow_bare_stash: false,
|
||||
},
|
||||
synchronization: { strategy: 'dispatcher-managed', auto_merge_worktrees: false },
|
||||
runtimes: { default: 'claude', claude: { model: 'opus', background: true } },
|
||||
runtimes: {
|
||||
default: 'claude',
|
||||
claude: { model: 'opus', background: true },
|
||||
codex: { sandbox: 'workspace-write', approval: 'approve-for-me' },
|
||||
},
|
||||
checks: proposal.checks ?? [],
|
||||
resources: proposal.resources ?? [],
|
||||
integration: {
|
||||
@@ -42,7 +46,7 @@ function initialFiles({ repository, projectId, createdAt, proposal }) {
|
||||
required_checks: (proposal.checks ?? []).map((check) => check.id),
|
||||
landing_authority: ['session-manager'],
|
||||
},
|
||||
session_manager: { id: 'session-manager', start_last: true },
|
||||
session_manager: { id: 'session-manager', runtime: 'claude', start_last: true },
|
||||
domains: proposal.domains.map((domain) => ({
|
||||
id: domain.id,
|
||||
title: domain.title,
|
||||
@@ -52,6 +56,7 @@ function initialFiles({ repository, projectId, createdAt, proposal }) {
|
||||
shared_paths: domain.shared_paths ?? [],
|
||||
neighbours: domain.neighbours ?? [],
|
||||
required_checks: domain.required_checks ?? [],
|
||||
runtime: domain.runtime ?? 'claude',
|
||||
})),
|
||||
};
|
||||
const roster = {
|
||||
@@ -61,6 +66,7 @@ function initialFiles({ repository, projectId, createdAt, proposal }) {
|
||||
scope: ['routing', 'priority', 'ownership rulings', 'fleet health'],
|
||||
not_scope: ['project feature implementation by default'],
|
||||
neighbours: ['all'],
|
||||
runtime: config.session_manager.runtime,
|
||||
}, ...config.domains],
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user