agentic-engineering-harness 0.6.28 → 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.
Files changed (83) hide show
  1. package/dist/agents/permissions.js +8 -6
  2. package/dist/agents/permissions.js.map +1 -1
  3. package/dist/cli.js +12 -13
  4. package/dist/cli.js.map +1 -1
  5. package/dist/context/compression/headroom.d.ts +1 -0
  6. package/dist/context/compression/headroom.js +2 -1
  7. package/dist/context/compression/headroom.js.map +1 -1
  8. package/dist/context/envelope.js +1 -1
  9. package/dist/context/envelope.js.map +1 -1
  10. package/dist/context/gateway.d.ts +1 -1
  11. package/dist/context/gateway.js +32 -10
  12. package/dist/context/gateway.js.map +1 -1
  13. package/dist/context/policy.js +1 -1
  14. package/dist/context/policy.js.map +1 -1
  15. package/dist/context/preflight.js +10 -4
  16. package/dist/context/preflight.js.map +1 -1
  17. package/dist/context/repository/graphify.d.ts +1 -0
  18. package/dist/context/repository/graphify.js +4 -33
  19. package/dist/context/repository/graphify.js.map +1 -1
  20. package/dist/context/repository/serena.d.ts +1 -1
  21. package/dist/context/repository/serena.js +1 -1
  22. package/dist/context/types.d.ts +19 -1
  23. package/dist/context/types.js +1 -1
  24. package/dist/context/types.js.map +1 -1
  25. package/dist/core/config.js +5 -7
  26. package/dist/core/config.js.map +1 -1
  27. package/dist/core/doctor.js +6 -6
  28. package/dist/core/doctor.js.map +1 -1
  29. package/dist/core/run.js +33 -14
  30. package/dist/core/run.js.map +1 -1
  31. package/dist/core/types.d.ts +5 -0
  32. package/dist/core/verify.d.ts +2 -0
  33. package/dist/core/verify.js +1 -1
  34. package/dist/core/verify.js.map +1 -1
  35. package/dist/evals/fullStack.d.ts +17 -0
  36. package/dist/evals/fullStack.js +42 -0
  37. package/dist/evals/fullStack.js.map +1 -0
  38. package/dist/provenance/generate.d.ts +19 -0
  39. package/dist/provenance/generate.js +94 -8
  40. package/dist/provenance/generate.js.map +1 -1
  41. package/dist/providers/engram.d.ts +26 -1
  42. package/dist/providers/engram.js +110 -6
  43. package/dist/providers/engram.js.map +1 -1
  44. package/dist/providers/graphify.d.ts +9 -1
  45. package/dist/providers/graphify.js +34 -16
  46. package/dist/providers/graphify.js.map +1 -1
  47. package/dist/providers/graphifyModel.d.ts +23 -0
  48. package/dist/providers/graphifyModel.js +101 -0
  49. package/dist/providers/graphifyModel.js.map +1 -0
  50. package/dist/providers/memory.d.ts +1 -0
  51. package/dist/providers/memory.js +2 -0
  52. package/dist/providers/memory.js.map +1 -0
  53. package/dist/providers/types.d.ts +8 -2
  54. package/dist/telemetry/events.d.ts +1 -0
  55. package/dist/telemetry/events.js +19 -2
  56. package/dist/telemetry/events.js.map +1 -1
  57. package/dist/telemetry/otlp.d.ts +6 -1
  58. package/dist/telemetry/otlp.js +2 -2
  59. package/dist/telemetry/otlp.js.map +1 -1
  60. package/dist/validators/external.js +24 -3
  61. package/dist/validators/external.js.map +1 -1
  62. package/dist/validators/graphify.js +5 -73
  63. package/dist/validators/graphify.js.map +1 -1
  64. package/dist/validators/opa.d.ts +14 -1
  65. package/dist/validators/opa.js +6 -2
  66. package/dist/validators/opa.js.map +1 -1
  67. package/dist/validators/toolEvidence.d.ts +29 -0
  68. package/dist/validators/toolEvidence.js +104 -0
  69. package/dist/validators/toolEvidence.js.map +1 -0
  70. package/dist/workers/agentPrompt.d.ts +9 -0
  71. package/dist/workers/agentPrompt.js +119 -9
  72. package/dist/workers/agentPrompt.js.map +1 -1
  73. package/docs/ARCHITECTURE.md +6 -1
  74. package/docs/COMPONENT_MATURITY.md +43 -0
  75. package/docs/CONTEXT_EFFICIENCY.md +11 -2
  76. package/docs/MEMORY.md +9 -0
  77. package/docs/OBSERVABILITY.md +6 -1
  78. package/docs/OSS_STACK.md +8 -2
  79. package/docs/SECURITY.md +12 -0
  80. package/package.json +1 -1
  81. package/policies/core/trust-boundary.rego +14 -4
  82. package/templates/project.yaml +4 -0
  83. package/templates/toolchain.yaml +10 -3
@@ -0,0 +1,104 @@
1
+ import crypto from "node:crypto";
2
+ export function normalizeOpengrepOutput(value) {
3
+ const results = record(value).results;
4
+ if (!Array.isArray(results))
5
+ return [];
6
+ return results.flatMap((item) => {
7
+ const result = record(item);
8
+ const extra = record(result.extra);
9
+ const start = record(result.start);
10
+ const end = record(result.end);
11
+ const metadata = record(extra.metadata);
12
+ const finding = { tool: "opengrep", kind: "finding", rule: stringValue(result.check_id), severity: stringValue(metadata.severity ?? extra.severity), file: stringValue(result.path), line: numberValue(start.line), endLine: numberValue(end.line), column: numberValue(start.col), endColumn: numberValue(end.col), message: stringValue(extra.message), category: stringValue(metadata.category), cwe: listValue(metadata.cwe) };
13
+ return [{ ...finding, fingerprint: findingFingerprint(finding) }];
14
+ });
15
+ }
16
+ export function normalizeTrivyOutput(value) {
17
+ const results = record(value).Results;
18
+ if (!Array.isArray(results))
19
+ return [];
20
+ return results.flatMap((item) => {
21
+ const result = record(item);
22
+ const target = stringValue(result.Target);
23
+ const findings = [];
24
+ for (const [key, kind] of [["Vulnerabilities", "vulnerability"], ["Misconfigurations", "misconfiguration"], ["Secrets", "secret"]]) {
25
+ for (const item of Array.isArray(result[key]) ? result[key] : []) {
26
+ const value = record(item);
27
+ const finding = { tool: "trivy", kind, rule: stringValue(value.VulnerabilityID ?? value.ID ?? value.RuleID), severity: stringValue(value.Severity), package: stringValue(value.PkgName ?? value.Resource), installedVersion: stringValue(value.InstalledVersion), fixedVersion: stringValue(value.FixedVersion), target, file: stringValue(value.PrimaryURL ?? value.Target ?? target), message: stringValue(value.Title ?? value.Message), category: stringValue(result.Class) };
28
+ findings.push({ ...finding, fingerprint: findingFingerprint(finding) });
29
+ }
30
+ }
31
+ return findings;
32
+ });
33
+ }
34
+ export function normalizePlaywrightOutput(value) {
35
+ const findings = [];
36
+ const visitSuite = (suite, project) => {
37
+ const recordSuite = record(suite);
38
+ const specs = Array.isArray(recordSuite.specs) ? recordSuite.specs : [];
39
+ for (const spec of specs) {
40
+ const specRecord = record(spec);
41
+ const tests = Array.isArray(specRecord.tests) ? specRecord.tests : [];
42
+ for (const test of tests) {
43
+ const testRecord = record(test);
44
+ const results = Array.isArray(testRecord.results) ? testRecord.results : [];
45
+ for (const result of results) {
46
+ const resultRecord = record(result);
47
+ const status = stringValue(resultRecord.status);
48
+ if (status && ["passed", "expected", "skipped"].includes(status))
49
+ continue;
50
+ const error = record(resultRecord.error);
51
+ const finding = { tool: "playwright", kind: "failed-test", rule: stringValue(specRecord.title), message: stringValue(error.message ?? resultRecord.error) ?? "Playwright test failed.", durationMs: numberValue(resultRecord.duration), status, details: { project: project ?? stringValue(testRecord.projectName), attachments: resultRecord.attachments } };
52
+ findings.push({ ...finding, fingerprint: findingFingerprint(finding) });
53
+ }
54
+ }
55
+ }
56
+ for (const child of Array.isArray(recordSuite.suites) ? recordSuite.suites : [])
57
+ visitSuite(child, project ?? stringValue(recordSuite.title));
58
+ };
59
+ for (const suite of Array.isArray(record(value).suites) ? record(value).suites : [])
60
+ visitSuite(suite);
61
+ return findings;
62
+ }
63
+ export function normalizePactOutput(value) {
64
+ const root = record(value);
65
+ const candidates = [...(Array.isArray(root.interactions) ? root.interactions : []), ...(Array.isArray(root.tests) ? root.tests : []), ...(Array.isArray(root.failures) ? root.failures : [])];
66
+ return candidates.flatMap((item) => {
67
+ const result = record(item);
68
+ const status = stringValue(result.status ?? result.result);
69
+ const message = stringValue(result.error ?? result.message ?? result.failure);
70
+ if ((!status && !message) || (status && ["passed", "success", "verified"].includes(status.toLocaleLowerCase())))
71
+ return [];
72
+ const finding = { tool: "pact", kind: "contract-failure", rule: stringValue(result.description ?? result.id ?? result.name), message, status, details: { consumer: result.consumer, provider: result.provider, pact: result.pact } };
73
+ return [{ ...finding, fingerprint: findingFingerprint(finding) }];
74
+ });
75
+ }
76
+ export function parseToolEvidence(adapter, stdout) {
77
+ let value;
78
+ try {
79
+ value = JSON.parse(stdout);
80
+ }
81
+ catch {
82
+ return [];
83
+ }
84
+ if (adapter === "opengrep")
85
+ return normalizeOpengrepOutput(value);
86
+ if (adapter === "trivy")
87
+ return normalizeTrivyOutput(value);
88
+ if (adapter === "playwright")
89
+ return normalizePlaywrightOutput(value);
90
+ if (adapter === "pact")
91
+ return normalizePactOutput(value);
92
+ return [];
93
+ }
94
+ export function findingFingerprint(finding) {
95
+ const value = { tool: finding.tool, kind: finding.kind, rule: finding.rule, severity: finding.severity, file: finding.file, line: finding.line, endLine: finding.endLine, package: finding.package, target: finding.target, message: finding.message };
96
+ return crypto.createHash("sha256").update(JSON.stringify(value)).digest("hex");
97
+ }
98
+ function record(value) { return value && typeof value === "object" && !Array.isArray(value) ? value : {}; }
99
+ function stringValue(value) { return typeof value === "string" || typeof value === "number" ? String(value) : undefined; }
100
+ function numberValue(value) { return typeof value === "number" && Number.isFinite(value) ? value : undefined; }
101
+ function listValue(value) { if (Array.isArray(value))
102
+ return value.map(String); if (typeof value === "string")
103
+ return [value]; return undefined; }
104
+ //# sourceMappingURL=toolEvidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolEvidence.js","sourceRoot":"","sources":["../../src/validators/toolEvidence.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { AgentExecutionSelection } from "../agents/types.js";
2
2
  import type { HarnessProjectConfig, TaskContract, WorkerSession } from "../core/types.js";
3
+ import type { ContextFragment } from "../context/types.js";
3
4
  export interface AgentPromptOptions {
4
5
  outputContract?: string;
5
6
  resumeSessionId?: string;
@@ -17,3 +18,11 @@ export declare function materializeAgentPrompt(root: string, config: HarnessProj
17
18
  export declare function dispatchMaterializedAgentPrompt(root: string, config: HarnessProjectConfig, contract: TaskContract, selection: AgentExecutionSelection, materialized: WorkerSession | undefined, prompt: string, options?: AgentPromptOptions): Promise<WorkerSession>;
18
19
  export declare function resumeAgentPrompt(root: string, config: HarnessProjectConfig, contract: TaskContract, selection: AgentExecutionSelection, previous: WorkerSession, prompt: string, options?: Omit<AgentPromptOptions, "resumeSessionId">): Promise<WorkerSession>;
19
20
  export declare function validateCapturedAgentContract(contractName: string, stdout: string, stderr?: string): CapturedContractValidation;
21
+ export declare function buildAgentContextFragments(root: string, config: HarnessProjectConfig, contract: TaskContract, selection: AgentExecutionSelection, prompt: string, options?: AgentPromptOptions): Promise<{
22
+ fragments: ContextFragment[];
23
+ capabilities: {
24
+ authorizedRetrieval: boolean;
25
+ semanticRetrieval: boolean;
26
+ };
27
+ }>;
28
+ export declare function buildEffectivePrompt(root: string, config: HarnessProjectConfig, contract: TaskContract, selection: AgentExecutionSelection, prompt: string, options?: AgentPromptOptions): Promise<string>;
@@ -16,9 +16,11 @@ import { runProcess } from "../utils/process.js";
16
16
  import { activateStructuredResultTurnForAgent, reconcileStructuredResult } from "./resultGateway.js";
17
17
  import { compileAgentPromptPolicy } from "./promptPolicy.js";
18
18
  import { prepareContext } from "../context/gateway.js";
19
- import { semanticFirstInstruction } from "../context/repository/serena.js";
19
+ import { semanticFirstInstruction, SerenaSemanticProvider } from "../context/repository/serena.js";
20
20
  import { sha256 } from "../context/provenance.js";
21
21
  import { outputPolicyInstruction, resolveContextPolicy } from "../context/policy.js";
22
+ import { buildRepositoryContextMap } from "../context/repository/map.js";
23
+ import { createMemoryProvider } from "../providers/memory.js";
22
24
  export async function executeAgentPrompt(root, config, contract, selection, prompt, options = {}) {
23
25
  const transport = selection.transport === "inherit" ? (config.orchestration?.provider ?? "none") : selection.transport;
24
26
  const effectivePrompt = await buildEffectivePrompt(root, config, contract, selection, prompt, options);
@@ -181,7 +183,7 @@ function serializationRepairPrompt(contractName, failure) {
181
183
  "For the marker fallback use ordinary ASCII JSON double quotes (U+0022); do not use Markdown fences or typographic quotes."
182
184
  ].join("\n");
183
185
  }
184
- async function executeViaPaseo(root, config, contract, selection, prompt, options) {
186
+ async function executeViaPaseo(root, config, contract, selection, prompt, options = {}) {
185
187
  const spec = await compilePaseoAgentLaunchSpec(root, config, contract, {
186
188
  selection,
187
189
  phase: options.phase ?? "work",
@@ -287,7 +289,7 @@ async function executeCodex(root, config, selection, prompt, options, startedAt,
287
289
  await fs.rm(temp, { recursive: true, force: true });
288
290
  }
289
291
  }
290
- async function executePodman(root, config, contract, selection, prompt, options) {
292
+ async function executePodman(root, config, contract, selection, prompt, options = {}) {
291
293
  if (selection.runtimeAdapter !== "opencode")
292
294
  throw new Error(`Podman prompt execution currently supports OpenCode; selected ${selection.runtimeAdapter}.`);
293
295
  if (options.resumeSessionId)
@@ -314,7 +316,7 @@ async function executePodman(root, config, contract, selection, prompt, options)
314
316
  const result = await runProcess(args.map(quote).join(" "), { cwd: root, timeoutMs: (config.orchestration?.worker?.timeoutSeconds ?? 1800) * 1000 });
315
317
  return session(selection, result.exitCode, result.stdout, result.stderr, { nativeAgent: projection.binding.agentId, ...directMetadata(options, startedAt, "podman") });
316
318
  }
317
- async function buildEffectivePrompt(root, config, contract, selection, prompt, options) {
319
+ export async function buildAgentContextFragments(root, config, contract, selection, prompt, options = {}) {
318
320
  const transport = selection.transport === "inherit" ? (config.orchestration?.provider ?? "none") : selection.transport;
319
321
  const operation = currentOperationContext();
320
322
  const operationKind = operation.kind ?? options.operationKind ?? contract.routing?.intent;
@@ -339,18 +341,126 @@ async function buildEffectivePrompt(root, config, contract, selection, prompt, o
339
341
  options.parentAgentId ? `Paseo parent=${options.parentAgentId}; OperationRecord remains lifecycle authority.` : undefined
340
342
  ].filter(Boolean).join("\n");
341
343
  const contextOutputPolicy = config.context ? outputPolicyInstruction(resolveContextPolicy(config), selection.role) : undefined;
342
- const charter = withAgentCharter(selection, [selection.role === "orchestrator" || selection.logicalAgent === "operation-supervisor" ? undefined : semanticFirstInstruction(), contextOutputPolicy, prompt].filter(Boolean).join("\n\n"), frozenSkills, [managedBoundedAgentPromptContext(identity), hierarchy].filter(Boolean).join("\n"), policy.outputContractContext);
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);
343
413
  if (!config.context)
344
- return charter;
414
+ return preparedFragments.fragments.map((fragment) => fragment.content).filter(Boolean).join("\n\n");
415
+ const identity = currentOperationContext();
345
416
  const prepared = await prepareContext(root, config, {
346
- operationId: identity.operationId ?? contract.task.id,
417
+ operationId: identity.id ?? contract.task.id,
347
418
  logicalAgent: selection.logicalAgent,
348
419
  role: selection.role ?? "worker",
349
- phase: identity.phase ?? "work",
350
- fragments: [{ id: `prompt-${sha256(charter).slice(0, 16)}`, kind: "instruction", preservation: "VERBATIM", priority: 100, content: charter }]
420
+ phase: options.phase ?? "work",
421
+ fragments: preparedFragments.fragments,
422
+ capabilities: preparedFragments.capabilities
351
423
  });
352
424
  return prepared.rendered;
353
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
+ }
463
+ }
354
464
  function boundedExecutionEnvironment(selection, options) {
355
465
  const operation = currentOperationContext();
356
466
  const env = buildManagedAgentEnvironment({ logicalAgent: selection.logicalAgent, role: selection.role, operationId: operation.id, operationKind: operation.kind ?? options.operationKind, phase: options.phase ?? "work", interactiveLead: false, orchestrationAllowed: false });
@@ -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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"}
@@ -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. Extracted graph relationships may support deterministic gates; inferred/ambiguous relationships should default to warnings until explicitly promoted.
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
 
@@ -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.
@@ -8,6 +8,15 @@ RETRIEVE -> SELECT -> PROJECT -> BUDGET -> COMPRESS -> DELIVER -> RETRIEVE ORIGI
8
8
 
9
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
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
+
11
20
  ## Preservation classes
12
21
 
13
22
  - `VERBATIM`: exact normative requirements, contracts, schemas, hashes, anchors and critical diagnostics. It cannot be lossy-compressed.
@@ -20,11 +29,11 @@ Unknown classes fail validation; they do not default to lossy compression.
20
29
 
21
30
  ## Providers and authority
22
31
 
23
- Serena is the mandatory local semantic repository provider. 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.
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.
24
33
 
25
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.
26
35
 
27
- Both tools are free/local OSS dependencies pinned in `templates/toolchain.yaml`: Serena `1.5.3` and Headroom `0.27.0`, using the managed Python/uv toolchain. No paid hosted service is required.
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.
28
37
 
29
38
  ## Budgets and retrieval
30
39
 
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;
@@ -1,6 +1,11 @@
1
1
  # Observability
2
2
 
3
- The harness writes local NDJSON lifecycle events under `.harness/telemetry/` and creates OpenTelemetry spans through the OTel API.
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
@@ -11,8 +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.5.3 | Mandatory local OSS symbol lookup, references and targeted repository navigation; not memory authority |
15
- | Context compression | Headroom 0.27.0 | Mandatory local OSS selective compression after AEH projection; no hosted Headroom service required |
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 |
16
16
  | Specification | SDD + Git | Versioned normative intent |
17
17
  | Acceptance | Gherkin + Reqnroll | Executable business behavior for .NET consumers |
18
18
  | Policy | OPA/Rego | Centralized allow/deny decisions |
@@ -24,6 +24,12 @@ Reference components:
24
24
  | Worker isolation | Podman rootless | Ephemeral least-privilege execution |
25
25
  | Telemetry | OpenTelemetry | Portable traces/metrics/log semantics |
26
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.
27
33
  | Harness quality | Engineering eval corpus | Reproducible comparison of system variants |
28
34
 
29
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.