Skip to content

Add Foundry Agentic Loop plugin: skill, SDD workflow and canvas 🤖🤖🤖 - #5179

Open
vieiraae wants to merge 47 commits into
github:mainfrom
vieiraae:vieiraae-agentic-loop-plugin
Open

vieiraae wants to merge 47 commits into
github:mainfrom
vieiraae:vieiraae-agentic-loop-plugin

Conversation

@vieiraae

@vieiraae vieiraae commented Oct 19, 2026 •

Copy link
Copy Markdown

Pull Request Checklist

  • I have read and followed the CONTRIBUTING.md guidelines.
  • I have read and followed the Guidance for submissions involving paid services.
  • My contribution adds a new instruction, prompt, agent, skill, workflow, or canvas extension file in the correct directory.
  • The file follows the required naming convention.
  • The content is clearly structured and follows the example format.
  • I have tested my instructions, prompt, agent, skill, workflow, or canvas extension with GitHub Copilot.
  • I have run npm start and verified that README.md is up to date.
  • I am targeting the main branch for this pull request.

Description

Adds the Foundry Agentic Loop plugin for building agentic solutions on Microsoft Foundry, GitHub and Azure from Copilot. It is aimed at the Microsoft field, customers and partners, and has two build modes:

  • Rapid prototyping: works in an existing Foundry project.
  • Spec-driven development (SDD): creates the Foundry project and ends in a verified azd deployment.
Type Path Purpose
Plugin plugins/foundry-agentic-loop Bundles everything below. Installing the plugin is the only onboarding step.
Skill skills/foundry-agentic-loop The only skill. It finds and installs the bundled canvas and workflow, and selects the mode: rapid, SDD or improve. references/ holds one guide per SDD phase (Specify, Implement, Verify, Deploy), adapted from the lean spec2cloud skills, with the plan phase folded into Specify. Guides load only when a step needs them.
Extension extensions/foundry-agentic-loop-workflow The foundry-agentic-loop-workflow dynamic workflow. It runs Specify → Implement → Verify → Deploy in sequence. Each phase has a lead, an independent fresh-context reviewer and bounded fix rounds, and passes only on evidence. It pauses for spec approval and always before azd up (approval is bound to a fingerprint of the plan, spec, verify report and Azure target), resumes by journaled replay, supports from and to to rerun one phase or a range, and writes a flight record to .agentic-loop/runs/.
Extension extensions/foundry-agentic-loop-canvas Rapid prototyping by default; it switches to SDD when the session has workflow runs. Four tabs: Start (mode, readiness, a compact Foundry project picker with a portal link, and a prompt template gallery), Build (live progress, or the SDD phase view with gates and "Fix in Chat"), Explore and Optimize. The gallery opens with Shape it with Copilot, followed by 61 industry templates with search, sort, gallery/list views and filters by industry, capability, building block and pattern, plus an optional Work IQ context toggle. While Copilot works, a dock shows Foundry enablement tips. Includes a five-slide "How it works" deck (public/deck.html).

Use in the GitHub Copilot App

  1. Click Customize, then Plugins. Find foundry-agentic-loop and click Install. From the Copilot CLI: copilot plugin install foundry-agentic-loop@awesome-copilot.
  2. Ask Copilot to open the agentic loop.
  3. On the Start tab, choose Rapid (existing Foundry project) or SDD (subscription), then pick a prompt template or shape your own idea, and click Send to Chat. The canvas switches to Build when the build starts and to Explore when it finishes.
  4. The first build writes a marked section to the workspace AGENTS.md. It locks the mode for Chat, the canvas and the workflow, and routes short commands such as deploy. Azure settings live only in .azure/deployment-plan.md.
  5. Later, ask Copilot to improve the agentic loop. It mines the lessons in docs/LOOP.md and the flight records, proposes evidence-backed skill and workflow changes, measures them with scripts/evals.mjs against the base commit, and applies only the changes you approve.

Design

The design follows current agentic software factory practice:

  • durable artifacts as ground truth;
  • fresh-context reviewers;
  • computational checks before inferential ones (Foundry evaluations);
  • bounded fix rounds, then escalation with evidence; issue waivers only by a human;
  • human approval at spec and deploy;
  • self-improvement only through reviewed, measured, revertible diffs that never weaken gates.

Maintainability

  • One skill with a lean SKILL.md; the phase guides, references and templates load on demand.
  • The extensions install separately and cannot share modules, so the contracts shared by the skill, workflow and canvas (the AGENTS.md lock markers, the flight-record path and the shared-files list) are pinned by cross-component tests.
  • Both extensions run their tests with npm test. The skill ships 55 behavioral evals with metadata (mode, capabilities, targets, risk), fixtures and a runner.

Credits: builds on aiappsgbb/agentic-loop (MIT) and the lean spec2cloud skills in Azure-Samples/Spec2Cloud (MIT).


Type of Contribution

  • New instruction file.
  • New prompt file.
  • New agent file.
  • New plugin.
  • New skill file.
  • New agentic workflow.
  • New canvas extension.
  • Update to existing instruction, prompt, agent, plugin, skill, workflow, or canvas extension.
  • Other (please specify): dynamic workflow extension (extensions/foundry-agentic-loop-workflow), bundled by the plugin.

Additional Notes

Paid services and affiliation: the plugin targets Azure and Microsoft Foundry, which are paid services. It is authored by Microsoft AI Apps GBB (https://github.com/aiappsgbb).

  • The plugin README lists the requirements, the billable resources and the teardown steps.
  • Copilot confirms billable changes before making them.
  • Teardown (azd down --purge, plus the Entra app registrations the build created) runs only with explicit approval.

Validation (on this branch, merged with the current main)

Command Result
npm run skill:validate ✅ Passed: foundry-agentic-loop is valid
npm run plugin:validate ✅ Passed: foundry-agentic-loop is valid
npm run build ✅ Passed; generated files are up to date
node --test extensions/foundry-agentic-loop-workflow/tests/*.test.mjs extensions/foundry-agentic-loop-canvas/tests/*.test.mjs ✅ 171 of 171 passed
node eng/canvas-smoke-test.mjs --changed-files <changed-files list> --install require ✅ Passed: syntax, imports, file safety, preview images, manifests, materialize and Copilot CLI install. 0 errors, 3 warnings, all in workflow test files not reachable from extension.mjs
Playwright UI checks of the canvas (light and dark, gallery, picker, deck, dock) ✅ 0 failures
CRLF scan of the changed files ✅ LF line endings only

Tested in the GitHub Copilot App

Each test started from open the agentic loop and a canvas industry template, in a new empty repository, with the plugin installed from a local marketplace.

Round Mode Scenario Result
1 Rapid IT helpdesk agents A verified local app (hosted Foundry agent, MCP servers, React/FastAPI) in 46 min, including 4 min answering questions; all six seeded tickets passed end to end. Deployed to Azure Container Apps 13 min after approval.
1 SDD Automated claims processing and fraud detection Passed all four gates: 474 unit tests, 98/98 E2E checks, Foundry evaluations ≥ 0.9 and live smoke checks on 22 claims. 465 min wall time with 25 subagents, including 28 min of approval waits.
1 Improve Both runs above Mined 57 lessons into 8 root-cause clusters with minimal diffs and 9 new evals, reviewed by a fresh-context subagent and applied after approval.
2 Rapid HR digital assistant Completed and deployed: about 3 h to a verified local app (7 min of answers), then an 18-min deploy. It skipped the deploy question, so deployment ran after explicit approval.
2 SDD Customer service always-on agent Exposed workflow defects (review convergence, provider-error pauses, redundant redeploys) and stopped at Verify because the delegated sign-in needed tenant consent. These drove the hardening in this PR: fail-closed gates, run leases, from/to reruns, deploy fingerprints and unauthenticated access by default only for sample, synthetic or public data.
3 Rapid Prompt template from the gallery Manual run by the author; its lessons (docs/LOOP.md) aligned the Build steps with Chat and added automatic tab switching.

Note: round 1 ran claude-opus-5.5 at medium reasoning effort and round 2 ran gpt-5.6-sol at max effort, so round-2 timings are not directly comparable. The skill recommends medium or high effort for subagents.

Known issue: with a local directory marketplace, the app sometimes listed the plugin's extensions as disabled after an older session was resumed. The skill and the canvas readiness check detect this and guide re-enabling; a new session then picks the extensions up.


By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.

vieiraae and others added 30 commits October 8, 2026 17:52
Adds the agentic-loop plugin for building agentic solutions on
Microsoft Foundry, GitHub and Azure:

- agentic-loop router skill with rapid prototyping, spec-driven
  delivery (SDD) and improve modes
- Specify, Implement, Verify and Deploy phase skills
- agentic-loop-workflow dynamic workflow that runs the SDD phases with
  gated reviews and bounded fix loops
- agentic-loop-canvas with industry scenarios, an SDD workflow view,
  Foundry enablement content and a "How it works" deck

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
Start from distilled records, locate targets with grep, draft clusters in
parallel and re-verify only disputed claims, so proposals arrive in about
20 minutes instead of 75.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
Run affected evals in one batch, rerun only failures once, and compare a
persistent failure against the base commit once instead of iterating.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
Apply lessons from the sdd-claims and rapid-it-helpdesk runs:
- Identity: grant the runtime instance identity (not the blueprint) via an
  idempotent postdeploy hook, add project Foundry User for skill download,
  MCP Easy Auth allow-lists, cross-resource-group Foundry grants.
- Specify: seed and decision rules, well-formed tables, no credential
  literals, .gitattributes.
- Versions: pin exact latest-stable versions and image tags served by the
  build's index.
- Concurrency: size E2E parallelism from TPM/RPM and reuse it in Deploy.
- Scaffolding into an existing workspace; image parameters that survive
  re-provision; Deploy endpoint and hook readback; workflow review prompts.
- Evals 21-29 covering these cases.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 1f0362eb-35b9-41c7-b285-56d1577abefb
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
The contract states the version policy; Implement resolves the latest stable
releases and verifies the github-copilot-sdk API before generating code.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
Round-two tests in the GitHub Copilot App (rapid HR assistant and SDD
customer service) exposed five defects, now fixed:

- Provider errors: a subagent that ended without a report re-ran its
  step and spent fix loops. Reports are now journaled per label, a
  missing report is retried once with continue-from-state guidance,
  and a second miss blocks the gate for a human check.
- Specify over-specification: reviews kept adding internal mechanics
  (a 1,588-line spec after four rounds). Reviews now report only
  verified defects and judge the contract, and fixes tighten text.
- Redundant redeploys: Implement redeployed unchanged and app
  services. It now deploys only changed checkpoint services and
  reproduces agent defects locally first.
- Stall misdiagnosis: hidden workflow subagents looked stalled.
  sdd.md and the workflow README explain liveness and forbid
  cancelling or restarting a run to unstick it.
- Skipped deploy question: rapid mode now asks with ask_user before
  deploying the app and waits for the answer.

References gain validated lessons on grounding score thresholds,
citation rebuilding, Responses output parsing, SSE parity, toolbox
RAI policy IDs, Container Apps image pulls and evaluator false
negatives on correct refusals. Adds evals 30-36.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
… go to integration

- Defaults: apps ship without end-user sign-in unless the user asks; when
  sign-in is requested, the API pre-authorizes the SPA and the spec plans
  and Implement proves the automated browser-test token path.
- Specify applies documented defaults before "safest" ones and validates
  the app-access default; evals 37-38 cover both cases.
- Workflow: a parallel workstream worker with no report after its retry is
  handed to integration as failed instead of blocking the gate; docs and a
  regression test updated. Eval 30 cites a real round-1 step label.
- Plugin author: Microsoft AI Apps GBB.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
Round 2 inferred Entra sign-in from the "remote reps" persona. The app-access
default now says it holds even when the users are staff, and eval 37 tests
that trap.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
Fold agentic-loop-specify, -implement, -verify and -deploy into the
agentic-loop skill as references/{specify,implement,verify,deploy}.md,
move the Specify templates to assets/ and azd-layout.md to references/.
The workflow resolves phase guides inside the one skill and accepts an
override copy only when it is complete; the canvas checks one skill.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
Move the lessons file from the workspace root LOOP.md to docs/loop-sri.md
across the skill, references, evals, workflow prompts, canvas and deck.
The workflow and canvas share a LESSONS constant; docs/ already covers
the file in the workflow's shared, lead-owned paths. Also fix two
leftover plural "skills" references from the single-skill merge.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
Rename the plugin and skill to foundry-agentic-loop, the workflow to
foundry-agentic-loop-workflow and the canvas to
foundry-agentic-loop-canvas, including extension IDs, canvas and
instance IDs, install commands, prompts, tests and generated indexes.
The "Agentic Loop" display name, the .agentic-loop/ run-record folder
and external aiappsgbb/agentic-loop and aka.ms links are unchanged.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
The first build writes a marked Agentic Loop section to the workspace
AGENTS.md that records rapid prototyping or SDD and routes short
commands such as deploy, status, resume and improve to the right step.
Azure settings stay only in .azure/deployment-plan.md.

- Skill: rapid and SDD section templates and the "Lock it in" rule.
- Workflow: setup adds the SDD section when absent, keeps an existing
  one and refuses a workspace locked to rapid prototyping.
- Canvas: reads the lock after each turn, disables the other mode with
  a lock hint and an Open AGENTS.md shortcut, and rejects conflicting
  mode actions. Switching happens only in Chat, with confirmation.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
… canvas

Skill
- Lean SKILL.md with Bootstrap, mode lock-in, defaults, workspace files and
  working rules; phase guides and references load on demand.
- Verified Copilot SDK + Foundry toolbox reference agent; toolbox, hosted
  agent, observability, azd layout and RBAC references aligned.
- loop-sri.md lessons template; AGENTS.md SDD routes (status, approve,
  resume, deploy, phases, build, improve); 45 behavioral evals.

Workflow
- Fixed role set, atomic flight-record writes, read-only record path in
  prompts, workspace-relative scopes, shared-file ownership, npm test.
- Pin tests: AGENTS.md markers, flight record path and the shared-files
  list against SKILL.md and the Implement guide (33 tests).

Canvas
- Windows az.cmd via cmd.exe with cross-spawn escaping; azd >= 1.32.0
  check; 128 KB UTF-8 body cap with 413; constant-time token compare;
  409 mode_locked and canvas error codes; reopen keeps user choices.
- Screen-reader announcements, labelled tables, sector filter, project
  list kept on failed refresh, exponential .env sync backoff, bounded run
  history, startup errors logged; accurate prompt-review copy (65 tests).

Docs: "spec-driven development" and "Rapid prototyping" used throughout;
regenerated plugin and skill READMEs and marketplace.json.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
Setup matched extensions by bare name, so the canvas and workflow shipped
by the plugin (listed as plugin:foundry-agentic-loop:<name>) were reported
"Not installed" even while running. Match the last segment of the
source-qualified ID or name, prefer a running copy over a disabled or
failed one, and flag a second active copy because it makes the canvas ID
and tool names ambiguous.

Found by a read-only runtime check in the GitHub Copilot App.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
Both rapid prototyping and SDD now share the same four tabs:
- Start: readiness, Foundry project or deployment target, and the brief.
  Ready steps collapse to a one-line card; restored choices collapse,
  picked ones stay in view. Readiness groups use the step chevron.
- Build: rapid milestones and short commands (run, test, deploy,
  convert to SDD), or the live SDD phase view.
- Explore and Optimize: unchanged content.

Adds an optional Work IQ context toggle on Start. When on, brief prompts
ask Copilot to ground clarifications in Microsoft 365 context through the
workiq MCP server. Setup reports its state from mcp.listConfigured without
starting servers, and it never affects readiness.

Retired tab names (setup, resources, workflow, cost) migrate on load.
Docs, deck, skill and workflow wording now refer to the Start and Build tabs.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
The Rapid prototyping | SDD workflow switch and its hint (including the
AGENTS.md lock and Open AGENTS.md) now open the Start tab, above the
heading they change. The tabs follow the project bar directly, so Build,
Explore and Optimize no longer repeat a control that only matters when
starting. Mode styles move into the Start section of app.css; the README
and the How it works deck describe the new location.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
Six slides instead of fourteen: the idea → Work IQ context → rapid
prototype or SDD workflow arc, the Global Black Belt best practices the
loop embeds, recursive improvement and a three-step start. Real scenario
imagery and animated loop motifs, responsive from the side panel to full
width, light and dark, and reduced-motion safe.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
The deck's "Start your first loop" slide now shows the App path as UI
chips: Customize > Plugins > search foundry-agentic-loop > Install,
replacing the CLI command. The plugin README leads with the same App
steps and keeps the CLI command as the alternative.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
Replace the searchable project list and resource-context card on the
Start tab with Subscription and Project dropdowns. Projects are grouped
by resource group, and one help line names the resource group that
receives solution resources. Loading, empty and access-denied states
are shown in place. Choosing a subscription keeps the step open, and a
rejected selection reverts the dropdown. The SDD deployment target
shares the same field layout.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
Replace the Start tab's Shape it with Copilot block and industry scenario
browser with a prompt template gallery. Shape it with Copilot comes first,
then 61 industry templates with search, industry, capability, building block
and pattern filters, sort, and gallery (default) or list views.

- Sending locks the template for the session. Unlock works until Copilot
  starts building; in SDD the prompt can be edited to start a new run.
- Boost with Work IQ is a toggle next to Send to Chat.
- With no template, the Build call to action reads "Start with a prompt
  template"; the canvas title is Foundry Agentic Loop.
- Infer missing capability, building block and pattern tags from each prompt
  with explicit rules, and end every prompt and description with a full
  sentence.
- Place facet menus before they paint so they never overflow the panel.
- Use the Foundry Agentic Loop name across the docs, the workflow's
  "Needs you" messages and the canvas hold prompts.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
Start steps, rapid Build milestones and SDD phases no longer replace their
number with a check mark, so a completed step still reads "1" and "2"
before "3". State is shown by a tinted ring plus a small corner badge
(done, attention, paused, failed or skipped).

- Badges are inline SVG (the CSP blocks data URIs) with a background
  ring, and stay aria-hidden like the markers they decorate.
- Paused and failed phases get the same tinted fill as the other states.
- Forced-colors mode renders badges in system colours, keyed by shape.
- The SDD preview phases are numbered 1 to 4.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
Signing in with az login fixes Foundry project discovery, the SDD
subscription listing and the FOUNDRY_PROJECT .env sync, but their errors
stayed in step 2 until the header Refresh. Check again now retries only
the listings that failed, once Azure CLI reports a sign-in, and a later
subscription listing clears the stale "Could not list subscriptions" help
while keeping an environment-name validation error.

Passing readiness collapses step 1 under the button, so its summary now
scrolls back into view, showing steps 1 and 2 ready above the gallery.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
The Microsoft Foundry project picker moves into the header. A Foundry logo
button beside it opens the project home in Foundry Portal, in the
directory of the project's subscription (?tid=). The header drops from
about 141px to 88px on narrow panels and to a single 60px row at 720px
and wider.

- Server: foundryProjectUrl builds the project home link and adds tid
  only for a valid tenant GUID. Discovered projects carry portalUrl, or
  null when the portal cannot address them.
- The link stays dimmed and announced as disabled until a linkable
  project exists. Its tooltip explains why: choose a project, wait for
  the workflow to create it, or wait for the canvas to access the
  project named in FOUNDRY_PROJECT.
- The name and the SDD note share one text run with a single ellipsis:
  the note is cut first and the name only once the note is gone. The
  accessible name separates them with CSS content alt text.
- On narrow panels the Foundry logo sits under the loop logo and the
  project name aligns with the title.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
The header project picker becomes a select-like field that reads
"Microsoft Foundry project <name>", up to 560px wide, with the Foundry
logo cell opening the project in Foundry Portal. It sits under the title
on narrow panels and inline between the brand and actions from 880px.

fitProjectBar keeps the name whole by giving way in order: the SDD note,
then "Microsoft", then the label. When the name is cut anyway, it keeps
the most explicit label that leaves the name readable. A ResizeObserver
on the field refits on resize; the accessible name never changes.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
The GitHub Copilot App does not open the loopback /deck.html link in an
external browser, so the link did nothing. The deck stays in the panel's
dialog. The iframe now uses aria-label instead of title, which keeps its
accessible name without a hover tooltip over the dialog heading.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
The App opens canvas target=_blank links in the system browser through
an injected click handler that skips loopback hosts, and that handler
may not run inside the deck iframe.

- Deck: mirror the App's rule in the framed deck so its resource links
  open in the system browser exactly once, whichever handler runs first.
- Explore: local frontends keep only "Open in integrated browser"; the
  external-browser link is shown only for non-loopback URLs.
- Delivered runs: loopback endpoints render as text instead of dead links.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
…rompts

- Rapid Build shows six milestones read from README headings
  (Architecture, Implementation contract, Hosted checkpoint), with
  blocked and agent-only states.
- Sending a prompt or the project lock opens Build; a finished rapid
  build or completed SDD run opens Explore.
- Prompts after the project is recorded in .env name only the project;
  short commands point at the AGENTS.md Agentic Loop section.
- README.md is openable from the canvas.
- Deck rapid track fits six milestones on one row.
- Skill: uv lock and code packaging lessons; README heading conventions
  for rapid milestones.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
The lessons file is now docs/LOOP.md and its template assets/loop-template.md,
across the skill, workflow, canvas, deck and docs.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
The message is now a flexible span in a non-wrapping row, so long
messages wrap inside it and the close button stays on the right.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
@github-actions github-actions Bot added awaiting-automation ready-for-review Submission passed intake validation and is ready for maintainer review and removed ready-for-review Submission passed intake validation and is ready for maintainer review awaiting-automation labels Oct 19, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Unresolved deployment-safety, workflow-state, access/residency, guidance, and test/evaluation issues block approval.

No open issues 🎉

1 previously missed issue

In code that hasn't changed since last review

Medium severity Preserve target failures until restoration succeeds

extensions/​foundry-agentic-loop-canvas/​public/​target-save.mjs:74

[P2] Keep the target failure until restoration succeeds. If a target save fails and the subsequent /api/state refresh also fails, this clears the failed fields anyway. The next flush() returns {ok: true} without retrying restoration, allowing Send to Chat to use the server's old subscription or region while the controls still show the unsaved choice. Clear the failures only after a successful restore or save.

Review effort: Max

If restoring the server target after a failed save also failed, the failure
was cleared and the next send could use a target the controls did not show.
Keep failed fields until a restore or a save of that field succeeds; each
flush retries the restore.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
@vieiraae

Copy link
Copy Markdown
Author

Addressed the previously missed P2 "Preserve target failures until restoration succeeds" in 58ac10f: TargetSaver now clears failed fields only after a successful restore or a successful save of that field; a failed restore keeps Send blocked and the next flush retries it. Added a regression test that fails on the old code; all 97 canvas tests pass.

Copilot AI max review requested due to automatic review settings October 20, 2026 08:27
@github-actions github-actions Bot added awaiting-automation ready-for-review Submission passed intake validation and is ready for maintainer review and removed ready-for-review Submission passed intake validation and is ready for maintainer review awaiting-automation labels Oct 20, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Deployment re-approval gaps, stale gate inheritance, and other unresolved correctness issues block approval.

No open issues 🎉

1 previously missed issue

In code that hasn't changed since last review

Medium severity Fail closed when flight records are oversized

extensions/​foundry-agentic-loop-workflow/​lib/​rerun.mjs:33

[P2] Fail closed on oversized flight records. With an older verified run and a newer blocked record over 2 MiB, this branch silently selects the older run, and rerunPlan(..., "Deploy") inherits its passed gates despite the newer failure. writeRecord() has no corresponding size cap. Refuse the rerun when a record cannot be inspected safely instead of falling back to stale gate evidence.

Review effort: Max

latestRecord skipped oversized, linked or unparseable records, so a newer
failed run could be passed over and its gates inherited from an older run.
Any record that cannot be inspected safely now refuses the rerun.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
Copilot AI max review requested due to automatic review settings October 20, 2026 09:09
@vieiraae

Copy link
Copy Markdown
Author

Addressed the previously missed P2 "Fail closed when flight records are oversized" in 259dadb: latestRecord now refuses the rerun when any record in .agentic-loop/runs is a link, larger than 2 MiB or not valid JSON, instead of skipping it and falling back to an older run's gates. Added a regression test (oversized and truncated newer record after a verified run) that fails on the old code; workflow tests 79/79 pass.

@github-actions github-actions Bot added requires-submitter-fixes Submission has quality-gate findings that submitter must fix before maintainer review and removed ready-for-review Submission passed intake validation and is ready for maintainer review labels Oct 20, 2026
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 12f8f9d1-8023-4138-87b5-d2a652056060
@github-actions github-actions Bot added awaiting-automation ready-for-review Submission passed intake validation and is ready for maintainer review and removed requires-submitter-fixes Submission has quality-gate findings that submitter must fix before maintainer review awaiting-automation labels Oct 20, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Unresolved approval, workflow-state, ownership, guidance, and fixture defects block approval.

No open issues 🎉

Review effort: Max

Copilot AI max review requested due to automatic review settings October 20, 2026 09:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Unresolved approval safeguards, RBAC gates, credential handling, configuration parsing, state races, and guidance inconsistencies block approval.

No open issues 🎉

Review effort: Max

This branch has not been deployed

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

Labels

canvas-extension PR touches canvas extensions merge-risk:high new-submission PR adds at least one new contribution plugin PR touches plugins ready-for-review Submission passed intake validation and is ready for maintainer review skills PR touches skills

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants