Repository navigation
Conversation
PR Summary by QodoUse runtime-neutral paths for PR risk assessment
AI Description
Diagram
High-Level Assessment
Files changed (4)
|
|
🤖 Finished Review · ✅ Success · Started 5:13 PM UTC · Completed 5:20 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5-5 · Effort: high · Cost: $1.30 |
Code Review by Qodo
1. Protected files require human approval
|
| FULLSEND_OUTPUT_DIR | ||
| FULLSEND_OUTPUT_SCHEMA | ||
| FULLSEND_ROLE | ||
| FULLSEND_SKILLS_DIR |
There was a problem hiding this comment.
1. Protected files require human approval 📜 Skill insight § Compliance
The PR modifies files under scripts/ and skills/, both listed in the repository's active REVIEW_PROTECTED_PATHS value. Any changed file under those prefixes requires a protected-path review finding, so this PR cannot be auto-approved.
|
<!-- fullsend:risk-assessment --> DetailsPreserving prior score of 2 (moderate) as Tier 1 metadata signals are unchanged for this 4-file, 11-line mechanical env-var rename touching 4 protected paths with no CI, dependency, or security-sensitive changes. Previous run<!-- fullsend:risk-assessment --> DetailsPreserving prior score of 2 (moderate) as Tier 1 metadata signals are unchanged for this 4-file, 11-line mechanical env-var rename touching 4 protected paths with no CI, dependency, or security-sensitive changes. Previous run (2)<!-- fullsend:risk-assessment --> DetailsTier 1 signals are unchanged from the prior run: a tiny 4-file, 11-line mechanical env-var rename with no CI, dependency, or security changes across 4 protected paths, yielding a composite of 2.1 that anchors the score at moderate (2). Previous run (3)<!-- fullsend:risk-assessment --> DetailsTier 1 signals are unchanged from the prior run: a tiny 4-file, 11-line mechanical env-var rename with no CI, dependency or security-sensitive changes, and all 4 files are protected paths. Fix-heavy file history and the dependency on upstream runtimes exporting FULLSEND_SKILLS_DIR give a composite of about 2.1, so the prior score of 2 stands. Previous run (4)<!-- fullsend:risk-assessment --> DetailsTiny 11-line, 4-file mechanical env-var rename with no CI, dependency or security-sensitive changes and a well-scoped issue, but all 4 files are protected paths and have heavy recent fix churn, giving a composite of about 2.0. Residual risk is that runtimes that do not export FULLSEND_SKILLS_DIR will break the script path. Previous run (5)<!-- fullsend:risk-assessment --> DetailsTiny 11-line, 4-file mechanical env-var rename with no CI, dependency or security-sensitive changes and a scoped issue, but all 4 files are protected paths and the files have had frequent fix commits recently, so the composite is about 2.1, which rounds to 2. Previous run (6)<!-- fullsend:risk-assessment --> DetailsTier 1 signals are unchanged from the prior run (4 files, 11 lines, 4 protected paths, no dependency changes, human author), so the prior score of 2 stands. Tier 2 shows moderate churn and heavy fix history. Tier 3 shows a small, well-scoped change, with some rollback risk because runtime support for FULLSEND_SKILLS_DIR is unconfirmed. Previous run (7)<!-- fullsend:risk-assessment --> DetailsTier 1 signals are unchanged from the prior run (4 files, 11 lines, 4 protected paths, no dependency changes, human author), so the prior score of 2 stands. Tier 2 shows moderate churn and heavy fix history. Tier 3 shows a small, well-scoped change with rollback risk because upstream FULLSEND_SKILLS_DIR support is unconfirmed. Previous run (8)<!-- fullsend:risk-assessment --> DetailsTier 1 signals match the prior run (4 files, 11 lines, 4 protected paths, no dependency changes, human author), so the prior score of 2 is kept. The change is a small, focused variable rename. The residual risk is high fix/revert history on the touched files and unconfirmed runtime export of FULLSEND_SKILLS_DIR. Previous run (9)<!-- fullsend:risk-assessment --> DetailsTiny 4-file, 11-line refactor that swaps one env var path for another and matches the issue scope. Risk is lifted slightly above the minimum by 4 protected-path files (agent skill and script files), high fix/revert history on the touched files, and no feature flag. Previous run (10)<!-- fullsend:risk-assessment --> DetailsTier 1 is unchanged from the prior run (4 files, 11 lines, 4 protected paths, human author, no CI or dependency changes). Tier 2 still shows moderate churn and many fix/revert commits, and Tier 3 shows a small, well-scoped change, so the prior score of 2 stands. The residual risk is that the change merges before runtimes export FULLSEND_SKILLS_DIR. Previous run (11)<!-- fullsend:risk-assessment --> DetailsTier 1 is unchanged from the prior run: 4 files, 11 lines, 4 protected paths, human author, no CI or dependency changes. Tier 2 shows moderate churn and a high count of fix/revert commits, and Tier 3 shows a small, well-scoped change. The weighted composite is about 2.2, so the prior score of 2 stands. The main residual risk is that the migration may land before the runtime exports FULLSEND_SKILLS_DIR, which would break the skill path. Previous run (12)<!-- fullsend:risk-assessment --> DetailsTier 1 is unchanged from the prior run: 4 files, 11 lines, 4 protected paths, human author, no CI or dependency changes. Nothing in Tier 2 or Tier 3 justifies changing the prior score of 2. The main residual risk is that the runtime may not export FULLSEND_SKILLS_DIR. Previous run (13)<!-- fullsend:risk-assessment --> DetailsTier 1 is unchanged from the prior run (4 files, 11 lines, 4 protected paths, human author), Tier 2 shows moderate churn and heavy fix history, and Tier 3 carries rollback risk because the runtime-side env var is not confirmed, so the prior score of 2 stands. Previous run (14)<!-- fullsend:risk-assessment --> DetailsTier 1 is unchanged from the prior run (4 files, 11 lines, 4 protected paths, human author). Tier 2 shows moderate churn and a high fix history. Tier 3 carries rollback risk because upstream FULLSEND_SKILLS_DIR support is unconfirmed. The composite is about 2.05, so the prior score of 2 stands. Previous run (15)<!-- fullsend:risk-assessment --> DetailsTier 1 is unchanged from the prior run (4 files, 11 lines, 4 protected paths, human author). Tier 2 shows moderate churn and fix history, and Tier 3 carries a small rollback risk because upstream FULLSEND_SKILLS_DIR support is unconfirmed. The composite is about 2.0, so the prior score of 2 stands. Previous run (16)<!-- fullsend:risk-assessment --> DetailsTier 1 is unchanged from the prior run (4 files, 11 lines, 4 protected paths, human author), and Tier 2 churn and fix history plus Tier 3 rollback concerns give a composite of about 2.0 (0.5×1.88 + 0.3×2.3 + 0.2×2.0), so the prior score of 2 stands. Previous run (17)<!-- fullsend:risk-assessment --> DetailsTier 1 is unchanged from the prior run: 4 files and 11 lines, all 4 files in protected paths, no CI, dependency or security-sensitive files, and a human author. The files have moderate recent churn and fix history, and the change alters the skill invocation path with no flag, so the composite is about 2.0 and the prior score of 2 stands. Previous run (18)<!-- fullsend:risk-assessment --> DetailsSmall 4-file, 11-line change with no CI, dependency or security-sensitive files, but all 4 files are in protected paths. It changes the skill invocation path with no flag while upstream FULLSEND_SKILLS_DIR support is unconfirmed. Tier 1 signals are unchanged from the prior run, so the score stays at 2. Previous run (19)Risk Assessment: moderate (2/5) DetailsSmall 4-file, 11-line change with no CI, dependency or security-sensitive files, but all 4 files are in protected paths and it changes the skill invocation path with no flag while upstream FULLSEND_SKILLS_DIR support is unconfirmed; Tier 1 signals are unchanged from the prior run, so the score stays at 2. Previous run (20)Risk Assessment: moderate (2/5) DetailsSmall 4-file, 11-line change with no CI, dependency or security-sensitive files, but all 4 files are in protected paths and it alters the skill invocation path with no flag while upstream support for FULLSEND_SKILLS_DIR is unconfirmed. Previous run (21)Risk Assessment: moderate (2/5) DetailsTiny 4-file, 11-line refactor with no CI, dependency or security-sensitive changes, but all four files are protected paths and the FULLSEND_SKILLS_DIR migration may be blocked until upstream runtimes export the variable (unverified). |
ReviewFindingsHigh
Medium
Low
Next steps:
Previous run<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJoaWdoIiwiY2F0ZWdvcnkiOiJicmVha2luZy1jb25maWciLCJmaWxlIjoic2tpbGxzL3ByLXJldmlldy9zdWItYWdlbnRzL3Jpc2stYXNzZXNzbWVudC5tZCIsImlkIjoiZl9lMWIxZDc3M2I5NjZiYjAwIiwibGluZSI6MjcsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJsb3ciLCJjYXRlZ29yeSI6InRlc3Qtd2Vha2VuZWQiLCJmaWxlIjoic2NyaXB0cy9za2lsbC1lbnYtcmVhY2hhYmlsaXR5LXRlc3Quc2giLCJpZCI6ImZfMzdhYzJiNjg5NWQ4NzMyYiIsImxpbmUiOjQzLCJhY3Rpb25hYmxlIjpmYWxzZX1dLCJkaXNwb3NpdGlvbnMiOlt7ImlkIjoiZl9lMWIxZDc3M2I5NjZiYjAwIiwic3RhdHVzIjoib3BlbiJ9LHsiaWQiOiJmXzM3YWMyYjY4OTVkODczMmIiLCJzdGF0dXMiOiJvcGVuIn1dfQ== --> ReviewFindingsHigh
Medium
Low
Next steps:
Previous run (2)<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJoaWdoIiwiY2F0ZWdvcnkiOiJicmVha2luZy1jb25maWciLCJmaWxlIjoic2tpbGxzL3ByLXJldmlldy9zdWItYWdlbnRzL3Jpc2stYXNzZXNzbWVudC5tZCIsImlkIjoiZl9lMWIxZDc3M2I5NjZiYjAwIiwibGluZSI6MjcsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJsb3ciLCJjYXRlZ29yeSI6InRlc3Qtd2Vha2VuZWQiLCJmaWxlIjoic2NyaXB0cy9za2lsbC1lbnYtcmVhY2hhYmlsaXR5LXRlc3Quc2giLCJpZCI6ImZfMzdhYzJiNjg5NWQ4NzMyYiIsImxpbmUiOjQzLCJhY3Rpb25hYmxlIjpmYWxzZX1dLCJkaXNwb3NpdGlvbnMiOlt7ImlkIjoiZl9lMWIxZDc3M2I5NjZiYjAwIiwic3RhdHVzIjoib3BlbiJ9LHsiaWQiOiJmXzM3YWMyYjY4OTVkODczMmIiLCJzdGF0dXMiOiJvcGVuIn1dfQ== --> ReviewFindingsHigh
Medium
Low
Next steps:
Previous run (3)<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJoaWdoIiwiY2F0ZWdvcnkiOiJicmVha2luZy1jb25maWciLCJmaWxlIjoic2tpbGxzL3ByLXJldmlldy9zdWItYWdlbnRzL3Jpc2stYXNzZXNzbWVudC5tZCIsImlkIjoiZl9lMWIxZDc3M2I5NjZiYjAwIiwibGluZSI6MjcsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJsb3ciLCJjYXRlZ29yeSI6InRlc3Qtd2Vha2VuZWQiLCJmaWxlIjoic2NyaXB0cy9za2lsbC1lbnYtcmVhY2hhYmlsaXR5LXRlc3Quc2giLCJpZCI6ImZfMzdhYzJiNjg5NWQ4NzMyYiIsImxpbmUiOjQzLCJhY3Rpb25hYmxlIjpmYWxzZX1dLCJkaXNwb3NpdGlvbnMiOlt7ImlkIjoiZl9lMWIxZDc3M2I5NjZiYjAwIiwic3RhdHVzIjoib3BlbiJ9LHsiaWQiOiJmXzM3YWMyYjY4OTVkODczMmIiLCJzdGF0dXMiOiJvcGVuIn1dfQ== --> ReviewFindingsHigh
Medium
Low
Next steps:
Previous run (4)<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJoaWdoIiwiY2F0ZWdvcnkiOiJicmVha2luZy1jb25maWciLCJmaWxlIjoic2tpbGxzL3ByLXJldmlldy9zdWItYWdlbnRzL3Jpc2stYXNzZXNzbWVudC5tZCIsImlkIjoiZl9lMWIxZDc3M2I5NjZiYjAwIiwibGluZSI6MjcsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJsb3ciLCJjYXRlZ29yeSI6InRlc3Qtd2Vha2VuZWQiLCJmaWxlIjoic2NyaXB0cy9za2lsbC1lbnYtcmVhY2hhYmlsaXR5LXRlc3Quc2giLCJpZCI6ImZfMzdhYzJiNjg5NWQ4NzMyYiIsImxpbmUiOjQzLCJhY3Rpb25hYmxlIjpmYWxzZX1dLCJkaXNwb3NpdGlvbnMiOlt7ImlkIjoiZl9lMWIxZDc3M2I5NjZiYjAwIiwic3RhdHVzIjoib3BlbiJ9LHsiaWQiOiJmXzM3YWMyYjY4OTVkODczMmIiLCJzdGF0dXMiOiJvcGVuIn1dfQ== --> ReviewFindingsHigh
Medium
Low
Next steps:
Previous run (5)<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJoaWdoIiwiY2F0ZWdvcnkiOiJicmVha2luZy1jb25maWciLCJmaWxlIjoic2tpbGxzL3ByLXJldmlldy9zdWItYWdlbnRzL3Jpc2stYXNzZXNzbWVudC5tZCIsImlkIjoiZl9lMWIxZDc3M2I5NjZiYjAwIiwibGluZSI6MjcsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJsb3ciLCJjYXRlZ29yeSI6InRlc3Qtd2Vha2VuZWQiLCJmaWxlIjoic2NyaXB0cy9za2lsbC1lbnYtcmVhY2hhYmlsaXR5LXRlc3Quc2giLCJpZCI6ImZfMzdhYzJiNjg5NWQ4NzMyYiIsImxpbmUiOjQzLCJhY3Rpb25hYmxlIjpmYWxzZX1dLCJkaXNwb3NpdGlvbnMiOlt7ImlkIjoiZl9lMWIxZDc3M2I5NjZiYjAwIiwic3RhdHVzIjoib3BlbiJ9LHsiaWQiOiJmXzM3YWMyYjY4OTVkODczMmIiLCJzdGF0dXMiOiJvcGVuIn1dfQ== --> ReviewFindingsHigh
Medium
Low
Next steps:
Previous run (6)<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJoaWdoIiwiY2F0ZWdvcnkiOiJicmVha2luZy1jb25maWciLCJmaWxlIjoic2tpbGxzL3ByLXJldmlldy9zdWItYWdlbnRzL3Jpc2stYXNzZXNzbWVudC5tZCIsImlkIjoiZl9lMWIxZDc3M2I5NjZiYjAwIiwibGluZSI6MjcsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJsb3ciLCJjYXRlZ29yeSI6InRlc3Qtd2Vha2VuZWQiLCJmaWxlIjoic2NyaXB0cy9za2lsbC1lbnYtcmVhY2hhYmlsaXR5LXRlc3Quc2giLCJpZCI6ImZfMzdhYzJiNjg5NWQ4NzMyYiIsImxpbmUiOjQzLCJhY3Rpb25hYmxlIjpmYWxzZX1dLCJkaXNwb3NpdGlvbnMiOlt7ImlkIjoiZl9lMWIxZDc3M2I5NjZiYjAwIiwic3RhdHVzIjoib3BlbiJ9LHsiaWQiOiJmXzM3YWMyYjY4OTVkODczMmIiLCJzdGF0dXMiOiJvcGVuIn1dfQ== --> ReviewFindingsHigh
Medium
Low
Next steps:
Previous run (7)<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJoaWdoIiwiY2F0ZWdvcnkiOiJicmVha2luZy1jb25maWciLCJmaWxlIjoic2tpbGxzL3ByLXJldmlldy9zdWItYWdlbnRzL3Jpc2stYXNzZXNzbWVudC5tZCIsImlkIjoiZl9lMWIxZDc3M2I5NjZiYjAwIiwibGluZSI6MjcsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJsb3ciLCJjYXRlZ29yeSI6InRlc3Qtd2Vha2VuZWQiLCJmaWxlIjoic2NyaXB0cy9za2lsbC1lbnYtcmVhY2hhYmlsaXR5LXRlc3Quc2giLCJpZCI6ImZfMzdhYzJiNjg5NWQ4NzMyYiIsImxpbmUiOjQzLCJhY3Rpb25hYmxlIjpmYWxzZX1dLCJkaXNwb3NpdGlvbnMiOlt7ImlkIjoiZl9lMWIxZDc3M2I5NjZiYjAwIiwic3RhdHVzIjoicmVjbGFzc2lmaWVkIn0seyJpZCI6ImZfMzdhYzJiNjg5NWQ4NzMyYiIsInN0YXR1cyI6Im9wZW4ifV19 --> ReviewFindingsHigh
Medium
Low
Earlier findings
Next steps:
Previous run (8)<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJtZWRpdW0iLCJjYXRlZ29yeSI6ImFwaS1jb250cmFjdCIsImZpbGUiOiJza2lsbHMvcHItcmV2aWV3L3N1Yi1hZ2VudHMvcmlzay1hc3Nlc3NtZW50Lm1kIiwiaWQiOiJmX2UxYjFkNzczYjk2NmJiMDAiLCJsaW5lIjoyNywiYWN0aW9uYWJsZSI6ZmFsc2V9LHsic2V2ZXJpdHkiOiJsb3ciLCJjYXRlZ29yeSI6InRlc3Qtd2Vha2VuZWQiLCJmaWxlIjoic2NyaXB0cy9za2lsbC1lbnYtcmVhY2hhYmlsaXR5LXRlc3Quc2giLCJpZCI6ImZfMzdhYzJiNjg5NWQ4NzMyYiIsImxpbmUiOjQzLCJhY3Rpb25hYmxlIjpmYWxzZX1dLCJkaXNwb3NpdGlvbnMiOlt7ImlkIjoiZl9lMWIxZDc3M2I5NjZiYjAwIiwic3RhdHVzIjoib3BlbiJ9XX0= --> ReviewFindingsMedium
Low
Next steps:
Previous run (9)<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJtZWRpdW0iLCJjYXRlZ29yeSI6ImFwaS1jb250cmFjdCIsImZpbGUiOiJza2lsbHMvcHItcmV2aWV3L3N1Yi1hZ2VudHMvcmlzay1hc3Nlc3NtZW50Lm1kIiwiaWQiOiJmX2UxYjFkNzczYjk2NmJiMDAiLCJsaW5lIjoyNywiYWN0aW9uYWJsZSI6ZmFsc2V9XX0= --> ReviewFindingsMedium
Next steps:
Previous run (10)ReviewFindingsHigh
Medium
Low
Earlier findings
Next steps:
Previous run (11)<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJoaWdoIiwiY2F0ZWdvcnkiOiJicmVha2luZy1jb25maWciLCJmaWxlIjoic2tpbGxzL3ByLXJldmlldy9zdWItYWdlbnRzL3Jpc2stYXNzZXNzbWVudC5tZCIsImlkIjoiZl82ZWM4NjA5MjMyM2MwMzU0IiwibGluZSI6MjcsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJtZWRpdW0iLCJjYXRlZ29yeSI6InRlc3Qtd2Vha2VuZWQiLCJmaWxlIjoic2NyaXB0cy9za2lsbC1lbnYtcmVhY2hhYmlsaXR5LXRlc3Quc2giLCJpZCI6ImZfMDkxYTAzMGRiMWE2MmJjMiIsImxpbmUiOjQzLCJhY3Rpb25hYmxlIjp0cnVlfSx7InNldmVyaXR5IjoibWVkaXVtIiwiY2F0ZWdvcnkiOiJ1bmF1dGhvcml6ZWQtY2hhbmdlIiwiZmlsZSI6InNjcmlwdHMvc2tpbGwtZW52LXJlYWNoYWJpbGl0eS10ZXN0LnNoIiwiaWQiOiJmXzUxYWVjM2MyZWZlZTk0YzAiLCJsaW5lIjo0MywiYWN0aW9uYWJsZSI6ZmFsc2V9LHsic2V2ZXJpdHkiOiJsb3ciLCJjYXRlZ29yeSI6Im1pc2xlYWRpbmctbGFiZWwiLCJmaWxlIjoic2tpbGxzL3ByLXJpc2stYXNzZXNzbWVudC9TS0lMTC5tZCIsImlkIjoiZl8yYzgxZTcyNjU1ZWQ0MDY3IiwibGluZSI6MjA3LCJhY3Rpb25hYmxlIjpmYWxzZX0seyJzZXZlcml0eSI6ImluZm8iLCJjYXRlZ29yeSI6ImZhaWwtb3BlbiIsImZpbGUiOiJza2lsbHMvcHItcmlzay1hc3Nlc3NtZW50L1NLSUxMLm1kIiwiaWQiOiJmXzk2YjczM2ZmODZmYmYxNGEiLCJsaW5lIjoyMDcsImFjdGlvbmFibGUiOmZhbHNlfV0sImRpc3Bvc2l0aW9ucyI6W3siaWQiOiJmXzZlYzg2MDkyMzIzYzAzNTQiLCJzdGF0dXMiOiJvcGVuIn0seyJpZCI6ImZfMDkxYTAzMGRiMWE2MmJjMiIsInN0YXR1cyI6Im9wZW4ifSx7ImlkIjoiZl85NmI3MzNmZjg2ZmJmMTRhIiwic3RhdHVzIjoicmVjbGFzc2lmaWVkIn0seyJpZCI6ImZfMmM4MWU3MjY1NWVkNDA2NyIsInN0YXR1cyI6Im9wZW4ifSx7ImlkIjoiZl81MWFlYzNjMmVmZWU5NGMwIiwic3RhdHVzIjoicmVjbGFzc2lmaWVkIn1dfQ== --> ReviewFindingsHigh
Medium
Low
Earlier findings
Next steps:
Previous run (12)<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJoaWdoIiwiY2F0ZWdvcnkiOiJicmVha2luZy1jb25maWciLCJmaWxlIjoic2tpbGxzL3ByLXJldmlldy9zdWItYWdlbnRzL3Jpc2stYXNzZXNzbWVudC5tZCIsImlkIjoiZl82ZWM4NjA5MjMyM2MwMzU0IiwibGluZSI6MjcsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJtZWRpdW0iLCJjYXRlZ29yeSI6InRlc3Qtd2Vha2VuZWQiLCJmaWxlIjoic2NyaXB0cy9za2lsbC1lbnYtcmVhY2hhYmlsaXR5LXRlc3Quc2giLCJpZCI6ImZfMDkxYTAzMGRiMWE2MmJjMiIsImxpbmUiOjQzLCJhY3Rpb25hYmxlIjp0cnVlfSx7InNldmVyaXR5IjoibG93IiwiY2F0ZWdvcnkiOiJmYWlsLW9wZW4iLCJmaWxlIjoic2tpbGxzL3ByLXJpc2stYXNzZXNzbWVudC9TS0lMTC5tZCIsImlkIjoiZl85NmI3MzNmZjg2ZmJmMTRhIiwibGluZSI6MjA3LCJhY3Rpb25hYmxlIjpmYWxzZX0seyJzZXZlcml0eSI6ImxvdyIsImNhdGVnb3J5IjoibWlzbGVhZGluZy1sYWJlbCIsImZpbGUiOiJza2lsbHMvcHItcmlzay1hc3Nlc3NtZW50L1NLSUxMLm1kIiwiaWQiOiJmXzJjODFlNzI2NTVlZDQwNjciLCJhY3Rpb25hYmxlIjpmYWxzZX0seyJzZXZlcml0eSI6ImluZm8iLCJjYXRlZ29yeSI6InNjb3BlLWV4Y2VlZGVkIiwiZmlsZSI6InNjcmlwdHMvc2tpbGwtZW52LXJlYWNoYWJpbGl0eS10ZXN0LnNoIiwiaWQiOiJmXzUxYWVjM2MyZWZlZTk0YzAiLCJhY3Rpb25hYmxlIjpmYWxzZX1dLCJkaXNwb3NpdGlvbnMiOlt7ImlkIjoiZl82ZWM4NjA5MjMyM2MwMzU0Iiwic3RhdHVzIjoib3BlbiJ9LHsiaWQiOiJmXzA5MWEwMzBkYjFhNjJiYzIiLCJzdGF0dXMiOiJvcGVuIn0seyJpZCI6ImZfOTZiNzMzZmY4NmZiZjE0YSIsInN0YXR1cyI6Im9wZW4ifSx7ImlkIjoiZl81MWFlYzNjMmVmZWU5NGMwIiwic3RhdHVzIjoicmVjbGFzc2lmaWVkIn0seyJpZCI6ImZfMmM4MWU3MjY1NWVkNDA2NyIsInN0YXR1cyI6Im9wZW4ifV19 --> ReviewFindingsHigh
Medium
Low
Earlier findings
Next steps:
Previous run (13)<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJoaWdoIiwiY2F0ZWdvcnkiOiJicmVha2luZy1jb25maWciLCJmaWxlIjoic2tpbGxzL3ByLXJldmlldy9zdWItYWdlbnRzL3Jpc2stYXNzZXNzbWVudC5tZCIsImlkIjoiZl82ZWM4NjA5MjMyM2MwMzU0IiwibGluZSI6MjcsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJtZWRpdW0iLCJjYXRlZ29yeSI6InRlc3Qtd2Vha2VuZWQiLCJmaWxlIjoic2NyaXB0cy9za2lsbC1lbnYtcmVhY2hhYmlsaXR5LXRlc3Quc2giLCJpZCI6ImZfMDkxYTAzMGRiMWE2MmJjMiIsImxpbmUiOjQzLCJhY3Rpb25hYmxlIjp0cnVlfSx7InNldmVyaXR5IjoibG93IiwiY2F0ZWdvcnkiOiJmYWlsLW9wZW4iLCJmaWxlIjoic2tpbGxzL3ByLXJpc2stYXNzZXNzbWVudC9TS0lMTC5tZCIsImlkIjoiZl85NmI3MzNmZjg2ZmJmMTRhIiwibGluZSI6MjA3LCJhY3Rpb25hYmxlIjpmYWxzZX0seyJzZXZlcml0eSI6ImhpZ2giLCJjYXRlZ29yeSI6InNjb3BlLWV4Y2VlZGVkIiwiZmlsZSI6InNjcmlwdHMvc2tpbGwtZW52LXJlYWNoYWJpbGl0eS10ZXN0LnNoIiwiaWQiOiJmXzUxYWVjM2MyZWZlZTk0YzAiLCJhY3Rpb25hYmxlIjpmYWxzZX0seyJzZXZlcml0eSI6ImxvdyIsImNhdGVnb3J5IjoibWlzbGVhZGluZy1sYWJlbCIsImZpbGUiOiJza2lsbHMvcHItcmlzay1hc3Nlc3NtZW50L1NLSUxMLm1kIiwiaWQiOiJmXzJjODFlNzI2NTVlZDQwNjciLCJhY3Rpb25hYmxlIjpmYWxzZX1dLCJkaXNwb3NpdGlvbnMiOlt7ImlkIjoiZl82ZWM4NjA5MjMyM2MwMzU0Iiwic3RhdHVzIjoib3BlbiJ9LHsiaWQiOiJmXzA5MWEwMzBkYjFhNjJiYzIiLCJzdGF0dXMiOiJvcGVuIn0seyJpZCI6ImZfOTZiNzMzZmY4NmZiZjE0YSIsInN0YXR1cyI6Im9wZW4ifV19 --> ReviewFindingsHigh
Medium
Low
Next steps:
Previous run (14)<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJoaWdoIiwiY2F0ZWdvcnkiOiJicmVha2luZy1jb25maWciLCJmaWxlIjoic2tpbGxzL3ByLXJldmlldy9zdWItYWdlbnRzL3Jpc2stYXNzZXNzbWVudC5tZCIsImlkIjoiZl82ZWM4NjA5MjMyM2MwMzU0IiwibGluZSI6MjcsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJtZWRpdW0iLCJjYXRlZ29yeSI6InRlc3Qtd2Vha2VuZWQiLCJmaWxlIjoic2NyaXB0cy9za2lsbC1lbnYtcmVhY2hhYmlsaXR5LXRlc3Quc2giLCJpZCI6ImZfMDkxYTAzMGRiMWE2MmJjMiIsImxpbmUiOjQzLCJhY3Rpb25hYmxlIjp0cnVlfSx7InNldmVyaXR5IjoibG93IiwiY2F0ZWdvcnkiOiJmYWlsLW9wZW4iLCJmaWxlIjoic2tpbGxzL3ByLXJpc2stYXNzZXNzbWVudC9TS0lMTC5tZCIsImlkIjoiZl85NmI3MzNmZjg2ZmJmMTRhIiwibGluZSI6MjA3LCJhY3Rpb25hYmxlIjpmYWxzZX1dLCJkaXNwb3NpdGlvbnMiOlt7ImlkIjoiZl82ZWM4NjA5MjMyM2MwMzU0Iiwic3RhdHVzIjoib3BlbiJ9LHsiaWQiOiJmXzA5MWEwMzBkYjFhNjJiYzIiLCJzdGF0dXMiOiJvcGVuIn1dfQ== --> ReviewFindingsHigh
Medium
Low
Next steps:
Previous run (15)<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJoaWdoIiwiY2F0ZWdvcnkiOiJicmVha2luZy1jb25maWciLCJmaWxlIjoic2tpbGxzL3ByLXJldmlldy9zdWItYWdlbnRzL3Jpc2stYXNzZXNzbWVudC5tZCIsImlkIjoiZl82ZWM4NjA5MjMyM2MwMzU0IiwibGluZSI6MjcsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJtZWRpdW0iLCJjYXRlZ29yeSI6InRlc3Qtd2Vha2VuZWQiLCJmaWxlIjoic2NyaXB0cy9za2lsbC1lbnYtcmVhY2hhYmlsaXR5LXRlc3Quc2giLCJpZCI6ImZfMDkxYTAzMGRiMWE2MmJjMiIsImxpbmUiOjQzLCJhY3Rpb25hYmxlIjp0cnVlfV0sImRpc3Bvc2l0aW9ucyI6W3siaWQiOiJmXzZlYzg2MDkyMzIzYzAzNTQiLCJzdGF0dXMiOiJvcGVuIn0seyJpZCI6ImZfMDkxYTAzMGRiMWE2MmJjMiIsInN0YXR1cyI6Im9wZW4ifV19 --> ReviewFindingsHigh
Medium
Next steps:
|
66d79ae to
d3876a1
Compare
|
🤖 Finished Review · ✅ Success · Started 9:51 PM UTC · Completed 9:59 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5-5 · Effort: high · Cost: $1.59 |
d3876a1 to
6e369e5
Compare
|
🤖 Finished Review · ✅ Success · Started 9:15 PM UTC · Completed 9:23 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5-5 · Effort: high · Cost: $1.33 |
6e369e5 to
4a52d13
Compare
|
🤖 Finished Review · ✅ Success · Started 5:16 PM UTC · Completed 5:25 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5-5 · Effort: high · Cost: $1.40 |
4a52d13 to
e4bc3ba
Compare
|
🤖 Finished Review · ✅ Success · Started 8:00 PM UTC · Completed 8:08 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5-5 · Effort: high · Cost: $0.94 |
Superseded by updated review
f0086f2 to
e67fd16
Compare
|
🤖 Finished Review · ✅ Success · Started 1:50 AM UTC · Completed 1:58 AM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5-5 · Effort: high · Cost: $1.51 |
e67fd16 to
4f0f5a8
Compare
|
🤖 Finished Review · ✅ Success · Started 5:51 PM UTC · Completed 6:00 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5-5 · Effort: high · Cost: $1.94 |
4f0f5a8 to
c17ba75
Compare
|
🤖 Finished Review · ✅ Success · Started 9:18 PM UTC · Completed 9:38 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5-5 · Effort: high · Cost: $1.61 |
c17ba75 to
c27507d
Compare
|
🤖 Finished Review · ✅ Success · Started 11:59 PM UTC · Completed 12:06 AM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5-5 · Effort: high · Cost: $1.45 |
c27507d to
374faa6
Compare
|
🤖 Finished Review · ✅ Success · Started 4:26 AM UTC · Completed 4:37 AM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5-5 · Effort: high · Cost: $2.07 |
374faa6 to
e232f6b
Compare
|
🤖 Finished Review · ✅ Success · Started 4:53 PM UTC · Completed 5:01 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5-5 · Effort: high · Cost: $1.40 |
…o FULLSEND_SKILLS_DIR Replace runtime-specific CLAUDE_CONFIG_DIR path references with the runtime-neutral FULLSEND_SKILLS_DIR env var so pr-risk-assessment scripts work on any supported runtime, not just Claude. - Update script invocation path in SKILL.md and risk-assessment.md - Update header comment in risk-tier1.sh - Add FULLSEND_SKILLS_DIR to SANDBOX_RUNTIME_VARS in reachability test - Remove resolved KNOWN_GAPS entry for pr-risk-assessment:CLAUDE_CONFIG_DIR AI-Assisted: true Assisted-by: claude-opus-4-6 Generated with AI assistance (claude-opus-4-6) Signed-off-by: Jay Flowers <jay.flowers@gmail.com>
e232f6b to
51b4a2e
Compare
|
🤖 Finished Review · ✅ Success · Started 12:11 AM UTC · Completed 12:18 AM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5-5 · Effort: high · Cost: $1.41 |
| 1. Run the Tier 1 metadata script: | ||
| ```bash | ||
| bash "${CLAUDE_CONFIG_DIR}/skills/pr-risk-assessment/scripts/risk-tier1.sh" | ||
| bash "${FULLSEND_SKILLS_DIR}/pr-risk-assessment/scripts/risk-tier1.sh" |
There was a problem hiding this comment.
[high] breaking-config
The Tier 1 invocation now reads ${FULLSEND_SKILLS_DIR}, but nothing in this repo sets or exports it and the pi review sandbox does not set it either. With it unset the path expands to /pr-risk-assessment/scripts/risk-tier1.sh, which does not exist, so the Tier 1 script fails (exit 127). The identical invocation in skills/pr-risk-assessment/SKILL.md has the same problem. Issue #1672 triage says the migration is blocked until upstream fullsend runtimes export the variable; CLAUDE_CONFIG_DIR works today on the claude runtime. The PR also adds FULLSEND_SKILLS_DIR to SANDBOX_RUNTIME_VARS and removes the KNOWN_GAPS entry, so the test treats the variable as runtime-provided instead of verifying it.
Suggested fix: Do not merge until upstream fullsend exports FULLSEND_SKILLS_DIR from all runtimes and that is confirmed, or use a working fallback such as ${FULLSEND_SKILLS_DIR:-${CLAUDE_CONFIG_DIR:-${PI_CODING_AGENT_DIR:-$CODEX_HOME}}/skills}. Keep the KNOWN_GAPS entry until the upstream change lands.
| FULLSEND_OUTPUT_DIR | ||
| FULLSEND_OUTPUT_SCHEMA | ||
| FULLSEND_ROLE | ||
| FULLSEND_SKILLS_DIR |
There was a problem hiding this comment.
[low] test-weakened
Adding FULLSEND_SKILLS_DIR to SANDBOX_RUNTIME_VARS exempts it from reachability validation even though it is absent from the current sandbox and has no producer in this repository. Together with deleting the known-gap entry, this suppresses the unresolved skill-path dependency instead of verifying that runtime injection exists.
Suggested fix: Keep the unresolved FULLSEND_SKILLS_DIR dependency tracked in KNOWN_GAPS rather than the universal runtime allowlist until injection across supported runtimes is verified.
Summary
Replace runtime-specific
CLAUDE_CONFIG_DIRpath references with theruntime-neutral
FULLSEND_SKILLS_DIRenv var so pr-risk-assessmentscripts work on any supported runtime, not just Claude.
Closes #1672
How to Test
How to Demo
Trivial refactor — the invocation path in SKILL.md and
risk-assessment.md now uses
${FULLSEND_SKILLS_DIR}/pr-risk-assessment/scripts/risk-tier1.shinstead of
${CLAUDE_CONFIG_DIR}/skills/pr-risk-assessment/scripts/risk-tier1.sh.The reachability test validates
FULLSEND_SKILLS_DIRis in the sandboxruntime vars and the previously known gap is resolved.
Key Files Changed
skills/pr-risk-assessment/SKILL.mdskills/pr-review/sub-agents/risk-assessment.mdskills/pr-risk-assessment/scripts/risk-tier1.shscripts/skill-env-reachability-test.shFULLSEND_SKILLS_DIRtoSANDBOX_RUNTIME_VARS; removed resolvedKNOWN_GAPSentryThis PR was generated by /uf.finale (AI-assisted).