Skip to content

backlog(B-0157): detect-changes pattern — per-change-class workflow gating (Aaron 2026-05-01; third B-0177 audit hit)#1350

Merged
AceHack merged 1 commit intomainfrom
backlog/B-0157-detect-changes-pattern-parallel-pr-friendly-aaron-2026-05-01
May 3, 2026
Merged

backlog(B-0157): detect-changes pattern — per-change-class workflow gating (Aaron 2026-05-01; third B-0177 audit hit)#1350
AceHack merged 1 commit intomainfrom
backlog/B-0157-detect-changes-pattern-parallel-pr-friendly-aaron-2026-05-01

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 3, 2026

Summary

Files `B-0157` — third concrete hit for B-0177's audit hypothesis. Aaron 2026-05-01 reserved the ID in the prefer-mechanical-external-anchors memo + provided full pattern source via sibling-repo direct inspection. The row never had a per-row file until now.

Audit pattern emerging

Reserved Filed Source memo
B-0141 (brittle-pointer) 2026-05-03 parallelism-scaling-ladder
B-0142 (Code Contracts) 2026-05-03 parallelism-scaling-ladder
B-0157 (detect-changes) 2026-05-03 (this PR) prefer-mechanical-external-anchors + detect-changes-pattern

All three from 2026-05-01 memos; all three reserved-but-never-filed; all three surfaced by Otto 2026-05-03 audit pass post-Aaron's "a lot of backlog lost in our memories" observation. B-0177's hypothesis is empirically validated three-fold.

Row scope

The sibling-repo pattern from `../no-copy-only-learning-agents-insight`:

  • `detect-changes.yaml` workflow runs first, emits per-change-class outputs
  • Downstream workflows gated via `if: needs.detect-changes.outputs. == 'true'`
  • Required-checks list still includes all gated workflows; SUCCESS-skipped counts as passing

Effect: PRs only run workflows their changes need. CI throughput scales with relevance, not with PR count.

Composes with

  • B-0125 (skip-fsharp-analyze on docs-only PRs): specific instance of the general pattern
  • B-0153 (lint suite): detect-changes-gated lint reduces per-PR CI burden
  • B-0156 (TS port): TS-only changes don't trigger F# workflows
  • B-0177 (audit memos): this row IS the third empirical hit

Test plan

…ating so PRs only run relevant checks (Aaron 2026-05-01; third B-0177 audit hit)

Aaron 2026-05-01 named "B-0157 detect-changes pattern" in the
prefer-mechanical-external-anchors memo + provided full pattern
source via direct sibling-repo inspection. ID was reserved
2026-05-01; per-row file was never filed. Otto 2026-05-03 audit
pass found B-0157 still missing — third concrete hit for B-0177's
audit hypothesis (B-0141, B-0142, B-0157 all from same-period
memos, all reserved-but-never-filed).

Pattern from sibling repo (`../no-copy-only-learning-agents-insight`):
detect-changes.yaml runs first, emits per-change-class outputs
(dotnet/fsharp/tools-ts/docs/etc.); downstream workflows gate on
those outputs. PRs only run workflows their changes need.

M-effort: detect-changes.yaml (~50-100 LOC) + per-workflow gating
(~15-42 workflows) + test fixtures + required-checks audit.

Composes with: B-0125 (specific instance), B-0153 (lint suite),
B-0156 (TS port), B-0177 (audit hypothesis empirical hit #3).
Copilot AI review requested due to automatic review settings May 3, 2026 07:51
@AceHack AceHack enabled auto-merge (squash) May 3, 2026 07:51
@AceHack AceHack merged commit 74bc07a into main May 3, 2026
24 checks passed
@AceHack AceHack deleted the backlog/B-0157-detect-changes-pattern-parallel-pr-friendly-aaron-2026-05-01 branch May 3, 2026 07:53
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 231e72bed7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR files backlog row B-0157 and adds it to the generated backlog index. It documents a proposed CI pattern where a first-pass workflow classifies changed files so downstream workflows only run when their change class is relevant.

Changes:

  • Adds a new P2 backlog row for the detect-changes workflow-gating pattern, including origin, scope, and composition links.
  • Updates docs/BACKLOG.md to include the new B-0157 entry in the P2 index.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 6 comments.

File Description
docs/backlog/P2/B-0157-detect-changes-pattern-parallel-pr-friendly-aaron-2026-05-01.md New backlog row describing the detect-changes CI-gating proposal and its lineage/composition.
docs/BACKLOG.md Adds the B-0157 index entry so the backlog index reflects the new per-row file.

AceHack added a commit that referenced this pull request May 3, 2026
…n + partial pre-existence acknowledged (#1357)

Three substantive review findings absorbed:

1. Cross-workflow `needs:` is invalid — `needs:` works only within
   single workflow file. Architecture corrected to specify three
   options (Architecture A: reusable workflow via workflow_call;
   Architecture B: per-workflow detect-job; Architecture C: single
   consolidated workflow). Architecture A recommended (matches
   sibling-repo pattern + preserves separation).

2. .yaml → .yml extension throughout — repo's existing workflows
   consistently use .yml; one-off .yaml suffix would create drift.

3. Problem-statement acknowledged partial pre-existence — gate.yml
   already skips on docs-only via path-gate; codeql.yml
   short-circuits pure docs; backlog-only changes have
   backlog-index-integrity. Row generalizes the partial pattern
   into uniform mechanism, NOT from-zero gating.

The B-0142-stale-cross-references in some threads were
merge-ordering false positives (B-0142 not present at PR-eval time;
merged later as #1349) — handled in resolve-thread comments.
Sign up for free to 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