Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
912a416
Add X MCP installer for twitter digest
Jul 1, 2026
9622384
Split X MCP installer into separate skill
Jul 1, 2026
4d9787b
Remove MCP references from twitter digest
Jul 1, 2026
3eed4db
Prevent browser fallback when API is configured
Jul 1, 2026
383ddfe
Document Codex one-line install commands
Jul 1, 2026
fdd41c9
Document Claude one-line install commands
Jul 1, 2026
93e5884
Pin one-line install commands to beta tag
Jul 1, 2026
c49dea3
Add curl installer for Twitter MCP
Jul 1, 2026
5e4b7b4
Document digest source isolation
Jul 1, 2026
f35ae11
Install Twitter MCP skill during bootstrap
Jul 1, 2026
2dc63c2
Fix Terminal wait prompt for zsh
Jul 1, 2026
167e0a6
Improve Twitter digest Chinese trigger metadata
Jul 1, 2026
dd5c799
Add MCP-sourced Twitter digest workflow
Jul 1, 2026
3218b85
Use absolute xurl path for X MCP registration
Jul 1, 2026
3a2165d
Use search fallbacks for X MCP digest data
Jul 1, 2026
0cc2704
Use xurl CLI as Twitter digest data source
Jul 1, 2026
163e2db
Guide xurl digest collection from skill
Jul 1, 2026
dbbe288
Skip DM collection in xurl digest skill
Jul 1, 2026
a1b2152
Add curl bootstrap for Twitter digest install
Jul 1, 2026
b58fb63
Avoid Terminal launch before xurl prerequisites
Jul 1, 2026
6c120ba
Install Node with Homebrew for xurl setup
Jul 1, 2026
a5f9db2
Revert automatic Node installation
Jul 1, 2026
1cefc72
Enforce local 24 hour window for xurl digest
Jul 1, 2026
719cdc7
Tighten xurl mention filtering and reply checks
Jul 1, 2026
1910585
Apply strict mention window rules to twitter digest
Jul 1, 2026
c9483af
Run twitter mcp installer in Terminal from agents
Jul 1, 2026
88666da
Run digest installer in Terminal from agents
Jul 1, 2026
9fde9e8
Mark handled mentions before digest summaries
Jul 1, 2026
b3a445b
Require complete mention search before digest output
Jul 1, 2026
535da21
Default twitter digest to browser source
Jul 1, 2026
de34a7e
Require browser digest handle detection
Jul 1, 2026
7467db3
Default digest to API after configuration
Jul 1, 2026
000fadd
Bump beta install tag to v1.5.11-beta.29
Jul 1, 2026
b918959
Point installs to v1.5.11 release
Jul 1, 2026
5d8a530
Resolve PR conflicts using release branch
Jul 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 11 additions & 40 deletions .github/workflows/audit-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ on:
types: [created]
workflow_dispatch:

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"

permissions:
contents: read
pull-requests: write
Expand All @@ -29,7 +26,7 @@ jobs:

steps:
- name: Checkout PR head
uses: actions/checkout@v5
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
Expand All @@ -53,29 +50,16 @@ jobs:
id: submit
shell: bash
run: |
HTTP_CODE=$(curl -s -o /tmp/audit-submit.json -w "%{http_code}" -X POST "${{ vars.AUDIT_SERVICE_URL }}/audit-pr/${{ vars.AUDIT_PR_SKILL }}" \
RESPONSE=$(curl -s -X POST "${{ vars.AUDIT_SERVICE_URL }}/audit-pr/${{ vars.AUDIT_PR_SKILL }}" \
-H "X-API-Key: ${{ secrets.AUDIT_API_KEY }}" \
-F "file=@/tmp/${{ steps.archive.outputs.archive_name }}" \
-F "from_branch=${{ github.event.pull_request.base.ref }}" \
-F "to_branch=${{ github.event.pull_request.head.ref }}")

echo "Submit HTTP_CODE=$HTTP_CODE"
echo "Submit response:"
cat /tmp/audit-submit.json

if [ "$HTTP_CODE" != "200" ]; then
echo "Audit service request failed"
exit 1
fi

if ! jq empty /tmp/audit-submit.json >/dev/null 2>&1; then
echo "Audit service returned non-JSON response"
exit 1
fi

jq . /tmp/audit-submit.json
echo "$RESPONSE" | jq .

REPORT_URL=$(jq -r '.report_url // empty' /tmp/audit-submit.json)
REPORT_URL=$(echo "$RESPONSE" | jq -r '.report_url // empty')

if [ -z "$REPORT_URL" ]; then
echo "Audit service did not return report_url"
Expand Down Expand Up @@ -144,7 +128,7 @@ jobs:
PY

- name: Comment markdown report to PR
uses: actions/github-script@v8
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
Expand Down Expand Up @@ -182,7 +166,7 @@ jobs:
steps:
- name: Get PR info
id: pr
uses: actions/github-script@v8
uses: actions/github-script@v7
with:
script: |
const pr = await github.rest.pulls.get({
Expand All @@ -196,7 +180,7 @@ jobs:
core.setOutput('head_sha', pr.data.head.sha);

- name: Checkout PR head
uses: actions/checkout@v5
uses: actions/checkout@v4
with:
ref: ${{ steps.pr.outputs.head_sha }}
fetch-depth: 0
Expand All @@ -220,29 +204,16 @@ jobs:
id: submit
shell: bash
run: |
HTTP_CODE=$(curl -s -o /tmp/audit-submit.json -w "%{http_code}" -X POST "${{ vars.AUDIT_SERVICE_URL }}/audit-pr/${{ vars.AUDIT_PR_SKILL }}" \
RESPONSE=$(curl -s -X POST "${{ vars.AUDIT_SERVICE_URL }}/audit-pr/${{ vars.AUDIT_PR_SKILL }}" \
-H "X-API-Key: ${{ secrets.AUDIT_API_KEY }}" \
-F "file=@/tmp/${{ steps.archive.outputs.archive_name }}" \
-F "from_branch=${{ steps.pr.outputs.base_ref }}" \
-F "to_branch=${{ steps.pr.outputs.head_ref }}")

echo "Submit HTTP_CODE=$HTTP_CODE"
echo "Submit response:"
cat /tmp/audit-submit.json

if [ "$HTTP_CODE" != "200" ]; then
echo "Audit service request failed"
exit 1
fi

if ! jq empty /tmp/audit-submit.json >/dev/null 2>&1; then
echo "Audit service returned non-JSON response"
exit 1
fi

jq . /tmp/audit-submit.json
echo "$RESPONSE" | jq .

REPORT_URL=$(jq -r '.report_url // empty' /tmp/audit-submit.json)
REPORT_URL=$(echo "$RESPONSE" | jq -r '.report_url // empty')

if [ -z "$REPORT_URL" ]; then
echo "Audit service did not return report_url"
Expand Down Expand Up @@ -309,7 +280,7 @@ jobs:
PY

- name: Comment markdown report to PR
uses: actions/github-script@v8
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
Expand Down
Loading
Loading