refactor(rebrand): rename & rebrand CI → CIAgent across all source and test files
- Type renames: CIConfig → CIAgentConfig, DEFAULT_CI_CONFIG → DEFAULT_CIAGENT_CONFIG - Type renames: CiMetadata → CIAgentMetadata, ParsedCiCommit → ParsedCIAgentCommit - Function renames: initCI → initCIAgent, isCIInitialized → isCIAgentInitialized - Function renames: extractCiBlock → extractCIAgentBlock, parseCiBlock → parseCIAgentBlock - Class renames: CiFiles → CIAgentFiles - Import paths: ci-files.js → ciagent-files.js - Directory paths: .ci/ → .ciagent/ across all source and test files - Check names: ".ci directory exists" → ".ciagent directory exists" - Check names: "CI config valid" → "CIAgent config valid" - Temp dir names: ci-*-test- → ciagent-*-test- - CLI examples: "ci init" → "ciagent init" - Fix deepMerge infinite recursion bug in config.ts - ---ci---/---/ci--- block markers preserved unchanged - All 31 test suites, 370 tests passing ---ci--- phase: 1 milestone: v0.5 plan: 07 task: 07-01-01 status: execute ---/ci---
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
import { CommitBuilder } from "../core/commit-builder.js";
|
||||
import { extractCiBlock, parseCiBlock } from "../core/commit-parser.js";
|
||||
import { CiMetadata } from "../types/commit-meta.js";
|
||||
import { extractCIAgentBlock, parseCIAgentBlock } from "../core/commit-parser.js";
|
||||
import { CIAgentMetadata } from "../types/commit-meta.js";
|
||||
|
||||
describe("CommitBuilder", () => {
|
||||
describe("buildCiBlock", () => {
|
||||
it("builds minimal ci block", () => {
|
||||
const ci: CiMetadata = { phase: 1, milestone: "v1.0", status: "execute" };
|
||||
const ci: CIAgentMetadata = { phase: 1, milestone: "v1.0", status: "execute" };
|
||||
const block = CommitBuilder.buildCiBlock(ci);
|
||||
|
||||
expect(block).toContain("phase: 1");
|
||||
@@ -14,19 +14,19 @@ describe("CommitBuilder", () => {
|
||||
});
|
||||
|
||||
it("builds ci block with project", () => {
|
||||
const ci: CiMetadata = { phase: 1, milestone: "v1.0", status: "execute", project: "task-api" };
|
||||
const ci: CIAgentMetadata = { phase: 1, milestone: "v1.0", status: "execute", project: "task-api" };
|
||||
const block = CommitBuilder.buildCiBlock(ci);
|
||||
expect(block).toContain("project: task-api");
|
||||
});
|
||||
|
||||
it("builds ci block without project when not set", () => {
|
||||
const ci: CiMetadata = { phase: 1, milestone: "v1.0", status: "execute" };
|
||||
const ci: CIAgentMetadata = { phase: 1, milestone: "v1.0", status: "execute" };
|
||||
const block = CommitBuilder.buildCiBlock(ci);
|
||||
expect(block).not.toContain("project:");
|
||||
});
|
||||
|
||||
it("builds ci block with decisions", () => {
|
||||
const ci: CiMetadata = {
|
||||
const ci: CIAgentMetadata = {
|
||||
phase: 1,
|
||||
milestone: "v1.0",
|
||||
status: "execute",
|
||||
@@ -49,7 +49,7 @@ describe("CommitBuilder", () => {
|
||||
});
|
||||
|
||||
it("builds ci block with lessons", () => {
|
||||
const ci: CiMetadata = {
|
||||
const ci: CIAgentMetadata = {
|
||||
phase: 1,
|
||||
milestone: "v1.0",
|
||||
status: "complete",
|
||||
@@ -63,7 +63,7 @@ describe("CommitBuilder", () => {
|
||||
});
|
||||
|
||||
it("builds ci block with compound", () => {
|
||||
const ci: CiMetadata = {
|
||||
const ci: CIAgentMetadata = {
|
||||
phase: 1,
|
||||
milestone: "v1.0",
|
||||
status: "complete",
|
||||
@@ -82,7 +82,7 @@ describe("CommitBuilder", () => {
|
||||
});
|
||||
|
||||
it("builds ci block with escalations", () => {
|
||||
const ci: CiMetadata = {
|
||||
const ci: CIAgentMetadata = {
|
||||
phase: 3,
|
||||
milestone: "v1.0",
|
||||
status: "execute",
|
||||
@@ -103,7 +103,7 @@ describe("CommitBuilder", () => {
|
||||
});
|
||||
|
||||
it("builds ci block with requirements", () => {
|
||||
const ci: CiMetadata = {
|
||||
const ci: CIAgentMetadata = {
|
||||
phase: 1,
|
||||
milestone: "v1.0",
|
||||
status: "complete",
|
||||
@@ -122,12 +122,12 @@ describe("CommitBuilder", () => {
|
||||
|
||||
describe("round-trip: build then parse", () => {
|
||||
it("round-trips a simple ci block", () => {
|
||||
const ci: CiMetadata = { phase: 1, milestone: "v1.0", status: "execute" };
|
||||
const ci: CIAgentMetadata = { phase: 1, milestone: "v1.0", status: "execute" };
|
||||
const block = CommitBuilder.buildCiBlock(ci);
|
||||
|
||||
const fullMessage = `feat(P01): test\n\n---ci---\n${block}\n---/ci---\n\nBody text`;
|
||||
const extracted = extractCiBlock(fullMessage)!;
|
||||
const parsed = parseCiBlock(extracted)!;
|
||||
const extracted = extractCIAgentBlock(fullMessage)!;
|
||||
const parsed = parseCIAgentBlock(extracted)!;
|
||||
|
||||
expect(parsed.phase).toBe(1);
|
||||
expect(parsed.milestone).toBe("v1.0");
|
||||
@@ -135,7 +135,7 @@ describe("CommitBuilder", () => {
|
||||
});
|
||||
|
||||
it("round-trips decisions", () => {
|
||||
const ci: CiMetadata = {
|
||||
const ci: CIAgentMetadata = {
|
||||
phase: 1,
|
||||
milestone: "v1.0",
|
||||
status: "execute",
|
||||
@@ -152,8 +152,8 @@ describe("CommitBuilder", () => {
|
||||
|
||||
const block = CommitBuilder.buildCiBlock(ci);
|
||||
const fullMessage = `feat(P01): test\n\n---ci---\n${block}\n---/ci---`;
|
||||
const extracted = extractCiBlock(fullMessage)!;
|
||||
const parsed = parseCiBlock(extracted)!;
|
||||
const extracted = extractCIAgentBlock(fullMessage)!;
|
||||
const parsed = parseCIAgentBlock(extracted)!;
|
||||
|
||||
expect(parsed.decisions).toHaveLength(1);
|
||||
expect(parsed.decisions![0].id).toBe("D-001");
|
||||
@@ -163,7 +163,7 @@ describe("CommitBuilder", () => {
|
||||
});
|
||||
|
||||
it("round-trips compound with lessons", () => {
|
||||
const ci: CiMetadata = {
|
||||
const ci: CIAgentMetadata = {
|
||||
phase: 2,
|
||||
milestone: "v1.0",
|
||||
status: "complete",
|
||||
@@ -177,8 +177,8 @@ describe("CommitBuilder", () => {
|
||||
|
||||
const block = CommitBuilder.buildCiBlock(ci);
|
||||
const fullMessage = `compound(P02): test\n\n---ci---\n${block}\n---/ci---`;
|
||||
const extracted = extractCiBlock(fullMessage)!;
|
||||
const parsed = parseCiBlock(extracted)!;
|
||||
const extracted = extractCIAgentBlock(fullMessage)!;
|
||||
const parsed = parseCIAgentBlock(extracted)!;
|
||||
|
||||
expect(parsed.compound!.category).toBe("auth");
|
||||
expect(parsed.compound!.problem).toBe("Token replay attacks");
|
||||
@@ -186,11 +186,11 @@ describe("CommitBuilder", () => {
|
||||
});
|
||||
|
||||
it("round-trips project field", () => {
|
||||
const ci: CiMetadata = { phase: 1, milestone: "v1.0", status: "execute", project: "task-api" };
|
||||
const ci: CIAgentMetadata = { phase: 1, milestone: "v1.0", status: "execute", project: "task-api" };
|
||||
const block = CommitBuilder.buildCiBlock(ci);
|
||||
const fullMessage = `feat(task-api/P01): test\n\n---ci---\n${block}\n---/ci---`;
|
||||
const extracted = extractCiBlock(fullMessage)!;
|
||||
const parsed = parseCiBlock(extracted)!;
|
||||
const extracted = extractCIAgentBlock(fullMessage)!;
|
||||
const parsed = parseCIAgentBlock(extracted)!;
|
||||
|
||||
expect(parsed.project).toBe("task-api");
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user