agentic-scorecard 0.1.0
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/AGENT_PROMPT.md +64 -0
- package/LICENSE +201 -0
- package/NOTICE +4 -0
- package/README.md +191 -0
- package/benchmark/mappings/nist-ai-rmf.md +22 -0
- package/benchmark/mappings/openssf-scorecard.md +13 -0
- package/benchmark/mappings/owasp-agentic.md +16 -0
- package/benchmark/v0.1/adapter-contract.md +22 -0
- package/benchmark/v0.1/benchmark.yaml +126 -0
- package/benchmark/v0.1/controls/context.yaml +43 -0
- package/benchmark/v0.1/controls/environment.yaml +74 -0
- package/benchmark/v0.1/controls/governance.yaml +53 -0
- package/benchmark/v0.1/controls/learning.yaml +40 -0
- package/benchmark/v0.1/controls/observability.yaml +54 -0
- package/benchmark/v0.1/controls/resilience.yaml +40 -0
- package/benchmark/v0.1/controls/security.yaml +64 -0
- package/benchmark/v0.1/controls/specification.yaml +42 -0
- package/benchmark/v0.1/controls/testing.yaml +42 -0
- package/benchmark/v0.1/controls/tooling.yaml +48 -0
- package/benchmark/v0.1/evidence-schema.json +28 -0
- package/benchmark/v0.1/report-schema.json +32 -0
- package/benchmark/v0.1/scoring-policy.md +59 -0
- package/dist/cli.js +592 -0
- package/package.json +74 -0
- package/templates/attestations.yaml +9 -0
- package/templates/baseline.csv +1 -0
- package/templates/remediation-plan.md +15 -0
- package/templates/security-preflight.md +18 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
dimension: context
|
|
2
|
+
controls:
|
|
3
|
+
- id: ADRB-CTX-001
|
|
4
|
+
level: 1
|
|
5
|
+
title: Repository guidance is discoverable
|
|
6
|
+
outcome: A new agent can find repository-specific working instructions from the repository root.
|
|
7
|
+
risk: The agent guesses conventions or applies generic advice that conflicts with local architecture.
|
|
8
|
+
evidence:
|
|
9
|
+
- type: path_any
|
|
10
|
+
patterns: [AGENTS.md, CLAUDE.md, .github/copilot-instructions.md, .cursor/rules/**]
|
|
11
|
+
remediation: Add a concise root instruction file that points to authoritative deeper guidance.
|
|
12
|
+
- id: ADRB-CTX-002
|
|
13
|
+
level: 2
|
|
14
|
+
title: Instructions express authoritative architecture and scope
|
|
15
|
+
outcome: Guidance identifies architectural invariants, scoped instructions, and precedence rules.
|
|
16
|
+
risk: Multiple context files silently disagree or fail to protect architectural boundaries.
|
|
17
|
+
evidence:
|
|
18
|
+
- type: path_any
|
|
19
|
+
patterns: [.ai/constitution.md, docs/architecture/**, architecture/**, ADR/**, docs/adr/**]
|
|
20
|
+
- type: content_any
|
|
21
|
+
files: [AGENTS.md, CLAUDE.md, .github/copilot-instructions.md]
|
|
22
|
+
needles: [scope, architecture, precedence, invariant]
|
|
23
|
+
remediation: Document immutable constraints and how root, module, and task instructions compose.
|
|
24
|
+
- id: ADRB-CTX-003
|
|
25
|
+
level: 3
|
|
26
|
+
title: Context integrity is mechanically checked
|
|
27
|
+
outcome: CI detects broken links, oversized bootstrap context, invalid instruction structure, or drift.
|
|
28
|
+
risk: Guidance degrades unnoticed and agents operate with stale or contradictory context.
|
|
29
|
+
evidence:
|
|
30
|
+
- type: content_any
|
|
31
|
+
files:
|
|
32
|
+
[.github/workflows/**, .gitlab-ci.yml, Jenkinsfile, scripts/**, package.json, Makefile]
|
|
33
|
+
needles: [agent-doc, instruction, broken link, markdownlint, context budget, constitution]
|
|
34
|
+
remediation: Add a deterministic CI check for instruction validity, links, size budgets, and mirrors.
|
|
35
|
+
- id: ADRB-CTX-004
|
|
36
|
+
level: 4
|
|
37
|
+
title: Context quality is measured and improved
|
|
38
|
+
outcome: The organization measures agent orientation failures and improves context using those outcomes.
|
|
39
|
+
risk: More documentation accumulates without proving that agents reach the right decisions faster.
|
|
40
|
+
evidence:
|
|
41
|
+
- type: manual
|
|
42
|
+
prompt: Provide recent orientation or context-failure metrics, the review cadence, and one resulting improvement.
|
|
43
|
+
remediation: Sample failed runs, classify context causes, and track recurrence and time-to-orientation.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
dimension: environment
|
|
2
|
+
controls:
|
|
3
|
+
- id: ADRB-ENV-001
|
|
4
|
+
level: 1
|
|
5
|
+
title: Local setup is documented
|
|
6
|
+
outcome: A contributor can locate setup, dependency, and verification instructions.
|
|
7
|
+
risk: Agents improvise an environment and produce results that cannot be reproduced.
|
|
8
|
+
evidence:
|
|
9
|
+
- type: content_any
|
|
10
|
+
files: [README.md, CONTRIBUTING.md, docs/**]
|
|
11
|
+
needles: [install, setup, prerequisites, getting started]
|
|
12
|
+
remediation: Add minimal setup and verification commands to the repository documentation.
|
|
13
|
+
- id: ADRB-ENV-002
|
|
14
|
+
level: 2
|
|
15
|
+
title: Dependencies and runtime are reproducible
|
|
16
|
+
outcome: Runtime versions and dependencies are pinned, with non-secret configuration discoverable.
|
|
17
|
+
risk: Local and CI behavior diverges because agents resolve different tools or dependency graphs.
|
|
18
|
+
evidence:
|
|
19
|
+
- type: path_any
|
|
20
|
+
patterns:
|
|
21
|
+
[
|
|
22
|
+
package-lock.json,
|
|
23
|
+
pnpm-lock.yaml,
|
|
24
|
+
yarn.lock,
|
|
25
|
+
poetry.lock,
|
|
26
|
+
uv.lock,
|
|
27
|
+
Pipfile.lock,
|
|
28
|
+
go.sum,
|
|
29
|
+
Cargo.lock,
|
|
30
|
+
]
|
|
31
|
+
- type: path_any
|
|
32
|
+
patterns:
|
|
33
|
+
[
|
|
34
|
+
.tool-versions,
|
|
35
|
+
.node-version,
|
|
36
|
+
.nvmrc,
|
|
37
|
+
.python-version,
|
|
38
|
+
mise.toml,
|
|
39
|
+
devcontainer.json,
|
|
40
|
+
.devcontainer/**,
|
|
41
|
+
Dockerfile,
|
|
42
|
+
]
|
|
43
|
+
remediation: Commit a lockfile and pin supported runtime or container versions.
|
|
44
|
+
- id: ADRB-ENV-003
|
|
45
|
+
level: 3
|
|
46
|
+
title: CI proves environment fidelity
|
|
47
|
+
outcome: CI creates the supported environment from clean state and runs the canonical verification entry point.
|
|
48
|
+
risk: A documented setup can rot while cached or developer-specific environments continue to pass.
|
|
49
|
+
evidence:
|
|
50
|
+
- type: content_any
|
|
51
|
+
files: [.github/workflows/**, .gitlab-ci.yml, Jenkinsfile, azure-pipelines.yml]
|
|
52
|
+
needles:
|
|
53
|
+
[
|
|
54
|
+
npm ci,
|
|
55
|
+
pnpm install --frozen-lockfile,
|
|
56
|
+
yarn --immutable,
|
|
57
|
+
uv sync,
|
|
58
|
+
poetry install,
|
|
59
|
+
go test,
|
|
60
|
+
cargo test,
|
|
61
|
+
]
|
|
62
|
+
- type: content_any
|
|
63
|
+
files: [.github/workflows/**, .gitlab-ci.yml, Jenkinsfile, azure-pipelines.yml]
|
|
64
|
+
needles: [test, check, verify, build]
|
|
65
|
+
remediation: Rebuild dependencies from the lockfile in CI and invoke one canonical check command.
|
|
66
|
+
- id: ADRB-ENV-004
|
|
67
|
+
level: 4
|
|
68
|
+
title: Environment reliability is measured
|
|
69
|
+
outcome: Clean-checkout setup success and time are measured across supported platforms.
|
|
70
|
+
risk: Environment friction consumes agent time and causes hidden workarounds without being visible.
|
|
71
|
+
evidence:
|
|
72
|
+
- type: manual
|
|
73
|
+
prompt: Provide clean-checkout setup success rate, setup duration, supported platforms, and a recent corrective action.
|
|
74
|
+
remediation: Run scheduled clean-room setup probes and trend failures and duration.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
dimension: governance
|
|
2
|
+
controls:
|
|
3
|
+
- id: ADRB-GOV-001
|
|
4
|
+
level: 1
|
|
5
|
+
title: Change and review process is documented
|
|
6
|
+
outcome: Contributors can find how to propose, review, and approve a change.
|
|
7
|
+
risk: Agent changes bypass normal accountability or use inconsistent review expectations.
|
|
8
|
+
evidence:
|
|
9
|
+
- type: path_any
|
|
10
|
+
patterns:
|
|
11
|
+
[
|
|
12
|
+
CONTRIBUTING.md,
|
|
13
|
+
.github/pull_request_template.md,
|
|
14
|
+
.github/PULL_REQUEST_TEMPLATE/**,
|
|
15
|
+
docs/governance/**,
|
|
16
|
+
]
|
|
17
|
+
remediation: Document the branch, pull request, review, and approval workflow.
|
|
18
|
+
- id: ADRB-GOV-002
|
|
19
|
+
level: 2
|
|
20
|
+
title: Human accountability and merge authority are explicit
|
|
21
|
+
outcome: Agent-authored changes identify provenance, responsible human, risk, verification, and human merge authority.
|
|
22
|
+
risk: Reviewers cannot tell who owns the decision or which work was delegated.
|
|
23
|
+
evidence:
|
|
24
|
+
- type: content_any
|
|
25
|
+
files:
|
|
26
|
+
[
|
|
27
|
+
CONTRIBUTING.md,
|
|
28
|
+
.github/pull_request_template.md,
|
|
29
|
+
.github/PULL_REQUEST_TEMPLATE/**,
|
|
30
|
+
docs/governance/**,
|
|
31
|
+
]
|
|
32
|
+
needles: [agent, ai-assisted, responsible, human review, approval, verification]
|
|
33
|
+
remediation: Add agent provenance, responsible owner, risk, evidence, and approval fields to the PR process.
|
|
34
|
+
- id: ADRB-GOV-003
|
|
35
|
+
level: 3
|
|
36
|
+
title: Review scope and quality gates are enforced
|
|
37
|
+
outcome: Protected branches, required reviewers, checks, ownership, and exception handling are enforced.
|
|
38
|
+
risk: Policy depends on voluntary compliance and can be bypassed by the same actor making the change.
|
|
39
|
+
evidence:
|
|
40
|
+
- type: path_any
|
|
41
|
+
patterns: [.github/CODEOWNERS, CODEOWNERS]
|
|
42
|
+
- type: manual
|
|
43
|
+
prompt: Show branch protection, required reviews and checks, exception ownership, and auditability.
|
|
44
|
+
remediation: Configure protected branches, independent review, required checks, ownership, and expiring exceptions.
|
|
45
|
+
- id: ADRB-GOV-004
|
|
46
|
+
level: 4
|
|
47
|
+
title: Review precision and convergence are measured
|
|
48
|
+
outcome: Review escape rate, false-positive rate, convergence rounds, and human load guide policy changes.
|
|
49
|
+
risk: More agent reviewers create duplicate noise and approval theater instead of higher assurance.
|
|
50
|
+
evidence:
|
|
51
|
+
- type: manual
|
|
52
|
+
prompt: Provide review precision, escape, convergence, and reviewer-load metrics plus a resulting improvement.
|
|
53
|
+
remediation: Measure review outcomes, deduplicate findings, bound rounds, and tune reviewers by defect class.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
dimension: learning
|
|
2
|
+
controls:
|
|
3
|
+
- id: ADRB-LRN-001
|
|
4
|
+
level: 1
|
|
5
|
+
title: Agent corrections are recorded
|
|
6
|
+
outcome: Review corrections and post-merge lessons have an explicit durable home.
|
|
7
|
+
risk: Every agent session repeats the same repository-specific mistakes.
|
|
8
|
+
evidence:
|
|
9
|
+
- type: path_any
|
|
10
|
+
patterns: [.ai/lessons.md, docs/lessons/**, docs/decisions/**, ADR/**, docs/adr/**]
|
|
11
|
+
remediation: Create a concise correction log with context, rule, owner, and date.
|
|
12
|
+
- id: ADRB-LRN-002
|
|
13
|
+
level: 2
|
|
14
|
+
title: Knowledge promotion and ownership are documented
|
|
15
|
+
outcome: The team defines when a correction becomes an instruction, skill, decision, or reference page.
|
|
16
|
+
risk: The lesson store becomes a stale append-only archive rather than usable agent knowledge.
|
|
17
|
+
evidence:
|
|
18
|
+
- type: content_any
|
|
19
|
+
files: [AGENTS.md, .ai/lessons.md, docs/**, .agents/skills/**, .claude/skills/**]
|
|
20
|
+
needles: [curation, promote, lesson, correction, stale, owner]
|
|
21
|
+
remediation: Define a curation cadence, promotion rules, ownership, deduplication, and stale-content handling.
|
|
22
|
+
- id: ADRB-LRN-003
|
|
23
|
+
level: 3
|
|
24
|
+
title: Knowledge curation is an enforced workflow
|
|
25
|
+
outcome: A scheduled or release-gated process detects stale, duplicate, contradictory, or unpromoted knowledge.
|
|
26
|
+
risk: Knowledge quality relies on memory and quietly deteriorates as the repository evolves.
|
|
27
|
+
evidence:
|
|
28
|
+
- type: content_any
|
|
29
|
+
files: [.github/workflows/**, scripts/**, package.json, Makefile, AGENTS.md]
|
|
30
|
+
needles: [curator, curation, knowledge lint, lesson, stale, contradiction]
|
|
31
|
+
remediation: Automate mechanical checks and require periodic human judgement over knowledge quality.
|
|
32
|
+
- id: ADRB-LRN-004
|
|
33
|
+
level: 4
|
|
34
|
+
title: Knowledge effectiveness is measured
|
|
35
|
+
outcome: Recurring mistakes, stale guidance, retrieval success, and correction latency drive curation priorities.
|
|
36
|
+
risk: Knowledge grows without evidence that it changes agent behavior.
|
|
37
|
+
evidence:
|
|
38
|
+
- type: manual
|
|
39
|
+
prompt: Provide recurrence and knowledge-quality metrics plus a recent improvement linked to them.
|
|
40
|
+
remediation: Classify correction recurrence and measure whether promoted knowledge prevents repeat failures.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
dimension: observability
|
|
2
|
+
controls:
|
|
3
|
+
- id: ADRB-OBS-001
|
|
4
|
+
level: 1
|
|
5
|
+
title: Agent activity can be reconstructed
|
|
6
|
+
outcome: Material agent runs retain enough metadata to identify task, actor or harness, result, and time.
|
|
7
|
+
risk: Teams cannot explain what happened after a poor change or security concern.
|
|
8
|
+
evidence:
|
|
9
|
+
- type: path_any
|
|
10
|
+
patterns:
|
|
11
|
+
[
|
|
12
|
+
'**/docs/observability/**',
|
|
13
|
+
'**/docs/agentic/**',
|
|
14
|
+
'**/evals/**',
|
|
15
|
+
'**/evaluations/**',
|
|
16
|
+
.agentic/**,
|
|
17
|
+
'**/observability/**',
|
|
18
|
+
]
|
|
19
|
+
remediation: Define a privacy-safe run record with task, harness, permissions, result, timing, and evidence links.
|
|
20
|
+
- id: ADRB-OBS-002
|
|
21
|
+
level: 2
|
|
22
|
+
title: Run envelope and outcome taxonomy are documented
|
|
23
|
+
outcome: Run records cover model or harness version, tools, authority, budget, stop reason, verification, and outcome.
|
|
24
|
+
risk: Comparisons confound model, tooling, permissions, task risk, and checkout state.
|
|
25
|
+
evidence:
|
|
26
|
+
- type: content_any
|
|
27
|
+
files:
|
|
28
|
+
[
|
|
29
|
+
'**/docs/observability/**',
|
|
30
|
+
'**/docs/agentic/**',
|
|
31
|
+
'**/evals/**',
|
|
32
|
+
.agentic/**,
|
|
33
|
+
'**/observability/**',
|
|
34
|
+
]
|
|
35
|
+
needles: [task class, tool, permission, budget, stop reason, outcome, harness version]
|
|
36
|
+
remediation: Adopt a common run envelope and outcome taxonomy with privacy and retention rules.
|
|
37
|
+
- id: ADRB-OBS-003
|
|
38
|
+
level: 3
|
|
39
|
+
title: Outcome evidence is captured consistently
|
|
40
|
+
outcome: The harness or CI emits run metadata and verification outcomes for material agent changes.
|
|
41
|
+
risk: Only memorable successes and failures shape policy, creating selection bias.
|
|
42
|
+
evidence:
|
|
43
|
+
- type: manual
|
|
44
|
+
prompt: Show automated run-envelope capture, retention controls, access controls, and completeness monitoring.
|
|
45
|
+
remediation: Emit structured run and outcome records automatically, minimizing retained source and prompt content.
|
|
46
|
+
- id: ADRB-OBS-004
|
|
47
|
+
level: 4
|
|
48
|
+
title: Agent outcomes are compared by task and risk class
|
|
49
|
+
outcome: Quality, escape rate, cycle time, cost, intervention, and rollback are used to tune autonomy.
|
|
50
|
+
risk: Token use or completion rate becomes a misleading proxy for engineering value and safety.
|
|
51
|
+
evidence:
|
|
52
|
+
- type: manual
|
|
53
|
+
prompt: Provide outcome trends segmented by task and risk class and one autonomy or harness decision they changed.
|
|
54
|
+
remediation: Evaluate outcome quality and total effort by task class; use results to narrow or expand autonomy.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
dimension: resilience
|
|
2
|
+
controls:
|
|
3
|
+
- id: ADRB-RES-001
|
|
4
|
+
level: 1
|
|
5
|
+
title: Changes have a recovery path
|
|
6
|
+
outcome: Contributors can locate rollback, revert, incident, or recovery guidance.
|
|
7
|
+
risk: A harmful agent change persists because recovery is improvised under pressure.
|
|
8
|
+
evidence:
|
|
9
|
+
- type: content_any
|
|
10
|
+
files: [README.md, CONTRIBUTING.md, docs/**, runbooks/**, .github/**]
|
|
11
|
+
needles: [rollback, revert, recovery, incident]
|
|
12
|
+
remediation: Document how to stop work, revert code, recover data, and escalate an incident.
|
|
13
|
+
- id: ADRB-RES-002
|
|
14
|
+
level: 2
|
|
15
|
+
title: Failure containment and stop conditions are documented
|
|
16
|
+
outcome: Tasks define isolation, mutation limits, time or cost budgets, stop triggers, and recovery owner.
|
|
17
|
+
risk: A looping or confused agent continues spending or mutating beyond the intended scope.
|
|
18
|
+
evidence:
|
|
19
|
+
- type: content_any
|
|
20
|
+
files: [AGENTS.md, SECURITY.md, docs/**, runbooks/**, .agentic/**]
|
|
21
|
+
needles: [stop condition, rollback, isolation, budget, kill switch, recovery owner]
|
|
22
|
+
remediation: Add bounded scope, budget, retry, stop, escalation, and recovery requirements to the task preflight.
|
|
23
|
+
- id: ADRB-RES-003
|
|
24
|
+
level: 3
|
|
25
|
+
title: Containment and recovery controls are tested
|
|
26
|
+
outcome: The organization tests cancellation, credential revocation, rollback, timeout, and partial-failure recovery.
|
|
27
|
+
risk: Recovery mechanisms exist on paper but fail when the harness behaves unexpectedly.
|
|
28
|
+
evidence:
|
|
29
|
+
- type: manual
|
|
30
|
+
prompt: Show recent automated tests or exercises for stop, timeout, revocation, rollback, and partial failure.
|
|
31
|
+
remediation: Add failure-injection tests and periodic exercises for containment and reversible recovery.
|
|
32
|
+
- id: ADRB-RES-004
|
|
33
|
+
level: 4
|
|
34
|
+
title: Recovery performance drives improvement
|
|
35
|
+
outcome: Time-to-detect, time-to-stop, rollback success, impact, and recurrence are measured.
|
|
36
|
+
risk: The same failure patterns repeat because recovery performance and residual impact are unknown.
|
|
37
|
+
evidence:
|
|
38
|
+
- type: manual
|
|
39
|
+
prompt: Provide recovery outcome trends and a recent containment or rollback improvement based on them.
|
|
40
|
+
remediation: Trend containment and recovery outcomes and feed them into autonomy and tool design.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
dimension: security
|
|
2
|
+
controls:
|
|
3
|
+
- id: ADRB-SEC-001
|
|
4
|
+
level: 1
|
|
5
|
+
title: Security reporting and secret handling are documented
|
|
6
|
+
outcome: Contributors can find security contacts and rules for credentials and sensitive data.
|
|
7
|
+
risk: Agents expose secrets or sensitive data and responders lack a defined reporting path.
|
|
8
|
+
evidence:
|
|
9
|
+
- type: path_any
|
|
10
|
+
patterns: [SECURITY.md, .github/SECURITY.md, '**/docs/security/**']
|
|
11
|
+
- type: content_any
|
|
12
|
+
files: [SECURITY.md, .github/SECURITY.md, '**/docs/security/**', AGENTS.md]
|
|
13
|
+
needles: [secret, credential, sensitive, vulnerability]
|
|
14
|
+
remediation: Publish a security policy covering reporting, secrets, sensitive data, and agent-specific risks.
|
|
15
|
+
- id: ADRB-SEC-002
|
|
16
|
+
level: 2
|
|
17
|
+
title: Agent data and autonomy boundaries are explicit
|
|
18
|
+
outcome: A preflight defines permitted data, tools, mutations, credentials, budgets, approvals, and stop conditions.
|
|
19
|
+
risk: Operators grant an agent more data or authority than the task requires.
|
|
20
|
+
evidence:
|
|
21
|
+
- type: content_any
|
|
22
|
+
files: [SECURITY.md, AGENTS.md, '**/docs/security/**', '**/docs/agentic/**', .agentic/**]
|
|
23
|
+
needles:
|
|
24
|
+
[
|
|
25
|
+
stop condition,
|
|
26
|
+
data classification,
|
|
27
|
+
allowed tools,
|
|
28
|
+
mutation,
|
|
29
|
+
budget,
|
|
30
|
+
human approval,
|
|
31
|
+
autonomy,
|
|
32
|
+
]
|
|
33
|
+
remediation: Add a task preflight that binds data, tools, write scope, budget, approvals, and stop conditions.
|
|
34
|
+
- id: ADRB-SEC-003
|
|
35
|
+
level: 3
|
|
36
|
+
title: Agent security controls are enforced
|
|
37
|
+
outcome: Sandboxing, secret scanning, untrusted-content handling, and high-impact approval are enforced and tested.
|
|
38
|
+
risk: Prompt injection or credential misuse can turn repository access into broader compromise.
|
|
39
|
+
evidence:
|
|
40
|
+
- type: content_any
|
|
41
|
+
files:
|
|
42
|
+
[.github/workflows/**, .gitlab-ci.yml, scripts/**, SECURITY.md, '**/docs/security/**']
|
|
43
|
+
needles:
|
|
44
|
+
[
|
|
45
|
+
secret scan,
|
|
46
|
+
gitleaks,
|
|
47
|
+
trufflehog,
|
|
48
|
+
sandbox,
|
|
49
|
+
prompt injection,
|
|
50
|
+
untrusted content,
|
|
51
|
+
approval gate,
|
|
52
|
+
]
|
|
53
|
+
- type: manual
|
|
54
|
+
prompt: Show that high-impact actions are technically gated and that untrusted instructions cannot expand tool authority.
|
|
55
|
+
remediation: Combine isolation, scoped credentials, secret scanning, content-boundary rules, and approval gates with tests.
|
|
56
|
+
- id: ADRB-SEC-004
|
|
57
|
+
level: 4
|
|
58
|
+
title: Agent security outcomes are measured and exercised
|
|
59
|
+
outcome: Security denials, near misses, incidents, exceptions, and adversarial exercises drive improvements.
|
|
60
|
+
risk: Controls appear complete but their effectiveness against real agent failure modes is unknown.
|
|
61
|
+
evidence:
|
|
62
|
+
- type: manual
|
|
63
|
+
prompt: Provide recent agent-security metrics or exercise results and the control changes they produced.
|
|
64
|
+
remediation: Run adversarial exercises and trend denials, exceptions, near misses, and incident recurrence.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
dimension: specification
|
|
2
|
+
controls:
|
|
3
|
+
- id: ADRB-SPC-001
|
|
4
|
+
level: 1
|
|
5
|
+
title: Work has an explicit objective
|
|
6
|
+
outcome: Engineering work starts from a recorded issue, request, or specification.
|
|
7
|
+
risk: Agents optimize an inferred problem and completion cannot be judged consistently.
|
|
8
|
+
evidence:
|
|
9
|
+
- type: path_any
|
|
10
|
+
patterns:
|
|
11
|
+
[.github/ISSUE_TEMPLATE/**, docs/requirements/**, specs/**, .ai/specs/**, .kiro/specs/**]
|
|
12
|
+
remediation: Adopt a lightweight work-request template with objective, owner, and expected outcome.
|
|
13
|
+
- id: ADRB-SPC-002
|
|
14
|
+
level: 2
|
|
15
|
+
title: Acceptance criteria and constraints are documented
|
|
16
|
+
outcome: Change requests state testable acceptance criteria, non-goals, and material constraints.
|
|
17
|
+
risk: Implementation appears plausible but cannot be traced to a shared definition of done.
|
|
18
|
+
evidence:
|
|
19
|
+
- type: content_any
|
|
20
|
+
files:
|
|
21
|
+
[.github/ISSUE_TEMPLATE/**, specs/**, .ai/specs/**, .kiro/specs/**, docs/requirements/**]
|
|
22
|
+
needles: [acceptance criteria, non-goals, constraints, requirements]
|
|
23
|
+
remediation: Extend the work template with testable outcomes, exclusions, constraints, and verification.
|
|
24
|
+
- id: ADRB-SPC-003
|
|
25
|
+
level: 3
|
|
26
|
+
title: Specification traceability is enforced
|
|
27
|
+
outcome: CI or review policy requires changes and tests to trace to approved acceptance criteria.
|
|
28
|
+
risk: Specifications become optional prose that neither implementation nor verification follows.
|
|
29
|
+
evidence:
|
|
30
|
+
- type: content_any
|
|
31
|
+
files: [.github/workflows/**, .github/pull_request_template.md, scripts/**, package.json]
|
|
32
|
+
needles: [acceptance criteria, traceability, spec check, requirements coverage, task id]
|
|
33
|
+
remediation: Gate applicable changes on a linked spec and acceptance-criteria verification record.
|
|
34
|
+
- id: ADRB-SPC-004
|
|
35
|
+
level: 4
|
|
36
|
+
title: Specification effectiveness is measured
|
|
37
|
+
outcome: The organization measures rework and escaped ambiguity attributable to specifications.
|
|
38
|
+
risk: Specification ceremony grows without improving delivery accuracy or reducing rework.
|
|
39
|
+
evidence:
|
|
40
|
+
- type: manual
|
|
41
|
+
prompt: Provide ambiguity or rework metrics by task class and an example of a template or process improvement.
|
|
42
|
+
remediation: Review rework causes and evolve specification templates using outcome data.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
dimension: testing
|
|
2
|
+
controls:
|
|
3
|
+
- id: ADRB-TST-001
|
|
4
|
+
level: 1
|
|
5
|
+
title: Automated tests exist
|
|
6
|
+
outcome: The repository contains executable tests for at least one important behavior.
|
|
7
|
+
risk: Agent changes rely on plausibility or manual inspection alone.
|
|
8
|
+
evidence:
|
|
9
|
+
- type: path_any
|
|
10
|
+
patterns: ['**/*.test.*', '**/*.spec.*', tests/**, test/**]
|
|
11
|
+
remediation: Add a fast automated test for a critical behavior and document how to run it.
|
|
12
|
+
- id: ADRB-TST-002
|
|
13
|
+
level: 2
|
|
14
|
+
title: Verification layers and canonical commands are documented
|
|
15
|
+
outcome: Contributors know which unit, integration, end-to-end, static, and security checks apply.
|
|
16
|
+
risk: Agents run a convenient subset and overstate confidence in the result.
|
|
17
|
+
evidence:
|
|
18
|
+
- type: content_any
|
|
19
|
+
files: [README.md, CONTRIBUTING.md, AGENTS.md, docs/**, package.json, Makefile]
|
|
20
|
+
needles: [unit test, integration test, end-to-end, e2e, typecheck, lint, test]
|
|
21
|
+
remediation: Define the test taxonomy and one canonical command that matches CI.
|
|
22
|
+
- id: ADRB-TST-003
|
|
23
|
+
level: 3
|
|
24
|
+
title: Required verification is enforced before merge
|
|
25
|
+
outcome: CI runs required checks from clean state and blocks merge when they fail.
|
|
26
|
+
risk: Documented checks become optional, flaky, or bypassed under delivery pressure.
|
|
27
|
+
evidence:
|
|
28
|
+
- type: content_any
|
|
29
|
+
files: [.github/workflows/**, .gitlab-ci.yml, Jenkinsfile, azure-pipelines.yml]
|
|
30
|
+
needles: [test, typecheck, lint, coverage, e2e]
|
|
31
|
+
- type: manual
|
|
32
|
+
prompt: Confirm required checks are branch-protection or merge-policy gates and provide the policy evidence.
|
|
33
|
+
remediation: Make appropriate tests and static checks required status gates with controlled exceptions.
|
|
34
|
+
- id: ADRB-TST-004
|
|
35
|
+
level: 4
|
|
36
|
+
title: Verification effectiveness is measured
|
|
37
|
+
outcome: Escaped defects, flakiness, mutation strength or equivalent outcome measures guide test investment.
|
|
38
|
+
risk: Test count and coverage rise while meaningful defects still escape.
|
|
39
|
+
evidence:
|
|
40
|
+
- type: manual
|
|
41
|
+
prompt: Provide verification outcome metrics by task class and a recent test-strategy improvement.
|
|
42
|
+
remediation: Trend escaped defects and signal quality, then target weak verification layers.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
dimension: tooling
|
|
2
|
+
controls:
|
|
3
|
+
- id: ADRB-TOL-001
|
|
4
|
+
level: 1
|
|
5
|
+
title: Agent tools are declared
|
|
6
|
+
outcome: The repository identifies supported agent interfaces or configuration.
|
|
7
|
+
risk: Agents discover tools opportunistically and may use unsupported or unsafe paths.
|
|
8
|
+
evidence:
|
|
9
|
+
- type: path_any
|
|
10
|
+
patterns:
|
|
11
|
+
[
|
|
12
|
+
.codex/**,
|
|
13
|
+
.claude/**,
|
|
14
|
+
.agents/**,
|
|
15
|
+
.cursor/**,
|
|
16
|
+
.github/copilot-instructions.md,
|
|
17
|
+
mcp.json,
|
|
18
|
+
.mcp.json,
|
|
19
|
+
]
|
|
20
|
+
remediation: Declare supported agent surfaces and their intended use in repository configuration.
|
|
21
|
+
- id: ADRB-TOL-002
|
|
22
|
+
level: 2
|
|
23
|
+
title: Tools have documented scope and failure behavior
|
|
24
|
+
outcome: Tool guidance covers authority, expected inputs, validation, and what to do when a tool fails.
|
|
25
|
+
risk: Agents bypass failed tools, widen scope, or mistake a partial response for success.
|
|
26
|
+
evidence:
|
|
27
|
+
- type: content_any
|
|
28
|
+
files: [AGENTS.md, CLAUDE.md, .agents/**, .claude/**, docs/**]
|
|
29
|
+
needles: [least privilege, permission, read-only, failure, fallback, approval, authority]
|
|
30
|
+
remediation: Document tool authority, data boundary, success signal, failure mode, and approved fallback.
|
|
31
|
+
- id: ADRB-TOL-003
|
|
32
|
+
level: 3
|
|
33
|
+
title: Tool authority is technically bounded and audited
|
|
34
|
+
outcome: High-impact tools enforce least privilege, authorization, structured validation, and audit records.
|
|
35
|
+
risk: Prompt instructions become the only barrier between an agent and an irreversible action.
|
|
36
|
+
evidence:
|
|
37
|
+
- type: manual
|
|
38
|
+
prompt: Show technical least-privilege controls, authorization tests, audit records, and fail-closed behavior for high-impact tools.
|
|
39
|
+
remediation: Enforce scoped credentials, explicit authorization, schema validation, audit logging, and deny-by-default behavior.
|
|
40
|
+
- id: ADRB-TOL-004
|
|
41
|
+
level: 4
|
|
42
|
+
title: Tool reliability is measured and improved
|
|
43
|
+
outcome: Tool success, partial failure, denial, latency, and unsafe-fallback attempts are trended.
|
|
44
|
+
risk: Tooling quality and risky workarounds remain anecdotal until an incident occurs.
|
|
45
|
+
evidence:
|
|
46
|
+
- type: manual
|
|
47
|
+
prompt: Provide tool reliability and denial metrics plus a recent improvement linked to those metrics.
|
|
48
|
+
remediation: Instrument tool outcomes and review reliability and fallback patterns by task and risk class.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agentic-readiness.dev/schema/v0.1/attestations.json",
|
|
4
|
+
"title": "ADRB v0.1 attestation file",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["benchmark_version", "attestations"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"benchmark_version": { "const": "0.1.0" },
|
|
10
|
+
"attestations": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"additionalProperties": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"additionalProperties": false,
|
|
15
|
+
"required": ["status", "evidence", "owner", "reviewed_at"],
|
|
16
|
+
"properties": {
|
|
17
|
+
"status": {
|
|
18
|
+
"enum": ["met", "not_met", "not_applicable", "unknown"]
|
|
19
|
+
},
|
|
20
|
+
"evidence": { "type": "string", "minLength": 1 },
|
|
21
|
+
"owner": { "type": "string", "minLength": 1 },
|
|
22
|
+
"reviewed_at": { "type": "string", "format": "date" },
|
|
23
|
+
"expires_at": { "type": ["string", "null"], "format": "date" }
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agentic-readiness.dev/schema/v0.1/report.json",
|
|
4
|
+
"title": "ADRB v0.1 assessment report",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schema_version",
|
|
8
|
+
"benchmark",
|
|
9
|
+
"target",
|
|
10
|
+
"assessed_at",
|
|
11
|
+
"score",
|
|
12
|
+
"evidence_summary",
|
|
13
|
+
"dimensions",
|
|
14
|
+
"controls",
|
|
15
|
+
"profiles",
|
|
16
|
+
"readiness",
|
|
17
|
+
"limitations"
|
|
18
|
+
],
|
|
19
|
+
"properties": {
|
|
20
|
+
"schema_version": { "const": "0.1.0" },
|
|
21
|
+
"benchmark": { "type": "object" },
|
|
22
|
+
"target": { "type": "object" },
|
|
23
|
+
"assessed_at": { "type": "string", "format": "date-time" },
|
|
24
|
+
"score": { "type": "object" },
|
|
25
|
+
"evidence_summary": { "type": "object" },
|
|
26
|
+
"dimensions": { "type": "array", "minItems": 10, "maxItems": 10 },
|
|
27
|
+
"controls": { "type": "array" },
|
|
28
|
+
"profiles": { "type": "array" },
|
|
29
|
+
"readiness": { "type": "object" },
|
|
30
|
+
"limitations": { "type": "array", "items": { "type": "string" } }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# v0.1 scoring policy
|
|
2
|
+
|
|
3
|
+
This document is normative for benchmark version 0.1.0.
|
|
4
|
+
|
|
5
|
+
## Unit of assessment
|
|
6
|
+
|
|
7
|
+
The unit is one repository plus the organizational controls explicitly attested for that repository.
|
|
8
|
+
The score describes the harness and operating boundaries at the assessment time. It does not score a
|
|
9
|
+
model, vendor, developer, team productivity, or code quality in general.
|
|
10
|
+
|
|
11
|
+
## Dimension scores
|
|
12
|
+
|
|
13
|
+
Each dimension has one or more controls at levels 1 through 4. A dimension earns level `n` only when:
|
|
14
|
+
|
|
15
|
+
1. every applicable control at level `n` is met; and
|
|
16
|
+
2. every lower level was earned.
|
|
17
|
+
|
|
18
|
+
This consecutive rule prevents a dashboard or advanced tool from masking missing fundamentals.
|
|
19
|
+
The overall score is the sum of ten dimension scores, with a maximum of 40. The percentage is
|
|
20
|
+
display-only and must not determine readiness.
|
|
21
|
+
|
|
22
|
+
## Readiness decisions
|
|
23
|
+
|
|
24
|
+
Each autonomy profile defines a floor for every dimension. A profile passes only if every floor is
|
|
25
|
+
met. Scores do not compensate across dimensions. For example, context level 4 cannot compensate for
|
|
26
|
+
security level 1 when a profile requires security level 2.
|
|
27
|
+
|
|
28
|
+
The highest passed profile is informative. Teams should target only the authority required for their
|
|
29
|
+
use case; a higher profile is not automatically better.
|
|
30
|
+
|
|
31
|
+
## Evidence classes
|
|
32
|
+
|
|
33
|
+
Deterministic collectors may award `verified` confidence when every required repository check passes.
|
|
34
|
+
Manual attestations may satisfy portable organizational controls or explain nonstandard evidence, but
|
|
35
|
+
the report labels them `attested`. Attestation never upgrades to verified confidence.
|
|
36
|
+
|
|
37
|
+
An attestation must include status, owner, review date, and a useful evidence reference. Expired
|
|
38
|
+
attestations are ignored. `not_applicable` is rejected unless a control explicitly permits it.
|
|
39
|
+
Core v0.1 controls do not permit not-applicable claims.
|
|
40
|
+
|
|
41
|
+
Collectors are intentionally evidence-presence tests. Reviewers must not infer implementation
|
|
42
|
+
quality, policy compliance, or branch settings merely from a file or word existing.
|
|
43
|
+
|
|
44
|
+
## Changes and comparability
|
|
45
|
+
|
|
46
|
+
Version 0.1.0 controls and floors are immutable after public release. Clarifications that do not alter
|
|
47
|
+
outcomes may be published as errata. Any addition, deletion, evidence-semantic change, or floor change
|
|
48
|
+
requires a new benchmark version through the RFC process.
|
|
49
|
+
|
|
50
|
+
Reports are comparable only when benchmark version, target profile, repository scope, attestation
|
|
51
|
+
policy, and assessment mode match. Longitudinal comparisons should also record material harness and
|
|
52
|
+
organizational changes.
|
|
53
|
+
|
|
54
|
+
## Claims
|
|
55
|
+
|
|
56
|
+
Allowed: “We self-assessed repository X against ADRB v0.1.0 and passed the PR-creation profile on
|
|
57
|
+
DATE; N controls were verified and M were attested.”
|
|
58
|
+
|
|
59
|
+
Not allowed: “Certified,” “compliant,” “safe,” or “secure” based only on this self-assessment.
|