AI-Enabled Governance
Unifying Multiple Pipelines with AI-Governed Standards
00

problem
Standardize the look, feel and operation of multiple pipeline applications under one company, without erasing each organization’s unique workflows and proprietary systems.
solution
I established global requirements as a source of truth, then turned them into an AI knowledge base that guides requirements review and code across teams.
From One Pipeline to Many
I originally started this project on a single application for a single pipeline. As it ramped up, we expanded to other pipelines within the same company. These pipelines are separate entities, but all are owned and operated by the same larger company, so there was a desire for modernization to standardize their look, feel and operation. Each still has its own workflows and proprietary systems, so the company needed to move each pipeline toward a unified vision rather than running on parallel tracks.
Global Requirements as a Source of Truth
Consistency for an organization starts with consistency at the application level. Early in the project, I began a conversation with leaders about documenting global requirements and application standards. As requirements were refined and features were designed and pushed to engineering, we identified the unifying requirements. Any requirement touching three or more features was ratified and rolled into the knowledge base. As each application’s global requirements grow, we use a similar approach to synthesize its application standards.
Working Hand in Hand with the Design System
The design system, built on MUI, governs tokens, icons, buttons, components and patterns. The global requirements govern consistent, business-specific component behavior and data handling and presentation across the application.
Injecting AI into the Solution

I distilled the global requirements into a knowledge base of markdown files that an agent can reference. That knowledge base is the root of both our governance and our code solutions. On the governance side, BSAs and designers chat with the agent to review their documents for accuracy and repetition before reviewing with the broader team. Because the global requirements apply holistically, they don’t need to be rewritten in every requirements document. That keeps BSAs from writing the same requirement with slightly different interpretations, which lead to slightly different implementations, reducing tech debt immensely. The agent also keeps everyone up to date on those requirements.
Tracking Gaps with Power Automate
The agent can also use Power Automate to generate gap reports. When teams identify gaps in the requirements while talking with the agent, it writes a gap report, letting us track those gaps and keep adding to our knowledge base.
Code Assist & Testing
The same knowledge base is used via skills in VS Code to help developers adhere to the global requirements and write accurate code across the application. The testing team also relies on it to write test cases and confirm everything adheres. This adds another layer of governance to the project and ensures the requirements are applied in places designers can’t always poke around.
Keeping People in the Loop
The agent reviews and flags, but people make the decisions. BSAs, designers and developers choose what to do with its feedback, and leads review and ratify requirements before they enter the knowledge base. The agent keeps teams aligned, while the judgment stays with the people doing the work.
A Knowledge Base That Keeps Growing
The knowledge base is maintained, not just built. New requirements that touch three or more features are ratified by leads and rolled in, and every gap report the agent writes becomes a candidate for the next addition. The knowledge base is updated every two weeks, once per sprint, so each conversation with the agent builds on the last.
Impact
Testing and QA now move much more quickly, and we see far fewer repeated mistakes and small deviations across different features. Because every team works from the same source of truth, a requirement is interpreted and implemented the same way each time.
see also








