PENGO Workbench
Workbench / Lenses / Normalization Lens

LEN-0230

Normalization Lens

Transforms structurally equivalent variants into a canonical form to prevent false divergence.

Primary Pattern Matches

PAT-0370

Redundant Declaration

A structural condition where multiple declarations produce equivalent structural effect without semantic differentiation.

Lens Application

The Normalization Lens is a primary inspection mechanism for Redundant Declarations because it examines whether multiple declarations collapse into the same canonical structure. When variants normalize to equivalent form without meaningful semantic distinction, the lens strongly supports inspection for redundant declaration behavior.

Inspect For

  • Declarations that normalize to the same canonical structure
  • Repeated structural effects with no semantic distinction
  • Variant forms that create apparent but not meaningful divergence
  • Canonicalization exposing duplicate declaration roles

Avoid

Treat normalized equivalence as an inspection signal, not as proof that the declaration is redundant in every semantic context.

Secondary Pattern Matches

PAT-0250

Circular Dependency

A structural condition where two or more elements depend on each other in a closed loop without an independent base condition or declared resolution mechanism.

Lens Application

The Normalization Lens applies indirectly to Circular Dependency by helping collapse equivalent dependency expressions, naming variants, or structural representations into a canonical form. This can make repeated loops, mirrored dependencies, or disguised equivalences easier to notice, while not by itself establishing whether the loop is problematic.

Inspect For

  • Equivalent elements represented under different names
  • Dependency loops hidden by formatting or terminology differences
  • Repeated structures that normalize to the same cycle
  • Missing canonical base or resolution marker

Avoid

Treat normalized similarity as an inspection signal, not sufficient evidence that Circular Dependency has been established.

PAT-0150

Interface Mismatch

A structural condition where observed interface behavior, shape, or exchange differs from the declared interface contract.

Lens Application

As a secondary lens, the Normalization Lens helps inspect Interface Mismatch indirectly by canonicalizing equivalent payload shapes, naming variants, formats, or ordering differences before comparison. This can make residual mismatch signals easier to see without treating every variation as contract divergence.

Inspect For

  • Equivalent fields expressed with different names, casing, or order
  • Format differences that normalize to the same value
  • Payload variants that collapse into one canonical structure
  • Residual differences after normalization

Avoid

Treat normalized equivalence as a signal for comparison, not confirmation that the interface fully matches its declared contract.

Related Issues

ISS-0087

Agent Cannot Choose Tool Without Tool Result

The agent needs a tool result to choose the right tool, but cannot obtain that result without choosing a tool first.

ISS-0115

Agent Gets Conflicting Tool Authority

An agent receives conflicting authority signals about whether, when, or how it may use a tool, connector, function, or integration.

ISS-0082

Agent Never Settles on Final Answer

The agent keeps revising, rechecking, planning, or branching instead of converging on a final answer or completed result.

ISS-0026

AI Output Breaks Parser

The AI output causes a parser, validator, importer, or structured-output consumer to fail.

ISS-0088

Approval Depends on Output That Needs Approval

A required approval depends on an AI output or workflow result that itself cannot be produced or trusted until approval is granted.

ISS-0003

Citation Points to Wrong Source

A citation, reference, link, or source pointer is present, but it points to the wrong source, wrong passage, wrong document, or unsupported evidence.

ISS-0027

Duplicate Fields With Same Meaning

The AI returns multiple fields, labels, sections, or structured elements that carry the same meaning and create ambiguity about which one should be used.

ISS-0066

Duplicate Output Sections

The AI repeats sections, headings, blocks, or output areas in a way that creates redundancy, confusion, or downstream handling problems.

ISS-0014

Fallback Authority Is Missing

The system does not declare who or what has authority when the primary owner, rule, tool, source, or decision path is unavailable or inconclusive.

ISS-0021

Invalid JSON Output

The AI returns malformed JSON or structured output that cannot be parsed.

ISS-0038

Model and Workflow Disagree on Next Step

The AI model recommends or selects a next step that conflicts with the workflow state, required handoff, routing rule, or process sequence.

ISS-0070

Multiple Policies Say the Same Thing

Multiple policies, rules, or guidance documents express the same requirement, creating redundancy and uncertainty about which one governs.

ISS-0025

Nested Fields Do Not Match

The AI returns nested structured fields whose internal shape, hierarchy, parent-child relationship, or contained values do not match the expected structure.

ISS-0056

Old Output Expectations Survive Migration

Expectations from a prior model, prompt, schema, tool, or workflow survive a migration and continue shaping review or downstream handling after they should be replaced.

ISS-0018

Output Breaks the Next Step

The AI output looks acceptable by itself but cannot be used by the next tool, workflow step, parser, reviewer, or downstream consumer.

ISS-0090

Policy Decision Depends on Itself

A policy decision requires the outcome of the same policy decision before it can be made.

ISS-0054

Prompt Changed but Workflow Did Not

A prompt changes but the workflow, parser, review step, routing rule, or downstream expectation still assumes the old prompt behavior.

ISS-0068

Repeated Constraints Create Confusion

Repeated constraints, instructions, limits, or exclusions make the task harder to interpret instead of clearer.

ISS-0100

Review Escalates Without Stop Condition

A review process keeps escalating, re-reviewing, or adding scrutiny without a declared condition for stopping.

ISS-0092

Routing Path Cycles Back to Start

A routing path sends the case back to the starting point or an earlier step without resolving the condition that caused the route.

ISS-0057

Same Contract Name Has Different Meanings

The same prompt, schema, field, policy, tool, or workflow contract name is used in different places with different meanings.

ISS-0067

Same Rule Declared in Multiple Places

The same rule, constraint, instruction, or policy appears in multiple places, creating redundancy and possible drift.

ISS-0069

Same Workflow Check Happens Twice

The same review, validation, approval, routing, or safety check occurs more than once in the workflow without a clear reason.

ISS-0091

Schema Reference Loops Without Base Case

A schema, field, type, object, or structured reference points through a loop without a base case that allows validation or interpretation to resolve.

ISS-0107

Single Field Carries Too Many Obligations

One field, label, score, status, or structured value is expected to carry too many meanings, decisions, or workflow obligations.

ISS-0017

Tool Call Contract Mismatch

The AI or agent calls a tool with names, arguments, types, modes, or shapes that do not match the declared tool interface.

ISS-0108

Tool Can Act Without Responsible Authority

A tool, connector, function, or integration can perform an action without a declared responsible authority for that action.

ISS-0020

Tool Exists but Required Inputs Are Missing

A usable tool or integration exists, but the AI or agent does not have the required inputs, permissions, fields, identifiers, or context needed to call it correctly.

ISS-0019

Tool Result Not Integrated Correctly

The AI receives a tool result but misreads, ignores, overwrites, misplaces, or fails to incorporate it correctly into the final output or workflow state.

ISS-0110

Tool Rules and Prompt Rules Conflict

Tool, connector, function, or MCP rules conflict with prompt instructions, causing the AI or agent to face incompatible requirements.

ISS-0086

Workflow Loops Through Review Without Resolution

A workflow repeatedly sends work through review, repair, or escalation without reaching an approved, rejected, or otherwise resolved state.

ISS-0089

Workflow Waits on Step That Waits Back

A workflow step waits for another step that also waits on the first step, creating a blocking loop.

ISS-0024

Wrong Field Types

The AI returns fields with values whose types do not match the expected schema, such as strings where numbers, booleans, arrays, objects, or enums are required.