agentic-scorecard 0.3.0 → 0.3.1

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 CHANGED
@@ -4,66 +4,82 @@ These prompts are vendor-neutral. The agent needs terminal access to the reposit
4
4
  to download the published npm package. The default benchmark runs locally, reads only tracked paths,
5
5
  invokes no model, uploads no source, and makes no network calls after installation.
6
6
 
7
- ## Recommended: repository baseline
7
+ ## Recommended: complete agent-assisted assessment
8
8
 
9
9
  Copy and paste:
10
10
 
11
11
  ```text
12
- Assess this repository's readiness for AI-agent pull-request work.
13
-
14
- From the repository root, run:
15
- npx --yes agentic-scorecard@0.3.0 assess . --profile pr-creation --scope tracked --format markdown --output .agentic/reports/agentic-readiness-v0.3.0.md
16
-
17
- Do not change product source, configuration, policies, or tests. Do not invent evidence or mark an
18
- attestation as met. Read the report and tell me:
19
- 1. the normative score out of 40 and the repository-detected progress against its offline ceiling;
20
- 2. the highest passed readiness profile and whether pr-creation passes;
21
- 3. each target-profile blocker and its evidence scope;
22
- 4. the five highest-value improvements in dependency order;
23
- 5. which findings are repository gaps versus external or outcome evidence not yet established; and
24
- 6. any likely false positive or false negative.
25
-
26
- Keep repository-detected, agent-collected, and human-attested evidence separate. Treat UNKNOWN as
27
- unresolved, not failed. Leave generated artifacts uncommitted unless I explicitly ask otherwise. If
28
- the command cannot run, explain the exact blocker without modifying the repository to work around
29
- it.
12
+ Perform the complete ADRB v0.3 assessment of this repository for AI-agent pull-request work.
13
+
14
+ Do not change product source, tests, configuration, policies, Git history, or the user's current
15
+ checkout. First inspect the repository's commit, tracked-file status, upstream tracking branch, and
16
+ ahead/behind state. If read-only network access is already authorized, fetch the upstream before
17
+ comparing it. Select the commit before creating an assessment worktree. Default to the current HEAD;
18
+ a dirty checkout does not change that selection, so assess HEAD from an isolated clean worktree. Use
19
+ the fetched upstream commit only when I asked for the latest/current upstream state and the branch is
20
+ behind. If the checkout is both dirty and behind, state both facts and preserve HEAD by default unless
21
+ I explicitly asked for upstream or another commit. State the exact commit you selected and why.
22
+
23
+ Before running the scorecard, choose and state an absolute durable artifact directory outside any
24
+ temporary worktree. Do not delete that directory during worktree cleanup. In the commands below,
25
+ replace `<artifact-dir>` with that path. The npm package version is 0.3.1, while report filenames use
26
+ the immutable ADRB benchmark version 0.3.0.
27
+
28
+ From that clean target, run the repository-only baseline:
29
+ npx --yes agentic-scorecard@0.3.1 assess . --profile pr-creation --scope tracked --format markdown --output <artifact-dir>/agentic-readiness-v0.3.0-baseline.md
30
+
31
+ Then prepare unresolved evidence:
32
+ npx --yes agentic-scorecard@0.3.1 init-evidence . --output <artifact-dir>/agent-evidence.yaml --request-output <artifact-dir>/evidence-request.md
33
+
34
+ Read the baseline, `<artifact-dir>/evidence-request.md`, and the empty target-bound
35
+ `<artifact-dir>/agent-evidence.yaml`. Investigate nuanced repository-scoped requests only from
36
+ tracked files at the selected commit. Before accessing Git hosting settings, CI, dashboards, logs,
37
+ ticketing, or any other connected system, tell me exactly which least-privileged read-only tools,
38
+ accounts, repositories, branches, dashboards, and time ranges you need, and why. Wait for my
39
+ authorization.
40
+
41
+ After authorization, attempt only eligible requests. For every attempted claim, record its status,
42
+ scope, concise derivation, collection time, 30-day-or-shorter expiry, and durable privacy-safe
43
+ references. Repository claims must use `repo:<path>[#Lx-Ly]`; do not merely restate a keyword match.
44
+ A permission error, stale source, or inconclusive result remains unknown and records the error.
45
+ Never infer a pass, invent an attestation, or treat unavailable evidence as a failure.
46
+
47
+ Do not place credentials, prompts, source excerpts, raw logs, personal data, customer data, private
48
+ URLs that reveal secrets, or sensitive dashboard contents in generated files.
49
+
50
+ When authorized evidence collection is complete, run:
51
+ npx --yes agentic-scorecard@0.3.1 assess . --profile pr-creation --scope tracked --agent-evidence <artifact-dir>/agent-evidence.yaml --format markdown --output <artifact-dir>/agentic-readiness-v0.3.0-assisted.md
52
+
53
+ Tell me the repository-detected progress and normative score, the highest passed profile, whether
54
+ pr-creation passes, every target blocker, and the five highest-value improvements. Compare baseline
55
+ and assisted reports control by control. Keep repository-detected, agent-collected, and
56
+ human-attested evidence separate; treat UNKNOWN as unresolved, not failed; and flag likely false
57
+ positives or negatives. If I decline external access, stop after the baseline and label it clearly as
58
+ a repository-only baseline. Before removing a temporary worktree, verify that every report, evidence
59
+ request, and evidence bundle you cite exists in the durable artifact directory, then tell me that
60
+ directory's absolute path. Leave generated artifacts uncommitted unless I explicitly ask otherwise.
61
+ Do not describe any result as certified, compliant, safe, secure, or independently verified.
30
62
  ```
31
63
 
32
- ## Agent-assisted unresolved evidence
33
-
34
- Use this only after reviewing the repository baseline:
35
-
36
- ```text
37
- Investigate the controls that the ADRB v0.3 baseline could not establish.
38
-
39
- First ensure tracked files match HEAD and the repository has a commit, then run:
40
- npx --yes agentic-scorecard@0.3.0 init-evidence .
41
-
42
- Read `.agentic/evidence-request.md` and the empty target-bound
43
- `.agentic/agent-evidence.yaml` bundle. The request includes only unresolved controls that permit
44
- agent-collected evidence. Before accessing any connected system, tell me which read-only tools,
45
- accounts, repositories, branches, dashboards, and time ranges you need. Wait for my authorization.
46
-
47
- After authorization, use only least-privileged read-only operations. For each attempted control,
48
- record the source-backed status, scope, concise derivation, collection time, 30-day-or-shorter
49
- expiry, and durable privacy-safe references. For repository-scoped claims, cite only tracked files
50
- at the bound commit using `repo:<path>[#Lx-Ly]`; do not use a repository claim to restate a keyword
51
- match. Add only claims you actually investigated. A permission error or inconclusive result must
52
- remain unknown and include the error; never infer a pass.
64
+ The agent is an evidence investigator. The scorecard remains the scoring authority.
53
65
 
54
- Do not paste credentials, prompts, source excerpts, raw logs, personal data, customer data, or
55
- sensitive dashboard contents into the bundle.
66
+ ## Fast repository-only baseline
56
67
 
57
- Then run:
58
- npx --yes agentic-scorecard@0.3.0 assess . --profile pr-creation --scope tracked --agent-evidence .agentic/agent-evidence.yaml --format markdown --output .agentic/reports/agentic-readiness-v0.3.0-assisted.md
68
+ Use this when you want an offline first look and accept that platform, organization, and outcome
69
+ controls will remain unresolved:
59
70
 
60
- Summarize every score change and keep agent-collected evidence distinct from deterministic
61
- repository evidence and human attestations. Do not describe the result as certified, compliant,
62
- safe, secure, or independently verified.
71
+ ```text
72
+ Run a fast repository-only ADRB v0.3 baseline for AI-agent pull-request work. Verify and state the
73
+ selected commit and whether tracked files match HEAD, then run:
74
+ npx --yes agentic-scorecard@0.3.1 assess . --profile pr-creation --scope tracked --format markdown --output .agentic/reports/agentic-readiness-v0.3.0-baseline.md
75
+
76
+ Do not change repository files or invent evidence. Summarize repository-detected progress before
77
+ the normative score, target-profile blockers, and the five highest-value repository improvements.
78
+ Separate true repository gaps from platform, organization, and outcome evidence that this offline
79
+ scan cannot establish. Treat UNKNOWN as unresolved, not failed, and call the result a repository-only
80
+ baseline rather than a complete assessment. Leave generated artifacts uncommitted.
63
81
  ```
64
82
 
65
- The agent is an evidence investigator. The scorecard remains the scoring authority.
66
-
67
83
  ## Choose a different authority level
68
84
 
69
85
  Replace `pr-creation` with one of:
@@ -90,7 +106,7 @@ authorize.
90
106
  ## Reassessment
91
107
 
92
108
  ```text
93
- Re-run the pinned ADRB v0.3.0 benchmark for the same profile and tracked scope. Compare reports
109
+ Re-run the pinned ADRB v0.3.0 benchmark with agentic-scorecard@0.3.1 for the same profile and tracked scope. Compare reports
94
110
  control by control. Explain changes using evidence and identify changed commit state, expired
95
111
  claims, scope differences, regressions, or newly established controls. Compare normative and
96
112
  repository-detected progress separately. Write a new dated report; do not overwrite the previous
package/README.md CHANGED
@@ -22,20 +22,27 @@ historical reproduction; scores from different benchmark versions are not direct
22
22
 
23
23
  ## Ask your coding agent
24
24
 
25
- You do not need to install or learn the CLI yourself. Paste this prompt into Codex, Claude Code,
25
+ You do not need to install or learn the CLI yourself. Paste this instruction into Codex, Claude Code,
26
26
  GitHub Copilot, Cursor, or another coding agent that has terminal access to your repository:
27
27
 
28
- > Assess this repository's readiness for AI-agent pull-request work. From the repository root, run
29
- > `npx --yes agentic-scorecard@0.3.0 assess . --profile pr-creation --scope tracked --format markdown --output .agentic/reports/agentic-readiness-v0.3.0.md`.
30
- > Do not change product source code or invent attestations. Read the resulting report and summarize
31
- > the score, highest passed profile, whether `pr-creation` passes, target-profile blockers, and the
32
- > five highest-value improvements. Separate repository gaps from external and outcome evidence, and
33
- > keep repository-detected, agent-collected, and human-attested evidence distinct. Flag likely false
34
- > positives or negatives. Leave generated artifacts uncommitted unless I ask you to commit them.
35
-
36
- That is the recommended first assessment. The agent downloads the pinned benchmark package, runs the
37
- read-only local collector, and explains the results. For alternate authority levels or a guided
38
- remediation session, use the prompts in [AGENT_PROMPT.md](AGENT_PROMPT.md).
28
+ > Perform the complete ADRB v0.3 assessment of this repository for AI-agent pull-request work using
29
+ > `agentic-scorecard@0.3.1`. First select and state the commit without modifying my checkout; preserve
30
+ > HEAD when the checkout is dirty, and use upstream only if I requested the latest upstream state.
31
+ > Assess it from a clean worktree and keep all generated artifacts in a durable directory outside any
32
+ > temporary worktree. Run the tracked repository baseline, then run `init-evidence`, read its evidence
33
+ > request, and tell me which least-privileged read-only connected systems you need. Wait for my
34
+ > authorization before accessing them. After authorized collection, rerun the assessment and compare
35
+ > the baseline and assisted reports control by control. Keep repository-detected, agent-collected, and
36
+ > human-attested evidence separate; never invent evidence; treat UNKNOWN as unresolved; and leave
37
+ > generated artifacts uncommitted.
38
+
39
+ The complete copy-and-paste prompt, including privacy limits and exact commands, is in
40
+ [AGENT_PROMPT.md](AGENT_PROMPT.md). It makes the evidence-assisted workflow the recommendation. A
41
+ fast filesystem scan remains available, but it is explicitly a **repository-only baseline** and
42
+ cannot establish platform, organization, or outcome controls by itself.
43
+
44
+ The reference CLI/package is version 0.3.1. Generated report names use benchmark version 0.3.0
45
+ because the patch release changed workflow guidance, not the immutable scoring benchmark.
39
46
 
40
47
  ## Feedback and community
41
48
 
@@ -70,7 +77,7 @@ A supported Node.js LTS release (20.19+, 22.13+, or 24+) is required. Assessment
70
77
  read-only, and offline by default.
71
78
 
72
79
  ```bash
73
- npx agentic-scorecard@0.3.0 assess /path/to/repository \
80
+ npx agentic-scorecard@0.3.1 assess /path/to/repository \
74
81
  --profile pr-creation \
75
82
  --scope tracked \
76
83
  --format markdown \
@@ -80,7 +87,7 @@ npx agentic-scorecard@0.3.0 assess /path/to/repository \
80
87
  To record controls that repository inspection cannot prove:
81
88
 
82
89
  ```bash
83
- npx agentic-scorecard@0.3.0 init /path/to/repository
90
+ npx agentic-scorecard@0.3.1 init /path/to/repository
84
91
  ```
85
92
 
86
93
  Complete `.agentic/attestations.yaml` with owners and durable evidence links, then assess again.
@@ -91,7 +98,7 @@ external systems, first generate a target-bound template. The repository must be
91
98
  with at least one commit so the bundle can bind to the exact assessed state:
92
99
 
93
100
  ```bash
94
- npx agentic-scorecard@0.3.0 init-evidence /path/to/repository
101
+ npx agentic-scorecard@0.3.1 init-evidence /path/to/repository
95
102
  ```
96
103
 
97
104
  Ask the agent to review `.agentic/evidence-request.md`, obtain approval before using
package/dist/cli.js CHANGED
@@ -537,6 +537,10 @@ function toMarkdown(report) {
537
537
  (control) => ["platform", "organization"].includes(controlScope(control))
538
538
  );
539
539
  const outcomeControls = unresolved.filter((control) => controlScope(control) === "outcome");
540
+ const repositoryOnlyBaseline = !report.controls.some(
541
+ ({ agent_evidence: agentEvidence, attestation }) => agentEvidence !== null || attestation !== null
542
+ );
543
+ const resolvedEvidence = report.evidence_summary.resolved !== void 0 && report.evidence_summary.total !== void 0 ? `; ${report.evidence_summary.resolved}/${report.evidence_summary.total} controls resolved` : "";
540
544
  const lines = [
541
545
  "# Agentic Development Readiness Assessment",
542
546
  "",
@@ -546,13 +550,16 @@ function toMarkdown(report) {
546
550
  `- Git commit: ${report.target.git_head ? `\`${report.target.git_head}\`` : "unavailable"}`,
547
551
  `- Working tree dirty: ${report.target.working_tree_dirty === null ? "unknown" : String(report.target.working_tree_dirty)}`,
548
552
  `- Assessed: ${report.assessed_at}`,
549
- `- Score: **${report.score.total}/${report.score.maximum} (${report.score.percentage}%)**`,
553
+ ...repositoryOnlyBaseline ? [
554
+ "- Assessment mode: **repository-only baseline** \u2014 platform, organization, and outcome evidence has not been established"
555
+ ] : ["- Assessment mode: **evidence-assisted assessment**"],
550
556
  ...report.score.repository ? [
551
557
  `- Repository-detected progress: **${report.score.repository.achieved}/${report.score.repository.ceiling} (${report.score.repository.percentage}%)** of the maturity levels the offline repository collector can establish`
552
558
  ] : [],
559
+ `- Normative readiness score: **${report.score.total}/${report.score.maximum} (${report.score.percentage}%)**`,
553
560
  `- Highest readiness profile: **${report.readiness.highest_profile ?? "none"}**`,
554
561
  `- Target \`${report.target.profile}\`: **${report.readiness.target_passed ? `PASS${targetProvenance}` : "FAIL"}**`,
555
- `- Evidence: ${report.evidence_summary.repository_detected} repository-detected, ${report.evidence_summary.agent_collected} agent-collected, ${report.evidence_summary.attested} human-attested, ${report.evidence_summary.unmet} unmet, ${report.evidence_summary.unknown} unknown${report.evidence_summary.resolved !== void 0 && report.evidence_summary.total !== void 0 ? `; ${report.evidence_summary.resolved}/${report.evidence_summary.total} controls resolved` : ""}`,
562
+ `- Established evidence: ${report.evidence_summary.repository_detected} repository-detected, ${report.evidence_summary.agent_collected} agent-collected, ${report.evidence_summary.attested} human-attested; ${report.evidence_summary.unmet} unmet, ${report.evidence_summary.unknown} unknown${resolvedEvidence}`,
556
563
  ...report.warnings && report.warnings.length > 0 ? [`- Warnings: **${report.warnings.length} \u2014 review before using this assessment**`] : [],
557
564
  "",
558
565
  ...report.warnings && report.warnings.length > 0 ? [
@@ -1130,6 +1137,27 @@ async function assess(repo, benchmark, catalog, profileId, options = {}) {
1130
1137
  )
1131
1138
  )
1132
1139
  );
1140
+ const warnings = [...options.warnings ?? []];
1141
+ if (benchmark.version === "0.3.0") {
1142
+ if (scope === "tracked" && context.metadata.tracked_tree_dirty) {
1143
+ warnings.push(
1144
+ "Tracked assessment includes uncommitted tracked-file contents, so the result is not reproducible from git_head alone. Use a clean worktree before comparing scores or collecting agent evidence."
1145
+ );
1146
+ }
1147
+ const hasActiveSupplementalEvidence = controls.some(
1148
+ ({ agent_evidence: agentEvidence, attestation }) => agentEvidence !== null || attestation !== null
1149
+ );
1150
+ const unresolvedExternalOrOutcome = controls.some(
1151
+ ({ evidence, status }) => (status === "unknown" || status === "not_met") && evidence.some(
1152
+ ({ scope: evidenceScope }) => ["platform", "organization", "outcome"].includes(evidenceScope)
1153
+ )
1154
+ );
1155
+ if (!hasActiveSupplementalEvidence && unresolvedExternalOrOutcome) {
1156
+ warnings.push(
1157
+ "Repository-only baseline: no active agent-collected or human-attested evidence was supplied. Platform, organization, and outcome evidence remains unresolved until authorized evidence is collected with init-evidence or supplied by accountable owners."
1158
+ );
1159
+ }
1160
+ }
1133
1161
  const dimensions = benchmark.dimensions.map(({ id, title }) => {
1134
1162
  const dimensionControls = controls.filter((control) => control.dimension === id);
1135
1163
  return {
@@ -1157,7 +1185,7 @@ async function assess(repo, benchmark, catalog, profileId, options = {}) {
1157
1185
  working_tree_dirty: context.metadata.working_tree_dirty
1158
1186
  },
1159
1187
  assessed_at: now.toISOString(),
1160
- ...benchmark.version === "0.3.0" ? { warnings: options.warnings ?? [] } : {},
1188
+ ...benchmark.version === "0.3.0" ? { warnings } : {},
1161
1189
  score: {
1162
1190
  total,
1163
1191
  maximum: 40,
@@ -1295,7 +1323,7 @@ function countLines(contents) {
1295
1323
 
1296
1324
  // src/cli.ts
1297
1325
  var program = new Command();
1298
- program.name("agentic-scorecard").description("Evidence-backed readiness assessment for agentic software development harnesses").version("0.3.0");
1326
+ program.name("agentic-scorecard").description("Evidence-backed readiness assessment for agentic software development harnesses").version("0.3.1");
1299
1327
  program.command("validate").description("Validate the bundled benchmark catalog").action(async () => {
1300
1328
  const { benchmark, controls } = await loadBenchmark();
1301
1329
  process.stdout.write(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-scorecard",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Vendor-neutral, evidence-backed readiness benchmark for agentic software development harnesses.",
5
5
  "author": "Planet B2B Inc. <benchmark@planetb2b.com>",
6
6
  "homepage": "https://github.com/Planet-B2B/agentic-readiness#readme",