Skip to content

Commit 4fcb7be

Browse files
Copilotgh-aw-bot
andauthored
Merge remote-tracking branch 'origin/main' into copilot/migrate-mcp-gateway-compiler-output
# Conflicts: # .github/workflows/pr-code-quality-reviewer.lock.yml Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
2 parents 939d174 + 5aaca5f commit 4fcb7be

46 files changed

Lines changed: 2809 additions & 448 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/patch-report-awf-ai-credits.md

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.changeset/type-on-stop-after.md

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/aw/create-agentic-workflow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Design and create new workflow files under `.github/workflows/` using the instal
1010
## Load These References First
1111

1212
- [designer.md](designer.md)
13-
- [intent.md](intent.md)
13+
- [intent.md](intent.md) for the outcome definition, PromptPex eval derivation, and operational-value inference
1414
- [github-agentic-workflows.md](github-agentic-workflows.md)
1515
- [workflow-editing.md](workflow-editing.md)
1616
- [workflow-constraints.md](workflow-constraints.md)

.github/aw/designer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Capture:
3030

3131
### Phase 1a: Intent
3232

33-
Before selecting a trigger or implementation, load [intent.md](intent.md) and derive the concise canonical outcome and transient IntentSpec. Confirm the outcome when it is ambiguous and persist it later as `intent:`. For explicit, narrow requests, keep this step lightweight.
33+
Before selecting a trigger or implementation, load [intent.md](intent.md) and derive the concise canonical outcome and transient IntentSpec. Use it to derive PromptPex eval and inverse-eval scenarios and, when needed, operational value. Confirm the outcome when it is ambiguous and persist it later as `intent:`. For explicit, narrow requests, keep this step lightweight.
3434

3535
### Phase 1b: Repository Survey and Intent Mining
3636

.github/aw/intent.md

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Start every workflow design by extracting a concise, implementation-independent
1010
intent: Reduce maintainer effort spent identifying recurring actionable CI regressions without generating duplicate work.
1111
```
1212
13-
An intent describes the outcome for an actor and subject, not a trigger, tool, schedule, or write action. It must remain valid if the implementation changes from an immediate issue to a weekly digest.
13+
An **intent** is the repository outcome that a workflow should attain for a defined actor and subject. It describes why the workflow exists, not its trigger, tool, schedule, output volume, or write action. It must remain valid if the implementation changes from an immediate issue to a weekly digest.
1414
1515
## Derive an IntentSpec
1616
@@ -43,7 +43,14 @@ Use the model to derive implementation rather than mapping the request directly
4343

4444
For example, an intent to surface actionable CI regressions can require completed relevant CI, actionable and novel evidence, and sufficient diagnostics. Known flakes, infrastructure failures, already-tracked regressions, closed pull requests, and insufficient evidence are counter-cases. An immediate incident, PR comment, daily digest, and weekly trend report are alternative architectures; choose the one that best meets the intent without unnecessary attention cost.
4545

46-
## Derive Evals from Intent
46+
## Apply PromptPex to Derive Evals
47+
48+
PromptPex treats the prompt as a behavioral specification and expands each intent condition into a concrete scenario. Use the IntentSpec to generate both sides of the behavior:
49+
50+
1. For each activation condition and required effect, create a positive fixture in which the workflow should produce an observable result. Derive an eval that returns `YES` only when the output demonstrates that result.
51+
2. Invert each activation condition, required effect, and evidence threshold to find counter-intent cases such as irrelevant, duplicate, benign, stale, or insufficiently evidenced input.
52+
3. Create an inverse fixture for each meaningful counter-case. Derive an inverse eval that returns `YES` only when the output demonstrates the intended no-op, bounded investigation, or other safe behavior.
53+
4. Check that the positive and inverse fixtures jointly cover the intent without prescribing the implementation.
4754

4855
Create representative positive and adversarial scenario fixtures from required effects and no-op conditions. A BinEval run evaluates one provided scenario and one `agent_output.json`; do not combine mutually exclusive scenarios into one unconditional question list. For each fixture, use a separate scenario-specific eval question about the observable agent output:
4956

@@ -53,6 +60,25 @@ Create representative positive and adversarial scenario fixtures from required e
5360

5461
Keep eval questions binary and output-observable. If a shared eval suite must accept different scenarios, make applicability explicit and treat a scenario that was not provided as `UNKNOWN`, not as a failure. Do not ask a judge whether the intent itself is good or whether the agent made sufficient effort.
5562

63+
See [evals.md](evals.md) for BinEval syntax and question constraints.
64+
65+
## Infer Operational Value from Intent
66+
67+
Operational value is the degree to which the workflow's intended repository outcome is attained for the opportunity assigned to a run, demonstrated by accepted repository evidence. Infer it from the IntentSpec rather than from execution quality, output volume, or the agent's own assessment:
68+
69+
1. Turn the actors, subject, and activation conditions into a stable per-run opportunity.
70+
2. Turn the required effects and success conditions into accepted repository evidence and one direct attainment metric in `[0,1]`.
71+
3. Turn no-op conditions into the zero rule, and uncertainties into explicit missing-evidence behavior.
72+
4. Define when evidence matures and which repositories and matching rules are accepted.
73+
74+
Evals and operational value answer different questions. PromptPex evals test whether output follows the intended behavior for representative scenarios; operational value measures whether the intended repository outcome was attained for a real run. When adding an `operational-value` grader, use the `operational-value-designer` skill to freeze the evidence and metric contract.
75+
76+
## Infer Trace Graders from Intent
77+
78+
Select graders that test a concrete risk to achieving the intent; do not enable metrics merely because they are available. Start with the known builtin graders: use `tool-success-rate` and `tool-failure-count` when reliable collection is required; `retries`, `loops`, `execution-step-count`, and `execution-duration` when boundedness or timely escalation matters; `working-set-rebuild-factor` and `context-growth` when repeated context is an attention or cost risk; `trajectory-efficiency` when unnecessary tool churn is a concern; and `artifact-production` only when producing the intended artifacts is itself useful diagnostic evidence.
79+
80+
Then inspect the implemented fragments in [`shared/graders/`](../workflows/shared/graders/README.md). Use `policy-near-miss` for explicit guard or no-op requirements. For intents that require efficient investigation rather than repeated exploration, consider `state-revisit-probability-rep`, `recurrence-rate`, `recurrence-determinism`, `recurrence-laminarity`, or `recurrence-trapping-time`. For intents where varied, non-repetitive investigation is relevant, consider `event-entropy-rate` or `lempel-ziv-trajectory-complexity`. Import only the applicable implemented fragments and ensure their documented trace prerequisites are available. These trace graders diagnose execution behavior; they do not replace scenario evals or the operational-value attainment metric.
81+
5682
## Preserve Intent on Updates
5783

5884
Read the existing `intent:` before changing an existing workflow. Preserve it for an implementation-only change, including a trigger or output-channel redesign. Reconsider and update it only when the request materially expands, contracts, or otherwise changes the outcome. When it changes, re-derive conditions, architecture, prompt behavior, and evals.

.github/aw/update-agentic-workflow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Update existing workflow files in `.github/workflows/`.
1414
- [workflow-constraints.md](workflow-constraints.md)
1515
- [safe-outputs.md](safe-outputs.md)
1616
- [syntax.md](syntax.md)
17-
- [intent.md](intent.md)
17+
- [intent.md](intent.md) for preserving the outcome and re-deriving evals or operational value when it changes
1818

1919
Load these additional files only when relevant:
2020

0 commit comments

Comments
 (0)