Skip to content

[refactoring] Skill extraction: network.allowed defaults baseline (shared/network-defaults.md) #50759

Description

@github-actions

Skill: network.allowed: [defaults] standard network policy

Description: 112 workflows use the exact 3-line frontmatter block:

network:
  allowed:
    - defaults

sometimes with one or two extra entries appended (e.g. node, go, python). This is the baseline "allow default egress domains" network policy applied almost everywhere network restrictions are declared inline, rather than through a shared import.

Current usage: Exact match count via repo-wide scan of .github/workflows/*.md: 112 files, including smoke-copilot.md, unbloat-docs.md, agentic-token-audit.md, daily-elixir-credo-snippet-audit.md, copilot-opt.md, copilot-agent-analysis.md, weekly-issue-summary.md, docs-noob-tester.md, prompt-clustering-analysis.md, smoke-copilot-aoai-apikey.md, and many more. This is separate from (and in addition to) the shared/otlp.md import (232 workflows) which injects its own network.allowed entries for Sentry/Grafana — the two currently can't be composed without duplicating the defaults line in every consumer.

Proposed shared component: .github/workflows/shared/network-defaults.md

---
network:
  allowed:
    - defaults
---

Workflows needing extra domains (e.g. node, go, python) would import this plus declare additional network.allowed entries, relying on gh-aw's frontmatter merge semantics for arrays (verify merge behavior before rollout — see Migration step 2).

Estimated impact: 112+ workflows; 3 lines saved per workflow (~336 lines repo-wide); establishes single source of truth for the "defaults" network baseline, letting future changes to what "defaults" includes propagate via gh aw update instead of manual repo-wide edits.

Migration plan:

  1. Confirm gh-aw's array-merge behavior for network.allowed across multiple imports (does it union, or does the last one win?) — check pkg/workflow merge logic docs/tests before extracting.
  2. Create shared/network-defaults.md with the 3-line block.
  3. Migrate the ~90 workflows with exactly network.allowed: [defaults] (no extra domains) first, since they are pure duplicates.
  4. For workflows appending extra domains, decide whether to keep them inline supplementing the import, or skip migration if merge semantics don't support additive lists cleanly.
  5. Run make recompile and diff generated .lock.yml files to confirm no behavior change.

Example usage:

---
name: My Workflow
imports:
  - shared/network-defaults.md
  - shared/otlp.md
---

Generated by 🔍 Workflow Skill Extractor · auto · 90.2 AIC · ⌖ 2.7 AIC · ⊞ 7K ·

  • expires on Aug 7, 2026, 8:48 PM UTC-08:00

Activity

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

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions