Repository navigation
feat: implement issue #1728 — [Phase 2] Teach the interaction-model section 4 table and validate-interaction-model about a multi-role ingress file #1794
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
22 commits
Select commit
Hold shift + click to select a range
68ada57
feat: implement issue #1728 — [Phase 2] Teach the interaction-model s…
don-petry b6903ae
fix(bot): address bot feedback [skip ci-relay]
don-petry 24fc4d6
fix(bot): address bot feedback [skip ci-relay]
don-petry ecaa2b8
fix(validation): support dynamic YAML job indentation and detect dupl…
don-petry fdbb1a2
fix(reviews): address review comments [skip ci-relay]
don-petry ea8df28
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry 689a6f9
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry cb5c04a
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry 8cecbd1
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry 5c0f700
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry 9bb0f8f
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry fb34cfc
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry 47656b0
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry c69d30b
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry 3c4bc0c
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry 92f4334
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry 5463f55
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry cc77f09
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry 78a87e9
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry 7f7fcbc
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry 747f214
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry 6e1fa26
Merge branch 'main' into dev-lead/issue-1728-20260913-0441
don-petry File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
24 changes: 24 additions & 0 deletions
24
tests/fixtures/interaction-model/ingress-misclass/.github/workflows/agent-ingress.yml
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| name: Agent Ingress | ||
| # FIXTURE — a MISCLASSIFIED ingress row: two role-jobs, both documented, but one | ||
| # row asserts Class 3 while the shared on: union carries NO schedule. The §3 | ||
| # discriminator must FAIL[class] that row (a Class-3 origin is defined by its | ||
| # cadence), proving a row whose asserted Class contradicts the ingress on: block | ||
| # is rejected (QA AC #6). | ||
| on: | ||
| pull_request: | ||
| types: [opened, reopened, synchronize, review_requested] | ||
| issue_comment: | ||
| types: [created] | ||
|
|
||
| permissions: {} | ||
|
|
||
| jobs: | ||
| dev-lead: | ||
| if: github.event_name == 'pull_request' | ||
| uses: petry-projects/.github-private/.github/workflows/dev-lead-reusable.yml@dev-lead/v1-stable | ||
| secrets: inherit | ||
|
|
||
| pr-review-mention: | ||
| if: github.event_name == 'issue_comment' | ||
| uses: petry-projects/.github/.github/workflows/pr-review-mention-reusable.yml@pr-review-mention/v2-stable | ||
| secrets: inherit |
10 changes: 10 additions & 0 deletions
10
...s/fixtures/interaction-model/ingress-misclass/docs/agentic-interaction-model.md
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| # Fixture — agentic interaction model (§4 classification table) | ||
|
|
||
| Misclassified ingress row: both role-jobs are documented (completeness passes), | ||
| but the `pr-review-mention` row asserts Class 3 while the shared `on:` union has | ||
| no schedule. The §3 discriminator must FAIL[class] that row. | ||
|
|
||
| | Workflow (path) | Class | timer_role | Justification | | ||
| | --- | --- | --- | --- | | ||
| | `.github/workflows/agent-ingress.yml` (dev-lead) | 1 | — | Correctly Class 1 against the shared union. | | ||
| | `.github/workflows/agent-ingress.yml` (pr-review-mention) | 3 | — | WRONG: asserts Class 3 but the shared union carries no schedule. | |
26 changes: 26 additions & 0 deletions
26
tests/fixtures/interaction-model/ingress-pass/.github/workflows/agent-ingress.yml
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| name: Agent Ingress | ||
| # FIXTURE — a collapsed multi-role agent-ingress.yml (ADR-0007, epic #1723). | ||
| # One shared on: union (no schedule), one job per collapsed Class-1 role. The | ||
| # §4 table must carry ONE row per role-job (dev-lead, pr-review-mention), each | ||
| # classified against this same shared on: block. | ||
| on: | ||
| pull_request: | ||
| types: [opened, reopened, synchronize, review_requested] | ||
| issue_comment: | ||
| types: [created] | ||
|
|
||
| permissions: {} | ||
|
|
||
| jobs: | ||
| dev-lead: | ||
| if: >- | ||
| github.event_name == 'pull_request' || github.event_name == 'issue_comment' | ||
| uses: petry-projects/.github-private/.github/workflows/dev-lead-reusable.yml@dev-lead/v1-stable | ||
| secrets: inherit | ||
|
|
||
| pr-review-mention: | ||
| if: >- | ||
| (github.event_name == 'pull_request' && github.event.action == 'review_requested') | ||
| || github.event_name == 'issue_comment' | ||
| uses: petry-projects/.github/.github/workflows/pr-review-mention-reusable.yml@pr-review-mention/v2-stable | ||
| secrets: inherit |
10 changes: 10 additions & 0 deletions
10
tests/fixtures/interaction-model/ingress-pass/.github/workflows/legacy-stub.yml
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| name: legacy-stub | ||
| # FIXTURE — a pre-collapse single-role caller stub. Backward-compat: it still | ||
| # classifies as EXACTLY ONE §4 row (no role qualifier). | ||
| on: | ||
| pull_request: | ||
| types: [opened] | ||
| jobs: | ||
| run: | ||
| uses: petry-projects/.github-private/.github/workflows/dev-lead-reusable.yml@dev-lead/v1-stable | ||
| secrets: inherit |
12 changes: 12 additions & 0 deletions
12
tests/fixtures/interaction-model/ingress-pass/docs/agentic-interaction-model.md
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| # Fixture — agentic interaction model (§4 classification table) | ||
|
|
||
| Minimal stand-in for docs/agentic-interaction-model.md exercising the ADR-0007 | ||
| multi-role ingress shape: `agent-ingress.yml` contributes ONE row per role-job, | ||
| alongside a legacy single-role stub that keeps its one row. Only the §4 table | ||
| shape matters here. | ||
|
|
||
| | Workflow (path) | Class | timer_role | Justification | | ||
| | --- | --- | --- | --- | | ||
| | `.github/workflows/agent-ingress.yml` (dev-lead) | 1 | — | Collapsed Class-1 role; shared `on:` union has no schedule. | | ||
| | `.github/workflows/agent-ingress.yml` (pr-review-mention) | 1 | — | Collapsed Class-1 mention router; classified against the same shared `on:` union. | | ||
| | `.github/workflows/legacy-stub.yml` | 1 | — | Legacy single-role stub — exactly one row (no role qualifier). | |
23 changes: 23 additions & 0 deletions
23
tests/fixtures/interaction-model/ingress-underdoc/.github/workflows/agent-ingress.yml
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| name: Agent Ingress | ||
| # FIXTURE — an UNDER-DOCUMENTED ingress: two role-jobs (dev-lead, | ||
| # pr-review-mention) but the §4 table declares only one. Completeness must FAIL | ||
| # (a job with no classification row), proving the check cannot pass an | ||
| # under-documented ingress (QA AC #6 / backward-compat proven by failure). | ||
| on: | ||
| pull_request: | ||
| types: [opened, reopened, synchronize, review_requested] | ||
| issue_comment: | ||
| types: [created] | ||
|
|
||
| permissions: {} | ||
|
|
||
| jobs: | ||
| dev-lead: | ||
| if: github.event_name == 'pull_request' | ||
| uses: petry-projects/.github-private/.github/workflows/dev-lead-reusable.yml@dev-lead/v1-stable | ||
| secrets: inherit | ||
|
|
||
| pr-review-mention: | ||
| if: github.event_name == 'issue_comment' | ||
| uses: petry-projects/.github/.github/workflows/pr-review-mention-reusable.yml@pr-review-mention/v2-stable | ||
| secrets: inherit |
8 changes: 8 additions & 0 deletions
8
...s/fixtures/interaction-model/ingress-underdoc/docs/agentic-interaction-model.md
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| # Fixture — agentic interaction model (§4 classification table) | ||
|
|
||
| Under-documented ingress: `agent-ingress.yml` has two role-jobs but only one | ||
| row here (the `pr-review-mention` job is missing). Completeness must FAIL. | ||
|
|
||
| | Workflow (path) | Class | timer_role | Justification | | ||
| | --- | --- | --- | --- | | ||
| | `.github/workflows/agent-ingress.yml` (dev-lead) | 1 | — | Only one of the two role-jobs is declared. | |
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.