# Pengo Workbench Stop waiting for AI to magically get better. Find the structure. Use it to observe, control, and report what AI systems actually do. The Workbench is a structured inspection surface for AI asks, visible failure surfaces, recurring Patterns, diagnostic Lenses, and machine-readable ontology access. ## Human Pages - /workbench/ - /workbench/check-input/ - /workbench/gap-explorer/ - /workbench/search/ - /workbench/issues/ - /workbench/ai-adj-issues/ - /workbench/patterns/ - /workbench/lenses/ - /workbench/categories/ - /workbench/examples/ - /workbench/field-notes/ - /workbench/articles/ - /workbench/videos/ ## Machine Indexes - /workbench/_internal/ontology-index.json - /workbench/_internal/search-index.json - /workbench/_internal/pattern-lens-matrix.json - /workbench/_internal/check-input-vocabulary.json - /workbench/_internal/check-input-matrix.json - /workbench/_internal/check-input-index.json ## Markdown Artifacts ### Issues - Action Changed Something Else Too: /workbench/issues/action-changed-something-else-too.md - Action Triggered by Confidence Score: /workbench/issues/action-triggered-by-confidence-score.md - Actual Policy Differs From Declared Policy: /workbench/issues/actual-policy-differs-from-declared-policy.md - Agent Cannot Choose Tool Without Tool Result: /workbench/issues/agent-cannot-choose-tool-without-tool-result.md - Agent Gets Conflicting Tool Authority: /workbench/issues/agent-gets-conflicting-tool-authority.md - Agent Keeps Expanding the Task: /workbench/issues/agent-keeps-expanding-the-task.md - Agent Modified Unrelated State: /workbench/issues/agent-modified-unrelated-state.md - Agent Never Settles on Final Answer: /workbench/issues/agent-never-settles-on-final-answer.md - Agent Permission Expands Over Steps: /workbench/issues/agent-permission-expands-over-steps.md - AI Adds Work Not Requested: /workbench/issues/ai-adds-work-not-requested.md - AI Forgets Earlier Constraints: /workbench/issues/ai-forgets-earlier-constraints.md - AI Memory Has No Governance: /workbench/issues/ai-memory-has-no-governance.md - AI Memory Updated Without Asking: /workbench/issues/ai-memory-updated-without-asking.md - AI Output Breaks Parser: /workbench/issues/ai-output-breaks-parser.md - AI Touches Unrelated Scope: /workbench/issues/ai-touches-unrelated-scope.md - AI Uses External Information When Forbidden: /workbench/issues/ai-uses-external-information-when-forbidden.md - Answer Has No Traceable Source Link: /workbench/issues/answer-has-no-traceable-source-link.md - Answer Has Too Many Paths: /workbench/issues/answer-has-too-many-paths.md - Approval Depends on Output That Needs Approval: /workbench/issues/approval-depends-on-output-that-needs-approval.md - Automation Skips Required Approval: /workbench/issues/automation-skips-required-approval.md - Behavior Does Not Match Declared Role: /workbench/issues/behavior-does-not-match-declared-role.md - Cannot Identify Authoritative State: /workbench/issues/cannot-identify-authoritative-state.md - Citation Points to Wrong Source: /workbench/issues/citation-points-to-wrong-source.md - Conflicting Instructions From Different Authorities: /workbench/issues/conflicting-instructions-from-different-authorities.md - Context Changes After Restore: /workbench/issues/context-changes-after-restore.md - Context Leaks Between Tasks: /workbench/issues/context-leaks-between-tasks.md - Declared Owner Cannot Control Outcome: /workbench/issues/declared-owner-cannot-control-outcome.md - Diagnostic Area Has No Coverage: /workbench/issues/diagnostic-area-has-no-coverage.md - Downstream Steps Magnify Hallucinated Claim: /workbench/issues/downstream-steps-magnify-hallucinated-claim.md - Duplicate Fields With Same Meaning: /workbench/issues/duplicate-fields-with-same-meaning.md - Duplicate Output Sections: /workbench/issues/duplicate-output-sections.md - Early Model Output Gets Overweighted Downstream: /workbench/issues/early-model-output-gets-overweighted-downstream.md - Evaluation Rubric Has Coverage Gap: /workbench/issues/evaluation-rubric-has-coverage-gap.md - Fallback Authority Is Missing: /workbench/issues/fallback-authority-is-missing.md - File-Bounded Task Uses Outside Content: /workbench/issues/file-bounded-task-uses-outside-content.md - Format Rule Too Weak: /workbench/issues/format-rule-too-weak.md - Hallucinated Fields: /workbench/issues/hallucinated-fields.md - Hidden Rule Overrides Visible Instruction: /workbench/issues/hidden-rule-overrides-visible-instruction.md - Human Review and Automation Disagree: /workbench/issues/human-review-and-automation-disagree.md - Invalid JSON Output: /workbench/issues/invalid-json-output.md - Local Exception Grows Into Policy: /workbench/issues/local-exception-grows-into-policy.md - Local Rule Spreads to Broader Cases: /workbench/issues/local-rule-spreads-to-broader-cases.md - Merge Step Leaves Unresolved Differences: /workbench/issues/merge-step-leaves-unresolved-differences.md - Missing Fallback for Unavailable Information: /workbench/issues/missing-fallback-for-unavailable-information.md - Missing Required Fields: /workbench/issues/missing-required-fields.md - Model and Workflow Disagree on Next Step: /workbench/issues/model-and-workflow-disagree-on-next-step.md - Model Output Triggers Unapproved Action: /workbench/issues/model-output-triggers-unapproved-action.md - Multiple Policies Say the Same Thing: /workbench/issues/multiple-policies-say-the-same-thing.md - Nested Fields Do Not Match: /workbench/issues/nested-fields-do-not-match.md - No Owner for Agent Action: /workbench/issues/no-owner-for-agent-action.md - Old Output Expectations Survive Migration: /workbench/issues/old-output-expectations-survive-migration.md - One Prompt Carries Too Many Meanings: /workbench/issues/one-prompt-carries-too-many-meanings.md - Output Breaks After Model Change: /workbench/issues/output-breaks-after-model-change.md - Output Breaks the Next Step: /workbench/issues/output-breaks-the-next-step.md - Output Changed Without Declared Change: /workbench/issues/output-changed-without-declared-change.md - Output Exceeds Length Limit: /workbench/issues/output-exceeds-length-limit.md - Parallel Reviews Never Agree: /workbench/issues/parallel-reviews-never-agree.md - Permissions Conflict After Being Combined: /workbench/issues/permissions-conflict-after-being-combined.md - Policy Area Has No Examples: /workbench/issues/policy-area-has-no-examples.md - Policy Decision Depends on Itself: /workbench/issues/policy-decision-depends-on-itself.md - Policy Exception Spreads Too Far: /workbench/issues/policy-exception-spreads-too-far.md - Policy Update Not Reflected in Output: /workbench/issues/policy-update-not-reflected-in-output.md - Prompt Behavior Changed Without Version Change: /workbench/issues/prompt-behavior-changed-without-version-change.md - Prompt Changed but Workflow Did Not: /workbench/issues/prompt-changed-but-workflow-did-not.md - Prompt Does Not Say What to Exclude: /workbench/issues/prompt-does-not-say-what-to-exclude.md - Prompt Has Too Many Valid Interpretations: /workbench/issues/prompt-has-too-many-valid-interpretations.md - Prompt Only Works After Retry: /workbench/issues/prompt-only-works-after-retry.md - Relationship Map Has Missing Links: /workbench/issues/relationship-map-has-missing-links.md - Repair Step Created New Breakage: /workbench/issues/repair-step-created-new-breakage.md - Repeated Constraints Create Confusion: /workbench/issues/repeated-constraints-create-confusion.md - Results Vary Too Much: /workbench/issues/results-vary-too-much.md - Retrieval Exceeds Evidence Limit: /workbench/issues/retrieval-exceeds-evidence-limit.md - Retry Makes the Problem Worse: /workbench/issues/retry-makes-the-problem-worse.md - Review Escalates Without Stop Condition: /workbench/issues/review-escalates-without-stop-condition.md - Review Outcome Changes Unrelated Environment: /workbench/issues/review-outcome-changes-unrelated-environment.md - Review Queue Becomes Bottleneck: /workbench/issues/review-queue-becomes-bottleneck.md - Review Rubric Missing Required Criteria: /workbench/issues/review-rubric-missing-required-criteria.md - Revoked Approval Still Treated as Active: /workbench/issues/revoked-approval-still-treated-as-active.md - Risk Score Triggers Wrong Escalation: /workbench/issues/risk-score-triggers-wrong-escalation.md - Risk Signal Escalates Beyond Evidence: /workbench/issues/risk-signal-escalates-beyond-evidence.md - Routing Overrides Task Intent: /workbench/issues/routing-overrides-task-intent.md - Routing Path Cycles Back to Start: /workbench/issues/routing-path-cycles-back-to-start.md - Rubric Changed but Results Did Not: /workbench/issues/rubric-changed-but-results-did-not.md - Same Case Has Conflicting Policies: /workbench/issues/same-case-has-conflicting-policies.md - Same Contract Name Has Different Meanings: /workbench/issues/same-contract-name-has-different-meanings.md - Same Instructions Allow Different Outputs: /workbench/issues/same-instructions-allow-different-outputs.md - Same Rule Declared in Multiple Places: /workbench/issues/same-rule-declared-in-multiple-places.md - Same Workflow Check Happens Twice: /workbench/issues/same-workflow-check-happens-twice.md - Saved Memory Not Used: /workbench/issues/saved-memory-not-used.md - Saved Reference No Longer Works: /workbench/issues/saved-reference-no-longer-works.md - Schema Reference Loops Without Base Case: /workbench/issues/schema-reference-loops-without-base-case.md - Severity Increases Without New Evidence: /workbench/issues/severity-increases-without-new-evidence.md - Similar Cases Route to Different Outcomes: /workbench/issues/similar-cases-route-to-different-outcomes.md - Single Field Carries Too Many Obligations: /workbench/issues/single-field-carries-too-many-obligations.md - Single Step Carries Too Many Decisions: /workbench/issues/single-step-carries-too-many-decisions.md - Small Change Produces Large Downstream Effects: /workbench/issues/small-change-produces-large-downstream-effects.md - Small Error Spreads Into Large Failure: /workbench/issues/small-error-spreads-into-large-failure.md - Small Issue Keeps Escalating: /workbench/issues/small-issue-keeps-escalating.md - Stale Context Affects Output: /workbench/issues/stale-context-affects-output.md - Task Has No Clear Limit: /workbench/issues/task-has-no-clear-limit.md - Task Progress Is Lost Midway: /workbench/issues/task-progress-is-lost-midway.md - Too Many Tool Calls: /workbench/issues/too-many-tool-calls.md - Tool Call Contract Mismatch: /workbench/issues/tool-call-contract-mismatch.md - Tool Can Act Without Responsible Authority: /workbench/issues/tool-can-act-without-responsible-authority.md - Tool Exists but Required Inputs Are Missing: /workbench/issues/tool-exists-but-required-inputs-are-missing.md - Tool Result Not Integrated Correctly: /workbench/issues/tool-result-not-integrated-correctly.md - Tool Rules and Prompt Rules Conflict: /workbench/issues/tool-rules-and-prompt-rules-conflict.md - Validation Result Changes on Retry: /workbench/issues/validation-result-changes-on-retry.md - Version Change Breaks Existing Prompt: /workbench/issues/version-change-breaks-existing-prompt.md - Workflow Loops Through Review Without Resolution: /workbench/issues/workflow-loops-through-review-without-resolution.md - Workflow Stage Has Too Few Checks: /workbench/issues/workflow-stage-has-too-few-checks.md - Workflow Step Has No Decision Owner: /workbench/issues/workflow-step-has-no-decision-owner.md - Workflow Step Lacks Required Conditions: /workbench/issues/workflow-step-lacks-required-conditions.md - Workflow Waits on Step That Waits Back: /workbench/issues/workflow-waits-on-step-that-waits-back.md - Wrong Field Types: /workbench/issues/wrong-field-types.md ### AI-Adjacent Issues - ADJ-0006 - Agent Keeps Adding Tool Dependencies: /workbench/ai-adj-issues/agent-keeps-adding-tool-dependencies.md - ADJ-0004 - Agent Uses Old Tool Schema: /workbench/ai-adj-issues/agent-uses-old-tool-schema.md - ADJ-0002 - AI Works in One Environment Not Another: /workbench/ai-adj-issues/ai-works-in-one-environment-not-another.md - ADJ-0009 - Category Has Too Few Issues to Be Useful: /workbench/ai-adj-issues/category-has-too-few-issues-to-be-useful.md - ADJ-0003 - Documented Field Not Available at Runtime: /workbench/ai-adj-issues/documented-field-not-available-at-runtime.md - ADJ-0013 - Generated Output Changed Hidden Metadata: /workbench/ai-adj-issues/generated-output-changed-hidden-metadata.md - ADJ-0016 - Guardrail Applies to One Model Path Only: /workbench/ai-adj-issues/guardrail-applies-to-one-model-path-only.md - ADJ-0015 - Low-Level Configuration Overrides Workflow Policy: /workbench/ai-adj-issues/low-level-configuration-overrides-workflow-policy.md - ADJ-0008 - One Workspace Affects Another: /workbench/ai-adj-issues/one-workspace-affects-another.md - ADJ-0010 - Permission Change Not Applied: /workbench/ai-adj-issues/permission-change-not-applied.md - ADJ-0005 - Runtime Behavior Does Not Match Docs: /workbench/ai-adj-issues/runtime-behavior-does-not-match-docs.md - ADJ-0007 - Too Many Workflows Depend on One Tool: /workbench/ai-adj-issues/too-many-workflows-depend-on-one-tool.md - ADJ-0012 - Tool Call Caused Hidden Downstream Change: /workbench/ai-adj-issues/tool-call-caused-hidden-downstream-change.md - ADJ-0011 - Tool Effect Crosses Target Boundary: /workbench/ai-adj-issues/tool-effect-crosses-target-boundary.md - ADJ-0014 - Tool Failure Escalates Into Policy Decision: /workbench/ai-adj-issues/tool-failure-escalates-into-policy-decision.md - ADJ-0001 - Tool Not Supported in This Mode: /workbench/ai-adj-issues/tool-not-supported-in-this-mode.md ### Patterns - PAT-0110 - Asymmetric Structure: /workbench/patterns/asymmetric-structure.md - PAT-0100 - Authority Collision: /workbench/patterns/authority-collision.md - PAT-0220 - Authority Merge Conflict: /workbench/patterns/authority-merge-conflict.md - PAT-0230 - Authority Shadowing: /workbench/patterns/authority-shadowing.md - PAT-0240 - Authority-State Mismatch: /workbench/patterns/authority-state-mismatch.md - PAT-0140 - Boundary Leakage: /workbench/patterns/boundary-leakage.md - PAT-0250 - Circular Dependency: /workbench/patterns/circular-dependency.md - PAT-0180 - Compatibility Violation: /workbench/patterns/compatibility-violation.md - PAT-0170 - Constraints Underspecified: /workbench/patterns/constraints-underspecified.md - PAT-0190 - Contract Drift: /workbench/patterns/contract-drift.md - PAT-0320 - Convergence Failure: /workbench/patterns/convergence-failure.md - PAT-0260 - Cross-Layer Escalation: /workbench/patterns/cross-layer-escalation.md - PAT-0270 - Density Spike: /workbench/patterns/density-spike.md - PAT-0280 - Density Vacuum: /workbench/patterns/density-vacuum.md - PAT-0290 - Divergent Outputs: /workbench/patterns/divergent-outputs.md - PAT-0300 - Escalation Growth: /workbench/patterns/escalation-growth.md - PAT-0130 - Incomplete Declaration: /workbench/patterns/incomplete-declaration.md - PAT-0150 - Interface Mismatch: /workbench/patterns/interface-mismatch.md - PAT-0330 - Invariant Breakage: /workbench/patterns/invariant-breakage.md - PAT-0120 - Missing Authority: /workbench/patterns/missing-authority.md - PAT-0210 - Non-Deterministic Execution: /workbench/patterns/non-deterministic-execution.md - PAT-0310 - Orphaned Structure: /workbench/patterns/orphaned-structure.md - PAT-0340 - Overreach: /workbench/patterns/overreach.md - PAT-0350 - Persistence Instability: /workbench/patterns/persistence-instability.md - PAT-0360 - Propagation Amplification: /workbench/patterns/propagation-amplification.md - PAT-0370 - Redundant Declaration: /workbench/patterns/redundant-declaration.md - PAT-0200 - Reference Instability: /workbench/patterns/reference-instability.md - PAT-0160 - Schema Breakage: /workbench/patterns/schema-breakage.md - PAT-0380 - Silent Mutation: /workbench/patterns/silent-mutation.md - PAT-0390 - Threshold Breach: /workbench/patterns/threshold-breach.md - PAT-0400 - Unbounded Scope: /workbench/patterns/unbounded-scope.md - PAT-0410 - Unconstrained Expansion: /workbench/patterns/unconstrained-expansion.md - PAT-0420 - Undeclared Side Effect: /workbench/patterns/undeclared-side-effect.md ### Lenses - LEN-0100 - Absence Lens: /workbench/lenses/absence-lens.md - LEN-0110 - Authority Overlay Lens: /workbench/lenses/authority-overlay-lens.md - LEN-0120 - Boundary Compliance Lens: /workbench/lenses/boundary-compliance-lens.md - LEN-0130 - Compatibility Envelope Lens: /workbench/lenses/compatibility-envelope-lens.md - LEN-0140 - Compression Lens: /workbench/lenses/compression-lens.md - LEN-0150 - Conflict Lens: /workbench/lenses/conflict-lens.md - LEN-0160 - Constraint Sufficiency Lens: /workbench/lenses/constraint-sufficiency-lens.md - LEN-0170 - Convergence Lens: /workbench/lenses/convergence-lens.md - LEN-0180 - Determinism Lens: /workbench/lenses/determinism-lens.md - LEN-0190 - Escalation Gradient Lens: /workbench/lenses/escalation-gradient-lens.md - LEN-0200 - Interface Contract Lens: /workbench/lenses/interface-contract-lens.md - LEN-0210 - Invariant Lens: /workbench/lenses/invariant-lens.md - LEN-0220 - Isolation Boundary Lens: /workbench/lenses/isolation-boundary-lens.md - LEN-0230 - Normalization Lens: /workbench/lenses/normalization-lens.md - LEN-0240 - Overreach Lens: /workbench/lenses/overreach-lens.md - LEN-0250 - Propagation Lens: /workbench/lenses/propagation-lens.md - LEN-0260 - Provenance Trace Lens: /workbench/lenses/provenance-trace-lens.md - LEN-0270 - Reconciliation Lens: /workbench/lenses/reconciliation-lens.md - LEN-0280 - Reference Stability Lens: /workbench/lenses/reference-stability-lens.md - LEN-0290 - Variance / Entropy Lens: /workbench/lenses/variance-entropy-lens.md ## Canonical Term Policy Canonical Pattern and Lens codes, slugs, and titles must remain unchanged. Do not translate, localize, paraphrase, or rename canonical ontology terms. Localized explanations may be provided separately, but they do not replace canonical terms. ## Boundary Search returns Issues. Issues are visible failure surfaces. Patterns are recurring structural forms. Lenses are diagnostic views. Check Input produces controlled gap terms. Gap Explorer maps those terms to related Patterns and useful Lenses. Issues are not the target of Check Input Step 2. The Workbench helps find and inspect structure. It is not a chatbot, model score, diagnosis engine, receipt system, or governance platform.