@juangcarmona/lighthouse-sdlc 0.15.2 → 0.16.1

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 (49) hide show
  1. package/README.md +6 -1
  2. package/execution-environments.md +2 -0
  3. package/meta-commands/ff.md +2 -2
  4. package/meta-commands/hotfix.md +3 -1
  5. package/package.json +8 -3
  6. package/schemas/product-change.schema.json +118 -0
  7. package/skills/independent-review/SKILL.md +13 -0
  8. package/skills/product-change/SKILL.md +18 -0
  9. package/src/completion.mjs +5 -3
  10. package/src/contracts.mjs +2 -0
  11. package/src/host-contract.mjs +11 -3
  12. package/src/implementation-runtime.mjs +14 -5
  13. package/src/implementation.mjs +2 -2
  14. package/src/install-workflows.mjs +17 -5
  15. package/src/integration-evidence.mjs +4 -1
  16. package/src/issue-actions.mjs +124 -17
  17. package/src/opencode-execute.mjs +7 -7
  18. package/src/product-change-actions.mjs +308 -0
  19. package/src/product-change.mjs +277 -0
  20. package/src/proposal-review.mjs +1 -1
  21. package/src/proposal.mjs +4 -4
  22. package/src/sdlc.mjs +1 -1
  23. package/src/stage-dispatch.mjs +11 -3
  24. package/src/unattended-actions.mjs +287 -0
  25. package/src/unattended-runtime.mjs +115 -0
  26. package/src/unattended.mjs +161 -0
  27. package/templates/unattended.json +37 -0
  28. package/unattended.md +40 -0
  29. package/workflows/lighthouse-sdlc-apply-product-change.lock.yml +1838 -0
  30. package/workflows/lighthouse-sdlc-apply-product-change.md +183 -0
  31. package/workflows/lighthouse-sdlc-apply-review.lock.yml +4 -4
  32. package/workflows/lighthouse-sdlc-apply-review.md +2 -2
  33. package/workflows/lighthouse-sdlc-implement.lock.yml +4 -4
  34. package/workflows/lighthouse-sdlc-implement.md +2 -2
  35. package/workflows/lighthouse-sdlc-integrate.lock.yml +4 -4
  36. package/workflows/lighthouse-sdlc-integrate.md +2 -2
  37. package/workflows/lighthouse-sdlc-product-change.lock.yml +1329 -0
  38. package/workflows/lighthouse-sdlc-product-change.md +195 -0
  39. package/workflows/lighthouse-sdlc-propose.lock.yml +4 -4
  40. package/workflows/lighthouse-sdlc-propose.md +2 -2
  41. package/workflows/lighthouse-sdlc-refine.lock.yml +4 -4
  42. package/workflows/lighthouse-sdlc-refine.md +2 -2
  43. package/workflows/lighthouse-sdlc-review.lock.yml +4 -4
  44. package/workflows/lighthouse-sdlc-review.md +2 -2
  45. package/workflows/lighthouse-sdlc-router.yml +12 -2
  46. package/workflows/lighthouse-sdlc-triage.lock.yml +4 -4
  47. package/workflows/lighthouse-sdlc-triage.md +2 -2
  48. package/workflows/lighthouse-sdlc-unattended.yml +67 -0
  49. package/workflows/shared/lighthouse-opencode.md +1 -1
@@ -0,0 +1,183 @@
1
+ ---
2
+ # Owned by lighthouse-sdlc. Regenerate the lock with gh aw v0.93.2.
3
+ name: apply-product-change
4
+ description: Recheck an explicit owner decision, apply the provider delta without GitHub credentials, and publish its verified result.
5
+ run-name: "apply product change #${{ inputs.issue }} · PR #${{ inputs.pull-request }}"
6
+ concurrency:
7
+ group: lighthouse-issue-${{ inputs.issue }}
8
+ cancel-in-progress: false
9
+ queue: max
10
+ job-discriminator: ${{ github.run_id }}
11
+ on:
12
+ roles: all
13
+ workflow_dispatch:
14
+ inputs:
15
+ issue:
16
+ description: Linked issue
17
+ required: true
18
+ type: string
19
+ dispatch-request:
20
+ description: Authenticated router receipt comment ID
21
+ required: true
22
+ type: string
23
+ pull-request:
24
+ description: Product Change PR
25
+ required: true
26
+ type: string
27
+ head:
28
+ description: Approved full PR head SHA
29
+ required: true
30
+ type: string
31
+ needs: [prepare]
32
+ if: needs.prepare.outputs.eligible == 'true'
33
+ runs-on: [self-hosted, linux, lighthouse-workflow]
34
+ runs-on-slim: ubuntu-24.04
35
+ timeout-minutes: 30
36
+ env:
37
+ LIGHTHOUSE_STAGE: propose
38
+ LIGHTHOUSE_WORKER: apply-product-change
39
+ LIGHTHOUSE_DISPATCH_REQUIRED: "true"
40
+ LIGHTHOUSE_PRODUCT_CHANGE_ENABLED: "true"
41
+ permissions:
42
+ contents: read
43
+ strict: false
44
+ tools:
45
+ bash: [cat, git, node, npm, npx]
46
+ safe-outputs:
47
+ create-issue: false
48
+ report-failure-as-issue: false
49
+ report-incomplete: false
50
+ threat-detection: false
51
+ noop:
52
+ report-as-issue: false
53
+ network:
54
+ allowed: []
55
+ jobs:
56
+ prepare:
57
+ outputs:
58
+ eligible: ${{ steps.prepare.outputs.eligible }}
59
+ head: ${{ steps.prepare.outputs.head }}
60
+ name: Recheck product approval
61
+ runs-on: ubuntu-24.04
62
+ permissions:
63
+ actions: read
64
+ contents: read
65
+ issues: read
66
+ pull-requests: read
67
+ env:
68
+ LIGHTHOUSE_ISSUE: ${{ inputs.issue }}
69
+ LIGHTHOUSE_WORKER: apply-product-change
70
+ LIGHTHOUSE_STAGE: propose
71
+ LIGHTHOUSE_DISPATCH_REQUIRED: "true"
72
+ LIGHTHOUSE_PRODUCT_CHANGE_ENABLED: "true"
73
+ steps:
74
+ - uses: actions/checkout@v5
75
+ with:
76
+ repository: juangcarmona/lighthouse
77
+ ref: __LIGHTHOUSE_REF__
78
+ persist-credentials: false
79
+ - uses: actions/setup-node@v5
80
+ with:
81
+ node-version: 24
82
+ - name: Recheck the explicit current owner decision
83
+ id: prepare
84
+ env:
85
+ GH_TOKEN: ${{ github.token }}
86
+ run: node src/packages/sdlc/src/issue-actions.mjs product-apply-prepare
87
+ - name: Preserve the approval checkpoint
88
+ if: steps.prepare.outputs.eligible == 'true'
89
+ uses: actions/upload-artifact@v7
90
+ with:
91
+ name: lighthouse-product-apply-input-${{ inputs.issue }}-${{ github.run_attempt }}
92
+ path: ${{ runner.temp }}/lighthouse-${{ github.run_id }}-${{ github.run_attempt }}/product-apply.json
93
+ if-no-files-found: error
94
+ retention-days: 14
95
+ apply:
96
+ name: Apply with the pinned ProductShape provider
97
+ needs: [prepare]
98
+ if: needs.prepare.outputs.eligible == 'true'
99
+ runs-on: ubuntu-24.04
100
+ permissions: {}
101
+ steps:
102
+ - uses: actions/checkout@v5
103
+ with:
104
+ persist-credentials: false
105
+ ref: ${{ needs.prepare.outputs.head }}
106
+ - uses: actions/checkout@v5
107
+ with:
108
+ repository: juangcarmona/lighthouse
109
+ ref: __LIGHTHOUSE_REF__
110
+ path: .lighthouse-harness
111
+ persist-credentials: false
112
+ - uses: actions/setup-node@v5
113
+ with:
114
+ node-version: 24
115
+ - name: Install provider packages without credentials
116
+ run: |
117
+ npm ci --ignore-scripts
118
+ npm install --no-save --package-lock=false --ignore-scripts @prodshape/integration-openspec@0.6.6
119
+ - name: Load the approval checkpoint
120
+ uses: actions/download-artifact@v8
121
+ with:
122
+ name: lighthouse-product-apply-input-${{ inputs.issue }}-${{ github.run_attempt }}
123
+ path: ${{ runner.temp }}/lighthouse-${{ github.run_id }}-${{ github.run_attempt }}
124
+ - name: Run provider dry-run, apply and validation
125
+ run: node .lighthouse-harness/src/packages/sdlc/src/issue-actions.mjs product-apply
126
+ - name: Preserve the provider output and apply receipt
127
+ if: always()
128
+ uses: actions/upload-artifact@v7
129
+ with:
130
+ name: lighthouse-product-apply-result-${{ inputs.issue }}-${{ github.run_attempt }}
131
+ path: |
132
+ ${{ runner.temp }}/lighthouse-${{ github.run_id }}-${{ github.run_attempt }}/apply-result.json
133
+ ${{ runner.temp }}/lighthouse-${{ github.run_id }}-${{ github.run_attempt }}/affected-citations.json
134
+ if-no-files-found: error
135
+ retention-days: 30
136
+ publish:
137
+ name: Recheck and publish provider output
138
+ needs: [prepare, apply]
139
+ if: always() && needs.prepare.outputs.eligible == 'true'
140
+ runs-on: ubuntu-24.04
141
+ permissions:
142
+ actions: read
143
+ contents: write
144
+ issues: write
145
+ pull-requests: write
146
+ env:
147
+ LIGHTHOUSE_ISSUE: ${{ inputs.issue }}
148
+ LIGHTHOUSE_WORKER: apply-product-change
149
+ LIGHTHOUSE_STAGE: propose
150
+ LIGHTHOUSE_DISPATCH_REQUIRED: "true"
151
+ LIGHTHOUSE_PRODUCT_CHANGE_ENABLED: "true"
152
+ steps:
153
+ - uses: actions/checkout@v5
154
+ with:
155
+ repository: juangcarmona/lighthouse
156
+ ref: __LIGHTHOUSE_REF__
157
+ persist-credentials: false
158
+ - uses: actions/setup-node@v5
159
+ with:
160
+ node-version: 24
161
+ - name: Load the approved checkpoint
162
+ uses: actions/download-artifact@v8
163
+ with:
164
+ name: lighthouse-product-apply-input-${{ inputs.issue }}-${{ github.run_attempt }}
165
+ path: ${{ runner.temp }}/lighthouse-${{ github.run_id }}-${{ github.run_attempt }}
166
+ - name: Load provider output
167
+ if: needs.apply.result == 'success'
168
+ uses: actions/download-artifact@v8
169
+ with:
170
+ name: lighthouse-product-apply-result-${{ inputs.issue }}-${{ github.run_attempt }}
171
+ path: ${{ runner.temp }}/lighthouse-${{ github.run_id }}-${{ github.run_attempt }}
172
+ - name: Stop when the provider apply did not complete
173
+ if: needs.apply.result != 'success'
174
+ run: exit 1
175
+ - name: Publish only the verified applied delta
176
+ env:
177
+ GH_TOKEN: ${{ github.token }}
178
+ run: node src/packages/sdlc/src/issue-actions.mjs product-apply-publish
179
+ ---
180
+
181
+ # Apply an approved Product Change
182
+
183
+ This workflow has no agent job. Its prepare job authenticates and rechecks the explicit product decision. The apply job has no GitHub token and performs only the pinned ProductShape dry-run, apply and resulting-model validation. The publisher rechecks the same PR head and decision before writing the provider-generated model delta to the issue branch. A failed or uncertain apply needs owner recovery; it is never retried automatically.
@@ -1,4 +1,4 @@
1
- # gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"9c9a74c51b01ca45a33547aa564ae10c46766c84093b5f96471b20bce2a505ac","body_hash":"8151890e19043f86541decb00d0dc86741daec051c004feb7beab27b025e3621","compiler_version":"v0.93.2","agent_id":"opencode","engine_versions":{"opencode":"2.1.0"},"agent_image_runner":"[\"self-hosted\",\"linux\",\"lighthouse-workflow\"]"}
1
+ # gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"336bd2322457ccac362ef352c4c943c30fbec9436dc66f6068236e5581def067","body_hash":"8151890e19043f86541decb00d0dc86741daec051c004feb7beab27b025e3621","compiler_version":"v0.93.2","agent_id":"opencode","engine_versions":{"opencode":"2.1.0"},"agent_image_runner":"[\"self-hosted\",\"linux\",\"lighthouse-workflow\"]"}
2
2
  # gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_DEFAULT_OTLP_ENDPOINT","GH_AW_DEFAULT_OTLP_HEADERS","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GITHUB_TOKEN"],"actions":[{"repo":"actions/checkout","sha":"3d3c42e5aac5ba805825da76410c181273ba90b1","version":"v7.0.1"},{"repo":"actions/checkout","sha":"fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09","version":"v5"},{"repo":"actions/download-artifact","sha":"9000827ccba6bdab643e8b6fd33ac0654aef8333","version":"v8.0.2"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"949feb2413d6458794dcd2491c4babbbce0c15c1","version":"v7.1.0"},{"repo":"actions/setup-node","sha":"a0853c24544627f65ddf259abe73b1d18a591444","version":"v5"},{"repo":"actions/upload-artifact","sha":"cf430e030ddbb5b0abf93d22962f4752f3646cd9","version":"v7.0.2"},{"repo":"github/gh-aw-actions/setup","sha":"d9128eb3ea40c18b77c76184eda03c0ff2608d79","version":"v0.93.2"}],"containers":[{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:41835613992df88f51e923bad486f96dfb2e6cda29f13e217df41833284ae382","pinned_image":"ghcr.io/github/gh-aw-node@sha256:41835613992df88f51e923bad486f96dfb2e6cda29f13e217df41833284ae382"}],"mcp_servers":[{"name":"safeoutputs","tools":["noop"]}],"threat_detection":{"mode":"disabled"},"admission":false}
3
3
  # This file was automatically generated by gh-aw (v0.93.2). DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
4
4
  #
@@ -510,7 +510,7 @@ jobs:
510
510
  - name: Load the pinned harness package
511
511
  uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5
512
512
  with:
513
- path: tools
513
+ path: .lighthouse-harness
514
514
  persist-credentials: false
515
515
  ref: __LIGHTHOUSE_REF__
516
516
  repository: juangcarmona/lighthouse
@@ -749,7 +749,7 @@ jobs:
749
749
  export GH_AW_AWF_EXECUTION_EVIDENCE_FILE="/tmp/gh-aw/agent_execution.json"
750
750
  export no_proxy="${NO_PROXY:-}"
751
751
  printf '%s' "$(date +%s%3N)" > /tmp/gh-aw/agent_cli_start_ms.txt
752
- cd "${GITHUB_WORKSPACE}" && node tools/src/packages/sdlc/src/opencode-execute.mjs "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)" 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
752
+ cd "${GITHUB_WORKSPACE}" && node .lighthouse-harness/src/packages/sdlc/src/opencode-execute.mjs "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)" 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
753
753
  env:
754
754
  GH_AW_ADMISSION_MAX_AI_CREDITS: ${{ needs.activation.outputs.admission-max-ai-credits }}
755
755
  GH_AW_ADMISSION_RESULT: ${{ needs.activation.outputs.admission-result }}
@@ -862,7 +862,7 @@ jobs:
862
862
  echo '{"items":[]}' > /tmp/gh-aw/agent_output.json
863
863
  fi
864
864
  - name: Validate the Lighthouse result
865
- run: node tools/src/packages/sdlc/src/issue-actions.mjs validate
865
+ run: node .lighthouse-harness/src/packages/sdlc/src/issue-actions.mjs validate
866
866
  - if: always()
867
867
  name: Preserve the result and runtime receipt
868
868
  uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
@@ -68,7 +68,7 @@ steps:
68
68
  with:
69
69
  repository: juangcarmona/lighthouse
70
70
  ref: __LIGHTHOUSE_REF__
71
- path: tools
71
+ path: .lighthouse-harness
72
72
  persist-credentials: false
73
73
  - name: Load the authorized issue context
74
74
  uses: actions/download-artifact@v8
@@ -77,7 +77,7 @@ steps:
77
77
  path: ${{ runner.temp }}/lighthouse-${{ github.run_id }}-${{ github.run_attempt }}
78
78
  post-steps:
79
79
  - name: Validate the Lighthouse result
80
- run: node tools/src/packages/sdlc/src/issue-actions.mjs validate
80
+ run: node .lighthouse-harness/src/packages/sdlc/src/issue-actions.mjs validate
81
81
  - name: Preserve the result and runtime receipt
82
82
  if: always()
83
83
  uses: actions/upload-artifact@v7
@@ -1,4 +1,4 @@
1
- # gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"ddc34c777952a5977905ba7634ffb45636b3dd3b88f81cddc49e917c6786584d","body_hash":"260db41beef59e0a150c7e0ed9fed84f0f724b5aeba94e5d2576d4b203a9d663","compiler_version":"v0.93.2","agent_id":"opencode","engine_versions":{"opencode":"2.1.0"},"agent_image_runner":"[\"self-hosted\",\"linux\",\"lighthouse-workflow\"]"}
1
+ # gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"82e278c98bc5542041f7a212403e06f63f11ee41ed07f4bd7a8a08695b1e7255","body_hash":"260db41beef59e0a150c7e0ed9fed84f0f724b5aeba94e5d2576d4b203a9d663","compiler_version":"v0.93.2","agent_id":"opencode","engine_versions":{"opencode":"2.1.0"},"agent_image_runner":"[\"self-hosted\",\"linux\",\"lighthouse-workflow\"]"}
2
2
  # gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_DEFAULT_OTLP_ENDPOINT","GH_AW_DEFAULT_OTLP_HEADERS","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GITHUB_TOKEN"],"actions":[{"repo":"actions/checkout","sha":"3d3c42e5aac5ba805825da76410c181273ba90b1","version":"v7.0.1"},{"repo":"actions/checkout","sha":"fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09","version":"v5"},{"repo":"actions/download-artifact","sha":"9000827ccba6bdab643e8b6fd33ac0654aef8333","version":"v8.0.2"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"949feb2413d6458794dcd2491c4babbbce0c15c1","version":"v7.1.0"},{"repo":"actions/setup-node","sha":"a0853c24544627f65ddf259abe73b1d18a591444","version":"v5"},{"repo":"actions/upload-artifact","sha":"cf430e030ddbb5b0abf93d22962f4752f3646cd9","version":"v7.0.2"},{"repo":"github/gh-aw-actions/setup","sha":"d9128eb3ea40c18b77c76184eda03c0ff2608d79","version":"v0.93.2"}],"containers":[{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:41835613992df88f51e923bad486f96dfb2e6cda29f13e217df41833284ae382","pinned_image":"ghcr.io/github/gh-aw-node@sha256:41835613992df88f51e923bad486f96dfb2e6cda29f13e217df41833284ae382"}],"mcp_servers":[{"name":"safeoutputs","tools":["noop"]}],"threat_detection":{"mode":"disabled"},"admission":false}
3
3
  # This file was automatically generated by gh-aw (v0.93.2). DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
4
4
  #
@@ -510,7 +510,7 @@ jobs:
510
510
  - name: Load the pinned harness package
511
511
  uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5
512
512
  with:
513
- path: tools
513
+ path: .lighthouse-harness
514
514
  persist-credentials: false
515
515
  ref: __LIGHTHOUSE_REF__
516
516
  repository: juangcarmona/lighthouse
@@ -749,7 +749,7 @@ jobs:
749
749
  export GH_AW_AWF_EXECUTION_EVIDENCE_FILE="/tmp/gh-aw/agent_execution.json"
750
750
  export no_proxy="${NO_PROXY:-}"
751
751
  printf '%s' "$(date +%s%3N)" > /tmp/gh-aw/agent_cli_start_ms.txt
752
- cd "${GITHUB_WORKSPACE}" && node tools/src/packages/sdlc/src/opencode-execute.mjs "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)" 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
752
+ cd "${GITHUB_WORKSPACE}" && node .lighthouse-harness/src/packages/sdlc/src/opencode-execute.mjs "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)" 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
753
753
  env:
754
754
  GH_AW_ADMISSION_MAX_AI_CREDITS: ${{ needs.activation.outputs.admission-max-ai-credits }}
755
755
  GH_AW_ADMISSION_RESULT: ${{ needs.activation.outputs.admission-result }}
@@ -862,7 +862,7 @@ jobs:
862
862
  echo '{"items":[]}' > /tmp/gh-aw/agent_output.json
863
863
  fi
864
864
  - name: Validate the Lighthouse result
865
- run: node tools/src/packages/sdlc/src/issue-actions.mjs validate
865
+ run: node .lighthouse-harness/src/packages/sdlc/src/issue-actions.mjs validate
866
866
  - if: always()
867
867
  name: Preserve the result and runtime receipt
868
868
  uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
@@ -68,7 +68,7 @@ steps:
68
68
  with:
69
69
  repository: juangcarmona/lighthouse
70
70
  ref: __LIGHTHOUSE_REF__
71
- path: tools
71
+ path: .lighthouse-harness
72
72
  persist-credentials: false
73
73
  - name: Load the authorized issue context
74
74
  uses: actions/download-artifact@v8
@@ -77,7 +77,7 @@ steps:
77
77
  path: ${{ runner.temp }}/lighthouse-${{ github.run_id }}-${{ github.run_attempt }}
78
78
  post-steps:
79
79
  - name: Validate the Lighthouse result
80
- run: node tools/src/packages/sdlc/src/issue-actions.mjs validate
80
+ run: node .lighthouse-harness/src/packages/sdlc/src/issue-actions.mjs validate
81
81
  - name: Preserve the result and runtime receipt
82
82
  if: always()
83
83
  uses: actions/upload-artifact@v7
@@ -1,4 +1,4 @@
1
- # gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"89227a1466146b486596cfb6bf777e4e5b6068f644c88e5ca07c3e4b615b200d","body_hash":"71107231af6c0ea2e2f2880e7bfcf90d02e031b1db4c95a2d5b456e934f6f1ed","compiler_version":"v0.93.2","agent_id":"opencode","engine_versions":{"opencode":"2.1.0"},"agent_image_runner":"[\"self-hosted\",\"linux\",\"lighthouse-workflow\"]"}
1
+ # gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"7f49111df8257bd180f3ea15a29176a41b68e160acd597a331c8e32a80f0c5cc","body_hash":"71107231af6c0ea2e2f2880e7bfcf90d02e031b1db4c95a2d5b456e934f6f1ed","compiler_version":"v0.93.2","agent_id":"opencode","engine_versions":{"opencode":"2.1.0"},"agent_image_runner":"[\"self-hosted\",\"linux\",\"lighthouse-workflow\"]"}
2
2
  # gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_DEFAULT_OTLP_ENDPOINT","GH_AW_DEFAULT_OTLP_HEADERS","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GITHUB_TOKEN"],"actions":[{"repo":"actions/checkout","sha":"3d3c42e5aac5ba805825da76410c181273ba90b1","version":"v7.0.1"},{"repo":"actions/checkout","sha":"fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09","version":"v5"},{"repo":"actions/download-artifact","sha":"9000827ccba6bdab643e8b6fd33ac0654aef8333","version":"v8.0.2"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"949feb2413d6458794dcd2491c4babbbce0c15c1","version":"v7.1.0"},{"repo":"actions/setup-node","sha":"a0853c24544627f65ddf259abe73b1d18a591444","version":"v5"},{"repo":"actions/upload-artifact","sha":"cf430e030ddbb5b0abf93d22962f4752f3646cd9","version":"v7.0.2"},{"repo":"github/gh-aw-actions/setup","sha":"d9128eb3ea40c18b77c76184eda03c0ff2608d79","version":"v0.93.2"}],"containers":[{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:41835613992df88f51e923bad486f96dfb2e6cda29f13e217df41833284ae382","pinned_image":"ghcr.io/github/gh-aw-node@sha256:41835613992df88f51e923bad486f96dfb2e6cda29f13e217df41833284ae382"}],"mcp_servers":[{"name":"safeoutputs","tools":["noop"]}],"threat_detection":{"mode":"disabled"},"admission":false}
3
3
  # This file was automatically generated by gh-aw (v0.93.2). DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
4
4
  #
@@ -510,7 +510,7 @@ jobs:
510
510
  - name: Load the pinned harness package
511
511
  uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5
512
512
  with:
513
- path: tools
513
+ path: .lighthouse-harness
514
514
  persist-credentials: false
515
515
  ref: __LIGHTHOUSE_REF__
516
516
  repository: juangcarmona/lighthouse
@@ -749,7 +749,7 @@ jobs:
749
749
  export GH_AW_AWF_EXECUTION_EVIDENCE_FILE="/tmp/gh-aw/agent_execution.json"
750
750
  export no_proxy="${NO_PROXY:-}"
751
751
  printf '%s' "$(date +%s%3N)" > /tmp/gh-aw/agent_cli_start_ms.txt
752
- cd "${GITHUB_WORKSPACE}" && node tools/src/packages/sdlc/src/opencode-execute.mjs "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)" 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
752
+ cd "${GITHUB_WORKSPACE}" && node .lighthouse-harness/src/packages/sdlc/src/opencode-execute.mjs "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)" 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
753
753
  env:
754
754
  GH_AW_ADMISSION_MAX_AI_CREDITS: ${{ needs.activation.outputs.admission-max-ai-credits }}
755
755
  GH_AW_ADMISSION_RESULT: ${{ needs.activation.outputs.admission-result }}
@@ -862,7 +862,7 @@ jobs:
862
862
  echo '{"items":[]}' > /tmp/gh-aw/agent_output.json
863
863
  fi
864
864
  - name: Validate the Lighthouse result
865
- run: node tools/src/packages/sdlc/src/completion-actions.mjs validate
865
+ run: node .lighthouse-harness/src/packages/sdlc/src/completion-actions.mjs validate
866
866
  - if: always()
867
867
  name: Preserve the result and runtime receipt
868
868
  uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
@@ -68,7 +68,7 @@ steps:
68
68
  with:
69
69
  repository: juangcarmona/lighthouse
70
70
  ref: __LIGHTHOUSE_REF__
71
- path: tools
71
+ path: .lighthouse-harness
72
72
  persist-credentials: false
73
73
  - name: Load the authorized issue context
74
74
  uses: actions/download-artifact@v8
@@ -77,7 +77,7 @@ steps:
77
77
  path: ${{ runner.temp }}/lighthouse-${{ github.run_id }}-${{ github.run_attempt }}
78
78
  post-steps:
79
79
  - name: Validate the Lighthouse result
80
- run: node tools/src/packages/sdlc/src/completion-actions.mjs validate
80
+ run: node .lighthouse-harness/src/packages/sdlc/src/completion-actions.mjs validate
81
81
  - name: Preserve the result and runtime receipt
82
82
  if: always()
83
83
  uses: actions/upload-artifact@v7