Repository navigation
Commit 9fa05b9
feat: automate community workflow step submissions (#4873)
* feat: automate community workflow step submissions
Add a maintainer-triggered issue submission flow with metadata-only validation, tag-pinned file digests, scoped draft catalog PRs, and contributor documentation.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix: harden workflow step submission validation
Keep setup failures recoverable, reuse CLI step ID validation, and gate per-file downloads and hashing through a tested repository-owned helper.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix: enforce installer limits for submitted step packages
Validate file and directory counts and nesting before downloading, fetch complete packages with a cumulative byte budget, and cover rejected package paths and exact limit boundaries.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix: classify transient HTTP errors before curl size failures
Prioritize known HTTP responses over curl exit codes, treat HTTP 408 as a blocked timeout, and cover status/exit combinations with ordinary and one-byte remaining budgets.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix: reject case-insensitive step package path collisions
Compare package file paths component-wise with casefold before downloads, rejecting duplicate file aliases and file/directory conflicts while preserving noncolliding paths.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* docs: clarify workflow step submission activation and provenance
Document maintainer-label activation and distinguish the required archive download URL from catalog per-file distribution URLs.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix: align workflow step archive and documentation contracts
Reject unsupported GitHub-generated tgz archives while retaining named tgz release assets, and accept any tag-pinned Markdown usage document rather than requiring README.md.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix: clarify step license validation and author attribution
Require valid SPDX identifiers and matching release-license metadata before catalog edits. Align table rendering with other community submissions without conflating package authors and maintainers; preserve Decision maintainer attribution in prose.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix: enable public REST access for tagged step license metadata
Allow api.github.com in agent URL and firewall policies and prescribe the enabled web-fetch route. Cover compiled access, isolation, and retained host restrictions with a regression test.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix: support epoch releases and document submission URL alphabets
Accept PEP 440 epoch markers in release tags and archive URLs while retaining package path restrictions. Document accepted character sets and percent-escape exclusions, and cover epoch route compatibility and mismatches.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix: isolate step downloads from curl config and proxy auth failures
Place --disable first in curl arguments, verify hostile config isolation with real curl and a local proxy, and classify HTTP 407 as an environment blocker before exit-code handling.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* test: compare license REST allowlist domains exactly
Replace ambiguous hostname membership assertions flagged by CodeQL with explicit exact-entry comparisons and add lookalike-domain negative cases for firewall and ingestion policies.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix: remove undisclosed step documentation policy requirement
Keep discovery-only policy in Spec Kit guidance without rejecting complete external usage documentation for not repeating it.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix: verify step catalog history and shared submission contracts
Follow the preset verifier snapshot/generated pattern to enforce release migration, preserved history, complete existing digests, and publication gating. Include workflow-step in common community contract coverage while retaining archive-specific matrices.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix: preserve catalog reader error classification by phase
Align with the preset verifier by honoring the caller's error type for filesystem and decoding failures. Cover missing, non-UTF-8, directory, and permission failures without changing original-evidence blocker semantics.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix: reject duplicate JSON fields in step submission evidence
Detect duplicate object keys at every depth before snapshot comparison, preserving generated repair, original-evidence blocker, and submission-failure classifications.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix: certify canonical metadata before step catalog snapshots
Compare every required current-entry metadata field against independently captured form values, including archive and repository provenance, compatibility, and optional changelog. Reject incomplete or miscopied entries before generating expected catalog state.
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>1 parent 34d460f commit 9fa05b9
13 files changed
Lines changed: 4433 additions & 97 deletions
File tree
- .github
- ISSUE_TEMPLATE
- scripts
- workflows
- docs
- community
- guides
- reference
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
| 9 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
80 | 84 | | |
81 | 85 | | |
82 | 86 | | |
| |||
85 | 89 | | |
86 | 90 | | |
87 | 91 | | |
88 | | - | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
89 | 96 | | |
90 | 97 | | |
91 | 98 | | |
| |||
94 | 101 | | |
95 | 102 | | |
96 | 103 | | |
97 | | - | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
98 | 108 | | |
99 | 109 | | |
100 | 110 | | |
| |||
104 | 114 | | |
105 | 115 | | |
106 | 116 | | |
107 | | - | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
108 | 120 | | |
109 | | - | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
110 | 124 | | |
111 | 125 | | |
112 | 126 | | |
| |||
183 | 197 | | |
184 | 198 | | |
185 | 199 | | |
186 | | - | |
| 200 | + | |
187 | 201 | | |
188 | 202 | | |
189 | 203 | | |
| |||
0 commit comments