backlog(B-0572): LFG GitHub tier decision — try Enterprise (downgrade-anytime de-risks)#3952
Open
AceHack wants to merge 2 commits into
Open
backlog(B-0572): LFG GitHub tier decision — try Enterprise (downgrade-anytime de-risks)#3952AceHack wants to merge 2 commits into
AceHack wants to merge 2 commits into
Conversation
…ngrade-anytime de-risks) Audit RESOLVED 2026-05-16 via Aaron's billing-dashboard screenshot: LFG is on GitHub Team tier ($96/yr, 2 licenses @ $48/user/yr). Critical finding for upgrade decision: $2,863.18/mo in included-usage discounts against $2,872.98 metered usage = net ~$9.81/mo Copilot. Vast majority of usage underwritten by tier-included credits (Models/Actions/Spark per dashboard tabs). Aaron 2026-05-16: "we will just try it, it says we can downgrade anytime" — downgrade escape valve eliminates cost-of-decision risk. Row pivots from "decide whether to upgrade" to "monitor post-upgrade and trigger downgrade if discounts don't persist." Composes with B-0570 (scarcity tracker — visibility) and B-0571 (GitHub App — separate-pool alternative; these compose, not alternatives). GitHub App still wins long-term because separate-pool > bigger-same-pool; Enterprise gives 3× per-user headroom + organizational features. Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds a new backlog decision row (B-0572) capturing the GitHub tier audit outcome and the decision to trial Enterprise, and updates the generated backlog index accordingly.
Changes:
- Added
docs/backlog/P2/B-0572-...decision row documenting Team confirmation, Enterprise trial rationale, and monitoring acceptance criteria. - Regenerated
docs/BACKLOG.mdto include the new B-0572 entry.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| docs/backlog/P2/B-0572-lfg-github-tier-decision-2026-05-16.md | New P2 decision row capturing the Enterprise trial decision and follow-up verification/monitoring steps. |
| docs/BACKLOG.md | Generated index updated to list B-0572 under P2. |
379c09c to
6970c49
Compare
… existing option Resolves Copilot P1 thread (line 54): both `docs/AUTH.md` and `docs/SCARCITY.md` are placeholders; original phrasing read as an either-or between existing docs. Pin to `docs/SCARCITY.md` (new) and call out the as-of-today state explicitly.
AceHack
added a commit
that referenced
this pull request
May 16, 2026
- Grammar fix: "boxes IS" → "boxes ARE" (line 67 of the row body) - Acceptance criteria clarity: replace wrapper OR hook with explicit both-required structure; add Close condition naming slice 1 + slice 3 + slice 7 integration as the row's close gate. Matches the "Probably: both" framing already in Open Question 1. The composes_with frontmatter refs (B-0572, B-0581) are not deleted — both rows are in flight via sibling PRs (B-0572 via PR #3952, B-0581 via PR #3961). Per `.claude/rules/blocked-green-ci-investigate-threads.md` this is the "stale-but-fresh-looking" pattern: TRUE-at-thread-filing, self-healing once siblings merge. composes_with carries design intent independent of merge ordering. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack
added a commit
that referenced
this pull request
May 16, 2026
…el layer-one architectural recommendation) (#3964) * backlog(B-0582): substrate-level destructive-verb refusal gate (Kestrel layer-one) Per Kestrel's 2026-05-16 long-term architecture recommendation (relayed by Aaron verbatim): a mechanical pre-call refusal gate in Otto's execution path that aborts destructive-class operations regardless of token scope. Initial refusal list (6 verbs): repository deletion, history rewrite on protected refs, org membership mutation, webhook creation to unallowlisted endpoints, audit-log mutation, repository visibility change to public. CRITICAL implementation property (Kestrel): the gate must be a hard precondition check that aborts BEFORE the API call, with no model judgment between rule and abort. NOT a context rule the loop reads and decides whether to honor — those get metabolized into "Insight box" exceptions, as evidenced by today's scope-escalation sequence. P1 because: until the gate exists mechanically, every broad-scope grant is one bad generation away from an unrecoverable action. The existing methodology-hard-limits.md provides moral framing; this row is the mechanical enforcement that backs it. Forkable: gate file in the tree, forks inherit it. Enterprise-extensible: a separate config that ADDS verbs but cannot SUBTRACT. Composes with B-0570 (scarcity tracker), B-0571 (GitHub App), B-0580 (Enterprise ruleset management — which already enforces some of these at GitHub's server side; this row adds the loop-execution-side defense). 7-slice decomposition. M effort. Co-Authored-By: Claude <noreply@anthropic.com> * docs(B-0582): address Copilot review threads - Grammar fix: "boxes IS" → "boxes ARE" (line 67 of the row body) - Acceptance criteria clarity: replace wrapper OR hook with explicit both-required structure; add Close condition naming slice 1 + slice 3 + slice 7 integration as the row's close gate. Matches the "Probably: both" framing already in Open Question 1. The composes_with frontmatter refs (B-0572, B-0581) are not deleted — both rows are in flight via sibling PRs (B-0572 via PR #3952, B-0581 via PR #3961). Per `.claude/rules/blocked-green-ci-investigate-threads.md` this is the "stale-but-fresh-looking" pattern: TRUE-at-thread-filing, self-healing once siblings merge. composes_with carries design intent independent of merge ordering. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
AceHack
added a commit
that referenced
this pull request
May 17, 2026
…tion (#3975) * docs(tick): 2341Z — Otto-CLI background worker resolved PR #3964 threads Background-worker session, post-Lior-active window: - Sentinel re-armed (catch-43) - 4 BLOCKED+resolve-threads PRs found; 3 are Lior-lane (skipped) - PR #3964 (B-0582 destructive-verb refusal gate) actioned: 3 Copilot threads — 2 real edits (grammar + acceptance criteria clarity), 1 stale-but-fresh-looking pattern (composes_with refs to in-flight sibling PRs #3952 + #3961) - All threads replied + resolved; auto-merge stays armed - Post-state: unresolvedThreads=0, gate=BLOCKED on wait-ci Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * fix(tick): markdownlint MD032 + correct .claude/rules relative paths Two findings from CI + Copilot: - MD032: blank line required before list after "poll-pr-gate.ts 3964:" - Relative-link depth: tick file is 6 levels deep under repo root, so links to .claude/rules/* need 6 `..` segments (not 5). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
B-0572 row, pivoted from "audit the tier" to "decision: try Enterprise" based on 2026-05-16 dashboard evidence + Aaron's decision.
What this PR captures
Composes with
Open monitoring items
Post-trial: capture per-service discount breakdown (Models / Actions / Codespaces / Spark), verify each persists at Enterprise tier. If at-risk line items surface, downgrade before promo ends.
🤖 Generated with Claude Code