Ground fleet ownership in bounded observed repository files

This commit is contained in:
thePR0M3TH3AN committed 2026-09-30 13:43:22 -04:00
1 parent 03fcbdd23f
commit fb39cf04e3
7 files changed
+119 -1

No files matched your search

+1 -1
View File
@@ -404,7 +404,7 @@ export const CANDIDATE_ACCEPTANCE_EVIDENCE = Object.freeze({
'init-analyze': ['SCN-init-read-only'],
'spec-aware-design': ['SCN-spec-fleet-design', 'SCN-cli-spec-design'],
'ai-fleet-bootstrap': ['SCN-ai-fleet-bootstrap', 'SCN-bootstrap-specialist-only'],
'ai-fleet-planning': ['SCN-ai-fleet-planning', 'SCN-architect-organization-assessment', 'SCN-bootstrap-primary-ownership'],
'ai-fleet-planning': ['SCN-ai-fleet-planning', 'SCN-architect-organization-assessment', 'SCN-bootstrap-primary-ownership', 'SCN-architect-file-ownership'],
'fleet-evolution': ['SCN-fleet-evolution', 'SCN-cli-fleet-evolution'],
'fleet-boundary-evolution': ['SCN-fleet-boundary-evolution'],
'cli-lifecycle-surface': ['SCN-cli-lifecycle-surface'],
+6
View File
@@ -61,6 +61,7 @@ function providerResponse(provider, result) {
function allowedEvidence(brief) {
const values = new Set();
for (const path of brief.reconnaissance.inventory?.ownershipPaths ?? []) values.add(path);
for (const component of brief.reconnaissance.architecture.components ?? []) {
component.evidence.forEach((entry) => values.add(entry));
}
@@ -74,6 +75,7 @@ function allowedEvidence(brief) {
function allowedOwnedPaths(brief) {
const values = new Set();
for (const path of brief.reconnaissance.inventory?.ownershipPaths ?? []) values.add(path);
for (const component of brief.reconnaissance.architecture.components ?? []) {
component.paths.forEach((entry) => values.add(entry));
}
@@ -164,6 +166,10 @@ export function createArchitectRunPlan({ brief, provider, model, maxBudgetUsd }
export function validateArchitectProposal({ brief, proposal } = {}) {
const problems = [];
const findings = [];
if (brief?.reconnaissance?.inventory?.ownershipPathsTruncated) {
findings.push({ severity: 'review', code: 'OWNERSHIP_EVIDENCE_TRUNCATED',
message: 'Exact file ownership evidence is bounded; component coverage does not prove whole-repository ownership.' });
}
if (brief?.schema !== 'torch.dev/fleet-design-brief/v1alpha1') problems.push('unsupported design brief schema');
if (proposal?.schema !== 'torch.dev/domain-proposal/v1alpha1') problems.push('unsupported proposal schema');
if (proposal?.review?.status !== 'pending' || proposal?.review?.reviewedAt || proposal?.review?.reviewedBy) {
+4
View File
@@ -77,6 +77,10 @@ export function analyzeRepository(repository, { specifications = [] } = {}) {
trackedFileCount: workingTree.trackedFileCount,
untrackedFileCount: workingTree.untrackedFileCount,
analyzedFileCount: files.length,
// Exact observed files supplement source-component globs for manifests,
// documentation, schemas and other non-code deliverables. Keep briefs bounded.
ownershipPaths: files.slice(0, 1000),
ownershipPathsTruncated: files.length > 1000,
languages,
manifests,
topLevelDirectories: [...topLevel].sort(),