Skip to content

Run the canonical Flect quality gate in GitHub CI #31

Description

@robinbraemer

Outcome

Run Flect's canonical quality gate on every pull request and protected-main change so browser, native, security, documentation, and performance regressions cannot rely on one developer machine.

Product-quality coverage

Supports every release-gated FQ-* outcome, with direct ownership of repeatable release evidence and the CI requirement in FQ-15 and FQ-22.

Required behavior

  • Add a pinned GitHub Actions workflow for supported Bun, browser, Rust, and Tauri checks.
  • Reuse repository-owned commands instead of duplicating the gate in workflow prose.
  • Cache only reproducible dependencies and never persist provider credentials, prompts, capsules, or user workspaces.
  • Upload bounded failure evidence needed to diagnose a failed public gate.
  • Keep live Pi, Apple signing, notarization, and other credentialed release proof in separately authorized jobs.

Acceptance criteria

  • Pull requests run the mandatory source checks, unit/contract tests, production Chromium suite, Rust tests, and build verification through the canonical repository commands.
  • Required checks fail closed on test, accessibility, performance, generated-skill, Effect-version, formatting, type, or documentation drift.
  • Main is protected against merging a failing or absent mandatory gate.
  • The workflow uses least-privilege GitHub permissions, pinned action revisions, bounded artifacts, concurrency cancellation, and no untrusted secret exposure.
  • A dated verification report records one passing run and one deliberately induced failing run through the public GitHub check surface.
  • Native signing/notarization and live-provider jobs are neither silently skipped nor falsely represented by the credential-free pull-request gate.

Non-goals

  • Moving product runtime behavior into CI.
  • Storing Apple or provider credentials in repository files, logs, prompts, or fork-triggered jobs.
  • Treating a green workflow as a substitute for packaged-app, clean-machine, or human accessibility evidence.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority:P1Next after the core live-editing loop is provenstatus:implementedImplemented and locally verified; awaiting publication workflowtrackingUmbrella issue tracking a coordinated body of work

    Type

    No type

    Projects

    Status
    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions