Skip to content

[scanner] Gate proposal: netlify deploy-preview ignore allowlist drifts per lane #439

Closed

Description

@hivecommons-hive

Gate proposal: Netlify deploy-preview ignore rule is an allowlist that drifts

netlify.toml [context.deploy-preview].ignore is a hand-maintained list of branch-prefix globs. Every new hive lane that opens a PR against this repo builds a deploy preview (draining the Netlify quota, #419) until someone notices and patches the list again. Four patches so far, same root cause, different site each time:

PR Lanes added
#420 scanner/* quality/* hive/* dependabot/*
#425 arch/*
#427 sec/* outreach/* ops/* automation/*
#436 guide/*

Current rule (netlify.toml:51):

case "${HEAD:-$BRANCH}" in arch/*|guide/*|scanner/*|quality/*|sec/*|outreach/*|ops/*|automation/*|hive/*|dependabot/*) exit 0;; *) exit 1;; esac

Nothing guards this: no CI check compares the list against the lanes that actually open PRs, so the fifth lane (reviewer/*, feat/*, fix/*, generated/*, … already exist on sibling repos) will drift it again.

Decision requested (a maintainer call because it changes which human PRs get previews and touches Netlify spend):

  • A — invert to an allowlist of human prefixes: skip previews by default; build only for branches that do NOT match */* (plain feature-x names) plus an explicit opt-in prefix such as preview/*. Simple, never drifts, but contributors who use user/topic branches lose previews unless they rename or opt in.
  • B — keep the denylist but gate it: add a CI step (in the existing Lint and build workflow) that fails when the PR's own head branch prefix is a bot author (github.event.pull_request.user.type == 'Bot') and is not matched by the ignore rule, so the drift is caught on the first PR from a new lane instead of after the quota burns. No behaviour change for humans.
  • C — skip previews for every PR whose author is a bot, independent of branch name: Netlify does not expose the PR author to ignore, so this needs the preview to be driven from GitHub Actions (e.g. a deploy-preview job that only runs for user.type != 'Bot') rather than Netlify's own PR integration — the largest change, but the only one keyed on the actual signal.

Recommendation: B now (additive, no behaviour change), revisit A/C if the quota keeps burning.

Risk: governance

— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88

Activity

  1. added
    agent/scannerCreated by Hive for agent-filed issue provenance
    stage/045-needs-decisionIssue parked on a person: needs-human or a maintainer decision is owed before the hive picks it up
    on Oct 24, 2026
  2. hivecommons-hive commented on Oct 24, 2026

    @hivecommons-hive
    ContributorAuthor

    What to reply

    • /hive approve: go with the recommendation
    • /hive decision <your instructions>: go ahead, following your instructions
    • /hive help: show these again

    If what this issue waited on has been done (a merged fix, or an action taken outside this repository), a maintainer can reply /fixed to close it as completed; Hive clears its park labels.

    Only a maintainer with write access can un-park; everything else is ignored. Full command reference: https://github.com/hivecommons/hive/blob/v5/src/docs/maintainer-commands.md.

  3. clubanderson commented on Oct 24, 2026

    @clubanderson
    Member

    /hive decision B now, as recommended — add the CI step that fails when a Bot-authored PR's head prefix is not in the netlify.toml ignore rule, so drift is caught on the first PR from a new lane. Also add the lanes that already exist on sibling repos (reviewer/*, feat/*, fix/*, generated/*, docs-rot-*) in the same PR. Revisit C only if the quota keeps burning after that.

  4. added
    stage/010-actionableTriaged; eligible for the hive to pick up
    and removed
    stage/045-needs-decisionIssue parked on a person: needs-human or a maintainer decision is owed before the hive picks it up
    on Oct 24, 2026
  5. hivecommons-hive commented on Oct 24, 2026

    @hivecommons-hive
    ContributorAuthor

    Un-parked by @clubanderson. Decision: B now, as recommended — add the CI step that fails when a Bot-authored PR's head prefix is not in the netlify.toml ignore rule, so drift is caught on the first PR from a new lane. Also add the lanes that already exist on sibling repos (reviewer/*, feat/*, fix/*, generated/*, docs-rot-*) in the same PR. Revisit C only if the quota keeps burning after that.

    stage/045-needs-decision is cleared when present and approved-direction is applied; any hold label is left exactly as it was.

  6. hivecommons-hive commented on Oct 24, 2026

    @hivecommons-hive
    ContributorAuthor

    🔒 Claimed by @arteeh (contributor on hive hosted-available-oke-11-placeholder-r05x). The claim lasts 30m0s without activity and renews while the work continues. Reply /unclaim to release, or /claim to take it over if you outrank the holder.

  7. hivecommons-hive commented on Oct 24, 2026

    @hivecommons-hive
    ContributorAuthor

    🔓 Claim by @arteeh released (lease revoked).

  8. hivecommons-hive commented on Oct 24, 2026

    @hivecommons-hive
    ContributorAuthor

    🌱 Good first issue — bring your own coding agent

    Hi! This repository is maintained with hive and welcomes contributions made with your own AI coding agent (Claude Code, Codex, Copilot CLI, Bob, …). hosted-available-oke-11-placeholder-r05x picked this issue as a good place to start because:

    • has clear steps or acceptance criteria
    • scoped to two packages (A/C, user/topic)

    How to land it (no waiting on a human):

    1. Claim it through the relay: open https://hosted-kubestellar-hive-ojv6.hive.hivecommons.dev/contribute?issue=hivecommons%2Fdocs%23439 and sign in with GitHub. Claiming stamps the issue so hive leaves it to you.
    2. Fork or branch, make the change with your agent, and sign each commit with DCO (git commit -s).
    3. Open a PR whose description says Fixes #439 — that closing keyword is how hive's contributor lane links the PR to your claim.
    4. Hive runs CI and merges green PRs from claimed contributors automatically.
    Paste this to your agent
    Fix #439 in github.com/hivecommons/docs (https://github.com/hivecommons/docs/issues/439). First open https://hosted-kubestellar-hive-ojv6.hive.hivecommons.dev/contribute?issue=hivecommons%2Fdocs%23439 and claim the issue through the hive relay (sign in with GitHub). Work on a fork/branch; keep the change scoped to the issue; sign every commit with DCO (git commit -s); open a PR whose description contains the line 'Fixes #439' so the hive's contributor lane can auto-merge it once CI is green.
    

    Prefer not to drive the loop by hand? Run your own hive (we call them clankers) — a relay on your machine that claims, opens the PR and handles review fixes for you, and earns you a contributor profile and a leaderboard place: see https://hosted-kubestellar-hive-ojv6.hive.hivecommons.dev/contribute.

    If nobody claims it, hive may pick it up itself — claiming first prevents that. Docs: contributor relay · contributor lane auto-merge · trust tiers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions