Skip to main content
SDLC Enforce is LaneSync’s own commit status. It is always required alongside stage checks from the effective sdlc.yaml configuration. Managed rules bind this status to the installed GitHub App identity.

Pull request enforcement

LaneSync reads the pull request’s current head and base from GitHub, resolves its live configuration, and publishes the status on that head commit. Pull requests targeting a release branch must have verifiable milestone scope; open planning issues block that merge. Missing, invalid, or inaccessible configuration never produces a successful status. This runs server-side for fork pull requests. LaneSync does not execute fork code, disclose private central YAML to the fork, or give privileged credentials to a fork workflow. Configuration changes and synchronization refresh open pull request statuses. Stage progress also evaluates uploaded evidence and the configured workflow checks. Passing SDLC Enforce does not by itself complete a release stage.

Generated workflow

Repository bootstrap generates .github/workflows/sdlc-enforce.yml. Its LaneSync configuration job reads a limited effective-configuration response from /api/ci/effective-config through GitHub OIDC authentication. It verifies the configuration fingerprint and development branch and fails on authentication, network, or configuration errors. The job does not check out repository code. Fork pull requests skip this privileged CI request; the App-owned status still enforces their policy server-side. This workflow job does not publish or replace the SDLC Enforce status. Both central-only organization configuration and optional repository customization use the same backend resolver. The CI response contains the branch and planning inputs needed for enforcement, rather than private organization configuration, feature mappings, or reviewer teams.

Troubleshooting

  • Status pending: verify GitHub App installation access and webhook delivery, then synchronize the repository.
  • Configuration unavailable: restore access to the selected source repository and resolve YAML diagnostics. Read failures do not mean the file was deleted.
  • Protection disabled: explicitly review and apply setup to restore it. Synchronization and status reads preserve deliberate disablement.
  • Organization conflicts: reconcile a weaker local requirement or select Use organization value to remove that local field.
See Organization setup, Enforcement, and the schema reference.