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,277 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase_relevance: ["design", "review"]
|
|
3
|
+
archetype_relevance: ["*"]
|
|
4
|
+
---
|
|
5
|
+
# Issue Taxonomy: Performance, Quality, Observability & Testing
|
|
6
|
+
|
|
7
|
+
Issue categories for agentic system reviews covering performance, code quality, observability, testing, and severity guidelines.
|
|
8
|
+
|
|
9
|
+
## Category 5: Performance Issues
|
|
10
|
+
|
|
11
|
+
Issues affecting system speed and throughput.
|
|
12
|
+
|
|
13
|
+
### P-001: Sequential Bottlenecks
|
|
14
|
+
**Description:** Operations run serially when could be parallel
|
|
15
|
+
**Severity:** Medium
|
|
16
|
+
**Impact:** Slow response times
|
|
17
|
+
**Example:**
|
|
18
|
+
```python
|
|
19
|
+
# Bad
|
|
20
|
+
result1 = await task1()
|
|
21
|
+
result2 = await task2() # Could run in parallel
|
|
22
|
+
|
|
23
|
+
# Good
|
|
24
|
+
result1, result2 = await asyncio.gather(task1(), task2())
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### P-002: No Connection Pooling
|
|
28
|
+
**Description:** Creating new connections for each request
|
|
29
|
+
**Severity:** Medium
|
|
30
|
+
**Impact:** High latency, resource waste
|
|
31
|
+
**Fix:** Use connection pools
|
|
32
|
+
|
|
33
|
+
### P-003: Blocking I/O
|
|
34
|
+
**Description:** Synchronous I/O blocking event loop
|
|
35
|
+
**Severity:** Medium
|
|
36
|
+
**Impact:** Poor concurrency, slow throughput
|
|
37
|
+
**Fix:** Use async I/O
|
|
38
|
+
|
|
39
|
+
### P-004: No Load Balancing
|
|
40
|
+
**Description:** All traffic to single instance
|
|
41
|
+
**Severity:** Medium
|
|
42
|
+
**Impact:** Single instance saturated
|
|
43
|
+
**Fix:** Distribute load across instances
|
|
44
|
+
|
|
45
|
+
### P-005: Memory Leaks
|
|
46
|
+
**Description:** Memory usage grows over time
|
|
47
|
+
**Severity:** High
|
|
48
|
+
**Impact:** System becomes slow, eventually crashes
|
|
49
|
+
**Fix:** Identify and fix leaks, add memory monitoring
|
|
50
|
+
|
|
51
|
+
### P-006: N+1 Queries
|
|
52
|
+
**Description:** Making N database queries when 1 would suffice
|
|
53
|
+
**Severity:** Medium
|
|
54
|
+
**Impact:** High database load, slow responses
|
|
55
|
+
**Fix:** Use joins, batch queries
|
|
56
|
+
|
|
57
|
+
## Category 6: Code Quality Issues
|
|
58
|
+
|
|
59
|
+
Issues affecting maintainability and readability.
|
|
60
|
+
|
|
61
|
+
### Q-001: Hardcoded Prompts
|
|
62
|
+
**Description:** Prompts embedded in code
|
|
63
|
+
**Severity:** Medium
|
|
64
|
+
**Impact:** Hard to iterate, no version control
|
|
65
|
+
**Example:**
|
|
66
|
+
```python
|
|
67
|
+
# Bad
|
|
68
|
+
prompt = "You are a helpful assistant that..."
|
|
69
|
+
|
|
70
|
+
# Good
|
|
71
|
+
prompt = load_prompt_template("assistant_v1.txt")
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Q-002: No Type Hints
|
|
75
|
+
**Description:** Python code without type annotations
|
|
76
|
+
**Severity:** Low
|
|
77
|
+
**Impact:** Harder to maintain, refactor
|
|
78
|
+
**Fix:** Add type hints, use mypy
|
|
79
|
+
|
|
80
|
+
### Q-003: Code Duplication
|
|
81
|
+
**Description:** Same logic repeated in multiple places
|
|
82
|
+
**Severity:** Low
|
|
83
|
+
**Impact:** Maintenance burden, inconsistency
|
|
84
|
+
**Fix:** Extract to shared function
|
|
85
|
+
|
|
86
|
+
### Q-004: Missing Documentation
|
|
87
|
+
**Description:** Code, APIs not documented
|
|
88
|
+
**Severity:** Low
|
|
89
|
+
**Impact:** Hard for others to understand/use
|
|
90
|
+
**Fix:** Add docstrings, API docs, architecture docs
|
|
91
|
+
|
|
92
|
+
### Q-005: Inconsistent Style
|
|
93
|
+
**Description:** Code doesn't follow style guide
|
|
94
|
+
**Severity:** Low
|
|
95
|
+
**Impact:** Harder to read
|
|
96
|
+
**Fix:** Use linter (pylint, black, eslint)
|
|
97
|
+
|
|
98
|
+
### Q-006: Poor Naming
|
|
99
|
+
**Description:** Variables, functions poorly named
|
|
100
|
+
**Severity:** Low
|
|
101
|
+
**Impact:** Confusing code
|
|
102
|
+
**Fix:** Use descriptive names
|
|
103
|
+
|
|
104
|
+
### Q-007: Large Functions
|
|
105
|
+
**Description:** Functions doing too much (>50 lines)
|
|
106
|
+
**Severity:** Low
|
|
107
|
+
**Impact:** Hard to test, understand
|
|
108
|
+
**Fix:** Break into smaller functions
|
|
109
|
+
|
|
110
|
+
## Category 7: Observability Issues
|
|
111
|
+
|
|
112
|
+
Issues affecting ability to monitor and debug.
|
|
113
|
+
|
|
114
|
+
### O-001: No Logging
|
|
115
|
+
**Description:** No logs emitted
|
|
116
|
+
**Severity:** High
|
|
117
|
+
**Impact:** Can't debug issues
|
|
118
|
+
**Fix:** Add structured logging
|
|
119
|
+
|
|
120
|
+
### O-002: Unstructured Logs
|
|
121
|
+
**Description:** Logs are plain text, not structured (JSON)
|
|
122
|
+
**Severity:** Medium
|
|
123
|
+
**Impact:** Hard to parse, search, analyze
|
|
124
|
+
**Example:**
|
|
125
|
+
```python
|
|
126
|
+
# Bad
|
|
127
|
+
print(f"Agent processed {task}")
|
|
128
|
+
|
|
129
|
+
# Good
|
|
130
|
+
logger.info("Agent processed task", extra={
|
|
131
|
+
"agent_id": agent.id,
|
|
132
|
+
"task_id": task.id,
|
|
133
|
+
"duration": duration
|
|
134
|
+
})
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### O-003: No Distributed Tracing
|
|
138
|
+
**Description:** Can't trace requests across agents
|
|
139
|
+
**Severity:** Medium
|
|
140
|
+
**Impact:** Hard to debug multi-agent issues
|
|
141
|
+
**Fix:** Add tracing (OpenTelemetry)
|
|
142
|
+
|
|
143
|
+
### O-004: No Metrics
|
|
144
|
+
**Description:** No quantitative measurements collected
|
|
145
|
+
**Severity:** Medium
|
|
146
|
+
**Impact:** Can't measure performance, costs
|
|
147
|
+
**Fix:** Collect metrics (requests, latency, errors, costs)
|
|
148
|
+
|
|
149
|
+
### O-005: No Dashboards
|
|
150
|
+
**Description:** Metrics not visualized
|
|
151
|
+
**Severity:** Low
|
|
152
|
+
**Impact:** Hard to spot trends, issues
|
|
153
|
+
**Fix:** Create dashboards (Grafana, etc.)
|
|
154
|
+
|
|
155
|
+
### O-006: No Alerting
|
|
156
|
+
**Description:** No alerts on critical conditions
|
|
157
|
+
**Severity:** High
|
|
158
|
+
**Impact:** Issues go unnoticed
|
|
159
|
+
**Fix:** Set up alerts (PagerDuty, etc.)
|
|
160
|
+
|
|
161
|
+
### O-007: No Request IDs
|
|
162
|
+
**Description:** Can't correlate logs for single request
|
|
163
|
+
**Severity:** Medium
|
|
164
|
+
**Impact:** Hard to trace request flow
|
|
165
|
+
**Fix:** Add correlation IDs to all logs
|
|
166
|
+
|
|
167
|
+
## Category 8: Testing Issues
|
|
168
|
+
|
|
169
|
+
Issues affecting test coverage and quality.
|
|
170
|
+
|
|
171
|
+
### T-001: No Tests
|
|
172
|
+
**Description:** No automated tests
|
|
173
|
+
**Severity:** High
|
|
174
|
+
**Impact:** High bug risk, fear of changes
|
|
175
|
+
**Fix:** Add unit, integration tests
|
|
176
|
+
|
|
177
|
+
### T-002: Low Coverage
|
|
178
|
+
**Description:** Test coverage <70%
|
|
179
|
+
**Severity:** Medium
|
|
180
|
+
**Impact:** Untested code paths
|
|
181
|
+
**Fix:** Increase test coverage
|
|
182
|
+
|
|
183
|
+
### T-003: No Integration Tests
|
|
184
|
+
**Description:** Only unit tests, no end-to-end tests
|
|
185
|
+
**Severity:** Medium
|
|
186
|
+
**Impact:** Integration bugs not caught
|
|
187
|
+
**Fix:** Add integration tests
|
|
188
|
+
|
|
189
|
+
### T-004: Flaky Tests
|
|
190
|
+
**Description:** Tests pass/fail randomly
|
|
191
|
+
**Severity:** Medium
|
|
192
|
+
**Impact:** CI/CD unreliable
|
|
193
|
+
**Fix:** Fix race conditions, timing issues
|
|
194
|
+
|
|
195
|
+
### T-005: No CI/CD
|
|
196
|
+
**Description:** Tests not run automatically
|
|
197
|
+
**Severity:** High
|
|
198
|
+
**Impact:** Broken code can be merged
|
|
199
|
+
**Fix:** Set up CI pipeline (GitHub Actions, etc.)
|
|
200
|
+
|
|
201
|
+
### T-006: No Load Testing
|
|
202
|
+
**Description:** System not tested under load
|
|
203
|
+
**Severity:** Medium
|
|
204
|
+
**Impact:** Don't know scalability limits
|
|
205
|
+
**Fix:** Run load tests
|
|
206
|
+
|
|
207
|
+
### T-007: No Mocking
|
|
208
|
+
**Description:** Tests call real LLM APIs
|
|
209
|
+
**Severity:** Medium
|
|
210
|
+
**Impact:** Slow, expensive tests
|
|
211
|
+
**Fix:** Mock LLM responses in tests
|
|
212
|
+
|
|
213
|
+
## Severity Guidelines
|
|
214
|
+
|
|
215
|
+
### Critical (P0)
|
|
216
|
+
- Security vulnerabilities
|
|
217
|
+
- Data loss risks
|
|
218
|
+
- Compliance violations
|
|
219
|
+
- System crashes
|
|
220
|
+
- **Fix:** Immediately (within 24 hours)
|
|
221
|
+
|
|
222
|
+
### High (P1)
|
|
223
|
+
- Reliability issues
|
|
224
|
+
- Safety gaps
|
|
225
|
+
- Performance problems
|
|
226
|
+
- Cost inefficiencies
|
|
227
|
+
- **Fix:** Within 1 week
|
|
228
|
+
|
|
229
|
+
### Medium (P2)
|
|
230
|
+
- Code quality issues
|
|
231
|
+
- Missing observability
|
|
232
|
+
- Incomplete testing
|
|
233
|
+
- Documentation gaps
|
|
234
|
+
- **Fix:** Within 1 month
|
|
235
|
+
|
|
236
|
+
### Low (P3)
|
|
237
|
+
- Style issues
|
|
238
|
+
- Minor optimizations
|
|
239
|
+
- Nice-to-haves
|
|
240
|
+
- **Fix:** Backlog
|
|
241
|
+
|
|
242
|
+
## Issue Template
|
|
243
|
+
|
|
244
|
+
```markdown
|
|
245
|
+
## [CATEGORY]-[NUMBER]: [Issue Title]
|
|
246
|
+
|
|
247
|
+
**Severity:** Critical | High | Medium | Low
|
|
248
|
+
**Category:** Reliability | Security | Safety | Cost | Performance | Quality | Observability | Testing
|
|
249
|
+
**Component:** [Affected component]
|
|
250
|
+
**Instances:** [Number of occurrences]
|
|
251
|
+
|
|
252
|
+
### Description
|
|
253
|
+
[What is the issue?]
|
|
254
|
+
|
|
255
|
+
### Location
|
|
256
|
+
[File:line references]
|
|
257
|
+
|
|
258
|
+
### Impact
|
|
259
|
+
[What are the consequences?]
|
|
260
|
+
|
|
261
|
+
### Root Cause
|
|
262
|
+
[Why does this exist?]
|
|
263
|
+
|
|
264
|
+
### Recommendation
|
|
265
|
+
[How to fix it?]
|
|
266
|
+
|
|
267
|
+
### Example
|
|
268
|
+
```code
|
|
269
|
+
[Code example]
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### Effort
|
|
273
|
+
[Hours/Days/Weeks]
|
|
274
|
+
|
|
275
|
+
### Priority
|
|
276
|
+
[P0/P1/P2/P3]
|
|
277
|
+
```
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase_relevance: ["design", "review"]
|
|
3
|
+
archetype_relevance: ["*"]
|
|
4
|
+
---
|
|
5
|
+
# Issue Taxonomy: Reliability, Security & Safety
|
|
6
|
+
|
|
7
|
+
Complete reference of issue categories for agentic system reviews covering reliability, security, safety, and cost issues.
|
|
8
|
+
|
|
9
|
+
## Category 1: Reliability Issues
|
|
10
|
+
|
|
11
|
+
Issues affecting system stability and uptime.
|
|
12
|
+
|
|
13
|
+
### R-001: Missing Error Handling
|
|
14
|
+
**Description:** No try/catch around LLM calls or external operations
|
|
15
|
+
**Severity:** High
|
|
16
|
+
**Impact:** System crashes on errors
|
|
17
|
+
**Example:**
|
|
18
|
+
```python
|
|
19
|
+
# Bad
|
|
20
|
+
result = await llm.generate(prompt) # Crashes if API fails
|
|
21
|
+
|
|
22
|
+
# Good
|
|
23
|
+
try:
|
|
24
|
+
result = await llm.generate(prompt)
|
|
25
|
+
except Exception as e:
|
|
26
|
+
logger.error(f"LLM call failed: {e}")
|
|
27
|
+
return fallback_response
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### R-002: No Retry Logic
|
|
31
|
+
**Description:** Single attempt at operations that may fail transiently
|
|
32
|
+
**Severity:** Medium
|
|
33
|
+
**Impact:** Failures that could be resolved with retry
|
|
34
|
+
**Example:**
|
|
35
|
+
```python
|
|
36
|
+
# Bad
|
|
37
|
+
response = await api.call()
|
|
38
|
+
|
|
39
|
+
# Good
|
|
40
|
+
@retry(max_attempts=3, backoff=exponential)
|
|
41
|
+
async def api_call():
|
|
42
|
+
return await api.call()
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### R-003: Missing Timeouts
|
|
46
|
+
**Description:** Operations can run indefinitely
|
|
47
|
+
**Severity:** High
|
|
48
|
+
**Impact:** Resource exhaustion, hung processes
|
|
49
|
+
**Example:**
|
|
50
|
+
```python
|
|
51
|
+
# Bad
|
|
52
|
+
while not done:
|
|
53
|
+
result = await agent.process()
|
|
54
|
+
|
|
55
|
+
# Good
|
|
56
|
+
async with asyncio.timeout(300):
|
|
57
|
+
while not done:
|
|
58
|
+
result = await agent.process()
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### R-004: No Circuit Breakers
|
|
62
|
+
**Description:** No protection against cascading failures
|
|
63
|
+
**Severity:** High
|
|
64
|
+
**Impact:** Cascading failures, system-wide outages
|
|
65
|
+
**Example:**
|
|
66
|
+
```python
|
|
67
|
+
# Good
|
|
68
|
+
circuit_breaker = CircuitBreaker(failure_threshold=5)
|
|
69
|
+
result = await circuit_breaker.call(external_service.request)
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### R-005: Single Point of Failure
|
|
73
|
+
**Description:** Critical component with no redundancy
|
|
74
|
+
**Severity:** High
|
|
75
|
+
**Impact:** Complete system failure if component fails
|
|
76
|
+
**Fix:** Add redundancy, failover mechanisms
|
|
77
|
+
|
|
78
|
+
### R-006: No Health Checks
|
|
79
|
+
**Description:** No way to verify system is healthy
|
|
80
|
+
**Severity:** Medium
|
|
81
|
+
**Impact:** Can't detect or recover from issues
|
|
82
|
+
**Fix:** Implement /health endpoint, monitoring
|
|
83
|
+
|
|
84
|
+
### R-007: No Graceful Degradation
|
|
85
|
+
**Description:** System fails completely rather than providing reduced functionality
|
|
86
|
+
**Severity:** Medium
|
|
87
|
+
**Impact:** Poor user experience during issues
|
|
88
|
+
**Fix:** Implement fallback behaviors
|
|
89
|
+
|
|
90
|
+
## Category 2: Security Issues
|
|
91
|
+
|
|
92
|
+
Issues creating security vulnerabilities.
|
|
93
|
+
|
|
94
|
+
### S-001: No Input Validation
|
|
95
|
+
**Description:** User inputs not validated before processing
|
|
96
|
+
**Severity:** Critical
|
|
97
|
+
**Impact:** SQL injection, command injection, prompt injection
|
|
98
|
+
**Example:**
|
|
99
|
+
```python
|
|
100
|
+
# Bad
|
|
101
|
+
query = f"SELECT * FROM users WHERE name = '{user_input}'"
|
|
102
|
+
|
|
103
|
+
# Good
|
|
104
|
+
query = "SELECT * FROM users WHERE name = ?"
|
|
105
|
+
cursor.execute(query, (user_input,))
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### S-002: Credentials in Code
|
|
109
|
+
**Description:** API keys, passwords hardcoded in source
|
|
110
|
+
**Severity:** Critical
|
|
111
|
+
**Impact:** Credential exposure, unauthorized access
|
|
112
|
+
**Example:**
|
|
113
|
+
```python
|
|
114
|
+
# Bad
|
|
115
|
+
api_key = "YOUR_API_KEY_HERE"
|
|
116
|
+
|
|
117
|
+
# Good
|
|
118
|
+
api_key = os.getenv("API_KEY")
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### S-003: Sensitive Data in Logs
|
|
122
|
+
**Description:** PII, credentials, secrets logged in plain text
|
|
123
|
+
**Severity:** Critical
|
|
124
|
+
**Impact:** Data breach, compliance violation
|
|
125
|
+
**Fix:** Redact sensitive data, encrypt logs
|
|
126
|
+
|
|
127
|
+
### S-004: No Authentication
|
|
128
|
+
**Description:** Endpoints accessible without authentication
|
|
129
|
+
**Severity:** Critical
|
|
130
|
+
**Impact:** Unauthorized access
|
|
131
|
+
**Fix:** Implement authentication (OAuth, API keys, etc.)
|
|
132
|
+
|
|
133
|
+
### S-005: No Authorization
|
|
134
|
+
**Description:** No check if user authorized for action
|
|
135
|
+
**Severity:** Critical
|
|
136
|
+
**Impact:** Privilege escalation
|
|
137
|
+
**Fix:** Implement RBAC, permission checks
|
|
138
|
+
|
|
139
|
+
### S-006: Insecure Dependencies
|
|
140
|
+
**Description:** Using dependencies with known vulnerabilities
|
|
141
|
+
**Severity:** High
|
|
142
|
+
**Impact:** Exploitable vulnerabilities
|
|
143
|
+
**Fix:** Update dependencies, use vulnerability scanning
|
|
144
|
+
|
|
145
|
+
### S-007: No Rate Limiting
|
|
146
|
+
**Description:** No limits on request frequency
|
|
147
|
+
**Severity:** Medium
|
|
148
|
+
**Impact:** DOS attacks, abuse
|
|
149
|
+
**Fix:** Implement rate limiting per user/IP
|
|
150
|
+
|
|
151
|
+
## Category 3: Safety Issues
|
|
152
|
+
|
|
153
|
+
Issues affecting user safety and system behavior.
|
|
154
|
+
|
|
155
|
+
### SF-001: No Output Validation
|
|
156
|
+
**Description:** Agent outputs not validated before use
|
|
157
|
+
**Severity:** High
|
|
158
|
+
**Impact:** Harmful outputs, system errors
|
|
159
|
+
**Example:**
|
|
160
|
+
```python
|
|
161
|
+
# Good
|
|
162
|
+
output = await agent.generate(task)
|
|
163
|
+
if not validate_output(output):
|
|
164
|
+
raise UnsafeOutputError()
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### SF-002: Missing Approval Gates
|
|
168
|
+
**Description:** High-stakes actions execute without human approval
|
|
169
|
+
**Severity:** Critical
|
|
170
|
+
**Impact:** Unintended consequences, data loss
|
|
171
|
+
**Fix:** Add human-in-the-loop for risky operations
|
|
172
|
+
|
|
173
|
+
### SF-003: No Action Whitelisting
|
|
174
|
+
**Description:** Agents can execute any action
|
|
175
|
+
**Severity:** High
|
|
176
|
+
**Impact:** Dangerous operations possible
|
|
177
|
+
**Fix:** Whitelist allowed actions, validate against list
|
|
178
|
+
|
|
179
|
+
### SF-004: Missing Audit Logs
|
|
180
|
+
**Description:** No record of agent decisions and actions
|
|
181
|
+
**Severity:** High (Critical for regulated industries)
|
|
182
|
+
**Impact:** No accountability, compliance violations
|
|
183
|
+
**Fix:** Log all decisions and actions with timestamps
|
|
184
|
+
|
|
185
|
+
### SF-005: No PII Protection
|
|
186
|
+
**Description:** PII not detected, redacted, or encrypted
|
|
187
|
+
**Severity:** Critical
|
|
188
|
+
**Impact:** Privacy violations, compliance issues
|
|
189
|
+
**Fix:** Implement PII detection and redaction
|
|
190
|
+
|
|
191
|
+
### SF-006: No Rollback Capability
|
|
192
|
+
**Description:** Can't undo destructive actions
|
|
193
|
+
**Severity:** High
|
|
194
|
+
**Impact:** Permanent damage from errors
|
|
195
|
+
**Fix:** Implement reversible actions, backups
|
|
196
|
+
|
|
197
|
+
### SF-007: Missing Kill Switch
|
|
198
|
+
**Description:** No emergency stop mechanism
|
|
199
|
+
**Severity:** Medium
|
|
200
|
+
**Impact:** Can't stop runaway processes
|
|
201
|
+
**Fix:** Implement kill switch, circuit breaker
|
|
202
|
+
|
|
203
|
+
## Category 4: Cost Issues
|
|
204
|
+
|
|
205
|
+
Issues causing unnecessary costs.
|
|
206
|
+
|
|
207
|
+
### C-001: No Token Tracking
|
|
208
|
+
**Description:** Token usage not measured or logged
|
|
209
|
+
**Severity:** Medium
|
|
210
|
+
**Impact:** Unknown costs, can't optimize
|
|
211
|
+
**Fix:** Track tokens per request, agent, user
|
|
212
|
+
|
|
213
|
+
### C-002: No Cost Budgets
|
|
214
|
+
**Description:** No limits on spending
|
|
215
|
+
**Severity:** Medium
|
|
216
|
+
**Impact:** Runaway costs
|
|
217
|
+
**Fix:** Implement per-user, per-session budgets
|
|
218
|
+
|
|
219
|
+
### C-003: Missing Caching
|
|
220
|
+
**Description:** Repeated identical requests to LLM
|
|
221
|
+
**Severity:** Medium
|
|
222
|
+
**Impact:** Wasted API calls and cost
|
|
223
|
+
**Example:**
|
|
224
|
+
```python
|
|
225
|
+
# Good
|
|
226
|
+
@cache(ttl=3600)
|
|
227
|
+
async def cached_generate(prompt):
|
|
228
|
+
return await llm.generate(prompt)
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### C-004: Inefficient Prompts
|
|
232
|
+
**Description:** Overly verbose prompts using excess tokens
|
|
233
|
+
**Severity:** Low
|
|
234
|
+
**Impact:** Higher per-request costs
|
|
235
|
+
**Fix:** Optimize prompts, use structured formats
|
|
236
|
+
|
|
237
|
+
### C-005: Wrong Model Selection
|
|
238
|
+
**Description:** Using expensive model when cheaper would suffice
|
|
239
|
+
**Severity:** Medium
|
|
240
|
+
**Impact:** Unnecessary costs
|
|
241
|
+
**Fix:** Use cheapest model meeting quality threshold
|
|
242
|
+
|
|
243
|
+
### C-006: No Batch Processing
|
|
244
|
+
**Description:** Processing items individually when could batch
|
|
245
|
+
**Severity:** Low
|
|
246
|
+
**Impact:** Higher total costs
|
|
247
|
+
**Fix:** Batch similar requests
|
|
248
|
+
|
|
249
|
+
### C-007: Context Bloat
|
|
250
|
+
**Description:** Passing excessive context to agents
|
|
251
|
+
**Severity:** Medium
|
|
252
|
+
**Impact:** Wasted tokens on irrelevant context
|
|
253
|
+
**Fix:** Filter context to relevant information
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: trust-and-safety
|
|
3
|
+
description: |
|
|
4
|
+
Trust, safety, and control patterns for production agentic systems with human-in-the-loop gates and guardrails.
|
|
5
|
+
|
|
6
|
+
Use when: designing guardrails or human-in-the-loop gates for an agent, or
|
|
7
|
+
hardening an agentic system against prompt injection.
|
|
8
|
+
portability: portable
|
|
9
|
+
phase_relevance: ["design", "review"]
|
|
10
|
+
archetype_relevance: ["*"]
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Trust and Safety
|
|
14
|
+
|
|
15
|
+
Essential patterns for building safe, trustworthy, production-ready agentic systems.
|
|
16
|
+
|
|
17
|
+
## Core Principles
|
|
18
|
+
|
|
19
|
+
1. **Least Privilege:** Agents have minimum necessary permissions
|
|
20
|
+
2. **Defense in Depth:** Multiple layers of safety checks
|
|
21
|
+
3. **Fail Safe:** Errors should fail toward safety, not capability
|
|
22
|
+
4. **Human Oversight:** High-stakes decisions require human approval
|
|
23
|
+
5. **Auditability:** All decisions and actions are logged and traceable
|
|
24
|
+
6. **Graceful Degradation:** System remains safe even when components fail
|
|
25
|
+
|
|
26
|
+
## Human-in-the-Loop Gates
|
|
27
|
+
|
|
28
|
+
### When to Add Human Gates
|
|
29
|
+
|
|
30
|
+
**Always require approval for:**
|
|
31
|
+
- Production data modifications (delete, update critical data)
|
|
32
|
+
- Financial transactions above threshold
|
|
33
|
+
- Communications to external parties
|
|
34
|
+
- Credential or security changes
|
|
35
|
+
- Irreversible operations
|
|
36
|
+
|
|
37
|
+
**Consider approval for:**
|
|
38
|
+
- First-time operations
|
|
39
|
+
- Operations outside normal patterns
|
|
40
|
+
- Low-confidence decisions
|
|
41
|
+
- Operations near resource limits
|
|
42
|
+
|
|
43
|
+
### Implementation Pattern
|
|
44
|
+
|
|
45
|
+
```python
|
|
46
|
+
async def execute_with_approval(action, threshold=0.8):
|
|
47
|
+
if action.confidence < threshold or action.is_high_stakes():
|
|
48
|
+
approval = await request_human_approval(action)
|
|
49
|
+
if not approval.approved:
|
|
50
|
+
raise ApprovalDenied(approval.reason)
|
|
51
|
+
return await action.execute()
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Approval Workflow Design
|
|
55
|
+
|
|
56
|
+
**Synchronous Approval:** Block until human responds (for urgent decisions)
|
|
57
|
+
**Asynchronous Approval:** Queue for later review (for batch operations)
|
|
58
|
+
**Escalation Chains:** Route to higher authority if primary approver unavailable
|
|
59
|
+
**Timeout Handling:** Define what happens if no approval received
|
|
60
|
+
|
|
61
|
+
See `refs/guardrails-input-output.md`, `refs/guardrails-actions.md`, and `refs/guardrails-resources.md` for detailed implementation patterns.
|
|
62
|
+
|
|
63
|
+
## Output Validation
|
|
64
|
+
|
|
65
|
+
### Structured Output Validation
|
|
66
|
+
|
|
67
|
+
Force outputs into validated schemas using Pydantic or similar.
|
|
68
|
+
|
|
69
|
+
### Content Validation
|
|
70
|
+
|
|
71
|
+
Check outputs before acting on them:
|
|
72
|
+
- **Format validation:** Matches expected structure
|
|
73
|
+
- **Range validation:** Numeric values within acceptable bounds
|
|
74
|
+
- **Completeness validation:** Required fields are present
|
|
75
|
+
- **Consistency validation:** Outputs are internally consistent
|
|
76
|
+
|
|
77
|
+
### Hallucination Detection
|
|
78
|
+
|
|
79
|
+
**Cross-Validation:** Multiple agents check same fact
|
|
80
|
+
**Source Verification:** Verify claims against ground truth
|
|
81
|
+
**Confidence Thresholds:** Reject low-confidence outputs
|
|
82
|
+
**Fact Checking:** Use retrieval to verify factual claims
|
|
83
|
+
|
|
84
|
+
See `refs/guardrails-input-output.md` for code examples.
|
|
85
|
+
|
|
86
|
+
## Action Constraints and Sandboxing
|
|
87
|
+
|
|
88
|
+
### Whitelisting
|
|
89
|
+
|
|
90
|
+
Safer than blacklisting. Define allowed commands/actions explicitly.
|
|
91
|
+
|
|
92
|
+
### Sandboxing
|
|
93
|
+
|
|
94
|
+
Isolate agent execution:
|
|
95
|
+
- **Containerization:** Run agents in Docker containers
|
|
96
|
+
- **Virtual environments:** Separate Python/Node environments
|
|
97
|
+
- **File system restrictions:** Limit access to specific directories
|
|
98
|
+
- **Network isolation:** Control network access
|
|
99
|
+
|
|
100
|
+
### Resource Limits
|
|
101
|
+
|
|
102
|
+
Prevent runaway resource usage:
|
|
103
|
+
- Max runtime (timeouts)
|
|
104
|
+
- Max memory
|
|
105
|
+
- Max tokens per request/session
|
|
106
|
+
- Max API calls
|
|
107
|
+
|
|
108
|
+
See `refs/guardrails-actions.md` and `refs/guardrails-resources.md` for implementation details.
|
|
109
|
+
|
|
110
|
+
## Prompt Injection Defense
|
|
111
|
+
|
|
112
|
+
### Input Sanitization
|
|
113
|
+
|
|
114
|
+
Clean user inputs before passing to LLM. Remove instruction-like patterns.
|
|
115
|
+
|
|
116
|
+
### Delimiter-Based Protection
|
|
117
|
+
|
|
118
|
+
Use clear delimiters to separate system instructions from user input.
|
|
119
|
+
|
|
120
|
+
### Privilege Separation
|
|
121
|
+
|
|
122
|
+
Separate instruction and data contexts using role-based message formatting.
|
|
123
|
+
|
|
124
|
+
See `refs/guardrails-input-output.md` for defense patterns and code examples.
|
|
125
|
+
|
|
126
|
+
## PII Detection and Protection
|
|
127
|
+
|
|
128
|
+
### Pattern-Based Detection
|
|
129
|
+
|
|
130
|
+
Regex patterns for email, SSN, credit cards, phone numbers, etc.
|
|
131
|
+
|
|
132
|
+
### Redaction
|
|
133
|
+
|
|
134
|
+
Replace detected PII with `[REDACTED_TYPE]` tokens.
|
|
135
|
+
|
|
136
|
+
### PII Policies
|
|
137
|
+
|
|
138
|
+
- **Never log PII** in plain text
|
|
139
|
+
- **Encrypt PII** at rest and in transit
|
|
140
|
+
- **Minimize PII collection** (only collect what's needed)
|
|
141
|
+
- **Retention limits** (delete after specified period)
|
|
142
|
+
|
|
143
|
+
See `refs/guardrails-input-output.md` for detection and redaction code.
|
|
144
|
+
|
|
145
|
+
## Hallucination Mitigation
|
|
146
|
+
|
|
147
|
+
### Grounding Techniques
|
|
148
|
+
|
|
149
|
+
**Retrieval-Augmented Generation (RAG):** Retrieve facts before generation
|
|
150
|
+
**Citation Requirements:** Require source citations for all claims
|
|
151
|
+
|
|
152
|
+
### Verification Strategies
|
|
153
|
+
|
|
154
|
+
**Multi-Agent Verification:** Independent verification by multiple agents
|
|
155
|
+
**Confidence Calibration:** Require confidence scores, reject low-confidence outputs
|
|
156
|
+
|
|
157
|
+
See `refs/guardrails-actions.md` and `refs/guardrails-resources.md` for implementation patterns.
|
|
158
|
+
|
|
159
|
+
## Kill Switches and Circuit Breakers
|
|
160
|
+
|
|
161
|
+
**Kill Switch:** Emergency stop that halts all operations and alerts administrators.
|
|
162
|
+
**Circuit Breaker:** Opens circuit after threshold failures to prevent cascading failures.
|
|
163
|
+
**Rate Limiting:** Limits requests per user/time window to prevent abuse.
|
|
164
|
+
|
|
165
|
+
See `refs/guardrails-actions.md` and `refs/guardrails-resources.md` for complete implementations.
|
|
166
|
+
|
|
167
|
+
## Safety Checklist
|
|
168
|
+
|
|
169
|
+
See `refs/safety-checklist-core.md` for the full pre-deployment checklist covering human gates, validation, whitelisting, resource limits, PII, prompt injection, hallucination, circuit breakers, rate limiting, kill switches, audit logging, and rollback. See `refs/safety-checklist-advanced.md` for monitoring, incidents, testing, and ops checklists.
|
|
170
|
+
|
|
171
|
+
## References
|
|
172
|
+
|
|
173
|
+
- `refs/safety-checklist-core.md` - Core safety checklist (input, output, action, auth, privacy)
|
|
174
|
+
- `refs/safety-checklist-advanced.md` - Advanced safety checklist (monitoring, incidents, testing, ops)
|
|
175
|
+
- `refs/guardrails-input-output.md` - Input validation, sanitization, prompt injection, output filtering
|
|
176
|
+
- `refs/guardrails-actions.md` - Action whitelisting, approvals, sandboxed execution
|
|
177
|
+
- `refs/guardrails-resources.md` - Resource limiting, monitoring, complete guardrail architecture
|