agentic-engineering-harness 0.8.3 → 0.8.4
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 +2 -0
- package/dist/agents/outputContracts.js +1 -1
- package/dist/agents/outputContracts.js.map +1 -1
- package/dist/agents/parallelism.js +3 -2
- package/dist/agents/parallelism.js.map +1 -1
- package/dist/agents/permissions.js +1 -1
- package/dist/agents/permissions.js.map +1 -1
- package/dist/agents/waveExecutor.js +25 -15
- package/dist/agents/waveExecutor.js.map +1 -1
- package/dist/certification/adapters.d.ts +4 -0
- package/dist/certification/adapters.js +17 -0
- package/dist/certification/adapters.js.map +1 -0
- package/dist/certification/artifacts.d.ts +3 -0
- package/dist/certification/artifacts.js +18 -0
- package/dist/certification/artifacts.js.map +1 -0
- package/dist/certification/bootstrap.d.ts +33 -0
- package/dist/certification/bootstrap.js +138 -0
- package/dist/certification/bootstrap.js.map +1 -0
- package/dist/certification/codex.d.ts +26 -0
- package/dist/certification/codex.js +125 -0
- package/dist/certification/codex.js.map +1 -0
- package/dist/certification/core.d.ts +15 -0
- package/dist/certification/core.js +300 -0
- package/dist/certification/core.js.map +1 -0
- package/dist/certification/index.d.ts +9 -0
- package/dist/certification/index.js +10 -0
- package/dist/certification/index.js.map +1 -0
- package/dist/certification/oracle.d.ts +11 -0
- package/dist/certification/oracle.js +29 -0
- package/dist/certification/oracle.js.map +1 -0
- package/dist/certification/policy.d.ts +3 -0
- package/dist/certification/policy.js +59 -0
- package/dist/certification/policy.js.map +1 -0
- package/dist/certification/provider.d.ts +27 -0
- package/dist/certification/provider.js +170 -0
- package/dist/certification/provider.js.map +1 -0
- package/dist/certification/types.d.ts +234 -0
- package/dist/certification/types.js +2 -0
- package/dist/certification/types.js.map +1 -0
- package/dist/cli.js +27 -0
- package/dist/cli.js.map +1 -1
- package/dist/context/gateway.d.ts +1 -0
- package/dist/context/gateway.js +13 -5
- package/dist/context/gateway.js.map +1 -1
- package/dist/context/retrieval/persisted.d.ts +3 -2
- package/dist/context/retrieval/persisted.js +23 -7
- package/dist/context/retrieval/persisted.js.map +1 -1
- package/dist/context/retrieval/server.js +7 -4
- package/dist/context/retrieval/server.js.map +1 -1
- package/dist/core/config.js +1 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/controlPlane.d.ts +1 -0
- package/dist/core/controlPlane.js +12 -0
- package/dist/core/controlPlane.js.map +1 -1
- package/dist/core/git.d.ts +12 -2
- package/dist/core/git.js +31 -5
- package/dist/core/git.js.map +1 -1
- package/dist/core/run.d.ts +2 -0
- package/dist/core/run.js +3 -2
- package/dist/core/run.js.map +1 -1
- package/dist/core/sdd.js +1 -1
- package/dist/core/sdd.js.map +1 -1
- package/dist/core/seal.js +4 -3
- package/dist/core/seal.js.map +1 -1
- package/dist/core/types.d.ts +15 -0
- package/dist/core/verify.js +7 -3
- package/dist/core/verify.js.map +1 -1
- package/dist/distributed/queue.js +24 -6
- package/dist/distributed/queue.js.map +1 -1
- package/dist/distributed/types.d.ts +1 -0
- package/dist/distributed/worker.d.ts +6 -1
- package/dist/distributed/worker.js +25 -6
- package/dist/distributed/worker.js.map +1 -1
- package/dist/evidence/graph.js +2 -2
- package/dist/evidence/graph.js.map +1 -1
- package/dist/metrics/usage.js +8 -0
- package/dist/metrics/usage.js.map +1 -1
- package/dist/operations/change.d.ts +4 -0
- package/dist/operations/change.js +34 -11
- package/dist/operations/change.js.map +1 -1
- package/dist/operations/changeHandoff.d.ts +4 -0
- package/dist/operations/changeHandoff.js +2 -2
- package/dist/operations/changeHandoff.js.map +1 -1
- package/dist/operations/completion.js +38 -27
- package/dist/operations/completion.js.map +1 -1
- package/dist/operations/controller.js +142 -10
- package/dist/operations/controller.js.map +1 -1
- package/dist/operations/livenessV2.js +14 -12
- package/dist/operations/livenessV2.js.map +1 -1
- package/dist/operations/monitorProcess.js +11 -1
- package/dist/operations/monitorProcess.js.map +1 -1
- package/dist/operations/state.d.ts +2 -0
- package/dist/operations/state.js +31 -8
- package/dist/operations/state.js.map +1 -1
- package/dist/operations/supervisor.js +11 -2
- package/dist/operations/supervisor.js.map +1 -1
- package/dist/paseo/capabilities.js +0 -2
- package/dist/paseo/capabilities.js.map +1 -1
- package/dist/paseo/launchSpec.js +5 -3
- package/dist/paseo/launchSpec.js.map +1 -1
- package/dist/paseo/runtime.d.ts +1 -1
- package/dist/paseo/runtime.js +1 -1
- package/dist/paseo/runtime.js.map +1 -1
- package/dist/paseo/runtimeCore.d.ts +4 -0
- package/dist/paseo/runtimeCore.js +27 -2
- package/dist/paseo/runtimeCore.js.map +1 -1
- package/dist/paseo/sdk.d.ts +8 -0
- package/dist/paseo/sdk.js +85 -17
- package/dist/paseo/sdk.js.map +1 -1
- package/dist/paseo/start.js +2 -2
- package/dist/paseo/start.js.map +1 -1
- package/dist/security/sandbox.d.ts +1 -0
- package/dist/security/sandbox.js +20 -2
- package/dist/security/sandbox.js.map +1 -1
- package/dist/utils/process.d.ts +10 -0
- package/dist/utils/process.js +171 -6
- package/dist/utils/process.js.map +1 -1
- package/dist/utils/repositoryPath.d.ts +4 -0
- package/dist/utils/repositoryPath.js +23 -0
- package/dist/utils/repositoryPath.js.map +1 -0
- package/dist/validators/opa.js +2 -2
- package/dist/validators/quickAcceptance.d.ts +7 -0
- package/dist/validators/quickAcceptance.js +40 -0
- package/dist/validators/quickAcceptance.js.map +1 -0
- package/dist/workers/agentPrompt.js +247 -32
- package/dist/workers/agentPrompt.js.map +1 -1
- package/dist/workers/direct.js +9 -10
- package/dist/workers/direct.js.map +1 -1
- package/dist/workers/directProcess.d.ts +19 -0
- package/dist/workers/directProcess.js +147 -0
- package/dist/workers/directProcess.js.map +1 -0
- package/dist/workers/podman.js +2 -2
- package/dist/workers/podman.js.map +1 -1
- package/dist/workers/resultCommit.js +1 -1
- package/dist/workers/resultCommit.js.map +1 -1
- package/dist/workers/resultGateway.d.ts +27 -2
- package/dist/workers/resultGateway.js +64 -11
- package/dist/workers/resultGateway.js.map +1 -1
- package/docs/CERTIFICATION.md +31 -0
- package/package.json +2 -2
- package/schemas/project.schema.json +1 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# AEH Certification Core
|
|
2
|
+
|
|
3
|
+
AEH certification is a runtime-agnostic quality boundary. `CertificationCore` accepts a `CandidateRevision`, a frozen `CertificationPolicy`, and an independent deterministic `CertificationOracle`. It emits one of:
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
ACCEPTED
|
|
7
|
+
REPAIR_REQUIRED
|
|
8
|
+
HUMAN_REQUIRED
|
|
9
|
+
PARTIAL
|
|
10
|
+
BLOCKED
|
|
11
|
+
NOT_TESTED
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Capability reports contain separate `contract` and `modelE2E` lanes. A deterministic contract PASS with a blocked or untested model lane is `PARTIAL`, never a full PASS. A campaign requiring model execution is accepted only when the provider receipt proves startup and the oracle verifies model-produced journey evidence.
|
|
15
|
+
|
|
16
|
+
External actors can propose or repair a candidate, but their claimed verdicts never become acceptance evidence. Provider execution is behind `AgentProvider`; the initial `CodexAgentProvider` is a bootstrap adapter and is not part of certification policy or oracle semantics.
|
|
17
|
+
|
|
18
|
+
The bootstrap lane packs the current checkout, installs that pack into a disposable fixture with lifecycle scripts disabled, and evaluates it with an argv-based deterministic command oracle:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
aeh certification self-dogfood <fixture> \
|
|
22
|
+
--check node \
|
|
23
|
+
--check-args '["-e","process.exit(0)"]' \
|
|
24
|
+
--prompt "Run the fixture task"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
The Codex adapter resolves installed CLI capabilities from `codex exec --help`, uses `-c model_reasoning_effort="high"` when the CLI does not expose a reasoning flag, and records requested/effective configuration plus the Codex thread identifier. It uses a temporary controlled `HOME`/`CODEX_HOME` containing only the copied Codex auth file and generated model configuration; the fixture does not receive the host HOME tree.
|
|
28
|
+
|
|
29
|
+
The provider boundary filters ambient environment variables, rejects recursive certification, bounds output and time, and terminates process groups on timeout or output overflow. Direct execution does not enforce OS-level network isolation. Reports therefore record `networkPolicy.requested`, `networkPolicy.enforced`, and `networkPolicy.enforcement`; a policy requiring isolation blocks when the direct transport cannot enforce it.
|
|
30
|
+
|
|
31
|
+
Reports from the CLI are persisted under `.aeh-test-results/certification/<certification-id>.json` with the packed candidate SHA-256 and package identity. Temporary candidate paths remain diagnostic only.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentic-engineering-harness",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.4",
|
|
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": {
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"test:system-all": "npm run build && vitest run tests/system && AEH_RELIABILITY_SUITES=system AEH_RELIABILITY_REQUIRE_COMPLETE=1 tsx scripts/generate-reliability-report.ts",
|
|
35
35
|
"reliability:report": "tsx scripts/generate-reliability-report.ts",
|
|
36
36
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
37
|
-
"check": "npm run typecheck && npm
|
|
37
|
+
"check": "npm run typecheck && npm run build && npm test",
|
|
38
38
|
"release:check": "npm run check && npm pack --dry-run",
|
|
39
39
|
"release:resolve": "node scripts/release-version.mjs"
|
|
40
40
|
},
|
|
@@ -69,6 +69,7 @@
|
|
|
69
69
|
"security": { "type": "object", "properties": { "sandbox": { "type": "object", "properties": { "provider": { "type": "string" }, "required": { "type": "boolean" }, "image": { "type": "string" }, "imageDigest": { "type": "string" }, "network": { "type": "boolean" }, "extraArgs": { "type": "array", "items": { "type": "string" } }, "readOnlyRoot": { "type": "boolean" }, "ephemeralHome": { "type": "boolean" }, "noNewPrivileges": { "type": "boolean" }, "capDropAll": { "type": "boolean" }, "pidsLimit": { "type": "integer", "minimum": 1 }, "memory": { "type": "string" }, "cpus": { "type": "number", "exclusiveMinimum": 0 }, "tmpfs": { "type": "array", "items": { "type": "string" } }, "forceForRisks": { "type": "array", "items": { "enum": ["low", "medium", "high"] } }, "environmentAllowlist": { "type": "array", "items": { "type": "string" } }, "credentialEnvAllowlist": { "type": "array", "items": { "type": "string" } } } }, "tools": { "type": "array", "items": { "type": "string" } } } },
|
|
70
70
|
"telemetry": { "type": "object" },
|
|
71
71
|
"evals": { "type": "object", "properties": { "corpusDir": { "type": "string" }, "resultsDir": { "type": "string" }, "workspacesDir": { "type": "string" }, "defaultRuns": { "type": "integer", "minimum": 1 }, "confidenceLevel": { "type": "number", "exclusiveMinimum": 0, "exclusiveMaximum": 1 } } },
|
|
72
|
+
"certification": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "policyPath": { "type": "string" }, "provider": { "type": "string" }, "fixtureRoot": { "type": "string" }, "requireSandbox": { "type": "boolean" }, "maxAttempts": { "type": "integer", "minimum": 0 }, "maxDurationMs": { "type": "integer", "minimum": 1 }, "maxCostUsd": { "type": "number", "minimum": 0 }, "maxTotalTokens": { "type": "integer", "minimum": 0 } } },
|
|
72
73
|
"provenance": { "type": "object", "properties": { "outputDir": { "type": "string" }, "buildType": { "type": "string" }, "cosignKey": { "type": "string" }, "required": { "type": "boolean" }, "sbom": { "type": "object", "properties": { "required": { "type": "boolean" }, "command": { "type": "string" } } }, "signing": { "type": "object", "properties": { "required": { "type": "boolean" }, "key": { "type": "string" } } }, "verification": { "type": "object", "properties": { "required": { "type": "boolean" }, "publicKey": { "type": "string" } } } } }
|
|
73
74
|
},
|
|
74
75
|
"$defs": {
|