Keeping Up: Dev Log - Pull Request 451

By Jon Chappell jon@sage-tech.AI

Keeping up in a fast-paced application development environment

Some of the names and details below have been changed to protect the innocent.

Why I wish I had used Sage

Today, I went about my usual developer business, but I forgot that I now have Sage-Tech.ai’s Sage that I could have used to help me do a better job of keeping up with my team’s pull requests.

I could have used Sage to help me understand the context of the PR, saving myself (and my team) time and effort, and done a better job of providing useful feedback, but I forgot about using Sage.

Then I realized: everyone on the team faces a similar, yet familiar problem: Detailed familiarity with their own work, but a limited understanding of others’ work.


Here is what happened.

My Day Thus Far

It’s 2:47 pm. What happened?

I had a great idea for the ticket I’m working on this morning, but then several interruptions, Slack chats – something about support for Google Cloud Platform, maybe 90 minutes working on my code (yay!), snuck in some lunch. You know how it goes.

PR 451 - Zombie API testing improvements

There’s a PR 451 in my queue, with author Rob. Good, Rob knows what he’s doing. This won’t be too painful. I dig in. Rob has recognized and exploited a pattern in the automated tests and templated things out, replacing about 40 hand-written individual tests with 5 groups of tests. It appears to offer better coverage and significantly less code. Nice. I wonder for a moment if I should pull and run the tests, and how long they take to run. I put that thought aside and instead read the code changes. Looks cool, but I wish I knew more about the system being tested. I know it’s an internal API for our Zombie system, which is used to pull old data from the Amazon S3 Glacier deep archive storage. I recall that Zombie has a security model enforcing data entitlements, and Rob’s test automation changes don’t appear to violate any of that. Good.

But wait! I see that some Zombie also now works with Google Cloud Platform. I thought Zombie was only AWS. I guess our Zombie team must have added GCP support somewhere along the line. I wish I knew more about that. I know enough about Zombie’s AWS support to have some clue about Rob’s PR, but I have no idea what the Zombie team has done for GCP.

I look in the Zombie wiki, and I see some GCP pages. Great! There are a few diagrams, high-level overview, some flow diagrams, last modified late last year. Might not be up to date. I pull the latest Zombie repo and have a look at the code.

Zombie is pretty clean, but there are some things here that are new to me, for GCP. I wonder how the security model is implemented in GCP. There’s a lot of Zombie GCP code.

I could schedule a call with the Zombie team lead or hit up the Zombie team on Slack.

It’s 3:25 pm now. I want to get back to my ticket. I know from previous work that Rob knows what he’s doing, and although he’s reworked tests originally written by someone else, I assume he got it right. I do some cursory review of the PR, make a couple of gratuitous comments, and hit Approve…

Sage Understanding?

The struggle is real.

Reflecting on the above PR, I realized that I missed a step: Our team now has this Sage AI system, which analyzes our application source code and produces Understanding (whatever that is) from the code. I’m not sure what that means exactly, but I could use a better understanding of what Zombie is doing, especially Zombie’s access control rules when using GCP. It would be good to do my homework first and explore Zombie on my own, so I have some clue, before deciding if I need to take up others’ time on this.

I found out Sage knows how to figure out architectural patterns, business rules, APIs, algorithms, tech stacks, and more from our applications’ source code, providing documentation, but more importantly, a Model Context Protocol (MCP) service that I can use with my LLM to prompt and ask questions about Zombie and its use of GCP.

I fire up Claude and run some prompts:

  1. “Give me a 100-word overview of Zombie’s access control model for GCP.”

  2. “Compare and contrast how Zombie implements access entitlements for both AWS and GCP. Provide a table showing 10 main topics, row by row, highlighting similarities and differences.”

  3. “Describe differences in AWS and GCP long-term storage terminology that are used in the Zombie API implementation that introduce subtle problems in the API usage. Be concise.”

  4. “Cite sources in the Zombie API code that I can use to follow up and dig deeper where I want to.”

In this scenario, 20 minutes later, I could have had a better handle on what Zombie is doing with GCP, and had a better chance of making a meaningful contribution to PR 451.

Next
Next

7 1/2, 11, 4.5, 2.5 = Why Context Matters