feat: register report workflow in daemon (analyst+renderer)
This commit is contained in:
@@ -20,6 +20,9 @@ import { createMetaWorkflow } from '../workflows/meta.js';
|
||||
import { createCursorRunner } from '../workflows/roles/agent-executor.js';
|
||||
import { createMetaCoderRole } from '../workflows/roles/meta-coder-cursor.js';
|
||||
import { createMetaTesterRole } from '../workflows/roles/meta-tester.js';
|
||||
import { createReportWorkflow } from '../workflows/report.js';
|
||||
import { createAnalystRole } from '../workflows/roles/analyst-llm.js';
|
||||
import { createRendererRole } from '../workflows/roles/renderer-template.js';
|
||||
import { createWorkflowRule } from '../workflows/workflow-rule-adapter.js';
|
||||
|
||||
// ── Config ─────────────────────────────────────────────────────
|
||||
@@ -81,9 +84,16 @@ const metaWf = createMetaWorkflow({
|
||||
});
|
||||
const metaRule = createWorkflowRule(metaWf, store, logStore);
|
||||
|
||||
// 3. Report workflow (analyst → renderer)
|
||||
const reportWf = createReportWorkflow({
|
||||
analystFn: createAnalystRole(llm),
|
||||
rendererFn: createRendererRole(),
|
||||
});
|
||||
const reportRule = createWorkflowRule(reportWf, store, logStore);
|
||||
|
||||
// ── Ticker ─────────────────────────────────────────────────────
|
||||
|
||||
const tick = createWorkflowTicker([codingRule, metaRule]);
|
||||
const tick = createWorkflowTicker([codingRule, metaRule, reportRule]);
|
||||
|
||||
console.log('🍊 Pulse Workflow Daemon started');
|
||||
console.log(` Repo: ${REPO_DIR}`);
|
||||
@@ -92,7 +102,7 @@ console.log(` Store: ${DATA_DIR}/workflows.db`);
|
||||
console.log(
|
||||
` Tick: adaptive ${BASE_TICK_MS / 1000}s → ${MAX_TICK_MS / 1000}s (×${BACKOFF_FACTOR})`,
|
||||
);
|
||||
console.log(` Workflows: coding, meta`);
|
||||
console.log(` Workflows: coding, meta, report`);
|
||||
console.log('');
|
||||
|
||||
// ── Adaptive Tick Loop ─────────────────────────────────────────
|
||||
|
||||
@@ -23,11 +23,11 @@ export function createMetaTesterRole(opts: {
|
||||
remote?: string;
|
||||
/** git branch (default: main) */
|
||||
branch?: string;
|
||||
/** max ticks for e2e run (default: 50) */
|
||||
/** max ticks for e2e run (default: 100;下限 20 以覆盖 ping-pong 静默 + 较长 workflow) */
|
||||
maxTicks?: number;
|
||||
}): Role<MetaTesterMeta> {
|
||||
const branch = opts.branch ?? 'main';
|
||||
const maxTicks = opts.maxTicks ?? 50;
|
||||
const maxTicks = Math.max(opts.maxTicks ?? 100, 20);
|
||||
|
||||
return async (
|
||||
chain: WorkflowMessage[],
|
||||
|
||||
Reference in New Issue
Block a user