You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@magpie.apache.org by po...@apache.org on 2026/10/16 04:54:51 UTC

(magpie) branch perf/release-mgmt-2-verify-rc updated (39781974 -> e50fba8c)

This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a change to branch perf/release-mgmt-2-verify-rc
in repository https://gitbox.apache.org/repos/asf/magpie.git


 discard 39781974 fix(release-verify-rc): never PASS on missing evidence or misread entries
 discard 9350d44d fix(release-verify-rc): run Step 7 as documented and stop false PASS / SKIP / FAIL
 discard a4375d6d perf(release-verify-rc): classify RAT, JVM, Nexus and reproducibility results as code
 discard b6dacacf fix(release-rc-cut): render runnable commands for every backend and self-check
 discard 250c039f fix(release-rc-cut): fail closed where the rendered commands and record could mislead
 discard fab31e56 fix(release-management): quote every configured value in the rendered commands
 discard 5e8c95c5 perf(release-rc-cut): render the RC command blocks as code, one file per outcome
 discard 7ce2f542 test(agent-isolation): keep the wrapped-signer variable out of the probe tests
     add d91bb8e1 feat(security): security-tracker contract with local-files and private Jira backends (#1647)
     add 7f4ec6dc feat(setup): offer roborev as a companion and wire its sandbox exclusion (#1648)
     add 377ff914 feat(mail): draft to Gmail or a local Maildir, set per project; setup proposes mail backends (#1636)
     add 2452f470 feat(setup): add zero-token /magpie-status Claude Code mod command (part of #1497) (#1601)
     add 5888f862 docs(sandbox-lint): declare Grok harness support (#1598)
     add d58ecb75 fix(bitbucket): fail closed for removed cloud issues (#1599)
     add 8246bba9 test(agent-isolation): keep the wrapped-signer variable out of the probe tests
     add c9108809 perf(release-rc-cut): render the RC command blocks as code, one file per outcome
     add d6bdcda6 fix(release-management): quote every configured value in the rendered commands
     add 74271c6d fix(release-rc-cut): fail closed where the rendered commands and record could mislead
     add 30b479bb fix(release-rc-cut): render runnable commands for every backend and self-check
     add ed96c47a perf(release-verify-rc): classify RAT, JVM, Nexus and reproducibility results as code
     add bc16b4ad fix(release-verify-rc): run Step 7 as documented and stop false PASS / SKIP / FAIL
     add e50fba8c fix(release-verify-rc): never PASS on missing evidence or misread entries

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (39781974)
            \
             N -- N -- N   refs/heads/perf/release-mgmt-2-verify-rc (e50fba8c)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/labeler.yml                                |   8 +
 .../2026-10-15-security-tracker-backends-plan.md   |  47 ++
 .../2026-10-15-security-tracker-backends.md        | 179 +++++
 docs/designs/README.md                             |   1 +
 docs/labels-and-capabilities.md                    |   7 +-
 docs/pairing/README.md                             |  10 +
 docs/pr-management/README.md                       |  10 +
 docs/security/README.md                            |   5 +
 docs/setup/companion-skills.md                     |  46 ++
 docs/setup/secure-agent-setup.md                   |  28 +-
 docs/vendor-neutrality.md                          |   7 +-
 docs/when-to-use-mods.md                           |   2 +-
 organizations/independent/organization.md          |   1 +
 .../skills/code-review/adversarial.md              |   8 +
 .../magpie-security/skills/cve-allocate/SKILL.md   |  25 +-
 .../skills/cve-allocate/tracker-updates.md         |   3 +-
 .../skills/issue-deduplicate/SKILL.md              |  25 +-
 plugins/magpie-security/skills/issue-fix/SKILL.md  |  25 +-
 .../skills/issue-import-from-md/SKILL.md           |  25 +-
 .../skills/issue-import-from-pr/SKILL.md           |  25 +-
 .../skills/issue-import-from-scan/SKILL.md         |  25 +-
 .../skills/issue-import-via-forwarder/SKILL.md     |  25 +-
 .../magpie-security/skills/issue-import/SKILL.md   |  26 +-
 .../magpie-security/skills/issue-import/apply.md   |   5 +-
 .../skills/issue-invalidate/SKILL.md               |  29 +-
 .../skills/issue-invalidate/apply.md               |   6 +
 .../skills/issue-invalidate/reporter-draft.md      |  10 +-
 plugins/magpie-security/skills/issue-sync/SKILL.md |  25 +-
 .../skills/issue-sync/apply-and-push.md            |   5 +
 .../magpie-security/skills/issue-sync/gather.md    |   2 +-
 .../skills/issue-sync/github-advisory.md           |   5 +-
 .../skills/issue-sync/signals-to-actions.md        |   2 +
 .../magpie-security/skills/issue-triage/SKILL.md   |  25 +-
 .../skills/tracker-stats-dashboard/SKILL.md        |  25 +-
 plugins/magpie-setup/hooks/drift-check.test.ts     |  34 +-
 plugins/magpie-setup/hooks/drift-check.ts          |  42 +-
 plugins/magpie-setup/hooks/status-command.test.ts  | 258 +++++++
 plugins/magpie-setup/hooks/status-command.ts       | 101 +++
 .../skills/isolated-setup-install/SKILL.md         |  12 +-
 .../isolated-setup-install/optional-steps.md       | 213 +++++-
 .../skills/isolated-setup-verify/SKILL.md          |  10 +-
 .../isolated-setup-verify/conditional-checks.md    |  89 ++-
 plugins/magpie-setup/skills/setup/SKILL.md         |   4 +-
 plugins/magpie-setup/skills/setup/config.md        | 119 ++-
 plugins/magpie-setup/skills/setup/install.md       | 137 +++-
 plugins/magpie-setup/skills/setup/upgrade.md       |  31 +-
 plugins/magpie-setup/templates/project.md          |  48 +-
 pyproject.toml                                     |   1 +
 tools/bitbucket/README.md                          | 112 ++-
 tools/bitbucket/src/magpie_bitbucket/cli.py        |  25 +-
 tools/bitbucket/src/magpie_bitbucket/cloud.py      | 114 +--
 tools/bitbucket/tests/test_bitbucket.py            | 349 +++------
 tools/dev/blocks/tracker-backend.md                |  17 +
 tools/dev/companion-skills.json                    |  34 +
 tools/gmail/draft-backends.md                      |  80 +-
 tools/jira/README.md                               |  67 +-
 tools/jira/pyproject.toml                          |   9 +-
 tools/jira/src/jira_bridge/markup.py               | 175 +++++
 tools/jira/src/jira_bridge/rest.py                 |  99 ++-
 tools/jira/src/jira_bridge/security_tracker.py     | 807 ++++++++++++++++++++
 tools/jira/src/jira_bridge/tracker_client.py       | 273 +++++++
 tools/jira/tests/conftest.py                       | 122 +++
 tools/jira/tests/test_markup.py                    |  98 +++
 tools/jira/tests/test_rest.py                      |  91 ++-
 tools/jira/tests/test_security_tracker.py          | 815 +++++++++++++++++++++
 tools/local-tracker/README.md                      | 168 +++++
 tools/{bitbucket => local-tracker}/pyproject.toml  |   9 +-
 .../src/magpie_local_tracker/__init__.py           |   7 +
 .../local-tracker/src/magpie_local_tracker/cli.py  | 405 ++++++++++
 .../src/magpie_local_tracker/descriptor.py         | 135 ++++
 .../src/magpie_local_tracker/detect.py             | 281 +++++++
 .../src/magpie_local_tracker/metadata.py           | 189 +++++
 .../src/magpie_local_tracker/sections.py           | 188 +++++
 .../src/magpie_local_tracker/store.py              | 507 +++++++++++++
 .../local-tracker/src/magpie_local_tracker/vcs.py  | 141 ++++
 tools/local-tracker/tests/test_local_tracker.py    | 336 +++++++++
 tools/maildir/README.md                            |  53 +-
 tools/maildir/pyproject.toml                       |   1 +
 tools/maildir/src/maildir_draft/create_draft.py    |   5 +-
 tools/maildir/src/maildir_draft/find_drafts.py     | 142 ++++
 tools/maildir/tests/test_find_drafts.py            | 109 +++
 tools/sandbox-lint/README.md                       |   6 +-
 tools/sandbox-lint/src/sandbox_lint/__init__.py    |   6 +-
 tools/sandbox-lint/src/sandbox_lint/posture.py     |   2 +-
 tools/security-tracker/README.md                   |  60 ++
 tools/security-tracker/contract.md                 | 211 ++++++
 .../src/skill_and_tool_validator/__init__.py       |   1 +
 tools/skill-evals/README.md                        |   8 +-
 .../evals/security-issue-sync/README.md            |   1 +
 .../fixtures/case-1-project-maildir/expected.json  |   1 +
 .../fixtures/case-1-project-maildir/report.md      |   8 +
 .../case-2-person-overrides-to-gmail/expected.json |   1 +
 .../case-2-person-overrides-to-gmail/report.md     |   7 +
 .../expected.json                                  |   1 +
 .../case-3-person-overrides-to-maildir/report.md   |   9 +
 .../fixtures/case-4-nothing-set/expected.json      |   1 +
 .../fixtures/case-4-nothing-set/report.md          |   7 +
 .../expected.json                                  |   1 +
 .../case-5-project-gmail-no-credential/report.md   |   9 +
 .../step-draft-backend/fixtures/output-spec.md     |  23 +
 .../step-draft-backend/fixtures/step-config.json   |   4 +
 .../fixtures/user-prompt-template.md               |   4 +-
 .../evals/setup-isolated-setup-install/README.md   |   3 +-
 .../case-1-roborev-installed}/case-meta.json       |   0
 .../case-1-roborev-installed/expected.json         |   1 +
 .../fixtures/case-1-roborev-installed/report.md}   |   7 +-
 .../fixtures/case-2-roborev-absent/case-meta.json  |   1 +
 .../fixtures/case-2-roborev-absent/expected.json   |   1 +
 .../fixtures/case-2-roborev-absent}/report.md      |   3 +-
 .../case-3-operator-wants-allow/case-meta.json     |   1 +
 .../case-3-operator-wants-allow/expected.json      |   1 +
 .../fixtures/case-3-operator-wants-allow/report.md |   5 +
 .../case-4-macos-wants-hook/case-meta.json         |   1 +
 .../fixtures/case-4-macos-wants-hook/expected.json |   1 +
 .../fixtures/case-4-macos-wants-hook/report.md     |   6 +
 .../case-5-linux-wants-hook/case-meta.json         |   1 +
 .../fixtures/case-5-linux-wants-hook/expected.json |   1 +
 .../fixtures/case-5-linux-wants-hook/report.md     |   6 +
 .../step-roborev-exclusion/fixtures/output-spec.md |  28 +
 .../fixtures/step-config.json                      |   2 +-
 .../fixtures/user-prompt-template.md               |   2 +-
 .../evals/setup-isolated-setup-verify/README.md    |   6 +-
 .../case-11-roborev-review-allowed/expected.json   |  15 +
 .../report.md                                      |  35 +-
 .../case-12-roborev-shared-hook/expected.json      |  15 +
 .../fixtures/case-12-roborev-shared-hook/report.md |  67 ++
 .../case-13-roborev-dir-writable/expected.json     |  15 +
 .../case-13-roborev-dir-writable/report.md         |  63 ++
 .../case-14-roborev-mcp-server/expected.json       |  15 +
 .../report.md                                      |  31 +-
 .../case-15-roborev-write-only/expected.json       |  15 +
 .../report.md                                      |  29 +-
 .../step-1-classify/fixtures/output-spec.md        |   4 +-
 .../fixtures/case-6-roborev-findings/expected.json |   9 +
 .../report.md                                      |   5 +-
 tools/skill-evals/evals/setup/README.md            |   5 +-
 .../expected.json                                  |   1 +
 .../report.md                                      |  11 +
 .../expected.json                                  |   1 +
 .../report.md                                      |  11 +
 .../case-3-non-asf-gmail-installed/expected.json   |   1 +
 .../case-3-non-asf-gmail-installed/report.md       |  11 +
 .../case-4-family-without-mail/expected.json       |   1 +
 .../fixtures/case-4-family-without-mail/report.md  |  10 +
 .../fixtures/case-5-already-recorded/expected.json |   1 +
 .../fixtures/case-5-already-recorded/report.md     |  11 +
 .../case-6-asf-comdev-half-installed/expected.json |   1 +
 .../case-6-asf-comdev-half-installed/report.md     |  11 +
 .../case-7-adopted-personal-override/expected.json |   1 +
 .../case-7-adopted-personal-override/report.md     |  13 +
 .../setup/step-config-mail/fixtures/output-spec.md |  40 +
 .../step-config-mail/fixtures/step-config.json     |   4 +
 .../fixtures/user-prompt-template.md               |   2 +-
 .../case-meta.json                                 |   0
 .../expected.json                                  |   1 +
 .../case-1-claude-code-roborev-missing/report.md   |  17 +
 .../case-meta.json                                 |   1 +
 .../case-2-roborev-already-installed/expected.json |   1 +
 .../case-2-roborev-already-installed/report.md     |  17 +
 .../case-3-harness-not-covered/case-meta.json      |   1 +
 .../case-3-harness-not-covered/expected.json       |   1 +
 .../fixtures/case-3-harness-not-covered/report.md  |  16 +
 .../case-4-codex-family-not-paired/case-meta.json  |   1 +
 .../case-4-codex-family-not-paired/expected.json   |   1 +
 .../case-4-codex-family-not-paired/report.md       |  16 +
 .../case-5-codex-pr-management/case-meta.json      |   1 +
 .../case-5-codex-pr-management/expected.json       |   1 +
 .../fixtures/case-5-codex-pr-management/report.md  |  16 +
 .../fixtures/output-spec.md                        |  26 +
 .../fixtures/step-config.json                      |   4 +
 .../fixtures/user-prompt-template.md               |  10 +
 .../case-1-roborev-missing}/case-meta.json         |   0
 .../fixtures/case-1-roborev-missing/expected.json  |   1 +
 .../fixtures/case-1-roborev-missing/report.md      |  20 +
 .../fixtures/case-2-roborev-present/case-meta.json |   1 +
 .../fixtures/case-2-roborev-present/expected.json  |   1 +
 .../fixtures/case-2-roborev-present/report.md      |  20 +
 .../case-3-roborev-declined-before/case-meta.json  |   1 +
 .../case-3-roborev-declined-before/expected.json   |   1 +
 .../case-3-roborev-declined-before/report.md       |  21 +
 .../fixtures/output-spec.md                        |  26 +
 .../fixtures/step-config.json                      |   0
 .../fixtures/user-prompt-template.md               |  10 +
 tools/spec-loop/specs/adapters.md                  |  59 +-
 tools/spec-loop/specs/adoption-and-setup.md        |  18 +
 tools/spec-loop/specs/agent-isolation-sandbox.md   |  13 +
 tools/spec-loop/specs/sandbox-diagnostics.md       |  20 +-
 .../src/vendor_neutrality_score/__init__.py        |   4 +
 tools/vetted-ops/README.md                         |  64 ++
 tools/vetted-ops/src/vetted_ops/cli.py             |  53 +-
 tools/vetted-ops/src/vetted_ops/config.py          |  71 ++
 tools/vetted-ops/src/vetted_ops/ops.py             | 150 +++-
 .../vetted-ops/src/vetted_ops/tracker_backends.py  | 188 +++++
 tools/vetted-ops/tests/test_procedures.py          |   3 +-
 tools/vetted-ops/tests/test_tracker_backends.py    | 417 +++++++++++
 tools/vetted-ops/tests/test_vetted_ops.py          |  10 +
 uv.lock                                            |  16 +
 197 files changed, 9357 insertions(+), 628 deletions(-)
 create mode 100644 docs/designs/2026-10-15-security-tracker-backends-plan.md
 create mode 100644 docs/designs/2026-10-15-security-tracker-backends.md
 create mode 100644 plugins/magpie-setup/hooks/status-command.test.ts
 create mode 100644 plugins/magpie-setup/hooks/status-command.ts
 create mode 100644 tools/dev/blocks/tracker-backend.md
 create mode 100644 tools/jira/src/jira_bridge/markup.py
 create mode 100644 tools/jira/src/jira_bridge/security_tracker.py
 create mode 100644 tools/jira/src/jira_bridge/tracker_client.py
 create mode 100644 tools/jira/tests/conftest.py
 create mode 100644 tools/jira/tests/test_markup.py
 create mode 100644 tools/jira/tests/test_security_tracker.py
 create mode 100644 tools/local-tracker/README.md
 copy tools/{bitbucket => local-tracker}/pyproject.toml (85%)
 create mode 100644 tools/local-tracker/src/magpie_local_tracker/__init__.py
 create mode 100644 tools/local-tracker/src/magpie_local_tracker/cli.py
 create mode 100644 tools/local-tracker/src/magpie_local_tracker/descriptor.py
 create mode 100644 tools/local-tracker/src/magpie_local_tracker/detect.py
 create mode 100644 tools/local-tracker/src/magpie_local_tracker/metadata.py
 create mode 100644 tools/local-tracker/src/magpie_local_tracker/sections.py
 create mode 100644 tools/local-tracker/src/magpie_local_tracker/store.py
 create mode 100644 tools/local-tracker/src/magpie_local_tracker/vcs.py
 create mode 100644 tools/local-tracker/tests/test_local_tracker.py
 create mode 100644 tools/maildir/src/maildir_draft/find_drafts.py
 create mode 100644 tools/maildir/tests/test_find_drafts.py
 create mode 100644 tools/security-tracker/README.md
 create mode 100644 tools/security-tracker/contract.md
 create mode 100644 tools/skill-evals/evals/security-issue-sync/step-draft-backend/fixtures/case-1-project-maildir/expected.json
 create mode 100644 tools/skill-evals/evals/security-issue-sync/step-draft-backend/fixtures/case-1-project-maildir/report.md
 create mode 100644 tools/skill-evals/evals/security-issue-sync/step-draft-backend/fixtures/case-2-person-overrides-to-gmail/expected.json
 create mode 100644 tools/skill-evals/evals/security-issue-sync/step-draft-backend/fixtures/case-2-person-overrides-to-gmail/report.md
 create mode 100644 tools/skill-evals/evals/security-issue-sync/step-draft-backend/fixtures/case-3-person-overrides-to-maildir/expected.json
 create mode 100644 tools/skill-evals/evals/security-issue-sync/step-draft-backend/fixtures/case-3-person-overrides-to-maildir/report.md
 create mode 100644 tools/skill-evals/evals/security-issue-sync/step-draft-backend/fixtures/case-4-nothing-set/expected.json
 create mode 100644 tools/skill-evals/evals/security-issue-sync/step-draft-backend/fixtures/case-4-nothing-set/report.md
 create mode 100644 tools/skill-evals/evals/security-issue-sync/step-draft-backend/fixtures/case-5-project-gmail-no-credential/expected.json
 create mode 100644 tools/skill-evals/evals/security-issue-sync/step-draft-backend/fixtures/case-5-project-gmail-no-credential/report.md
 create mode 100644 tools/skill-evals/evals/security-issue-sync/step-draft-backend/fixtures/output-spec.md
 create mode 100644 tools/skill-evals/evals/security-issue-sync/step-draft-backend/fixtures/step-config.json
 copy tools/skill-evals/evals/{contributor-candidate-screen/step-4-write-report => security-issue-sync/step-draft-backend}/fixtures/user-prompt-template.md (60%)
 copy tools/skill-evals/evals/{ci-runner-audit/step-reporting/fixtures/case-2-no-security-overclaim => setup-isolated-setup-install/step-roborev-exclusion/fixtures/case-1-roborev-installed}/case-meta.json (100%)
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-install/step-roborev-exclusion/fixtures/case-1-roborev-installed/expected.json
 copy tools/skill-evals/evals/{issue-triage/step-4-compose-comment/fixtures/user-prompt-template.md => setup-isolated-setup-install/step-roborev-exclusion/fixtures/case-1-roborev-installed/report.md} (66%)
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-install/step-roborev-exclusion/fixtures/case-2-roborev-absent/case-meta.json
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-install/step-roborev-exclusion/fixtures/case-2-roborev-absent/expected.json
 copy tools/skill-evals/evals/{ci-runner-audit/step-scope-selection/fixtures/case-3-full-apache-org => setup-isolated-setup-install/step-roborev-exclusion/fixtures/case-2-roborev-absent}/report.md (51%)
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-install/step-roborev-exclusion/fixtures/case-3-operator-wants-allow/case-meta.json
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-install/step-roborev-exclusion/fixtures/case-3-operator-wants-allow/expected.json
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-install/step-roborev-exclusion/fixtures/case-3-operator-wants-allow/report.md
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-install/step-roborev-exclusion/fixtures/case-4-macos-wants-hook/case-meta.json
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-install/step-roborev-exclusion/fixtures/case-4-macos-wants-hook/expected.json
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-install/step-roborev-exclusion/fixtures/case-4-macos-wants-hook/report.md
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-install/step-roborev-exclusion/fixtures/case-5-linux-wants-hook/case-meta.json
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-install/step-roborev-exclusion/fixtures/case-5-linux-wants-hook/expected.json
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-install/step-roborev-exclusion/fixtures/case-5-linux-wants-hook/report.md
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-install/step-roborev-exclusion/fixtures/output-spec.md
 copy tools/skill-evals/evals/setup-isolated-setup-install/{step-hardware-key => step-roborev-exclusion}/fixtures/step-config.json (54%)
 copy tools/skill-evals/evals/setup-isolated-setup-install/{step-hardware-key => step-roborev-exclusion}/fixtures/user-prompt-template.md (75%)
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-verify/step-1-classify/fixtures/case-11-roborev-review-allowed/expected.json
 copy tools/skill-evals/evals/setup-isolated-setup-verify/step-1-classify/fixtures/{case-10-working-dirs-missing => case-11-roborev-review-allowed}/report.md (56%)
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-verify/step-1-classify/fixtures/case-12-roborev-shared-hook/expected.json
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-verify/step-1-classify/fixtures/case-12-roborev-shared-hook/report.md
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-verify/step-1-classify/fixtures/case-13-roborev-dir-writable/expected.json
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-verify/step-1-classify/fixtures/case-13-roborev-dir-writable/report.md
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-verify/step-1-classify/fixtures/case-14-roborev-mcp-server/expected.json
 copy tools/skill-evals/evals/setup-isolated-setup-verify/step-1-classify/fixtures/{case-10-working-dirs-missing => case-14-roborev-mcp-server}/report.md (54%)
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-verify/step-1-classify/fixtures/case-15-roborev-write-only/expected.json
 copy tools/skill-evals/evals/setup-isolated-setup-verify/step-1-classify/fixtures/{case-10-working-dirs-missing => case-15-roborev-write-only}/report.md (54%)
 create mode 100644 tools/skill-evals/evals/setup-isolated-setup-verify/step-2-recommend/fixtures/case-6-roborev-findings/expected.json
 copy tools/skill-evals/evals/setup-isolated-setup-verify/step-2-recommend/fixtures/{case-1-all-pass => case-6-roborev-findings}/report.md (54%)
 create mode 100644 tools/skill-evals/evals/setup/step-config-mail/fixtures/case-1-asf-preflight-nothing-installed/expected.json
 create mode 100644 tools/skill-evals/evals/setup/step-config-mail/fixtures/case-1-asf-preflight-nothing-installed/report.md
 create mode 100644 tools/skill-evals/evals/setup/step-config-mail/fixtures/case-2-asf-thunderbird-servers-present/expected.json
 create mode 100644 tools/skill-evals/evals/setup/step-config-mail/fixtures/case-2-asf-thunderbird-servers-present/report.md
 create mode 100644 tools/skill-evals/evals/setup/step-config-mail/fixtures/case-3-non-asf-gmail-installed/expected.json
 create mode 100644 tools/skill-evals/evals/setup/step-config-mail/fixtures/case-3-non-asf-gmail-installed/report.md
 create mode 100644 tools/skill-evals/evals/setup/step-config-mail/fixtures/case-4-family-without-mail/expected.json
 create mode 100644 tools/skill-evals/evals/setup/step-config-mail/fixtures/case-4-family-without-mail/report.md
 create mode 100644 tools/skill-evals/evals/setup/step-config-mail/fixtures/case-5-already-recorded/expected.json
 create mode 100644 tools/skill-evals/evals/setup/step-config-mail/fixtures/case-5-already-recorded/report.md
 create mode 100644 tools/skill-evals/evals/setup/step-config-mail/fixtures/case-6-asf-comdev-half-installed/expected.json
 create mode 100644 tools/skill-evals/evals/setup/step-config-mail/fixtures/case-6-asf-comdev-half-installed/report.md
 create mode 100644 tools/skill-evals/evals/setup/step-config-mail/fixtures/case-7-adopted-personal-override/expected.json
 create mode 100644 tools/skill-evals/evals/setup/step-config-mail/fixtures/case-7-adopted-personal-override/report.md
 create mode 100644 tools/skill-evals/evals/setup/step-config-mail/fixtures/output-spec.md
 create mode 100644 tools/skill-evals/evals/setup/step-config-mail/fixtures/step-config.json
 copy tools/skill-evals/evals/setup/{step-config-adversarial => step-config-mail}/fixtures/user-prompt-template.md (78%)
 copy tools/skill-evals/evals/{ci-runner-audit/step-reporting/fixtures/case-2-no-security-overclaim => setup/step-m5-companion-offer/fixtures/case-1-claude-code-roborev-missing}/case-meta.json (100%)
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/case-1-claude-code-roborev-missing/expected.json
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/case-1-claude-code-roborev-missing/report.md
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/case-2-roborev-already-installed/case-meta.json
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/case-2-roborev-already-installed/expected.json
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/case-2-roborev-already-installed/report.md
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/case-3-harness-not-covered/case-meta.json
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/case-3-harness-not-covered/expected.json
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/case-3-harness-not-covered/report.md
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/case-4-codex-family-not-paired/case-meta.json
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/case-4-codex-family-not-paired/expected.json
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/case-4-codex-family-not-paired/report.md
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/case-5-codex-pr-management/case-meta.json
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/case-5-codex-pr-management/expected.json
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/case-5-codex-pr-management/report.md
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/output-spec.md
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/step-config.json
 create mode 100644 tools/skill-evals/evals/setup/step-m5-companion-offer/fixtures/user-prompt-template.md
 copy tools/skill-evals/evals/{ci-runner-audit/step-reporting/fixtures/case-2-no-security-overclaim => setup/step-upgrade-companion-offer/fixtures/case-1-roborev-missing}/case-meta.json (100%)
 create mode 100644 tools/skill-evals/evals/setup/step-upgrade-companion-offer/fixtures/case-1-roborev-missing/expected.json
 create mode 100644 tools/skill-evals/evals/setup/step-upgrade-companion-offer/fixtures/case-1-roborev-missing/report.md
 create mode 100644 tools/skill-evals/evals/setup/step-upgrade-companion-offer/fixtures/case-2-roborev-present/case-meta.json
 create mode 100644 tools/skill-evals/evals/setup/step-upgrade-companion-offer/fixtures/case-2-roborev-present/expected.json
 create mode 100644 tools/skill-evals/evals/setup/step-upgrade-companion-offer/fixtures/case-2-roborev-present/report.md
 create mode 100644 tools/skill-evals/evals/setup/step-upgrade-companion-offer/fixtures/case-3-roborev-declined-before/case-meta.json
 create mode 100644 tools/skill-evals/evals/setup/step-upgrade-companion-offer/fixtures/case-3-roborev-declined-before/expected.json
 create mode 100644 tools/skill-evals/evals/setup/step-upgrade-companion-offer/fixtures/case-3-roborev-declined-before/report.md
 create mode 100644 tools/skill-evals/evals/setup/step-upgrade-companion-offer/fixtures/output-spec.md
 copy tools/skill-evals/evals/setup/{upgrade-adoption-split => step-upgrade-companion-offer}/fixtures/step-config.json (100%)
 create mode 100644 tools/skill-evals/evals/setup/step-upgrade-companion-offer/fixtures/user-prompt-template.md
 create mode 100644 tools/vetted-ops/src/vetted_ops/tracker_backends.py
 create mode 100644 tools/vetted-ops/tests/test_tracker_backends.py