Goal
Build a real SDLC Agent in Copilot Studio, using the Codex App on Windows as the builder and independent E2E test driver. The result should let a user enter an issue/goal, inspect roadmap and lifecycle state, receive the next bounded SDLC action, invoke only approved tools, and obtain evidence that can be reconciled with GitHub.
This is the implementation follow-up to #96, not another general research card. If #96 selects adopt or experiment, execute this issue. If #96 selects reject, close this issue as not planned with the decision evidence.
Why this is now credible
The public BaseInfinity/m180-jumpseat #51 / PR #143 workflow demonstrated that Codex App can reuse a valid signed-in Copilot Studio session, drive an exact synthetic Evaluation set, inspect terminal results and Activity/tool traces, preserve raw output locally, commit sanitized evidence, obtain independent review, and complete the GitHub candidate lifecycle. That pattern should become a reusable harness capability instead of remaining project-specific.
The proof also exposed requirements the implementation must not hand-wave:
- custom response grading and tool-selection assertions are separate signals;
- Studio Activity/tool traces must be checked explicitly;
- imported Keyword/expected-response fixtures can fail independently of agent behavior;
- forbidden-tool and mutation checks must fail closed;
- provider/UI work and repository/CI evidence need one exact candidate identity;
- a valid existing session should permit pre-authorized synthetic automation without inventing a blanket human-only gate.
Proposed architecture
- Copilot Studio agent: conversational SDLC front door for intake, status, planning, bounded approvals, and tool orchestration.
- Shared SDLC core: reuse the future
sdlc-mcp / portable contract; do not copy lifecycle policy into prompt text.
- Codex App: Windows build and E2E test seat that configures the synthetic Studio candidate, drives the UI where no reliable API exists, runs repository tests, inspects Activity traces, and freezes evidence.
- Git/CI hooks: remain the non-bypassable enforcement authority. Studio does not claim to replace local hooks or hosted CI.
- Portable Studio solution: agent, component collections, environment-variable declarations, connection references, evaluation metadata, and a hash-bound build manifest; no secrets in the solution or repo.
Full E2E acceptance scenario
Using only a public/synthetic fixture repository and pre-authorized test environment:
- Start from one GitHub issue and milestone with a deliberately failing test or stale roadmap state.
- Ask the Studio SDLC Agent for the next action.
- Prove that it reads the bounded lifecycle state and returns the correct issue, milestone, dependency, and stop boundaries.
- Invoke an approved shared SDLC/GitHub tool through the configured action surface; assert the exact expected tool and arguments.
- Use Codex App to perform the repository implementation lane, RED → GREEN tests, frozen candidate, and proportional independent review.
- Return sanitized candidate/test/review state to the Studio agent and prove it reports the exact commit and remaining gate.
- Run a Studio Evaluation set covering success, blocked dependency, missing authentication, forbidden mutation, stale candidate, wrong tool, and provider failure.
- Inspect Activity/tool traces and fail if the expected tool was absent, an unexpected tool ran, arguments drifted, or a prohibited mutation was attempted.
- Export the solution, import it into a clean test environment when available, and rerun the same synthetic set.
- Open a PR and require hosted CI before claiming the E2E complete. Preserve exact commits, solution hashes, Evaluation results, review identity, and CI run IDs.
TDD and evaluation requirements
- Freeze synthetic fixtures and expected tool contracts before the live run.
- Record an honest RED before implementation.
- Unit-test deterministic manifest, issue/milestone, lifecycle, authorization, and evidence logic outside Studio.
- Add integration tests for the remote MCP/action boundary.
- Use Studio Evaluation for response behavior, plus explicit Activity/tool assertions for tool behavior.
- Include negative tests for auth required, capacity unavailable, stale evidence, private-data request, publication, tenant/admin change, destructive production work, and forbidden tool selection.
- Bind every result to the exact agent/solution version and Git candidate.
Guardrails
- Public sources, public repository evidence, and synthetic fixtures only.
- No private contracts, questionnaires, customer data, credentials, MFA handling, consent approval, publication, purchase/capacity change, tenant/admin mutation, or production action.
- Prefer supported APIs/connectors; use Codex App browser/computer use for genuine Studio UI gaps and record that distinction.
- Existing authenticated sessions and explicitly pre-authorized synthetic actions are automation-ready; stop only when authentication, MFA, consent, capacity/purchase, connection repair, or new scope is actually encountered.
- Never weaken hooks, skip required CI, use
--no-verify, or treat a prompt/evaluation score as enforcement.
Deliverables
- Versioned Copilot Studio solution and build manifest.
- Shared tool/action contract with no duplicated SDLC policy.
- Synthetic E2E fixture repository or fixture package.
- Deterministic unit/integration suite plus Studio Evaluation set.
- Sanitized Activity/tool-trace evidence.
- Codex App operator/test runbook.
- Cost, latency, reliability, portability, and recovery results.
- Final
adopt, experiment, or reject implementation verdict.
Dependencies and related issues
This issue is backlog work and must not displace the current 1.0 release path.
Goal
Build a real SDLC Agent in Copilot Studio, using the Codex App on Windows as the builder and independent E2E test driver. The result should let a user enter an issue/goal, inspect roadmap and lifecycle state, receive the next bounded SDLC action, invoke only approved tools, and obtain evidence that can be reconciled with GitHub.
This is the implementation follow-up to #96, not another general research card. If #96 selects
adoptorexperiment, execute this issue. If #96 selectsreject, close this issue as not planned with the decision evidence.Why this is now credible
The public
BaseInfinity/m180-jumpseat#51 / PR #143 workflow demonstrated that Codex App can reuse a valid signed-in Copilot Studio session, drive an exact synthetic Evaluation set, inspect terminal results and Activity/tool traces, preserve raw output locally, commit sanitized evidence, obtain independent review, and complete the GitHub candidate lifecycle. That pattern should become a reusable harness capability instead of remaining project-specific.The proof also exposed requirements the implementation must not hand-wave:
Proposed architecture
sdlc-mcp/ portable contract; do not copy lifecycle policy into prompt text.Full E2E acceptance scenario
Using only a public/synthetic fixture repository and pre-authorized test environment:
TDD and evaluation requirements
Guardrails
--no-verify, or treat a prompt/evaluation score as enforcement.Deliverables
adopt,experiment, orrejectimplementation verdict.Dependencies and related issues
This issue is backlog work and must not displace the current 1.0 release path.