mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-15 02:42:45 +08:00
Add quality standards and team command design patterns documentation
- Introduced a new quality standards document outlining assessment criteria for team command .md files, including completeness, pattern compliance, integration, and consistency dimensions. - Established quality gates and issue classification for errors, warnings, and informational notes. - Created a comprehensive team command design patterns document detailing infrastructure and collaboration patterns, including message bus integration, YAML front matter requirements, task lifecycle, five-phase execution structure, and error handling. - Included a pattern selection guide for collaboration scenarios to enhance team interaction models.
This commit is contained in:
@@ -620,6 +620,19 @@ describe('issue command module', async () => {
|
||||
|
||||
describe('Queue Formation', () => {
|
||||
function makeSolutionWithFiles(id: string, files: string[], isBound = true): MockSolution {
|
||||
return createMockSolution({
|
||||
id,
|
||||
is_bound: isBound,
|
||||
tasks: [
|
||||
{
|
||||
id: 'T1',
|
||||
files: files.map((file) => ({ path: file, target: 'x', change: 'y' })),
|
||||
},
|
||||
],
|
||||
});
|
||||
}
|
||||
|
||||
function makeSolutionWithLegacyFiles(id: string, files: string[], isBound = true): MockSolution {
|
||||
return createMockSolution({
|
||||
id,
|
||||
is_bound: isBound,
|
||||
@@ -712,7 +725,7 @@ describe('issue command module', async () => {
|
||||
assert.equal(items[0].solution_id, solutionId);
|
||||
});
|
||||
|
||||
it('deduplicates files_touched extracted from modification_points', async () => {
|
||||
it('deduplicates files_touched extracted from files (new format)', async () => {
|
||||
issueModule ??= await import(issueCommandUrl);
|
||||
assert.ok(env);
|
||||
|
||||
@@ -735,6 +748,29 @@ describe('issue command module', async () => {
|
||||
assert.deepEqual(items[0].files_touched?.sort(), ['src/dup.ts', 'src/other.ts']);
|
||||
});
|
||||
|
||||
it('extracts files_touched from legacy modification_points format', async () => {
|
||||
issueModule ??= await import(issueCommandUrl);
|
||||
assert.ok(env);
|
||||
|
||||
mock.method(console, 'log', () => {});
|
||||
mock.method(console, 'error', () => {});
|
||||
|
||||
const issueId = 'ISS-QUEUE-LEGACY';
|
||||
const solutionId = 'SOL-ISS-QUEUE-LEGACY-1';
|
||||
const files = ['src/legacy-a.ts', 'src/legacy-b.ts'];
|
||||
|
||||
issueModule.writeIssues([createMockIssue({ id: issueId, status: 'planned', bound_solution_id: solutionId })]);
|
||||
issueModule.writeSolutions(issueId, [makeSolutionWithLegacyFiles(solutionId, files, true)]);
|
||||
|
||||
await issueModule.issueCommand('queue', ['add', issueId], {});
|
||||
|
||||
const queue = issueModule.readQueue();
|
||||
assert.ok(queue);
|
||||
const items = queue.solutions || [];
|
||||
assert.equal(items.length, 1);
|
||||
assert.deepEqual(items[0].files_touched?.sort(), files.slice().sort());
|
||||
});
|
||||
|
||||
it('adds multiple issues to the same active queue with incrementing item IDs', async () => {
|
||||
issueModule ??= await import(issueCommandUrl);
|
||||
assert.ok(env);
|
||||
|
||||
Reference in New Issue
Block a user