Author: Richard Seroter

  • How to share agentic coding artifacts with your teammates

    Maybe it’s just me, but it feels like most of the agentic coding tools out there are single-player. An individual developer engages in a coding session with one or more agents, and the non-code “exhaust” (scratch files, harness-generated session docs) stays on the local machine. Oh sure, the code gets checked into a team-visible repo, and git commit body should list all the key changes. But are teammates losing out on the “thinking” that went on during that individual coding session? Maybe those core details are in a requirements/design doc somewhere, assuming people still write those! But how are teams of developers collaborating nowadays with all this agentic coding going on? Are we sharing those session-level artifacts and creating a team “brain”?

    I wondered if there was an easy way to take my Google Antigravity session artifacts and make them part of my commits. By default, any session/conversation docs—implementation plans, walkthroughs, chat transcripts—live in a machine folder. But I want those dragged into my local project folder so that they’re automatically pulled into commits, and thus visible to teammates. Then, teammates can use their own harness to understand my thinking or how I arrived at a certain decision for my code contribution.

    So I wrote an agent skill. It includes a Python script that explicitly moves the files when the coding session is done. The script does a git add of those files, including the full (and summary) session transcript. Specific to Antigravity, you might also build a sidecar, or something that runs in the background and continuously works. But this was a simpler choice.

    Let’s walk through the key bits. And then I’ll show it in action.

    In a hidden .agents folder, I’ve got an AGENTS.md file, a skills folder that contains a skill named team-sync, and then a SKILL.md along with a Python script used by the skill.

    We’ll start with the SKILL.md. It fires up as the agent finishes artifacts, and when explicitly triggered by the user.

    ---
    name: team-sync
    description: Synchronizes local Antigravity conversation history, transcripts, and artifacts (including a light summary) to the project repository for team sharing.
    ---
    
    # Team-Sync Custom Skill
    
    Use this skill to archive and upload your conversation's transcripts, artifacts, and a "light" human-readable summary into the Git repository, allowing other team members to quickly catch up on your agent steps, decisions, and outcomes.
    
    ## When to Use
    * Call this skill when a coding task, implementation plan, or refactoring conversation has finished successfully.
    * Run it before opening a Pull Request so that reviewers can inspect the execution logs and the conversation summary.
    
    ## Instructions for the Agent
    1. **Generate the Light Transcript (`summary.md`):**
       Create a file named `summary.md` in your local brain directory. The summary must follow this structure:
    
       ```markdown
       # Conversation Summary: [Objective/Topic]
       * **Date:** [Current Date]
       * **Conversation ID:** [ANTIGRAVITY_CONVERSATION_ID]
    
       ## TL;DR
       [A 1-2 sentence high-level summary of what was accomplished]
    
       ## Key Decisions & Rationale
       * **Decision:** [e.g., Using Python's shutil instead of bash commands]
         * **Why:** [e.g., Cross-platform safety and better permission handling]
    
       ## Most Interesting Event / "Aha" Moment
       [Capture any major back-and-forth conversation, user course corrections, pivot points, or model/user "aha" moments that defined the flow of this conversation.]
    
       ## Scope of Changes
       * **Files Modified/Created:** [List of files]
       * **Verification:** [How the changes were validated, command outputs, etc.]
    
       ## Learnings & Gotchas for the Team
       * [Any lessons learned about the API, codebase, or environment that others should know]
       ```
    
    2. **Verify Environment:**
       Ensure `ANTIGRAVITY_CONVERSATION_ID` is set in the environment.
    
    3. **Execute Sync Script:**
       Run the sync helper script:
       ```bash
       python3 .agents/skills/team-sync/scripts/sync.py
       ```
       *Note: Because `sync.py` automatically copies all `.md` files, your newly created `summary.md` will be synced to the workspace repository automatically.*
    
    4. **Report Status:**
       Confirm to the user that the summary and files have been successfully synced.
    
    

    The Python script does the work of actually copying files from Antigravity’s “brain” folder into my local project folder.

    #!/usr/bin/env python3
    import os
    import sys
    import shutil
    import subprocess
    from pathlib import Path
    
    def get_project_root() -> Path:
        # Find project root by looking for .agents or .git starting from CWD
        current = Path.cwd().resolve()
        for parent in [current] + list(current.parents):
            if (parent / ".agents").is_dir() or (parent / ".git").is_dir():
                return parent
        return current
    
    def find_most_recent_conversation(brain_root: Path) -> str:
        """Finds the most recently modified conversation subdirectory in the brain cache."""
        if not brain_root.is_dir():
            return None
        
        subdirs = []
        for p in brain_root.iterdir():
            # Conversation directories are 36-char UUIDs (plus optional custom name directories)
            if p.is_dir() and p.name != "scratch":
                try:
                    mtime = p.stat().st_mtime
                    subdirs.append((mtime, p.name))
                except OSError:
                    continue
                    
        if not subdirs:
            return None
        
        # Sort by modification time, newest first
        subdirs.sort(key=lambda x: x[0], reverse=True)
        return subdirs[0][1]
    
    def check_git_installed() -> bool:
        """Checks if git command-line tool is installed and available in PATH."""
        return shutil.which("git") is not None
    
    def main():
        print("=== Antigravity Team Sync ===")
        
        home_dir = Path.home()
        brain_root = home_dir / ".gemini" / "antigravity" / "brain"
        
        # 1. Retrieve conversation ID from environment or fallback
        conv_id = os.environ.get("ANTIGRAVITY_CONVERSATION_ID")
        if not conv_id:
            print("Notice: ANTIGRAVITY_CONVERSATION_ID env variable is not set.", file=sys.stderr)
            print("Attempting to auto-detect the most recent local conversation...", file=sys.stderr)
            conv_id = find_most_recent_conversation(brain_root)
            
            if not conv_id:
                print("ERROR: Could not locate any local conversation histories.", file=sys.stderr)
                sys.exit(1)
            print(f"Auto-detected conversation: {conv_id}")
        else:
            print(f"Active Conversation ID: {conv_id}")
        
        # 2. Define source paths
        source_brain_dir = brain_root / conv_id
        if not source_brain_dir.is_dir():
            print(f"ERROR: Local conversation directory not found at: {source_brain_dir}", file=sys.stderr)
            sys.exit(1)
            
        # 3. Define target paths
        proj_root = get_project_root()
        target_history_dir = proj_root / ".antigravity" / "history" / conv_id
        
        print(f"Source Directory: {source_brain_dir}")
        print(f"Target Directory: {target_history_dir}")
        
        # Create target directory
        try:
            target_history_dir.mkdir(parents=True, exist_ok=True)
        except PermissionError:
            print(f"ERROR: Permission denied. Cannot write to target directory: {target_history_dir}", file=sys.stderr)
            sys.exit(1)
        except Exception as e:
            print(f"ERROR: Failed to create target directory: {e}", file=sys.stderr)
            sys.exit(1)
        
        # 4. Copy Artifacts (markdown files and media in the main directory)
        copied_count = 0
        for file_path in source_brain_dir.iterdir():
            if file_path.is_file() and file_path.suffix in [".md", ".png", ".jpg", ".jpeg", ".gif", ".mp4", ".mov"]:
                try:
                    shutil.copy2(file_path, target_history_dir / file_path.name)
                    print(f"-> Copied file: {file_path.name}")
                    copied_count += 1
                except PermissionError:
                    print(f"Warning: Permission denied copying file {file_path.name}")
                except Exception as e:
                    print(f"Warning: Failed to copy {file_path.name}: {e}")
                
        # 5. Copy Transcripts
        logs_dir = source_brain_dir / ".system_generated" / "logs"
        transcript_copied = False
        if logs_dir.is_dir():
            for log_file in ["transcript.jsonl", "transcript_full.jsonl"]:
                source_log = logs_dir / log_file
                if source_log.is_file():
                    try:
                        shutil.copy2(source_log, target_history_dir / log_file)
                        print(f"-> Copied log: {log_file}")
                        transcript_copied = True
                    except PermissionError:
                        print(f"Warning: Permission denied copying log {log_file}")
                    except Exception as e:
                        print(f"Warning: Failed to copy log {log_file}: {e}")
                    
        if not transcript_copied:
            print("Warning: No transcript files found in the conversation logs.")
            
        # 6. Git Synchronization
        git_dir = proj_root / ".git"
        if git_dir.is_dir():
            if not check_git_installed():
                print("\nWarning: Git repository detected, but git executable is not available in your PATH. Skipping Git commit.")
                print("Sync completed successfully!")
                return
                
            try:
                print("\nStaging files in Git...")
                subprocess.run(["git", "add", str(target_history_dir)], check=True, cwd=proj_root)
                print("Conversation history and transcripts staged in Git successfully!")
                print("You can now commit these staged history files together with your code updates.")
            except subprocess.CalledProcessError as e:
                print(f"\nWarning: Git command failed with error code {e.returncode}.", file=sys.stderr)
                print("Your files have been successfully copied locally, but could not be staged automatically in Git.", file=sys.stderr)
        else:
            print("\nNote: Not a Git repository (or .git not found). Skipping Git commit.")
            
        print("\nSync completed successfully!")
    
    if __name__ == "__main__":
        main()
    
    

    And finally, my AGENTS.md is quite simple and tells my harness when to mirror the core coding session artifacts.

    # Team Customization Rules
    
    These rules govern how Antigravity agents operate within this project repository to facilitate seamless team collaboration.
    
    ## 1. Artifact Mirroring
    To ensure that all design decisions, test verifications, and walkthroughs are visible to the team during code reviews:
    * **Mirroring Rule:** Whenever you create or modify an artifact (such as `implementation_plan.md`, `task.md`, or `walkthrough.md`) in the local user cache directory (`~/.gemini/antigravity/brain/<conversation-id>`), you MUST copy or write a duplicate version of that file to the workspace under `.antigravity/history/<conversation-id>/`.
    * **Git Commits:** These mirrored documents should be staged and committed to Git alongside the source code changes.
    
    ## 2. Conversation Telemetry & Syncing
    * If the user or agent needs to share the raw execution logs, terminal outputs, and thinking transcripts of a conversation:
      * Run the `team-sync` skill at the end of the session.
      * This will execute the `sync.py` script to collect the finalized `transcript.jsonl` and copy it to the same `.antigravity/history/<conversation-id>/` directory.
    
    

    This .agents folder could be part of some shared Git project or project-bootstrapping script. Here’s an example of how to use it.

    I created a local directory for my new coding project. Maybe I’m the first one on my team working on it. After copying the .agents folder into that directory, and running a git init, I opened Google Antigravity and started a new session/conversation. Notice that my Antigravity settings for this project shows the skill and agent rules loaded up automatically.

    At this point, I just did my work like always. I used Antigravity to build a Dart and Flutter-based web app for my fictitious hotel chain. I built this (and packaged it) over three distinct coding sessions.

    As each session went along, I noticed the session artifacts (like implementation plans and walkthroughs) showing up in the .antigravity folder within my project directory. And I ended each session with a request to run the team-sync skill. That ensured that my final chat transcript(s) showed up too.

    Let’s imagine that I’ve pushed all my changes into a team-shared repo. The next developer(s) can pull down the app code, along with the session history. Maybe they’re curious about how we arrived at our deployment choice. For example:

    Review the summary transcripts in this project and help me understand how the team decided to deploy to Cloud Run instead of Kubernetes.
    
    

    The result? The transcript summary is consulted and the developer sees the results of the conversation and trade-offs factored in.

    These key architectural decisions should be in other stateful artifacts like design docs. But given how fast teams are running now, the “requirements” are sprinkled throughout the code, test plans, session artifacts, and upfront docs.

    Maybe I’m solving a temporary problem and within weeks, all these coding tools will make it super easy to create a shared “brain” for software teams. But for now, I like that agent skills make it easy to extend Antigravity this way. How are you thinking about sharing “thinking” among your developers?

  • Daily Reading List – July 21, 2026 (#829)

    My team runs a program where we spend a week with a customer taking a use case from idea to MVP. The team (and customer) came to San Diego this week so that I could be part of the exercise. It’s super cool to watch a group come together quickly to iterate, learn, and ship.

    [blog] Introducing Gemini 3.6 Flash, 3.5 Flash-Lite, and 3.5 Flash Cyber. Big model release day at Google. These are good performers, well-priced, and quite efficient with tokens.

    [blog] Reliability Is Not a Feature. It Is a Discipline. It’s also not a vague “non-functional requirement.” It’s a way of working, as this post calls out.

    [blog] How do you stay familiar with the code when it’s written by an LLM? Great post. There are smart ways (necessary ways?) to stay involved in the code that you’re ultimately accountable for.

    [blog] Guide to AI Tokenomics: Eleven Principles for Token Efficient Software Engineering. We’re all figuring out what works best in this world where tokens aren’t free. I liked this advice.

    [blog] The LLM Critics Are Right. I Use LLMs Anyway. Most smart people I know aren’t ignorant of the complaints or problems with LLMs. But that doesn’t mean LLMs aren’t still useful.

    [article] Are PMs becoming irrelevant? The old PM role is mostly irrelevant, I agree. The advice here is to become a strategic PM (not an “AI PM”).

    [article] How do you go from junior to staff engineer when AI writes the code? Maybe mentoring got easier. Keep hiring juniors, and bring agents into the mix to get them productive.

    [article] Frontline Workers Know How to Solve Your Organization’s Biggest Problems. It makes no sense to me to be a disconnected executive who only spends time with other execs. You should be talking with your employees multiple times per day.

    [blog] How to structure a log. Maybe AI can help you even if your logs are a mess. But create good logs is the right hygeine regardless.

    [blog] 13 hands-on demos to build on Gemini Enterprise Agent Platform. Great stuff. Here’s a list of tutorials you can run to learn how to build, scale, govern, and optimize agents. Each category matters.

    [article] 2030-shaped software. Some good thoughts here about agents, UIs, and what we’ll be using in a few years.

    [blog] In-House LLM Serving at Netflix. What breaks at scale? Those are some of the most interesting things to learn from others.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – July 20, 2026 (#828)

    On my first normal workday in a week-and-a-half, it was mostly all meetings. Lots of catch up. But I got to spend the last bit of the day working on a presentation about “how to use AI without losing your soul.” You can tune into it on Wednesday if you’d like!

    [blog] Earning taste and judgment. Worried that recent college grads are either unemployed or underemployed? You should be. Addy looks at what humans are uniquely good at (taste/judgement) and how early-career people that build it up.

    [blog] Evals belong in your CI/CD pipeline. I’m a sucker for opinionated statements like this. Gets my attention. This is reasonable advice. Although, my evals haven’t been super fast, so I wonder if you’d run them on every build.

    [blog] ADK Agent Identity on Google Cloud: Separate Identities, Separate Blast Radius. This topic is probably “stage two” after you’ve already built an agent. But understanding agent identity is critical if you ever hope to put an agent in production.

    [blog] Turn User Signal Into What You Build Next. It might not just be about mixing up the SDLC stages. Rather, it’s putting “user feedback” higher on the priority list and putting prototypes/variants in the hands of users faster.

    [blog] The Risk of Exposed Cloud Functions and How to Harden. The serverless hype train has reached the station, but that doesn’t mean many of us don’t still build scale-to-zero apps and functions. These are real concerns to mitigate.

    [blog] “Loop Engineering” Is Mostly Just Broken SDLC Wearing a Costume. Adron bringing out the big guns. Instead of using loops (error correction) to stumble through a process, craft workflows with clear signals.

    [blog] Three Agents Behind One Door: Multi-Tenancy in A2A. Multi-tenancy is new in A2A and makes it possible to have multiple agents behind one Agent2Agent server.

    [article] DoorDash Uses Envoy and Valkey for a 1.5M RPS Proxy Cache with 99.99999% Availability. Cool mix of caching, invalidation, failure handling, request coordination, and performance optimizations in one system.

    [blog] Making highly available, multi-region Cloud Run services just got easier. Run the same web app across regions with automatic failover? Not trivial. But we made it easier.

    [blog] Building scalable AI agents with modular prompt transpilation. Are you thinking about prompts like software artifacts? This post encourages a more rigorous approach to decomposition and construction.

    [article] AI OK in Linux development, says Torvalds. If you don’t like AI being used in Linux, fork it. More here.

    [blog] Designing APIs for Agents. Don’t just cater to humans and what we can comprehend. This piece encourages us to think differently for our AI consumers.

    [blog] Google is a Leader and positioned furthest in Vision and highest in Execution in the 2026 Gartner® Magic Quadrant™ for Conversational AI Platforms. Fantastic showing, and a very valuable technology category to start using at your own company.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – July 17, 2026 (#827)

    Just got home after a 24+ hour travel day back from India. No wifi on the second (11 hour) segment, so I’ll have some catching up to do! Great trip, though.

    [blog] What 10 autonomous film crews taught us about agent teamwork. This might be the wildest thing you read all week. What happens when you create film crews out of AI agents, and then assign an AI documentary crew to capture the journey? You get this.

    [article] How I Cut an AI Agent’s Token Use by 94%. Super smart. Over time, you might realize that your natural language agent skill can be “compiled” into a deterministic script.

    [blog] My thoughts on the future of Go in the AI era. So very well laid out, and a major reason that Go may become the preferred language for this AI era.

    [blog] How to manage AI investments in the agentic era. From OpenAI. It looks at how to identify (and quantify?) value from your AI investment.

    [blog] NotebookLM is now Gemini Notebook. We like renaming things. This product keeps getting better and more integrated, so I get the reasoning.

    [blog] Kimi K3: Open Frontier Intelligence. Yeesh, you could make the case that this is now the best coding model, and it’s an open one. Running this yourself is fairly impractical (for now), but I imagine the API will be super popular.

    [blog] Four math concepts to improve your vibe coding. I was told there’d be no math today. But Karl pulled me in with this post.

    [blog] Model Routing Is Simple. Until It Isn’t. Some interesting perspective up on the Hugging Face blog. You’ll increasingly crave a model router. But there’s more to it than you think.

    [blog] Evolving Spec-Driven Development: Conductor Now Supports Antigravity. This spec-driven extension for the Gemini CLI now works as a plugin for Antigravity and agentic harnesses.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – July 16, 2026 (#826)

    It’s my final day in India, as I fly home in a few hours (3am local time). Great trip. I’ve got a pile of things to think about, and another handful of things to go build.

    [article] The Prototype Is a Question, Not a Product. Just because we can do lightning-fast prototypes now, it doesn’t mean we shouldn’t have a strong hypothesis and scorecard before we start. Great reminder here.

    [blog] The (no longer) missing multi-agent pattern: triggering dynamic workflows from an agent. Very cool example of a runtime-determined orchestration that responds to dynamic requirements.

    [article] 5 Trends That Defined AI Engineering at World’s Fair 2026. Great lineup at this event. These trends represent the current best thinking.

    [article] How I use HTMX with Go. Long tutorial, but something I hadn’t tried before. And I was shocked to see all the positive vibes in the Hacker News conversation about this pairing.

    [blog] Claude at scale on Google Cloud: Frontier AI, built for enterprise production. We’re not just serving a great model here; you’re automatically getting our built-in scale, security, and cost-management features.

    [article] Microsoft is reportedly training salespeople to talk down OpenAI and Anthropic. We all take different approaches. This is certainly one. Although the claim about selling the only “end to end system” is … something.

    [blog] Which Doc Format is Best for AI Specifications? I had to regroup after reading the first sentence—that’s a LOT of specs. It seems we’re still figuring out which document formats represent the best way to transmit and store agent-friendly data.

    [blog] What does “playing politics” mean for software engineers? Its naive to believe “I’ll just do great work and everything will work out.” Do great work. But also have self-awareness about the system you’re operating in.

    [article] The Frontend Verification Gap in AI-Assisted Development. Your favorite AI tool probably creates some very nice looking frontend UIs. What does “correctness” look like though, and how do you test the frontend’s behavior?

    [blog] Let Your Agent Run Its Own Code Inside a Cloud Run Sandbox. I’m very bullish on this, and have already seen some pretty wild reference apps within Google.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – July 15, 2026 (#825)

    Our Google Developer Expert community is pretty remarkable. 8% of them are in India, and I got to spend all day today with them. And, I also snuck in some experimentation with agent skills.

    [article] The AI Didn’t Fail. The Deployment Did. That AI-powered café almost went bankrupt. Was it because the model went crazy? No. Casey shows that the AI didn’t have the context, guardrails, and memory that a competent builder would include.

    [blog] Building Service Topology at Scale: Architecture, Challenges, and Lessons Learned. Do you have an accurate topology of the dependencies between your systems? Few do. Here’s how Netflix built a streaming system to try and solve it.

    [article] DeepMind CEO calls for an independent standards body to regulate frontier AI. Important proposal that seems to have universal support among AI leaders.

    [blog] Control the ideas, not the code. You’ve got a limited number of usable hours in the day. Salvatore has a post worth reading and contemplating.

    [blog] You Just Hired a Million Bad Employees. There are like six hot takes in this post. Are humans now cheaper than software? This seems to assume that token costs will remain flat. But there’s an important point here about wasted cycles.

    [article] Google rolls out sovereign AI stack for India’s regulator sectors. I didn’t completely embarrass myself in this interview.

    [blog] “We Are 90% Done” Is the Most Expensive Sentence in Software Delivery. That last 10% seems to take most of the time. A lot of work hides in there, as called out in this post.

    [article] The real AI race may no longer be at the frontier. We’ll see. Open models are rightfully having a big moment right now. That won’t go away.

    [blog] Systems Engineering Playbook: Optimizing Qwen 3.5-397B MoE on Ironwood (TPU7x). Speaking of open models, here’s how we optimized one through some creative techniques.

    [article] Google’s Genkit Ships Agents API with Detached Turns and Human-in-the-Loop for TypeScript and Go. Great InfoQ writeup about this unique SDK for adding agent capabilities to your full-stack apps.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – July 14, 2026 (#824)

    Today was a whirlwind. What a great crowd at Google I/O Connect in Bengaluru. After keynotes and breakouts, I got to spend my afternoon with media, analysts, startup founders, podcasters, and influencer-types. I’m officially talked out.

    [paper] Always-OnAgents:A Survey of Persistent Memory, State, and Governance in LLMAgents. We’re going to see more always-on agents instead of primarily doing one-and-done sessions. But what does that mean to all the persisted state and the risks that come with that? Interesting analysis.

    [blog] On Arguing Against Jevons. Why do we keep “flinching” when faced with Jevon’s Paradox that efficiency and lower cost of a thing results in more consumption of that thing?

    [blog] Amazon SQS turns 20: Two decades of reliable messaging at scale. This was one of the first cloud services I ever used. Coming from a messaging background, I was blown away by the simplicity of having queues in the cloud.

    [article] Five studies that are changing how I think about AI in software engineering. Each of these papers takes on a different question, and this article summarizes the key points from each. But most data shows that we’re building code faster than we can verify it or deliver it!

    [article] Enterprise AI is entering an evaluation gap: Agents are gaining autonomy faster than companies can verify them. Echoing my previous point! There’s not a single solution.

    [article] Engineering teams will shrink as AI shifts responsibilities. You’ll likely see more, smaller teams replacing the fewer, bigger ones. Give high-leverage tools to an empowered team of 3-8 and you’re set.

    [blog] Securing the AI supply chain on GKE: Introducing k8s-aibom for automated AI BOMs. It’s open source, and looks at your deployed AI serving infrastructure to produce live bills-of-material.

    [article] “Every IC engineer is really a front line manager now.” But are they productive? Indeed. This is a new type of work and new set of skills for every individual contributor. I’m not sure either are being well-addressed by management.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – July 13, 2026 (#823)

    I’m getting ready for tomorrow’s big Google I/O Connect event here in India. We spent today doing rehearsals, meeting with startup founders, and community people. And, reading the handful of items you’ll find below.

    [article] Stop being the code review bottleneck. Great advice here, including sample prompts you can steal for yourself. Using agents as pre-reviewers is a good pattern. Involve humans where necessary.

    [article] 85% say code review is the new bottleneck. Here’s what the AI coding narrative leaves out. Another item about code reviews. It also reiterates why pre-merge AI reviews are part of the solution.

    [blog] Why write code in 2026. Good argument here. You write code so that you remain an active participant in the software. And it helps you think through a problem.

    [blog] I let Google Antigravity 2.0 write a microservice from scratch while I ate lunch, and I’m mildly terrified. It feels weird when you don’t have to babysit a looping agent. Especially when you notice decent product thinking and UX sense.

    [blog] Why TypeScript 7.0 Was Rewritten in Go (and what it means for your dev stack). What a tremendous piece by Steve. It’s time for everyone to take a look at Go, and realize why it’s purpose-built for the era we’re in.

    [blog] Microsoft joins Google in backing Go for AI agents — OpenAI and Anthropic lag. See, Microsoft gets it too. Their agent framework just introduced Go support.

    [article] Agentic AI strains legacy IT systems. Maybe rewrite them in Go 🙂 New demands require a new approach to infrastructure.

    [article] 57% of enterprises have watched AI agents be confidently wrong. The fix is an agentic context layer, but who has one? Most don’t have a trusted context layer. Those companies will likely struggle with trustworthy results and production-scale deployments until one is in place.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – July 10, 2026 (#822)

    I can’t remember a smoother long-distance travel day. Flights all on time, decent wifi, got a little sleep, and went from the airplane landing in India to my hotel in less than an hour. Personal record!

    [article] Why AI Coding Agents Still Need Clear Specs. Create fully complete specs before firing up your Ai agent, or just /goal and let your agent figure it out? This talks about the importance of validating the spec (even a small one) before setting the coding agent loose.

    [blog] Solve harder problems with AlphaEvolve, now available to everyone on Google Cloud. This is an impressive system that we’ve used ourselves to design our TPUs, improve Cloud Spanner storage, and improve scientific research.

    [blog] Multi-Tenancy Isn’t About Databases. Good reminder that multi-tenancy is about isolation, and you don’t necessarily have to use separate databases per tenant.

    [blog] The Antigravity Loop: From Chat to Autonomous Engineering. Romin looks at the spectrum of autonomy for agent modes. I like the examples of when you use each.

    [article] Own the Outer Loop. Engineers need to own accountability for their systems, regardless of how much AI owns the agent inner loop.

    [blog] The Future is Stateless: MCP 2026 Draft Spec Arrives in MCP Toolbox. Assume that we’ll keep seeing some of the agentic protocols evolve for performance and interop reasons.

    [blog] From Dirt to Tokens: How AI is Collapsing the Walls Between Apps and Infrastructure. Instead of building apps on other people’s infrastructure, many companies are looking to control costs by managing their own AI infrastructure.

    [blog] LiteRT.js, Google’s high performance Web AI Inference. Check this out. AI client side in the browser. Very impressive results.

    [article] AI skills now listed in 73% of tech job postings. Hiring managers need people with the right skills. Right now, that’s AI skills.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below:

  • Daily Reading List – July 9, 2026 (#821)

    Off to India this evening, and looking forward to a fun event in Bengaluru. Will Richard have airplane wifi? Nobody knows.

    [article] Research: AI Is Changing What Employers Want from New Hires. Yes, this is what I want too: broader skills, abilities to synthesize information, and willingness to improve workflows.

    [article] Agentic AI to disrupt $234B in SaaS spending: Gartner. I’d imagine we’ll still need many of the system-of-record SaaS products, but probably not all the UIs and add-ons. Just give me the core APIs.

    [blog] Have you heard? Clickhouse is winning the observability wars! Sometimes those blazing the trail don’t get the glory; it’s those that follow. But Charity points out why a different approach to storage (and a different philosophy) for observability is distinctive.

    [blog] Separating signal from noise in coding evaluations. A popular coding benchmark for AI may not be a great way to assess coding capabilities.

    [article] Popular open source AI developer tool Ollama raises $65M, grows to nearly 9M users. Where you spend tech budgets is changing. Tools like this are wildly popular, for good reason.

    [blog] Safely run AI-generated code in Cloud Run sandboxes. Now you can easily isolate untrusted code in a sandbox that’s part of your running service.

    [article] JetBrains’ next move isn’t a better IDE — it’s a governance layer over Claude Code, Codex, and Gemini CLI. Same as above. Now you’ll be buying governance and orchestration layers on top of AI coding tools.

    [blog] Human-in-the-Loop AI: Why ‘Ask the LLM to Confirm’ Isn’t Enough. This offers a useful perspective on approvals embedded in the prompt (and skippable) or in a deterministic gate (unavoidable). Which do you need?

    [article] SpaceXAI launches Grok 4.5, its first built with Cursor’s help. Impressive model, and it’ll see good uptake. More here, and here.

    [blog] Introducing Muse Spark 1.1. More model news, this time from Meta. Benchmark numbers look great.

    [blog] Report: 83% of organizations need to upgrade their infrastructure to support agentic AI. Who are those other 17%? Especially if companies are going to seriously invest in self-hosted models, it’s critical to reset some core infrastructure.

    [article] Do Hard (Meaningful) Things. Yes, don’t just do random hard things. Do hard things that matter.

    Want to get this update sent to you every day? Subscribe to my RSS feed or subscribe via email below: