Skip to content

CI Hardening: Add complementary required checks beyond cert-gate SPOF - #511

Merged
cursor[bot] merged 3 commits into
masterfrom
cursor/ci-hardening-beyond-cert-gate-spof-53a9
Sep 6, 2026
Merged

CI Hardening: Add complementary required checks beyond cert-gate SPOF#511
cursor[bot] merged 3 commits into
masterfrom
cursor/ci-hardening-beyond-cert-gate-spof-53a9

Conversation

@IanFrelinger

Copy link
Copy Markdown
Owner

Summary

Eliminates the cert-gate single point of failure by adding three fast, complementary required checks that run on every PR. If cert-gate is cancelled, flaky, or times out, the other gates still prevent merge of broken code.

Changes

  • Added build-gate.yml: Fast compile check (~2-3 min) that catches build breakage before heavier test gates run
  • Updated cert-gate.yml: Added 60-minute timeout for robustness
  • Updated docs-link-check.yml: Removed path filter to run on all PRs (~30s)
  • Updated shell-lint.yml: Removed path filter to run on all PRs (~30s)
  • Updated .github/workflows/README.md: Documented CI hardening strategy and required checks for repository administrators

Before/After CI Surface

Before

  • Required checks: 1 (cert-gate only)
  • Risk: If cert-gate is cancelled or flaky, broken code can merge

After (when branch protection is updated)

  • Required checks: 4 (cert-gate, build-core, shell-lint, lychee (README + docs))
  • Total added time: ~3 minutes (build-core 2-3 min + shell-lint 30s + docs 30s)
  • Redundancy: If any single check fails/is-cancelled, merge is still blocked
  • Coverage: Build breakage, shell syntax errors, broken docs, and hermetic certification

Testing

This PR adds CI infrastructure. The new workflows will run automatically on this PR:

  • build-gate will verify the core solution compiles
  • shell-lint will verify shell script syntax
  • docs-link-check will verify documentation links
  • cert-gate will run hermetic certification tests (existing)

Testing strategy (blast radius)

  • Not applicable — CI workflow changes only
  • New workflows tested via PR CI run
  • Documentation updated (.github/workflows/README.md)

Action Required (Repository Admin / CEO)

To complete the CI hardening, a repository administrator must update branch protection settings:

  1. Navigate to Settings → Branches → Branch protection rule for master
  2. Under "Require status checks to pass before merging", add these required checks:
    • build-core
    • shell-lint
    • lychee (README + docs)
  3. Keep cert-gate as required (existing)

Note:cert-gate remains required and is NOT weakened. These additional checks add redundancy without replacing the primary certification gate.

Checklist

  • make test not applicable (CI workflow changes)
  • Documentation updated (.github/workflows/README.md)
  • No TODO or NotImplementedException left unresolved
  • No breaking changes

Release (only when this PR ships a versioned NuGet/GHCR release)

  • Not a versioned release — skip
Open in WebOpen in Cursor

@IanFrelinger
IanFrelinger marked this pull request as ready for review September 5, 2026 23:17
@cursor

cursorBot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

✅ CI Hardening Validated

All new required checks have completed successfully on this PR:

  • build-core — Core compilation check passed
  • shell-lint — Shell script syntax validation passed
  • lychee (README + docs) — Documentation link check passed
  • cert-gate — Hermetic certification tests passed

This demonstrates the redundancy in action: four independent gates that must all pass before merge.

Next step: Repository administrator should update branch protection settings to require these checks (see PR description for instructions).

@cursor

cursorBot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

⏱️ CI Performance Analysis

Actual timing from this PR's CI run:

CheckDurationPurpose
lychee (README + docs)~6sDocumentation link validation
shell-lint~12sShell script syntax check
build-core~1m 56sCore solution compilation
cert-gate~2m 51sHermetic certification tests

Total added time: ~2 minutes (docs + shell-lint + build-core)

Redundancy benefit: If any single check is cancelled, flaky, or fails, the other three still block merge. The fast checks (18s combined) provide immediate feedback, while build-core catches compilation errors before the heavier cert-gate runs.

cursorBot pushed a commit that referenced this pull request Sep 5, 2026
Add comprehensive release readiness and business plan interface document
for founder/CEO decision-making on v0.x public release vs design-partner
private.
Covers:
- Runtime release bar (Ashlar): P0 trust holes (#513), CI redundancy
(#511), cert-loop honesty (#512, #505, #506, #514), known limitations
- Product release bar (Forge): scaffold status, Verify phased plan,
Cursor-safe claims gate (P3 pending)
- Business plan mapping: funnel stages (Aware/Eval/Embed/Design
partner/Paid) with readiness per stage
- Go/no-go checklist: binary decision framework for public v0.x vs
design-partner private
- CEO-only actions: branch protection, Pages deployment, social preview,
contact channel, PAT for Forge
Grounded in certification-evidence.md, SELF-EXTEND-AUDIT.md, and issue
tracker. Tone: precise, founder-useful, no hype. Current recommendation:
design-partner private first (runtime ready, Forge hold-mode), then CEO
actions (branch protection, Pages), then public v0.x.
References: #513, #512, #511, #506, #505, #514
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
@cursor
cursorBotforce-pushed the cursor/ci-hardening-beyond-cert-gate-spof-53a9 branch from ec57eaf to 9816c81CompareSeptember 5, 2026 23:33
cursorBot pushed a commit that referenced this pull request Sep 5, 2026
Accuracy fix per user feedback: PRs #513, #512, #511, #514 are OPEN/draft,
NOT merged. Updated document to reflect accurate statuses:
- #513 P0 trust holes: OPEN (draft), not merged
- #512 cert-loop integration: OPEN (draft), not merged
- #511 CI redundancy: OPEN (ready), not merged
- #514 landing honesty: OPEN (draft), not merged
- Only #505, #506 confirmed merged
Updated recommendations:
- Changed from "GO design-partner private" to "HOLD for P0 PR merges"
- Added active blockers to go/no-go checklist
- Updated "What to tell prospects" to reflect P0 PRs must merge first
- Path forward now: merge P0 PRs FIRST, then design-partner private
This ensures document accuracy matches GitHub PR state as of 2026-09-05
23:34 UTC.
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
- Add build-gate.yml: fast compile check (~2-3 min) on every PR
- Update cert-gate.yml: add 60-minute timeout for robustness
- Update docs-link-check.yml: remove path filter, run on all PRs (~30s)
- Update shell-lint.yml: remove path filter, run on all PRs (~30s)
- Update workflows/README.md: document CI hardening strategy and required checks
Eliminates cert-gate SPOF by requiring multiple fast gates. If cert-gate is
cancelled or flaky, build-core + shell-lint + docs-link-check still prevent
merge of broken code.
Action required (repo admin): Add to branch protection:
- build-core
- shell-lint
- lychee (README + docs)
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
@cursor
cursorBotforce-pushed the cursor/ci-hardening-beyond-cert-gate-spof-53a9 branch from 9816c81 to c406612CompareSeptember 5, 2026 23:59
cursorBot pushed a commit that referenced this pull request Sep 5, 2026
Add comprehensive release readiness and business plan interface document
for founder/CEO decision-making on v0.x public release vs design-partner
private.
Covers:
- Runtime release bar (Ashlar): P0 trust holes (#513), CI redundancy
(#511), cert-loop honesty (#512, #505, #506, #514), known limitations
- Product release bar (Forge): scaffold status, Verify phased plan,
Cursor-safe claims gate (P3 pending)
- Business plan mapping: funnel stages (Aware/Eval/Embed/Design
partner/Paid) with readiness per stage
- Go/no-go checklist: binary decision framework for public v0.x vs
design-partner private
- CEO-only actions: branch protection, Pages deployment, social preview,
contact channel, PAT for Forge
Grounded in certification-evidence.md, SELF-EXTEND-AUDIT.md, and issue
tracker. Tone: precise, founder-useful, no hype. Current recommendation:
design-partner private first (runtime ready, Forge hold-mode), then CEO
actions (branch protection, Pages), then public v0.x.
References: #513, #512, #511, #506, #505, #514
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
cursorBot pushed a commit that referenced this pull request Sep 5, 2026
Accuracy fix per user feedback: PRs #513, #512, #511, #514 are OPEN/draft,
NOT merged. Updated document to reflect accurate statuses:
- #513 P0 trust holes: OPEN (draft), not merged
- #512 cert-loop integration: OPEN (draft), not merged
- #511 CI redundancy: OPEN (ready), not merged
- #514 landing honesty: OPEN (draft), not merged
- Only #505, #506 confirmed merged
Updated recommendations:
- Changed from "GO design-partner private" to "HOLD for P0 PR merges"
- Added active blockers to go/no-go checklist
- Updated "What to tell prospects" to reflect P0 PRs must merge first
- Path forward now: merge P0 PRs FIRST, then design-partner private
This ensures document accuracy matches GitHub PR state as of 2026-09-05
23:34 UTC.
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
cursoragentand others added 2 commits September 6, 2026 01:20
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
@cursor
cursorBot merged commit e376e5f into masterSep 6, 2026
7 of 9 checks passed
@cursor
cursorBot deleted the cursor/ci-hardening-beyond-cert-gate-spof-53a9 branch September 6, 2026 01:37
cursorBot pushed a commit that referenced this pull request Sep 6, 2026
* docs: Add CEO-facing release readiness + business plan interface
Add comprehensive release readiness and business plan interface document
for founder/CEO decision-making on v0.x public release vs design-partner
private.
Covers:
- Runtime release bar (Ashlar): P0 trust holes (#513), CI redundancy
(#511), cert-loop honesty (#512, #505, #506, #514), known limitations
- Product release bar (Forge): scaffold status, Verify phased plan,
Cursor-safe claims gate (P3 pending)
- Business plan mapping: funnel stages (Aware/Eval/Embed/Design
partner/Paid) with readiness per stage
- Go/no-go checklist: binary decision framework for public v0.x vs
design-partner private
- CEO-only actions: branch protection, Pages deployment, social preview,
contact channel, PAT for Forge
Grounded in certification-evidence.md, SELF-EXTEND-AUDIT.md, and issue
tracker. Tone: precise, founder-useful, no hype. Current recommendation:
design-partner private first (runtime ready, Forge hold-mode), then CEO
actions (branch protection, Pages), then public v0.x.
References: #513, #512, #511, #506, #505, #514
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
* fix: Correct PR statuses in release readiness doc
Accuracy fix per user feedback: PRs #513, #512, #511, #514 are OPEN/draft,
NOT merged. Updated document to reflect accurate statuses:
- #513 P0 trust holes: OPEN (draft), not merged
- #512 cert-loop integration: OPEN (draft), not merged
- #511 CI redundancy: OPEN (ready), not merged
- #514 landing honesty: OPEN (draft), not merged
- Only #505, #506 confirmed merged
Updated recommendations:
- Changed from "GO design-partner private" to "HOLD for P0 PR merges"
- Added active blockers to go/no-go checklist
- Updated "What to tell prospects" to reflect P0 PRs must merge first
- Path forward now: merge P0 PRs FIRST, then design-partner private
This ensures document accuracy matches GitHub PR state as of 2026-09-05
23:34 UTC.
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
* Retrigger CI checks
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@IanFrelinger@cursoragent