agents-united 0.13.0 → 0.14.0

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.
Files changed (245) hide show
  1. package/README.md +466 -411
  2. package/dist/cli.js +1772 -629
  3. package/dist/cli.js.map +1 -1
  4. package/package.json +1 -1
  5. package/registry/agents/orchestrator-business.md +21 -5
  6. package/registry/agents/orchestrator-design.md +21 -5
  7. package/registry/agents/orchestrator-digital-agency.md +9 -1
  8. package/registry/agents/orchestrator-engineering.md +12 -5
  9. package/registry/agents/orchestrator-marketing.md +14 -5
  10. package/registry/agents/orchestrator-research.md +14 -5
  11. package/registry/agents/orchestrator-security.md +15 -5
  12. package/registry/agents/orchestrator-system-architecture.md +14 -5
  13. package/registry/agents/orchestrator-universal.md +11 -2
  14. package/registry/agents/subagent-accessibility-lead.md +49 -3
  15. package/registry/agents/subagent-ai-model-architect.md +48 -2
  16. package/registry/agents/subagent-android-architect.md +53 -3
  17. package/registry/agents/subagent-appsec-penetration-tester.md +27 -1
  18. package/registry/agents/subagent-backend-architect.md +63 -232
  19. package/registry/agents/subagent-business-panel-experts.md +5 -1
  20. package/registry/agents/subagent-cloud-infrastructure-architect.md +23 -1
  21. package/registry/agents/subagent-cloud-security-architect.md +7 -1
  22. package/registry/agents/subagent-code-reviewer.md +31 -1
  23. package/registry/agents/subagent-compliance-grc-specialist.md +7 -2
  24. package/registry/agents/subagent-cross-platform-specialist.md +54 -3
  25. package/registry/agents/subagent-data-engineer.md +53 -3
  26. package/registry/agents/subagent-database-administrator.md +7 -1
  27. package/registry/agents/subagent-deep-research.md +5 -1
  28. package/registry/agents/subagent-design-ops-lead.md +5 -1
  29. package/registry/agents/subagent-design-researcher.md +5 -1
  30. package/registry/agents/subagent-design-systems-architect.md +5 -1
  31. package/registry/agents/subagent-designer-toolkit-expert.md +5 -1
  32. package/registry/agents/subagent-devops-engineer.md +68 -288
  33. package/registry/agents/subagent-distributed-systems-architect.md +54 -3
  34. package/registry/agents/subagent-e2e-tester.md +52 -3
  35. package/registry/agents/subagent-financial-analyst.md +5 -1
  36. package/registry/agents/subagent-finops-cost-engineer.md +5 -1
  37. package/registry/agents/subagent-frontend-architect.md +54 -225
  38. package/registry/agents/subagent-interaction-designer.md +5 -1
  39. package/registry/agents/subagent-ios-architect.md +53 -3
  40. package/registry/agents/subagent-legal-contract-analyst.md +5 -1
  41. package/registry/agents/subagent-lifecycle-email-specialist.md +5 -1
  42. package/registry/agents/subagent-literature-patent-analyst.md +5 -1
  43. package/registry/agents/subagent-market-intelligence-analyst.md +5 -1
  44. package/registry/agents/subagent-marketing-campaign-specialist.md +6 -2
  45. package/registry/agents/subagent-marketing-content-strategist.md +6 -2
  46. package/registry/agents/subagent-marketing-conversion-specialist.md +6 -2
  47. package/registry/agents/subagent-marketing-creative-designer.md +6 -2
  48. package/registry/agents/subagent-marketing-growth-strategist.md +6 -2
  49. package/registry/agents/subagent-ml-platform-engineer.md +48 -2
  50. package/registry/agents/subagent-operations-strategist.md +5 -1
  51. package/registry/agents/subagent-paid-acquisition-specialist.md +5 -1
  52. package/registry/agents/subagent-plg-strategist.md +5 -1
  53. package/registry/agents/subagent-prototype-tester.md +5 -1
  54. package/registry/agents/subagent-qa-automation-lead.md +35 -78
  55. package/registry/agents/subagent-repo-index.md +27 -1
  56. package/registry/agents/subagent-security-engineer.md +37 -1
  57. package/registry/agents/subagent-seo-specialist.md +6 -2
  58. package/registry/agents/subagent-socratic-mentor.md +5 -1
  59. package/registry/agents/subagent-statistical-analyst.md +5 -1
  60. package/registry/agents/subagent-sysops-sre-lead.md +7 -1
  61. package/registry/agents/subagent-system-architect.md +6 -1
  62. package/registry/agents/subagent-ui-designer.md +5 -1
  63. package/registry/agents/subagent-ux-strategist.md +5 -1
  64. package/registry/bundles.json +89 -17
  65. package/registry/core/orchestrator-engineering.core.md +1 -0
  66. package/registry/core/subagent-backend-architect.core.md +20 -22
  67. package/registry/core/subagent-code-reviewer.core.md +1 -0
  68. package/registry/core/subagent-frontend-architect.core.md +8 -6
  69. package/registry/core/subagent-repo-index.core.md +1 -0
  70. package/registry/skills/ai-prototype-refactoring/SKILL.md +24 -0
  71. package/registry/skills/ai-prototype-refactoring/references/backend-frontend-devops-exemplars.md +104 -0
  72. package/registry/skills/azure-infrastructure-bicep/SKILL.md +24 -0
  73. package/registry/skills/azure-infrastructure-bicep/references/backend-frontend-devops-exemplars.md +173 -0
  74. package/registry/skills/banner-design/SKILL.md +170 -0
  75. package/registry/skills/banner-design/references/banner-sizes-and-styles.md +66 -0
  76. package/registry/skills/brand-identity/SKILL.md +212 -0
  77. package/registry/skills/brand-identity/references/approval-checklist.md +17 -0
  78. package/registry/skills/brand-identity/references/asset-organization.md +30 -0
  79. package/registry/skills/brand-identity/references/brand-guideline-template.md +57 -0
  80. package/registry/skills/brand-identity/references/color-palette-management.md +37 -0
  81. package/registry/skills/brand-identity/references/consistency-checklist.md +26 -0
  82. package/registry/skills/brand-identity/references/logo-usage-rules.md +23 -0
  83. package/registry/skills/brand-identity/references/messaging-framework.md +22 -0
  84. package/registry/skills/brand-identity/references/typography-specifications.md +29 -0
  85. package/registry/skills/brand-identity/references/visual-identity.md +23 -0
  86. package/registry/skills/brand-identity/references/voice-framework.md +27 -0
  87. package/registry/skills/brand-identity/scripts/extract-colors.mjs +104 -0
  88. package/registry/skills/brand-identity/scripts/inject-brand-context.mjs +112 -0
  89. package/registry/skills/brand-identity/scripts/lib/confirm-gate.mjs +28 -0
  90. package/registry/skills/brand-identity/scripts/sync-brand-to-tokens.mjs +205 -0
  91. package/registry/skills/brand-identity/scripts/validate-asset.mjs +137 -0
  92. package/registry/skills/clickhouse-architecture-advisor/SKILL.md +202 -0
  93. package/registry/skills/codeql-scanning/LICENSE +427 -0
  94. package/registry/skills/codeql-scanning/NOTICE.md +31 -0
  95. package/registry/skills/codeql-scanning/SKILL.md +136 -0
  96. package/registry/skills/codeql-scanning/references/build-fixes.md +105 -0
  97. package/registry/skills/codeql-scanning/references/diagnostic-query-templates.md +325 -0
  98. package/registry/skills/codeql-scanning/references/extension-yaml-format.md +202 -0
  99. package/registry/skills/codeql-scanning/references/important-only-suite.md +119 -0
  100. package/registry/skills/codeql-scanning/references/language-details.md +220 -0
  101. package/registry/skills/codeql-scanning/references/macos-arm64e-workaround.md +201 -0
  102. package/registry/skills/codeql-scanning/references/performance-tuning.md +81 -0
  103. package/registry/skills/codeql-scanning/references/quality-assessment.md +197 -0
  104. package/registry/skills/codeql-scanning/references/ruleset-catalog.md +68 -0
  105. package/registry/skills/codeql-scanning/references/run-all-suite.md +106 -0
  106. package/registry/skills/codeql-scanning/references/sarif-processing.md +82 -0
  107. package/registry/skills/codeql-scanning/references/threat-models.md +36 -0
  108. package/registry/skills/codeql-scanning/references/upstream-method.md +288 -0
  109. package/registry/skills/codeql-scanning/references/workflow-build-database.md +338 -0
  110. package/registry/skills/codeql-scanning/references/workflow-create-data-extensions.md +275 -0
  111. package/registry/skills/codeql-scanning/references/workflow-run-analysis.md +327 -0
  112. package/registry/skills/codeql-scanning/scripts/build_log.py +91 -0
  113. package/registry/skills/codeql-scanning/scripts/check_db_quality.py +366 -0
  114. package/registry/skills/codeql-scanning/scripts/find_databases.py +90 -0
  115. package/registry/skills/codeql-scanning/scripts/generate_suite.py +101 -0
  116. package/registry/skills/codeql-scanning/scripts/verify_query_suite.py +86 -0
  117. package/registry/skills/edge-security-audit/SKILL.md +225 -0
  118. package/registry/skills/expo-cicd-workflows/SKILL.md +228 -0
  119. package/registry/skills/hf-managed-jobs/SKILL.md +198 -0
  120. package/registry/skills/hf-model-training/SKILL.md +204 -0
  121. package/registry/skills/mutation-testing/LICENSE +427 -0
  122. package/registry/skills/mutation-testing/NOTICE.md +31 -0
  123. package/registry/skills/mutation-testing/SKILL.md +122 -0
  124. package/registry/skills/mutation-testing/references/blockchain-patterns.md +103 -0
  125. package/registry/skills/mutation-testing/references/equivalent-mutants.md +101 -0
  126. package/registry/skills/mutation-testing/references/input-formats.md +84 -0
  127. package/registry/skills/mutation-testing/references/optimization-strategies.md +327 -0
  128. package/registry/skills/mutation-testing/references/report-template.md +140 -0
  129. package/registry/skills/mutation-testing/references/severity-classification.md +132 -0
  130. package/registry/skills/mutation-testing/references/upstream-method.md +105 -0
  131. package/registry/skills/mutation-testing/references/workflow-analyzing-results.md +123 -0
  132. package/registry/skills/mutation-testing/references/workflow-bug-hunter.md +139 -0
  133. package/registry/skills/mutation-testing/references/workflow-configuration.md +338 -0
  134. package/registry/skills/playwright-best-practices/SKILL.md +5 -0
  135. package/registry/skills/playwright-best-practices/references/conversion-funnel-test.md +79 -0
  136. package/registry/skills/postgres-best-practices/SKILL.md +205 -0
  137. package/registry/skills/property-based-testing/LICENSE +427 -0
  138. package/registry/skills/property-based-testing/NOTICE.md +31 -0
  139. package/registry/skills/property-based-testing/SKILL.md +119 -0
  140. package/registry/skills/property-based-testing/references/generating.md +82 -0
  141. package/registry/skills/property-based-testing/references/interpreting-failures.md +83 -0
  142. package/registry/skills/property-based-testing/references/libraries.md +80 -0
  143. package/registry/skills/property-based-testing/references/refactoring.md +123 -0
  144. package/registry/skills/property-based-testing/references/reviewing.md +81 -0
  145. package/registry/skills/property-based-testing/references/upstream-method.md +65 -0
  146. package/registry/skills/react-best-practices/SKILL.md +5 -0
  147. package/registry/skills/react-best-practices/references/nextjs-server-actions-and-isr.md +85 -0
  148. package/registry/skills/sarif-triage/LICENSE +427 -0
  149. package/registry/skills/sarif-triage/NOTICE.md +31 -0
  150. package/registry/skills/sarif-triage/SKILL.md +117 -0
  151. package/registry/skills/sarif-triage/references/jq-queries.md +210 -0
  152. package/registry/skills/sarif-triage/references/upstream-method.md +490 -0
  153. package/registry/skills/sarif-triage/scripts/sarif_helpers.py +400 -0
  154. package/registry/skills/security-best-practices/LICENSE +201 -0
  155. package/registry/skills/security-best-practices/NOTICE.md +30 -0
  156. package/registry/skills/security-best-practices/SKILL.md +116 -0
  157. package/registry/skills/security-best-practices/references/golang-general-backend-security.md +829 -0
  158. package/registry/skills/security-best-practices/references/javascript-express-web-server-security.md +1161 -0
  159. package/registry/skills/security-best-practices/references/javascript-general-web-frontend-security.md +750 -0
  160. package/registry/skills/security-best-practices/references/javascript-jquery-web-frontend-security.md +681 -0
  161. package/registry/skills/security-best-practices/references/javascript-typescript-nextjs-web-server-security.md +1147 -0
  162. package/registry/skills/security-best-practices/references/javascript-typescript-react-web-frontend-security.md +993 -0
  163. package/registry/skills/security-best-practices/references/javascript-typescript-vue-web-frontend-security.md +794 -0
  164. package/registry/skills/security-best-practices/references/python-django-web-server-security.md +885 -0
  165. package/registry/skills/security-best-practices/references/python-fastapi-web-server-security.md +1039 -0
  166. package/registry/skills/security-best-practices/references/python-flask-web-server-security.md +708 -0
  167. package/registry/skills/security-best-practices/references/upstream-method.md +86 -0
  168. package/registry/skills/security-diff-review/LICENSE +427 -0
  169. package/registry/skills/security-diff-review/NOTICE.md +31 -0
  170. package/registry/skills/security-diff-review/SKILL.md +125 -0
  171. package/registry/skills/security-diff-review/references/adversarial.md +206 -0
  172. package/registry/skills/security-diff-review/references/methodology.md +237 -0
  173. package/registry/skills/security-diff-review/references/patterns.md +303 -0
  174. package/registry/skills/security-diff-review/references/reporting.md +372 -0
  175. package/registry/skills/security-diff-review/references/upstream-method.md +222 -0
  176. package/registry/skills/semgrep-scanning/LICENSE +427 -0
  177. package/registry/skills/semgrep-scanning/NOTICE.md +31 -0
  178. package/registry/skills/semgrep-scanning/SKILL.md +139 -0
  179. package/registry/skills/semgrep-scanning/references/rulesets.md +165 -0
  180. package/registry/skills/semgrep-scanning/references/scan-modes.md +153 -0
  181. package/registry/skills/semgrep-scanning/references/upstream-method.md +262 -0
  182. package/registry/skills/semgrep-scanning/references/workflow-scan-workflow.md +467 -0
  183. package/registry/skills/semgrep-scanning/scripts/merge_sarif.py +339 -0
  184. package/registry/skills/semgrep-scanning/scripts/run_scans.py +482 -0
  185. package/registry/skills/sentry-incident-triage/SKILL.md +193 -0
  186. package/registry/skills/supabase-backend-architecture/SKILL.md +24 -0
  187. package/registry/skills/supabase-backend-architecture/references/backend-frontend-devops-exemplars.md +140 -0
  188. package/registry/skills/supply-chain-risk-audit/LICENSE +427 -0
  189. package/registry/skills/supply-chain-risk-audit/NOTICE.md +31 -0
  190. package/registry/skills/supply-chain-risk-audit/SKILL.md +119 -0
  191. package/registry/skills/supply-chain-risk-audit/references/upstream-method.md +123 -0
  192. package/registry/skills/supply-chain-risk-audit/scripts/collect.py +1568 -0
  193. package/registry/skills/supply-chain-risk-audit/scripts/model.py +402 -0
  194. package/registry/skills/supply-chain-risk-audit/scripts/pyproject.toml +20 -0
  195. package/registry/skills/supply-chain-risk-audit/scripts/render.py +809 -0
  196. package/registry/skills/supply-chain-risk-audit/scripts/sources.py +683 -0
  197. package/registry/skills/supply-chain-risk-audit/scripts/uv.lock +12 -0
  198. package/registry/skills/terraform-style-guide/LICENSE +373 -0
  199. package/registry/skills/terraform-style-guide/NOTICE.md +31 -0
  200. package/registry/skills/terraform-style-guide/SKILL.md +126 -0
  201. package/registry/skills/terraform-style-guide/references/security.md +167 -0
  202. package/registry/skills/terraform-style-guide/references/style-conventions.md +312 -0
  203. package/registry/skills/terraform-test-patterns/LICENSE +373 -0
  204. package/registry/skills/terraform-test-patterns/NOTICE.md +31 -0
  205. package/registry/skills/terraform-test-patterns/SKILL.md +133 -0
  206. package/registry/skills/terraform-test-patterns/references/ci-cd.md +83 -0
  207. package/registry/skills/terraform-test-patterns/references/examples.md +317 -0
  208. package/registry/skills/terraform-test-patterns/references/mock-providers.md +174 -0
  209. package/registry/skills/terraform-test-patterns/references/test-syntax.md +445 -0
  210. package/registry/skills/threat-modeling/LICENSE +201 -0
  211. package/registry/skills/threat-modeling/NOTICE.md +31 -0
  212. package/registry/skills/threat-modeling/SKILL.md +136 -0
  213. package/registry/skills/threat-modeling/references/prompt-template.md +258 -0
  214. package/registry/skills/threat-modeling/references/security-controls-and-assets.md +35 -0
  215. package/registry/skills/threat-modeling/references/upstream-method.md +81 -0
  216. package/registry/skills/turso-distributed-sqlite/SKILL.md +24 -0
  217. package/registry/skills/turso-distributed-sqlite/references/backend-frontend-devops-exemplars.md +92 -0
  218. package/registry/skills/ux-writing/SKILL.md +183 -0
  219. package/registry/skills/ux-writing/references/interface-patterns.md +41 -0
  220. package/registry/skills/ux-writing/references/localization-accessibility.md +31 -0
  221. package/registry/skills/ux-writing/references/research-measurement.md +27 -0
  222. package/registry/skills/ux-writing/references/source-runtime-workflow.md +31 -0
  223. package/registry/skills/ux-writing/references/voice-tone-terminology.md +26 -0
  224. package/registry/skills/variant-analysis/LICENSE +427 -0
  225. package/registry/skills/variant-analysis/NOTICE.md +31 -0
  226. package/registry/skills/variant-analysis/SKILL.md +119 -0
  227. package/registry/skills/variant-analysis/assets/codeql/cpp.ql +119 -0
  228. package/registry/skills/variant-analysis/assets/codeql/go.ql +69 -0
  229. package/registry/skills/variant-analysis/assets/codeql/java.ql +71 -0
  230. package/registry/skills/variant-analysis/assets/codeql/javascript.ql +63 -0
  231. package/registry/skills/variant-analysis/assets/codeql/python.ql +80 -0
  232. package/registry/skills/variant-analysis/assets/semgrep/cpp.yaml +98 -0
  233. package/registry/skills/variant-analysis/assets/semgrep/go.yaml +63 -0
  234. package/registry/skills/variant-analysis/assets/semgrep/java.yaml +61 -0
  235. package/registry/skills/variant-analysis/assets/semgrep/javascript.yaml +60 -0
  236. package/registry/skills/variant-analysis/assets/semgrep/python.yaml +72 -0
  237. package/registry/skills/variant-analysis/references/reporting.md +41 -0
  238. package/registry/skills/variant-analysis/references/root-cause.md +101 -0
  239. package/registry/skills/variant-analysis/references/searching.md +162 -0
  240. package/registry/skills/variant-analysis/references/triage.md +95 -0
  241. package/registry/skills/variant-analysis/references/upstream-method.md +74 -0
  242. package/registry/skills/variant-analysis/references/variant-report-template.md +78 -0
  243. package/registry/skills/vercel-deploy-best-practices/SKILL.md +24 -0
  244. package/registry/skills/vercel-deploy-best-practices/references/backend-frontend-devops-exemplars.md +109 -0
  245. package/registry/translation-ledger.json +48 -5
@@ -0,0 +1,116 @@
1
+ ---
2
+ name: security-best-practices
3
+ description: Language- and framework-specific secure-coding guidance for
4
+ Python (Django, Flask, FastAPI), JavaScript/TypeScript (Express, Next.js,
5
+ React, Vue, jQuery) and Go. Use when asked for security best practices, a
6
+ security best-practice report on a codebase, or secure-by-default code for
7
+ one of those stacks; not for general code review or debugging.
8
+ metadata:
9
+ author: OpenAI (via Trail of Bits skills-curated) / agents-united
10
+ version: 1.0.0
11
+ source: https://github.com/trailofbits/skills-curated/tree/6d05be4889017b06fb15069f371afd220daffb62/plugins/openai-security-best-practices
12
+ commit: 6d05be4889017b06fb15069f371afd220daffb62
13
+ license: Apache-2.0
14
+ icon: 🔐
15
+ disable-slash-command: true
16
+ ---
17
+
18
+ # Security Best Practices
19
+
20
+ ## Overview & Purpose
21
+ Loads the secure-coding reference for the exact languages and frameworks in scope
22
+ and applies it in one of three modes: write new code secure by default, flag major
23
+ issues passively while working, or produce a prioritised best-practice report and
24
+ fix findings one at a time.
25
+
26
+ Adapted from the Apache-2.0 `openai-security-best-practices` skill that Trail of Bits
27
+ curates; see `NOTICE.md`. Boundaries:
28
+ - `security-audit` is the catalog's generic OWASP/SAST checklist; this skill adds
29
+ per-framework specifics (Django CSRF settings, Next.js server actions, Express
30
+ middleware order, and so on).
31
+ - `semgrep-scanning` / `codeql-scanning` run tools; this skill is reading and judgment.
32
+ - `threat-modeling` decides where risk concentrates; this skill says how to code it safely.
33
+
34
+ ## Execution Triggers & Prerequisites
35
+ ### Execution Triggers
36
+ - "Review this for security best practices", "write this securely", "give me a
37
+ security report", or an orchestrator task naming secure-by-default coding.
38
+ - Supported stacks only (Python, JS/TS, Go). For others, say that no concrete
39
+ guidance ships here and fall back to general practice.
40
+
41
+ ### Prerequisites
42
+ - Read access to the code; the ability to identify every language and framework in scope.
43
+
44
+ ## Input & Output Requirements
45
+ ### Inputs
46
+ | Parameter | Type | Required | Description |
47
+ |---|---|---|---|
48
+ | Scope | paths | Yes | Code to review or the feature to write |
49
+ | Mode | write / passive / report | No | Defaults to write; report only when asked |
50
+ | Report path | path | No | Defaults to `security_best_practices_report.md` |
51
+
52
+ ### Outputs
53
+ | Artifact | Path / Format | Description |
54
+ |---|---|---|
55
+ | Secure code | Source files | New or fixed code with a short comment citing the practice |
56
+ | Report | Markdown | Executive summary, findings grouped by severity, numeric ids, line numbers |
57
+
58
+ ## Step-by-Step Execution Runbook
59
+
60
+ ### Phase 1 — Identify the stack
61
+ 1. List every language and framework in scope, frontend and backend, with evidence
62
+ (manifest entries, imports).
63
+ 2. Load every matching file from `references/`, named
64
+ `<language>-<framework>-<stack>-security.md`, plus the `<language>-general-…` file
65
+ for that language. For a web app, load both the backend and frontend files; if the
66
+ frontend framework is unspecified, load
67
+ [references/javascript-general-web-frontend-security.md](references/javascript-general-web-frontend-security.md).
68
+
69
+ ### Phase 2 — Apply in the requested mode
70
+ 1. **Write**: follow the loaded guidance for all new code.
71
+ 2. **Passive**: while doing other work, flag only critical issues and high-impact
72
+ insecure defaults, then ask before fixing.
73
+ 3. **Report**: write the report (see Outputs); summarise it in the handoff and say
74
+ where the file is.
75
+
76
+ ### Phase 3 — Fix one finding at a time
77
+ 1. Keep each fix small, commented with the practice it follows, and in its own commit.
78
+ 2. Check for code that relies on the insecure behaviour before changing it, and run
79
+ the project's tests after each fix.
80
+ 3. Respect documented project overrides: note the override, suggest documenting it,
81
+ and do not fight it.
82
+
83
+ ## Code & Config Exemplars
84
+
85
+ ### Exemplar 1: A report finding
86
+ ```markdown
87
+ ## Critical
88
+ ### SBP-1 — SQL built by string formatting (app/orders.py:88)
89
+ Impact: any user can read or modify every order via the `sort` parameter.
90
+ Fix: use the ORM's `order_by` with an allow-list of column names.
91
+ ```
92
+
93
+ ### Exemplar 2: General advice that applies everywhere
94
+ - Public resource ids: use random UUIDv4 or long random hex, not incrementing integers.
95
+ - TLS: do not report missing TLS in local/dev setups; gate `Secure` cookies behind a
96
+ production flag; do not recommend HSTS by default (lock-out risk).
97
+
98
+ ## Edge Cases & Error Recovery
99
+
100
+ ### Scenario A: Stack not covered by `references/`
101
+ 1. **Recovery Protocol**: Say so explicitly in any report; apply well-known practice
102
+ for that stack and label it as general guidance.
103
+
104
+ ### Scenario B: A fix would break existing behaviour
105
+ 1. **Diagnosis**: Other code depends on the insecure path.
106
+ 2. **Recovery Protocol**: Report the second-order impact before changing anything and
107
+ propose a staged fix.
108
+
109
+ ## Verification Checklist
110
+ - [ ] Every framework in scope was matched to its reference file (or noted as uncovered).
111
+ - [ ] Report findings have numeric ids, severity sections and line numbers.
112
+ - [ ] Critical findings carry a one-sentence impact statement.
113
+ - [ ] Fixes are one finding per change, with tests run afterwards.
114
+ - [ ] No TLS/HSTS noise for non-production deployments.
115
+
116
+ The full upstream workflow text is in [references/upstream-method.md](references/upstream-method.md).