Skip to content

Agentic SDLC: spec-grounded squad orchestrator + forge#1

Open
MSFT-TKENDRICK wants to merge 2 commits into
mainfrom
msft-tkendrick/sdlc-squad-agent
Open

Agentic SDLC: spec-grounded squad orchestrator + forge#1
MSFT-TKENDRICK wants to merge 2 commits into
mainfrom
msft-tkendrick/sdlc-squad-agent

Conversation

@MSFT-TKENDRICK

Copy link
Copy Markdown
Owner

What & why

Implements an agentic SDLC workflow that takes a SpecKit feature spec from ambiguous to implemented-with-evidence, wiring together the four building blocks from the request:

Block Role here
GitHub SpecKit Source of truth (specs/NNN-slug/).
Copilot SDK sdk-style squads Squad members are Copilot custom agents, dispatched as a parallel fleet.
ASSERT framework NL specs → executable eval_config.yaml that generate and police the squad.
Copilot SDK inference Crafts each member's grounded prompt (deterministic offline fallback).

The loop

interview → micro-spec facets + ADRs → ASSERT evals → provably grounded squad → fleet dispatch → BDD features → TDD red/green/refactor → evidence (coverage, screenshots, video, Playwright).

"Provably grounded"

sdlc ground/run emits a grounding proof that blocks implementation unless:

  1. coverage = 100% (every requirement owned),
  2. no ungrounded members, and
  3. no dangling requirement references.

What's here

  • sdlc/@tokenizer/sdlc toolkit: SpecKit parser, ambiguity detector, facet/ADR managers, squad role derivation + forge + grounding proof, Copilot SDK inference + fleet dispatch, ASSERT eval gen, BDD gen, guarded TDD loop, evidence collector, CLI + pipeline. 53 vitest tests, 94.5% stmt coverage, fully offline-deterministic.
  • .github/agents/sdlc orchestrator + spec-interviewer, facet-curator, evidence-auditor, and generated grounded squad members under squad/.
  • specs/001-model-cost-comparison/ — a real SpecKit spec for the tokenizer app (spec/plan/tasks).
  • docs/sdlc/ — methodology doc + the generated worked-example bundle (interview, grounding 13/13, 6 ASSERT evals, 5 features / 13 scenarios, TDD loop, 5 evidence manifests) + ADR-001 and resolved MSF-001.
  • sdlc_assert_targets.py — ASSERT callable adapter so the generated evals' callable: refs resolve.

Verification

  • sdlc: 53 tests green, 94.5% statement coverage.
  • Example pipeline: sdlc run specs/001-model-cost-comparison → squad 13/13 grounded (100%).
  • No app regressions: root npm run typecheck clean; root npm run test 12/12 green (sdlc/** excluded from app vitest).

Try it

npm run sdlc:build
node sdlc/bin/sdlc.mjs interview specs/001-model-cost-comparison
node sdlc/bin/sdlc.mjs ground    specs/001-model-cost-comparison
node sdlc/bin/sdlc.mjs run       specs/001-model-cost-comparison --repo .

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

MSFT-TKENDRICK and others added 2 commits June 12, 2026 12:54
Introduce an agentic SDLC workflow that turns a SpecKit spec into a
provably spec-grounded squad of Copilot custom agents with evidence for
every requirement.

Toolkit (sdlc/, @tokenizer/sdlc):
- SpecKit parser + ambiguity detector (interview agenda)
- micro-spec facet + ADR managers
- squad role derivation + forge with a grounding proof
  (100% requirement coverage, no ungrounded members, no dangling refs)
- Copilot SDK inference + fleet dispatch (deterministic offline fallback)
- ASSERT eval_config.yaml generation (squad-grounding + per-capability)
- BDD Gherkin generation, guarded TDD red/green/refactor loop
- evidence collector (coverage, screenshots, video, Playwright)
- CLI (run/interview/ground/fleet) + full pipeline orchestrator
- 53 vitest tests, 94.5% statement coverage, offline-deterministic

Agents (.github/agents/):
- sdlc orchestrator + spec-interviewer, facet-curator, evidence-auditor
- generated, grounded squad members under squad/

Docs + worked example:
- docs/sdlc/sdlc-agentic-workflow.md methodology
- specs/001-model-cost-comparison SpecKit spec (spec/plan/tasks)
- generated bundle (interview, grounding 13/13, 6 evals, 5 features /
  13 scenarios, TDD loop, evidence) + ADR-001 / resolved MSF-001
- sdlc_assert_targets.py ASSERT callable adapter

Root: add sdlc convenience scripts; exclude sdlc/** from app vitest.
No app regressions (typecheck + 12 tests green).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Make the dev inner-loop / outer-loop relationship explicit across the
orchestrator agent, methodology doc, and facet-curator:

- Outer loop owns spec meaning (interview -> facets/ADRs -> grounded
  squad -> evals); inner loop owns implementation (BDD/TDD/evidence).
- The inner loop feeds the outer loop: implementation discoveries that
  reveal ambiguity or require a requirement change escalate rather than
  guess, via derivative facet specs and targeted user re-elicitation.
- A requirement revision records an ADR, updates the SpecKit spec, and
  re-forges/re-grounds the squad with affected evals/features/TDD
  entries regenerated before the inner loop resumes.
- Updated the mermaid diagram to show the inner->outer feedback edge.

Docs only; no code changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant