@juangcarmona/lighthouse-sdlc 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 (39) hide show
  1. package/README.md +61 -12
  2. package/completion.md +6 -4
  3. package/execution-environments.md +43 -0
  4. package/package.json +2 -1
  5. package/schemas/execution-environment.schema.json +12 -0
  6. package/skills/implement/SKILL.md +9 -8
  7. package/src/actions-artifact.mjs +17 -0
  8. package/src/completion-actions.mjs +30 -10
  9. package/src/completion.mjs +19 -0
  10. package/src/delivery-events.mjs +42 -0
  11. package/src/execution-environment.mjs +78 -0
  12. package/src/implementation-runtime.mjs +56 -32
  13. package/src/implementation.mjs +31 -19
  14. package/src/install-workflows.mjs +10 -7
  15. package/src/integration-evidence.mjs +25 -1
  16. package/src/issue-actions.mjs +260 -38
  17. package/src/opencode-execute.mjs +20 -10
  18. package/src/process-publication.mjs +1 -1
  19. package/src/proposal-review.mjs +91 -0
  20. package/src/proposal.mjs +22 -8
  21. package/src/stage-dispatch.mjs +148 -0
  22. package/src/stage-transition.mjs +25 -0
  23. package/src/worker-maintenance.mjs +83 -0
  24. package/src/worker-recovery.mjs +106 -0
  25. package/src/worker-reports.mjs +150 -0
  26. package/workflows/lighthouse-sdlc-apply-review.lock.yml +1335 -0
  27. package/workflows/lighthouse-sdlc-apply-review.md +205 -0
  28. package/workflows/lighthouse-sdlc-implement.lock.yml +51 -90
  29. package/workflows/lighthouse-sdlc-implement.md +40 -11
  30. package/workflows/lighthouse-sdlc-integrate.lock.yml +36 -83
  31. package/workflows/lighthouse-sdlc-integrate.md +25 -2
  32. package/workflows/lighthouse-sdlc-propose.lock.yml +44 -83
  33. package/workflows/lighthouse-sdlc-propose.md +33 -4
  34. package/workflows/lighthouse-sdlc-refine.lock.yml +45 -83
  35. package/workflows/lighthouse-sdlc-refine.md +32 -2
  36. package/workflows/lighthouse-sdlc-review.lock.yml +36 -83
  37. package/workflows/lighthouse-sdlc-review.md +25 -2
  38. package/workflows/lighthouse-sdlc-router.yml +70 -62
  39. package/workflows/lighthouse-worker-maintenance.yml +126 -0
@@ -0,0 +1,126 @@
1
+ name: Lighthouse worker maintenance
2
+ on:
3
+ schedule:
4
+ - cron: '17,47 * * * *'
5
+ workflow_dispatch:
6
+ inputs:
7
+ issue:
8
+ description: Optional source issue; empty scans open owner issues
9
+ required: false
10
+ type: string
11
+ permissions:
12
+ contents: read
13
+ env:
14
+ LIGHTHOUSE_MAINTENANCE_ENABLED: ${{ vars.LIGHTHOUSE_MAINTENANCE_ENABLED }}
15
+ LIGHTHOUSE_RECOVERY_ENABLED: ${{ vars.LIGHTHOUSE_RECOVERY_ENABLED }}
16
+ jobs:
17
+ scan:
18
+ if: vars.LIGHTHOUSE_AUTOMATION_ENABLED == 'true' && vars.LIGHTHOUSE_MAINTENANCE_ENABLED == 'true' && github.actor == github.repository_owner
19
+ runs-on: ubuntu-24.04
20
+ permissions:
21
+ contents: read
22
+ actions: read
23
+ issues: read
24
+ outputs:
25
+ issues: ${{ steps.scan.outputs.issues }}
26
+ steps:
27
+ - uses: actions/checkout@v5
28
+ with:
29
+ repository: juangcarmona/lighthouse
30
+ ref: __LIGHTHOUSE_REF__
31
+ persist-credentials: false
32
+ - uses: actions/setup-node@v5
33
+ with:
34
+ node-version: 24
35
+ - id: scan
36
+ env:
37
+ GH_TOKEN: ${{ github.token }}
38
+ run: node src/packages/sdlc/src/worker-maintenance.mjs scan
39
+ reconcile:
40
+ needs: scan
41
+ if: needs.scan.outputs.issues != '[]'
42
+ strategy:
43
+ fail-fast: false
44
+ max-parallel: 5
45
+ matrix:
46
+ issue: ${{ fromJSON(needs.scan.outputs.issues) }}
47
+ concurrency:
48
+ group: lighthouse-dispatch-${{ matrix.issue }}
49
+ cancel-in-progress: false
50
+ queue: max
51
+ runs-on: ubuntu-24.04
52
+ permissions:
53
+ contents: read
54
+ actions: write
55
+ issues: write
56
+ pull-requests: read
57
+ env:
58
+ LIGHTHOUSE_ISSUE: ${{ matrix.issue }}
59
+ steps:
60
+ - uses: actions/checkout@v5
61
+ with:
62
+ repository: juangcarmona/lighthouse
63
+ ref: __LIGHTHOUSE_REF__
64
+ persist-credentials: false
65
+ - uses: actions/setup-node@v5
66
+ with:
67
+ node-version: 24
68
+ - name: Reconcile and record one bounded retry
69
+ id: request
70
+ env:
71
+ GH_TOKEN: ${{ github.token }}
72
+ run: node src/packages/sdlc/src/worker-maintenance.mjs prepare
73
+ - name: Preserve request before dispatch
74
+ if: steps.request.outputs.send == 'true'
75
+ uses: actions/upload-artifact@v7
76
+ with:
77
+ name: ${{ steps.request.outputs.artifact }}
78
+ path: ${{ runner.temp }}/lighthouse-maintenance-${{ github.run_id }}-${{ matrix.issue }}/dispatch.json
79
+ retention-days: 14
80
+ if-no-files-found: error
81
+ - name: Send the recorded retry once
82
+ if: steps.request.outputs.send == 'true'
83
+ env:
84
+ GH_TOKEN: ${{ github.token }}
85
+ LIGHTHOUSE_DISPATCH_COMMENT: ${{ steps.request.outputs.comment }}
86
+ run: node src/packages/sdlc/src/worker-maintenance.mjs send
87
+ - name: Preserve observations
88
+ if: always()
89
+ uses: actions/upload-artifact@v7
90
+ with:
91
+ name: lighthouse-maintenance-${{ matrix.issue }}
92
+ path: ${{ runner.temp }}/lighthouse-maintenance-${{ github.run_id }}-${{ matrix.issue }}/observations.json
93
+ retention-days: 14
94
+ if-no-files-found: error
95
+ report:
96
+ needs: [scan, reconcile]
97
+ if: always() && needs.scan.result == 'success' && needs.scan.outputs.issues != '[]' && vars.LIGHTHOUSE_REPORT_INDEX_ISSUE != ''
98
+ concurrency:
99
+ group: lighthouse-worker-reports
100
+ cancel-in-progress: false
101
+ queue: max
102
+ runs-on: ubuntu-24.04
103
+ permissions:
104
+ contents: read
105
+ actions: read
106
+ issues: write
107
+ env:
108
+ LIGHTHOUSE_REPORT_INDEX_ISSUE: ${{ vars.LIGHTHOUSE_REPORT_INDEX_ISSUE }}
109
+ LIGHTHOUSE_OBSERVED_ISSUES: ${{ needs.scan.outputs.issues }}
110
+ steps:
111
+ - uses: actions/checkout@v5
112
+ with:
113
+ repository: juangcarmona/lighthouse
114
+ ref: __LIGHTHOUSE_REF__
115
+ persist-credentials: false
116
+ - uses: actions/setup-node@v5
117
+ with:
118
+ node-version: 24
119
+ - uses: actions/download-artifact@v8
120
+ with:
121
+ pattern: lighthouse-maintenance-*
122
+ path: ${{ runner.temp }}/worker-observations
123
+ - name: Reconcile and update worker error reports
124
+ env:
125
+ GH_TOKEN: ${{ github.token }}
126
+ run: node src/packages/sdlc/src/worker-maintenance.mjs report