agentic-scorecard 0.3.0 → 0.4.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 +68 -52
- package/README.md +50 -37
- package/benchmark/v0.4/adapter-contract.md +129 -0
- package/benchmark/v0.4/adapters/known-agent-harnesses.yaml +266 -0
- package/benchmark/v0.4/adapters/known-ci-providers.yaml +57 -0
- package/benchmark/v0.4/adapters/known-command-wrappers.yaml +37 -0
- package/benchmark/v0.4/adapters/known-environment-tooling.yaml +17 -0
- package/benchmark/v0.4/adapters/known-github-conventions.yaml +27 -0
- package/benchmark/v0.4/adapters/known-python-tooling.yaml +15 -0
- package/benchmark/v0.4/adapters/known-security-tools.yaml +45 -0
- package/benchmark/v0.4/adapters/known-verification-tools.yaml +65 -0
- package/benchmark/v0.4/agent-evidence-schema.json +74 -0
- package/benchmark/v0.4/attestation-schema.json +35 -0
- package/benchmark/v0.4/benchmark.yaml +127 -0
- package/benchmark/v0.4/calibration-matrix.md +60 -0
- package/benchmark/v0.4/controls/context.yaml +75 -0
- package/benchmark/v0.4/controls/environment.yaml +93 -0
- package/benchmark/v0.4/controls/governance.yaml +132 -0
- package/benchmark/v0.4/controls/learning.yaml +78 -0
- package/benchmark/v0.4/controls/observability.yaml +91 -0
- package/benchmark/v0.4/controls/resilience.yaml +170 -0
- package/benchmark/v0.4/controls/security.yaml +143 -0
- package/benchmark/v0.4/controls/specification.yaml +65 -0
- package/benchmark/v0.4/controls/testing.yaml +82 -0
- package/benchmark/v0.4/controls/tooling.yaml +69 -0
- package/benchmark/v0.4/report-schema.json +89 -0
- package/benchmark/v0.4/scoring-policy.md +175 -0
- package/dist/cli.js +2315 -162
- package/package.json +3 -2
- package/templates/agent-evidence.yaml +2 -2
- package/templates/attestations.yaml +3 -1
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
dimension: resilience
|
|
2
|
+
controls:
|
|
3
|
+
- id: ADRB-RES-001
|
|
4
|
+
level: 1
|
|
5
|
+
title: Changes have a documented recovery path
|
|
6
|
+
outcome: Contributors can locate actionable rollback, revert, recovery, or incident guidance.
|
|
7
|
+
risk: A harmful agent change persists because recovery is improvised under pressure.
|
|
8
|
+
allow_agent_evidence: true
|
|
9
|
+
agent_evidence_scopes: [repository]
|
|
10
|
+
evidence:
|
|
11
|
+
- type: content_terms
|
|
12
|
+
scope: repository
|
|
13
|
+
files:
|
|
14
|
+
[
|
|
15
|
+
README.md,
|
|
16
|
+
CONTRIBUTING.md,
|
|
17
|
+
AGENTS.md,
|
|
18
|
+
Agents.md,
|
|
19
|
+
agents.md,
|
|
20
|
+
.ai/AGENTS.md,
|
|
21
|
+
.ai/Agents.md,
|
|
22
|
+
.ai/constitution.md,
|
|
23
|
+
.ai/instructions/**/*.md,
|
|
24
|
+
.ai/rules/**/*.md,
|
|
25
|
+
.ai/skills/**/*.md,
|
|
26
|
+
.agents/**/*.md,
|
|
27
|
+
docs/recovery/**,
|
|
28
|
+
docs/operations/**,
|
|
29
|
+
docs/agentic/**,
|
|
30
|
+
runbooks/**,
|
|
31
|
+
]
|
|
32
|
+
terms: [rollback, revert, recovery, incident, restore]
|
|
33
|
+
min_terms: 2
|
|
34
|
+
required_any_terms: [change, deployment, release, agent, task, pull request]
|
|
35
|
+
max_span_lines: 100
|
|
36
|
+
max_files_per_pattern: 50
|
|
37
|
+
remediation: Document how to stop work, revert code, recover affected state, and escalate an incident.
|
|
38
|
+
- id: ADRB-RES-002
|
|
39
|
+
level: 2
|
|
40
|
+
title: Failure containment and stop conditions are documented
|
|
41
|
+
outcome: Agent guidance defines mutation limits, resource budgets, retry bounds, stop triggers, escalation, and recovery ownership.
|
|
42
|
+
risk: A looping or confused agent continues spending or mutating beyond the intended scope.
|
|
43
|
+
allow_agent_evidence: true
|
|
44
|
+
agent_evidence_scopes: [repository]
|
|
45
|
+
evidence:
|
|
46
|
+
- type: content_groups
|
|
47
|
+
scope: repository
|
|
48
|
+
files:
|
|
49
|
+
[
|
|
50
|
+
AGENTS.md,
|
|
51
|
+
Agents.md,
|
|
52
|
+
agents.md,
|
|
53
|
+
SECURITY.md,
|
|
54
|
+
.ai/AGENTS.md,
|
|
55
|
+
.ai/Agents.md,
|
|
56
|
+
.ai/constitution.md,
|
|
57
|
+
.ai/instructions/**/*.md,
|
|
58
|
+
.ai/rules/**/*.md,
|
|
59
|
+
.ai/skills/**/*.md,
|
|
60
|
+
.agents/**/*.md,
|
|
61
|
+
docs/agentic/**,
|
|
62
|
+
docs/recovery/**,
|
|
63
|
+
runbooks/**,
|
|
64
|
+
templates/**,
|
|
65
|
+
]
|
|
66
|
+
groups:
|
|
67
|
+
- id: mutation-scope
|
|
68
|
+
terms:
|
|
69
|
+
[
|
|
70
|
+
mutation limit,
|
|
71
|
+
allowed mutation,
|
|
72
|
+
allowed mutations,
|
|
73
|
+
allowed tools and mutations,
|
|
74
|
+
permitted mutation,
|
|
75
|
+
permitted mutations,
|
|
76
|
+
allowed path,
|
|
77
|
+
allowed paths,
|
|
78
|
+
allowed prefix,
|
|
79
|
+
allowed prefixes,
|
|
80
|
+
write scope,
|
|
81
|
+
out of scope,
|
|
82
|
+
outside scope,
|
|
83
|
+
edit only,
|
|
84
|
+
do not edit,
|
|
85
|
+
do not continue outside allowed paths,
|
|
86
|
+
do not continue outside the allowed paths,
|
|
87
|
+
]
|
|
88
|
+
- id: resource-bounds
|
|
89
|
+
terms:
|
|
90
|
+
[
|
|
91
|
+
resource budget,
|
|
92
|
+
token budget,
|
|
93
|
+
time budget,
|
|
94
|
+
cost budget,
|
|
95
|
+
tool call budget,
|
|
96
|
+
tool-call budget,
|
|
97
|
+
token limit,
|
|
98
|
+
time limit,
|
|
99
|
+
cost limit,
|
|
100
|
+
tool call limit,
|
|
101
|
+
tool-call limit,
|
|
102
|
+
wall clock limit,
|
|
103
|
+
wall-clock limit,
|
|
104
|
+
]
|
|
105
|
+
- id: retry-bounds
|
|
106
|
+
terms: [retry limit, retry budget, max retries, bounded retries, maximum attempts]
|
|
107
|
+
- id: stop-trigger
|
|
108
|
+
terms:
|
|
109
|
+
[
|
|
110
|
+
stop condition,
|
|
111
|
+
stop and ask,
|
|
112
|
+
stop and surface,
|
|
113
|
+
stop safely,
|
|
114
|
+
must stop,
|
|
115
|
+
halt work,
|
|
116
|
+
abort,
|
|
117
|
+
do not continue,
|
|
118
|
+
kill switch,
|
|
119
|
+
]
|
|
120
|
+
- id: escalation
|
|
121
|
+
terms:
|
|
122
|
+
[
|
|
123
|
+
escalation,
|
|
124
|
+
escalate,
|
|
125
|
+
ask the coordinator,
|
|
126
|
+
ask coordinator,
|
|
127
|
+
surface to coordinator,
|
|
128
|
+
hand back,
|
|
129
|
+
ask a human,
|
|
130
|
+
escalate to a human,
|
|
131
|
+
hand back to a human,
|
|
132
|
+
]
|
|
133
|
+
- id: recovery-ownership
|
|
134
|
+
terms:
|
|
135
|
+
[
|
|
136
|
+
recovery owner,
|
|
137
|
+
rollback owner,
|
|
138
|
+
incident owner,
|
|
139
|
+
responsible for recovery,
|
|
140
|
+
recovery responsibility,
|
|
141
|
+
on-call owner,
|
|
142
|
+
]
|
|
143
|
+
min_groups: 6
|
|
144
|
+
max_span_lines: 120
|
|
145
|
+
max_files_per_pattern: 50
|
|
146
|
+
remediation: Add bounded scope, budget, retry, stop, escalation, and recovery requirements to task preflight.
|
|
147
|
+
- id: ADRB-RES-003
|
|
148
|
+
level: 3
|
|
149
|
+
title: Containment and recovery controls are exercised
|
|
150
|
+
outcome: Cancellation, credential revocation, rollback, timeout, and partial-failure recovery are tested.
|
|
151
|
+
risk: Recovery mechanisms exist on paper but fail when the harness behaves unexpectedly.
|
|
152
|
+
allow_attestation: true
|
|
153
|
+
allow_agent_evidence: true
|
|
154
|
+
evidence:
|
|
155
|
+
- type: manual
|
|
156
|
+
scope: organization
|
|
157
|
+
prompt: Show recent automated tests or exercises for stop, timeout, revocation, rollback, and partial failure.
|
|
158
|
+
remediation: Add failure-injection tests and periodic exercises for containment and reversible recovery.
|
|
159
|
+
- id: ADRB-RES-004
|
|
160
|
+
level: 4
|
|
161
|
+
title: Recovery outcomes drive improvement
|
|
162
|
+
outcome: Time-to-detect, time-to-stop, rollback success, impact, and recurrence trends improve containment.
|
|
163
|
+
risk: The same failure patterns repeat because recovery performance and residual impact are unknown.
|
|
164
|
+
allow_attestation: true
|
|
165
|
+
allow_agent_evidence: true
|
|
166
|
+
evidence:
|
|
167
|
+
- type: manual
|
|
168
|
+
scope: outcome
|
|
169
|
+
prompt: Provide recovery outcome trends and a recent containment or rollback improvement driven by them.
|
|
170
|
+
remediation: Trend containment and recovery outcomes and feed them into autonomy and tool design.
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
dimension: security
|
|
2
|
+
controls:
|
|
3
|
+
- id: ADRB-SEC-001
|
|
4
|
+
level: 1
|
|
5
|
+
title: Agent secret and sensitive-data boundaries are documented
|
|
6
|
+
outcome: Contributors can find agent-specific rules for credentials, secrets, and sensitive data.
|
|
7
|
+
risk: Agents expose credentials or sensitive data while planning, changing, or reporting work.
|
|
8
|
+
allow_agent_evidence: true
|
|
9
|
+
agent_evidence_scopes: [repository]
|
|
10
|
+
evidence:
|
|
11
|
+
- type: content_terms
|
|
12
|
+
scope: repository
|
|
13
|
+
files:
|
|
14
|
+
[
|
|
15
|
+
SECURITY.md,
|
|
16
|
+
AGENTS.md,
|
|
17
|
+
Agents.md,
|
|
18
|
+
agents.md,
|
|
19
|
+
.ai/AGENTS.md,
|
|
20
|
+
.ai/Agents.md,
|
|
21
|
+
.ai/constitution.md,
|
|
22
|
+
.ai/instructions/**/*.md,
|
|
23
|
+
.ai/rules/**/*.md,
|
|
24
|
+
.ai/skills/**/*.md,
|
|
25
|
+
.agents/**/*.md,
|
|
26
|
+
docs/security/**,
|
|
27
|
+
docs/agentic/**,
|
|
28
|
+
]
|
|
29
|
+
terms: [secret, secrets, credential, credentials, sensitive data, personal data, PII]
|
|
30
|
+
min_terms: 2
|
|
31
|
+
max_span_lines: 80
|
|
32
|
+
max_files_per_pattern: 50
|
|
33
|
+
remediation: Document agent-specific rules for secrets, credentials, sensitive data, logs, prompts, and generated artifacts.
|
|
34
|
+
- id: ADRB-SEC-002
|
|
35
|
+
level: 2
|
|
36
|
+
title: Agent data and autonomy boundaries are explicit
|
|
37
|
+
outcome: Agent preflight guidance binds permitted data, tools, mutations, approvals, and stop conditions.
|
|
38
|
+
risk: Operators grant more data or authority than the task requires.
|
|
39
|
+
allow_agent_evidence: true
|
|
40
|
+
agent_evidence_scopes: [repository]
|
|
41
|
+
evidence:
|
|
42
|
+
- type: content_terms
|
|
43
|
+
scope: repository
|
|
44
|
+
files:
|
|
45
|
+
[
|
|
46
|
+
SECURITY.md,
|
|
47
|
+
AGENTS.md,
|
|
48
|
+
Agents.md,
|
|
49
|
+
agents.md,
|
|
50
|
+
.ai/AGENTS.md,
|
|
51
|
+
.ai/Agents.md,
|
|
52
|
+
.ai/constitution.md,
|
|
53
|
+
.ai/instructions/**/*.md,
|
|
54
|
+
.ai/rules/**/*.md,
|
|
55
|
+
.ai/skills/**/*.md,
|
|
56
|
+
.agents/**/*.md,
|
|
57
|
+
docs/security/**,
|
|
58
|
+
docs/agentic/**,
|
|
59
|
+
templates/**,
|
|
60
|
+
]
|
|
61
|
+
terms:
|
|
62
|
+
[
|
|
63
|
+
data classification,
|
|
64
|
+
allowed tools,
|
|
65
|
+
mutation,
|
|
66
|
+
budget,
|
|
67
|
+
human approval,
|
|
68
|
+
autonomy,
|
|
69
|
+
stop condition,
|
|
70
|
+
]
|
|
71
|
+
min_terms: 3
|
|
72
|
+
max_span_lines: 120
|
|
73
|
+
max_files_per_pattern: 50
|
|
74
|
+
remediation: Add a task preflight that binds data, tools, write scope, budget, approvals, and stop conditions.
|
|
75
|
+
- id: ADRB-SEC-006
|
|
76
|
+
level: 2
|
|
77
|
+
title: Security reporting and response are documented
|
|
78
|
+
outcome: Contributors can find a vulnerability-reporting or security-escalation path.
|
|
79
|
+
risk: Security concerns discovered during agent work lack an accountable response path.
|
|
80
|
+
allow_agent_evidence: true
|
|
81
|
+
agent_evidence_scopes: [repository]
|
|
82
|
+
evidence:
|
|
83
|
+
- type: content_terms
|
|
84
|
+
scope: repository
|
|
85
|
+
files: [SECURITY.md, docs/security/**, docs/contributing/**]
|
|
86
|
+
terms: [report, vulnerability, security contact, escalation, incident]
|
|
87
|
+
min_terms: 2
|
|
88
|
+
max_span_lines: 80
|
|
89
|
+
remediation: Publish a vulnerability-reporting and security-escalation path with response ownership.
|
|
90
|
+
- id: ADRB-SEC-003
|
|
91
|
+
level: 3
|
|
92
|
+
title: Automated secret-leakage safeguards are enforced
|
|
93
|
+
outcome: Repository or platform automation scans relevant changes for secrets before integration.
|
|
94
|
+
risk: Credentials can enter version history because secret safeguards are absent or merely documented.
|
|
95
|
+
allow_attestation: true
|
|
96
|
+
allow_agent_evidence: true
|
|
97
|
+
agent_evidence_scopes: [repository, platform]
|
|
98
|
+
evidence_mode: any
|
|
99
|
+
evidence:
|
|
100
|
+
- type: ci_command
|
|
101
|
+
scope: repository
|
|
102
|
+
min_tools: 1
|
|
103
|
+
- type: manual
|
|
104
|
+
scope: platform
|
|
105
|
+
prompt: Show that host-native secret scanning or push protection covers the assessed repository and relevant branches, including current status and controlled exceptions.
|
|
106
|
+
remediation: Run a secret-leakage safeguard in applicable CI or enable equivalent protected platform scanning with reviewable evidence.
|
|
107
|
+
- id: ADRB-SEC-007
|
|
108
|
+
level: 3
|
|
109
|
+
title: Untrusted agent-input safeguards are enforced
|
|
110
|
+
outcome: The harness bounds untrusted content and prompt-borne instructions with enforced isolation, validation, or tested handling.
|
|
111
|
+
risk: Repository, issue, tool, or retrieved content can redirect an agent beyond the authorized task and authority.
|
|
112
|
+
allow_attestation: true
|
|
113
|
+
allow_agent_evidence: true
|
|
114
|
+
agent_evidence_scopes: [repository, platform, organization]
|
|
115
|
+
evidence:
|
|
116
|
+
- type: manual
|
|
117
|
+
scope: organization
|
|
118
|
+
prompt: Show the untrusted-input boundaries and recent mechanical tests or enforcement evidence for prompt injection, sandbox escape, or unauthorized tool instructions.
|
|
119
|
+
remediation: Define untrusted-input boundaries and enforce them with sandboxing, validation, allowlists, or adversarial tests appropriate to the harness.
|
|
120
|
+
- id: ADRB-SEC-005
|
|
121
|
+
level: 3
|
|
122
|
+
title: High-impact agent actions are technically gated
|
|
123
|
+
outcome: External authority controls prevent unapproved high-impact actions and record controlled exceptions.
|
|
124
|
+
risk: Repository instructions alone cannot prevent credential misuse or irreversible external actions.
|
|
125
|
+
allow_attestation: true
|
|
126
|
+
allow_agent_evidence: true
|
|
127
|
+
evidence:
|
|
128
|
+
- type: manual
|
|
129
|
+
scope: platform
|
|
130
|
+
prompt: Show authorization gates, scoped credentials, approval enforcement, audit records, and controlled bypasses for high-impact agent actions.
|
|
131
|
+
remediation: Enforce least-privileged credentials, approval gates, auditability, and restricted exception handling.
|
|
132
|
+
- id: ADRB-SEC-004
|
|
133
|
+
level: 4
|
|
134
|
+
title: Agent security outcomes drive improvement
|
|
135
|
+
outcome: Denials, near misses, incidents, exceptions, and adversarial exercises are trended and improve controls.
|
|
136
|
+
risk: Controls appear complete while effectiveness against real failure modes remains unknown.
|
|
137
|
+
allow_attestation: true
|
|
138
|
+
allow_agent_evidence: true
|
|
139
|
+
evidence:
|
|
140
|
+
- type: manual
|
|
141
|
+
scope: outcome
|
|
142
|
+
prompt: Provide agent-security outcome trends or exercise results and a recent control change driven by them.
|
|
143
|
+
remediation: Run adversarial exercises, trend security outcomes, and update boundaries from the results.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
dimension: specification
|
|
2
|
+
controls:
|
|
3
|
+
- id: ADRB-SPC-001
|
|
4
|
+
level: 1
|
|
5
|
+
title: Work has a durable objective
|
|
6
|
+
outcome: Engineering work starts from a tracked issue, request, or specification artifact.
|
|
7
|
+
risk: Agents optimize an inferred problem and completion cannot be judged consistently.
|
|
8
|
+
evidence:
|
|
9
|
+
- type: path_any
|
|
10
|
+
scope: repository
|
|
11
|
+
patterns: [docs/requirements/**, docs/spec*.md, docs/specs/**, specs/**, .ai/specs/**]
|
|
12
|
+
remediation: Adopt a tracked work-request or specification template with objective, owner, and outcome.
|
|
13
|
+
- id: ADRB-SPC-002
|
|
14
|
+
level: 2
|
|
15
|
+
title: Acceptance criteria and constraints are documented
|
|
16
|
+
outcome: Work artifacts state testable acceptance criteria plus material constraints or exclusions.
|
|
17
|
+
risk: An implementation can appear plausible without satisfying a shared definition of done.
|
|
18
|
+
allow_agent_evidence: true
|
|
19
|
+
agent_evidence_scopes: [repository]
|
|
20
|
+
evidence:
|
|
21
|
+
- type: content_terms
|
|
22
|
+
scope: repository
|
|
23
|
+
files: [docs/requirements/**, docs/spec*.md, docs/specs/**, specs/**, .ai/specs/**]
|
|
24
|
+
terms: [acceptance criteria, requirements, constraints, non-goals, verification]
|
|
25
|
+
min_terms: 2
|
|
26
|
+
max_span_lines: 160
|
|
27
|
+
remediation: Add testable outcomes, constraints, exclusions, and verification expectations to work artifacts.
|
|
28
|
+
- id: ADRB-SPC-003
|
|
29
|
+
level: 3
|
|
30
|
+
title: Specification traceability is mechanically checked
|
|
31
|
+
outcome: Automation checks that applicable changes and verification trace to an approved work artifact.
|
|
32
|
+
risk: Specifications become optional prose disconnected from implementation and tests.
|
|
33
|
+
allow_agent_evidence: true
|
|
34
|
+
agent_evidence_scopes: [repository]
|
|
35
|
+
evidence:
|
|
36
|
+
- type: ci_command
|
|
37
|
+
scope: repository
|
|
38
|
+
providers: []
|
|
39
|
+
tools: []
|
|
40
|
+
min_tools: 1
|
|
41
|
+
remediation: Add a deterministic traceability check from change to work artifact and verification record.
|
|
42
|
+
- id: ADRB-SPC-005
|
|
43
|
+
level: 3
|
|
44
|
+
title: Specification traceability is required before merge
|
|
45
|
+
outcome: Repository merge policy requires the applicable traceability check or equivalent review evidence.
|
|
46
|
+
risk: A configured check can be skipped or bypassed when delivery pressure rises.
|
|
47
|
+
allow_attestation: true
|
|
48
|
+
allow_agent_evidence: true
|
|
49
|
+
evidence:
|
|
50
|
+
- type: manual
|
|
51
|
+
scope: platform
|
|
52
|
+
prompt: Show that the traceability check or equivalent review requirement is an enforced merge gate with controlled exceptions.
|
|
53
|
+
remediation: Require the traceability check in merge policy and restrict, record, and review bypasses.
|
|
54
|
+
- id: ADRB-SPC-004
|
|
55
|
+
level: 4
|
|
56
|
+
title: Specification effectiveness drives improvement
|
|
57
|
+
outcome: Rework and escaped ambiguity attributable to specifications are trended and improve the process.
|
|
58
|
+
risk: Specification ceremony grows without reducing misunderstanding or rework.
|
|
59
|
+
allow_attestation: true
|
|
60
|
+
allow_agent_evidence: true
|
|
61
|
+
evidence:
|
|
62
|
+
- type: manual
|
|
63
|
+
scope: outcome
|
|
64
|
+
prompt: Provide specification-related rework or ambiguity trends and a recent process change driven by them.
|
|
65
|
+
remediation: Classify rework causes and evolve specification practices using outcome evidence.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
dimension: testing
|
|
2
|
+
controls:
|
|
3
|
+
- id: ADRB-TST-001
|
|
4
|
+
level: 1
|
|
5
|
+
title: Automated tests exist
|
|
6
|
+
outcome: The tracked 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
|
+
scope: repository
|
|
11
|
+
patterns: ['**/*.test.*', '**/*.spec.*', tests/**, test/**]
|
|
12
|
+
remediation: Add a fast automated test for a critical behavior and document how to run it.
|
|
13
|
+
- id: ADRB-TST-002
|
|
14
|
+
level: 2
|
|
15
|
+
title: Verification layers and canonical commands are documented
|
|
16
|
+
outcome: Contributors can identify applicable test layers and the canonical verification path.
|
|
17
|
+
risk: Agents run a convenient subset and overstate confidence in the result.
|
|
18
|
+
allow_agent_evidence: true
|
|
19
|
+
agent_evidence_scopes: [repository]
|
|
20
|
+
evidence:
|
|
21
|
+
- type: content_terms
|
|
22
|
+
scope: repository
|
|
23
|
+
files:
|
|
24
|
+
[
|
|
25
|
+
README.md,
|
|
26
|
+
CONTRIBUTING.md,
|
|
27
|
+
AGENTS.md,
|
|
28
|
+
Agents.md,
|
|
29
|
+
agents.md,
|
|
30
|
+
.ai/AGENTS.md,
|
|
31
|
+
.ai/Agents.md,
|
|
32
|
+
.ai/constitution.md,
|
|
33
|
+
.ai/instructions/**/*.md,
|
|
34
|
+
.ai/rules/**/*.md,
|
|
35
|
+
.ai/skills/**/*.md,
|
|
36
|
+
.agents/**/*.md,
|
|
37
|
+
docs/testing/**,
|
|
38
|
+
package.json,
|
|
39
|
+
Makefile,
|
|
40
|
+
]
|
|
41
|
+
terms: [unit test, integration test, end-to-end, e2e, typecheck, lint, test]
|
|
42
|
+
min_terms: 2
|
|
43
|
+
required_any_terms: [verify, verification, test, check, CI]
|
|
44
|
+
max_span_lines: 120
|
|
45
|
+
max_files_per_pattern: 50
|
|
46
|
+
remediation: Define the test taxonomy and one canonical command that matches CI.
|
|
47
|
+
- id: ADRB-TST-003
|
|
48
|
+
level: 3
|
|
49
|
+
title: CI executes the required verification layers
|
|
50
|
+
outcome: Repository automation runs appropriate tests and static checks from a clean state.
|
|
51
|
+
risk: Documented verification can be omitted from automation or run in an unrepresentative environment.
|
|
52
|
+
allow_agent_evidence: true
|
|
53
|
+
agent_evidence_scopes: [repository]
|
|
54
|
+
evidence:
|
|
55
|
+
- type: ci_command
|
|
56
|
+
scope: repository
|
|
57
|
+
min_tools: 2
|
|
58
|
+
remediation: Configure CI to run the applicable verification layers from a clean environment.
|
|
59
|
+
- id: ADRB-TST-005
|
|
60
|
+
level: 3
|
|
61
|
+
title: Verification is enforced before merge
|
|
62
|
+
outcome: Merge policy requires the applicable CI checks and restricts bypasses.
|
|
63
|
+
risk: Healthy CI configuration remains optional under delivery pressure.
|
|
64
|
+
allow_attestation: true
|
|
65
|
+
allow_agent_evidence: true
|
|
66
|
+
evidence:
|
|
67
|
+
- type: manual
|
|
68
|
+
scope: platform
|
|
69
|
+
prompt: Show required status checks or equivalent merge gates, covered branches, bypass actors, and exception controls.
|
|
70
|
+
remediation: Make appropriate CI checks required merge gates and restrict, record, and review bypasses.
|
|
71
|
+
- id: ADRB-TST-004
|
|
72
|
+
level: 4
|
|
73
|
+
title: Verification effectiveness drives improvement
|
|
74
|
+
outcome: Escaped defects, flakiness, and other signal-quality outcomes are trended and improve testing.
|
|
75
|
+
risk: Test count and coverage rise while meaningful defects still escape.
|
|
76
|
+
allow_attestation: true
|
|
77
|
+
allow_agent_evidence: true
|
|
78
|
+
evidence:
|
|
79
|
+
- type: manual
|
|
80
|
+
scope: outcome
|
|
81
|
+
prompt: Provide verification outcome trends by task class and a recent test-strategy improvement driven by them.
|
|
82
|
+
remediation: Trend escaped defects and signal quality, then invest in the weakest verification layers.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
dimension: tooling
|
|
2
|
+
controls:
|
|
3
|
+
- id: ADRB-TOL-001
|
|
4
|
+
level: 1
|
|
5
|
+
title: Supported agent tools are declared
|
|
6
|
+
outcome: The tracked repository identifies supported agent interfaces or tool configuration.
|
|
7
|
+
risk: Agents discover tools opportunistically and use unsupported or unsafe paths.
|
|
8
|
+
allow_agent_evidence: true
|
|
9
|
+
agent_evidence_scopes: [repository]
|
|
10
|
+
evidence:
|
|
11
|
+
- type: path_any
|
|
12
|
+
scope: repository
|
|
13
|
+
patterns: [.ai/agentic.config.*, .ai/skills/**, .agents/**, mcp.json, .mcp.json]
|
|
14
|
+
remediation: Commit a non-empty declaration of supported agent surfaces and their intended use.
|
|
15
|
+
- id: ADRB-TOL-002
|
|
16
|
+
level: 2
|
|
17
|
+
title: Tool scope and failure behavior are documented
|
|
18
|
+
outcome: Tool guidance defines authority, validation, success signals, failure handling, and approved fallback.
|
|
19
|
+
risk: Agents bypass failures, widen scope, or mistake partial results for success.
|
|
20
|
+
allow_agent_evidence: true
|
|
21
|
+
agent_evidence_scopes: [repository]
|
|
22
|
+
evidence:
|
|
23
|
+
- type: content_terms
|
|
24
|
+
scope: repository
|
|
25
|
+
files:
|
|
26
|
+
[
|
|
27
|
+
AGENTS.md,
|
|
28
|
+
Agents.md,
|
|
29
|
+
agents.md,
|
|
30
|
+
.ai/AGENTS.md,
|
|
31
|
+
.ai/Agents.md,
|
|
32
|
+
.ai/agentic*.md,
|
|
33
|
+
.ai/instructions/**/*.md,
|
|
34
|
+
.ai/rules/**/*.md,
|
|
35
|
+
.ai/skills/**/*.md,
|
|
36
|
+
.agents/**/*.md,
|
|
37
|
+
docs/agentic/**,
|
|
38
|
+
docs/tools/**,
|
|
39
|
+
]
|
|
40
|
+
terms: [authority, permission, read-only, validation, failure, fallback, approval]
|
|
41
|
+
min_terms: 3
|
|
42
|
+
required_any_terms: [tool, MCP, connector, skill, command, agent]
|
|
43
|
+
max_span_lines: 120
|
|
44
|
+
max_files_per_pattern: 50
|
|
45
|
+
remediation: Document each high-impact tool's authority, inputs, validation, failure mode, and fallback.
|
|
46
|
+
- id: ADRB-TOL-003
|
|
47
|
+
level: 3
|
|
48
|
+
title: High-impact tool authority is technically bounded and audited
|
|
49
|
+
outcome: High-impact tools enforce least privilege, authorization, structured validation, and audit records.
|
|
50
|
+
risk: Prompt instructions become the only barrier between an agent and an irreversible action.
|
|
51
|
+
allow_attestation: true
|
|
52
|
+
allow_agent_evidence: true
|
|
53
|
+
evidence:
|
|
54
|
+
- type: manual
|
|
55
|
+
scope: platform
|
|
56
|
+
prompt: Show technical least-privilege enforcement, authorization tests, validation, audit records, and fail-closed behavior for high-impact tools.
|
|
57
|
+
remediation: Enforce scoped credentials, authorization, schema validation, audit logging, and deny-by-default behavior.
|
|
58
|
+
- id: ADRB-TOL-004
|
|
59
|
+
level: 4
|
|
60
|
+
title: Tool reliability drives improvement
|
|
61
|
+
outcome: Tool success, partial failure, denial, latency, and unsafe-fallback attempts are trended and improved.
|
|
62
|
+
risk: Tooling quality and risky workarounds remain anecdotal until an incident occurs.
|
|
63
|
+
allow_attestation: true
|
|
64
|
+
allow_agent_evidence: true
|
|
65
|
+
evidence:
|
|
66
|
+
- type: manual
|
|
67
|
+
scope: outcome
|
|
68
|
+
prompt: Provide tool reliability trends and a recent tool or fallback improvement driven by them.
|
|
69
|
+
remediation: Trend tool outcomes by task and risk class and improve weak or bypassed interfaces.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agentic-readiness.dev/schema/v0.4/report.json",
|
|
4
|
+
"title": "ADRB v0.4 assessment report",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schema_version",
|
|
8
|
+
"benchmark",
|
|
9
|
+
"target",
|
|
10
|
+
"assessed_at",
|
|
11
|
+
"warnings",
|
|
12
|
+
"score",
|
|
13
|
+
"evidence_summary",
|
|
14
|
+
"dimensions",
|
|
15
|
+
"controls",
|
|
16
|
+
"profiles",
|
|
17
|
+
"readiness",
|
|
18
|
+
"limitations"
|
|
19
|
+
],
|
|
20
|
+
"properties": {
|
|
21
|
+
"schema_version": { "const": "0.4.0" },
|
|
22
|
+
"benchmark": {
|
|
23
|
+
"type": "object",
|
|
24
|
+
"required": ["id", "version"],
|
|
25
|
+
"properties": { "version": { "const": "0.4.0" } }
|
|
26
|
+
},
|
|
27
|
+
"target": {
|
|
28
|
+
"type": "object",
|
|
29
|
+
"required": [
|
|
30
|
+
"repository",
|
|
31
|
+
"profile",
|
|
32
|
+
"scope",
|
|
33
|
+
"git_head",
|
|
34
|
+
"git_remote",
|
|
35
|
+
"working_tree_dirty"
|
|
36
|
+
],
|
|
37
|
+
"properties": { "scope": { "enum": ["tracked", "workspace"] } }
|
|
38
|
+
},
|
|
39
|
+
"assessed_at": { "type": "string", "format": "date-time" },
|
|
40
|
+
"warnings": { "type": "array", "items": { "type": "string" } },
|
|
41
|
+
"score": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"additionalProperties": false,
|
|
44
|
+
"required": ["total", "maximum", "percentage", "repository"],
|
|
45
|
+
"properties": {
|
|
46
|
+
"total": { "type": "integer", "minimum": 0, "maximum": 40 },
|
|
47
|
+
"maximum": { "const": 40 },
|
|
48
|
+
"percentage": { "type": "integer", "minimum": 0, "maximum": 100 },
|
|
49
|
+
"repository": {
|
|
50
|
+
"type": "object",
|
|
51
|
+
"additionalProperties": false,
|
|
52
|
+
"required": ["achieved", "ceiling", "percentage"],
|
|
53
|
+
"properties": {
|
|
54
|
+
"achieved": { "type": "integer", "minimum": 0, "maximum": 40 },
|
|
55
|
+
"ceiling": { "type": "integer", "minimum": 0, "maximum": 40 },
|
|
56
|
+
"percentage": { "type": "integer", "minimum": 0, "maximum": 100 }
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"evidence_summary": {
|
|
62
|
+
"type": "object",
|
|
63
|
+
"additionalProperties": false,
|
|
64
|
+
"required": [
|
|
65
|
+
"repository_detected",
|
|
66
|
+
"agent_collected",
|
|
67
|
+
"attested",
|
|
68
|
+
"unmet",
|
|
69
|
+
"unknown",
|
|
70
|
+
"resolved",
|
|
71
|
+
"total"
|
|
72
|
+
],
|
|
73
|
+
"properties": {
|
|
74
|
+
"repository_detected": { "type": "integer", "minimum": 0 },
|
|
75
|
+
"agent_collected": { "type": "integer", "minimum": 0 },
|
|
76
|
+
"attested": { "type": "integer", "minimum": 0 },
|
|
77
|
+
"unmet": { "type": "integer", "minimum": 0 },
|
|
78
|
+
"unknown": { "type": "integer", "minimum": 0 },
|
|
79
|
+
"resolved": { "type": "integer", "minimum": 0 },
|
|
80
|
+
"total": { "type": "integer", "minimum": 0 }
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"dimensions": { "type": "array", "minItems": 10, "maxItems": 10 },
|
|
84
|
+
"controls": { "type": "array" },
|
|
85
|
+
"profiles": { "type": "array" },
|
|
86
|
+
"readiness": { "type": "object" },
|
|
87
|
+
"limitations": { "type": "array", "items": { "type": "string" } }
|
|
88
|
+
}
|
|
89
|
+
}
|