Skip to content

ci(fullsend): pin verify-pr reusable-dispatch and remove vendor shim - #338

Merged
mrizzi merged 3 commits into
mainfrom
TC-6909
Oct 13, 2026
Merged

mrizzi merged 3 commits into
mainfrom
TC-6909

Conversation

@mrizzi

@mrizzi mrizzi commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Pin reusable-dispatch in .github/workflows/fullsend-verify-pr.yml to d5f36921ac754705619f38c637ef692873809fbc # v0 as of 2026-09-30. The floating @v0 tag advanced to c68903c0, which moved GCP setup into ./.defaults and no longer exports GOOGLE_APPLICATION_CREDENTIALS before fullsend run → every verify-pr dispatch failed with host_files[1].src: host variable GOOGLE_APPLICATION_CREDENTIALS is not set (e.g. PR ci: remove retired verify-pr-fullsend branch filters #337, run 38410084785).
  • Remove the vendor shim .github/workflows/fullsend.yaml. As a pull_request_target workflow it only became active once it reached main (PR feat(fullsend): integrate verify-pr and triage-security (TC-6201) #299), and it now posts the vendor Review agent on every PR. This deployment only runs verify-pr, which fullsend-verify-pr.yml dispatches directly.
  • Update header comments (fullsend-verify-pr.yml, .fullsend/config.yaml) and fullsend.md: removed the shim/config-grep rationale and added a Pinning reusable-dispatch section explaining when and how to advance the pin.
  • TC-6911 (Sourcery review feedback): fullsend.md "How it works" bullet and file-inventory table now say verify-pr is registered in .fullsend/config.base.yaml (where the allowed remote-resource prefix also lives); .fullsend/config.yaml is described as the inference-only repo overlay.
  • TC-6913 (fullsend-ai-review feedback): the fullsend.md setup bullet and file-inventory row for .fullsend/config.base.yaml now name both registered agents, verify-pr and triage-security.

fullsend_version, the trigger, the ok-to-test gate, concurrency, permissions and the secrets mapping are unchanged. The harness, lock and base config are untouched. Adapting host_files to the new vendor credential model is a separate follow-up.

Verification

  • git diff --check clean; git grep 'reusable-dispatch.yml@v0' -- .github → no matches; shim deleted
  • uvx skillsaw (0 errors), claude plugin validate plugins/sdlc-workflow passed
  • Pinned SHA confirmed to exist in fullsend-ai/fullsend with reusable-dispatch.yml present

Expected: this PR's own verify-pr run will still fail. pull_request_target runs main's copy of the workflow, not this branch's. The end-to-end proof is re-triggering verify-pr on PR #337 after this merges.

Implements TC-6909

🤖 Generated with Claude Code

Summary by Sourcery

Stabilize Fullsend verify-pr dispatches by pinning the reusable workflow and removing the obsolete vendor shim.

Bug Fixes:

  • Pin the verify-pr reusable workflow to a known-good commit to prevent failures caused by upstream credential-handling changes.

Enhancements:

  • Remove the vendor pull-request-target shim so verify-pr is the repository’s only Fullsend workflow.
  • Clarify the layered Fullsend configuration and document the reusable-workflow pinning and update process.

CI:

  • Update the verify-pr workflow to use a full SHA instead of the floating reusable-dispatch tag.

Documentation:

  • Update Fullsend documentation to reflect agent registration, workflow ownership, shim removal, and reusable-dispatch pinning.

Chores:

  • Remove the obsolete .github/workflows/fullsend.yaml vendor shim.

The floating reusable-dispatch.yml@v0 tag advanced to c68903c0, which
moved GCP setup into ./.defaults and no longer exports
GOOGLE_APPLICATION_CREDENTIALS before fullsend run, so every verify-pr
dispatch failed harness host_files validation. Pin to d5f36921 (v0 as
of the last green run, 2026-09-30).

Remove the vendor shim .github/workflows/fullsend.yaml: it went live on
main after the verify-pr-fullsend graduation and fires the vendor Review
agent on every PR, but this deployment is verify-pr-only and dispatches
verify-pr directly. Update header comments and fullsend.md accordingly.

Implements TC-6909

Assisted-by: Claude Code
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sourcery-ai

sourcery-ai Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Reviewer's Guide

The PR stabilizes verify-pr dispatch by pinning reusable-dispatch to the last known-good vendor commit, removes the now-unwanted vendor pull_request_target shim, and updates configuration/documentation to explain the direct workflow and safe pin-advance process. Existing triggers, gating, permissions, concurrency, secrets, and harness configuration remain unchanged.

File-Level Changes

Change Details Files
Pin the vendor reusable workflow to a known-good commit to preserve credential propagation until the harness is compatible with the newer vendor model.
  • Replace floating @v0 with the full SHA d5f36921ac754705619f38c637ef692873809fbc.
  • Document the failure caused by the newer v0 revision and the procedure for advancing the pin.
.github/workflows/fullsend-verify-pr.yml
fullsend.md
Remove the vendor pull-request router because this repository deploys only the dedicated verify-pr workflow.
  • Delete the pull_request_target vendor shim that posted the standard Review agent on every PR.
  • Update configuration and documentation to describe the shim removal and its re-scaffolding caveat.
.github/workflows/fullsend.yaml
.fullsend/config.yaml
fullsend.md
Refresh workflow and configuration comments to reflect direct dispatch through the layered fullsend configuration.
  • Remove the obsolete config-grep and coexistence rationale.
  • Clarify that verify-pr is resolved from config.base.yaml and dispatched directly by the dedicated workflow.
.github/workflows/fullsend-verify-pr.yml
.fullsend/config.yaml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@fullsend-ai-review

fullsend-ai-review Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 4:42 PM UTC · Completed 4:52 PM UTC

Commit: e49babf · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-8 · Effort: high · Cost: $5.61

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 1 issue

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location path="fullsend.md" line_range="156-157" />
<code_context>
-   dispatches verify-pr, while `fullsend dispatch` / `fullsend run` still resolve
-   it because `LoadConfig` merges `config.yaml` over `config.base.yaml` (ADR 0069).
+   layer, and `.fullsend/config.yaml`, the repo overlay). `install_mode: per-repo`
+   throughout. **verify-pr is registered only in `config.base.yaml`**;
+   `fullsend dispatch` / `fullsend run` resolve it because `LoadConfig` merges
+   `config.yaml` over `config.base.yaml` (ADR 0069). Setup also scaffolds the
+   vendor shim workflow `.github/workflows/fullsend.yaml` — a
</code_context>
<issue_to_address>
**Agent registration guidance conflicts**

When a maintainer consults the guide to change the agent registration, the new installation section says `verify-pr` is registered only in `config.base.yaml`, while the guide’s “How it works” section and file inventory still say `.fullsend/config.yaml` registers it. Maintainers consulting the guide get conflicting directions about where to change the registration.

Update the remaining guide descriptions to say the registration is in `.fullsend/config.base.yaml`.
</issue_to_address>

Sourcery assessment

Needs a human reviewer. The pinned reusable workflow runs with OIDC-backed credentials and pull-request write permissions; if this revision mishandles them, credentials or PR actions could be exposed or misused. Reverting restores the prior workflow but cannot undo any exposure or PR actions that already occurred.


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

Comment thread fullsend.md
@fullsend-ai-review fullsend-ai-review Bot added the risk/moderate PR risk: moderate label Oct 13, 2026
@fullsend-ai-review

fullsend-ai-review Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Risk Assessment: moderate (2/5)

Details

CI-workflow and protected-path changes raise metadata risk, but the config/CI/docs-only diff with no security or dependency files, an experienced author, and a very recent low-churn feature area keep the composite at moderate.

Previous run

Risk Assessment: moderate (2/5)

Details

Tier 1 metadata signals (file-count range, 2 protected-path changes, no dependency changes, human author) are unchanged from the prior assessment, and stable single-author git history with no reverts or regression fixes provides no reason to differ, so the moderate score is preserved.

Previous run (2)

Risk Assessment: moderate (2/5)

Details

CI/workflow edits and two protected-path (.github/workflows) changes raise Tier 1 above a routine baseline, but low churn, a single author, and very recent/stable git history with no source, test, or dependency changes keep overall risk moderate.

@fullsend-ai-review

fullsend-ai-review Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Review

Findings

Medium

  • [protected-path] .github/workflows/fullsend-verify-pr.yml, .github/workflows/fullsend.yaml — This PR changes files under the protected .github/ path (pins the reusable-dispatch uses: to a full commit SHA, and deletes the vendor shim). The PR links to Jira TC-6909 and the description explains the rationale, so context is sufficient — but human approval is always required for governance/infrastructure (.github/) changes regardless of context.

Low

  • [documentation-comment-format] fullsend.md:31 — The line added by this PR runs to ~100 columns, breaking the ~80-column prose wrap used throughout the file.
    Remediation: Re-wrap so the sentence about the overlay (.fullsend/config.yaml is the repo overlay ...) starts on a new ~80-column line.
  • [correctness] fullsend.md:11 — The intro still says "a single pinned-URL registration" / "the only skill wired up today is verify-pr," while the body now documents two registered agents (verify-pr and triage-security). The intro is outside this diff and the tension is partly pre-existing/reconcilable, so no change is strictly required; reconciling it would improve coherence.
  • [supply-chain] .github/workflows/fullsend-verify-pr.yml:226 — Pre-existing (not changed here): the remove-ok-to-test job uses actions/github-script@v9 (floating tag) in a pull_request_target workflow. Narrow permissions and a repo-wide convention, so out of scope for this PR; noted for awareness. The SHA pin this PR adds to reusable-dispatch is the correct, in-scope strengthening.

Next steps:

  • /fs-fix — agent addresses review findings automatically
  • /fs-fix <your instruction> — agent fixes with your specific guidance
  • Push commits directly — review re-runs automatically on push
  • /fs-fix-stop — disable automatic fix runs for this PR
Previous run

Review

Findings

Medium

  • [protected-path] .github/workflows/fullsend-verify-pr.yml, .github/workflows/fullsend.yaml — This PR modifies governance/infrastructure files under the protected .github/ path (it pins the vendor reusable-dispatch workflow to a full SHA and deletes the vendor shim .github/workflows/fullsend.yaml). The change is justified and traces to the linked TC-6909/TC-6911 tickets, but human approval is always required for protected-path changes regardless of context.
  • [docs-architecture-coherence] fullsend.md:453 (and the setup bullet at lines 27-32) — The rewritten description of .fullsend/config.base.yaml states it registers only the verify-pr agent, but config.base.yaml registers two agents: verify-pr and triage-security. The TC-6911 documentation correction is incomplete.
    Remediation: Update the config.base.yaml descriptions in fullsend.md (setup bullet lines 27-32 and the file-inventory table row line 453) to note it registers both verify-pr and triage-security.

Low

  • [injection] .github/workflows/fullsend-verify-pr.yml:226 — Pre-existing: the remove-ok-to-test job uses actions/github-script@v9, a floating major-version tag, while this PR's hardening intent and the sibling lewagon/wait-on-check-action step pin to full SHAs. It runs under pull_request_target with pull-requests: write; github-script is first-party and only performs an inline removeLabel, so exploit risk is low, but the floating tag is inconsistent with the SHA-pinning policy this PR establishes.
    Remediation: Pin actions/github-script to a full commit SHA with a trailing # v9.x.y comment.

Next steps:

  • /fs-fix — agent addresses review findings automatically
  • /fs-fix <your instruction> — agent fixes with your specific guidance
  • Push commits directly — review re-runs automatically on push
  • /fs-fix-stop — disable automatic fix runs for this PR
Previous run (2)

Review

Findings

Medium

  • [protected-path] .github/workflows/fullsend-verify-pr.yml, .github/workflows/fullsend.yaml — This PR modifies files under the protected path .github/: fullsend-verify-pr.yml is edited to pin the vendor reusable-dispatch.yml uses: to a full commit SHA, and the vendor shim fullsend.yaml is deleted. The PR links Jira TC-6909 and explains the rationale (the floating @v0 tag advanced and broke the child harness's GOOGLE_APPLICATION_CREDENTIALS export; the shim is removed because this deployment is verify-pr-only), so context is sufficient. Human approval is always required for protected-path (governance / CI-infrastructure) changes regardless of context — a human reviewer must confirm these .github/workflows/ changes before merge.

@fullsend-ai-review fullsend-ai-review Bot added the requires-manual-review Review requires human judgment label Oct 13, 2026
@mrizzi

mrizzi commented Oct 13, 2026

Copy link
Copy Markdown
Collaborator Author

[sdlc-workflow/verify-pr] Re: @sourcery-ai[bot] review —

  1. Classified as code change request (agent-registration guidance conflict in fullsend.md, same as inline comment 4261430751): sub-task TC-6911 created to address this feedback.
  2. Classified as suggestion ("Needs a human reviewer" for the pinned reusable workflow's OIDC and PR-write permissions): this is an advisory review note, not a code change. CONVENTIONS.md has no matching convention, the PR leaves the workflow's permissions and secrets mapping unchanged, and pinning by full SHA follows the repo's existing pinned-action pattern. Human review before merge is required anyway. No sub-task created.

@mrizzi

mrizzi commented Oct 13, 2026

Copy link
Copy Markdown
Collaborator Author

Verification Report for TC-6909 (commit e49babf)

Check Result Details
Review Feedback WARN 3 items from sourcery-ai (1 inline thread, 1 review body split in 2). 2 are code change requests about the same fullsend.md registration conflict, tracked by sub-task TC-6911. 1 is a suggestion ("needs a human reviewer"), with no sub-task.
Root-Cause Investigation DONE Universal method gap in implement-task: no post-edit sweep for contradicting statements in the same doc. Already tracked by open TC-6446, so it was linked (Related) and commented there instead of creating a duplicate.
Scope Containment PASS All 4 files match the task: 3 modified (.fullsend/config.yaml, fullsend-verify-pr.yml, fullsend.md) and 1 deleted (fullsend.yaml).
Diff Size PASS +53/−142 across 4 files. 121 of the deletions are the required shim removal.
Commit Traceability PASS The single commit e49babf contains "Implements TC-6909".
Sensitive Patterns PASS No secrets in added lines. The 40-hex string is a public commit SHA.
CI Status PASS Plugin Validation, Script Unit Tests (3.11–3.14), Skill Lint and Sourcery pass. The verify-pr dispatch skipped as expected, because pull_request_target runs main's copy.
Acceptance Criteria WARN 3 of 3 pre-merge ACs met: SHA pin with no @v0 left; shim deleted with no doc describing it as active; trigger, gate, concurrency, permissions and secrets unchanged. ACs 4–5 (PR #337 re-run succeeds; no vendor Review run) are post-merge and deferred.
Test Quality N/A No test files changed. Eval Quality: N/A (no eval result review).
Test Change Classification N/A No test files modified or deleted.
Verification Commands PASS Clean: git diff --check. No matches: git grep reusable-dispatch.yml@v0 -- .github. Exit 0: test ! -e .github/workflows/fullsend.yaml. Passed: claude plugin validate. Skillsaw passes in CI. The post-merge gh run list check is deferred.

Overall: WARN

  • TC-6911 (Blocks TC-6909): fullsend.md:27 and the inventory row at fullsend.md:449 still say .fullsend/config.yaml registers verify-pr. That contradicts the PR's install section and .fullsend/config.base.yaml:17-19. The wrong text existed before this PR; the fix is doc-only.
  • Post-merge proof pending: ACs 4–5 need a verify-pr re-run on PR ci: remove retired verify-pr-fullsend branch filters #337 after this merges.
  • Protected .github/workflows/ changes need human approval before merge, as the fullsend review and Sourcery also note.

This comment was AI-generated by sdlc-workflow/verify-pr v0.13.10.

The "How it works" bullet and file-inventory row still said
.fullsend/config.yaml registers verify-pr, contradicting the install
section. Registration (and the allowed remote-resource prefix) live in
config.base.yaml; config.yaml is the inference-only repo overlay.

Implements TC-6911

Assisted-by: Claude Code
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fullsend-ai-review

fullsend-ai-review Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 5:06 PM UTC · Completed 5:24 PM UTC

Commit: f9d2dc1 · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-8 · Effort: high · Cost: $9.60

fullsend-ai-review[bot]

This comment was marked as outdated.

fullsend-ai-review[bot]

This comment was marked as outdated.

@fullsend-ai-review fullsend-ai-review Bot removed the requires-manual-review Review requires human judgment label Oct 13, 2026
@mrizzi

mrizzi commented Oct 13, 2026

Copy link
Copy Markdown
Collaborator Author

[sdlc-workflow/verify-pr] Re: @fullsend-ai-review[bot] review — Classified as suggestion (pin actions/github-script@v9 in fullsend-verify-pr.yml to a full SHA): CONVENTIONS.md has no Actions SHA-pinning convention, and the codebase pins most actions by tag (29 of 33 uses: refs; all 11 actions/github-script refs use @v9). The line is pre-existing, and this task keeps the rest of the workflow unchanged. Pinning one of the 11 would also make the workflows less consistent. If SHA-pinning is wanted, adopt it repo-wide in a separate change. No sub-task created.

@mrizzi

mrizzi commented Oct 13, 2026

Copy link
Copy Markdown
Collaborator Author

Verification Report for TC-6909 (commit f9d2dc1)

Check Result Details
Review Feedback WARN 5 items: 3 classified in the previous run (sourcery-ai; addressed by TC-6911 in f9d2dc1) and 2 new from fullsend-ai-review. New code change request 4261834494 (fullsend.md says config.base.yaml registers only verify-pr, but it also registers triage-security) → sub-task TC-6913. New suggestion: pin actions/github-script@v9. The line is pre-existing and there is no SHA-pinning convention (29/33 refs are tag-pinned), so no sub-task.
Root-Cause Investigation DONE TC-6914: verify-pr's TC-6911 sub-task cited a partial source-of-truth range (config.base.yaml:17-19) that left out triage-security. Skill gap in verify-pr Step 6c/6d.
Scope Containment PASS The 4 files changed are exactly the 3 to modify and 1 to delete in the task spec. No out-of-scope or unimplemented files.
Diff Size PASS +61/−145 across 4 files (4 expected). 121 of the deletions are the shim removal the task asks for.
Commit Traceability WARN 1/2 commits reference TC-6909. f9d2dc1 references only sub-task TC-6911.
Sensitive Patterns PASS No secrets. GOOGLE_APPLICATION_CREDENTIALS appears only as a variable name, and the 40-hex string is a commit SHA.
CI Status WARN All substantive checks pass (Skill Lint, Script Unit Tests ×4, Plugin Validation, Sourcery). The only failure is verify-pr's own harness run: pull_request_target executes main's unpinned @v0 copy and hits the GOOGLE_APPLICATION_CREDENTIALS error this PR fixes. The task predicts this failure.
Acceptance Criteria WARN 3 of 5 met (SHA pin with no @v0 left; shim deleted and docs describe it as removed; only the uses: line changed). ACs 4–5 can only be checked after merge (re-run verify-pr on #337).
Test Quality N/A No test files. Eval Quality: N/A
Test Change Classification N/A No test files modified or deleted.
Verification Commands PASS git diff --check is clean, there are no reusable-dispatch.yml@v0 matches, the shim is absent, uvx skillsaw gives grade A with 0 errors, and claude plugin validate passes. The post-merge gh run list is deferred.

Overall: WARN

  • TC-6913 (blocks this task) needs fixing before merge: describe config.base.yaml as registering both verify-pr and triage-security in fullsend.md (setup bullet around line 27 and inventory row around line 453).
  • The CI failure on verify-pr's own harness is expected. Merging this PR is the fix.
  • Optional: add Refs TC-6909 to f9d2dc1 for direct traceability.
  • Post-merge: re-trigger verify-pr on ci: remove retired verify-pr-fullsend branch filters #337 to prove ACs 4–5 (Harness run succeeds; no vendor dispatch / Review run).
  • fullsend-ai-review also flags a protected-path change (.github/) that needs human approval before merge.

This comment was AI-generated by sdlc-workflow/verify-pr v0.13.10.

config.base.yaml registers both verify-pr and triage-security; the
setup bullet and file-inventory row only named verify-pr.

Implements TC-6913

Assisted-by: Claude Code
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fullsend-ai-review

fullsend-ai-review Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 9:37 PM UTC · Completed 9:55 PM UTC

Commit: 8dae549 · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-8 · Effort: high · Cost: $7.55

@fullsend-ai-review fullsend-ai-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: The following review comments could not be posted on the diff (GitHub returned 422) and are included here instead:

  • fullsend.md (file-level): Line 11 ·
    [low] correctness

The intro (lines 9-14, not changed by this PR) still states 'a single pinned-URL registration' and 'the only skill wired up today is verify-pr', while this PR's body edits now document two registered agents (verify-pr and triage-security) in .fullsend/config.base.yaml. The tension is largely pre-existing and partly reconcilable ('wired up ... via a CI-gated dispatch' can be read as verify-pr being the only CI-dispatched skill), so no change is strictly required here; reconciling the intro with the expanded body would improve coherence.

  • .github/workflows/fullsend-verify-pr.yml (file-level): Line 226 ·
    [low] supply-chain

Pre-existing (not introduced by this diff): the remove-ok-to-test job uses actions/github-script@v9, a floating major-version tag, within a pull_request_target workflow. Risk is limited — a first-party action with narrow permissions (pull-requests: write), and @v9 is a repo-wide convention (10+ uses elsewhere), so pinning only this occurrence would be inconsistent and out of scope for this PR. Noted for awareness; the SHA pin this PR adds to reusable-dispatch is the correct, in-scope strengthening.

@fullsend-ai-review fullsend-ai-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See the review comment for full details.

Comment thread fullsend.md
the `verify-pr` and `triage-security` agents (`source: harness/verify-pr.yaml`
/ `harness/triage-security.yaml`, i.e. the **local composing children**
`.fullsend/harness/verify-pr.yaml` and `.fullsend/harness/triage-security.yaml`)
and the single allowed remote-resource prefix. `.fullsend/config.yaml` is the repo overlay (inference

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[low] documentation-comment-format

The line added by this PR runs to ~100 columns, breaking the ~80-column prose wrap used throughout fullsend.md. There is a natural break after 'prefix.'.

Suggested fix: Re-wrap the line so the sentence about the overlay ('.fullsend/config.yaml is the repo overlay ...') starts on a new ~80-column line, matching the surrounding paragraph.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[sdlc-workflow/verify-pr] Classified as nit: a cosmetic line-wrap issue that does not affect correctness. CONVENTIONS.md (Code Style) sets "No strict limit" on line length, and fullsend.md has no consistent 80-column wrap (150 of 691 lines are longer than 80 columns). No sub-task created.

@mrizzi

mrizzi commented Oct 13, 2026

Copy link
Copy Markdown
Collaborator Author

[sdlc-workflow/verify-pr] Re: @fullsend-ai-review[bot] review (8dae549) —

  1. Classified as suggestion (fullsend.md:11 intro still says "a single pinned-URL registration" and "the only skill wired up today is verify-pr"): this is outside the diff and the reviewer says no change is strictly required. The wording is still accurate: verify-pr is the only CI-dispatched skill, and "single pinned-URL" refers to the root-harness pin. No CONVENTIONS.md rule requires it to change. No sub-task created.
  2. Classified as suggestion (actions/github-script@v9 floating tag at fullsend-verify-pr.yml:226): this repeats the finding classified on f9d2dc1. The line is pre-existing, CONVENTIONS.md has no Actions SHA-pinning convention, and the codebase tag-pins by default (27 of 31 uses: refs; all 11 github-script refs use @v9). The reviewer also marks it out of scope. No sub-task created.

@mrizzi

mrizzi commented Oct 13, 2026

Copy link
Copy Markdown
Collaborator Author

Verification Report for TC-6909 (commit 8dae549)

Check Result Details
Review Feedback PASS 8 items: 5 classified in earlier runs (code change requests fixed by TC-6911 in f9d2dc1 and TC-6913 in 8dae549) and 3 new from fullsend-ai-review, none of them code change requests. Nit: fullsend.md:31 wrap at 103 columns; CONVENTIONS.md sets no line-length limit. Suggestion: the intro wording at fullsend.md:11 is outside the diff and still accurate. Suggestion: the github-script@v9 pin repeats an earlier finding, is pre-existing, and matches the repo's tag-pin convention. No sub-tasks.
Root-Cause Investigation N/A No new sub-tasks created.
Scope Containment PASS The 4 files changed are exactly the 3 to modify and 1 to delete in the task spec. The TC-6911/TC-6913 fixes stay inside fullsend.md. Protected files (.fullsend/harness/, lock.yaml, config.base.yaml) are untouched.
Diff Size PASS +62/−145 across 4 files (4 expected). 121 of the deletions are the shim removal.
Commit Traceability WARN 1/3 commits reference TC-6909. f9d2dc1 and 8dae549 reference only sub-tasks TC-6911 and TC-6913, which are review fixes for this PR.
Sensitive Patterns PASS No secrets. GOOGLE_APPLICATION_CREDENTIALS appears only as a variable name, and the 40-hex string is a public commit SHA.
CI Status WARN All substantive checks pass (Skill Lint, Script Unit Tests ×4, Plugin Validation, Sourcery). The only failure is verify-pr's own harness run: pull_request_target executes main's @v0 copy (resolving to c68903c0) and hits GOOGLE_APPLICATION_CREDENTIALS is not set, which is the error this PR fixes. The task predicts this failure.
Acceptance Criteria WARN 3 of 5 met: AC1 SHA pin d5f36921… with no @v0 left; AC2 shim deleted, with every remaining mention describing it as removed; AC3 only the uses: line changed. ACs 4–5 can only be checked after merge (re-run verify-pr on #337).
Test Quality N/A No test files. Eval Quality: N/A
Test Change Classification N/A No test files modified or deleted.
Verification Commands PASS git diff --check is clean, there are no reusable-dispatch.yml@v0 matches, the shim is absent, uvx skillsaw gives grade A with 0 errors, and claude plugin validate passes. The post-merge gh run list is deferred.

Overall: WARN

  • Both blocking review sub-tasks are fixed on this branch (TC-6911 in f9d2dc1, TC-6913 in 8dae549). No new code change requests.
  • The CI failure on verify-pr's own harness is expected. Merging this PR is the fix.
  • Optional: add Refs TC-6909 to f9d2dc1 and 8dae549 for direct traceability. Optional: re-wrap fullsend.md:31 (nit).
  • Post-merge: re-trigger verify-pr on ci: remove retired verify-pr-fullsend branch filters #337 to prove ACs 4–5 (Harness run succeeds; no vendor dispatch / Review run).
  • .github/ protected-path change: needs human approval before merge.

This comment was AI-generated by sdlc-workflow/verify-pr v0.13.10.

@mrizzi
mrizzi merged commit bc66693 into main Oct 13, 2026
27 of 28 checks passed
@mrizzi
mrizzi deleted the TC-6909 branch October 13, 2026 22:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk/moderate PR risk: moderate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant