Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
c345ce5
Design the contribution governance for the OWASP re-launch
rocklambros Sep 9, 2026
b60c141
Close the premortem findings against the governance design
rocklambros Sep 9, 2026
734bd79
Fix two sentence openings in the governance design
rocklambros Sep 9, 2026
d44f26a
Plan the contribution governance implementation
rocklambros Sep 9, 2026
9ad5573
Close the premortem findings against the implementation plan
rocklambros Sep 9, 2026
4a885c5
Add the guard that keeps specification changes off the publishing branch
rocklambros Sep 9, 2026
b401d73
Run the base branch guard on every pull request to main
rocklambros Sep 9, 2026
02d678d
Route every issue through a form that cannot stamp a decision label
rocklambros Sep 9, 2026
af7e001
Ask a pull request which issue it implements and whether it was run
rocklambros Sep 9, 2026
8058a6e
Record who applies decision labels and what minimum triage is
rocklambros Sep 9, 2026
a2ee83e
State the Current Priority Scope and the acceptance gate in CONTRIBUTING
rocklambros Sep 9, 2026
1760887
Automate the sync, the promotion, and the intake comment
rocklambros Sep 9, 2026
4842766
Fix the block-literal indentation in the plan's intake workflow
rocklambros Sep 9, 2026
da1707f
Open an issue when the priority scope review date passes
rocklambros Sep 9, 2026
8478259
Close the whole-branch review findings
rocklambros Sep 9, 2026
eca8ccb
Correct a stale step reference in the plan verification step
rocklambros Sep 9, 2026
2824f3f
Add the Phase 2 governance executor as an idempotent, dry-run tool
rocklambros Sep 9, 2026
fbeff68
Add admin bypass to protect-integration and protect-release rulesets
rocklambros Sep 9, 2026
0235ffe
Demote runtime ports from P0 to P1, aligned with GOVERNANCE.md rule
rocklambros Sep 9, 2026
94a9fca
Record the single-maintainer execution order for Phase 2
rocklambros Sep 9, 2026
22b559d
Render the Contribute section from CONTRIBUTING.md priority scope
rocklambros Sep 9, 2026
9506e4e
Fix required_status_checks rule missing GitHub API parameters.
rocklambros Sep 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions .github/ISSUE_TEMPLATE/1-bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Bug report
description: Something is broken in the specification, a schema, the site, CI, or tooling.
title: "[Bug] "
labels: ["type:bug", "status:needs-triage"]
body:
- type: markdown
attributes:
value: >-
Do not file a security vulnerability here. Use private vulnerability reporting.
See SECURITY.md.
- type: textarea
id: what
attributes:
label: What is broken
description: One or two sentences.
validations:
required: true
- type: input
id: where
attributes:
label: Where
description: File path, schema $id, documentation page, or workflow name.
validations:
required: true
- type: textarea
id: expected
attributes:
label: What the specification says, and what happens instead
description: Quote the line if there is one.
validations:
required: true
- type: textarea
id: impact
attributes:
label: Impact on implementers
description: Who breaks, and how badly.
validations:
required: false
- type: dropdown
id: priority-scope
attributes:
label: Current Priority Scope
description: >-
Read the Current Priority Scope in CONTRIBUTING.md before answering. An honest
"deferred" is more useful to us than a hopeful "in focus".
options:
- Feeds the runnable Guardian reference implementation
- Feeds the AGT interoperability benchmark
- Feeds conformance evidence
- This is deferred or out of scope and I am filing it to be tracked
- I am not sure
validations:
required: true
67 changes: 67 additions & 0 deletions .github/ISSUE_TEMPLATE/2-proposal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Feature or specification proposal
description: A new capability, hook, event, or AgBOM component.
title: "[Proposal] "
labels: ["type:proposal", "status:needs-triage"]
body:
- type: markdown
attributes:
value: >-
Specification changes affect every downstream implementer. Open a Discussion
first and link it below.
- type: textarea
id: problem
attributes:
label: The problem
description: What cannot be done today. Describe the problem, not the solution.
validations:
required: true
- type: textarea
id: wire
attributes:
label: Why the wire has to carry it
description: >-
SPEC_REVIEW_PRINCIPLES.md principle 3 is that something goes on the wire only if
it is lost otherwise. Make that case.
validations:
required: true
- type: checkboxes
id: constituencies
attributes:
label: Which constituencies this affects
description: From SPEC_REVIEW_PRINCIPLES.md principle 2.
options:
- label: Observed Agent implementers
- label: Guardian implementers
- label: Policy authors
- label: Auditors and incident responders
- label: Platform and harness vendors
- label: Enterprise deployers
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Including riding an existing element rather than adding one.
validations:
required: true
- type: input
id: discussion
attributes:
label: Discussion link
description: The Discussion thread where this was raised.
validations:
required: true
- type: dropdown
id: priority-scope
attributes:
label: Current Priority Scope
description: >-
Read the Current Priority Scope in CONTRIBUTING.md before answering. An honest
"deferred" is more useful to us than a hopeful "in focus".
options:
- Feeds the runnable Guardian reference implementation
- Feeds the AGT interoperability benchmark
- Feeds conformance evidence
- This is deferred or out of scope and I am filing it to be tracked
- I am not sure
validations:
required: true
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/3-reference-implementation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Reference implementation work
description: A port to another runtime, a hardening task, or a new adapter.
title: "[RefImpl] "
labels: ["type:refimpl", "status:needs-triage"]
body:
- type: markdown
attributes:
value: >-
This is the work the project needs most. Check the open issues labeled
`help wanted` before filing, since the one you want may already be accepted.
- type: input
id: target
attributes:
label: Target runtime or language
description: For example Python, Go, Rust, Codex, or an existing implementation to harden.
validations:
required: true
- type: textarea
id: proves
attributes:
label: What this proves
description: >-
A reference implementation earns its place by demonstrating something the
specification alone cannot. Say what.
validations:
required: true
- type: dropdown
id: intent
attributes:
label: Do you intend to implement this yourself
options:
- "Yes, I want this assigned to me"
- "No, I am proposing it for someone else"
validations:
required: true
- type: dropdown
id: priority-scope
attributes:
label: Current Priority Scope
description: >-
Read the Current Priority Scope in CONTRIBUTING.md before answering. An honest
"deferred" is more useful to us than a hopeful "in focus".
options:
- Feeds the runnable Guardian reference implementation
- Feeds the AGT interoperability benchmark
- Feeds conformance evidence
- This is deferred or out of scope and I am filing it to be tracked
- I am not sure
validations:
required: true
47 changes: 47 additions & 0 deletions .github/ISSUE_TEMPLATE/4-conformance-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Conformance or dogfooding report
description: You ran ACS against a real harness and it did not behave as specified.
title: "[Conformance] "
labels: ["type:conformance", "status:needs-triage"]
body:
- type: markdown
attributes:
value: >-
**Stop if you found a security vulnerability.** A dogfooding run is the most
likely place to find one. Do not describe it here. Use private vulnerability
reporting: see SECURITY.md.
- type: textarea
id: setup
attributes:
label: What you ran
description: Harness, adapter, Guardian, versions, and configuration.
validations:
required: true
- type: textarea
id: expected
attributes:
label: What you expected
description: Cite the specification section that led you to expect it.
validations:
required: true
- type: textarea
id: actual
attributes:
label: What happened
description: Include the wire payload if you have it, with secrets removed.
validations:
required: true
- type: dropdown
id: priority-scope
attributes:
label: Current Priority Scope
description: >-
Read the Current Priority Scope in CONTRIBUTING.md before answering. An honest
"deferred" is more useful to us than a hopeful "in focus".
options:
- Feeds the runnable Guardian reference implementation
- Feeds the AGT interoperability benchmark
- Feeds conformance evidence
- This is deferred or out of scope and I am filing it to be tracked
- I am not sure
validations:
required: true
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/5-documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Documentation
description: A page is wrong, unclear, or missing.
title: "[Docs] "
labels: ["type:docs", "status:needs-triage"]
body:
- type: input
id: page
attributes:
label: Page
description: URL or file path.
validations:
required: true
- type: textarea
id: problem
attributes:
label: What is wrong or missing
validations:
required: true
- type: dropdown
id: priority-scope
attributes:
label: Current Priority Scope
description: >-
Read the Current Priority Scope in CONTRIBUTING.md before answering. An honest
"deferred" is more useful to us than a hopeful "in focus".
options:
- Feeds the runnable Guardian reference implementation
- Feeds the AGT interoperability benchmark
- Feeds conformance evidence
- This is deferred or out of scope and I am filing it to be tracked
- I am not sure
validations:
required: true
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/6-something-else.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Something else
description: >-
A structural finding, a question the other forms do not fit, or an idea that does not
have a shape yet. Nothing here is required except the description.
title: ""
labels: ["type:proposal", "status:needs-triage"]
body:
- type: markdown
attributes:
value: >-
The other forms exist to make triage fast. This one exists because the most
valuable contributions rarely fit a form. Tell us what you found.
- type: textarea
id: what
attributes:
label: What you want to tell us
validations:
required: true
6 changes: 5 additions & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
# Routes people away from filing security reports as public issues, which is
# the single most common way a coordinated disclosure gets blown.
#
# Blank issues are off because a form is what applies the type: and
# status:needs-triage labels that triage depends on. The "Something else" form is the
# open door that keeps this from turning away a finding that fits no template.

blank_issues_enabled: true
blank_issues_enabled: false
contact_links:
- name: Report a security vulnerability
url: https://github.com/GenAI-Security-Project/agent-control-standard/security/advisories/new
Expand Down
4 changes: 4 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
# keeps a poisoned version from landing in a PR that looks routine.

version: 2
# No target-branch key. Dependabot follows the default branch, which is `integration`,
# so both routine and security updates land there and never meet the base-branch guard.
# Setting target-branch would make this depend on undocumented security-update targeting
# behavior for no benefit.
updates:
# GitHub Actions run with write access to the repository. Actions are pinned
# to commit SHAs in the workflows, and Dependabot understands SHA pins and
Expand Down
29 changes: 28 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,28 @@

<!-- One or two sentences. What does this PR do and why? -->

## Which issue does this implement

Closes #

<!-- A change that alters behavior, normative text, or adds code needs an issue carrying
`status:accepted`. If yours is not accepted yet, open the PR anyway. It will wait
rather than be closed. See Current Priority Scope in CONTRIBUTING.md. -->

- [ ] This is an editorial correction (typo, grammar, link, formatting) with no change in
meaning, so it needs no issue

## Base branch

- [ ] `integration`, because this touches the specification, schemas, a reference
implementation, an adapter, tests, or CI
- [ ] `main`, because every changed path is on the documentation lane allowlist in
CONTRIBUTING.md

## Type of change

- [ ] Specification change (schema, hooks, events, AgBOM)
- [ ] Reference implementation or adapter
- [ ] Documentation
- [ ] Tooling or CI
- [ ] Governance (licensing, security policy, contributor docs)
Expand All @@ -19,11 +38,19 @@

**Breaking for implementers?** <!-- yes or no, and what breaks -->

## I tested this

- [ ] I synced my branch with the base branch before opening this
- [ ] `uv run pytest -v` passes on my machine
- [ ] `uv run mkdocs build --strict` passes on my machine

<!-- These three are the difference between a review and a debugging session. A PR that
has not been run is not ready for someone else's afternoon. -->

## Checklist

- [ ] Commits are signed off with `git commit -s` (required by the DCO)
- [ ] Prose follows [STYLE.md](../STYLE.md)
- [ ] `uv run mkdocs build --strict` passes
- [ ] No secrets, tokens, or internal URLs in the diff

## Security
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/monitor-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,13 @@ jobs:
steps:
- name: Check out the repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
# A scheduled workflow runs from the default branch. Once the default moves to
# integration, checking out the default here would verify integration's schema
# set against a site that publishes from main, failing every six hours between
# promotions. The site publishes from main regardless of which branch is
# default, so this must always check out main.
ref: main

- name: Verify the published schemas still resolve
env:
Expand Down
Loading