agentic-scorecard 0.1.0 → 0.3.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.
Files changed (43) hide show
  1. package/AGENT_PROMPT.md +68 -34
  2. package/FEEDBACK.md +53 -0
  3. package/README.md +120 -39
  4. package/benchmark/v0.2/adapter-contract.md +25 -0
  5. package/benchmark/v0.2/agent-evidence-schema.json +52 -0
  6. package/benchmark/v0.2/attestation-schema.json +26 -0
  7. package/benchmark/v0.2/benchmark.yaml +127 -0
  8. package/benchmark/v0.2/controls/context.yaml +51 -0
  9. package/benchmark/v0.2/controls/environment.yaml +70 -0
  10. package/benchmark/v0.2/controls/governance.yaml +60 -0
  11. package/benchmark/v0.2/controls/learning.yaml +48 -0
  12. package/benchmark/v0.2/controls/observability.yaml +76 -0
  13. package/benchmark/v0.2/controls/resilience.yaml +60 -0
  14. package/benchmark/v0.2/controls/security.yaml +71 -0
  15. package/benchmark/v0.2/controls/specification.yaml +62 -0
  16. package/benchmark/v0.2/controls/testing.yaml +60 -0
  17. package/benchmark/v0.2/controls/tooling.yaml +58 -0
  18. package/benchmark/v0.2/report-schema.json +47 -0
  19. package/benchmark/v0.2/scoring-policy.md +71 -0
  20. package/benchmark/v0.3/adapter-contract.md +44 -0
  21. package/benchmark/v0.3/adapters/known-agent-harnesses.yaml +177 -0
  22. package/benchmark/v0.3/adapters/known-python-tooling.yaml +18 -0
  23. package/benchmark/v0.3/adapters/known-security-tools.yaml +6 -0
  24. package/benchmark/v0.3/agent-evidence-schema.json +67 -0
  25. package/benchmark/v0.3/attestation-schema.json +26 -0
  26. package/benchmark/v0.3/benchmark.yaml +127 -0
  27. package/benchmark/v0.3/controls/context.yaml +79 -0
  28. package/benchmark/v0.3/controls/environment.yaml +93 -0
  29. package/benchmark/v0.3/controls/governance.yaml +97 -0
  30. package/benchmark/v0.3/controls/learning.yaml +80 -0
  31. package/benchmark/v0.3/controls/observability.yaml +91 -0
  32. package/benchmark/v0.3/controls/resilience.yaml +107 -0
  33. package/benchmark/v0.3/controls/security.yaml +129 -0
  34. package/benchmark/v0.3/controls/specification.yaml +83 -0
  35. package/benchmark/v0.3/controls/testing.yaml +85 -0
  36. package/benchmark/v0.3/controls/tooling.yaml +69 -0
  37. package/benchmark/v0.3/report-schema.json +89 -0
  38. package/benchmark/v0.3/scoring-policy.md +100 -0
  39. package/dist/cli.js +1043 -111
  40. package/package.json +5 -3
  41. package/templates/agent-evidence.yaml +11 -0
  42. package/templates/attestations.yaml +4 -4
  43. package/templates/baseline.csv +1 -1
@@ -0,0 +1,129 @@
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
+ .github/SECURITY.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/security/**,
28
+ docs/agentic/**,
29
+ ]
30
+ terms: [secret, secrets, credential, credentials, sensitive data, personal data, PII]
31
+ min_terms: 2
32
+ max_span_lines: 80
33
+ max_files_per_pattern: 50
34
+ remediation: Document agent-specific rules for secrets, credentials, sensitive data, logs, prompts, and generated artifacts.
35
+ - id: ADRB-SEC-002
36
+ level: 2
37
+ title: Agent data and autonomy boundaries are explicit
38
+ outcome: Agent preflight guidance binds permitted data, tools, mutations, approvals, and stop conditions.
39
+ risk: Operators grant more data or authority than the task requires.
40
+ allow_agent_evidence: true
41
+ agent_evidence_scopes: [repository]
42
+ evidence:
43
+ - type: content_terms
44
+ scope: repository
45
+ files:
46
+ [
47
+ SECURITY.md,
48
+ AGENTS.md,
49
+ Agents.md,
50
+ agents.md,
51
+ .ai/AGENTS.md,
52
+ .ai/Agents.md,
53
+ .ai/constitution.md,
54
+ .ai/instructions/**/*.md,
55
+ .ai/rules/**/*.md,
56
+ .ai/skills/**/*.md,
57
+ .agents/**/*.md,
58
+ docs/security/**,
59
+ docs/agentic/**,
60
+ templates/**,
61
+ ]
62
+ terms:
63
+ [
64
+ data classification,
65
+ allowed tools,
66
+ mutation,
67
+ budget,
68
+ human approval,
69
+ autonomy,
70
+ stop condition,
71
+ ]
72
+ min_terms: 3
73
+ max_span_lines: 120
74
+ max_files_per_pattern: 50
75
+ remediation: Add a task preflight that binds data, tools, write scope, budget, approvals, and stop conditions.
76
+ - id: ADRB-SEC-006
77
+ level: 2
78
+ title: Security reporting and response are documented
79
+ outcome: Contributors can find a vulnerability-reporting or security-escalation path.
80
+ risk: Security concerns discovered during agent work lack an accountable response path.
81
+ allow_agent_evidence: true
82
+ agent_evidence_scopes: [repository]
83
+ evidence:
84
+ - type: content_terms
85
+ scope: repository
86
+ files: [SECURITY.md, .github/SECURITY.md, docs/security/**, docs/contributing/**]
87
+ terms: [report, vulnerability, security contact, escalation, incident]
88
+ min_terms: 2
89
+ max_span_lines: 80
90
+ remediation: Publish a vulnerability-reporting and security-escalation path with response ownership.
91
+ - id: ADRB-SEC-003
92
+ level: 3
93
+ title: Automated agent security safeguards are configured
94
+ outcome: Repository automation checks secrets and defines handling for untrusted agent input.
95
+ risk: Credential exposure or prompt-borne instructions can pass through an otherwise healthy pipeline.
96
+ allow_agent_evidence: true
97
+ agent_evidence_scopes: [repository]
98
+ evidence:
99
+ - type: content_terms
100
+ scope: repository
101
+ files: [.github/workflows/**, .gitlab-ci.yml, scripts/**, SECURITY.md, docs/security/**]
102
+ terms: [secret scan, prompt injection, untrusted content, sandbox]
103
+ min_terms: 2
104
+ max_span_lines: 120
105
+ remediation: Configure secret scanning and explicit untrusted-content or prompt-injection safeguards with tests.
106
+ - id: ADRB-SEC-005
107
+ level: 3
108
+ title: High-impact agent actions are technically gated
109
+ outcome: External authority controls prevent unapproved high-impact actions and record controlled exceptions.
110
+ risk: Repository instructions alone cannot prevent credential misuse or irreversible external actions.
111
+ allow_attestation: true
112
+ allow_agent_evidence: true
113
+ evidence:
114
+ - type: manual
115
+ scope: platform
116
+ prompt: Show authorization gates, scoped credentials, approval enforcement, audit records, and controlled bypasses for high-impact agent actions.
117
+ remediation: Enforce least-privileged credentials, approval gates, auditability, and restricted exception handling.
118
+ - id: ADRB-SEC-004
119
+ level: 4
120
+ title: Agent security outcomes drive improvement
121
+ outcome: Denials, near misses, incidents, exceptions, and adversarial exercises are trended and improve controls.
122
+ risk: Controls appear complete while effectiveness against real failure modes remains unknown.
123
+ allow_attestation: true
124
+ allow_agent_evidence: true
125
+ evidence:
126
+ - type: manual
127
+ scope: outcome
128
+ prompt: Provide agent-security outcome trends or exercise results and a recent control change driven by them.
129
+ remediation: Run adversarial exercises, trend security outcomes, and update boundaries from the results.
@@ -0,0 +1,83 @@
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:
12
+ [
13
+ .github/ISSUE_TEMPLATE/**,
14
+ docs/requirements/**,
15
+ docs/spec*.md,
16
+ docs/specs/**,
17
+ specs/**,
18
+ .ai/specs/**,
19
+ ]
20
+ remediation: Adopt a tracked work-request or specification template with objective, owner, and outcome.
21
+ - id: ADRB-SPC-002
22
+ level: 2
23
+ title: Acceptance criteria and constraints are documented
24
+ outcome: Work artifacts state testable acceptance criteria plus material constraints or exclusions.
25
+ risk: An implementation can appear plausible without satisfying a shared definition of done.
26
+ allow_agent_evidence: true
27
+ agent_evidence_scopes: [repository]
28
+ evidence:
29
+ - type: content_terms
30
+ scope: repository
31
+ files:
32
+ [
33
+ .github/ISSUE_TEMPLATE/**,
34
+ docs/requirements/**,
35
+ docs/spec*.md,
36
+ docs/specs/**,
37
+ specs/**,
38
+ .ai/specs/**,
39
+ ]
40
+ terms: [acceptance criteria, requirements, constraints, non-goals, verification]
41
+ min_terms: 2
42
+ max_span_lines: 160
43
+ remediation: Add testable outcomes, constraints, exclusions, and verification expectations to work artifacts.
44
+ - id: ADRB-SPC-003
45
+ level: 3
46
+ title: Specification traceability is mechanically checked
47
+ outcome: Automation checks that applicable changes and verification trace to an approved work artifact.
48
+ risk: Specifications become optional prose disconnected from implementation and tests.
49
+ allow_agent_evidence: true
50
+ agent_evidence_scopes: [repository]
51
+ evidence:
52
+ - type: content_terms
53
+ scope: repository
54
+ files: [.github/workflows/**, scripts/**, package.json, Makefile]
55
+ terms: [acceptance criteria, traceability, requirements coverage, spec check, task id]
56
+ min_terms: 2
57
+ required_any_terms: [traceability, requirements coverage, spec check, task id]
58
+ max_span_lines: 40
59
+ remediation: Add a deterministic traceability check from change to work artifact and verification record.
60
+ - id: ADRB-SPC-005
61
+ level: 3
62
+ title: Specification traceability is required before merge
63
+ outcome: Repository merge policy requires the applicable traceability check or equivalent review evidence.
64
+ risk: A configured check can be skipped or bypassed when delivery pressure rises.
65
+ allow_attestation: true
66
+ allow_agent_evidence: true
67
+ evidence:
68
+ - type: manual
69
+ scope: platform
70
+ prompt: Show that the traceability check or equivalent review requirement is an enforced merge gate with controlled exceptions.
71
+ remediation: Require the traceability check in merge policy and restrict, record, and review bypasses.
72
+ - id: ADRB-SPC-004
73
+ level: 4
74
+ title: Specification effectiveness drives improvement
75
+ outcome: Rework and escaped ambiguity attributable to specifications are trended and improve the process.
76
+ risk: Specification ceremony grows without reducing misunderstanding or rework.
77
+ allow_attestation: true
78
+ allow_agent_evidence: true
79
+ evidence:
80
+ - type: manual
81
+ scope: outcome
82
+ prompt: Provide specification-related rework or ambiguity trends and a recent process change driven by them.
83
+ remediation: Classify rework causes and evolve specification practices using outcome evidence.
@@ -0,0 +1,85 @@
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: content_terms
56
+ scope: repository
57
+ files: [.github/workflows/**, .gitlab-ci.yml, Jenkinsfile, azure-pipelines.yml]
58
+ terms: [test, typecheck, lint, coverage, e2e, integration]
59
+ min_terms: 2
60
+ max_span_lines: 160
61
+ remediation: Configure CI to run the applicable verification layers from a clean environment.
62
+ - id: ADRB-TST-005
63
+ level: 3
64
+ title: Verification is enforced before merge
65
+ outcome: Merge policy requires the applicable CI checks and restricts bypasses.
66
+ risk: Healthy CI configuration remains optional under delivery pressure.
67
+ allow_attestation: true
68
+ allow_agent_evidence: true
69
+ evidence:
70
+ - type: manual
71
+ scope: platform
72
+ prompt: Show required status checks or equivalent merge gates, covered branches, bypass actors, and exception controls.
73
+ remediation: Make appropriate CI checks required merge gates and restrict, record, and review bypasses.
74
+ - id: ADRB-TST-004
75
+ level: 4
76
+ title: Verification effectiveness drives improvement
77
+ outcome: Escaped defects, flakiness, and other signal-quality outcomes are trended and improve testing.
78
+ risk: Test count and coverage rise while meaningful defects still escape.
79
+ allow_attestation: true
80
+ allow_agent_evidence: true
81
+ evidence:
82
+ - type: manual
83
+ scope: outcome
84
+ prompt: Provide verification outcome trends by task class and a recent test-strategy improvement driven by them.
85
+ 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.3/report.json",
4
+ "title": "ADRB v0.3 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.3.0" },
22
+ "benchmark": {
23
+ "type": "object",
24
+ "required": ["id", "version"],
25
+ "properties": { "version": { "const": "0.3.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
+ }
@@ -0,0 +1,100 @@
1
+ # v0.3 scoring policy
2
+
3
+ This document is normative for benchmark version 0.3.0.
4
+
5
+ ## Unit and assessment scope
6
+
7
+ The unit is one repository plus explicitly supplied repository-semantic, external, and
8
+ organizational evidence bound to that repository. The default `tracked` mode considers only
9
+ Git-tracked paths, using their current working-tree contents. Reports record the commit, remote, and
10
+ dirty state. `workspace` mode is available for provisional assessment and is not directly
11
+ comparable with tracked-mode reports.
12
+
13
+ Generated reports, attestations, evidence requests, and imported evidence bundles never qualify as
14
+ repository evidence. An assessment must be idempotent: adding its own generated artifacts cannot
15
+ change its score.
16
+
17
+ ## Dimension scores
18
+
19
+ Each dimension earns level `n` only when every applicable control at that level and every lower
20
+ level is met. More than one control may exist at a level when separate observable outcomes are
21
+ required. Controls met above the first gap are reported but do not increase the dimension score.
22
+
23
+ The normative score is the sum of ten dimension scores, with a maximum of 40. Its percentage is
24
+ display-only and does not determine readiness.
25
+
26
+ ### Repository-detected progress
27
+
28
+ v0.3 also reports an explanatory repository score and ceiling. For each dimension, the ceiling is
29
+ the highest consecutive level for which every control has a deterministic, non-manual repository
30
+ collector. The achieved value is the highest consecutive level established only with
31
+ `repository-detected` evidence. The two values are summed across dimensions.
32
+
33
+ Agent-collected and human-attested evidence never increases repository-detected progress. The
34
+ repository percentage is `achieved / ceiling`; it does not replace the normative score, remove
35
+ UNKNOWN controls, or affect readiness-profile decisions.
36
+
37
+ ## Readiness decisions
38
+
39
+ Each autonomy profile defines a floor for every dimension. A profile passes only if every floor is
40
+ met. Strength in one dimension cannot compensate for a security, testing, governance, or recovery
41
+ gap elsewhere. No profile grants deployment or production authority.
42
+
43
+ When a passed target profile depends on agent-collected or human-attested controls, the report's
44
+ target-profile headline discloses the number of required controls from each provenance class.
45
+
46
+ ## Evidence scopes and provenance
47
+
48
+ - `repository-detected`: a deterministic collector found qualifying evidence in the selected path
49
+ scope. It proves the reported artifact match, not consistent human behavior or external
50
+ enforcement.
51
+ - `agent-collected`: an authorized agent supplied a structured, source-backed repository-semantic
52
+ or external claim. It may satisfy only explicitly eligible controls and is never independently
53
+ verified.
54
+ - `attested`: an accountable person supplied a dated, expiring claim and durable reference.
55
+ - `unknown`: evidence is unavailable, expired, mismatched, unauthorized, or inconclusive.
56
+
57
+ Repository controls use non-empty files, control-specific term thresholds, optional required terms,
58
+ bounded line windows, and per-pattern candidate limits. Catalog pattern order is significant when a
59
+ candidate limit is present: authoritative entry points precede large run, skill, or documentation
60
+ corpora. External platform, organization, and outcome controls cannot be inferred from repository
61
+ keywords.
62
+
63
+ Human attestations and agent evidence may satisfy only controls explicitly eligible for those
64
+ classes. A v0.3 control may permit an `agent-collected` repository claim when a legitimate tracked
65
+ artifact uses an unrecognized convention. This is a semantic alternative, not a deterministic
66
+ pass: it remains separately labelled and does not increase repository-detected progress. Human
67
+ attestations cannot override repository-artifact controls.
68
+
69
+ Level 4 requires time-series or outcome evidence and an improvement decision influenced by it. The
70
+ existence of a dashboard is insufficient.
71
+
72
+ ## Agent evidence bundles
73
+
74
+ An agent evidence bundle is version-bound and target-bound. Claims record scope, status, collector,
75
+ collection and expiry times, a privacy-safe derivation summary, and durable references. The core
76
+ scanner makes no network calls; the agent obtains explicit authorization and uses read-only tools to
77
+ create the bundle. An error is distinct from a negative result and cannot pass a control.
78
+
79
+ Agent evidence can satisfy only controls with `allow_agent_evidence: true` and an allowed scope.
80
+ Deterministic passes take precedence. Repository-scoped claims additionally require tracked files
81
+ to match HEAD and references of the form `repo:<tracked-path>[#Lx-Ly]`; every referenced path must
82
+ exist in the tracked assessment scope at the exact bound commit. Untracked generated artifacts do
83
+ not affect tracked-scope evidence. An agent may use such a claim only to
84
+ establish the control outcome from a nonstandard artifact the deterministic catalog did not
85
+ recognize.
86
+
87
+ ## Changes and comparability
88
+
89
+ v0.1 and v0.2 remain immutable. Scores from v0.1, v0.2, and v0.3 are not directly comparable because
90
+ evidence and control semantics changed. Reports are comparable only when benchmark version, target
91
+ profile, repository scope, evidence policy, and assessment mode match.
92
+
93
+ ## Claims
94
+
95
+ Allowed: “We self-assessed repository X against ADRB v0.3.0 on DATE; N controls were
96
+ repository-detected, M agent-collected, and P human-attested. Repository-detected progress was A of
97
+ an offline ceiling C.”
98
+
99
+ Not allowed: “Certified,” “compliant,” “safe,” “secure,” or “independently verified” based only on
100
+ this self-assessment.