@juangcarmona/lighthouse-sdlc 0.15.1 → 0.16.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.
- package/README.md +6 -1
- package/execution-environments.md +23 -0
- package/github-actions.md +2 -0
- package/meta-commands/ff.md +2 -2
- package/meta-commands/hotfix.md +3 -1
- package/package.json +8 -3
- package/schemas/product-change.schema.json +118 -0
- package/skills/implement/SKILL.md +9 -1
- package/skills/independent-review/SKILL.md +13 -0
- package/skills/product-change/SKILL.md +18 -0
- package/src/completion.mjs +5 -3
- package/src/contracts.mjs +2 -0
- package/src/execution-resources.mjs +52 -0
- package/src/host-contract.mjs +11 -3
- package/src/implementation-runtime.mjs +37 -13
- package/src/implementation.mjs +2 -2
- package/src/install-workflows.mjs +17 -5
- package/src/integration-evidence.mjs +4 -1
- package/src/issue-actions.mjs +125 -18
- package/src/managed-command.mjs +82 -0
- package/src/opencode-execute.mjs +34 -19
- package/src/product-change-actions.mjs +308 -0
- package/src/product-change.mjs +277 -0
- package/src/proposal-review.mjs +1 -1
- package/src/proposal.mjs +4 -4
- package/src/sdlc.mjs +1 -1
- package/src/stage-dispatch.mjs +11 -3
- package/src/unattended-actions.mjs +287 -0
- package/src/unattended-runtime.mjs +115 -0
- package/src/unattended.mjs +161 -0
- package/templates/unattended.json +37 -0
- package/unattended.md +40 -0
- package/workflows/lighthouse-sdlc-apply-product-change.lock.yml +1838 -0
- package/workflows/lighthouse-sdlc-apply-product-change.md +183 -0
- package/workflows/lighthouse-sdlc-product-change.lock.yml +1329 -0
- package/workflows/lighthouse-sdlc-product-change.md +195 -0
- package/workflows/lighthouse-sdlc-router.yml +12 -2
- package/workflows/lighthouse-sdlc-unattended.yml +67 -0
package/unattended.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Bounded unattended delivery
|
|
2
|
+
|
|
3
|
+
Install the opt-in composition with `node node_modules/@juangcarmona/lighthouse-sdlc/src/install-workflows.mjs . <immutable-lighthouse-commit> --with-unattended`. Preview first; add `--apply` after reviewing the plan. This also installs completion workers. Existing policy is preserved. The initial `.lighthouse/unattended.json` template has execution and merge disabled.
|
|
4
|
+
|
|
5
|
+
Use the existing adopted GitHub completion profile, enforced checks, evidence branch and provisioned OpenCode runner. Configure implementation and reviewer profiles to distinct available model identifiers. Different profile names can resolve to the same model; admission rejects that combination. The runtime records requested/resolved configuration separately from provider-reported settings, which may remain unverified.
|
|
6
|
+
|
|
7
|
+
## Configure and request work
|
|
8
|
+
|
|
9
|
+
Edit the project-owned policy using [the template](templates/unattended.json). Replace the example paths and module map with actual repository boundaries, choose enabled routes and a finite time/correction budget, then explicitly enable execution. `merge: true` is a separate bounded delegation of integration; `merge: false` leaves the reviewed PR for owner authorization. The policy cannot change itself through a candidate.
|
|
10
|
+
|
|
11
|
+
For hotfix, declare trusted setup commands (an empty list when unnecessary), the regression command and assertion-failure signals in project policy. The model must use that command; it cannot authorize a custom shell script or choose an arbitrary failure as regression proof. Setup runs before the distinct regression check in each clean verification workspace. Test authoring remains limited to the declared test paths. The reviewer inspects the actual test and RED/GREEN evidence against the reported behavior.
|
|
12
|
+
|
|
13
|
+
Run either composition from the repository's default branch:
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
gh workflow run lighthouse-sdlc-unattended.yml -f issue=<number> -f route=ff
|
|
17
|
+
gh workflow run lighthouse-sdlc-unattended.yml -f issue=<number> -f route=hotfix
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Only an authenticated owner dispatch is admitted initially. The issue must be open, authored by the owner, and free of human reservations, pauses and pending answer/review gates. External intake uses the existing owner-admission route before it can become eligible; this composition does not broaden that route. Installation and workflow availability are separate from successful execution.
|
|
21
|
+
|
|
22
|
+
## Fast-forward
|
|
23
|
+
|
|
24
|
+
Refinement must establish low risk, known reversible scope, resolved dependencies, no missing product decision and an explained numeric estimate of 1, 2 or 3. Five points requires `allowFivePoint: true`; legacy size labels are not converted into points. A separate read-only reviewer checks readiness and the real provider-generated engineering plan before code changes. The implementation and required host checks are then reviewed independently against the original issue, owner answers and actual before/after source.
|
|
25
|
+
|
|
26
|
+
At most the configured correction rounds are permitted, with two as the maximum. Changed scope, failed or unavailable evidence, human-only decisions, cancellation, revoked authority or exhausted corrections stop dependent advancement and retain the candidate. Required checks cannot be waived by a reviewer verdict.
|
|
27
|
+
|
|
28
|
+
## Hotfix
|
|
29
|
+
|
|
30
|
+
The expedited route assesses the confirmed defect and root cause, records a compact correction plan and authors regression tests before changing production code. The trusted host runs the declared command against unchanged production code and requires both the identified assertion and an owner-declared assertion-failure signal. An environment/compilation failure is not acceptable proof. Independent review must confirm that the test exercises the actual failing behavior.
|
|
31
|
+
|
|
32
|
+
The complete candidate is limited to 100 added plus deleted production-code lines, 10 files including tests and two declared modules. Test lines are excluded only from the production-code cap. The host measures the actual diff and rejects ambiguous module ownership, binary changes and unassessed scope. The regression-test bytes from RED must survive the repair unchanged. GREEN and adjacent/required checks precede independent candidate review. The RED receipt and test snapshot are part of that review's binding.
|
|
33
|
+
|
|
34
|
+
## Integration and recovery
|
|
35
|
+
|
|
36
|
+
The host rechecks source, policy, owner intent, reservations, the exact PR head, required CI and hosting rules before a delegated merge. Required GitHub checks must actually pass. A merge queue requires a supported queue-aware adapter; protected decisions retain their configured owners.
|
|
37
|
+
|
|
38
|
+
The trusted host retains the integration bundle on the adopted evidence branch for existing post-merge review. Release, deployment, smoke checks and rollback continue only through their existing separately authorized paths. A merge does not establish deployment.
|
|
39
|
+
|
|
40
|
+
Each request receives an immutable identity before execution. A rerun with an existing receipt stops for inspection rather than repeating uncertain effects. Failed/blocked attempts retain candidate and host execution artifacts; resolve the named blocker before a fresh owner request. GitHub issue concurrency is shared with the stage workers and reservations are released on completion. No runner stays allocated while waiting for a new human decision.
|