Platform for AI-Assisted Software Understanding

A client-specific living documentation platform that reconstructs technical knowledge from source code, requirements, tests, logs, and existing documentation.

About the client

How a client-specific platform rebuilt technical context around a mature software system and kept it up to date as the product changed.

Background:

No one person could explain the whole system anymore. One senior engineer had become the person everyone relied on to make sense of the older parts of the platform. Developers regularly came to him when they needed to understand an unfamiliar component or assess the risk of a change. If he was unavailable, the investigation often slowed down.

At its core, the system had five official sources of truth- code, Jira, tests, documentation, and production history- and one unofficial one: the engineers who had been around long enough to remember how they fit together.

A routine-looking Jira ticket could turn into hours of investigation before anyone felt ready to make the change: What else depended on it? Why did that branch stay untouched? Which tests confirmed the current behavior remained safe? To make matters worse, manual documentation went stale as soon as the code changed, forcing the team to rely on personal knowledge rather than the official record.

The Trigger:

The issue became clear on what looked like a routine PaymentService change. The ticket made it look like an isolated fix, but the change reached well beyond PaymentService.

The developer had to move between the repository, Jira, Confluence, and test cases to reconstruct the surrounding context. While some dependencies were obvious in the code, others only emerged once the team traced relationships across systems. The team eventually had to involve an experienced engineer who remembered why one of the less obvious branches existed in the first place.

The Obstacles :

Better search wasn’t enough, because finding the right artifacts still didn’t reveal whether they actually described the same behavior.

If an AI explanation sounded convincing but missed a dependency, an engineer could make a decision based on incomplete information. Where did this conclusion come from, and which source supports it?

Team:

  • AI/ML Engineer 
  • Backend Engineer 
  • QA Automation Engineer 
  • Solution Architect

The Approach:

Early in the project, the team considered building the knowledge base the straightforward way: ingesting the client’s documentation, indexing the repository, and putting an AI interface on top. While that approach would have been quicker, it would also have reproduced the very problem the team was trying to solve. A Jira ticket saying that a payment retry should happen three times, a method implementing five retries, a test expecting five, and a production log showing repeated sixth attempts are not four versions of the same document. They are four different pieces of evidence about the same behavior. Flattening those artifacts into a search index would make them searchable without revealing how they related, which source reflected the current system, or why they disagreed. Devox was engaged specifically to solve this, as the project required deep expertise in modeling software provenance, dependencies, and testing—moving beyond simple AI integration to create a structured evidence graph.

With the platform in place, it integrates those sources into a single model. Rather than treating them as isolated repositories, it compares what was intended in Jira and Confluence with what was actually implemented in Source Code, what was validated through Test Cases, and what actually occurred in production according to Server Logs, with existing READMEs providing initial context. 

Engineers could trace dependencies, see what a change might affect, and follow the documentation back to its source evidence. 

Technologies:

  • Knowledge Graphs
  • LLMs
  • RAG
  • LSP & AST Analysis
  • Vector Search
  • Jira & Confluence APIs
  • CI/CD Integrations
  • Log Ingestion

The Journey:

Starting with source code as the anchor. Documentation could be outdated, and tickets could describe behavior that changed during implementation. The repository became the technical anchor because it reflected the implemented system. The repository ingestion layer parsed the code into symbols rather than treating files as text. LSP data resolved definitions and references across modules, while AST analysis handled structural relationships that plain-text search could not reliably infer. PaymentService, for example, did not behave like a self-contained service. One of the dependencies was especially easy to miss because there was no direct call from the service being changed. The relationship only became visible when the team followed the reference chain through a shared component.

Moving from search to a dependency model, the graph exposed a downstream component that the Jira ticket never mentioned, and that was easy to miss when reading the service in isolation. The team could also see that not every affected path had an obvious corresponding test. Direct code links were treated as facts; inferred links stayed explicitly marked as inferences.

Connecting the code to the reason behind it. What initially looked like leftover technical debt turned out, once its history was traced, to be defensive logic preserved after an earlier integration failure. The platform identifies these connections by combining explicit code links with semantic matching, marking them as inferred until more evidence appears or an engineer confirms the relationship.

Bringing tests into the same model. A conventional coverage view could indicate that the team’s tests had executed that code. It could not tell them whether the particular behavior now at risk had been validated. Instead of asking whether the codebase was “covered,” they could ask whether the paths affected by this specific change were tested. 

Adding production evidence. From the code and tests alone, one of the affected paths looked peripheral. The logs showed a different picture: the same path recurred repeatedly in production, clustered around a specific failure condition. It wasn’t necessarily causing the failures, but it appeared often enough in production that the team couldn’t dismiss it as an edge case.

Keeping the platform inside the client’s environment. None of this required sending source code or production logs outside the client’s environment. Beyond data locality, the platform secures access via role-based controls and maintains a full audit trail of AI-assisted work, requiring engineering approval for all protected workflows.

Grounding AI in the technical graph. AI answers are backed by the underlying graph evidence, which allows engineers to distinguish between hard facts derived from the source and inferred relationships. This transparency ensures the platform doesn’t treat everything as certainty, encouraging engineers to treat the AI output as a starting point for their investigation rather than a final verdict.

Living documentation and release intelligence. Because every Git event triggers incremental re-analysis, the platform keeps documentation and dependency maps in sync. This transforms the graph into release intelligence: the platform maps changed paths to their tests, allowing QA to identify missing coverage or weak evidence before regression begins, rather than manually working backward from the entire test suite.

The Change:

Before the platform, assessing a change required manually reconstructing context across Jira, code, documentation, and the personal knowledge of long-tenured engineers.

After the platform, developers start with the change and follow the dependency graph outward. They can immediately see what behavior is affected, how it’s tested, and what production logs say. System context is no longer a slow, manual reconstruction—it’s a verifiable, living map that stays up to date as the code evolves.

Outcomes:

  • Reduced the time engineers spent reconstructing context before a change by bringing code, requirements, tests, and production evidence into one connected model.
  • Exposed dependencies that were easy to miss in code review alone, including downstream paths not mentioned in the original Jira ticket.
  • Made AI-generated explanations traceable and reviewable so that engineers could distinguish confirmed implementation facts from historical or inferred context.
  • Turned test coverage into change-specific risk insight, showing which affected paths were validated and where coverage was still weak.
  • Used production evidence to challenge assumptions about edge cases, revealing paths that looked peripheral in code but appeared repeatedly under real failure conditions.
  • Made release regression more targeted, allowing QA to start from the actual dependency paths touched by a change instead of working backward from the full suite.
  • Reduced reliance on long-tenured engineers for system knowledge, giving newer developers a way to follow requirements, implementation history, dependencies, and tests without rebuilding that context from scratch.
  • Kept technical documentation aligned with the codebase through incremental re-analysis after Git changes, reducing the risk of engineers relying on stale documentation.

Customer

Voice:

“Finding the code was easy. The nightmare was figuring out what else it would break. Before, you’d waste half a day tracing dependencies and asking around just to feel safe about a PR. Now I can see the requirement, the code path, and the tests in a single view. It stops the guessing game.”

The Bottom

Line:

If your product depends on people remembering how the system works, that dependency is already a risk. Devox Software builds living documentation platforms that integrate with the engineering tools you already use and keep technical context up to date as the product evolves.

Book a call

Want to Achieve Your Goals? Book Your Call Now!

Contact Us

We Fix, Transform, and Skyrocket Your Software.

Tell us where your system needs help — we’ll show you how to move forward with clarity and speed. From architecture to launch — we’re your engineering partner.

Book your free consultation. We’ll help you move faster, and smarter.

Let's Discuss Your Project!

Share the details of your project – like scope or business challenges. Our team will carefully study them and then we’ll figure out the next move together.







    By sending this form I confirm that I have read and accept the Privacy Policy

    Thank You for Contacting Us!

    We appreciate you reaching out. Your message has been received, and a member of our team will get back to you within 24 hours.

    In the meantime, feel free to follow our social.


      Thank You for Subscribing!

      Welcome to the Devox Software community! We're excited to have you on board. You'll now receive the latest industry insights, company news, and exclusive updates straight to your inbox.