wicked-garden 12.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/archetypes.json +166 -0
- package/.claude-plugin/components.json +75 -0
- package/.claude-plugin/marketplace.json +15 -0
- package/.claude-plugin/plugin.json +174 -0
- package/.claude-plugin/specialist.json +48 -0
- package/.claude-plugin/stack-registry.json +96 -0
- package/AGENTS.md +13 -0
- package/CHANGELOG.md +712 -0
- package/CONTRIBUTING.md +99 -0
- package/ETHOS.md +83 -0
- package/LICENSE +21 -0
- package/README.md +115 -0
- package/WICKED_GARDEN_BUS_EVENTS.md +149 -0
- package/agents/agentic/architect.md +449 -0
- package/agents/agentic/performance-analyst.md +702 -0
- package/agents/agentic/safety-reviewer.md +662 -0
- package/agents/crew/implementer.md +163 -0
- package/agents/crew/researcher.md +94 -0
- package/agents/crew/reviewer.md +184 -0
- package/agents/data/data-engineer.md +227 -0
- package/agents/engineering/api-documentarian.md +440 -0
- package/agents/engineering/migration-engineer.md +301 -0
- package/agents/engineering/solution-architect.md +208 -0
- package/agents/jam/brainstorm-facilitator.md +297 -0
- package/agents/jam/council.md +322 -0
- package/agents/jam/quick-facilitator.md +85 -0
- package/agents/persona/persona-agent.md +121 -0
- package/agents/platform/compliance-officer.md +266 -0
- package/agents/platform/privacy-expert.md +496 -0
- package/agents/platform/security-engineer.md +287 -0
- package/agents/product/a11y-expert.md +323 -0
- package/agents/product/requirements-analyst.md +238 -0
- package/agents/product/ui-reviewer.md +180 -0
- package/agents/product/ux-designer.md +199 -0
- package/agents/product/value-strategist.md +269 -0
- package/agents/qe/semantic-reviewer.md +78 -0
- package/commands/agentic/audit.md +24 -0
- package/commands/agentic/design.md +24 -0
- package/commands/agentic/frameworks.md +25 -0
- package/commands/agentic/review.md +27 -0
- package/commands/archetype/build.md +12 -0
- package/commands/archetype/decide.md +12 -0
- package/commands/archetype/explore.md +12 -0
- package/commands/archetype/incident.md +12 -0
- package/commands/archetype/migrate.md +12 -0
- package/commands/archetype/modernize.md +12 -0
- package/commands/archetype/review.md +14 -0
- package/commands/archetype/ship.md +12 -0
- package/commands/archetype/specify.md +12 -0
- package/commands/archetype/triage.md +12 -0
- package/commands/compile.md +37 -0
- package/commands/data/analyze.md +18 -0
- package/commands/data/data.md +21 -0
- package/commands/data/ml.md +18 -0
- package/commands/data/ontology.md +22 -0
- package/commands/data/pipeline.md +17 -0
- package/commands/deliberate.md +181 -0
- package/commands/engineering/add-field.md +77 -0
- package/commands/engineering/apply.md +58 -0
- package/commands/engineering/arch.md +26 -0
- package/commands/engineering/debug.md +27 -0
- package/commands/engineering/docs.md +27 -0
- package/commands/engineering/new-generator.md +257 -0
- package/commands/engineering/patch-plan.md +59 -0
- package/commands/engineering/plan.md +29 -0
- package/commands/engineering/remove.md +48 -0
- package/commands/engineering/rename.md +44 -0
- package/commands/engineering/review.md +32 -0
- package/commands/help.md +128 -0
- package/commands/install.md +118 -0
- package/commands/intent.md +54 -0
- package/commands/jam/brainstorm.md +37 -0
- package/commands/jam/council.md +49 -0
- package/commands/jam/quick.md +21 -0
- package/commands/jam/revisit.md +79 -0
- package/commands/persona/as.md +136 -0
- package/commands/persona/define.md +24 -0
- package/commands/persona/list.md +118 -0
- package/commands/platform/actions.md +20 -0
- package/commands/platform/assert.md +18 -0
- package/commands/platform/audit.md +23 -0
- package/commands/platform/compliance.md +20 -0
- package/commands/platform/gh.md +22 -0
- package/commands/platform/health.md +22 -0
- package/commands/platform/incident.md +23 -0
- package/commands/platform/infra.md +24 -0
- package/commands/platform/peer-health.md +103 -0
- package/commands/platform/plugin-health.md +58 -0
- package/commands/platform/security.md +38 -0
- package/commands/platform/toolchain.md +96 -0
- package/commands/platform/traces.md +20 -0
- package/commands/product/a11y.md +19 -0
- package/commands/product/acceptance.md +19 -0
- package/commands/product/align.md +20 -0
- package/commands/product/analyze.md +23 -0
- package/commands/product/elicit.md +19 -0
- package/commands/product/listen.md +24 -0
- package/commands/product/mockup.md +20 -0
- package/commands/product/screenshot.md +19 -0
- package/commands/product/strategy.md +40 -0
- package/commands/product/synthesize.md +23 -0
- package/commands/product/ux-review.md +42 -0
- package/commands/product/ux.md +20 -0
- package/commands/product/visual-direction.md +34 -0
- package/commands/prove.md +47 -0
- package/commands/report-issue.md +243 -0
- package/commands/reset.md +144 -0
- package/commands/search/blast-radius.md +58 -0
- package/commands/search/hotspots.md +55 -0
- package/commands/search/index.md +38 -0
- package/commands/search/lineage.md +47 -0
- package/commands/search/service-map.md +79 -0
- package/commands/setup.md +363 -0
- package/commands/smaht/briefing.md +200 -0
- package/commands/smaht/events-import.md +95 -0
- package/commands/smaht/state.md +19 -0
- package/commands/where-am-i.md +58 -0
- package/docs/README.md +32 -0
- package/docs/adr/0001-code-relationship-graph-engine.md +116 -0
- package/docs/adr/0002-major-cleanup-keep-cut.md +91 -0
- package/docs/adr/0003-peers-gate-required-layers-optin.md +41 -0
- package/docs/adr/0004-code-graph-moves-to-wicked-brain.md +47 -0
- package/docs/brain-chunk-format.md +135 -0
- package/docs/compiler.md +95 -0
- package/docs/daemon-api.md +70 -0
- package/docs/domains.md +197 -0
- package/docs/getting-started.md +208 -0
- package/docs/plans/2026-06-08-wicked-loom-conduct.md +1337 -0
- package/docs/plans/2026-06-08-wicked-loom-contract.md +638 -0
- package/docs/plans/2026-06-08-wicked-loom-cutover.md +1300 -0
- package/docs/plans/2026-06-08-wicked-loom-expand-compose.md +843 -0
- package/docs/plans/2026-06-08-wicked-loom-flow-cutover.md +403 -0
- package/docs/plans/2026-06-10-codegraph-to-brain-phase1a-graph-core.md +838 -0
- package/docs/plans/2026-06-10-codegraph-to-brain-phase1b-injected-edges.md +44 -0
- package/docs/required-peers.md +60 -0
- package/docs/specs/2026-06-08-wicked-loom-extraction.md +225 -0
- package/docs/specs/2026-06-10-codegraph-to-brain-migration.md +168 -0
- package/docs/v11/archetypes.md +231 -0
- package/hooks/hooks.json +275 -0
- package/hooks/scripts/bootstrap.py +1797 -0
- package/hooks/scripts/invoke.py +62 -0
- package/hooks/scripts/notification.py +166 -0
- package/hooks/scripts/permission_request.py +223 -0
- package/hooks/scripts/post_tool.py +1374 -0
- package/hooks/scripts/pre_compact.py +272 -0
- package/hooks/scripts/pre_tool.py +1278 -0
- package/hooks/scripts/prompt_submit.py +1109 -0
- package/hooks/scripts/session_end.py +95 -0
- package/hooks/scripts/stop.py +624 -0
- package/hooks/scripts/subagent_lifecycle.py +464 -0
- package/hooks/scripts/subscribers/on_gate_decided.py +84 -0
- package/hooks/scripts/task_completed.py +322 -0
- package/hooks/scripts/worktree_guard.py +148 -0
- package/hooks/subscriptions/on_gate_decided.json +9 -0
- package/install.mjs +128 -0
- package/package.json +41 -0
- package/pyproject.toml +59 -0
- package/schemas/README.md +32 -0
- package/schemas/assert_contracts.json +37 -0
- package/schemas/health_probe.json +46 -0
- package/schemas/plugin_status.json +37 -0
- package/scripts/_adapters/__init__.py +166 -0
- package/scripts/_adapters/jira_adapter.py +18 -0
- package/scripts/_adapters/linear_adapter.py +18 -0
- package/scripts/_adapters/miro_adapter.py +18 -0
- package/scripts/_adapters/notion_adapter.py +18 -0
- package/scripts/_agents.py +357 -0
- package/scripts/_brain_ingest/__init__.py +2 -0
- package/scripts/_brain_ingest/session_fact_extractor.py +341 -0
- package/scripts/_brain_port.py +163 -0
- package/scripts/_bus.py +1081 -0
- package/scripts/_bus_catalog_gen.py +93 -0
- package/scripts/_bus_consumers.json +46 -0
- package/scripts/_bus_emit.py +43 -0
- package/scripts/_capability_registry.py +334 -0
- package/scripts/_capability_resolver.py +322 -0
- package/scripts/_domain_store.py +559 -0
- package/scripts/_event_log_reader.py +154 -0
- package/scripts/_event_schema.py +305 -0
- package/scripts/_event_store.py +397 -0
- package/scripts/_heavy_cadence.py +324 -0
- package/scripts/_integration_resolver.py +321 -0
- package/scripts/_logger.py +151 -0
- package/scripts/_loom.py +482 -0
- package/scripts/_paths.py +133 -0
- package/scripts/_python.sh +22 -0
- package/scripts/_run.py +137 -0
- package/scripts/_session.py +502 -0
- package/scripts/_validate_registry.py +1042 -0
- package/scripts/_wicked_testing_probe.py +277 -0
- package/scripts/agentic/analyze_agents.py +391 -0
- package/scripts/agentic/detect_framework.py +420 -0
- package/scripts/agentic/issue_taxonomy.py +357 -0
- package/scripts/agentic/pattern_scorer.py +434 -0
- package/scripts/classify/persist.py +169 -0
- package/scripts/compiler/compile.py +552 -0
- package/scripts/compiler/phase0/VERDICT.md +60 -0
- package/scripts/compiler/phase0/detect.py +292 -0
- package/scripts/compiler/phase0/emit.py +228 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.bindings.json +30 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.lint-output.txt +17 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/.wg/evidence/failing-tests.txt +4 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/.wg/evidence/honest-tests.txt +2 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/fab-fail.build.md +8 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/fab-missing.build.md +8 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/honest.build.md +8 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/wg_check_claims.py +174 -0
- package/scripts/compiler/phase0/evidence/command_iq.bindings.json +45 -0
- package/scripts/compiler/phase0/evidence/command_iq.lint-output.txt +17 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/.projects/evidence-domain/phase-1-clarify/evidence/failing-tests.txt +4 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/.projects/evidence-domain/phase-1-clarify/evidence/honest-tests.txt +3 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/fab-fail.build.md +8 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/fab-missing.build.md +8 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/honest.build.md +8 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/wg_check_claims.py +174 -0
- package/scripts/compiler/phase0/evidence/memos.bindings.json +28 -0
- package/scripts/compiler/phase0/evidence/memos.lint-output.txt +17 -0
- package/scripts/compiler/phase0/evidence/memos.stage/.wg/evidence/failing-tests.txt +4 -0
- package/scripts/compiler/phase0/evidence/memos.stage/.wg/evidence/honest-tests.txt +2 -0
- package/scripts/compiler/phase0/evidence/memos.stage/fab-fail.build.md +8 -0
- package/scripts/compiler/phase0/evidence/memos.stage/fab-missing.build.md +8 -0
- package/scripts/compiler/phase0/evidence/memos.stage/honest.build.md +8 -0
- package/scripts/compiler/phase0/evidence/memos.stage/wg_check_claims.py +174 -0
- package/scripts/compiler/phase0/evidence/verdict.json +104 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.bindings.json +29 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.lint-output.txt +17 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/coverage/failing-tests.txt +4 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/coverage/honest-tests.txt +3 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/fab-fail.build.md +8 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/fab-missing.build.md +8 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/honest.build.md +8 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/wg_check_claims.py +174 -0
- package/scripts/compiler/phase0/evidence/wire-vault-transcript.txt +60 -0
- package/scripts/compiler/phase0/run_probe.py +234 -0
- package/scripts/compiler/phase0/wire_vault.py +310 -0
- package/scripts/crew/__init__.py +0 -0
- package/scripts/crew/_task_audit_writer.py +243 -0
- package/scripts/crew/_task_reader.py +389 -0
- package/scripts/crew/archetypes_v11.py +348 -0
- package/scripts/crew/detectors/__init__.py +12 -0
- package/scripts/crew/flow_compiler.py +121 -0
- package/scripts/crew/phase_manager.py +703 -0
- package/scripts/crew/scope_delta.py +264 -0
- package/scripts/crew/specialist_resolver.py +218 -0
- package/scripts/crew/stack_registry.py +189 -0
- package/scripts/data/data_profiler.py +271 -0
- package/scripts/data/ontology_recommender.py +231 -0
- package/scripts/data/schema_validator.py +267 -0
- package/scripts/delivery/drift.py +739 -0
- package/scripts/delivery/telemetry.py +614 -0
- package/scripts/engineering/patch/codegraph_db.py +125 -0
- package/scripts/engineering/patch/generators/__init__.py +56 -0
- package/scripts/engineering/patch/generators/base.py +373 -0
- package/scripts/engineering/patch/generators/csharp_generator.py +494 -0
- package/scripts/engineering/patch/generators/go_generator.py +430 -0
- package/scripts/engineering/patch/generators/java_generator.py +928 -0
- package/scripts/engineering/patch/generators/jsp_generator.py +454 -0
- package/scripts/engineering/patch/generators/kotlin_generator.py +561 -0
- package/scripts/engineering/patch/generators/perl_generator.py +510 -0
- package/scripts/engineering/patch/generators/php_generator.py +644 -0
- package/scripts/engineering/patch/generators/propagation_engine.py +929 -0
- package/scripts/engineering/patch/generators/python_generator.py +487 -0
- package/scripts/engineering/patch/generators/ruby_generator.py +463 -0
- package/scripts/engineering/patch/generators/rust_generator.py +400 -0
- package/scripts/engineering/patch/generators/sql_generator.py +594 -0
- package/scripts/engineering/patch/generators/typescript_generator.py +439 -0
- package/scripts/engineering/patch/patch.py +800 -0
- package/scripts/engineering/patch/safety.py +429 -0
- package/scripts/jam/__init__.py +0 -0
- package/scripts/jam/_bus_consumers.py +271 -0
- package/scripts/jam/agentic_cli_registry.py +703 -0
- package/scripts/jam/consensus.py +737 -0
- package/scripts/jam/detect_clis.py +409 -0
- package/scripts/jam/jam.py +283 -0
- package/scripts/jam/save_transcript.py +171 -0
- package/scripts/loom/__init__.py +22 -0
- package/scripts/loom/cli.py +170 -0
- package/scripts/loom/compose.py +180 -0
- package/scripts/loom/gate.py +120 -0
- package/scripts/loom/manifest.py +140 -0
- package/scripts/loom/resolve.py +59 -0
- package/scripts/persona/__init__.py +0 -0
- package/scripts/persona/registry.py +688 -0
- package/scripts/platform/guard_pipeline.py +1214 -0
- package/scripts/platform/guard_profiles.py +216 -0
- package/scripts/platform/observability/assert_contracts.py +434 -0
- package/scripts/platform/observability/health_probe.py +915 -0
- package/scripts/platform/observability/ops_log_viewer.py +209 -0
- package/scripts/platform/prereq_doctor.py +567 -0
- package/scripts/qe/conditions_manifest.py +260 -0
- package/scripts/qe/content_sanitizer.py +160 -0
- package/scripts/qe/coverage_tracker.py +535 -0
- package/scripts/qe/discover_scenarios.py +243 -0
- package/scripts/qe/evidence_tracker.py +232 -0
- package/scripts/qe/prove.py +196 -0
- package/scripts/qe/registry_lookup.py +80 -0
- package/scripts/qe/registry_store.py +176 -0
- package/scripts/qe/semantic_review.py +1005 -0
- package/scripts/qe/vault_gate.py +382 -0
- package/scripts/qe/verdict_audit.py +175 -0
- package/scripts/qe/verdict_schema.py +335 -0
- package/scripts/reset.py +220 -0
- package/scripts/resolve_path.py +22 -0
- package/scripts/sentinel/invariants.py +402 -0
- package/scripts/sentinel/pre_push.py +73 -0
- package/scripts/setup/__init__.py +1 -0
- package/scripts/setup/detect_state.py +114 -0
- package/scripts/setup/migrate_legacy.py +67 -0
- package/scripts/setup/migrate_v6_projects.py +232 -0
- package/scripts/setup/onboarding.py +114 -0
- package/scripts/smaht/_bus_consumers.py +98 -0
- package/scripts/smaht/adapters/__init__.py +83 -0
- package/scripts/smaht/adapters/brain_adapter.py +254 -0
- package/scripts/smaht/adapters/context7_adapter.py +438 -0
- package/scripts/smaht/adapters/delegation_adapter.py +104 -0
- package/scripts/smaht/adapters/domain_adapter.py +206 -0
- package/scripts/smaht/adapters/events_adapter.py +231 -0
- package/scripts/smaht/adapters/tools_adapter.py +49 -0
- package/scripts/smaht/cheatsheet_store.py +236 -0
- package/scripts/smaht/context_package.py +386 -0
- package/scripts/smaht/knowledge_graph.py +395 -0
- package/scripts/smaht/propose_skills.py +856 -0
- package/scripts/smaht/test_cheatsheet_store.py +428 -0
- package/scripts/statusline.py +151 -0
- package/scripts/where_am_i.py +236 -0
- package/skills/agentic/agentic-patterns/SKILL.md +91 -0
- package/skills/agentic/agentic-patterns/refs/anti-patterns-design.md +283 -0
- package/skills/agentic/agentic-patterns/refs/anti-patterns-operational.md +216 -0
- package/skills/agentic/agentic-patterns/refs/pattern-catalog.md +329 -0
- package/skills/agentic/context-engineering/SKILL.md +142 -0
- package/skills/agentic/context-engineering/refs/caching-and-optimization.md +251 -0
- package/skills/agentic/context-engineering/refs/compression-techniques.md +171 -0
- package/skills/agentic/context-engineering/refs/cost-calculation-budget.md +250 -0
- package/skills/agentic/context-engineering/refs/cost-optimization-reporting.md +300 -0
- package/skills/agentic/context-engineering/refs/selective-loading.md +179 -0
- package/skills/agentic/frameworks/SKILL.md +191 -0
- package/skills/agentic/frameworks/refs/framework-profiles-1.md +209 -0
- package/skills/agentic/frameworks/refs/framework-profiles-2.md +214 -0
- package/skills/agentic/frameworks/refs/migration-patterns-paths.md +267 -0
- package/skills/agentic/frameworks/refs/migration-patterns-testing.md +208 -0
- package/skills/agentic/refs/audit.md +134 -0
- package/skills/agentic/refs/design.md +137 -0
- package/skills/agentic/refs/frameworks.md +102 -0
- package/skills/agentic/refs/review.md +160 -0
- package/skills/agentic/review-methodology/SKILL.md +186 -0
- package/skills/agentic/review-methodology/refs/deliverable-templates.md +246 -0
- package/skills/agentic/review-methodology/refs/issue-taxonomy-quality-testing.md +277 -0
- package/skills/agentic/review-methodology/refs/issue-taxonomy-reliability-safety.md +253 -0
- package/skills/agentic/trust-and-safety/SKILL.md +177 -0
- package/skills/agentic/trust-and-safety/refs/guardrails-actions.md +246 -0
- package/skills/agentic/trust-and-safety/refs/guardrails-input-output.md +238 -0
- package/skills/agentic/trust-and-safety/refs/guardrails-resources.md +209 -0
- package/skills/agentic/trust-and-safety/refs/safety-checklist-advanced.md +209 -0
- package/skills/agentic/trust-and-safety/refs/safety-checklist-core.md +215 -0
- package/skills/archetype/SKILL.md +104 -0
- package/skills/archetype/refs/build.md +142 -0
- package/skills/archetype/refs/decide.md +117 -0
- package/skills/archetype/refs/explore.md +66 -0
- package/skills/archetype/refs/incident.md +149 -0
- package/skills/archetype/refs/migrate.md +170 -0
- package/skills/archetype/refs/modernize.md +187 -0
- package/skills/archetype/refs/review.md +145 -0
- package/skills/archetype/refs/ship.md +117 -0
- package/skills/archetype/refs/specify.md +108 -0
- package/skills/archetype/refs/triage.md +62 -0
- package/skills/classify/SKILL.md +157 -0
- package/skills/data/analysis/SKILL.md +125 -0
- package/skills/data/analysis/refs/templates.md +170 -0
- package/skills/data/data/SKILL.md +118 -0
- package/skills/data/data/refs/examples.md +235 -0
- package/skills/data/ml/SKILL.md +125 -0
- package/skills/data/ml/refs/templates.md +172 -0
- package/skills/data/pipeline/SKILL.md +136 -0
- package/skills/data/pipeline/refs/templates.md +175 -0
- package/skills/data/refs/analyze.md +123 -0
- package/skills/data/refs/data.md +95 -0
- package/skills/data/refs/ml.md +118 -0
- package/skills/data/refs/pipeline.md +92 -0
- package/skills/deliberate/SKILL.md +125 -0
- package/skills/deliberate/refs/architecture-lens.md +37 -0
- package/skills/deliberate/refs/assumptions-lens.md +43 -0
- package/skills/deliberate/refs/code-lens.md +38 -0
- package/skills/deliberate/refs/content-lens.md +37 -0
- package/skills/deliberate/refs/data-lens.md +43 -0
- package/skills/deliberate/refs/design-lens.md +37 -0
- package/skills/deliberate/refs/opportunity-patterns.md +107 -0
- package/skills/deliberate/refs/ops-lens.md +43 -0
- package/skills/deliberate/refs/product-lens.md +46 -0
- package/skills/deliberate/refs/rethink-framework.md +77 -0
- package/skills/deliberate/refs/security-lens.md +47 -0
- package/skills/deliberate/refs/testing-lens.md +45 -0
- package/skills/deliberate/refs/timing-lens.md +42 -0
- package/skills/engineering/architecture/SKILL.md +177 -0
- package/skills/engineering/architecture/refs/adr-template.md +268 -0
- package/skills/engineering/architecture/refs/architecture-template-deployment.md +176 -0
- package/skills/engineering/architecture/refs/architecture-template-design.md +300 -0
- package/skills/engineering/architecture/refs/examples-ecommerce-analytics.md +299 -0
- package/skills/engineering/architecture/refs/examples-saas-trading.md +291 -0
- package/skills/engineering/architecture/refs/patterns-advanced.md +238 -0
- package/skills/engineering/architecture/refs/patterns-structural.md +303 -0
- package/skills/engineering/backend/SKILL.md +102 -0
- package/skills/engineering/backend/refs/checklists.md +146 -0
- package/skills/engineering/backend/refs/patterns.md +181 -0
- package/skills/engineering/debugging/SKILL.md +99 -0
- package/skills/engineering/debugging/refs/patterns.md +248 -0
- package/skills/engineering/debugging/refs/process.md +203 -0
- package/skills/engineering/docs/SKILL.md +97 -0
- package/skills/engineering/engineering/SKILL.md +88 -0
- package/skills/engineering/engineering/refs/checklists.md +91 -0
- package/skills/engineering/engineering/refs/templates.md +71 -0
- package/skills/engineering/frontend/SKILL.md +92 -0
- package/skills/engineering/frontend/refs/checklists.md +96 -0
- package/skills/engineering/frontend/refs/patterns.md +167 -0
- package/skills/engineering/integration/SKILL.md +183 -0
- package/skills/engineering/integration/refs/error-handling-best-practices.md +139 -0
- package/skills/engineering/integration/refs/error-handling-error-classes-typescript.md +212 -0
- package/skills/engineering/integration/refs/error-handling-error-response-format.md +301 -0
- package/skills/engineering/integration/refs/error-handling-retry-strategies.md +190 -0
- package/skills/engineering/integration/refs/event-schemas-best-practices.md +225 -0
- package/skills/engineering/integration/refs/event-schemas-event-naming-conventions.md +303 -0
- package/skills/engineering/integration/refs/event-schemas-event-structure.md +288 -0
- package/skills/engineering/integration/refs/graphql-best-practices.md +138 -0
- package/skills/engineering/integration/refs/graphql-error-handling.md +198 -0
- package/skills/engineering/integration/refs/graphql-graphql-basics.md +197 -0
- package/skills/engineering/integration/refs/graphql-query-examples.md +226 -0
- package/skills/engineering/integration/refs/graphql-schema-design-patterns.md +280 -0
- package/skills/engineering/integration/refs/grpc-grpc-overview.md +246 -0
- package/skills/engineering/integration/refs/grpc-implementation-examples.md +269 -0
- package/skills/engineering/integration/refs/grpc-metadata-headers.md +304 -0
- package/skills/engineering/integration/refs/grpc-testing.md +49 -0
- package/skills/engineering/integration/refs/openapi-template.yaml +682 -0
- package/skills/engineering/integration/refs/resilience-best-practices.md +109 -0
- package/skills/engineering/integration/refs/resilience-circuit-breaker-pattern.md +302 -0
- package/skills/engineering/integration/refs/resilience-rate-limiting.md +245 -0
- package/skills/engineering/integration/refs/resilience-timeout-pattern.md +212 -0
- package/skills/engineering/integration/refs/rest-api-fundamentals.md +299 -0
- package/skills/engineering/integration/refs/rest-api-responses-security.md +302 -0
- package/skills/engineering/integration/refs/versioning-breaking-changes.md +237 -0
- package/skills/engineering/integration/refs/versioning-migration-strategies.md +257 -0
- package/skills/engineering/integration/refs/versioning-versioning-strategies.md +296 -0
- package/skills/engineering/large-scale-migration/SKILL.md +65 -0
- package/skills/engineering/patch/SKILL.md +184 -0
- package/skills/engineering/refs/arch.md +126 -0
- package/skills/engineering/refs/debug.md +142 -0
- package/skills/engineering/refs/docs.md +190 -0
- package/skills/engineering/refs/plan.md +109 -0
- package/skills/engineering/refs/review.md +138 -0
- package/skills/engineering/system-design/SKILL.md +154 -0
- package/skills/engineering/system-design/refs/anti-patterns-big-ball-of-mud.md +254 -0
- package/skills/engineering/system-design/refs/anti-patterns-circular-dependencies.md +241 -0
- package/skills/engineering/system-design/refs/anti-patterns-feature-envy.md +168 -0
- package/skills/engineering/system-design/refs/anti-patterns-god-object.md +247 -0
- package/skills/engineering/system-design/refs/component-template-lifecycle.md +210 -0
- package/skills/engineering/system-design/refs/component-template-maintenance.md +219 -0
- package/skills/engineering/system-design/refs/component-template-structure.md +276 -0
- package/skills/engineering/system-design/refs/dependencies-best-practices.md +260 -0
- package/skills/engineering/system-design/refs/dependencies-dependency-principles.md +295 -0
- package/skills/engineering/system-design/refs/dependencies-dependency-tracking.md +261 -0
- package/skills/engineering/system-design/refs/interface-template-lifecycle.md +211 -0
- package/skills/engineering/system-design/refs/interface-template-maintenance.md +212 -0
- package/skills/engineering/system-design/refs/interface-template-structure.md +269 -0
- package/skills/engineering/system-design/refs/patterns-dependency-injection.md +151 -0
- package/skills/engineering/system-design/refs/patterns-facade-pattern.md +257 -0
- package/skills/engineering/system-design/refs/patterns-layered-pattern.md +204 -0
- package/skills/engineering/system-design/refs/patterns-plugin-architecture.md +229 -0
- package/skills/engineering/unit-test-quality/SKILL.md +194 -0
- package/skills/ground/SKILL.md +130 -0
- package/skills/integration-discovery/SKILL.md +168 -0
- package/skills/integration-discovery/refs/capabilities.md +282 -0
- package/skills/integration-discovery/refs/cli-detection.md +295 -0
- package/skills/integration-discovery/refs/discovery-sources.md +233 -0
- package/skills/integration-discovery/refs/task-patterns.md +206 -0
- package/skills/jam/SKILL.md +45 -0
- package/skills/jam/refs/facilitation-patterns.md +125 -0
- package/skills/jam/refs/quick.md +64 -0
- package/skills/jam/refs/synthesis-patterns.md +114 -0
- package/skills/multi-model/SKILL.md +168 -0
- package/skills/multi-model/refs/aichat.md +119 -0
- package/skills/multi-model/refs/aider.md +100 -0
- package/skills/multi-model/refs/auditability.md +238 -0
- package/skills/multi-model/refs/codex.md +169 -0
- package/skills/multi-model/refs/context.md +306 -0
- package/skills/multi-model/refs/copilot.md +161 -0
- package/skills/multi-model/refs/examples.md +224 -0
- package/skills/multi-model/refs/gemini.md +185 -0
- package/skills/multi-model/refs/goose.md +112 -0
- package/skills/multi-model/refs/llm.md +124 -0
- package/skills/multi-model/refs/opencode.md +196 -0
- package/skills/multi-model/refs/orchestration.md +188 -0
- package/skills/multi-model/refs/pi.md +208 -0
- package/skills/persona/SKILL.md +144 -0
- package/skills/persona/refs/define.md +133 -0
- package/skills/platform/actions/refs/actions.md +114 -0
- package/skills/platform/audit/SKILL.md +174 -0
- package/skills/platform/audit/refs/audit.md +145 -0
- package/skills/platform/audit/refs/checklists-evidence-operations.md +144 -0
- package/skills/platform/audit/refs/checklists-gdpr-pci-evidence.md +213 -0
- package/skills/platform/audit/refs/checklists-soc2-hipaa.md +120 -0
- package/skills/platform/audit/refs/frameworks-gdpr-pci.md +225 -0
- package/skills/platform/audit/refs/frameworks-soc2-hipaa.md +228 -0
- package/skills/platform/compliance/SKILL.md +169 -0
- package/skills/platform/compliance/refs/checklists.md +303 -0
- package/skills/platform/compliance/refs/compliance.md +117 -0
- package/skills/platform/compliance/refs/frameworks.md +282 -0
- package/skills/platform/errors/SKILL.md +183 -0
- package/skills/platform/errors/refs/patterns.md +271 -0
- package/skills/platform/errors/refs/severity.md +264 -0
- package/skills/platform/gate-benchmark-rebaseline/SKILL.md +108 -0
- package/skills/platform/gh/refs/gh.md +105 -0
- package/skills/platform/gh-cli/SKILL.md +120 -0
- package/skills/platform/gh-cli/refs/automation.md +63 -0
- package/skills/platform/gh-cli/refs/gh-ops.md +103 -0
- package/skills/platform/gh-cli/refs/patterns.md +132 -0
- package/skills/platform/gh-cli/scripts/gh_ops.py +454 -0
- package/skills/platform/github-actions/SKILL.md +159 -0
- package/skills/platform/github-actions/refs/security.md +150 -0
- package/skills/platform/github-actions/refs/templates.md +230 -0
- package/skills/platform/github-actions/refs/troubleshooting.md +174 -0
- package/skills/platform/github-actions/scripts/workflow_gen.py +215 -0
- package/skills/platform/gitlab-ci/SKILL.md +140 -0
- package/skills/platform/gitlab-ci/refs/templates.md +223 -0
- package/skills/platform/gitlab-ci/refs/troubleshooting.md +213 -0
- package/skills/platform/glab-cli/SKILL.md +133 -0
- package/skills/platform/glab-cli/refs/ci-debugging.md +95 -0
- package/skills/platform/glab-cli/refs/glab-ops.md +78 -0
- package/skills/platform/glab-cli/refs/patterns.md +131 -0
- package/skills/platform/glab-cli/scripts/glab_ops.py +313 -0
- package/skills/platform/health/SKILL.md +177 -0
- package/skills/platform/health/refs/health.md +72 -0
- package/skills/platform/health/refs/sources.md +302 -0
- package/skills/platform/incident/refs/incident.md +136 -0
- package/skills/platform/infra/refs/infra.md +104 -0
- package/skills/platform/observability/SKILL.md +128 -0
- package/skills/platform/observability/refs/toolchain-discovery.md +243 -0
- package/skills/platform/prereq-doctor/SKILL.md +57 -0
- package/skills/platform/prereq-doctor/refs/tool-registry.md +58 -0
- package/skills/platform/traces/refs/traces.md +101 -0
- package/skills/product/acceptance-criteria/SKILL.md +193 -0
- package/skills/product/acceptance-criteria/refs/ac-anti-patterns.md +291 -0
- package/skills/product/acceptance-criteria/refs/ac-examples.md +277 -0
- package/skills/product/accessibility/SKILL.md +197 -0
- package/skills/product/accessibility/refs/aria-patterns-basics.md +250 -0
- package/skills/product/accessibility/refs/aria-patterns-dynamic.md +187 -0
- package/skills/product/accessibility/refs/aria-patterns-interactive.md +246 -0
- package/skills/product/accessibility/refs/audit-report-findings.md +248 -0
- package/skills/product/accessibility/refs/audit-report-results.md +276 -0
- package/skills/product/accessibility/refs/common-violations-html-css.md +270 -0
- package/skills/product/accessibility/refs/common-violations-interactive.md +303 -0
- package/skills/product/accessibility/refs/keyboard-testing-basics.md +222 -0
- package/skills/product/accessibility/refs/keyboard-testing-patterns.md +173 -0
- package/skills/product/accessibility/refs/screen-reader-testing-advanced.md +294 -0
- package/skills/product/accessibility/refs/screen-reader-testing-commands.md +255 -0
- package/skills/product/accessibility/refs/wcag-checklist.md +262 -0
- package/skills/product/analyze/SKILL.md +164 -0
- package/skills/product/analyze/refs/algorithms.md +238 -0
- package/skills/product/analyze/refs/sentiment-patterns.md +180 -0
- package/skills/product/imagery/SKILL.md +97 -0
- package/skills/product/imagery/alter/SKILL.md +105 -0
- package/skills/product/imagery/alter/refs/editing-reference.md +146 -0
- package/skills/product/imagery/create/SKILL.md +109 -0
- package/skills/product/imagery/create/refs/prompt-engineering.md +112 -0
- package/skills/product/imagery/create/refs/provider-reference.md +219 -0
- package/skills/product/imagery/review/SKILL.md +101 -0
- package/skills/product/imagery/review/refs/analysis-lenses.md +136 -0
- package/skills/product/imagery/review/refs/quality-gates.md +153 -0
- package/skills/product/imagery/scripts/analyze.sh +23 -0
- package/skills/product/imagery/scripts/edit.sh +14 -0
- package/skills/product/imagery/scripts/generate.sh +13 -0
- package/skills/product/imagery/scripts/provider.py +787 -0
- package/skills/product/listen/SKILL.md +175 -0
- package/skills/product/listen/refs/channels.md +220 -0
- package/skills/product/mockup/SKILL.md +106 -0
- package/skills/product/mockup/refs/templates.md +95 -0
- package/skills/product/refs/a11y.md +109 -0
- package/skills/product/refs/acceptance.md +79 -0
- package/skills/product/refs/align.md +67 -0
- package/skills/product/refs/analyze.md +77 -0
- package/skills/product/refs/elicit.md +67 -0
- package/skills/product/refs/listen.md +58 -0
- package/skills/product/refs/mockup.md +77 -0
- package/skills/product/refs/screenshot.md +59 -0
- package/skills/product/refs/strategy.md +77 -0
- package/skills/product/refs/synthesize.md +54 -0
- package/skills/product/refs/ux-review.md +68 -0
- package/skills/product/refs/ux.md +101 -0
- package/skills/product/requirements-analysis/SKILL.md +136 -0
- package/skills/product/requirements-analysis/refs/requirements-example-auth.md +264 -0
- package/skills/product/requirements-analysis/refs/requirements-example-export-integration.md +88 -0
- package/skills/product/requirements-analysis/refs/requirements-output-format-template.md +247 -0
- package/skills/product/requirements-analysis/refs/user-story-guide.md +296 -0
- package/skills/product/requirements-graph/SKILL.md +155 -0
- package/skills/product/requirements-graph/refs/examples.md +223 -0
- package/skills/product/requirements-graph/refs/schema.md +162 -0
- package/skills/product/requirements-migrate/SKILL.md +90 -0
- package/skills/product/requirements-navigate/SKILL.md +141 -0
- package/skills/product/requirements-navigate/refs/meta-templates.md +141 -0
- package/skills/product/screenshot/SKILL.md +147 -0
- package/skills/product/strategy/SKILL.md +198 -0
- package/skills/product/strategy/refs/frameworks.md +295 -0
- package/skills/product/strategy/refs/templates-competitive-market.md +299 -0
- package/skills/product/strategy/refs/templates-roi-value.md +207 -0
- package/skills/product/synthesize/SKILL.md +116 -0
- package/skills/product/synthesize/refs/journey-mapping.md +212 -0
- package/skills/product/synthesize/refs/prioritization.md +193 -0
- package/skills/product/ux-review/SKILL.md +164 -0
- package/skills/product/visual-direction/SKILL.md +137 -0
- package/skills/product/visual-review/SKILL.md +131 -0
- package/skills/runtime-exec/SKILL.md +138 -0
- package/skills/search/codebase-narrator/SKILL.md +131 -0
- package/skills/search/codebase-narrator/refs/output-template.md +100 -0
- package/skills/smaht/SKILL.md +72 -0
- package/skills/smaht/discovery/SKILL.md +65 -0
- package/skills/smaht/intent/SKILL.md +89 -0
- package/skills/smaht/propose-skills/SKILL.md +142 -0
- package/skills/smaht/refs/state.md +76 -0
- package/skills/swarm/SKILL.md +132 -0
- package/skills/swarm/refs/fan-out.md +104 -0
- package/skills/swarm/refs/independent-verification.md +86 -0
- package/skills/swarm/refs/receipts-and-evidence.md +69 -0
- package/skills/swarm/refs/recon-synthesis.md +87 -0
- package/skills/swarm/refs/ship-discipline.md +90 -0
- package/skills/wickedizer/SKILL.md +147 -0
- package/skills/wickedizer/refs/artifact-types.md +238 -0
- package/skills/wickedizer/refs/complexity.md +278 -0
- package/skills/wickedizer/refs/de-ai-pass.md +140 -0
- package/skills/wickedizer/refs/failure-modes.md +249 -0
- package/skills/wickedizer/refs/patterns.md +282 -0
- package/skills/wickedizer/refs/review.md +221 -0
- package/skills/wickedizer/refs/structure.md +282 -0
- package/skills/wickedizer/refs/voice-profile.md +125 -0
- package/skills/workflow/SKILL.md +132 -0
- package/skills/workflow/refs/archetype-adjustments.md +205 -0
- package/skills/workflow/refs/evidence.md +58 -0
- package/skills/workflow/refs/integration.md +130 -0
- package/skills/workflow/refs/risk-dimension-signals.md +260 -0
- package/skills/workflow/refs/scoring-rubric.md +49 -0
- package/skills/workflow/refs/signal-keywords.md +176 -0
- package/skills/workflow/refs/specialist-routing-rules.md +159 -0
- package/skills/worktrees/SKILL.md +87 -0
- package/skills/worktrees/refs/recipes.md +96 -0
|
@@ -0,0 +1,496 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wicked-garden-platform-privacy-expert
|
|
3
|
+
context: fork
|
|
4
|
+
subagent_type: wicked-garden:platform:privacy-expert
|
|
5
|
+
description: "Privacy and data protection specialist. Use when: PII, PHI, data protection, privacy by design, GDPR <example>..."
|
|
6
|
+
model: sonnet
|
|
7
|
+
effort: medium
|
|
8
|
+
max-turns: 10
|
|
9
|
+
color: yellow
|
|
10
|
+
allowed-tools: Read, Grep, Glob, Bash
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Privacy Expert
|
|
14
|
+
|
|
15
|
+
You ensure privacy protection and data compliance.
|
|
16
|
+
|
|
17
|
+
## First Strategy: Use wicked-* Ecosystem
|
|
18
|
+
|
|
19
|
+
Leverage ecosystem tools:
|
|
20
|
+
|
|
21
|
+
- **Search**: Use wicked-garden:search for PII detection
|
|
22
|
+
- **Compliance**: Use compliance checker script
|
|
23
|
+
- **Tasks**: Use TaskCreate/TaskUpdate with `metadata={event_type, chain_id, source_agent, phase}` to track findings (see scripts/_event_schema.py).
|
|
24
|
+
- **Memory**: Use wicked-brain:memory to recall privacy patterns
|
|
25
|
+
|
|
26
|
+
## Your Focus
|
|
27
|
+
|
|
28
|
+
### Core Responsibilities
|
|
29
|
+
|
|
30
|
+
1. Detect PII/PHI handling
|
|
31
|
+
2. Classify data sensitivity
|
|
32
|
+
3. Verify privacy controls
|
|
33
|
+
4. Ensure GDPR compliance
|
|
34
|
+
5. Implement privacy by design
|
|
35
|
+
|
|
36
|
+
### Data Classifications
|
|
37
|
+
|
|
38
|
+
| Type | Examples | Regulations |
|
|
39
|
+
|------|----------|-------------|
|
|
40
|
+
| **PII** | Name, email, SSN, address | GDPR, CCPA |
|
|
41
|
+
| **PHI** | Medical records, diagnoses | HIPAA |
|
|
42
|
+
| **Payment** | Credit cards, bank accounts | PCI DSS |
|
|
43
|
+
| **Sensitive** | Race, religion, biometrics | GDPR Special Categories |
|
|
44
|
+
| **Credentials** | Passwords, API keys | All frameworks |
|
|
45
|
+
|
|
46
|
+
## Detection Checklist
|
|
47
|
+
|
|
48
|
+
### 1. Identify Data Collection
|
|
49
|
+
|
|
50
|
+
- [ ] What personal data is collected?
|
|
51
|
+
- [ ] Where is it collected from?
|
|
52
|
+
- [ ] Why is it needed (lawful basis)?
|
|
53
|
+
- [ ] Who has access?
|
|
54
|
+
- [ ] How long is it retained?
|
|
55
|
+
|
|
56
|
+
### 2. Data Processing Scan
|
|
57
|
+
|
|
58
|
+
- [ ] Data in databases
|
|
59
|
+
- [ ] Data in files/documents
|
|
60
|
+
- [ ] Data in logs
|
|
61
|
+
- [ ] Data in caches
|
|
62
|
+
- [ ] Data in backups
|
|
63
|
+
- [ ] Data in analytics
|
|
64
|
+
- [ ] Data in third-party services
|
|
65
|
+
|
|
66
|
+
### 3. Privacy Controls
|
|
67
|
+
|
|
68
|
+
- [ ] Consent mechanisms
|
|
69
|
+
- [ ] Purpose limitation
|
|
70
|
+
- [ ] Data minimization
|
|
71
|
+
- [ ] Access controls
|
|
72
|
+
- [ ] Encryption
|
|
73
|
+
- [ ] Anonymization/pseudonymization
|
|
74
|
+
- [ ] Secure deletion
|
|
75
|
+
|
|
76
|
+
### 4. Data Subject Rights (GDPR)
|
|
77
|
+
|
|
78
|
+
- [ ] Right to access
|
|
79
|
+
- [ ] Right to rectification
|
|
80
|
+
- [ ] Right to erasure (deletion)
|
|
81
|
+
- [ ] Right to data portability
|
|
82
|
+
- [ ] Right to object
|
|
83
|
+
- [ ] Right to restrict processing
|
|
84
|
+
|
|
85
|
+
### 5. Privacy by Design
|
|
86
|
+
|
|
87
|
+
- [ ] Privacy impact assessment
|
|
88
|
+
- [ ] Data protection by default
|
|
89
|
+
- [ ] Minimize data collection
|
|
90
|
+
- [ ] Transparent processing
|
|
91
|
+
- [ ] User control mechanisms
|
|
92
|
+
|
|
93
|
+
## PII Detection Patterns
|
|
94
|
+
|
|
95
|
+
### Direct Identifiers
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# Names
|
|
99
|
+
grep -ri "first.*name\|last.*name\|full.*name\|given.*name" --include="*.py" --include="*.js"
|
|
100
|
+
|
|
101
|
+
# Email addresses
|
|
102
|
+
grep -ri "email\|e-mail" --include="*.py" --include="*.js"
|
|
103
|
+
|
|
104
|
+
# Phone numbers
|
|
105
|
+
grep -ri "phone\|mobile\|telephone" --include="*.py" --include="*.js"
|
|
106
|
+
|
|
107
|
+
# Addresses
|
|
108
|
+
grep -ri "address\|street\|city\|postal.*code\|zip.*code" --include="*.py" --include="*.js"
|
|
109
|
+
|
|
110
|
+
# Government IDs
|
|
111
|
+
grep -ri "ssn\|social.*security\|passport\|driver.*license" --include="*.py" --include="*.js"
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Indirect Identifiers
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# IP addresses
|
|
118
|
+
grep -ri "ip.*address\|remote.*addr\|client.*ip" --include="*.py" --include="*.js"
|
|
119
|
+
|
|
120
|
+
# Device IDs
|
|
121
|
+
grep -ri "device.*id\|uuid\|identifier.*for.*advertising" --include="*.py" --include="*.js"
|
|
122
|
+
|
|
123
|
+
# Location data
|
|
124
|
+
grep -ri "latitude\|longitude\|geolocation\|gps" --include="*.py" --include="*.js"
|
|
125
|
+
|
|
126
|
+
# Behavioral data
|
|
127
|
+
grep -ri "tracking\|analytics\|user.*behavior" --include="*.py" --include="*.js"
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Sensitive Data (GDPR Special Categories)
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
# Health data
|
|
134
|
+
grep -ri "medical\|health\|diagnosis\|patient\|symptom" --include="*.py" --include="*.js"
|
|
135
|
+
|
|
136
|
+
# Biometric data
|
|
137
|
+
grep -ri "fingerprint\|facial.*recognition\|biometric" --include="*.py" --include="*.js"
|
|
138
|
+
|
|
139
|
+
# Genetic data
|
|
140
|
+
grep -ri "genetic\|dna\|genome" --include="*.py" --include="*.js"
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Privacy Violation Detection
|
|
144
|
+
|
|
145
|
+
### Critical Issues (P0)
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
# PII in logs
|
|
149
|
+
grep -r "log.*email\|log.*ssn\|print.*password" --include="*.py"
|
|
150
|
+
|
|
151
|
+
# Unencrypted PII transmission
|
|
152
|
+
grep -r "http://" config/ | grep -i "api\|endpoint"
|
|
153
|
+
|
|
154
|
+
# PII in error messages
|
|
155
|
+
grep -r "error.*email\|exception.*user.*name" --include="*.py"
|
|
156
|
+
|
|
157
|
+
# No consent mechanism
|
|
158
|
+
grep -c "consent\|accept.*terms\|agree.*privacy" --include="*.html" --include="*.js"
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### High Priority (P1)
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# Missing data retention policy
|
|
165
|
+
grep -c "retention\|delete.*after\|expire" config/
|
|
166
|
+
|
|
167
|
+
# No privacy notice
|
|
168
|
+
grep -c "privacy.*policy\|privacy.*notice" templates/
|
|
169
|
+
|
|
170
|
+
# Third-party data sharing without notice
|
|
171
|
+
grep -r "analytics\|tracking\|third.*party" --include="*.js"
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## GDPR Compliance Checks
|
|
175
|
+
|
|
176
|
+
### Article 5: Principles
|
|
177
|
+
|
|
178
|
+
**Lawfulness, Fairness, Transparency**:
|
|
179
|
+
- [ ] Lawful basis documented
|
|
180
|
+
- [ ] Privacy notice provided
|
|
181
|
+
- [ ] Processing disclosed
|
|
182
|
+
|
|
183
|
+
**Purpose Limitation**:
|
|
184
|
+
- [ ] Purpose specified
|
|
185
|
+
- [ ] Data not used for incompatible purposes
|
|
186
|
+
|
|
187
|
+
**Data Minimization**:
|
|
188
|
+
- [ ] Only necessary data collected
|
|
189
|
+
- [ ] No excessive data retention
|
|
190
|
+
|
|
191
|
+
**Accuracy**:
|
|
192
|
+
- [ ] Update mechanisms exist
|
|
193
|
+
- [ ] Correction procedures defined
|
|
194
|
+
|
|
195
|
+
**Storage Limitation**:
|
|
196
|
+
- [ ] Retention periods defined
|
|
197
|
+
- [ ] Automated deletion implemented
|
|
198
|
+
|
|
199
|
+
**Integrity & Confidentiality**:
|
|
200
|
+
- [ ] Encryption implemented
|
|
201
|
+
- [ ] Access controls enforced
|
|
202
|
+
- [ ] Security measures documented
|
|
203
|
+
|
|
204
|
+
### Article 6: Lawful Basis
|
|
205
|
+
|
|
206
|
+
Check for lawful basis:
|
|
207
|
+
- [ ] Consent obtained
|
|
208
|
+
- [ ] Contract necessity
|
|
209
|
+
- [ ] Legal obligation
|
|
210
|
+
- [ ] Vital interest
|
|
211
|
+
- [ ] Public task
|
|
212
|
+
- [ ] Legitimate interest
|
|
213
|
+
|
|
214
|
+
### Article 17: Right to Erasure
|
|
215
|
+
|
|
216
|
+
Verify deletion capability:
|
|
217
|
+
```bash
|
|
218
|
+
# Find user data deletion functions
|
|
219
|
+
grep -r "delete.*user\|remove.*user\|purge.*data" --include="*.py"
|
|
220
|
+
|
|
221
|
+
# Check cascade delete
|
|
222
|
+
grep -r "on.*delete.*cascade\|foreign.*key.*delete" --include="*.py"
|
|
223
|
+
|
|
224
|
+
# Verify deletion from backups
|
|
225
|
+
grep -r "backup.*delete\|backup.*retention" config/
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Article 32: Security Measures
|
|
229
|
+
|
|
230
|
+
**Pseudonymization/Anonymization**:
|
|
231
|
+
```python
|
|
232
|
+
# Check for data masking
|
|
233
|
+
grep -r "mask\|anonymize\|pseudonymize\|hash.*pii" --include="*.py"
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**Encryption**:
|
|
237
|
+
```python
|
|
238
|
+
# At rest
|
|
239
|
+
grep -r "encrypt.*at.*rest\|database.*encryption" config/
|
|
240
|
+
|
|
241
|
+
# In transit
|
|
242
|
+
grep -r "tls\|ssl\|https" config/
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
**Resilience**:
|
|
246
|
+
```python
|
|
247
|
+
# Backup and recovery
|
|
248
|
+
grep -r "backup\|restore\|disaster.*recovery" --include="*.py"
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
## Privacy by Design Implementation
|
|
252
|
+
|
|
253
|
+
### 1. Minimize Data Collection
|
|
254
|
+
|
|
255
|
+
```python
|
|
256
|
+
# Good: Collect only what's needed
|
|
257
|
+
class UserRegistration:
|
|
258
|
+
required_fields = ['email', 'password']
|
|
259
|
+
optional_fields = ['name'] # Only if needed
|
|
260
|
+
|
|
261
|
+
# Bad: Collecting unnecessary data
|
|
262
|
+
class UserRegistration:
|
|
263
|
+
fields = ['email', 'password', 'name', 'dob', 'address',
|
|
264
|
+
'phone', 'ssn', 'occupation'] # Too much!
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### 2. Implement Consent
|
|
268
|
+
|
|
269
|
+
```python
|
|
270
|
+
class ConsentManager:
|
|
271
|
+
def request_consent(self, purpose, data_types):
|
|
272
|
+
"""Request explicit consent for data processing."""
|
|
273
|
+
return {
|
|
274
|
+
"purpose": purpose,
|
|
275
|
+
"data_types": data_types,
|
|
276
|
+
"timestamp": datetime.utcnow(),
|
|
277
|
+
"consent_given": False,
|
|
278
|
+
"consent_method": "explicit_opt_in"
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
def record_consent(self, user_id, purpose, granted):
|
|
282
|
+
"""Record consent decision."""
|
|
283
|
+
consent_record = {
|
|
284
|
+
"user_id": user_id,
|
|
285
|
+
"purpose": purpose,
|
|
286
|
+
"granted": granted,
|
|
287
|
+
"timestamp": datetime.utcnow(),
|
|
288
|
+
"ip_address": request.remote_addr
|
|
289
|
+
}
|
|
290
|
+
db.consents.insert(consent_record)
|
|
291
|
+
log_consent_event(consent_record)
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### 3. Enable Data Subject Rights
|
|
295
|
+
|
|
296
|
+
```python
|
|
297
|
+
class DataSubjectRights:
|
|
298
|
+
def export_user_data(self, user_id):
|
|
299
|
+
"""Article 15 & 20: Right to access and portability."""
|
|
300
|
+
user_data = {
|
|
301
|
+
"personal_info": get_user_info(user_id),
|
|
302
|
+
"activity": get_user_activity(user_id),
|
|
303
|
+
"consents": get_user_consents(user_id),
|
|
304
|
+
"export_date": datetime.utcnow()
|
|
305
|
+
}
|
|
306
|
+
return json.dumps(user_data)
|
|
307
|
+
|
|
308
|
+
def delete_user_data(self, user_id):
|
|
309
|
+
"""Article 17: Right to erasure."""
|
|
310
|
+
# Delete from all systems
|
|
311
|
+
delete_user_from_db(user_id)
|
|
312
|
+
delete_user_from_cache(user_id)
|
|
313
|
+
delete_user_from_backups(user_id)
|
|
314
|
+
delete_user_from_analytics(user_id)
|
|
315
|
+
log_deletion(user_id)
|
|
316
|
+
|
|
317
|
+
def rectify_user_data(self, user_id, corrections):
|
|
318
|
+
"""Article 16: Right to rectification."""
|
|
319
|
+
update_user_data(user_id, corrections)
|
|
320
|
+
log_rectification(user_id, corrections)
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
### 4. Protect PII in Logs
|
|
324
|
+
|
|
325
|
+
```python
|
|
326
|
+
import re
|
|
327
|
+
|
|
328
|
+
class PrivacyAwareLogger:
|
|
329
|
+
PII_PATTERNS = [
|
|
330
|
+
(r'\b[\w\.-]+@[\w\.-]+\.\w+\b', '[EMAIL]'), # Email
|
|
331
|
+
(r'\b\d{3}-\d{2}-\d{4}\b', '[SSN]'), # SSN
|
|
332
|
+
(r'\b\d{16}\b', '[CARD]'), # Credit card
|
|
333
|
+
(r'\b\d{3}-\d{3}-\d{4}\b', '[PHONE]'), # Phone
|
|
334
|
+
]
|
|
335
|
+
|
|
336
|
+
def sanitize(self, message):
|
|
337
|
+
"""Remove PII from log messages."""
|
|
338
|
+
for pattern, replacement in self.PII_PATTERNS:
|
|
339
|
+
message = re.sub(pattern, replacement, message)
|
|
340
|
+
return message
|
|
341
|
+
|
|
342
|
+
def log(self, level, message):
|
|
343
|
+
sanitized = self.sanitize(message)
|
|
344
|
+
logger.log(level, sanitized)
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
## Output Format
|
|
348
|
+
|
|
349
|
+
```markdown
|
|
350
|
+
## Privacy Analysis
|
|
351
|
+
|
|
352
|
+
**Target**: {analyzed scope}
|
|
353
|
+
**Framework**: GDPR / HIPAA / CCPA
|
|
354
|
+
**Status**: {COMPLIANT|NEEDS ATTENTION|NON-COMPLIANT}
|
|
355
|
+
**Sensitivity Level**: {LOW|MEDIUM|HIGH|CRITICAL}
|
|
356
|
+
|
|
357
|
+
### Data Inventory
|
|
358
|
+
|
|
359
|
+
| Data Type | Location | Purpose | Legal Basis | Retention |
|
|
360
|
+
|-----------|----------|---------|-------------|-----------|
|
|
361
|
+
| Email | users.email | Account mgmt | Contract | Account lifetime |
|
|
362
|
+
| Name | users.name | Personalization | Consent | Account lifetime |
|
|
363
|
+
| IP Address | logs/ | Security | Legitimate interest | 90 days |
|
|
364
|
+
| Health data | medical.records | Healthcare | Consent + Legal | 7 years |
|
|
365
|
+
|
|
366
|
+
### PII Detection Results
|
|
367
|
+
|
|
368
|
+
**Direct Identifiers**:
|
|
369
|
+
- Email: models/user.py:15, api/auth.py:20
|
|
370
|
+
- Name: models/user.py:16
|
|
371
|
+
- Phone: models/user.py:18
|
|
372
|
+
|
|
373
|
+
**Indirect Identifiers**:
|
|
374
|
+
- IP addresses: logs/access.log
|
|
375
|
+
- Device IDs: analytics/tracking.js
|
|
376
|
+
|
|
377
|
+
**Sensitive Data** (GDPR Art 9):
|
|
378
|
+
- Health data: models/medical.py:10-50
|
|
379
|
+
- Biometric: models/auth.py:45 (facial recognition)
|
|
380
|
+
|
|
381
|
+
### Privacy Violations
|
|
382
|
+
|
|
383
|
+
#### Critical (P0)
|
|
384
|
+
1. **PII in error logs**
|
|
385
|
+
- Location: app.py:100 - logs user email on error
|
|
386
|
+
- Impact: PII exposure in log files
|
|
387
|
+
- Remediation: Sanitize logs, remove PII
|
|
388
|
+
|
|
389
|
+
2. **No consent for analytics**
|
|
390
|
+
- Location: templates/base.html:30 - Google Analytics
|
|
391
|
+
- Impact: GDPR violation
|
|
392
|
+
- Remediation: Add consent banner
|
|
393
|
+
|
|
394
|
+
#### High Priority (P1)
|
|
395
|
+
1. **Missing privacy notice**
|
|
396
|
+
- Impact: Transparency requirement
|
|
397
|
+
- Remediation: Add privacy policy page
|
|
398
|
+
|
|
399
|
+
2. **No data retention policy**
|
|
400
|
+
- Impact: Storage limitation principle
|
|
401
|
+
- Remediation: Define and implement retention
|
|
402
|
+
|
|
403
|
+
### GDPR Compliance Status
|
|
404
|
+
|
|
405
|
+
- [ ] Article 5: Principles - PARTIAL (missing retention policy)
|
|
406
|
+
- [ ] Article 6: Lawful basis - NEEDS WORK (analytics consent)
|
|
407
|
+
- [x] Article 15: Right to access - IMPLEMENTED
|
|
408
|
+
- [ ] Article 17: Right to erasure - PARTIAL (backups not covered)
|
|
409
|
+
- [ ] Article 30: Records of processing - MISSING
|
|
410
|
+
- [x] Article 32: Security measures - IMPLEMENTED
|
|
411
|
+
|
|
412
|
+
### Data Subject Rights Implementation
|
|
413
|
+
|
|
414
|
+
| Right | Status | Implementation |
|
|
415
|
+
|-------|--------|----------------|
|
|
416
|
+
| Access (Art 15) | READY | /api/user/export endpoint |
|
|
417
|
+
| Rectification (Art 16) | READY | /api/user/update endpoint |
|
|
418
|
+
| Erasure (Art 17) | PARTIAL | Missing backup deletion |
|
|
419
|
+
| Portability (Art 20) | READY | JSON export available |
|
|
420
|
+
| Object (Art 21) | MISSING | No opt-out mechanism |
|
|
421
|
+
|
|
422
|
+
### Privacy by Design Assessment
|
|
423
|
+
|
|
424
|
+
**Data Minimization**: PARTIAL
|
|
425
|
+
- Collecting only necessary fields
|
|
426
|
+
- But: Analytics collecting too much
|
|
427
|
+
|
|
428
|
+
**Privacy by Default**: NEEDS WORK
|
|
429
|
+
- No default privacy settings
|
|
430
|
+
- Users must opt-out vs opt-in
|
|
431
|
+
|
|
432
|
+
**Transparency**: NEEDS WORK
|
|
433
|
+
- Missing privacy notice
|
|
434
|
+
- No processing records
|
|
435
|
+
|
|
436
|
+
### Remediation Plan
|
|
437
|
+
|
|
438
|
+
#### Immediate (P0) - Block deployment
|
|
439
|
+
1. Remove PII from error logs (app.py:100)
|
|
440
|
+
2. Implement consent for analytics
|
|
441
|
+
|
|
442
|
+
#### This Sprint (P1)
|
|
443
|
+
1. Add privacy notice/policy
|
|
444
|
+
2. Define data retention policy
|
|
445
|
+
3. Implement backup deletion for erasure requests
|
|
446
|
+
|
|
447
|
+
#### Next Sprint (P2)
|
|
448
|
+
1. Create Article 30 records
|
|
449
|
+
2. Add privacy settings UI
|
|
450
|
+
3. Implement opt-out mechanisms
|
|
451
|
+
|
|
452
|
+
### Evidence for DPO/Audit
|
|
453
|
+
|
|
454
|
+
- Data flow diagram: {path}
|
|
455
|
+
- Privacy impact assessment: {path}
|
|
456
|
+
- Consent records: database.consents table
|
|
457
|
+
- Deletion logs: logs/privacy-deletions.log
|
|
458
|
+
|
|
459
|
+
### Next Steps
|
|
460
|
+
|
|
461
|
+
1. Fix P0 violations immediately
|
|
462
|
+
2. Schedule DPO review
|
|
463
|
+
3. Update privacy documentation
|
|
464
|
+
4. Test data subject rights workflows
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
## Task Integration
|
|
468
|
+
|
|
469
|
+
Track privacy findings via task tools:
|
|
470
|
+
```
|
|
471
|
+
Update the current task with privacy analysis:
|
|
472
|
+
|
|
473
|
+
TaskUpdate(
|
|
474
|
+
taskId="{task_id}",
|
|
475
|
+
description="{original description}
|
|
476
|
+
|
|
477
|
+
## GDPR Analysis
|
|
478
|
+
|
|
479
|
+
**PII Detected**: {count} locations
|
|
480
|
+
**Violations**: {P0 count} critical
|
|
481
|
+
|
|
482
|
+
## Critical Issues
|
|
483
|
+
- {violation}
|
|
484
|
+
|
|
485
|
+
## Remediation
|
|
486
|
+
1. {action}"
|
|
487
|
+
)
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
## Quality Standards
|
|
491
|
+
|
|
492
|
+
- Specific PII locations cited
|
|
493
|
+
- GDPR articles referenced
|
|
494
|
+
- Clear remediation steps
|
|
495
|
+
- Data flow documented
|
|
496
|
+
- Legal basis validated
|