Agentic SDLC: spec-grounded squad orchestrator + forge#1
Open
MSFT-TKENDRICK wants to merge 2 commits into
Open
Agentic SDLC: spec-grounded squad orchestrator + forge#1MSFT-TKENDRICK wants to merge 2 commits into
MSFT-TKENDRICK wants to merge 2 commits into
Conversation
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>
7232ce8 to
9cc9c1d
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
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:
specs/NNN-slug/).eval_config.yamlthat generate and police the squad.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/runemits a grounding proof that blocks implementation unless:What's here
sdlc/—@tokenizer/sdlctoolkit: 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/—sdlcorchestrator +spec-interviewer,facet-curator,evidence-auditor, and generated grounded squad members undersquad/.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-001and resolvedMSF-001.sdlc_assert_targets.py— ASSERT callable adapter so the generated evals'callable:refs resolve.Verification
sdlc: 53 tests green, 94.5% statement coverage.sdlc run specs/001-model-cost-comparison→ squad 13/13 grounded (100%).npm run typecheckclean; rootnpm run test12/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