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/09/28 10:43:35 UTC

(magpie) branch main updated: docs(spec-loop): sync specs with #1453 (#1454)

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

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/magpie.git


The following commit(s) were added to refs/heads/main by this push:
     new 48c046b8 docs(spec-loop): sync specs with #1453 (#1454)
48c046b8 is described below

commit 48c046b826c857529e944f3174b60a85952b9f4d
Author: Jarek Potiuk <ja...@potiuk.com>
AuthorDate: Mon Sep 28 12:43:30 2026 +0200

    docs(spec-loop): sync specs with #1453 (#1454)
    
    Back-fill the specs for the one commit merged since the last sync:
    workflow-security-audit takes zizmor's token from the environment
    instead of a sandboxed `$(gh auth token)`, security-issue-invalidate runs
    its last redirected `gh` call as a plain command, and the pre-PR
    adversarial-review block also covers skills that verify or import
    someone else's PR. Advance .last-sync to the current main.
    
    Generated-by: Claude Opus 5
---
 tools/spec-loop/.last-sync                        | 2 +-
 tools/spec-loop/specs/adversarial-review.md       | 6 ++++++
 tools/spec-loop/specs/repo-health-family.md       | 7 +++++++
 tools/spec-loop/specs/security-issue-lifecycle.md | 4 +++-
 4 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/tools/spec-loop/.last-sync b/tools/spec-loop/.last-sync
index f97ccffa..28dcb445 100644
--- a/tools/spec-loop/.last-sync
+++ b/tools/spec-loop/.last-sync
@@ -1 +1 @@
-da660f14e69670145e6096aa27626845ae910327
+77884f5c54d01e4b535051b8dc16d8fd50166223
diff --git a/tools/spec-loop/specs/adversarial-review.md b/tools/spec-loop/specs/adversarial-review.md
index 8d1f399d..d08c3f1d 100644
--- a/tools/spec-loop/specs/adversarial-review.md
+++ b/tools/spec-loop/specs/adversarial-review.md
@@ -96,6 +96,12 @@ before the PR is created, through one shared block.
   `security-issue-import-from-scan`, `security-model-prepare`,
   `security-model-verify`, `setup-override-upstream`, and
   `setup-upstream-fix`.
+  The block covers two shapes of host: a skill that opens a PR runs the
+  reviewers once the PR's title and body are final, before the push where
+  the flow allows it; a skill that works from a PR someone else proposed
+  (verifying it, or importing it into the tracker, as
+  `security-issue-import-from-pr` does) runs them over that PR before
+  reporting on it or acting on it (#1453).
 - `validate_pre_pr_review_block` in
   `tools/skill-and-tool-validator/src/skill_and_tool_validator/__init__.py` —
   HARD check, category `pre-pr-review-block`.
diff --git a/tools/spec-loop/specs/repo-health-family.md b/tools/spec-loop/specs/repo-health-family.md
index 616df9f4..cab88ede 100644
--- a/tools/spec-loop/specs/repo-health-family.md
+++ b/tools/spec-loop/specs/repo-health-family.md
@@ -112,6 +112,13 @@ grouped, prioritised report → wait for confirmation before any write.
   A repository whose own run exits outside 0 and 11–14, or that the
   batch's stderr names in a collection warning, is the scan failure
   listed in the report.
+- **No `gh` inside command substitution.** `workflow-security-audit` never
+  passes `--gh-token "$(gh auth token)"` to zizmor: under the secure setup
+  a `gh` inside `$(…)` stays sandboxed and cannot read its credentials.
+  zizmor reads its token from `GH_TOKEN`, `GITHUB_TOKEN` or
+  `ZIZMOR_GITHUB_TOKEN`; with none set, the skill scans a shallow clone
+  made by a plain `gh repo clone`, or asks the user to run the remote scan
+  from their own terminal (#1453).
 
 ## Out of scope
 
diff --git a/tools/spec-loop/specs/security-issue-lifecycle.md b/tools/spec-loop/specs/security-issue-lifecycle.md
index d33e54b8..1bde44c6 100644
--- a/tools/spec-loop/specs/security-issue-lifecycle.md
+++ b/tools/spec-loop/specs/security-issue-lifecycle.md
@@ -190,7 +190,9 @@ publication, with a human gate and an audit-log entry at every step.
   and a message matches an enabled adapter's sender or preamble pattern,
   a strict subset of the sub-skill's own *not a relay* outcome.
   `gh` calls that were wrapped in `$(…)` or piped are now plain commands,
-  which the secure setup needs.
+  which the secure setup needs; #1453 made the last one plain too
+  (`security-issue-invalidate` Step 1 no longer redirects `gh issue view`
+  into a file, it reads the JSON the plain command prints).
 - **Small always-on footprint (#1447).**
   Each security skill's `description` and `when_to_use`, which load in
   every session, state only its purpose, main trigger phrases and where