Skip to content

Add protocol engineering templates, protocols, and formats#84

Merged
Alan-Jowett merged 3 commits intomicrosoft:mainfrom
Alan-Jowett:add-protocol-engineering-templates
Mar 27, 2026
Merged

Add protocol engineering templates, protocols, and formats#84
Alan-Jowett merged 3 commits intomicrosoft:mainfrom
Alan-Jowett:add-protocol-engineering-templates

Conversation

@Alan-Jowett
Copy link
Copy Markdown
Member

Summary

Adds a new protocol-engineering category to PromptKit with 10 components for designing, evolving, analyzing, and validating communication protocol specifications (RFCs, internet-drafts, formal specs).

New Components (10)

Persona

  • *\protocol-architect* — Senior protocol architect with expertise in protocol design, IETF standards, state machines, message formats, backward compatibility, and interoperability analysis.

Taxonomy

  • *\protocol-change-categories* (PC1–PC8) — Classification scheme for protocol specification changes by impact: editorial, clarification, backward-compatible extension, optional behavior change, state machine modification, message format change, security-impacting, and deprecation/removal.

Reasoning Protocols

  • *\protocol-evolution* — 5-phase methodology for modifying existing protocol specs: specification ingestion → change request analysis → impact tracing → consistency verification → delta generation.
  • *\protocol-conflict-analysis* — 5-phase methodology for comparing two protocols: protocol decomposition → semantic overlap detection → contradiction analysis → interoperability assessment → resolution recommendations.
  • *\protocol-validation-design* — 5-phase methodology for deriving validation specs: model extraction → testable property identification → test case design → oracle design → coverage analysis.

Formats

  • *\protocol-delta* — Protocol amendment format supporting three presentation styles: amendment document, redline view, and standalone revised specification.
  • *\protocol-validation-spec* — Validation specification format with state machine tests, message format tests, error handling tests, interoperability scenarios, and tool requirements.

Templates

  • *\�volve-protocol* (\mode: interactive) — Interactive session for evolving a protocol specification through guided phases.
  • *\�nalyze-protocol-conflicts* — Compare two protocol specs for conflicts and interoperability hazards.
  • *\�uthor-protocol-validation* — Derive a validation specification from a protocol spec that an LLM or engineer can use to build a conformance test tool.

Pipeline

  • *\protocol-engineering* — Lifecycle pipeline: \�xtract-rfc-requirements\ → \�volve-protocol\ → \�uthor-protocol-validation\ (with \�nalyze-protocol-conflicts\ branching from extracted requirements).

Design Rationale

  • New persona needed: Existing personas (systems-engineer, specification-analyst, software-architect) lack protocol design expertise. The \protocol-architect\ persona understands IETF conventions, normative language, protocol layering, and interoperability analysis.
  • New taxonomy needed: Protocol changes have unique impact categories (wire compatibility, state machine completeness, security property changes) not covered by existing taxonomies.
  • Reused \investigation-report\ format for conflict analysis — it's a findings report, which maps naturally to the existing format.
  • New formats needed: Protocol deltas and validation specs have unique structural requirements not served by existing formats.
  • Pipeline integration: All templates declare input/output contracts so they work standalone AND compose with the existing \�xtract-rfc-requirements\ template.

Verification

  • \ ests/validate-manifest.py\ passes ✅
  • \manifest.yaml\ YAML syntax valid ✅
  • All files have SPDX headers ✅
  • All frontmatter fields complete for each component type ✅

Add a new protocol-engineering category to PromptKit with 10 components
for designing, evolving, analyzing, and validating communication
protocol specifications (RFCs, internet-drafts, formal specs).

New components:
- Persona: protocol-architect
- Taxonomy: protocol-change-categories (PC1-PC8)
- Protocols: protocol-evolution, protocol-conflict-analysis,
  protocol-validation-design
- Formats: protocol-delta, protocol-validation-spec
- Templates: evolve-protocol (interactive), analyze-protocol-conflicts,
  author-protocol-validation
- Pipeline: protocol-engineering (extract -> evolve -> validate)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 27, 2026 20:36
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a new protocol-engineering component set to PromptKit so users can evolve protocol specifications, analyze conflicts between specs, and derive protocol validation specifications using dedicated personas, reasoning protocols, taxonomies, and formats.

Changes:

  • Introduces a new protocol-architect persona plus three protocol-engineering reasoning protocols.
  • Adds two new output formats (protocol-delta, protocol-validation-spec) and three new templates that use them.
  • Registers all new components in manifest.yaml, including a new protocol-engineering template category and pipeline.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
templates/evolve-protocol.md New interactive template for evolving a protocol spec and producing a delta.
templates/author-protocol-validation.md New template to derive a protocol validation specification from a protocol spec.
templates/analyze-protocol-conflicts.md New template to compare two protocol specs and produce an investigation report.
taxonomies/protocol-change-categories.md New taxonomy (PC1–PC8) to classify protocol spec change types/impact.
protocols/reasoning/protocol-validation-design.md New reasoning protocol for deriving validation specs from protocol specs.
protocols/reasoning/protocol-evolution.md New reasoning protocol for systematically evolving a protocol spec.
protocols/reasoning/protocol-conflict-analysis.md New reasoning protocol for structured comparison/conflict analysis of two specs.
personas/protocol-architect.md New persona tailored to protocol/IETF-style specification work.
manifest.yaml Registers new persona/protocols/formats/taxonomy/templates and defines a protocol-engineering pipeline.
formats/protocol-validation-spec.md New fixed-structure format for validation-spec artifacts.
formats/protocol-delta.md New fixed-structure format for protocol delta/amendment artifacts.

…stency

- Fix PC7 co-occurrence contradiction: single-label with documented
  security implications instead of multi-label
- Fix input_contract on evolve-protocol, analyze-protocol-conflicts,
  and author-protocol-validation: set to null since requirements doc
  is optional
- Add taxonomies declaration to evolve-protocol frontmatter
- Fix hyphenated line break in analyze-protocol-conflicts
- Fix pipeline: remove consumes from stages with optional inputs

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 11 out of 11 changed files in this pull request and generated 6 comments.

…labels

- protocol-validation-spec: allow spec-section citations when no
  requirements document with REQ-IDs is provided
- protocol-delta: use full taxonomy labels (e.g.,
  PC5_STATE_MACHINE_MODIFICATION) in example tables and field
  descriptions

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@Alan-Jowett Alan-Jowett merged commit 1f06966 into microsoft:main Mar 27, 2026
2 checks passed
@Alan-Jowett Alan-Jowett deleted the add-protocol-engineering-templates branch March 27, 2026 21:31
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.

2 participants