@hongmaple0820/scale-engine 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -115,16 +115,16 @@ function verificationRunMarkdown(options) {
115
115
  ].filter(Boolean).join('; ');
116
116
  return `| ${escapeCell(command)} | ${resultText} | ${escapeCell(notes || item.detail)} |`;
117
117
  }));
118
- return `
119
- ## SCALE Verification Run - ${new Date().toISOString()}
120
-
121
- Profile: ${options.profile}
122
- Services: ${options.services.length ? options.services.join(', ') : 'root'}
123
- Final Status: ${options.passed ? 'passed' : 'failed'}
124
-
125
- | Command | Result | Notes |
126
- | --- | --- | --- |
127
- ${rows.length ? rows.join('\n') : '| no command evidence | FAIL | no evidence items recorded |'}
118
+ return `
119
+ ## SCALE Verification Run - ${new Date().toISOString()}
120
+
121
+ Profile: ${options.profile}
122
+ Services: ${options.services.length ? options.services.join(', ') : 'root'}
123
+ Final Status: ${options.passed ? 'passed' : 'failed'}
124
+
125
+ | Command | Result | Notes |
126
+ | --- | --- | --- |
127
+ ${rows.length ? rows.join('\n') : '| no command evidence | FAIL | no evidence items recorded |'}
128
128
  `;
129
129
  }
130
130
  function readTemplate(projectDir, name) {
@@ -1,3 +1,4 @@
1
+ import { type ResolvedWorkspaceTopology } from './WorkspaceTopology.js';
1
2
  export type WorkspaceRepositoryKind = 'root' | 'submodule' | 'nested-repo';
2
3
  export interface WorkspaceRepositoryStatus {
3
4
  kind: WorkspaceRepositoryKind;
@@ -27,6 +28,7 @@ export interface WorkspaceFinishDecision {
27
28
  export interface WorkspaceLifecycleReport {
28
29
  root: WorkspaceRepositoryStatus;
29
30
  childRepositories: WorkspaceRepositoryStatus[];
31
+ topology: ResolvedWorkspaceTopology;
30
32
  finish: WorkspaceFinishDecision;
31
33
  }
32
34
  export interface WorkspaceLifecycleOptions {
@@ -1,13 +1,15 @@
1
1
  import { existsSync, readdirSync } from 'node:fs';
2
2
  import { dirname, isAbsolute, join, relative, resolve } from 'node:path';
3
3
  import { execa } from 'execa';
4
+ import { resolveWorkspaceTopology, } from './WorkspaceTopology.js';
4
5
  export async function inspectWorkspaceLifecycle(options = {}) {
5
6
  const projectDir = resolve(options.projectDir ?? process.cwd());
6
7
  const rootTopLevel = await gitRequired(projectDir, ['rev-parse', '--show-toplevel']);
7
8
  const root = await inspectRepository(rootTopLevel, rootTopLevel, 'root');
8
- const childRepositories = await inspectChildRepositories(rootTopLevel);
9
- const finish = decideFinish(root, childRepositories);
10
- return { root, childRepositories, finish };
9
+ const topology = resolveWorkspaceTopology({ projectDir: rootTopLevel });
10
+ const childRepositories = await inspectChildRepositories(rootTopLevel, topology);
11
+ const finish = decideFinish(root, childRepositories, topology);
12
+ return { root, childRepositories, topology, finish };
11
13
  }
12
14
  export async function cleanupWorkspaceLifecycle(options = {}) {
13
15
  const report = await inspectWorkspaceLifecycle(options);
@@ -103,10 +105,21 @@ async function inspectRepository(repoDir, rootDir, kind, explicitRelativePath) {
103
105
  untracked: parsedStatus.untracked,
104
106
  };
105
107
  }
106
- async function inspectChildRepositories(rootDir) {
108
+ async function inspectChildRepositories(rootDir, topology) {
107
109
  const submodules = await readGitmodules(rootDir);
108
110
  const statuses = [];
109
111
  const seen = new Set();
112
+ for (const repo of topology.repositories) {
113
+ if (repo.path === '.' || repo.role === 'root')
114
+ continue;
115
+ const repoDir = resolve(rootDir, repo.path);
116
+ if (!existsSync(repoDir))
117
+ continue;
118
+ if (!await isGitRepository(repoDir))
119
+ continue;
120
+ seen.add(resolve(repoDir));
121
+ statuses.push(await inspectRepository(repoDir, rootDir, kindForConfiguredRepository(repo), normalizeRelative(repo.path)));
122
+ }
110
123
  for (const relativePath of submodules) {
111
124
  const repoDir = join(rootDir, relativePath);
112
125
  if (!existsSync(repoDir))
@@ -125,24 +138,31 @@ async function inspectChildRepositories(rootDir) {
125
138
  }
126
139
  return statuses.sort((a, b) => a.relativePath.localeCompare(b.relativePath));
127
140
  }
128
- function decideFinish(root, childRepositories) {
141
+ function decideFinish(root, childRepositories, topology) {
129
142
  const blockers = [];
130
143
  const warnings = [];
131
144
  const nextActions = [];
132
- if (!root.clean)
145
+ const policy = topology.finishPolicy;
146
+ const isMoe = topology.topology === 'moe';
147
+ if (policy.requireCleanRepositories && !root.clean)
133
148
  blockers.push('Root repository has uncommitted changes');
134
149
  if (root.upstream && root.ahead > 0)
135
150
  warnings.push(`Root branch ${root.branch ?? '(detached)'} is ${root.ahead} commit(s) ahead of ${root.upstream}`);
136
151
  if (!root.upstream && root.branch)
137
152
  warnings.push(`Root branch ${root.branch} has no upstream`);
138
153
  for (const child of childRepositories) {
139
- if (!child.clean)
154
+ if (policy.requireCleanRepositories && !child.clean)
140
155
  blockers.push(`Child repository ${child.relativePath} has uncommitted changes`);
141
- if (child.upstream && child.ahead > 0)
156
+ if (policy.requirePushedBranches && child.upstream && child.ahead > 0)
157
+ blockers.push(`Child repository ${child.relativePath} has unpushed commits`);
158
+ if (policy.requirePushedBranches && isMoe && !child.upstream && child.branch)
142
159
  blockers.push(`Child repository ${child.relativePath} has unpushed commits`);
143
160
  if (!child.upstream && child.branch)
144
161
  warnings.push(`Child repository ${child.relativePath} branch ${child.branch} has no upstream`);
145
162
  }
163
+ if (policy.requireRootPointerUpdate && childRepositories.some(hasChildIntegrationWork)) {
164
+ warnings.push('MOE finish policy requires root pointer or integration metadata review after child repository changes');
165
+ }
146
166
  if (blockers.length === 0) {
147
167
  if (root.isLinkedWorktree) {
148
168
  nextActions.push('Safe to remove linked worktree after branch is pushed, merged, or intentionally discarded');
@@ -162,6 +182,12 @@ function decideFinish(root, childRepositories) {
162
182
  nextActions,
163
183
  };
164
184
  }
185
+ function kindForConfiguredRepository(repo) {
186
+ return repo.role === 'submodule' ? 'submodule' : 'nested-repo';
187
+ }
188
+ function hasChildIntegrationWork(child) {
189
+ return !child.clean || child.ahead > 0 || Boolean(child.branch && !child.upstream);
190
+ }
165
191
  async function readGitmodules(rootDir) {
166
192
  if (!existsSync(join(rootDir, '.gitmodules')))
167
193
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceLifecycle.js","sourceRoot":"","sources":["../../src/workflow/WorkspaceLifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkspaceLifecycle.js","sourceRoot":"","sources":["../../src/workflow/WorkspaceLifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ export type WorkspaceTopologyKind = 'single' | 'monorepo' | 'polyrepo' | 'submodule-workspace' | 'moe';
2
+ export type WorkspaceRepositoryRole = 'root' | 'service' | 'package' | 'submodule' | 'nested-repo' | 'external';
3
+ export interface WorkspaceRepositoryConfig {
4
+ name: string;
5
+ path: string;
6
+ role: WorkspaceRepositoryRole;
7
+ required?: boolean;
8
+ services?: string[];
9
+ branchPattern?: string;
10
+ remote?: string;
11
+ }
12
+ export interface WorkspaceBranchPolicy {
13
+ protectedBranches?: string[];
14
+ featurePrefixes?: string[];
15
+ requireAuthorScopeDate?: boolean;
16
+ }
17
+ export interface WorkspaceFinishPolicy {
18
+ requireCleanRepositories?: boolean;
19
+ requirePushedBranches?: boolean;
20
+ requireRootPointerUpdate?: boolean;
21
+ requireReviewArtifacts?: boolean;
22
+ }
23
+ export interface WorkspaceTopologyConfig {
24
+ version?: number;
25
+ topology: WorkspaceTopologyKind;
26
+ repositories: WorkspaceRepositoryConfig[];
27
+ branchPolicy?: WorkspaceBranchPolicy;
28
+ finishPolicy?: WorkspaceFinishPolicy;
29
+ }
30
+ export interface ResolvedWorkspaceTopology extends WorkspaceTopologyConfig {
31
+ version: number;
32
+ configured: boolean;
33
+ configPath: string;
34
+ finishPolicy: Required<WorkspaceFinishPolicy>;
35
+ warnings: string[];
36
+ }
37
+ export interface WorkspaceTopologyOptions {
38
+ projectDir?: string;
39
+ scaleDir?: string;
40
+ }
41
+ export interface WorkspaceTopologyTemplateOptions {
42
+ topology?: WorkspaceTopologyKind;
43
+ projectName?: string;
44
+ }
45
+ export declare function loadWorkspaceTopology(projectDir?: string, scaleDir?: string): ResolvedWorkspaceTopology | null;
46
+ export declare function resolveWorkspaceTopology(options?: WorkspaceTopologyOptions): ResolvedWorkspaceTopology;
47
+ export declare function writeWorkspaceTopologyTemplate(projectDir?: string, options?: WorkspaceTopologyTemplateOptions, scaleDir?: string): string;
48
+ export declare function workspaceTopologyTemplate(options?: WorkspaceTopologyTemplateOptions): string;
49
+ export declare function workspaceTopologyPath(projectDir?: string, scaleDir?: string): string;
@@ -0,0 +1,125 @@
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { isAbsolute, join, resolve } from 'node:path';
3
+ export function loadWorkspaceTopology(projectDir = process.cwd(), scaleDir = '.scale') {
4
+ const path = workspaceTopologyPath(projectDir, scaleDir);
5
+ if (!existsSync(path))
6
+ return null;
7
+ const raw = JSON.parse(readFileSync(path, 'utf-8'));
8
+ return normalizeWorkspaceTopology(raw, {
9
+ configured: true,
10
+ configPath: path,
11
+ });
12
+ }
13
+ export function resolveWorkspaceTopology(options = {}) {
14
+ const projectDir = resolve(options.projectDir ?? process.cwd());
15
+ const scaleDir = options.scaleDir ?? '.scale';
16
+ const loaded = loadWorkspaceTopology(projectDir, scaleDir);
17
+ if (loaded)
18
+ return loaded;
19
+ return normalizeWorkspaceTopology({
20
+ version: 1,
21
+ topology: 'single',
22
+ repositories: [
23
+ { name: 'root', path: '.', role: 'root', required: true },
24
+ ],
25
+ }, {
26
+ configured: false,
27
+ configPath: workspaceTopologyPath(projectDir, scaleDir),
28
+ warnings: [`No workspace topology found at ${workspaceTopologyPath(projectDir, scaleDir)}; using single-repository defaults.`],
29
+ });
30
+ }
31
+ export function writeWorkspaceTopologyTemplate(projectDir = process.cwd(), options = {}, scaleDir = '.scale') {
32
+ const path = workspaceTopologyPath(projectDir, scaleDir);
33
+ const dir = path.split(/[\\/]/).slice(0, -1).join('/');
34
+ if (dir && !existsSync(dir))
35
+ mkdirSync(dir, { recursive: true });
36
+ writeFileSync(path, workspaceTopologyTemplate(options), 'utf-8');
37
+ return path;
38
+ }
39
+ export function workspaceTopologyTemplate(options = {}) {
40
+ const topology = options.topology ?? 'moe';
41
+ const config = {
42
+ version: 1,
43
+ topology,
44
+ repositories: [
45
+ {
46
+ name: 'root',
47
+ path: '.',
48
+ role: 'root',
49
+ required: true,
50
+ },
51
+ {
52
+ name: 'example-service',
53
+ path: 'services/example',
54
+ role: topology === 'monorepo' ? 'service' : 'nested-repo',
55
+ required: false,
56
+ services: ['example'],
57
+ },
58
+ ],
59
+ branchPolicy: {
60
+ protectedBranches: ['main', 'master'],
61
+ featurePrefixes: ['feature/', 'fix/', 'docs/', 'codex/'],
62
+ requireAuthorScopeDate: true,
63
+ },
64
+ finishPolicy: defaultFinishPolicy(topology),
65
+ };
66
+ return `${JSON.stringify(config, null, 2)}\n`;
67
+ }
68
+ export function workspaceTopologyPath(projectDir = process.cwd(), scaleDir = '.scale') {
69
+ const root = isAbsolute(scaleDir) ? scaleDir : join(projectDir, scaleDir);
70
+ return join(root, 'workspace.json');
71
+ }
72
+ function normalizeWorkspaceTopology(raw, meta) {
73
+ const topology = normalizeTopology(raw.topology);
74
+ const repositories = normalizeRepositories(raw.repositories);
75
+ return {
76
+ version: raw.version ?? 1,
77
+ topology,
78
+ repositories,
79
+ branchPolicy: raw.branchPolicy,
80
+ finishPolicy: {
81
+ ...defaultFinishPolicy(topology),
82
+ ...(raw.finishPolicy ?? {}),
83
+ },
84
+ configured: meta.configured,
85
+ configPath: meta.configPath,
86
+ warnings: meta.warnings ?? [],
87
+ };
88
+ }
89
+ function normalizeTopology(value) {
90
+ if (value === 'single'
91
+ || value === 'monorepo'
92
+ || value === 'polyrepo'
93
+ || value === 'submodule-workspace'
94
+ || value === 'moe') {
95
+ return value;
96
+ }
97
+ return 'single';
98
+ }
99
+ function normalizeRepositories(repositories) {
100
+ const normalized = (repositories ?? [])
101
+ .filter(repo => Boolean(repo.name && repo.path))
102
+ .map(repo => ({
103
+ ...repo,
104
+ path: normalizeRelative(repo.path),
105
+ required: repo.required !== false,
106
+ }));
107
+ if (!normalized.some(repo => repo.role === 'root' || repo.path === '.')) {
108
+ normalized.unshift({ name: 'root', path: '.', role: 'root', required: true });
109
+ }
110
+ return normalized.length > 0
111
+ ? normalized
112
+ : [{ name: 'root', path: '.', role: 'root', required: true }];
113
+ }
114
+ function defaultFinishPolicy(topology) {
115
+ return {
116
+ requireCleanRepositories: true,
117
+ requirePushedBranches: true,
118
+ requireRootPointerUpdate: topology === 'moe' || topology === 'submodule-workspace',
119
+ requireReviewArtifacts: topology === 'moe',
120
+ };
121
+ }
122
+ function normalizeRelative(path) {
123
+ return path.replace(/\\/g, '/');
124
+ }
125
+ //# sourceMappingURL=WorkspaceTopology.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspaceTopology.js","sourceRoot":"","sources":["../../src/workflow/WorkspaceTopology.ts"],"names":[],"mappings":"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"}
@@ -19,4 +19,5 @@ export * from './TaskArtifactScaffolder.js';
19
19
  export * from './PhaseMarkerTracker.js';
20
20
  export * from './WorkflowArtifactWriter.js';
21
21
  export * from './WorkspaceLifecycle.js';
22
+ export * from './WorkspaceTopology.js';
22
23
  export * from './autonomous/index.js';
@@ -20,5 +20,6 @@ export * from './TaskArtifactScaffolder.js';
20
20
  export * from './PhaseMarkerTracker.js';
21
21
  export * from './WorkflowArtifactWriter.js';
22
22
  export * from './WorkspaceLifecycle.js';
23
+ export * from './WorkspaceTopology.js';
23
24
  export * from './autonomous/index.js';
24
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AAEvC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,mCAAmC,CAAA;AACjD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AAEvC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,mCAAmC,CAAA;AACjD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hongmaple0820/scale-engine",
3
- "version": "0.14.0",
4
- "description": "SCALE Engine v0.14.0 - Skill-aware workflow gates, service-aware verification profiles, workspace lifecycle safety, and generated governance template packs",
3
+ "version": "0.15.0",
4
+ "description": "SCALE Engine v0.15.0 - MOE workspace topology, governance packs, lifecycle finish policy, and service-aware engineering workflow gates",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "scale": "dist/api/cli.js"