@cleocode/contracts 2026.5.120 → 2026.5.121
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.
- package/dist/__tests__/changesets.test.d.ts +8 -0
- package/dist/__tests__/changesets.test.d.ts.map +1 -0
- package/dist/__tests__/changesets.test.js +146 -0
- package/dist/__tests__/changesets.test.js.map +1 -0
- package/dist/__tests__/evidence-atom-schema.test.js +75 -1
- package/dist/__tests__/evidence-atom-schema.test.js.map +1 -1
- package/dist/changesets.d.ts +91 -0
- package/dist/changesets.d.ts.map +1 -1
- package/dist/changesets.js +72 -2
- package/dist/changesets.js.map +1 -1
- package/dist/dispatch/operations-registry.d.ts.map +1 -1
- package/dist/dispatch/operations-registry.js +29 -0
- package/dist/dispatch/operations-registry.js.map +1 -1
- package/dist/evidence-atom-schema.d.ts +52 -8
- package/dist/evidence-atom-schema.d.ts.map +1 -1
- package/dist/evidence-atom-schema.js +96 -0
- package/dist/evidence-atom-schema.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/operations/tasks.d.ts +26 -0
- package/dist/operations/tasks.d.ts.map +1 -1
- package/dist/operations/tasks.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/__snapshots__/operations-registry.test.ts.snap +1 -1
- package/src/__tests__/changesets.test.ts +176 -0
- package/src/__tests__/evidence-atom-schema.test.ts +88 -0
- package/src/changesets.ts +93 -2
- package/src/dispatch/operations-registry.ts +31 -0
- package/src/evidence-atom-schema.ts +131 -7
- package/src/index.ts +2 -0
- package/src/operations/tasks.ts +26 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changesets.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/changesets.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for CLEO changeset contracts and parser compatibility.
|
|
3
|
+
*
|
|
4
|
+
* @task T10480
|
|
5
|
+
* @epic T9759
|
|
6
|
+
*/
|
|
7
|
+
import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
8
|
+
import { tmpdir } from 'node:os';
|
|
9
|
+
import { join } from 'node:path';
|
|
10
|
+
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
|
11
|
+
import { ChangesetEntrySchema } from '../changesets.js';
|
|
12
|
+
let tempDir;
|
|
13
|
+
beforeEach(() => {
|
|
14
|
+
tempDir = mkdtempSync(join(tmpdir(), 'cleo-changesets-contract-'));
|
|
15
|
+
});
|
|
16
|
+
afterEach(() => {
|
|
17
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
18
|
+
});
|
|
19
|
+
function writeChangeset(filename, content) {
|
|
20
|
+
const path = join(tempDir, filename);
|
|
21
|
+
writeFileSync(path, content, 'utf8');
|
|
22
|
+
return path;
|
|
23
|
+
}
|
|
24
|
+
async function loadParseChangesetFile() {
|
|
25
|
+
const parserUrl = new URL('../../../core/src/changesets/parser.ts', import.meta.url).href;
|
|
26
|
+
const parser = (await import(parserUrl));
|
|
27
|
+
return parser.parseChangesetFile;
|
|
28
|
+
}
|
|
29
|
+
describe('ChangesetEntrySchema release-note metadata', () => {
|
|
30
|
+
it('accepts legacy changesets without releaseNotes unchanged', () => {
|
|
31
|
+
const legacy = {
|
|
32
|
+
id: 'T10480',
|
|
33
|
+
tasks: ['T10480'],
|
|
34
|
+
kind: 'fix',
|
|
35
|
+
summary: 'Legacy changesets still parse.',
|
|
36
|
+
};
|
|
37
|
+
const parsed = ChangesetEntrySchema.parse(legacy);
|
|
38
|
+
expect(parsed).toEqual(legacy);
|
|
39
|
+
expect(parsed.releaseNotes).toBeUndefined();
|
|
40
|
+
});
|
|
41
|
+
it('accepts deterministic zero-token release-note metadata', () => {
|
|
42
|
+
const entry = ChangesetEntrySchema.parse({
|
|
43
|
+
id: 't10480-release-notes',
|
|
44
|
+
tasks: ['T10480', 'T9759'],
|
|
45
|
+
kind: 'feat',
|
|
46
|
+
summary: 'Add structured release-note metadata.',
|
|
47
|
+
releaseNotes: {
|
|
48
|
+
section: 'added',
|
|
49
|
+
audience: ['operators', 'developers'],
|
|
50
|
+
scope: 'package',
|
|
51
|
+
targets: ['@cleocode/contracts', '@cleocode/core'],
|
|
52
|
+
impact: 'Release tooling can render richer notes from author-provided facts.',
|
|
53
|
+
migration: 'No migration required for legacy changesets.',
|
|
54
|
+
operatorNotes: 'No LLM, API token, or network call is required.',
|
|
55
|
+
includeInChangelog: true,
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
expect(entry.releaseNotes).toEqual({
|
|
59
|
+
section: 'added',
|
|
60
|
+
audience: ['operators', 'developers'],
|
|
61
|
+
scope: 'package',
|
|
62
|
+
targets: ['@cleocode/contracts', '@cleocode/core'],
|
|
63
|
+
impact: 'Release tooling can render richer notes from author-provided facts.',
|
|
64
|
+
migration: 'No migration required for legacy changesets.',
|
|
65
|
+
operatorNotes: 'No LLM, API token, or network call is required.',
|
|
66
|
+
includeInChangelog: true,
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
it('rejects malformed release-note metadata loudly', () => {
|
|
70
|
+
const result = ChangesetEntrySchema.safeParse({
|
|
71
|
+
id: 't10480-bad-release-notes',
|
|
72
|
+
tasks: ['T10480'],
|
|
73
|
+
kind: 'feat',
|
|
74
|
+
summary: 'Bad metadata.',
|
|
75
|
+
releaseNotes: {
|
|
76
|
+
section: 'feature',
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
expect(result.success).toBe(false);
|
|
80
|
+
if (result.success)
|
|
81
|
+
return;
|
|
82
|
+
expect(result.error.issues[0]?.path).toEqual(['releaseNotes', 'section']);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
describe('parseChangesetFile release-note metadata compatibility', () => {
|
|
86
|
+
it('parses legacy markdown changesets unchanged', async () => {
|
|
87
|
+
const parseChangesetFile = await loadParseChangesetFile();
|
|
88
|
+
const file = writeChangeset('T10480.md', `---
|
|
89
|
+
id: T10480
|
|
90
|
+
tasks: [T10480]
|
|
91
|
+
kind: fix
|
|
92
|
+
summary: Legacy markdown changesets still parse unchanged.
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
Body notes survive.
|
|
96
|
+
`);
|
|
97
|
+
expect(parseChangesetFile(file)).toEqual({
|
|
98
|
+
id: 'T10480',
|
|
99
|
+
tasks: ['T10480'],
|
|
100
|
+
kind: 'fix',
|
|
101
|
+
summary: 'Legacy markdown changesets still parse unchanged.',
|
|
102
|
+
notes: 'Body notes survive.',
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
it('parses new release-note metadata from markdown frontmatter', async () => {
|
|
106
|
+
const parseChangesetFile = await loadParseChangesetFile();
|
|
107
|
+
const file = writeChangeset('t10480-new-metadata.md', `---
|
|
108
|
+
id: t10480-new-metadata
|
|
109
|
+
tasks: [T10480]
|
|
110
|
+
kind: feat
|
|
111
|
+
summary: Parse release-note metadata.
|
|
112
|
+
releaseNotes:
|
|
113
|
+
section: changed
|
|
114
|
+
audience: [operators]
|
|
115
|
+
scope: package
|
|
116
|
+
targets: ['@cleocode/core']
|
|
117
|
+
impact: Deterministic release notes get structured context.
|
|
118
|
+
includeInChangelog: true
|
|
119
|
+
---
|
|
120
|
+
`);
|
|
121
|
+
expect(parseChangesetFile(file)).toMatchObject({
|
|
122
|
+
releaseNotes: {
|
|
123
|
+
section: 'changed',
|
|
124
|
+
audience: ['operators'],
|
|
125
|
+
scope: 'package',
|
|
126
|
+
targets: ['@cleocode/core'],
|
|
127
|
+
impact: 'Deterministic release notes get structured context.',
|
|
128
|
+
includeInChangelog: true,
|
|
129
|
+
},
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
it('fails malformed release-note metadata with file and line context', async () => {
|
|
133
|
+
const parseChangesetFile = await loadParseChangesetFile();
|
|
134
|
+
const file = writeChangeset('t10480-bad-metadata.md', `---
|
|
135
|
+
id: t10480-bad-metadata
|
|
136
|
+
tasks: [T10480]
|
|
137
|
+
kind: feat
|
|
138
|
+
summary: Bad release-note metadata.
|
|
139
|
+
releaseNotes:
|
|
140
|
+
section: feature
|
|
141
|
+
---
|
|
142
|
+
`);
|
|
143
|
+
expect(() => parseChangesetFile(file)).toThrow(new RegExp(`${file.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}:7[\\s\\S]*releaseNotes\\.section`));
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
//# sourceMappingURL=changesets.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changesets.test.js","sourceRoot":"","sources":["../../src/__tests__/changesets.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* @adr ADR-051
|
|
14
14
|
*/
|
|
15
15
|
import { describe, expect, it } from 'vitest';
|
|
16
|
-
import { EvidenceAtomSchema, EvidenceParseError, formatGateRequirement, GATE_EVIDENCE_REQUIREMENTS, parseEvidenceString, validateEvidenceForGate, } from '../index.js';
|
|
16
|
+
import { EvidenceAtomSchema, EvidenceParseError, formatGateRequirement, formatGateRequirementHint, GATE_EVIDENCE_REQUIREMENTS, parseEvidenceString, validateEvidenceForGate, } from '../index.js';
|
|
17
17
|
describe('EvidenceAtomSchema (T10337)', () => {
|
|
18
18
|
// ─── Per-atom-prefix parse coverage ───────────────────────────────────────
|
|
19
19
|
describe('commit atom', () => {
|
|
@@ -391,4 +391,78 @@ describe('formatGateRequirement (T10337)', () => {
|
|
|
391
391
|
expect(formatGateRequirement('cleanupDone')).toBe('[note]');
|
|
392
392
|
});
|
|
393
393
|
});
|
|
394
|
+
// ─── formatGateRequirementHint — rich CLI `fix:` surface (T9949) ────────────
|
|
395
|
+
describe('formatGateRequirementHint (T9949)', () => {
|
|
396
|
+
it('renders implemented as multi-line list of copy-pasteable verify commands', () => {
|
|
397
|
+
const h = formatGateRequirementHint('implemented');
|
|
398
|
+
// Header line names the gate and uses "ONE of" framing.
|
|
399
|
+
expect(h).toMatch(/^Gate 'implemented' requires programmatic evidence\. Use ONE of:/);
|
|
400
|
+
// Each combination renders as a complete `cleo verify ... --evidence '<atoms>'` line.
|
|
401
|
+
expect(h).toContain("--evidence 'commit:<sha>;files:path/a.ts,path/b.ts'");
|
|
402
|
+
expect(h).toContain("--evidence 'commit:<sha>;note:<short description>'");
|
|
403
|
+
expect(h).toContain("--evidence 'decision:D-arch-001;files:path/a.ts,path/b.ts'");
|
|
404
|
+
expect(h).toContain("--evidence 'decision:D-arch-001;note:<short description>'");
|
|
405
|
+
expect(h).toContain("--evidence 'pr:357'");
|
|
406
|
+
// Routes a `note:`-only caller at the partner atom they need.
|
|
407
|
+
expect(h).toContain("'note:' alone is NOT accepted for this gate");
|
|
408
|
+
expect(h).toContain("'commit:'");
|
|
409
|
+
expect(h).toContain("'decision:'");
|
|
410
|
+
});
|
|
411
|
+
it('routes note-only callers for testsPassed at the right alternatives', () => {
|
|
412
|
+
// testsPassed accepts test-run, tool, or pr — none of which involve note.
|
|
413
|
+
const h = formatGateRequirementHint('testsPassed');
|
|
414
|
+
expect(h).toContain("--evidence 'test-run:/tmp/vitest-out.json'");
|
|
415
|
+
expect(h).toContain("--evidence 'tool:test'");
|
|
416
|
+
expect(h).toContain("--evidence 'pr:357'");
|
|
417
|
+
// When no combination includes note at all, the helper falls through to a
|
|
418
|
+
// generic "not accepted, see ADR-051" clarifier rather than fabricating a
|
|
419
|
+
// partner suggestion.
|
|
420
|
+
expect(h).toContain("'note:' is NOT accepted for this gate");
|
|
421
|
+
expect(h).toContain('ADR-051');
|
|
422
|
+
});
|
|
423
|
+
it('confirms note-only acceptance for cleanupDone', () => {
|
|
424
|
+
const h = formatGateRequirementHint('cleanupDone');
|
|
425
|
+
expect(h).toContain("--evidence 'note:<short description>'");
|
|
426
|
+
expect(h).toContain("'note:' alone IS accepted for this gate");
|
|
427
|
+
});
|
|
428
|
+
it('confirms note-only acceptance for securityPassed and nexusImpact', () => {
|
|
429
|
+
for (const gate of ['securityPassed', 'nexusImpact']) {
|
|
430
|
+
const h = formatGateRequirementHint(gate);
|
|
431
|
+
expect(h, `${gate}: should confirm note alone is accepted`).toContain("'note:' alone IS accepted for this gate");
|
|
432
|
+
}
|
|
433
|
+
});
|
|
434
|
+
it('renders documented with files and url, and points away from note', () => {
|
|
435
|
+
const h = formatGateRequirementHint('documented');
|
|
436
|
+
expect(h).toContain("--evidence 'files:path/a.ts,path/b.ts'");
|
|
437
|
+
expect(h).toContain("--evidence 'url:https://example.com/docs'");
|
|
438
|
+
// documented has no note pairings — generic clarifier path.
|
|
439
|
+
expect(h).toContain("'note:' is NOT accepted for this gate");
|
|
440
|
+
});
|
|
441
|
+
});
|
|
442
|
+
// ─── validateEvidenceForGate — failure carries `hint` (T9949) ───────────────
|
|
443
|
+
describe('validateEvidenceForGate failure surface (T9949)', () => {
|
|
444
|
+
it('populates a `hint` field alongside the legacy `message`', () => {
|
|
445
|
+
const r = validateEvidenceForGate('implemented', [
|
|
446
|
+
{ kind: 'note', note: 'just a note' },
|
|
447
|
+
]);
|
|
448
|
+
expect(r.ok).toBe(false);
|
|
449
|
+
if (!r.ok) {
|
|
450
|
+
// Legacy single-line message preserved byte-for-byte.
|
|
451
|
+
expect(r.message).toBe("Gate 'implemented' requires evidence: [commit AND files] OR [commit AND note] OR [decision AND files] OR [decision AND note] OR [pr]");
|
|
452
|
+
// New rich hint includes the same content as formatGateRequirementHint.
|
|
453
|
+
expect(r.hint).toBe(formatGateRequirementHint('implemented'));
|
|
454
|
+
}
|
|
455
|
+
});
|
|
456
|
+
it('notes-only against testsPassed surfaces the right alternatives', () => {
|
|
457
|
+
const r = validateEvidenceForGate('testsPassed', [
|
|
458
|
+
{ kind: 'note', note: 'I ran the tests by hand' },
|
|
459
|
+
]);
|
|
460
|
+
expect(r.ok).toBe(false);
|
|
461
|
+
if (!r.ok) {
|
|
462
|
+
expect(r.hint).toContain("--evidence 'tool:test'");
|
|
463
|
+
expect(r.hint).toContain("--evidence 'pr:357'");
|
|
464
|
+
expect(r.hint).toContain("'note:' is NOT accepted for this gate");
|
|
465
|
+
}
|
|
466
|
+
});
|
|
467
|
+
});
|
|
394
468
|
//# sourceMappingURL=evidence-atom-schema.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence-atom-schema.test.js","sourceRoot":"","sources":["../../src/__tests__/evidence-atom-schema.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"evidence-atom-schema.test.js","sourceRoot":"","sources":["../../src/__tests__/evidence-atom-schema.test.ts"],"names":[],"mappings":"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"}
|
package/dist/changesets.d.ts
CHANGED
|
@@ -52,6 +52,64 @@ import { z } from 'zod';
|
|
|
52
52
|
export declare const CHANGESET_KINDS: readonly ["feat", "fix", "perf", "refactor", "docs", "test", "chore", "breaking"];
|
|
53
53
|
/** Allowed values of {@link ChangesetEntry.kind}. */
|
|
54
54
|
export type ChangesetKind = (typeof CHANGESET_KINDS)[number];
|
|
55
|
+
/**
|
|
56
|
+
* Deterministic release-note section override used by zero-token renderers.
|
|
57
|
+
*
|
|
58
|
+
* These values intentionally mirror Keep-a-Changelog style headings so release
|
|
59
|
+
* tooling can render higher-quality notes without an LLM/API/token dependency.
|
|
60
|
+
*/
|
|
61
|
+
export declare const CHANGESET_RELEASE_NOTE_SECTIONS: readonly ["added", "changed", "fixed", "deprecated", "removed", "security", "breaking"];
|
|
62
|
+
/** Allowed values of {@link ChangesetReleaseNotesMetadata.section}. */
|
|
63
|
+
export type ChangesetReleaseNoteSection = (typeof CHANGESET_RELEASE_NOTE_SECTIONS)[number];
|
|
64
|
+
/** Audience labels for deterministic release-note routing. */
|
|
65
|
+
export declare const CHANGESET_RELEASE_NOTE_AUDIENCES: readonly ["users", "operators", "developers", "maintainers"];
|
|
66
|
+
/** Allowed values of {@link ChangesetReleaseNotesMetadata.audience}. */
|
|
67
|
+
export type ChangesetReleaseNoteAudience = (typeof CHANGESET_RELEASE_NOTE_AUDIENCES)[number];
|
|
68
|
+
/** Scope labels for deterministic release-note routing. */
|
|
69
|
+
export declare const CHANGESET_RELEASE_NOTE_SCOPES: readonly ["project", "package", "component", "docs", "ops", "security"];
|
|
70
|
+
/** Allowed values of {@link ChangesetReleaseNotesMetadata.scope}. */
|
|
71
|
+
export type ChangesetReleaseNoteScope = (typeof CHANGESET_RELEASE_NOTE_SCOPES)[number];
|
|
72
|
+
/**
|
|
73
|
+
* Optional deterministic metadata for release-note rendering.
|
|
74
|
+
*
|
|
75
|
+
* This is deliberately small, explicit, and strict: it gives release tooling
|
|
76
|
+
* structured author-provided facts (section, audience, target, impact, etc.)
|
|
77
|
+
* while preserving zero-token defaults and failing loudly on misspelled fields.
|
|
78
|
+
*/
|
|
79
|
+
export declare const ChangesetReleaseNotesMetadataSchema: z.ZodObject<{
|
|
80
|
+
section: z.ZodOptional<z.ZodEnum<{
|
|
81
|
+
removed: "removed";
|
|
82
|
+
deprecated: "deprecated";
|
|
83
|
+
security: "security";
|
|
84
|
+
fixed: "fixed";
|
|
85
|
+
breaking: "breaking";
|
|
86
|
+
added: "added";
|
|
87
|
+
changed: "changed";
|
|
88
|
+
}>>;
|
|
89
|
+
audience: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
90
|
+
users: "users";
|
|
91
|
+
operators: "operators";
|
|
92
|
+
developers: "developers";
|
|
93
|
+
maintainers: "maintainers";
|
|
94
|
+
}>>>;
|
|
95
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
96
|
+
project: "project";
|
|
97
|
+
security: "security";
|
|
98
|
+
docs: "docs";
|
|
99
|
+
package: "package";
|
|
100
|
+
component: "component";
|
|
101
|
+
ops: "ops";
|
|
102
|
+
}>>;
|
|
103
|
+
targets: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
104
|
+
impact: z.ZodOptional<z.ZodString>;
|
|
105
|
+
migration: z.ZodOptional<z.ZodString>;
|
|
106
|
+
deprecation: z.ZodOptional<z.ZodString>;
|
|
107
|
+
security: z.ZodOptional<z.ZodString>;
|
|
108
|
+
operatorNotes: z.ZodOptional<z.ZodString>;
|
|
109
|
+
includeInChangelog: z.ZodOptional<z.ZodBoolean>;
|
|
110
|
+
}, z.core.$strict>;
|
|
111
|
+
/** Inferred TypeScript type for deterministic release-note metadata. */
|
|
112
|
+
export type ChangesetReleaseNotesMetadata = z.infer<typeof ChangesetReleaseNotesMetadataSchema>;
|
|
55
113
|
/**
|
|
56
114
|
* Zod schema for a single changeset entry. Validates frontmatter fields
|
|
57
115
|
* + markdown body of a file under `.changeset/*.md`.
|
|
@@ -66,6 +124,7 @@ export type ChangesetKind = (typeof CHANGESET_KINDS)[number];
|
|
|
66
124
|
* - `prs` — linked PR numbers
|
|
67
125
|
* - `notes` — longer-form markdown body
|
|
68
126
|
* - `breaking` — required migration note when `kind === 'breaking'`
|
|
127
|
+
* - `releaseNotes` — deterministic zero-token release-note metadata
|
|
69
128
|
*/
|
|
70
129
|
export declare const ChangesetEntrySchema: z.ZodObject<{
|
|
71
130
|
id: z.ZodString;
|
|
@@ -84,6 +143,38 @@ export declare const ChangesetEntrySchema: z.ZodObject<{
|
|
|
84
143
|
prs: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
85
144
|
notes: z.ZodOptional<z.ZodString>;
|
|
86
145
|
breaking: z.ZodOptional<z.ZodString>;
|
|
146
|
+
releaseNotes: z.ZodOptional<z.ZodObject<{
|
|
147
|
+
section: z.ZodOptional<z.ZodEnum<{
|
|
148
|
+
removed: "removed";
|
|
149
|
+
deprecated: "deprecated";
|
|
150
|
+
security: "security";
|
|
151
|
+
fixed: "fixed";
|
|
152
|
+
breaking: "breaking";
|
|
153
|
+
added: "added";
|
|
154
|
+
changed: "changed";
|
|
155
|
+
}>>;
|
|
156
|
+
audience: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
157
|
+
users: "users";
|
|
158
|
+
operators: "operators";
|
|
159
|
+
developers: "developers";
|
|
160
|
+
maintainers: "maintainers";
|
|
161
|
+
}>>>;
|
|
162
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
163
|
+
project: "project";
|
|
164
|
+
security: "security";
|
|
165
|
+
docs: "docs";
|
|
166
|
+
package: "package";
|
|
167
|
+
component: "component";
|
|
168
|
+
ops: "ops";
|
|
169
|
+
}>>;
|
|
170
|
+
targets: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
171
|
+
impact: z.ZodOptional<z.ZodString>;
|
|
172
|
+
migration: z.ZodOptional<z.ZodString>;
|
|
173
|
+
deprecation: z.ZodOptional<z.ZodString>;
|
|
174
|
+
security: z.ZodOptional<z.ZodString>;
|
|
175
|
+
operatorNotes: z.ZodOptional<z.ZodString>;
|
|
176
|
+
includeInChangelog: z.ZodOptional<z.ZodBoolean>;
|
|
177
|
+
}, z.core.$strict>>;
|
|
87
178
|
}, z.core.$strip>;
|
|
88
179
|
/**
|
|
89
180
|
* Inferred TypeScript type for a parsed changeset entry.
|
package/dist/changesets.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changesets.d.ts","sourceRoot":"","sources":["../src/changesets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,mFASlB,CAAC;AAEX,qDAAqD;AACrD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"changesets.d.ts","sourceRoot":"","sources":["../src/changesets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,mFASlB,CAAC;AAEX,qDAAqD;AACrD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAI7D;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,yFAQlC,CAAC;AAEX,uEAAuE;AACvE,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3F,8DAA8D;AAC9D,eAAO,MAAM,gCAAgC,8DAKnC,CAAC;AAEX,wEAAwE;AACxE,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7F,2DAA2D;AAC3D,eAAO,MAAM,6BAA6B,yEAOhC,CAAC;AAEX,qEAAqE;AACrE,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAOvF;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuBrC,CAAC;AAEZ,wEAAwE;AACxE,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAchG;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8B7B,CAAC;AAEL;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
package/dist/changesets.js
CHANGED
|
@@ -60,6 +60,73 @@ export const CHANGESET_KINDS = [
|
|
|
60
60
|
'chore',
|
|
61
61
|
'breaking',
|
|
62
62
|
];
|
|
63
|
+
// ─── Release-note metadata ───────────────────────────────────────────────────
|
|
64
|
+
/**
|
|
65
|
+
* Deterministic release-note section override used by zero-token renderers.
|
|
66
|
+
*
|
|
67
|
+
* These values intentionally mirror Keep-a-Changelog style headings so release
|
|
68
|
+
* tooling can render higher-quality notes without an LLM/API/token dependency.
|
|
69
|
+
*/
|
|
70
|
+
export const CHANGESET_RELEASE_NOTE_SECTIONS = [
|
|
71
|
+
'added',
|
|
72
|
+
'changed',
|
|
73
|
+
'fixed',
|
|
74
|
+
'deprecated',
|
|
75
|
+
'removed',
|
|
76
|
+
'security',
|
|
77
|
+
'breaking',
|
|
78
|
+
];
|
|
79
|
+
/** Audience labels for deterministic release-note routing. */
|
|
80
|
+
export const CHANGESET_RELEASE_NOTE_AUDIENCES = [
|
|
81
|
+
'users',
|
|
82
|
+
'operators',
|
|
83
|
+
'developers',
|
|
84
|
+
'maintainers',
|
|
85
|
+
];
|
|
86
|
+
/** Scope labels for deterministic release-note routing. */
|
|
87
|
+
export const CHANGESET_RELEASE_NOTE_SCOPES = [
|
|
88
|
+
'project',
|
|
89
|
+
'package',
|
|
90
|
+
'component',
|
|
91
|
+
'docs',
|
|
92
|
+
'ops',
|
|
93
|
+
'security',
|
|
94
|
+
];
|
|
95
|
+
const nonEmptyReleaseNoteText = z.string().min(1, 'release-note metadata text must be non-empty');
|
|
96
|
+
const nonEmptyReleaseNoteList = z
|
|
97
|
+
.array(nonEmptyReleaseNoteText)
|
|
98
|
+
.min(1, 'release-note metadata list must contain at least one item');
|
|
99
|
+
/**
|
|
100
|
+
* Optional deterministic metadata for release-note rendering.
|
|
101
|
+
*
|
|
102
|
+
* This is deliberately small, explicit, and strict: it gives release tooling
|
|
103
|
+
* structured author-provided facts (section, audience, target, impact, etc.)
|
|
104
|
+
* while preserving zero-token defaults and failing loudly on misspelled fields.
|
|
105
|
+
*/
|
|
106
|
+
export const ChangesetReleaseNotesMetadataSchema = z
|
|
107
|
+
.object({
|
|
108
|
+
/** Keep-a-Changelog style section/category override. */
|
|
109
|
+
section: z.enum(CHANGESET_RELEASE_NOTE_SECTIONS).optional(),
|
|
110
|
+
/** Intended readers for the note. */
|
|
111
|
+
audience: z.array(z.enum(CHANGESET_RELEASE_NOTE_AUDIENCES)).min(1).optional(),
|
|
112
|
+
/** Release-note scope. */
|
|
113
|
+
scope: z.enum(CHANGESET_RELEASE_NOTE_SCOPES).optional(),
|
|
114
|
+
/** Package/project/component targets affected by this entry. */
|
|
115
|
+
targets: nonEmptyReleaseNoteList.optional(),
|
|
116
|
+
/** User- or operator-visible impact statement. */
|
|
117
|
+
impact: nonEmptyReleaseNoteText.optional(),
|
|
118
|
+
/** Deterministic migration/action text, separate from breaking changes. */
|
|
119
|
+
migration: nonEmptyReleaseNoteText.optional(),
|
|
120
|
+
/** Deprecation detail for Deprecated sections. */
|
|
121
|
+
deprecation: nonEmptyReleaseNoteText.optional(),
|
|
122
|
+
/** Security detail for Security sections. */
|
|
123
|
+
security: nonEmptyReleaseNoteText.optional(),
|
|
124
|
+
/** Operator-facing rollout/verification note. */
|
|
125
|
+
operatorNotes: nonEmptyReleaseNoteText.optional(),
|
|
126
|
+
/** Explicit inclusion toggle for future release-scope filters. */
|
|
127
|
+
includeInChangelog: z.boolean().optional(),
|
|
128
|
+
})
|
|
129
|
+
.strict();
|
|
63
130
|
// ─── Task ID validator ────────────────────────────────────────────────────────
|
|
64
131
|
/**
|
|
65
132
|
* Matches a CLEO task identifier: `T####` (task) or `E-####` (epic display
|
|
@@ -83,14 +150,15 @@ const TASK_ID_RE = /^(T\d+(-[A-Z][A-Za-z0-9]*)?|E-\d+(-[A-Z][A-Za-z0-9]*)?)$/;
|
|
|
83
150
|
* - `prs` — linked PR numbers
|
|
84
151
|
* - `notes` — longer-form markdown body
|
|
85
152
|
* - `breaking` — required migration note when `kind === 'breaking'`
|
|
153
|
+
* - `releaseNotes` — deterministic zero-token release-note metadata
|
|
86
154
|
*/
|
|
87
155
|
export const ChangesetEntrySchema = z
|
|
88
156
|
.object({
|
|
89
|
-
/** Filename
|
|
157
|
+
/** Filename identifier (without the `.md` extension); lowercase kebab-case for new files, legacy uppercase task IDs accepted. */
|
|
90
158
|
id: z
|
|
91
159
|
.string()
|
|
92
160
|
.min(1, 'id must be non-empty')
|
|
93
|
-
.regex(/^[
|
|
161
|
+
.regex(/^[A-Za-z0-9][A-Za-z0-9-]*$/, 'id must contain only ASCII letters, digits, and hyphens'),
|
|
94
162
|
/** One or more CLEO task IDs this change is anchored to. */
|
|
95
163
|
tasks: z
|
|
96
164
|
.array(z.string().regex(TASK_ID_RE, 'task ID must match T#### or E-#### format'))
|
|
@@ -105,6 +173,8 @@ export const ChangesetEntrySchema = z
|
|
|
105
173
|
notes: z.string().optional(),
|
|
106
174
|
/** Migration note. Required iff `kind === 'breaking'`. */
|
|
107
175
|
breaking: z.string().optional(),
|
|
176
|
+
/** Structured author-provided metadata for deterministic release notes. */
|
|
177
|
+
releaseNotes: ChangesetReleaseNotesMetadataSchema.optional(),
|
|
108
178
|
})
|
|
109
179
|
.refine((entry) => entry.kind !== 'breaking' || (entry.breaking?.length ?? 0) > 0, {
|
|
110
180
|
message: 'breaking entries must include a non-empty `breaking` migration note',
|
package/dist/changesets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changesets.js","sourceRoot":"","sources":["../src/changesets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iFAAiF;AAEjF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM;IACN,KAAK;IACL,MAAM;IACN,UAAU;IACV,MAAM;IACN,MAAM;IACN,OAAO;IACP,UAAU;CACF,CAAC;AAKX,iFAAiF;AAEjF;;;;;GAKG;AACH,MAAM,UAAU,GAAG,0DAA0D,CAAC;AAE9E,iFAAiF;AAEjF
|
|
1
|
+
{"version":3,"file":"changesets.js","sourceRoot":"","sources":["../src/changesets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations-registry.d.ts","sourceRoot":"","sources":["../../src/dispatch/operations-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAEjG,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAMvE;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,YAAY,CAExD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAE1F;AAMD,6DAA6D;AAC7D,eAAO,MAAM,UAAU,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"operations-registry.d.ts","sourceRoot":"","sources":["../../src/dispatch/operations-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAEjG,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAMvE;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,YAAY,CAExD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAE1F;AAMD,6DAA6D;AAC7D,eAAO,MAAM,UAAU,EAAE,YAAY,EAk/PpC,CAAC"}
|
|
@@ -7381,6 +7381,35 @@ export const OPERATIONS = [
|
|
|
7381
7381
|
},
|
|
7382
7382
|
],
|
|
7383
7383
|
},
|
|
7384
|
+
// release query: validate-changelog (T9937 / Saga T9862 — canonical CHANGELOG
|
|
7385
|
+
// header validator that replaces the brittle inline grep step in
|
|
7386
|
+
// .github/workflows/release.yml). Read-only — exposed only under the query
|
|
7387
|
+
// gateway because no DB or filesystem mutation occurs.
|
|
7388
|
+
{
|
|
7389
|
+
gateway: 'query',
|
|
7390
|
+
domain: 'release',
|
|
7391
|
+
operation: 'validate-changelog',
|
|
7392
|
+
description: 'release.validate-changelog (query) — validate that CHANGELOG.md contains the canonical `## [VERSION]` header per ADR-028 §2.5. Replaces the brittle inline grep in .github/workflows/release.yml (T9937 / Saga T9862).',
|
|
7393
|
+
tier: 1,
|
|
7394
|
+
idempotent: true,
|
|
7395
|
+
sessionRequired: false,
|
|
7396
|
+
requiredParams: ['version'],
|
|
7397
|
+
params: [
|
|
7398
|
+
{
|
|
7399
|
+
name: 'version',
|
|
7400
|
+
type: 'string',
|
|
7401
|
+
required: true,
|
|
7402
|
+
description: 'Release version (accepts v2026.5.94 or 2026.5.94)',
|
|
7403
|
+
cli: { positional: true },
|
|
7404
|
+
},
|
|
7405
|
+
{
|
|
7406
|
+
name: 'changelogPath',
|
|
7407
|
+
type: 'string',
|
|
7408
|
+
required: false,
|
|
7409
|
+
description: 'Override the CHANGELOG file path (default: <projectRoot>/CHANGELOG.md)',
|
|
7410
|
+
},
|
|
7411
|
+
],
|
|
7412
|
+
},
|
|
7384
7413
|
// ---------------------------------------------------------------------------
|
|
7385
7414
|
// Provenance domain — `cleo provenance` CLI surface (T9528 · Phase 2 of T9493)
|
|
7386
7415
|
// ---------------------------------------------------------------------------
|