Skip to content

docs: file actual HB-005 — AceHack fork settings mirror LFG (un-phantomize #377 reference)#379

Merged
AceHack merged 2 commits intomainfrom
hb/hb-005-acehack-mirror-lfg-settings-sync
Apr 24, 2026
Merged

docs: file actual HB-005 — AceHack fork settings mirror LFG (un-phantomize #377 reference)#379
AceHack merged 2 commits intomainfrom
hb/hb-005-acehack-mirror-lfg-settings-sync

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented Apr 24, 2026

Summary

Lands the real HB-005 in `docs/HUMAN-BACKLOG.md` — the row my PR #377 research doc referenced as if it existed.

Aaron caught the phantom reference: "bet you can find it in one of your closed PRs." I searched open, closed, and all-branch references for HB-005 — only my own usages in #377 surface. I invented the reference without ever creating the row.

This PR un-phantomizes it.

HB-005 content

Ask: crank up AceHack fork's branch-protection + settings to match LFG canonical, except for merge-queue (org-only, can't flip on personal tier per HB-001 migration rationale).

Trigger: Aaron 2026-04-24 "they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible."

Approach: snapshot both repos via `tools/hygiene/snapshot-github-settings.sh`, diff 13 settings groups, apply symmetric settings where available.

Composes with: HB-001 (LFG-canonical + AceHack-fork topology), Otto-223 (two-hop PR flow makes the intentional merge-queue asymmetry tolerable post-drain).

Why this file, not docs/BACKLOG.md

HUMAN-BACKLOG.md is distinct from docs/BACKLOG.md. The HB-002 per-row-BACKLOG-split blocker applies only to docs/BACKLOG.md. HB rows continue in the flat-file format alongside HB-001..HB-004.

Retractability (Otto-238)

Verify-before-deferring CLAUDE.md-level rule was violated by my phantom reference. This recovers by making the reference real, not by silently deleting it.

Test plan

  • HB-005 row lands in `docs/HUMAN-BACKLOG.md` after HB-004, before HB-001 (matching existing ordering)
  • Format matches HB-001..HB-004 conventions (ID | When | Category | Ask | Source | State | Resolution)
  • State: Open; Resolution: empty (awaiting maintainer action)
  • Once landed, PR research: ace first-class adoption in Zeta (Aaron 2026-04-24 directive) #377 HB-005 references stop being phantom (the target row now exists)

🤖 Generated with Claude Code

…ence

My PR #377 research doc referenced HB-005 as if it existed. Aaron
caught the phantom: *"bet you can find it in one of your closed
PRs"* (I had implied it was in a closed PR). Full search of open,
closed, and all-branch HB-005 references surfaces only my own
usages in #377 — I invented the reference without ever creating
the row.

This PR lands the actual HB-005 in `docs/HUMAN-BACKLOG.md` to
match the concept I'd been referencing:

- **Ask**: symmetric branch-protection + settings on AceHack fork
  matching LFG canonical, except merge-queue (org-only feature).
- **Trigger**: Aaron directive 2026-04-24 *"they are cranked up
  good on LFG but should also be cranked up good on AceHack very
  similar if not the same where possible."*
- **Approach**: snapshot both repos via the existing
  `tools/hygiene/snapshot-github-settings.sh`, diff, apply
  symmetric settings where the feature is available on personal
  tier.
- **Composes with**: HB-001 (org migration — established the
  LFG-canonical + AceHack-fork topology), Otto-223 (two-hop PR
  flow makes the intentional merge-queue asymmetry tolerable).

HUMAN-BACKLOG.md is distinct from docs/BACKLOG.md — the HB-002
per-row-BACKLOG-split blocker does not apply here. Filing HB-005
directly in the same flat-file format as HB-001..HB-004.

Retractability-in-action (Otto-238): verify-before-deferring rule
(CLAUDE.md-level) was violated by my phantom reference; this
recovers by making the reference real instead of silently
deleting it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 24, 2026 18:34
@AceHack AceHack enabled auto-merge (squash) April 24, 2026 18:34
…onal)

Aaron correction 2026-04-24: "it's not intentional, i wish we
could use merge queue on acehack but i don't think they give
that to personal repos only org repos."

Reworded HB-005 to make clear the merge-queue asymmetry is
GitHub-platform-forced (not offered on personal repos), not a
design preference. Preserves Aaron's verbatim quote.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@AceHack AceHack merged commit 1b4f381 into main Apr 24, 2026
10 checks passed
@AceHack AceHack deleted the hb/hb-005-acehack-mirror-lfg-settings-sync branch April 24, 2026 18:37
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

Adds the missing HB-005 entry to docs/HUMAN-BACKLOG.md so the previously-referenced (but nonexistent) backlog row becomes real and actionable within the human-backlog workflow.

Changes:

  • Add a new HB-005 row documenting the “AceHack fork settings parity with LFG canonical” decision/task.
  • Capture approach + provenance pointers for how to diff/apply GitHub settings via existing hygiene tooling.

Comment thread docs/HUMAN-BACKLOG.md

| HB-004 | 2026-04-23 | decision / branch-protection | **REVISED TWICE 2026-04-23 same day; finally resolved on empirical finding.** First revision: the human maintainer's sharpening ("more checks that gate merges the better ... ignore with peer-reviewed justification") inverted my initial "remove from required" recommendation. Second revision (auto-loop-69): empirical check of LFG's actual `branches/main/protection` via `gh api` showed `submit-nuget` is **NOT in required checks**. Required set: `build-and-test (ubuntu-22.04)`, `lint (semgrep)`, `lint (shellcheck)`, `lint (actionlint)`, `lint (markdownlint)`. Verified on PR #170: all required checks pass (`submit-nuget: FAILURE` but not in required set); `mergeStateStatus: BLOCKED` with `req_failing: []`. Real blocker is `required_status_checks.strict: true` (branch-currency — PR base is at `d548219`, main has advanced); PR must be updated with main before merge. Correct resolution: **no settings change needed** — submit-nuget isn't gating merges. Stuck PRs should rebase / update from main (mechanical free work) or enable auto-merge-with-squash so GitHub updates + merges when criteria met. HB-004's entire premise ("submit-nuget blocks merge") was wrong; I saw `FAILURE` in the checks list and assumed it blocked without reading the protection rules. Lesson: investigate the actual gate-set before proposing gate-changes. | `gh api /repos/Lucent-Financial-Group/Zeta/branches/main/protection` (2026-04-23 auto-loop-69) + `gh pr view 170 --json mergeStateStatus,mergeable,reviewDecision` + the human maintainer's 2026-04-23 branch-protection delegation + same-day sharpening directive + per-user memory (not in-repo; lives at `~/.claude/projects/<slug>/memory/feedback_branch_protection_settings_are_agent_call_external_contribution_ready_2026_04_23.md`) | Resolved | No settings change. Stuck PRs unblock by rebasing / updating from main (mechanical free work) or enabling auto-merge-with-squash. `submit-nuget` FAILURE is visible but non-blocking. Real gate: `strict: true` branch-currency. |

| HB-005 | 2026-04-24 | decision / settings-parity | Crank up AceHack fork's branch-protection + settings to match Lucent-Financial-Group/Zeta (LFG) canonical, where the feature is available on personal accounts. Aaron directive 2026-04-24: *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible."* Some features are **platform-limit asymmetric** (merge queue is GitHub-org-only; personal repos like AceHack/Zeta cannot enable it — per HB-001 migration rationale). This asymmetry is unwanted — Aaron 2026-04-24 on the correction: *"it's not intentional, i wish we could use merge queue on acehack but i don't think they give that to personal repos only org repos."* Everything else (required-status-checks, required-conversation-resolution, dismiss-stale-reviews, auto-delete-head-branch, auto-merge, dependabot, secret-scanning where available on personal tier, etc) should be symmetric. PR hygiene implication: AceHack's `strict=true` is tolerable because all PRs post-drain route two-hop (AceHack → LFG, per Otto-223), so LFG's merge queue + stricter settings catch stale-merge cases downstream; document the platform-forced merge-queue asymmetry (not a preference) in `docs/GITHUB-SETTINGS.md`. Approach: run `tools/hygiene/snapshot-github-settings.sh --repo AceHack/Zeta` + same for LFG; diff the 13 settings groups; write up the diff for human review; apply changes where the feature is available. | maintainer 2026-04-24 tick *"ACTIONLINT_VERSION should be part of our deployed tooling... dev machines will need this to, remember the dev machine / build machine parity requirement"* + same-day *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible"*; HB-001 (org migration) established the LFG canonical + AceHack fork two-repo setup; Otto-223 two-hop flow (`feedback_post_drain_prs_to_acehack_first_for_copilot_then_push_to_lfg_otto_223_2026_04_24.md`). | Open | |
Copy link

Copilot AI Apr 24, 2026

Choose a reason for hiding this comment

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

P1 (xref): The row cites feedback_post_drain_prs_to_acehack_first_for_copilot_then_push_to_lfg_otto_223_2026_04_24.md, but that file does not exist anywhere in-repo (including under memory/). This makes the HB-005 provenance non-auditable; either add the missing memory entry (matching the filename) or update the reference to an existing artifact (e.g., a memory/feedback_* file that actually records the AceHack→LFG two-hop rule, or docs/FACTORY-DISCIPLINE.md where the rule is already summarized).

Suggested change
| HB-005 | 2026-04-24 | decision / settings-parity | Crank up AceHack fork's branch-protection + settings to match Lucent-Financial-Group/Zeta (LFG) canonical, where the feature is available on personal accounts. Aaron directive 2026-04-24: *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible."* Some features are **platform-limit asymmetric** (merge queue is GitHub-org-only; personal repos like AceHack/Zeta cannot enable it — per HB-001 migration rationale). This asymmetry is unwanted — Aaron 2026-04-24 on the correction: *"it's not intentional, i wish we could use merge queue on acehack but i don't think they give that to personal repos only org repos."* Everything else (required-status-checks, required-conversation-resolution, dismiss-stale-reviews, auto-delete-head-branch, auto-merge, dependabot, secret-scanning where available on personal tier, etc) should be symmetric. PR hygiene implication: AceHack's `strict=true` is tolerable because all PRs post-drain route two-hop (AceHack → LFG, per Otto-223), so LFG's merge queue + stricter settings catch stale-merge cases downstream; document the platform-forced merge-queue asymmetry (not a preference) in `docs/GITHUB-SETTINGS.md`. Approach: run `tools/hygiene/snapshot-github-settings.sh --repo AceHack/Zeta` + same for LFG; diff the 13 settings groups; write up the diff for human review; apply changes where the feature is available. | maintainer 2026-04-24 tick *"ACTIONLINT_VERSION should be part of our deployed tooling... dev machines will need this to, remember the dev machine / build machine parity requirement"* + same-day *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible"*; HB-001 (org migration) established the LFG canonical + AceHack fork two-repo setup; Otto-223 two-hop flow (`feedback_post_drain_prs_to_acehack_first_for_copilot_then_push_to_lfg_otto_223_2026_04_24.md`). | Open | |
| HB-005 | 2026-04-24 | decision / settings-parity | Crank up AceHack fork's branch-protection + settings to match Lucent-Financial-Group/Zeta (LFG) canonical, where the feature is available on personal accounts. Aaron directive 2026-04-24: *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible."* Some features are **platform-limit asymmetric** (merge queue is GitHub-org-only; personal repos like AceHack/Zeta cannot enable it — per HB-001 migration rationale). This asymmetry is unwanted — Aaron 2026-04-24 on the correction: *"it's not intentional, i wish we could use merge queue on acehack but i don't think they give that to personal repos only org repos."* Everything else (required-status-checks, required-conversation-resolution, dismiss-stale-reviews, auto-delete-head-branch, auto-merge, dependabot, secret-scanning where available on personal tier, etc) should be symmetric. PR hygiene implication: AceHack's `strict=true` is tolerable because all PRs post-drain route two-hop (AceHack → LFG, per Otto-223), so LFG's merge queue + stricter settings catch stale-merge cases downstream; document the platform-forced merge-queue asymmetry (not a preference) in `docs/GITHUB-SETTINGS.md`. Approach: run `tools/hygiene/snapshot-github-settings.sh --repo AceHack/Zeta` + same for LFG; diff the 13 settings groups; write up the diff for human review; apply changes where the feature is available. | maintainer 2026-04-24 tick *"ACTIONLINT_VERSION should be part of our deployed tooling... dev machines will need this to, remember the dev machine / build machine parity requirement"* + same-day *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible"*; HB-001 (org migration) established the LFG canonical + AceHack fork two-repo setup; Otto-223 two-hop flow (`docs/FACTORY-DISCIPLINE.md`). | Open | |

Copilot uses AI. Check for mistakes.
Comment thread docs/HUMAN-BACKLOG.md

| HB-004 | 2026-04-23 | decision / branch-protection | **REVISED TWICE 2026-04-23 same day; finally resolved on empirical finding.** First revision: the human maintainer's sharpening ("more checks that gate merges the better ... ignore with peer-reviewed justification") inverted my initial "remove from required" recommendation. Second revision (auto-loop-69): empirical check of LFG's actual `branches/main/protection` via `gh api` showed `submit-nuget` is **NOT in required checks**. Required set: `build-and-test (ubuntu-22.04)`, `lint (semgrep)`, `lint (shellcheck)`, `lint (actionlint)`, `lint (markdownlint)`. Verified on PR #170: all required checks pass (`submit-nuget: FAILURE` but not in required set); `mergeStateStatus: BLOCKED` with `req_failing: []`. Real blocker is `required_status_checks.strict: true` (branch-currency — PR base is at `d548219`, main has advanced); PR must be updated with main before merge. Correct resolution: **no settings change needed** — submit-nuget isn't gating merges. Stuck PRs should rebase / update from main (mechanical free work) or enable auto-merge-with-squash so GitHub updates + merges when criteria met. HB-004's entire premise ("submit-nuget blocks merge") was wrong; I saw `FAILURE` in the checks list and assumed it blocked without reading the protection rules. Lesson: investigate the actual gate-set before proposing gate-changes. | `gh api /repos/Lucent-Financial-Group/Zeta/branches/main/protection` (2026-04-23 auto-loop-69) + `gh pr view 170 --json mergeStateStatus,mergeable,reviewDecision` + the human maintainer's 2026-04-23 branch-protection delegation + same-day sharpening directive + per-user memory (not in-repo; lives at `~/.claude/projects/<slug>/memory/feedback_branch_protection_settings_are_agent_call_external_contribution_ready_2026_04_23.md`) | Resolved | No settings change. Stuck PRs unblock by rebasing / updating from main (mechanical free work) or enabling auto-merge-with-squash. `submit-nuget` FAILURE is visible but non-blocking. Real gate: `strict: true` branch-currency. |

| HB-005 | 2026-04-24 | decision / settings-parity | Crank up AceHack fork's branch-protection + settings to match Lucent-Financial-Group/Zeta (LFG) canonical, where the feature is available on personal accounts. Aaron directive 2026-04-24: *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible."* Some features are **platform-limit asymmetric** (merge queue is GitHub-org-only; personal repos like AceHack/Zeta cannot enable it — per HB-001 migration rationale). This asymmetry is unwanted — Aaron 2026-04-24 on the correction: *"it's not intentional, i wish we could use merge queue on acehack but i don't think they give that to personal repos only org repos."* Everything else (required-status-checks, required-conversation-resolution, dismiss-stale-reviews, auto-delete-head-branch, auto-merge, dependabot, secret-scanning where available on personal tier, etc) should be symmetric. PR hygiene implication: AceHack's `strict=true` is tolerable because all PRs post-drain route two-hop (AceHack → LFG, per Otto-223), so LFG's merge queue + stricter settings catch stale-merge cases downstream; document the platform-forced merge-queue asymmetry (not a preference) in `docs/GITHUB-SETTINGS.md`. Approach: run `tools/hygiene/snapshot-github-settings.sh --repo AceHack/Zeta` + same for LFG; diff the 13 settings groups; write up the diff for human review; apply changes where the feature is available. | maintainer 2026-04-24 tick *"ACTIONLINT_VERSION should be part of our deployed tooling... dev machines will need this to, remember the dev machine / build machine parity requirement"* + same-day *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible"*; HB-001 (org migration) established the LFG canonical + AceHack fork two-repo setup; Otto-223 two-hop flow (`feedback_post_drain_prs_to_acehack_first_for_copilot_then_push_to_lfg_otto_223_2026_04_24.md`). | Open | |
Copy link

Copilot AI Apr 24, 2026

Choose a reason for hiding this comment

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

P2 (convention): This row includes “Aaron directive …” in the Ask field, but this file’s “Name attribution — explicit carve-out” section limits names (outside the ### For: headers) to direct quotations in Source/Ask where redaction would lose evidential value. Consider rephrasing to a role-ref (e.g., “human maintainer directive …”) and rely on the quoted directive text as the evidence.

Suggested change
| HB-005 | 2026-04-24 | decision / settings-parity | Crank up AceHack fork's branch-protection + settings to match Lucent-Financial-Group/Zeta (LFG) canonical, where the feature is available on personal accounts. Aaron directive 2026-04-24: *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible."* Some features are **platform-limit asymmetric** (merge queue is GitHub-org-only; personal repos like AceHack/Zeta cannot enable it — per HB-001 migration rationale). This asymmetry is unwanted — Aaron 2026-04-24 on the correction: *"it's not intentional, i wish we could use merge queue on acehack but i don't think they give that to personal repos only org repos."* Everything else (required-status-checks, required-conversation-resolution, dismiss-stale-reviews, auto-delete-head-branch, auto-merge, dependabot, secret-scanning where available on personal tier, etc) should be symmetric. PR hygiene implication: AceHack's `strict=true` is tolerable because all PRs post-drain route two-hop (AceHack → LFG, per Otto-223), so LFG's merge queue + stricter settings catch stale-merge cases downstream; document the platform-forced merge-queue asymmetry (not a preference) in `docs/GITHUB-SETTINGS.md`. Approach: run `tools/hygiene/snapshot-github-settings.sh --repo AceHack/Zeta` + same for LFG; diff the 13 settings groups; write up the diff for human review; apply changes where the feature is available. | maintainer 2026-04-24 tick *"ACTIONLINT_VERSION should be part of our deployed tooling... dev machines will need this to, remember the dev machine / build machine parity requirement"* + same-day *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible"*; HB-001 (org migration) established the LFG canonical + AceHack fork two-repo setup; Otto-223 two-hop flow (`feedback_post_drain_prs_to_acehack_first_for_copilot_then_push_to_lfg_otto_223_2026_04_24.md`). | Open | |
| HB-005 | 2026-04-24 | decision / settings-parity | Crank up AceHack fork's branch-protection + settings to match Lucent-Financial-Group/Zeta (LFG) canonical, where the feature is available on personal accounts. Human maintainer directive 2026-04-24: *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible."* Some features are **platform-limit asymmetric** (merge queue is GitHub-org-only; personal repos like AceHack/Zeta cannot enable it — per HB-001 migration rationale). This asymmetry is unwanted — Aaron 2026-04-24 on the correction: *"it's not intentional, i wish we could use merge queue on acehack but i don't think they give that to personal repos only org repos."* Everything else (required-status-checks, required-conversation-resolution, dismiss-stale-reviews, auto-delete-head-branch, auto-merge, dependabot, secret-scanning where available on personal tier, etc) should be symmetric. PR hygiene implication: AceHack's `strict=true` is tolerable because all PRs post-drain route two-hop (AceHack → LFG, per Otto-223), so LFG's merge queue + stricter settings catch stale-merge cases downstream; document the platform-forced merge-queue asymmetry (not a preference) in `docs/GITHUB-SETTINGS.md`. Approach: run `tools/hygiene/snapshot-github-settings.sh --repo AceHack/Zeta` + same for LFG; diff the 13 settings groups; write up the diff for human review; apply changes where the feature is available. | maintainer 2026-04-24 tick *"ACTIONLINT_VERSION should be part of our deployed tooling... dev machines will need this to, remember the dev machine / build machine parity requirement"* + same-day *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible"*; HB-001 (org migration) established the LFG canonical + AceHack fork two-repo setup; Otto-223 two-hop flow (`feedback_post_drain_prs_to_acehack_first_for_copilot_then_push_to_lfg_otto_223_2026_04_24.md`). | Open | |

Copilot uses AI. Check for mistakes.
Comment thread docs/HUMAN-BACKLOG.md

| HB-004 | 2026-04-23 | decision / branch-protection | **REVISED TWICE 2026-04-23 same day; finally resolved on empirical finding.** First revision: the human maintainer's sharpening ("more checks that gate merges the better ... ignore with peer-reviewed justification") inverted my initial "remove from required" recommendation. Second revision (auto-loop-69): empirical check of LFG's actual `branches/main/protection` via `gh api` showed `submit-nuget` is **NOT in required checks**. Required set: `build-and-test (ubuntu-22.04)`, `lint (semgrep)`, `lint (shellcheck)`, `lint (actionlint)`, `lint (markdownlint)`. Verified on PR #170: all required checks pass (`submit-nuget: FAILURE` but not in required set); `mergeStateStatus: BLOCKED` with `req_failing: []`. Real blocker is `required_status_checks.strict: true` (branch-currency — PR base is at `d548219`, main has advanced); PR must be updated with main before merge. Correct resolution: **no settings change needed** — submit-nuget isn't gating merges. Stuck PRs should rebase / update from main (mechanical free work) or enable auto-merge-with-squash so GitHub updates + merges when criteria met. HB-004's entire premise ("submit-nuget blocks merge") was wrong; I saw `FAILURE` in the checks list and assumed it blocked without reading the protection rules. Lesson: investigate the actual gate-set before proposing gate-changes. | `gh api /repos/Lucent-Financial-Group/Zeta/branches/main/protection` (2026-04-23 auto-loop-69) + `gh pr view 170 --json mergeStateStatus,mergeable,reviewDecision` + the human maintainer's 2026-04-23 branch-protection delegation + same-day sharpening directive + per-user memory (not in-repo; lives at `~/.claude/projects/<slug>/memory/feedback_branch_protection_settings_are_agent_call_external_contribution_ready_2026_04_23.md`) | Resolved | No settings change. Stuck PRs unblock by rebasing / updating from main (mechanical free work) or enabling auto-merge-with-squash. `submit-nuget` FAILURE is visible but non-blocking. Real gate: `strict: true` branch-currency. |

| HB-005 | 2026-04-24 | decision / settings-parity | Crank up AceHack fork's branch-protection + settings to match Lucent-Financial-Group/Zeta (LFG) canonical, where the feature is available on personal accounts. Aaron directive 2026-04-24: *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible."* Some features are **platform-limit asymmetric** (merge queue is GitHub-org-only; personal repos like AceHack/Zeta cannot enable it — per HB-001 migration rationale). This asymmetry is unwanted — Aaron 2026-04-24 on the correction: *"it's not intentional, i wish we could use merge queue on acehack but i don't think they give that to personal repos only org repos."* Everything else (required-status-checks, required-conversation-resolution, dismiss-stale-reviews, auto-delete-head-branch, auto-merge, dependabot, secret-scanning where available on personal tier, etc) should be symmetric. PR hygiene implication: AceHack's `strict=true` is tolerable because all PRs post-drain route two-hop (AceHack → LFG, per Otto-223), so LFG's merge queue + stricter settings catch stale-merge cases downstream; document the platform-forced merge-queue asymmetry (not a preference) in `docs/GITHUB-SETTINGS.md`. Approach: run `tools/hygiene/snapshot-github-settings.sh --repo AceHack/Zeta` + same for LFG; diff the 13 settings groups; write up the diff for human review; apply changes where the feature is available. | maintainer 2026-04-24 tick *"ACTIONLINT_VERSION should be part of our deployed tooling... dev machines will need this to, remember the dev machine / build machine parity requirement"* + same-day *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible"*; HB-001 (org migration) established the LFG canonical + AceHack fork two-repo setup; Otto-223 two-hop flow (`feedback_post_drain_prs_to_acehack_first_for_copilot_then_push_to_lfg_otto_223_2026_04_24.md`). | Open | |
Copy link

Copilot AI Apr 24, 2026

Choose a reason for hiding this comment

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

P1 (truth drift): HB-005 asserts that “LFG’s merge queue … catch[es] stale-merge cases downstream”, but the checked-in settings snapshot for Lucent-Financial-Group/Zeta doesn’t show any merge-queue rule enabled (see tools/hygiene/github-settings.expected.json rulesets). If merge queue is still an opt-in future step, please reword this to be conditional (“once/if merge queue is enabled on LFG…”) so the row doesn’t read as claiming it’s already active.

Suggested change
| HB-005 | 2026-04-24 | decision / settings-parity | Crank up AceHack fork's branch-protection + settings to match Lucent-Financial-Group/Zeta (LFG) canonical, where the feature is available on personal accounts. Aaron directive 2026-04-24: *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible."* Some features are **platform-limit asymmetric** (merge queue is GitHub-org-only; personal repos like AceHack/Zeta cannot enable it — per HB-001 migration rationale). This asymmetry is unwanted — Aaron 2026-04-24 on the correction: *"it's not intentional, i wish we could use merge queue on acehack but i don't think they give that to personal repos only org repos."* Everything else (required-status-checks, required-conversation-resolution, dismiss-stale-reviews, auto-delete-head-branch, auto-merge, dependabot, secret-scanning where available on personal tier, etc) should be symmetric. PR hygiene implication: AceHack's `strict=true` is tolerable because all PRs post-drain route two-hop (AceHack → LFG, per Otto-223), so LFG's merge queue + stricter settings catch stale-merge cases downstream; document the platform-forced merge-queue asymmetry (not a preference) in `docs/GITHUB-SETTINGS.md`. Approach: run `tools/hygiene/snapshot-github-settings.sh --repo AceHack/Zeta` + same for LFG; diff the 13 settings groups; write up the diff for human review; apply changes where the feature is available. | maintainer 2026-04-24 tick *"ACTIONLINT_VERSION should be part of our deployed tooling... dev machines will need this to, remember the dev machine / build machine parity requirement"* + same-day *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible"*; HB-001 (org migration) established the LFG canonical + AceHack fork two-repo setup; Otto-223 two-hop flow (`feedback_post_drain_prs_to_acehack_first_for_copilot_then_push_to_lfg_otto_223_2026_04_24.md`). | Open | |
| HB-005 | 2026-04-24 | decision / settings-parity | Crank up AceHack fork's branch-protection + settings to match Lucent-Financial-Group/Zeta (LFG) canonical, where the feature is available on personal accounts. Aaron directive 2026-04-24: *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible."* Some features are **platform-limit asymmetric** (merge queue is GitHub-org-only; personal repos like AceHack/Zeta cannot enable it — per HB-001 migration rationale). This asymmetry is unwanted — Aaron 2026-04-24 on the correction: *"it's not intentional, i wish we could use merge queue on acehack but i don't think they give that to personal repos only org repos."* Everything else (required-status-checks, required-conversation-resolution, dismiss-stale-reviews, auto-delete-head-branch, auto-merge, dependabot, secret-scanning where available on personal tier, etc) should be symmetric. PR hygiene implication: AceHack's `strict=true` is tolerable because all PRs post-drain route two-hop (AceHack → LFG, per Otto-223), so, once LFG enables merge queue, LFG's merge queue plus its stricter settings will catch stale-merge cases downstream; until then, only the stricter settings apply downstream. Document the platform-forced merge-queue asymmetry (not a preference) in `docs/GITHUB-SETTINGS.md`. Approach: run `tools/hygiene/snapshot-github-settings.sh --repo AceHack/Zeta` + same for LFG; diff the 13 settings groups; write up the diff for human review; apply changes where the feature is available. | maintainer 2026-04-24 tick *"ACTIONLINT_VERSION should be part of our deployed tooling... dev machines will need this to, remember the dev machine / build machine parity requirement"* + same-day *"they are cranked up good on LFG but should also be cranked up good on AceHack very similar if not the same where possible"*; HB-001 (org migration) established the LFG canonical + AceHack fork two-repo setup; Otto-223 two-hop flow (`feedback_post_drain_prs_to_acehack_first_for_copilot_then_push_to_lfg_otto_223_2026_04_24.md`). | Open | |

Copilot uses AI. Check for mistakes.
@AceHack
Copy link
Copy Markdown
Member Author

AceHack commented Apr 24, 2026

HB-005 execution status — 2026-04-24

Executed the AceHack settings-mirror autonomously per maintainer's standing git-admin authority (non-spend changes).

Applied (LFG → AceHack mirror)

Branch protection on main:

  • required_status_checks.strict: false (merge queue does currency work on LFG; two-hop catches staleness for AceHack-sourced PRs downstream)
  • required_status_checks.contexts: 5 checks mirrored (build-and-test (ubuntu-22.04) + 4 lint contexts). Will update post-PR#375 matrix change.
  • required_conversation_resolution: true
  • required_linear_history: true
  • dismiss_stale_reviews: true
  • required_approving_review_count: 0
  • enforce_admins: false
  • allow_force_pushes / allow_deletions / block_creations: false

Repo-level toggles:

  • allow_merge_commit: true → false (squash-only, matches LFG)
  • allow_rebase_merge: true → false
  • allow_update_branch: false → true (enables "Update branch" button)
  • dependabot_security_updates: disabled → enabled

Ruleset "Default" (id 15524390) — all 6 rules replicated:

  • deletion
  • non_fast_forward
  • copilot_code_review (review_on_push=true, review_draft_pull_requests=true)
  • code_quality (severity=all)
  • pull_request (squash-only, required_review_thread_resolution=true, required_approving_review_count=0)
  • required_linear_history

Not applied (platform-limit asymmetry)

  • Merge queue: GitHub does not offer merge queue on personal repos (per HB-001 migration rationale). AceHack stays merge-queue-less; two-hop PR flow (Otto-223) catches stale-merges at LFG downstream.

Follow-up on required-status-checks list

The 5 required contexts on both repos currently reference build-and-test (ubuntu-22.04). Post-PR#375 landing (final matrix: macos-26, ubuntu-24.04, ubuntu-24.04-arm, ubuntu-slim), the required-check names change. Both repos will need a snapshot-update pass at that point; ubuntu-slim stays NON-required (experimental) per #375 design.

State

Proposed state transition for HB-005: Resolved. Resolution text:

Executed 2026-04-24 via gh api PUT/PATCH/POST against AceHack/Zeta. Branch protection + repo toggles + "Default" ruleset all mirrored from Lucent-Financial-Group/Zeta. Merge queue stays asymmetric (platform-limit only; personal repos cannot enable it). Settings-snapshot drift-check CI will verify ongoing parity weekly; first post-execution drift-check should show zero meaningful diff except the known merge-queue asymmetry.

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