@llm-dev-ops/agentics-cli 2.7.36 → 2.7.38
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/adapters/base-adapter.d.ts.map +1 -1
- package/dist/adapters/base-adapter.js.map +1 -1
- package/dist/agents/repo-agent-runner.d.ts.map +1 -1
- package/dist/agents/repo-agent-runner.js +0 -2
- package/dist/agents/repo-agent-runner.js.map +1 -1
- package/dist/agents/system-prompts.d.ts.map +1 -1
- package/dist/agents/system-prompts.js +0 -19
- package/dist/agents/system-prompts.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/agents.d.ts +4 -24
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +30 -106
- package/dist/commands/agents.js.map +1 -1
- package/dist/mcp/agent-event-parser.d.ts +1 -11
- package/dist/mcp/agent-event-parser.d.ts.map +1 -1
- package/dist/mcp/agent-event-parser.js +7 -153
- package/dist/mcp/agent-event-parser.js.map +1 -1
- package/dist/mcp/mcp-server.js +0 -58
- package/dist/mcp/mcp-server.js.map +1 -1
- package/dist/pipeline/auto-chain.d.ts.map +1 -1
- package/dist/pipeline/auto-chain.js +27 -169
- package/dist/pipeline/auto-chain.js.map +1 -1
- package/dist/pipeline/local-fallback/phase5a-local-fallback.d.ts +21 -18
- package/dist/pipeline/local-fallback/phase5a-local-fallback.d.ts.map +1 -1
- package/dist/pipeline/local-fallback/phase5a-local-fallback.js +92 -397
- package/dist/pipeline/local-fallback/phase5a-local-fallback.js.map +1 -1
- package/dist/pipeline/phase2/phases/adr-generator.d.ts +29 -1
- package/dist/pipeline/phase2/phases/adr-generator.d.ts.map +1 -1
- package/dist/pipeline/phase2/phases/adr-generator.js +709 -1399
- package/dist/pipeline/phase2/phases/adr-generator.js.map +1 -1
- package/dist/pipeline/phase2/phases/ddd-generator.d.ts.map +1 -1
- package/dist/pipeline/phase2/phases/ddd-generator.js +7 -42
- package/dist/pipeline/phase2/phases/ddd-generator.js.map +1 -1
- package/dist/pipeline/phase2/phases/research-dossier.d.ts.map +1 -1
- package/dist/pipeline/phase2/phases/research-dossier.js +2 -33
- package/dist/pipeline/phase2/phases/research-dossier.js.map +1 -1
- package/dist/pipeline/phase2/phases/sparc-specification.d.ts.map +1 -1
- package/dist/pipeline/phase2/phases/sparc-specification.js +2 -27
- package/dist/pipeline/phase2/phases/sparc-specification.js.map +1 -1
- package/dist/pipeline/phase2/types.d.ts +19 -57
- package/dist/pipeline/phase2/types.d.ts.map +1 -1
- package/dist/pipeline/phase4-adrs/adr-index-extractor.d.ts +75 -0
- package/dist/pipeline/phase4-adrs/adr-index-extractor.d.ts.map +1 -0
- package/dist/pipeline/phase4-adrs/adr-index-extractor.js +200 -0
- package/dist/pipeline/phase4-adrs/adr-index-extractor.js.map +1 -0
- package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.d.ts.map +1 -1
- package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.js +70 -68
- package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.js.map +1 -1
- package/dist/pipeline/phase7/deliverables-registry.js +1 -1
- package/dist/pipeline/phase7/deliverables-registry.js.map +1 -1
- package/dist/pipeline/phases/adr-ddd-generator.d.ts.map +1 -1
- package/dist/pipeline/phases/adr-ddd-generator.js +48 -2
- package/dist/pipeline/phases/adr-ddd-generator.js.map +1 -1
- package/dist/pipeline/phases/prompt-generator.js +191 -80
- package/dist/pipeline/phases/prompt-generator.js.map +1 -1
- package/dist/pipeline/ruflo-phase-executor.d.ts +2 -5
- package/dist/pipeline/ruflo-phase-executor.d.ts.map +1 -1
- package/dist/pipeline/ruflo-phase-executor.js +72 -23
- package/dist/pipeline/ruflo-phase-executor.js.map +1 -1
- package/dist/pipeline/types.d.ts +14 -1
- package/dist/pipeline/types.d.ts.map +1 -1
- package/dist/routing/domain-boundary.d.ts +4 -20
- package/dist/routing/domain-boundary.d.ts.map +1 -1
- package/dist/routing/domain-boundary.js +6 -81
- package/dist/routing/domain-boundary.js.map +1 -1
- package/dist/routing/graph-router.d.ts.map +1 -1
- package/dist/routing/graph-router.js +0 -22
- package/dist/routing/graph-router.js.map +1 -1
- package/dist/synthesis/ask-artifact-writer.d.ts +1 -1
- package/dist/synthesis/ask-artifact-writer.d.ts.map +1 -1
- package/dist/synthesis/ask-artifact-writer.js +9 -9
- package/dist/synthesis/ask-artifact-writer.js.map +1 -1
- package/dist/synthesis/simulation-artifact-generator.d.ts +1 -27
- package/dist/synthesis/simulation-artifact-generator.d.ts.map +1 -1
- package/dist/synthesis/simulation-artifact-generator.js +38 -128
- package/dist/synthesis/simulation-artifact-generator.js.map +1 -1
- package/docs/ecosystem.graph.json +15 -65
- package/package.json +1 -1
- package/dist/cli/ui/heartbeat.d.ts +0 -88
- package/dist/cli/ui/heartbeat.d.ts.map +0 -1
- package/dist/cli/ui/heartbeat.js +0 -158
- package/dist/cli/ui/heartbeat.js.map +0 -1
- package/dist/config/qe-gating.d.ts +0 -81
- package/dist/config/qe-gating.d.ts.map +0 -1
- package/dist/config/qe-gating.js +0 -138
- package/dist/config/qe-gating.js.map +0 -1
- package/dist/pipeline/phase5-build/qe-gating-executor.d.ts +0 -73
- package/dist/pipeline/phase5-build/qe-gating-executor.d.ts.map +0 -1
- package/dist/pipeline/phase5-build/qe-gating-executor.js +0 -134
- package/dist/pipeline/phase5-build/qe-gating-executor.js.map +0 -1
- package/dist/synthesis/agent-fleet-decomposer.d.ts +0 -124
- package/dist/synthesis/agent-fleet-decomposer.d.ts.map +0 -1
- package/dist/synthesis/agent-fleet-decomposer.js +0 -696
- package/dist/synthesis/agent-fleet-decomposer.js.map +0 -1
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* QE Gating Executor (ADR-PIPELINE-086)
|
|
3
|
-
*
|
|
4
|
-
* Encapsulates the phase-8-validation decision tree driven by the gating mode
|
|
5
|
-
* resolved from env / persisted config (see src/config/qe-gating.ts).
|
|
6
|
-
*
|
|
7
|
-
* Contract:
|
|
8
|
-
* on → run all mandatory QE agents; any failure halts the pipeline
|
|
9
|
-
* with exit code 141 (via Ruvector Acceptance Gate integration
|
|
10
|
-
* upstream). The executor returns `status: 'completed'` or throws.
|
|
11
|
-
* advisory → run all mandatory QE agents; failures become warnings in the
|
|
12
|
-
* output. Returns `status: 'completed_with_warnings'`.
|
|
13
|
-
* off → skip QE invocation entirely. Returns `status: 'bypassed'`.
|
|
14
|
-
*
|
|
15
|
-
* The executor is pure — it does not invoke agents itself; callers pass in an
|
|
16
|
-
* `invokeAgent` callback. This keeps the module testable without a live
|
|
17
|
-
* pipeline and independent of adapter implementation.
|
|
18
|
-
*/
|
|
19
|
-
import { resolveQeGatingMode } from '../../config/qe-gating.js';
|
|
20
|
-
// ============================================================================
|
|
21
|
-
// Execution
|
|
22
|
-
// ============================================================================
|
|
23
|
-
/**
|
|
24
|
-
* Run phase-8 QE validation per the gating mode.
|
|
25
|
-
*
|
|
26
|
-
* @param mandatoryAgents — list of agent IDs the phase requires (from ADR-083)
|
|
27
|
-
* @param invokeAgent — callback that dispatches a single agent invocation
|
|
28
|
-
* @param options — correlation id + optional mode override
|
|
29
|
-
*/
|
|
30
|
-
export async function executePhase8Qe(mandatoryAgents, invokeAgent, options) {
|
|
31
|
-
const resolved = options.modeOverride ?? resolveQeGatingMode();
|
|
32
|
-
const now = options.now ?? new Date();
|
|
33
|
-
if (resolved.mode === 'off') {
|
|
34
|
-
const bypass = {
|
|
35
|
-
timestamp: now.toISOString(),
|
|
36
|
-
mode: 'off',
|
|
37
|
-
source: resolved.source,
|
|
38
|
-
...(resolved.reason !== undefined ? { reason: resolved.reason } : {}),
|
|
39
|
-
correlation_id: options.correlationId,
|
|
40
|
-
affected_agents: [...mandatoryAgents],
|
|
41
|
-
};
|
|
42
|
-
emitBypassLog(bypass);
|
|
43
|
-
return {
|
|
44
|
-
status: 'bypassed',
|
|
45
|
-
mode: 'off',
|
|
46
|
-
source: resolved.source,
|
|
47
|
-
invocations: [],
|
|
48
|
-
warnings: [`QE gating bypassed (off): ${mandatoryAgents.length} mandatory agents skipped`],
|
|
49
|
-
bypassRecord: bypass,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
const invocations = [];
|
|
53
|
-
for (const agent of mandatoryAgents) {
|
|
54
|
-
invocations.push(await invokeAgent(agent));
|
|
55
|
-
}
|
|
56
|
-
const failures = invocations.filter(i => i.status !== 200);
|
|
57
|
-
if (resolved.mode === 'advisory') {
|
|
58
|
-
const bypass = {
|
|
59
|
-
timestamp: now.toISOString(),
|
|
60
|
-
mode: 'advisory',
|
|
61
|
-
source: resolved.source,
|
|
62
|
-
...(resolved.reason !== undefined ? { reason: resolved.reason } : {}),
|
|
63
|
-
correlation_id: options.correlationId,
|
|
64
|
-
affected_agents: failures.map(f => f.agent),
|
|
65
|
-
};
|
|
66
|
-
if (failures.length > 0)
|
|
67
|
-
emitBypassLog(bypass);
|
|
68
|
-
return {
|
|
69
|
-
status: failures.length > 0 ? 'completed_with_warnings' : 'completed',
|
|
70
|
-
mode: 'advisory',
|
|
71
|
-
source: resolved.source,
|
|
72
|
-
invocations,
|
|
73
|
-
warnings: failures.map(f => `QE agent "${f.agent}" failed (${f.error ?? 'status ' + f.status}); advisory mode — not blocking`),
|
|
74
|
-
...(failures.length > 0 ? { bypassRecord: bypass } : {}),
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
// mode === 'on' — any failure is a halting condition.
|
|
78
|
-
if (failures.length > 0) {
|
|
79
|
-
return {
|
|
80
|
-
status: 'completed_with_warnings', // caller upgrades to halt via exit code
|
|
81
|
-
mode: 'on',
|
|
82
|
-
source: resolved.source,
|
|
83
|
-
invocations,
|
|
84
|
-
warnings: failures.map(f => `QE agent "${f.agent}" failed (${f.error ?? 'status ' + f.status})`),
|
|
85
|
-
exitCode: 141,
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
return {
|
|
89
|
-
status: 'completed',
|
|
90
|
-
mode: 'on',
|
|
91
|
-
source: resolved.source,
|
|
92
|
-
invocations,
|
|
93
|
-
warnings: [],
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
// ============================================================================
|
|
97
|
-
// Bypass logging
|
|
98
|
-
// ============================================================================
|
|
99
|
-
/**
|
|
100
|
-
* Emit a structured JSON log line to stderr describing a gating bypass.
|
|
101
|
-
* Observatory consumes this via the standard stderr-to-metrics pipeline.
|
|
102
|
-
*/
|
|
103
|
-
export function emitBypassLog(record, writeLine = (s) => process.stderr.write(s)) {
|
|
104
|
-
writeLine(JSON.stringify({
|
|
105
|
-
level: 'WARN',
|
|
106
|
-
event: 'qe_gating_bypass',
|
|
107
|
-
...record,
|
|
108
|
-
}) + '\n');
|
|
109
|
-
}
|
|
110
|
-
// ============================================================================
|
|
111
|
-
// VALIDATION_REPORT header for bypassed runs
|
|
112
|
-
// ============================================================================
|
|
113
|
-
/**
|
|
114
|
-
* Build the Markdown header block stamped onto VALIDATION_REPORT.md when a
|
|
115
|
-
* bypass occurs. Callers prepend this to the normal report body so reviewers
|
|
116
|
-
* see the bypass at the top.
|
|
117
|
-
*/
|
|
118
|
-
export function buildValidationReportBypassHeader(record) {
|
|
119
|
-
const modeLabel = record.mode === 'off' ? 'OFF (skipped)' : 'ADVISORY (warnings-only)';
|
|
120
|
-
const reasonLine = record.reason ? `> Reason: ${record.reason}` : '> Reason: (not provided)';
|
|
121
|
-
return [
|
|
122
|
-
'> ⚠️ **QE GATING BYPASSED**',
|
|
123
|
-
`> Mode: ${modeLabel}`,
|
|
124
|
-
`> Source: ${record.source} config`,
|
|
125
|
-
reasonLine,
|
|
126
|
-
`> Timestamp: ${record.timestamp}`,
|
|
127
|
-
`> Correlation: ${record.correlation_id}`,
|
|
128
|
-
`> Affected agents: ${record.affected_agents.length > 0 ? record.affected_agents.join(', ') : '(none — full bypass)'}`,
|
|
129
|
-
'>',
|
|
130
|
-
'> See ADR-PIPELINE-086 and `docs/runbooks/qe-gating-recovery-086.md` for recovery.',
|
|
131
|
-
'',
|
|
132
|
-
].join('\n');
|
|
133
|
-
}
|
|
134
|
-
//# sourceMappingURL=qe-gating-executor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qe-gating-executor.js","sourceRoot":"","sources":["../../../src/pipeline/phase5-build/qe-gating-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ADR-PIPELINE-099 D1.3 — Agent-fleet decomposition strategy for Phase 5a.
|
|
3
|
-
*
|
|
4
|
-
* Walks `<runDir>/agent-responses.json` to extract structured outputs from
|
|
5
|
-
* the copilot fleet (decomposer.sub_objectives, planner.steps,
|
|
6
|
-
* clarifier.assumptions/clarifications) and combines them with scenario
|
|
7
|
-
* domain entities, success criteria, and risk register entries to produce
|
|
8
|
-
* a `BuildableUnit[]` shape — one unit per decomposer sub-objective (or
|
|
9
|
-
* planner step, when the decomposer is silent).
|
|
10
|
-
*
|
|
11
|
-
* Each unit carries:
|
|
12
|
-
* - the source agent + index that produced it (for trace)
|
|
13
|
-
* - acceptance criteria (the Definition of Done for that prompt)
|
|
14
|
-
* - dependencies (named by id of other units)
|
|
15
|
-
* - complexity score (used by the prompt template to set scope)
|
|
16
|
-
* - load-bearing assumptions surfaced from the clarifier
|
|
17
|
-
* - guardrails surfaced from scenario.constraints + risk_register
|
|
18
|
-
*
|
|
19
|
-
* The downstream `phase5aGenerateFromAgentFleet` strategy converts each
|
|
20
|
-
* unit into one `prompts/impl-NNN-<slug>.md` file. The contract is:
|
|
21
|
-
* ≥6 units when the decomposer produced ≥6 sub_objectives; otherwise
|
|
22
|
-
* tier-3 returns whatever it has and the caller back-fills with tier-4.
|
|
23
|
-
*
|
|
24
|
-
* No external deps — pure file IO + JSON parsing.
|
|
25
|
-
*/
|
|
26
|
-
/** A single concrete build unit derivable from the agent fleet output. */
|
|
27
|
-
export interface BuildableUnit {
|
|
28
|
-
readonly id: string;
|
|
29
|
-
readonly slug: string;
|
|
30
|
-
readonly title: string;
|
|
31
|
-
readonly description: string;
|
|
32
|
-
readonly complexity: number;
|
|
33
|
-
readonly acceptanceCriteria: ReadonlyArray<string>;
|
|
34
|
-
readonly dependencies: ReadonlyArray<string>;
|
|
35
|
-
readonly tier: 'foundation' | 'integration' | 'domain' | 'presentation' | 'validation';
|
|
36
|
-
readonly sourceAgent: string;
|
|
37
|
-
readonly sourceIndex: number;
|
|
38
|
-
}
|
|
39
|
-
/** Cross-cutting context that every prompt should inline. */
|
|
40
|
-
export interface FleetContext {
|
|
41
|
-
readonly assumptions: ReadonlyArray<string>;
|
|
42
|
-
readonly clarifications: ReadonlyArray<string>;
|
|
43
|
-
readonly successCriteria: ReadonlyArray<string>;
|
|
44
|
-
readonly constraints: ReadonlyArray<string>;
|
|
45
|
-
readonly domainEntities: ReadonlyArray<string>;
|
|
46
|
-
readonly systems: ReadonlyArray<string>;
|
|
47
|
-
readonly risks: ReadonlyArray<{
|
|
48
|
-
description: string;
|
|
49
|
-
severity?: string;
|
|
50
|
-
}>;
|
|
51
|
-
readonly scenarioQuery: string;
|
|
52
|
-
}
|
|
53
|
-
export interface AgentFleetDecomposition {
|
|
54
|
-
readonly units: ReadonlyArray<BuildableUnit>;
|
|
55
|
-
readonly context: FleetContext;
|
|
56
|
-
/** Source diagnostics — which agents fed which fields. */
|
|
57
|
-
readonly provenance: {
|
|
58
|
-
decomposerCount: number;
|
|
59
|
-
plannerCount: number;
|
|
60
|
-
clarifierAssumptionsCount: number;
|
|
61
|
-
riskRegisterCount: number;
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Decompose Phase-1 fleet output into buildable units. Returns an empty
|
|
66
|
-
* units array (with whatever context is available) when no agent
|
|
67
|
-
* decomposition is recoverable — the caller decides whether to fall through
|
|
68
|
-
* to the success-criterion fallback.
|
|
69
|
-
*/
|
|
70
|
-
export declare function decomposeAgentFleet(runDir: string, scenarioQuery: string): AgentFleetDecomposition;
|
|
71
|
-
/**
|
|
72
|
-
* Render the markdown body for one BuildableUnit. Each prompt:
|
|
73
|
-
* - cites its source agent in frontmatter (`generator: agent-fleet`)
|
|
74
|
-
* - inlines acceptance criteria as Definition of Done
|
|
75
|
-
* - lists dependencies by unit id
|
|
76
|
-
* - inlines top assumptions / constraints / risks as guardrails
|
|
77
|
-
* - inlines the scenario query verbatim so context is self-contained
|
|
78
|
-
*/
|
|
79
|
-
/**
|
|
80
|
-
* ADR-PIPELINE-102 — rich ADR component reference threaded into each prompt
|
|
81
|
-
* so the build instruction can include real trait signatures, struct fields,
|
|
82
|
-
* and config tables sourced from the governing ADRs' `components[]` array.
|
|
83
|
-
*/
|
|
84
|
-
export interface GoverningADRRef {
|
|
85
|
-
readonly id: string;
|
|
86
|
-
readonly title: string;
|
|
87
|
-
readonly decision?: string;
|
|
88
|
-
/** From ADR-PIPELINE-101 — per-component code blocks + config tables. */
|
|
89
|
-
readonly components?: ReadonlyArray<{
|
|
90
|
-
readonly name: string;
|
|
91
|
-
readonly description?: string;
|
|
92
|
-
readonly codeExample?: {
|
|
93
|
-
readonly language: string;
|
|
94
|
-
readonly code: string;
|
|
95
|
-
};
|
|
96
|
-
readonly performanceCharacteristics?: ReadonlyArray<string>;
|
|
97
|
-
}>;
|
|
98
|
-
/** From ADR-PIPELINE-101 — perf-target table the prompt should respect. */
|
|
99
|
-
readonly performanceTargets?: {
|
|
100
|
-
readonly headers: ReadonlyArray<string>;
|
|
101
|
-
readonly rows: ReadonlyArray<ReadonlyArray<string>>;
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
export interface GoverningContextRef {
|
|
105
|
-
readonly name: string;
|
|
106
|
-
readonly description?: string;
|
|
107
|
-
readonly aggregates?: ReadonlyArray<{
|
|
108
|
-
name: string;
|
|
109
|
-
root?: string;
|
|
110
|
-
entities?: ReadonlyArray<string>;
|
|
111
|
-
valueObjects?: ReadonlyArray<string>;
|
|
112
|
-
/** ADR-102 — invariant identifiers from DDD-003-style aggregates. */
|
|
113
|
-
invariants?: ReadonlyArray<string>;
|
|
114
|
-
}>;
|
|
115
|
-
readonly commands?: ReadonlyArray<string>;
|
|
116
|
-
readonly queries?: ReadonlyArray<string>;
|
|
117
|
-
readonly domainEvents?: ReadonlyArray<string>;
|
|
118
|
-
}
|
|
119
|
-
export declare function renderUnitPromptMarkdown(unit: BuildableUnit, unitOrder: number, totalUnits: number, context: FleetContext,
|
|
120
|
-
/** ADRs that match this unit by keyword overlap. May be empty. */
|
|
121
|
-
governingAdrs: ReadonlyArray<GoverningADRRef>,
|
|
122
|
-
/** DDD bounded contexts that match this unit by keyword overlap. May be empty. */
|
|
123
|
-
governingContexts: ReadonlyArray<GoverningContextRef>): string;
|
|
124
|
-
//# sourceMappingURL=agent-fleet-decomposer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-fleet-decomposer.d.ts","sourceRoot":"","sources":["../../src/synthesis/agent-fleet-decomposer.ts"],"names":[],"mappings":"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"}
|