agentic-engineering-harness 0.6.27 → 0.6.29
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/README.md +3 -3
- package/dist/agents/permissions.js +12 -0
- package/dist/agents/permissions.js.map +1 -1
- package/dist/audit/run.js +2 -0
- package/dist/audit/run.js.map +1 -1
- package/dist/cli.js +12 -13
- package/dist/cli.js.map +1 -1
- package/dist/context/budget.d.ts +4 -0
- package/dist/context/budget.js +19 -0
- package/dist/context/budget.js.map +1 -0
- package/dist/context/classifier.d.ts +4 -0
- package/dist/context/classifier.js +14 -0
- package/dist/context/classifier.js.map +1 -0
- package/dist/context/compression/headroom.d.ts +18 -0
- package/dist/context/compression/headroom.js +53 -0
- package/dist/context/compression/headroom.js.map +1 -0
- package/dist/context/compression/index.d.ts +3 -0
- package/dist/context/compression/index.js +4 -0
- package/dist/context/compression/index.js.map +1 -0
- package/dist/context/compression/lifecycle.d.ts +20 -0
- package/dist/context/compression/lifecycle.js +70 -0
- package/dist/context/compression/lifecycle.js.map +1 -0
- package/dist/context/compression/types.d.ts +27 -0
- package/dist/context/compression/types.js +2 -0
- package/dist/context/compression/types.js.map +1 -0
- package/dist/context/envelope.d.ts +4 -0
- package/dist/context/envelope.js +20 -0
- package/dist/context/envelope.js.map +1 -0
- package/dist/context/estimator.d.ts +3 -0
- package/dist/context/estimator.js +10 -0
- package/dist/context/estimator.js.map +1 -0
- package/dist/context/eval.d.ts +19 -0
- package/dist/context/eval.js +12 -0
- package/dist/context/eval.js.map +1 -0
- package/dist/context/gateway.d.ts +22 -0
- package/dist/context/gateway.js +202 -0
- package/dist/context/gateway.js.map +1 -0
- package/dist/context/index.d.ts +15 -0
- package/dist/context/index.js +16 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/policy.d.ts +6 -0
- package/dist/context/policy.js +40 -0
- package/dist/context/policy.js.map +1 -0
- package/dist/context/preflight.d.ts +13 -0
- package/dist/context/preflight.js +25 -0
- package/dist/context/preflight.js.map +1 -0
- package/dist/context/projectors/audit.d.ts +2 -0
- package/dist/context/projectors/audit.js +30 -0
- package/dist/context/projectors/audit.js.map +1 -0
- package/dist/context/projectors/diff.d.ts +2 -0
- package/dist/context/projectors/diff.js +8 -0
- package/dist/context/projectors/diff.js.map +1 -0
- package/dist/context/projectors/explorer.d.ts +2 -0
- package/dist/context/projectors/explorer.js +5 -0
- package/dist/context/projectors/explorer.js.map +1 -0
- package/dist/context/projectors/index.d.ts +8 -0
- package/dist/context/projectors/index.js +9 -0
- package/dist/context/projectors/index.js.map +1 -0
- package/dist/context/projectors/operation.d.ts +3 -0
- package/dist/context/projectors/operation.js +26 -0
- package/dist/context/projectors/operation.js.map +1 -0
- package/dist/context/projectors/planner.d.ts +2 -0
- package/dist/context/projectors/planner.js +5 -0
- package/dist/context/projectors/planner.js.map +1 -0
- package/dist/context/projectors/source.d.ts +2 -0
- package/dist/context/projectors/source.js +5 -0
- package/dist/context/projectors/source.js.map +1 -0
- package/dist/context/projectors/structured.d.ts +2 -0
- package/dist/context/projectors/structured.js +24 -0
- package/dist/context/projectors/structured.js.map +1 -0
- package/dist/context/projectors/validation.d.ts +3 -0
- package/dist/context/projectors/validation.js +25 -0
- package/dist/context/projectors/validation.js.map +1 -0
- package/dist/context/provenance.d.ts +3 -0
- package/dist/context/provenance.js +13 -0
- package/dist/context/provenance.js.map +1 -0
- package/dist/context/repository/graphify.d.ts +3 -0
- package/dist/context/repository/graphify.js +7 -0
- package/dist/context/repository/graphify.js.map +1 -0
- package/dist/context/repository/index.d.ts +6 -0
- package/dist/context/repository/index.js +7 -0
- package/dist/context/repository/index.js.map +1 -0
- package/dist/context/repository/map.d.ts +6 -0
- package/dist/context/repository/map.js +34 -0
- package/dist/context/repository/map.js.map +1 -0
- package/dist/context/repository/rank.d.ts +3 -0
- package/dist/context/repository/rank.js +43 -0
- package/dist/context/repository/rank.js.map +1 -0
- package/dist/context/repository/render.d.ts +8 -0
- package/dist/context/repository/render.js +21 -0
- package/dist/context/repository/render.js.map +1 -0
- package/dist/context/repository/serena.d.ts +11 -0
- package/dist/context/repository/serena.js +26 -0
- package/dist/context/repository/serena.js.map +1 -0
- package/dist/context/repository/types.d.ts +34 -0
- package/dist/context/repository/types.js +2 -0
- package/dist/context/repository/types.js.map +1 -0
- package/dist/context/retrieval/authorization.d.ts +11 -0
- package/dist/context/retrieval/authorization.js +9 -0
- package/dist/context/retrieval/authorization.js.map +1 -0
- package/dist/context/retrieval/gateway.d.ts +33 -0
- package/dist/context/retrieval/gateway.js +69 -0
- package/dist/context/retrieval/gateway.js.map +1 -0
- package/dist/context/retrieval/index.d.ts +5 -0
- package/dist/context/retrieval/index.js +6 -0
- package/dist/context/retrieval/index.js.map +1 -0
- package/dist/context/retrieval/mcp.d.ts +3 -0
- package/dist/context/retrieval/mcp.js +8 -0
- package/dist/context/retrieval/mcp.js.map +1 -0
- package/dist/context/retrieval/persisted.d.ts +3 -0
- package/dist/context/retrieval/persisted.js +22 -0
- package/dist/context/retrieval/persisted.js.map +1 -0
- package/dist/context/retrieval/server.d.ts +1 -0
- package/dist/context/retrieval/server.js +52 -0
- package/dist/context/retrieval/server.js.map +1 -0
- package/dist/context/telemetry.d.ts +3 -0
- package/dist/context/telemetry.js +9 -0
- package/dist/context/telemetry.js.map +1 -0
- package/dist/context/types.d.ts +243 -0
- package/dist/context/types.js +29 -0
- package/dist/context/types.js.map +1 -0
- package/dist/core/config.js +19 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/doctor.js +23 -2
- package/dist/core/doctor.js.map +1 -1
- package/dist/core/run.js +35 -14
- package/dist/core/run.js.map +1 -1
- package/dist/core/types.d.ts +52 -0
- package/dist/core/verify.d.ts +2 -0
- package/dist/core/verify.js +1 -1
- package/dist/core/verify.js.map +1 -1
- package/dist/entry.js +30 -0
- package/dist/entry.js.map +1 -1
- package/dist/evals/fullStack.d.ts +17 -0
- package/dist/evals/fullStack.js +42 -0
- package/dist/evals/fullStack.js.map +1 -0
- package/dist/main.js +1 -0
- package/dist/main.js.map +1 -1
- package/dist/operations/change.js +2 -0
- package/dist/operations/change.js.map +1 -1
- package/dist/paseo/launchSpec.d.ts +3 -0
- package/dist/paseo/launchSpec.js +17 -0
- package/dist/paseo/launchSpec.js.map +1 -1
- package/dist/provenance/generate.d.ts +19 -0
- package/dist/provenance/generate.js +94 -8
- package/dist/provenance/generate.js.map +1 -1
- package/dist/providers/engram.d.ts +26 -1
- package/dist/providers/engram.js +110 -6
- package/dist/providers/engram.js.map +1 -1
- package/dist/providers/graphify.d.ts +9 -1
- package/dist/providers/graphify.js +34 -16
- package/dist/providers/graphify.js.map +1 -1
- package/dist/providers/graphifyModel.d.ts +23 -0
- package/dist/providers/graphifyModel.js +101 -0
- package/dist/providers/graphifyModel.js.map +1 -0
- package/dist/providers/headroom.d.ts +2 -0
- package/dist/providers/headroom.js +3 -0
- package/dist/providers/headroom.js.map +1 -0
- package/dist/providers/memory.d.ts +1 -0
- package/dist/providers/memory.js +2 -0
- package/dist/providers/memory.js.map +1 -0
- package/dist/providers/serena.d.ts +1 -0
- package/dist/providers/serena.js +2 -0
- package/dist/providers/serena.js.map +1 -0
- package/dist/providers/types.d.ts +25 -2
- package/dist/telemetry/events.d.ts +1 -0
- package/dist/telemetry/events.js +19 -2
- package/dist/telemetry/events.js.map +1 -1
- package/dist/telemetry/otlp.d.ts +6 -1
- package/dist/telemetry/otlp.js +2 -2
- package/dist/telemetry/otlp.js.map +1 -1
- package/dist/toolchain/config.js +10 -1
- package/dist/toolchain/config.js.map +1 -1
- package/dist/toolchain/resolve.js +8 -0
- package/dist/toolchain/resolve.js.map +1 -1
- package/dist/validators/external.js +24 -3
- package/dist/validators/external.js.map +1 -1
- package/dist/validators/graphify.js +5 -73
- package/dist/validators/graphify.js.map +1 -1
- package/dist/validators/opa.d.ts +14 -1
- package/dist/validators/opa.js +6 -2
- package/dist/validators/opa.js.map +1 -1
- package/dist/validators/toolEvidence.d.ts +29 -0
- package/dist/validators/toolEvidence.js +104 -0
- package/dist/validators/toolEvidence.js.map +1 -0
- package/dist/workers/agentPrompt.d.ts +9 -0
- package/dist/workers/agentPrompt.js +133 -4
- package/dist/workers/agentPrompt.js.map +1 -1
- package/docs/ARCHITECTURE.md +20 -1
- package/docs/COMPONENT_MATURITY.md +43 -0
- package/docs/CONTEXT_EFFICIENCY.md +48 -0
- package/docs/MEMORY.md +9 -0
- package/docs/OBSERVABILITY.md +6 -1
- package/docs/OSS_STACK.md +10 -2
- package/docs/SECURITY.md +12 -0
- package/package.json +2 -2
- package/policies/core/trust-boundary.rego +14 -4
- package/presets/agents/default.jsonc +4 -4
- package/presets/agents/orchestration.jsonc +2 -2
- package/schemas/project.schema.json +14 -0
- package/templates/project.yaml +42 -0
- package/templates/toolchain.yaml +34 -1
|
@@ -15,6 +15,12 @@ import { allowedSandboxEnvironment, hardenedPodmanArgs, sandboxImage } from "../
|
|
|
15
15
|
import { runProcess } from "../utils/process.js";
|
|
16
16
|
import { activateStructuredResultTurnForAgent, reconcileStructuredResult } from "./resultGateway.js";
|
|
17
17
|
import { compileAgentPromptPolicy } from "./promptPolicy.js";
|
|
18
|
+
import { prepareContext } from "../context/gateway.js";
|
|
19
|
+
import { semanticFirstInstruction, SerenaSemanticProvider } from "../context/repository/serena.js";
|
|
20
|
+
import { sha256 } from "../context/provenance.js";
|
|
21
|
+
import { outputPolicyInstruction, resolveContextPolicy } from "../context/policy.js";
|
|
22
|
+
import { buildRepositoryContextMap } from "../context/repository/map.js";
|
|
23
|
+
import { createMemoryProvider } from "../providers/memory.js";
|
|
18
24
|
export async function executeAgentPrompt(root, config, contract, selection, prompt, options = {}) {
|
|
19
25
|
const transport = selection.transport === "inherit" ? (config.orchestration?.provider ?? "none") : selection.transport;
|
|
20
26
|
const effectivePrompt = await buildEffectivePrompt(root, config, contract, selection, prompt, options);
|
|
@@ -58,6 +64,8 @@ export async function materializeAgentPrompt(root, config, contract, selection,
|
|
|
58
64
|
modeSource: spec.modeSource,
|
|
59
65
|
thinkingOptionId: spec.thinkingOptionId,
|
|
60
66
|
env: spec.env,
|
|
67
|
+
mcpServers: spec.mcpServers,
|
|
68
|
+
toolPolicy: spec.toolPolicy,
|
|
61
69
|
workspaceId: spec.workspaceId,
|
|
62
70
|
parentAgentId: spec.parentAgentId,
|
|
63
71
|
outputSchema: schema,
|
|
@@ -175,7 +183,7 @@ function serializationRepairPrompt(contractName, failure) {
|
|
|
175
183
|
"For the marker fallback use ordinary ASCII JSON double quotes (U+0022); do not use Markdown fences or typographic quotes."
|
|
176
184
|
].join("\n");
|
|
177
185
|
}
|
|
178
|
-
async function executeViaPaseo(root, config, contract, selection, prompt, options) {
|
|
186
|
+
async function executeViaPaseo(root, config, contract, selection, prompt, options = {}) {
|
|
179
187
|
const spec = await compilePaseoAgentLaunchSpec(root, config, contract, {
|
|
180
188
|
selection,
|
|
181
189
|
phase: options.phase ?? "work",
|
|
@@ -210,6 +218,8 @@ async function executeViaPaseo(root, config, contract, selection, prompt, option
|
|
|
210
218
|
modeSource: spec.modeSource,
|
|
211
219
|
thinkingOptionId: spec.thinkingOptionId,
|
|
212
220
|
env: spec.env,
|
|
221
|
+
mcpServers: spec.mcpServers,
|
|
222
|
+
toolPolicy: spec.toolPolicy,
|
|
213
223
|
workspaceId: spec.workspaceId,
|
|
214
224
|
parentAgentId: spec.parentAgentId,
|
|
215
225
|
prompt,
|
|
@@ -279,7 +289,7 @@ async function executeCodex(root, config, selection, prompt, options, startedAt,
|
|
|
279
289
|
await fs.rm(temp, { recursive: true, force: true });
|
|
280
290
|
}
|
|
281
291
|
}
|
|
282
|
-
async function executePodman(root, config, contract, selection, prompt, options) {
|
|
292
|
+
async function executePodman(root, config, contract, selection, prompt, options = {}) {
|
|
283
293
|
if (selection.runtimeAdapter !== "opencode")
|
|
284
294
|
throw new Error(`Podman prompt execution currently supports OpenCode; selected ${selection.runtimeAdapter}.`);
|
|
285
295
|
if (options.resumeSessionId)
|
|
@@ -306,7 +316,7 @@ async function executePodman(root, config, contract, selection, prompt, options)
|
|
|
306
316
|
const result = await runProcess(args.map(quote).join(" "), { cwd: root, timeoutMs: (config.orchestration?.worker?.timeoutSeconds ?? 1800) * 1000 });
|
|
307
317
|
return session(selection, result.exitCode, result.stdout, result.stderr, { nativeAgent: projection.binding.agentId, ...directMetadata(options, startedAt, "podman") });
|
|
308
318
|
}
|
|
309
|
-
async function
|
|
319
|
+
export async function buildAgentContextFragments(root, config, contract, selection, prompt, options = {}) {
|
|
310
320
|
const transport = selection.transport === "inherit" ? (config.orchestration?.provider ?? "none") : selection.transport;
|
|
311
321
|
const operation = currentOperationContext();
|
|
312
322
|
const operationKind = operation.kind ?? options.operationKind ?? contract.routing?.intent;
|
|
@@ -330,7 +340,126 @@ async function buildEffectivePrompt(root, config, contract, selection, prompt, o
|
|
|
330
340
|
options.supervisorAgent ? "Operation Supervisor: semantic coordination only; deterministic controller authority remains authoritative." : undefined,
|
|
331
341
|
options.parentAgentId ? `Paseo parent=${options.parentAgentId}; OperationRecord remains lifecycle authority.` : undefined
|
|
332
342
|
].filter(Boolean).join("\n");
|
|
333
|
-
|
|
343
|
+
const contextOutputPolicy = config.context ? outputPolicyInstruction(resolveContextPolicy(config), selection.role) : undefined;
|
|
344
|
+
let semanticRetrieval = Boolean(config.context) && config.context?.semanticRetrieval?.provider !== "none" && (transport === "paseo" || (selection.runtimeAdapter === "opencode" && (transport === "direct" || transport === "podman")));
|
|
345
|
+
if (semanticRetrieval) {
|
|
346
|
+
const health = await new SerenaSemanticProvider().doctor(root);
|
|
347
|
+
if (!health.ok) {
|
|
348
|
+
if (config.context?.semanticRetrieval?.required !== false)
|
|
349
|
+
throw new Error(`Semantic retrieval provider unavailable: ${health.message}`);
|
|
350
|
+
semanticRetrieval = false;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
const authorizedRetrieval = transport === "paseo" || (selection.runtimeAdapter === "opencode" && transport === "direct");
|
|
354
|
+
const fragments = [];
|
|
355
|
+
const add = (id, kind, preservation, priority, content, metadata) => {
|
|
356
|
+
if (content?.trim())
|
|
357
|
+
fragments.push({ id, kind, preservation, priority, content, metadata });
|
|
358
|
+
};
|
|
359
|
+
add("execution-envelope", "execution-envelope", "VERBATIM", 120, [managedBoundedAgentPromptContext(identity), hierarchy].filter(Boolean).join("\n"));
|
|
360
|
+
add("agent-charter", "agent-charter", "VERBATIM", 115, selection.description);
|
|
361
|
+
if (semanticRetrieval && selection.role !== "orchestrator" && selection.logicalAgent !== "operation-supervisor")
|
|
362
|
+
add("semantic-retrieval-policy", "skill", "VERBATIM", 110, semanticFirstInstruction(), { provider: "serena" });
|
|
363
|
+
add("frozen-skills", "skill", "VERBATIM", 108, frozenSkills);
|
|
364
|
+
add("output-delivery-policy", "delivery", "VERBATIM", 105, [contextOutputPolicy, policy.outputContractContext].filter(Boolean).join("\n"));
|
|
365
|
+
for (const artifact of await normativeArtifacts(root, config, contract)) {
|
|
366
|
+
add(artifact.id, "normative", "VERBATIM", 125, artifact.content, { authoritative: true, artifact: artifact.path });
|
|
367
|
+
const fragment = fragments.at(-1);
|
|
368
|
+
if (fragment)
|
|
369
|
+
fragment.source = { artifact: artifact.path, sha256: sha256(artifact.content) };
|
|
370
|
+
}
|
|
371
|
+
add("task-assignment", "instruction", "VERBATIM", 100, prompt);
|
|
372
|
+
const operationRoot = process.env.AEH_CONTROL_ROOT?.trim() || root;
|
|
373
|
+
const stateOperation = identity.operationId ? await loadOperation(operationRoot, identity.operationId).catch(() => undefined) : undefined;
|
|
374
|
+
if (stateOperation)
|
|
375
|
+
add("operation-state", "operation", "PROJECTABLE", 80, JSON.stringify(stateOperation), { authoritative: "deterministic-controller" });
|
|
376
|
+
if (options.parentAgentId)
|
|
377
|
+
add("structured-handoff-input", "handoff", "PROJECTABLE", 78, JSON.stringify({ parentAgentId: options.parentAgentId, operationId: identity.operationId, phase: identity.phase }), { authoritative: "operation-record" });
|
|
378
|
+
const validationArtifact = await readOptionalText(root, path.posix.join(config.sdd?.reportsDir ?? ".harness/reports", `${contract.task.id}.json`));
|
|
379
|
+
if (validationArtifact)
|
|
380
|
+
add("validation-evidence", "validation", "PROJECTABLE", 75, validationArtifact, { artifact: path.posix.join(config.sdd?.reportsDir ?? ".harness/reports", `${contract.task.id}.json`) });
|
|
381
|
+
const auditArtifact = await latestJsonArtifact(root, ".harness/audits");
|
|
382
|
+
if (auditArtifact)
|
|
383
|
+
add("audit-evidence", "audit", "PROJECTABLE", 72, auditArtifact.content, { artifact: auditArtifact.path });
|
|
384
|
+
const hasGit = await fs.access(path.join(root, ".git")).then(() => true).catch(() => false);
|
|
385
|
+
const diff = hasGit ? await runProcess("git diff --stat", { cwd: root, timeoutMs: 15_000 }).catch(() => undefined) : undefined;
|
|
386
|
+
if (diff?.exitCode === 0 && diff.stdout.trim())
|
|
387
|
+
add("diff-projection", "diff", "PROJECTABLE", 70, diff.stdout.trim(), { authoritative: "current-git" });
|
|
388
|
+
const contextPolicy = config.context ? resolveContextPolicy(config) : undefined;
|
|
389
|
+
if (contextPolicy?.repositoryMap.enabled) {
|
|
390
|
+
const rendered = await buildRepositoryContextMap(root, config, { allowedPaths: contract.scope?.allowed, explicitPaths: contract.scope?.allowed, maxGraphHops: contextPolicy.repositoryMap.maxGraphHops });
|
|
391
|
+
add("repository-map", "repository-map", "PROJECTABLE", 90, rendered.content, { provider: rendered.map.provider, selected: rendered.selected, omitted: rendered.omitted });
|
|
392
|
+
}
|
|
393
|
+
const memory = await createMemoryProvider(root, config).catch((error) => {
|
|
394
|
+
if (config.memory?.required)
|
|
395
|
+
throw error;
|
|
396
|
+
return undefined;
|
|
397
|
+
});
|
|
398
|
+
if (memory) {
|
|
399
|
+
const recalled = await memory.recall(config.project.name, prompt).catch((error) => {
|
|
400
|
+
if (config.memory?.required)
|
|
401
|
+
throw error;
|
|
402
|
+
return [];
|
|
403
|
+
});
|
|
404
|
+
if (recalled.length)
|
|
405
|
+
add("advisory-memory", "memory", "PROJECTABLE", 45, JSON.stringify({ advisory: true, records: recalled.slice(0, 8) }), { advisory: true, authoritative: false });
|
|
406
|
+
}
|
|
407
|
+
add("raw-evidence-references", "raw-evidence", "RETRIEVABLE", 35, JSON.stringify({ operationId: identity.operationId, note: "Raw evidence remains in durable AEH artifacts; retrieve only through transport-authorized fragment IDs." }));
|
|
408
|
+
return { fragments, capabilities: { authorizedRetrieval, semanticRetrieval } };
|
|
409
|
+
}
|
|
410
|
+
export async function buildEffectivePrompt(root, config, contract, selection, prompt, options = {}) {
|
|
411
|
+
const transport = selection.transport === "inherit" ? (config.orchestration?.provider ?? "none") : selection.transport;
|
|
412
|
+
const preparedFragments = await buildAgentContextFragments(root, config, contract, selection, prompt, options);
|
|
413
|
+
if (!config.context)
|
|
414
|
+
return preparedFragments.fragments.map((fragment) => fragment.content).filter(Boolean).join("\n\n");
|
|
415
|
+
const identity = currentOperationContext();
|
|
416
|
+
const prepared = await prepareContext(root, config, {
|
|
417
|
+
operationId: identity.id ?? contract.task.id,
|
|
418
|
+
logicalAgent: selection.logicalAgent,
|
|
419
|
+
role: selection.role ?? "worker",
|
|
420
|
+
phase: options.phase ?? "work",
|
|
421
|
+
fragments: preparedFragments.fragments,
|
|
422
|
+
capabilities: preparedFragments.capabilities
|
|
423
|
+
});
|
|
424
|
+
return prepared.rendered;
|
|
425
|
+
}
|
|
426
|
+
async function normativeArtifacts(root, config, contract) {
|
|
427
|
+
const candidates = [
|
|
428
|
+
{ id: "task-contract", path: path.posix.join(config.sdd?.contractsDir ?? ".harness/contracts", `${contract.task.id}.yaml`) },
|
|
429
|
+
{ id: "sealed-acceptance", path: path.posix.join(".harness/seals", `${contract.task.id}.json`) },
|
|
430
|
+
...Object.entries(contract.source ?? {}).map(([name, value]) => ({ id: `normative-${name}`, path: value }))
|
|
431
|
+
];
|
|
432
|
+
const result = [];
|
|
433
|
+
for (const candidate of candidates) {
|
|
434
|
+
if (!candidate.path || candidate.path.includes("..") || path.isAbsolute(candidate.path))
|
|
435
|
+
continue;
|
|
436
|
+
try {
|
|
437
|
+
result.push({ ...candidate, path: candidate.path.replaceAll(path.sep, "/"), content: await fs.readFile(path.resolve(root, candidate.path), "utf8") });
|
|
438
|
+
}
|
|
439
|
+
catch { /* optional source artifacts */ }
|
|
440
|
+
}
|
|
441
|
+
return result;
|
|
442
|
+
}
|
|
443
|
+
async function readOptionalText(root, relative) {
|
|
444
|
+
try {
|
|
445
|
+
return await fs.readFile(path.resolve(root, relative), "utf8");
|
|
446
|
+
}
|
|
447
|
+
catch {
|
|
448
|
+
return undefined;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
async function latestJsonArtifact(root, relativeDirectory) {
|
|
452
|
+
const directory = path.resolve(root, relativeDirectory);
|
|
453
|
+
try {
|
|
454
|
+
const names = (await fs.readdir(directory)).filter((name) => name.endsWith(".json")).sort();
|
|
455
|
+
const name = names.at(-1);
|
|
456
|
+
if (!name)
|
|
457
|
+
return undefined;
|
|
458
|
+
return { path: path.posix.join(relativeDirectory, name), content: await fs.readFile(path.join(directory, name), "utf8") };
|
|
459
|
+
}
|
|
460
|
+
catch {
|
|
461
|
+
return undefined;
|
|
462
|
+
}
|
|
334
463
|
}
|
|
335
464
|
function boundedExecutionEnvironment(selection, options) {
|
|
336
465
|
const operation = currentOperationContext();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentPrompt.js","sourceRoot":"","sources":["../../src/workers/agentPrompt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentPrompt.js","sourceRoot":"","sources":["../../src/workers/agentPrompt.ts"],"names":[],"mappings":"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"}
|
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -24,7 +24,12 @@ Git-versioned specs, ADRs, TaskContracts and executable acceptance criteria defi
|
|
|
24
24
|
|
|
25
25
|
### 5. Structural truth
|
|
26
26
|
|
|
27
|
-
Graphify is the first code-intelligence adapter.
|
|
27
|
+
Graphify is the first code-intelligence adapter. A canonical AEH graph model
|
|
28
|
+
feeds context selection, scheduling, blast-radius evidence and architecture
|
|
29
|
+
validation. The provider owns doctor/build/refresh/load/freshness/impact
|
|
30
|
+
lifecycle; consumers do not construct Graphify CLI commands. Extracted graph
|
|
31
|
+
relationships may support deterministic gates; inferred/ambiguous
|
|
32
|
+
relationships should default to warnings until explicitly promoted.
|
|
28
33
|
|
|
29
34
|
### 6. Historical memory
|
|
30
35
|
|
|
@@ -34,6 +39,20 @@ Engram is the first memory adapter. The interface is deliberately replaceable by
|
|
|
34
39
|
|
|
35
40
|
The deterministic harness evaluates build/type/lint/tests, scope, immutable files, API/schema policies, architecture, security and other machine-verifiable constraints.
|
|
36
41
|
|
|
42
|
+
### 7a. Context-efficiency authority
|
|
43
|
+
|
|
44
|
+
`ContextBudgetGateway` is the single controller-owned path for bounded agent context. It retrieves, classifies, selects, deterministically projects, budgets, selectively compresses and delivers a versioned `ContextEnvelope`. Required `VERBATIM` content is never lossy-compressed or character-truncated. Raw evidence remains in an AEH artifact and is available only through an operation/agent-authorized retrieval gateway.
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
Graphify -> macro structural topology and advisory dependency/community signals
|
|
48
|
+
Serena -> micro semantic repository retrieval (symbol, overview, references)
|
|
49
|
+
Engram -> historical memory authority
|
|
50
|
+
Headroom -> local compression of AEH-marked COMPRESSIBLE fragments only
|
|
51
|
+
Paseo -> agent process/session/workspace lifecycle
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Serena editing is disabled by default. Headroom does not own TaskContracts, OpenSpec/SDD, structured results, control-plane files, OperationRecords or validation.
|
|
55
|
+
|
|
37
56
|
### 8. Policy
|
|
38
57
|
|
|
39
58
|
OPA/Rego centralizes reusable allow/deny decisions instead of spreading policy across shell scripts.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Component maturity at current `main`
|
|
2
|
+
|
|
3
|
+
This matrix records the highest level supported by executable code and tests at
|
|
4
|
+
the current revision. A roadmap checkbox means that a capability exists; it is
|
|
5
|
+
not evidence that the capability is production-grade.
|
|
6
|
+
|
|
7
|
+
Levels are cumulative: `DECLARED`, `ADAPTER`, `EXECUTABLE`,
|
|
8
|
+
`WORKFLOW_INTEGRATED`, `DOGFOODED`, `EVAL_VALIDATED`, `PRODUCTION_GRADE`.
|
|
9
|
+
|
|
10
|
+
| Component | Highest evidence | Evidence |
|
|
11
|
+
| --- | --- | --- |
|
|
12
|
+
| Paseo | WORKFLOW_INTEGRATED | `src/paseo`, Paseo runtime tests |
|
|
13
|
+
| Codex CLI | WORKFLOW_INTEGRATED | `src/workers/agentPrompt.ts`, runtime invocation tests |
|
|
14
|
+
| OpenCode | WORKFLOW_INTEGRATED | `src/agents/permissions.ts`, direct/Podman/Paseo tests |
|
|
15
|
+
| Engram | WORKFLOW_INTEGRATED | `src/providers/engram.ts`, memory lifecycle tests |
|
|
16
|
+
| Graphify | WORKFLOW_INTEGRATED | canonical provider/model, snapshots and scheduling tests |
|
|
17
|
+
| OpenSpec | WORKFLOW_INTEGRATED | `src/spec`, OpenSpec bridge tests |
|
|
18
|
+
| AEH SDD | WORKFLOW_INTEGRATED | `src/core/sdd.ts`, SDD tests |
|
|
19
|
+
| TaskContracts | WORKFLOW_INTEGRATED | contract/seal and run tests |
|
|
20
|
+
| Gherkin | EXECUTABLE | `.NET` command adapter and validator tests |
|
|
21
|
+
| Reqnroll | DECLARED | consumer-project capability; no AEH runtime dependency |
|
|
22
|
+
| .NET/xUnit integration | EXECUTABLE | Gherkin/project validation path |
|
|
23
|
+
| Testcontainers capability | DECLARED | consumer test capability; detected through project validation |
|
|
24
|
+
| Playwright | WORKFLOW_INTEGRATED | normalized browser evidence adapter |
|
|
25
|
+
| Pact | ADAPTER | normalized contract evidence adapter; consumer runtime remains external |
|
|
26
|
+
| OPA | WORKFLOW_INTEGRATED | typed execution identity and Rego policy path |
|
|
27
|
+
| Opengrep | WORKFLOW_INTEGRATED | normalized security findings |
|
|
28
|
+
| Trivy | WORKFLOW_INTEGRATED | normalized vulnerability/secret/misconfiguration findings and SBOM |
|
|
29
|
+
| Podman | WORKFLOW_INTEGRATED | hardened worker executor and sandbox tests |
|
|
30
|
+
| OpenTelemetry | WORKFLOW_INTEGRATED | coherent operation trace IDs plus local NDJSON |
|
|
31
|
+
| Engineering Evals | EVAL_VALIDATED | `src/evals`, `tests/evals.test.ts` |
|
|
32
|
+
| SBOM | EXECUTABLE | Trivy-backed provenance generation |
|
|
33
|
+
| Cosign | EXECUTABLE | optional signing plus verification path |
|
|
34
|
+
| in-toto/SLSA | EXECUTABLE | statement/predicate and manifest-chain generation |
|
|
35
|
+
| ContextBudgetGateway | WORKFLOW_INTEGRATED | typed fragments in the actual agent prompt path |
|
|
36
|
+
| Serena | ADAPTER | provider doctor/MCP projection; local installation is external |
|
|
37
|
+
| Headroom | ADAPTER | controller-side compression provider; not exposed as runtime MCP |
|
|
38
|
+
| Repository Context Map | WORKFLOW_INTEGRATED | Graphify/filesystem map consumed by prompt preparation |
|
|
39
|
+
| `aeh_context_retrieve` | WORKFLOW_INTEGRATED | authorization, path and SHA-256 checks |
|
|
40
|
+
|
|
41
|
+
The deliberately lower classifications are not failures: they identify where
|
|
42
|
+
the Harness supplies a replaceable adapter or consumer capability without
|
|
43
|
+
claiming evidence it does not currently own.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Context efficiency
|
|
2
|
+
|
|
3
|
+
AEH reduces context cost through a deterministic pipeline:
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
RETRIEVE -> SELECT -> PROJECT -> BUDGET -> COMPRESS -> DELIVER -> RETRIEVE ORIGINAL ON DEMAND
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
The `ContextBudgetGateway` is the preparation authority at the controller-to-agent boundary. It is transport-independent and runs before Paseo, direct or Podman dispatch. `StructuredResultGateway` remains the separate authority for accepted structured output leaving an agent.
|
|
10
|
+
|
|
11
|
+
The production prompt path creates typed fragments before rendering: execution
|
|
12
|
+
envelope, agent charter, frozen skills, normative contract/seal/source,
|
|
13
|
+
assignment, operation projection, RepoMap, advisory memory and evidence
|
|
14
|
+
references. Normative fragments remain byte-for-byte `VERBATIM`; the charter is
|
|
15
|
+
not used as a single catch-all fragment. RepoMap construction is skipped when
|
|
16
|
+
`context.repositoryMap.enabled` is false. Transport capabilities are carried
|
|
17
|
+
into preparation so a direct Codex or hardened Podman turn never advertises a
|
|
18
|
+
retrieval tool it cannot expose.
|
|
19
|
+
|
|
20
|
+
## Preservation classes
|
|
21
|
+
|
|
22
|
+
- `VERBATIM`: exact normative requirements, contracts, schemas, hashes, anchors and critical diagnostics. It cannot be lossy-compressed.
|
|
23
|
+
- `PROJECTABLE`: typed deterministic summaries of validation, audit, operation and structured-agent artifacts. The raw artifact and SHA-256 remain available.
|
|
24
|
+
- `COMPRESSIBLE`: non-authoritative logs, repetitive tool output and generated metadata eligible for local Headroom compression.
|
|
25
|
+
- `RETRIEVABLE`: compact references to source bodies, complete logs and other material that can be fetched through an authorized artifact ID.
|
|
26
|
+
- `DISCARDABLE`: passing noise and duplicated progress detail.
|
|
27
|
+
|
|
28
|
+
Unknown classes fail validation; they do not default to lossy compression.
|
|
29
|
+
|
|
30
|
+
## Providers and authority
|
|
31
|
+
|
|
32
|
+
Serena is the configured local semantic repository provider when enabled. It is used for symbol lookup, overviews, references and targeted retrieval. Graphify remains the macro topology provider, and Engram remains historical memory authority. Serena memory features and editing are not used as AEH authority.
|
|
33
|
+
|
|
34
|
+
Headroom is the mandatory local compression provider. AEH starts and configures it where runtime integration is needed, but Paseo continues to own bounded agent lifecycle. AEH never uses `headroom wrap` as a second process manager. Headroom cannot mutate control-plane files, learn rules, rewrite structured JSON or compress normative fragments.
|
|
35
|
+
|
|
36
|
+
Both tools are free/local OSS dependencies pinned in `templates/toolchain.yaml`: Serena `1.6.1` (`serena-agent`) and Headroom `0.28.0`, using the managed Python/uv toolchain. Serena's documented `start-mcp-server` command is used; no paid hosted service is required.
|
|
37
|
+
|
|
38
|
+
## Budgets and retrieval
|
|
39
|
+
|
|
40
|
+
Budgets are role- and phase-aware. New projects default to `enforce`; `observe` computes the same decisions and metrics while delivering the unoptimized baseline for evaluation. Retrieval is bounded by request, per-request token and per-turn token limits. `aeh_context_retrieve` accepts only an already-authorized fragment ID; absolute paths, traversal and cross-operation access are rejected, and source hashes are verified.
|
|
41
|
+
|
|
42
|
+
Envelopes carry operation, agent, phase, budget, fragment projections, allowed retrieval IDs and a provenance hash. Large bodies are persisted as `.harness/context/<operation>/...raw`; envelopes contain references and compact content, not lifecycle authority.
|
|
43
|
+
|
|
44
|
+
## Runtime and troubleshooting
|
|
45
|
+
|
|
46
|
+
Run `aeh doctor` after `aeh init --setup`. Context readiness reports the gateway, estimator, retrieval gateway, Serena and Headroom independently. A missing mandatory provider is a deterministic readiness failure; AEH does not silently fall back to bulk repository reads or unoptimized compression. Fix it with `aeh setup --update-lock` and rerun doctor. `--help`, `--version` and status inspection do not install tools.
|
|
47
|
+
|
|
48
|
+
Context telemetry emits numeric/hash-only events including `harness.context.prepare`, `project`, `compress`, `deliver` and `operation_summary`. It intentionally does not emit prompt bodies. Evaluation should compare baseline/observe and optimized/enforce with the same task, repository, model and provider, and report cost per successful operation rather than tokens removed alone.
|
package/docs/MEMORY.md
CHANGED
|
@@ -6,6 +6,15 @@ Memory informs; it does not authorize.
|
|
|
6
6
|
|
|
7
7
|
The provider abstraction starts with Engram but must remain replaceable.
|
|
8
8
|
|
|
9
|
+
The Engram adapter now implements bounded `remember`/`recall` through the
|
|
10
|
+
upstream CLI contract (`store` and `recall`) and keeps a small project-scoped
|
|
11
|
+
AEH ledger for deterministic deduplication and provenance. Records are tagged
|
|
12
|
+
with their source artifact where available; superseded or stale records are
|
|
13
|
+
excluded from recall. If Engram is configured as optional and its health check
|
|
14
|
+
fails, the Harness omits advisory memory. A required provider fails closed.
|
|
15
|
+
The provider is activated only by `memory:engram`; `memory: none` creates no
|
|
16
|
+
memory provider.
|
|
17
|
+
|
|
9
18
|
## Store
|
|
10
19
|
|
|
11
20
|
- architectural decisions and rationale;
|
package/docs/OBSERVABILITY.md
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
# Observability
|
|
2
2
|
|
|
3
|
-
The harness writes local NDJSON lifecycle events under `.harness/telemetry/`
|
|
3
|
+
The harness writes local NDJSON lifecycle events under `.harness/telemetry/`
|
|
4
|
+
and creates OpenTelemetry spans through the OTel API. Events belonging to one
|
|
5
|
+
operation share one trace ID; each phase/provider event is a child span with a
|
|
6
|
+
bounded parent span ID. Prompt bodies, source bodies and raw tool output are
|
|
7
|
+
never telemetry attributes. OTLP/HTTP export remains optional and local NDJSON
|
|
8
|
+
is retained when no collector is configured.
|
|
4
9
|
|
|
5
10
|
Recommended task metrics:
|
|
6
11
|
|
package/docs/OSS_STACK.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OSS-first Technology Map
|
|
2
2
|
|
|
3
|
-
The default policy is **zero mandatory SaaS and zero mandatory
|
|
3
|
+
The default policy is **zero mandatory SaaS and zero mandatory paid-license dependency for private repositories**. A free, locally executable OSS dependency may be mandatory when AEH needs its capability and its license, version lock and supply chain are reviewed.
|
|
4
4
|
|
|
5
5
|
Reference components:
|
|
6
6
|
|
|
@@ -11,6 +11,8 @@ Reference components:
|
|
|
11
11
|
| Worker | OpenCode | Routine implementation using the configured workhorse model |
|
|
12
12
|
| Persistent memory | Engram | Advisory historical memory; adapter is replaceable |
|
|
13
13
|
| Code topology | Graphify | Structural graph and future architecture/blast-radius gates |
|
|
14
|
+
| Semantic code retrieval | Serena 1.6.1 (`serena-agent`) | Configured local OSS symbol lookup, references and targeted repository navigation; not memory authority |
|
|
15
|
+
| Context compression | Headroom 0.28.0 | Configured local OSS selective compression after AEH projection; no hosted Headroom service required |
|
|
14
16
|
| Specification | SDD + Git | Versioned normative intent |
|
|
15
17
|
| Acceptance | Gherkin + Reqnroll | Executable business behavior for .NET consumers |
|
|
16
18
|
| Policy | OPA/Rego | Centralized allow/deny decisions |
|
|
@@ -22,6 +24,12 @@ Reference components:
|
|
|
22
24
|
| Worker isolation | Podman rootless | Ephemeral least-privilege execution |
|
|
23
25
|
| Telemetry | OpenTelemetry | Portable traces/metrics/log semantics |
|
|
24
26
|
| Provenance | Cosign + in-toto | Artifact signing and attestations |
|
|
27
|
+
|
|
28
|
+
Runtime notes: Serena is the semantic repository adapter and Engram is the
|
|
29
|
+
historical memory adapter; neither is interchangeable with the other. Headroom
|
|
30
|
+
is controller-side compression and is intentionally not exposed as a general
|
|
31
|
+
agent MCP surface. All three remain optional/configurable where the project
|
|
32
|
+
profile permits it, with required providers failing closed.
|
|
25
33
|
| Harness quality | Engineering eval corpus | Reproducible comparison of system variants |
|
|
26
34
|
|
|
27
|
-
Do not add a mandatory SaaS because it is convenient. Any hosted integration must be optional behind an interface and have a documented local/OSS path.
|
|
35
|
+
Do not add a mandatory SaaS or paid-license dependency because it is convenient. Any hosted integration must be optional behind an interface and have a documented local/OSS path. Serena and Headroom are AEH-managed local tools, pinned through the project toolchain; Headroom's agent-wrapping lifecycle is deliberately not used.
|
package/docs/SECURITY.md
CHANGED
|
@@ -19,3 +19,15 @@ Recommended OSS tools:
|
|
|
19
19
|
- Trivy for vulnerabilities, secrets, IaC and SBOM scanning;
|
|
20
20
|
- OPA for policy-as-code;
|
|
21
21
|
- Cosign/in-toto for later provenance/attestations.
|
|
22
|
+
|
|
23
|
+
External security and browser validators emit normalized findings with stable
|
|
24
|
+
fingerprints (rule, severity, location, package/resource and artifact details)
|
|
25
|
+
while their complete stdout/stderr is retained as a retrievable evidence
|
|
26
|
+
artifact. OPA receives the effective logical agent, role, profile, domains,
|
|
27
|
+
risk, runtime, model alias, permissions, changed files and deterministic
|
|
28
|
+
evidence; it does not receive a fabricated fixed worker identity.
|
|
29
|
+
|
|
30
|
+
Provenance manifests hash the control-plane snapshot, TaskContract/seal,
|
|
31
|
+
OpenSpec source references, operation/report/evidence artifacts, final output
|
|
32
|
+
and SBOM when present. Generated Cosign bundles have an explicit verification
|
|
33
|
+
step; a bundle that cannot be verified is not accepted as provenance.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentic-engineering-harness",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.29",
|
|
4
4
|
"description": "OSS-first engineering harness for deterministic, spec-driven, issue-driven, audit-governed and orchestration-first multi-agent software delivery.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/node": "^24.2.1",
|
|
45
|
-
"agentic-engineering-harness": "^0.6.
|
|
45
|
+
"agentic-engineering-harness": "^0.6.27",
|
|
46
46
|
"tsx": "^4.20.3",
|
|
47
47
|
"typescript": "^5.9.2",
|
|
48
48
|
"vitest": "^3.2.4"
|
|
@@ -3,15 +3,25 @@ package harness.trust_boundary
|
|
|
3
3
|
# Input shape expected from the harness policy adapter:
|
|
4
4
|
# {
|
|
5
5
|
# "changedFiles": [...],
|
|
6
|
-
# "
|
|
7
|
-
# "
|
|
6
|
+
# "frozenChangedFiles": [...],
|
|
7
|
+
# "identity": {"logicalAgent": "...", "role": "...", "permissions": {...}}
|
|
8
8
|
# }
|
|
9
9
|
#
|
|
10
10
|
# Pattern expansion is intentionally performed by the harness before OPA.
|
|
11
11
|
|
|
12
12
|
default allow := true
|
|
13
13
|
|
|
14
|
-
deny contains "implementation
|
|
15
|
-
input.
|
|
14
|
+
deny contains "implementation agent changed a frozen artifact" if {
|
|
15
|
+
input.identity.role == "implementer"
|
|
16
16
|
count(input.frozenChangedFiles) > 0
|
|
17
17
|
}
|
|
18
|
+
|
|
19
|
+
deny contains "read-only role has write permission" if {
|
|
20
|
+
input.identity.role == "reviewer"
|
|
21
|
+
input.identity.permissions.write == "allow"
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
deny contains "network permission is forbidden for high-risk execution" if {
|
|
25
|
+
input.identity.risk == "high"
|
|
26
|
+
input.identity.permissions.network == "allow"
|
|
27
|
+
}
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
|
|
33
33
|
"code-quality-reviewer": { "role": "reviewer", "domains": ["*"], "description": "Review the diff for correctness, maintainability, unnecessary complexity, error handling and regression risk. Findings must be concrete, evidenced and actionable; avoid style-only noise already enforced by deterministic tooling.", "execution": { "model": "@workhorse" }, "skills": ["finding-dedup", "simplify"], "permissions": { "read": "allow", "write": "deny", "shell": "allow", "network": "deny", "review": "allow", "gitWrite": "deny" }, "outputContract": "reviewer" },
|
|
34
34
|
"requirements-reviewer": { "role": "reviewer", "domains": ["requirements", "acceptance", "*"], "description": "Trace implemented behavior back to sealed requirements and acceptance criteria. Flag missing, partial or contradictory coverage and distinguish product ambiguity from ordinary implementation defects.", "execution": { "model": "@brain" }, "skills": ["acceptance-traceability"], "permissions": { "read": "allow", "write": "deny", "shell": "allow", "network": "deny", "review": "allow", "gitWrite": "deny" }, "outputContract": "reviewer" },
|
|
35
|
-
"architecture-reviewer": { "role": "reviewer", "domains": ["architecture"], "description": "Review dependency direction, module boundaries, coupling, layering and architectural invariants. Use actual structural evidence; do not invent a redesign when the requested change is consistent with existing architecture.", "execution": { "model": "@
|
|
35
|
+
"architecture-reviewer": { "role": "reviewer", "domains": ["architecture"], "description": "Review dependency direction, module boundaries, coupling, layering and architectural invariants. Use actual structural evidence; do not invent a redesign when the requested change is consistent with existing architecture.", "execution": { "model": "@workhorse" }, "skills": ["acceptance-traceability"], "mcps": ["context7"], "permissions": { "read": "allow", "write": "deny", "shell": "allow", "network": "ask", "review": "allow", "gitWrite": "deny" }, "outputContract": "reviewer" },
|
|
36
36
|
"security-reviewer": { "role": "reviewer", "domains": ["security", "authentication", "authorization", "auth"], "description": "Review trust boundaries, authentication/authorization, tenant or resource isolation, secrets, injection, unsafe deserialization and privilege changes. Prioritize exploitable evidence and concrete attack paths over speculative checklists.", "execution": { "model": "@brain" }, "permissions": { "read": "allow", "write": "deny", "shell": "allow", "network": "deny", "review": "allow", "gitWrite": "deny" }, "outputContract": "reviewer" },
|
|
37
37
|
"api-reviewer": { "role": "reviewer", "domains": ["api", "contract"], "description": "Review API compatibility, request/response semantics, validation, error models, versioning and contract drift. Flag undocumented breaking changes and mismatches between implementation, generated schemas and consumers.", "execution": { "model": "@workhorse" }, "mcps": ["context7"], "permissions": { "read": "allow", "write": "deny", "shell": "allow", "network": "ask", "review": "allow", "gitWrite": "deny" }, "outputContract": "reviewer" },
|
|
38
38
|
"backend-reviewer": { "role": "reviewer", "domains": ["backend", "server", "services"], "description": "Review server-side correctness, domain boundaries, transactions, concurrency, error handling and integration behavior. Require evidence tied to changed code and tests.", "execution": { "model": "@workhorse" }, "permissions": { "read": "allow", "write": "deny", "shell": "allow", "network": "deny", "review": "allow", "gitWrite": "deny" }, "outputContract": "reviewer" },
|
|
@@ -48,9 +48,9 @@
|
|
|
48
48
|
"e2e-validator": { "role": "validator", "domains": ["e2e", "browser", "journey"], "description": "Validate end-to-end behavior through the project's actual E2E tooling. Focus on observable user/system journeys, capture failing evidence and avoid substituting manual reasoning for runnable checks.", "execution": { "model": "@workhorse" }, "skills": ["verification-planning", "acceptance-traceability"], "mcps": ["playwright"], "permissions": { "read": "allow", "write": "deny", "shell": "allow", "network": "ask", "validate": "allow", "review": "allow", "gitWrite": "deny" }, "outputContract": "validator" }
|
|
49
49
|
},
|
|
50
50
|
"profiles": {
|
|
51
|
-
"economy": { "description": "Use the workhorse aggressively; keep only control/escalation roles on the brain model.", "agents": { "*-reviewer": { "execution": { "model": "@workhorse" } }, "lead": { "execution": { "model": "@brain" } }, "planner": { "execution": { "model": "@brain" } }, "oracle": { "execution": { "model": "@brain" } }, "senior-implementer": { "execution": { "model": "@brain" } } } },
|
|
52
|
-
"balanced": { "description": "Use the workhorse for bounded work/review and the brain for planning, architecture, security, requirements and escalation.", "agents": { "*-reviewer": { "execution": { "model": "@workhorse" } }, "architecture-reviewer": { "execution": { "model": "@
|
|
53
|
-
"maximum-quality": { "description": "Run all semantic reviewers on the brain while bounded implementation remains on the workhorse until escalation is needed.", "agents": { "*-reviewer": { "execution": { "model": "@brain" } }, "designer": { "execution": { "model": "@brain" } }, "lead": { "execution": { "model": "@brain" } }, "planner": { "execution": { "model": "@brain" } }, "oracle": { "execution": { "model": "@brain" } }, "senior-implementer": { "execution": { "model": "@brain" } } } }
|
|
51
|
+
"economy": { "description": "Use the workhorse aggressively; keep only control/escalation roles on the brain model.", "agents": { "*-reviewer": { "execution": { "model": "@workhorse" } }, "architecture-reviewer": { "execution": { "model": "@workhorse" } }, "lead": { "execution": { "model": "@brain" } }, "planner": { "execution": { "model": "@brain" } }, "oracle": { "execution": { "model": "@brain" } }, "senior-implementer": { "execution": { "model": "@brain" } } } },
|
|
52
|
+
"balanced": { "description": "Use the workhorse for bounded work/review and the brain for planning, architecture, security, requirements and escalation.", "agents": { "*-reviewer": { "execution": { "model": "@workhorse" } }, "architecture-reviewer": { "execution": { "model": "@workhorse" } }, "security-reviewer": { "execution": { "model": "@brain" } }, "requirements-reviewer": { "execution": { "model": "@brain" } }, "lead": { "execution": { "model": "@brain" } }, "planner": { "execution": { "model": "@brain" } }, "oracle": { "execution": { "model": "@brain" } }, "senior-implementer": { "execution": { "model": "@brain" } } } },
|
|
53
|
+
"maximum-quality": { "description": "Run all semantic reviewers on the brain while bounded implementation remains on the workhorse until escalation is needed.", "agents": { "*-reviewer": { "execution": { "model": "@brain" } }, "architecture-reviewer": { "execution": { "model": "@architeworkhorsectureReviewer" } }, "designer": { "execution": { "model": "@brain" } }, "lead": { "execution": { "model": "@brain" } }, "planner": { "execution": { "model": "@brain" } }, "oracle": { "execution": { "model": "@brain" } }, "senior-implementer": { "execution": { "model": "@brain" } } } }
|
|
54
54
|
},
|
|
55
55
|
"routing": [
|
|
56
56
|
{ "id": "backend", "priority": 60, "when": { "intent": "implement", "domains": ["backend", "server", "services"] }, "use": "backend-implementer", "reviewers": ["backend-reviewer"] },
|