tenseleyflow/sway / 195633a

Browse files

CHANGELOG: Sprint 28 block — sway-action GitHub Action

Authored by mfwolffe <wolffemf@dukes.jmu.edu>
SHA
195633a3c38425212da1a05d4099a0012895e7f3
Parents
ea13903
Tree
b99230e

1 changed file

StatusFile+-
M CHANGELOG.md 48 0
CHANGELOG.mdmodified
@@ -2,6 +2,54 @@
2
 
2
 
3
 ## Unreleased
3
 ## Unreleased
4
 
4
 
5
+### Sprint 28 — `tenseleyflow/sway-action` GitHub Action
6
+
7
+Closes the P2 "GitHub Action" discoverability item from Audit 03
8
+D-path3. The action lives in its own repo
9
+([tenseleyFlow/sway-action](https://github.com/tenseleyFlow/sway-action),
10
+tagged `v0.1.0`) so consumers can pin via `uses:` without coupling
11
+to sway's release cadence.
12
+
13
+**End-user value:** three lines of YAML to wire sway into any GitHub
14
+PR check, with edit-in-place PR comments + cached venv + standardized
15
+verdict sticker. The audience is teams who don't use pre-commit but
16
+live in GitHub Actions.
17
+
18
+```yaml
19
+- uses: tenseleyflow/sway-action@v0.1.0
20
+  with:
21
+    spec-path: sway.yaml
22
+```
23
+
24
+**Inputs / outputs.** Inputs cover `fail-on` policy
25
+(`fail`/`warn`/`never`), `comment-on-pr`, `upload-artifact`,
26
+`sway-version` (defaults to the action's pinned version), and
27
+`python-version`. Outputs `sway-score`, `verdict`, and `report-path`
28
+are surfaced for downstream workflow steps.
29
+
30
+**Action layout:**
31
+- `action.yml` — composite action, 5 steps (setup-python → cache →
32
+  entrypoint.sh → upload-artifact → github-script post-comment).
33
+- `src/entrypoint.sh` — bootstraps a venv, installs `dlm-sway[hf]`
34
+  pinned, runs `sway gate` + `sway report --format md`, parses score
35
+  + verdict from the JSON report into `$GITHUB_OUTPUT`.
36
+- `src/post-comment.js` — Node 20 script run via
37
+  `actions/github-script@v7`. Finds prior sway comments via a hidden
38
+  `<!-- sway-action:report -->` HTML marker and edits in place.
39
+  Truncates at 60 KB with a footer pointing to the artifact for
40
+  full report.
41
+
42
+**Self-tests** (`smoke.yml` in the action repo): an `actionlint` +
43
+`shellcheck` + `node -c` lint job, an `entrypoint-stub` job that
44
+validates the bash plumbing against a stubbed `dlm_sway` package, and
45
+a `self-test` job that runs the action end-to-end against a tiny
46
+random LoRA on SmolLM2-135M (PR-only — needs PR context for the
47
+comment-posting step).
48
+
49
+**Sway README** gains a "GitHub Action" subsection between Pre-commit
50
+and the `.dlm` integration with the copy-paste one-liner + a complete
51
+workflow example.
52
+
5
 ### Sprint 27 — `tool_use_fidelity` probe
53
 ### Sprint 27 — `tool_use_fidelity` probe
6
 
54
 
7
 Closes the P1 "tool_use_fidelity probe" backlog item. The probe sway
55
 Closes the P1 "tool_use_fidelity probe" backlog item. The probe sway