feat(agents): add Privacy Planner, SSSC reviewer, and privacy-standards skill#2168
feat(agents): add Privacy Planner, SSSC reviewer, and privacy-standards skill#2168WilliamBerryiii wants to merge 9 commits into
Conversation
Add business and product requirements documents for the Privacy Planner workstream, introducing privacy as a first-class member of the planner family with a privacy-standards skill and Privacy Reviewer. Refs #2137
…dards skill - add privacy-planner and privacy-reviewer agents plus privacy-identity instructions - add sssc-reviewer agent and project-planning privacy-standards skill with references - extend shared disclaimer, telemetry, untrusted-content, and planner-identity overlays - register artifacts across collections and regenerate plugin outputs 🔒 - Generated by Copilot
# Conflicts: # .github/instructions/shared/disclaimer-language.instructions.md # .github/instructions/shared/untrusted-content-boundary.instructions.md # collections/hve-core-all.collection.md # plugins/hve-core-all/README.md
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2168 +/- ##
==========================================
- Coverage 81.24% 78.94% -2.31%
==========================================
Files 127 95 -32
Lines 18831 13486 -5345
Branches 12 12
==========================================
- Hits 15300 10647 -4653
+ Misses 3528 2836 -692
Partials 3 3
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Eval Execution❌ Status: Failed
|
… lint failures Author eval stimulus partials for privacy-planner, privacy-reviewer, and sssc-reviewer and regenerate AGENTS.yml and eval.yaml. Add DPIA, CPRA, NISTIR, LINDDUN, offence, overclaiming to the cspell dictionaries. Add the standard Copilot footer to the privacy BRD and PRD. Trim the shared disclaimer-language intro and authoring comment so the adr-creation cold-start payload stays under the 44000-byte PD-04 budget.
katriendg
left a comment
There was a problem hiding this comment.
Code review — Privacy Planner, SSSC Reviewer, privacy-standards skill
First, thank you for this — it's a substantial, well-structured contribution. The phase-based Privacy Planner cleanly mirrors the sibling-planner shape, the domain knowledge is correctly isolated in the privacy-standards skill with proper mixed-license attribution, the collection/plugin wiring is complete, the state.json schema is isomorphic to the other planners, and the shared applyTo overlays are consistent and well-formed. Really nice work.
Note on CI: I can see the
Eval Validation / Eval Executejobs (agent/instruction/prompt/skill) are still failing. I understand those are in-flight and you're already addressing them, so I have not factored the CI state into this review or its verdict.
With that set aside, two items drive the request for changes plus two minor notes:
🔴 High — Hardcoded non-relative skill path (portability)
.github/agents/security/sssc-reviewer.agent.md (lines 25 and 88) references the supply-chain-security skill by a repo-root-relative SKILL.md path. Per prompt-builder.instructions.md ("Skill Invocation from Callers"), skills must be invoked by name, never by hardcoded path — .github/skills/ does not exist in plugin or extension distributions, so this breaks in delivered contexts. The sibling security-reviewer.agent.md does not use this pattern. Inline suggestions provided.
🟡 Medium — FR-005 / AC-005 (backlog handoff) not implemented
The PRD (FR-005, AC-005, DD-004) requires Privacy to register as a 5th backlog-templates caller and emit an augmentation block with data_category, processing_purpose, dpia_ref, lawful_basis, and risk_tier (severity-to-priority mapped). backlog-templates/SKILL.md was not modified — its Callers list and per-planner field blocks still cover only RAI, Security, SSSC, and Accessibility — and no privacy field contract appears in the Phase 6 Handoff. Inline note on the handoff section.
🟢 Low — DPIA gate phase numbering vs PRD
The PRD describes the DPIA hard gate at the "Phase 2 → Phase 5" transition, but the implemented six-phase model places the gate in Phase 3 (Risk + DPIA). Intent is preserved; the phase numbers just don't line up. Worth reconciling for traceability.
🟢 Low — Privacy Reviewer disclaimer source pointer
privacy-reviewer.agent.md step 6 says "re-surface the professional review disclaimer" without pointing to the canonical disclaimer-language.instructions.md source the way the Privacy Planner does.
Validated clean: collection inclusion + subagent dependencies, relative skill references, applyTo patterns, instruction cross-references, schema consistency, and licensing attribution. Disclaimer: this is an AI-assisted review for human consideration, not a substitute for qualified human validation.
Add advisory behavior-conformance stimuli for the privacy-identity, planner-identity-base, telemetry-overlay, and untrusted-content-boundary instructions and the privacy-standards skill so the stimulus-presence gate passes for the changed AI artifacts.
…s PR review - reference supply-chain-security skill by name in SSSC reviewer (portability) - register Privacy as 5th backlog-templates caller with augmentation fields - add Privacy backlog handoff contract and DPIA phase-mapping note - cite Privacy Review disclaimer source in privacy reviewer 🔒 - Generated by Copilot
Add advisory behavior-conformance coverage for the backlog-templates skill, whose SKILL.md was updated to include the Privacy planner, and regenerate the hve-core-all, project-planning, and security collection and plugin READMEs so the backlog-templates description propagates.
| * Entry: Phase 5 complete (impact summary reviewed) | ||
| * Activities: present the complete privacy plan for review, generate the handoff summary, and hand off to backlog or implementation workflows using the Backlog Handoff Contract | ||
| * Exit: user confirms acceptance of the privacy plan | ||
| * Artifacts: final privacy plan, handoff summary |
There was a problem hiding this comment.
Thoughts on tightening this phase by adding:
Activities: present the complete privacy plan for review, generate the handoff summary, and hand off to backlog or implementation workflows using the [Backlog Handoff Contract](#backlog-handoff-contract)
Exit: user confirms acceptance of the privacy plan and handoff
I think it might help with staying consistent with the SSSC planner wordings.
…for clarity - clarify the link to the Backlog Handoff Contract - specify that user confirms acceptance of the privacy plan and handoff 🔧 - Generated by Copilot
feat(agents): add Privacy Planner, SSSC reviewer, and privacy-standards skill
Description
This PR adds a Privacy Planner capability to hve-core, following the same phase-based shape as the existing RAI, Security, SSSC, and Accessibility planners. The work introduces a planning agent, a thin reviewer, a domain skill with framework references, supporting requirements docs, and the collection and plugin wiring needed to distribute the new artifacts. It also adds a complementary SSSC Reviewer agent for supply-chain security review.
Privacy Planner and identity
The new .github/agents/privacy/privacy-planner.agent.md defines a six-phase workflow — Capture, Data Mapping, Risk+DPIA, Controls, Impact, Handoff — with
captureandfrom-prdentry modes and state persisted under .copilot-tracking/privacy-plans/{project-slug}/state.json. Its companion .github/instructions/privacy/privacy-identity.instructions.md extends planner-identity-base with the phase definitions, a DPIA threshold hard gate that blocks progression from Phase 2 to Phase 5 when processing crosses a risk threshold, the state schema, and the resume protocol.Privacy Standards skill
All domain knowledge lives in .github/skills/project-planning/privacy-standards/SKILL.md rather than in the agent. The skill carries a framework index, phase-to-framework mapping, and explicit citation fields, backed by six paraphrased reference files covering the NIST Privacy Framework, NISTIR 8062, GDPR, CCPA/CPRA, OWASP Top 10 Privacy Risks, and DPIA thresholds. Upstream attribution is preserved (OWASP CC-BY-SA-4.0, NIST public domain, paraphrased GDPR/CCPA).
Reviewer agents
.github/agents/privacy/privacy-reviewer.agent.md is a thin orchestrator with
plan,review, andauditmodes; when no privacy plan exists it falls back to reviewing the source PRD/BRD and records the absence as a gap. .github/agents/security/sssc-reviewer.agent.md provides an evidence-based supply-chain security reviewer with audit, diff, and plan-review modes.Shared overlays, docs, and wiring
The shared overlays in .github/instructions/shared/disclaimer-language.instructions.md, .github/instructions/shared/planner-identity-base.instructions.md, .github/instructions/shared/telemetry-overlay.instructions.md, and .github/instructions/shared/untrusted-content-boundary.instructions.md were extended to apply to the new privacy-plans paths. Requirements were documented in docs/brds/privacy-planner-brd.md and docs/prds/privacy-planner-prd.md. The new artifacts were registered at experimental maturity in the
hve-core-all,project-planning, andsecuritycollections, plugin outputs were regenerated (path config, symlinks, and README tables), and scripts/collections/Validate-Collections.ps1 now recognizesprivacyas a collection domain.Related Issue(s)
Closes #2137
Type of Change
Select all that apply:
Code & Documentation:
Infrastructure & Configuration:
AI Artifacts:
prompt-builderagent and addressed all feedback.github/instructions/*.instructions.md).github/prompts/*.prompt.md).github/agents/*.agent.md).github/skills/*/SKILL.md)evals/)Other:
.ps1,.sh,.py)Sample Prompts (for AI Artifact Contributions)
User Request:
Execution Flow:
capturesession and writes state to .copilot-tracking/privacy-plans/{project-slug}/state.json.privacy-standardsskill (NIST Privacy Framework, NISTIR 8062, GDPR, CCPA/CPRA, OWASP Top 10 Privacy Risks).Output Artifacts:
Success Indicators:
Testing
Checklist
Required Checks
AI Artifact Contributions
/prompt-analyzeto review contributionprompt-builderreviewRequired Automated Checks
The following validation commands must pass before merging:
npm run lint:mdnpm run spell-checknpm run lint:frontmatternpm run validate:skillsnpm run lint:md-linksnpm run lint:psnpm run eval:lint:schemanpm run plugin:generatenpm run docs:testSecurity Considerations
Additional Notes