agentic-workflow-manager 9.22.0 → 9.22.1
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/src/commands/change/index.js +2 -2
- package/dist/src/commands/init.js +8 -4
- package/dist/src/commands/registry/add.js +9 -3
- package/dist/src/commands/sync.js +11 -5
- package/dist/src/commands/update.js +23 -12
- package/dist/src/core/changes/derive.js +6 -3
- package/dist/src/core/changes/git.js +1 -2
- package/dist/src/core/changes/worktree.js +15 -3
- package/dist/src/core/init/steps.js +3 -8
- package/dist/src/core/registries.js +20 -15
- package/dist/src/core/registry-git-errors.js +107 -0
- package/dist/src/core/registry-git.js +93 -0
- package/dist/src/core/registry-sync-report.js +74 -0
- package/dist/src/core/versioning.js +3 -6
- package/dist/src/index.js +5 -8
- package/dist/tests/commands/change/new.test.js +103 -57
- package/dist/tests/commands/change/validate.test.js +164 -108
- package/dist/tests/commands/changes/list.test.js +41 -22
- package/dist/tests/commands/job/gate-reconcile.test.js +13 -2
- package/dist/tests/commands/registry-sync-honesty.test.js +175 -0
- package/dist/tests/commands/sensors/exec.test.js +3 -1
- package/dist/tests/commands/update.test.js +8 -8
- package/dist/tests/commands/watch/supervisor-loop.test.js +21 -5
- package/dist/tests/core/changes/helpers.js +15 -3
- package/dist/tests/core/changes/list-paging.test.js +131 -110
- package/dist/tests/core/changes/list.test.js +133 -83
- package/dist/tests/core/changes/receipt.test.js +18 -6
- package/dist/tests/core/diagnostics/provider-checks.test.js +3 -0
- package/dist/tests/core/init/steps-registry-sync.test.js +6 -8
- package/dist/tests/core/registry-git.test.js +153 -0
- package/dist/tests/helpers/commit-seeded-registry.js +18 -0
- package/dist/tests/integration/codex-provider-isolated.test.js +7 -2
- package/dist/tests/integration/copilot-init-isolated.test.js +7 -4
- package/dist/tests/structural/active-documentation.test.js +0 -41
- package/dist/tests/structural/bundle-skill-reference-contract.test.js +0 -12
- package/dist/tests/structural/cli-reference-matches-commander.test.js +94 -0
- package/dist/tests/structural/native-release-artifacts.test.js +116 -107
- package/dist/tests/structural/sensor-documentation-contract.test.js +0 -47
- package/dist/tests/structural/sensor-portability-contract.test.js +0 -7
- package/dist/tests/structural/simple-git-v4-pin.test.js +49 -0
- package/package.json +2 -2
- package/prebuilds/darwin-arm64/secure_fs.node +0 -0
- package/prebuilds/darwin-x64/secure_fs.node +0 -0
- package/prebuilds/win32-arm64/secure_fs.node +0 -0
- package/prebuilds/win32-x64/secure_fs.node +0 -0
- package/dist/tests/structural/cloud-admission-docs-contract.test.js +0 -54
- package/dist/tests/structural/documentation-phase-is-mechanized.test.js +0 -29
- package/dist/tests/structural/operator-environments-docs-contract.test.js +0 -70
- package/dist/tests/structural/process-model-description-contract.test.js +0 -34
- package/dist/tests/structural/project-declared-sensors-docs-contract.test.js +0 -104
- package/dist/tests/structural/r4-plan-currentness-docs.test.js +0 -37
- package/dist/tests/structural/sensor-execution-optimization-docs-contract.test.js +0 -102
- package/dist/tests/structural/sensor-slice-decision-contract.test.js +0 -63
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const fs_1 = __importDefault(require("fs"));
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
/**
|
|
9
|
-
* CMD-DECISION — RF-D.1 `--slice` / `closureOnly` cycle policy in docs/decisions.md.
|
|
10
|
-
*
|
|
11
|
-
* Section-scoped: index-table mentions alone must not satisfy the body asserts.
|
|
12
|
-
*/
|
|
13
|
-
const repoRoot = path_1.default.resolve(__dirname, '../../..');
|
|
14
|
-
const decisionsPath = path_1.default.join(repoRoot, 'docs', 'decisions.md');
|
|
15
|
-
const DECISION_ID = 'D-025';
|
|
16
|
-
const DECISION_HEADING = `## ${DECISION_ID}`;
|
|
17
|
-
const COMPANION_PLAN = 'docs/plans/2026-10-27-sensor-execution-optimization-registry-plan.md';
|
|
18
|
-
function readDecisions() {
|
|
19
|
-
return fs_1.default.readFileSync(decisionsPath, 'utf8');
|
|
20
|
-
}
|
|
21
|
-
/** Body of ## D-025 through the next ## D- or EOF. */
|
|
22
|
-
function decisionBody(text) {
|
|
23
|
-
const start = text.indexOf(DECISION_HEADING);
|
|
24
|
-
expect(start).toBeGreaterThanOrEqual(0);
|
|
25
|
-
const rest = text.slice(start);
|
|
26
|
-
const next = rest.search(/\n## D-\d+/);
|
|
27
|
-
return next === -1 ? rest : rest.slice(0, next);
|
|
28
|
-
}
|
|
29
|
-
describe('sensor slice decision contract (CMD-DECISION / RF-D.1)', () => {
|
|
30
|
-
it('indexes D-025 in the decisions table', () => {
|
|
31
|
-
const text = readDecisions();
|
|
32
|
-
const tableEnd = text.indexOf('\n---\n');
|
|
33
|
-
expect(tableEnd).toBeGreaterThan(0);
|
|
34
|
-
const table = text.slice(0, tableEnd);
|
|
35
|
-
expect(table).toMatch(new RegExp(`\\[D-025\\]\\(#d-025\\)[^\n]*--slice[^\n]*closureOnly|\\[D-025\\]\\(#d-025\\)[^\n]*closureOnly[^\n]*--slice`, 'i'));
|
|
36
|
-
expect(table).toMatch(/\| \[D-025\]\(#d-025\) \| 2026-10-27 \|/);
|
|
37
|
-
});
|
|
38
|
-
it('records --slice + closureOnly cycle policy and forbids partial selection as closure evidence', () => {
|
|
39
|
-
const body = decisionBody(readDecisions());
|
|
40
|
-
expect(body).toMatch(/--slice/);
|
|
41
|
-
expect(body).toMatch(/closureOnly/);
|
|
42
|
-
// DONE of a slice requires `awm sensors run --slice` + overall pass — not a loose
|
|
43
|
-
// "slice…DONE" / "DONE…--slice" alternation that surviving prose elsewhere could satisfy.
|
|
44
|
-
expect(body).toMatch(/(?:Task\s*\/\s*slice|slice)\s+DONE:\s*`awm sensors run --slice`[\s\S]{0,80}overall:\s*`?pass`?/i);
|
|
45
|
-
expect(body).toMatch(/(?:full[- ]gate|full run|no --slice)[\s\S]{0,200}(?:QA|docs|finish|Change Record)|(?:QA|docs|finish|Change Record)[\s\S]{0,200}(?:full[- ]gate|full run)/i);
|
|
46
|
-
// Partial flags are never closure evidence — all four must sit in that rule
|
|
47
|
-
// (section-scoped to D-025 body; deleting the bullet fails).
|
|
48
|
-
expect(body).toMatch(/`--slice`[\s\S]{0,100}`--fast`[\s\S]{0,100}`--slow`[\s\S]{0,100}`--changed`[\s\S]{0,160}(?:nunca|never)[\s\S]{0,100}closure/i);
|
|
49
|
-
});
|
|
50
|
-
it('points to the registry companion plan for skill wording', () => {
|
|
51
|
-
const body = decisionBody(readDecisions());
|
|
52
|
-
expect(body).toContain(COMPANION_PLAN);
|
|
53
|
-
expect(body).toMatch(/awm-baseline-registry/);
|
|
54
|
-
expect(body).toMatch(/skill/i);
|
|
55
|
-
});
|
|
56
|
-
it('avoids incomplete-prose sentinels in the decision body', () => {
|
|
57
|
-
const body = decisionBody(readDecisions());
|
|
58
|
-
expect(body).not.toMatch(/\bTODO\b/);
|
|
59
|
-
expect(body).not.toMatch(/\bTBD\b/);
|
|
60
|
-
expect(body).not.toMatch(/\bplaceholder\b/i);
|
|
61
|
-
expect(body).not.toMatch(/\bdraft\b/i);
|
|
62
|
-
});
|
|
63
|
-
});
|