daily

2026-06-30
1

Enniscorthy Uisce Éireann works

Wexford Local · original → · 8/10 · Local Wexford: Enniscorthy water infrastructure works
[image →]Low water in the River Slaney at the end of June and a new island emerges north of the William Barker Bridge. (Pic; WexfordLocal.com) By Dan Walsh Uisce Eireann is carrying out leakage…
[image →]
Low water in the River Slaney at the end of June and a new island emerges north of the William Barker Bridge. (Pic; WexfordLocal.com)

By Dan Walsh

Uisce Eireann is carrying out leakage reduction works in Enniscorthy and the job is getting under way this week.

The section of works will take place along the R890 Nunnery Road from the junction of the R702 and will continue along Summerhill Road to Blackstoops, where crews will be installing 1.25 km of new, modern pipes that will strengthen the local network and reduce disruption to homes and businesses. 

The existing pipes were prone to bursts and leaks, leading to supply interruptions and the loss of treated drinking water, a valuable resource we all depend on.  
Minister for Housing, Local Government and Heritage James Browne TD welcomed news of the upcoming works. “This is positive news for the people of Enniscorthy who will benefit from a more reliable water supply through these upgrades to the pipe network.

“A reliable water supply is fundamental to family and community life. With upgrade works by Uisce Éireann set to begin in the town, I’m pleased to see further progress on improvements to Wexford’s water supply,” stated Minister Browne.

Welcoming the project, Dave Murphy of Uisce Éireann said that these upgrades will help stop leakage and give the community in Enniscorthy greater confidence in their water supply for years to come.
  
“Every pipe we replace is guided by one clear goal: providing a water supply people can count on. These improvements make a difference every single day, in every tap, home and throughout the community. “By focusing on delivering a more reliable supply, we’re helping to build a stronger, more resilient water service for the people of Wexford, now and for generations to come,” stated Mr. Murphy.  

Works will begin in the coming days and will include installing new water service connections from the public water main on the road to customers’ property boundaries and linking them to the customers’ water supply.  

The project is being delivered by Shareridge Ltd, on behalf of Uisce Éireann with completion expected in the Autumn of this year.  

Customers can phone Uisce Éireann on 1800 278 278 if they have any questions about the project or visit the Water Supply Updates section of the Uisce Éireann website for regular updates.

2

Seeking old photos of North Wexford?

Wexford Local · original → · 8/10 · Local Wexford: North Wexford community memory project
[image →] By Dan Walsh The Residents of Oakfield Nursing Home, Co. Wexford and traditional singer and folklorist Rachel Uí Fhaoláin are looking for some help please with the development of their…

By Dan Walsh

The Residents of Oakfield Nursing Home, Co. Wexford and traditional singer and folklorist Rachel Uí Fhaoláin are looking for some help please with the development of their special award-winning childhood memory collecting project ‘Dearest Child‘.

Do you have old photos of North Wexford in your family albums that you would be happy to share with the residents and Rachel, physical copies that they can borrow for their special project and upcoming community exhibition.

Perhaps you have photos of a particular shop front on Gorey Main Street, or a photo of the Tea Room on the Avenue, run by Francie Gleeson. Some of the residents fondly recall their trips into town as children for tea and cake here, a real treat by all accounts.

Maybe you have a photo of Fair Day in Gorey or Ballycanew? How about photos of Courtown, the harbour, or maybe the herring season in Cahore.

Photos are fantastic conversation starters and a powerful way of helping to recall our memories, especially those of us who don’t remember as well as we used to.

The residents and Rachel would really appreciate your help with this, and they extend a very warm welcome to the wider community to get involved in their award- winning memory collection project in North Wexford.

For further information or to get involved you can contact Rachel by email or phone.

Phone Rachel on 087 2988473 or email: ceolmochroi@gmail.com

3

Ornith-1.0: self-improving open-source models for agentic coding

Hacker News · original → · 8/10 · AI/work: agentic coding models and self-improvement
Aloha! 🌺 Ornith-1.0 is a self-improving open-source models for agentic coding. Highlights: - State-of-the-Art Coding Agents: Available in 9B-Dense, 31B-Dense, 35B-MoE, and 397B-MoE (post-trained on…

Aloha! 🌺 Ornith-1.0 is a self-improving open-source models for agentic coding. Highlights: - State-of-the-Art Coding Agents: Available in 9B-Dense, 31B-Dense, 35B-MoE, and 397B-MoE (post-trained on top of Gemma 4 and Qwen 3.5), achieving state-of-the-art performance among open-source models of comparable size on coding benchmarks such as Terminal-Bench 2.1, SWE-Bench, NL2Repo and OpenClaw. - Self-Improving Training Framework: Ornith-1.0 employs RL to learn to generate not only solution rollouts, but also the scallfold that drive those rollouts. By jointly optimizing the scaffold and the resulting solution, the model discovers better search trajectories and generates higher-quality solutions. - Licence: MIT licensed, globally accessible, and free from regional limitations. Each model is evaluated against its size-appropriate baselines. All three use the same harnesses and decoding setup (see the notes under the tables). | Ornith-1.0-9B | Qwen3.5-9B | Qwen3.5-35B | Gemma4-12B | Gemma4-31B | | |---|---|---|---|---|---| | Agentic Coding | ||||| | Terminal-Bench 2.1 (Terminus-2) | 43.1 | 21.3 | 41.4 | 21 | 42.1 | | Terminal-Bench 2.1 (Claude Code) | 40.6 | 18.9 | 38.9 | - | - | | SWE-bench Verified | 69.4 | 53.2 | 70 | 44.2 | 52 | | SWE-bench Pro | 42.9 | 31.3 | 44.6 | 27.6 | 35.7 | | SWE-bench Multilingual | 52 | 39.7 | 60.3 | 32.5 | 51.7 | | NL2Repo | 27.2 | 16.2 | 20.5 | 10.3 | 15.5 | | Claw-eval Avg | 63.1 | 53.2 | 65.4 | 32.5 | 48.5 | | SWE Atlas - QnA | 17.9 | 9.2 | 13.2 | - | - | | SWE Atlas - RF | 16.6 | 4.3 | 10.2 | - | - | | SWE Atlas - TW | 15.3 | 4.4 | 9.8 | - | - | | Ornith-1.0-35B | Qwen3.5-35B | Qwen3.6-35B | Gemma4-31B | Qwen3.5-397B | | |---|---|---|---|---|---| | Agentic Coding | ||||| | Terminal-Bench 2.1 (Terminus-2) | 64.2 | 41.4 | 52.5 | 42.1 | 53.5 | | Terminal-Bench 2.1 (Claude Code) | 62.8 | 38.9 | 49.2 | - | 48.6 | | SWE-bench Verified | 75.6 | 70 | 73.4 | 52 | 76.4 | | SWE-bench Pro | 50.4 | 44.6 | 49.5 | 35.7 | 51.6 | | SWE-bench Multilingual | 69.3 | 60.3 | 67.2 | 51.7 | 69.3 | | NL2Repo | 34.6 | 20.5 | 29.4 | 15.5 | 36.8 | | Claw-eval Avg | 69.8 | 65.4 | 68.7 | 48.5 | 70.7 | | SWE Atlas - QnA | 37.1 | 13.2 | 15.5 | - | 20.4 | | SWE Atlas - RF | 29.7 | 10.2 | 11.4 | - | 18.4 | | SWE Atlas - TW | 27.8 | 9.8 | 13.3 | - | 18.5 | | Ornith-1.0-397B | Qwen3.5-397B | Qwen3.7-Max | GLM-5.2-744B | Minimax-M3-428B | DeepSeek-V4-Pro-1.6T | Claude Opus 4.7 | Claude Opus 4.8 | | |---|---|---|---|---|---|---|---|---| | Agentic Coding | |||||||| | Terminal-Bench 2.1 (Terminus-2) | 77.5 | 53.5 | 73.5 | 81.0 | 64 | 64 | 70.3 | 85 | | Terminal-Bench 2.1 (Claude Code) | 78.2 | 48.6 | 69.8 | 82.7 | - | 66.5 | 69.7 | 78.9 | | SWE-bench Verified | 82.4 | 76.4 | 80.4 | - | - | 80.6 | 80.8 | 87.6 | | SWE-bench Pro | 62.2 | 51.6 | 60.6 | 62.1 | 59 | 55.4 | 64.3 | 69.2 | | SWE-bench Multilingual | 78.9 | 69.3 | 78.3 | - | - | 76.2 | - | - | | NL2Repo | 48.2 | 36.8 | 47.2 | 48.9 | 42.1 | - | - | 69.7 | | Claw-eval Avg | 77.1 | 70.7 | 65.2 | - | - | 75.8 | 78.2 | - | | SWE Atlas - QnA | 41.2 | 20.4 | - | - | 37.9 | 27.2 | 40.3 | 48.8 | | SWE Atlas - RF | 42.6 | 18.4 | - | - | - | - | 48.6 | 46.7 | | SWE Atlas - TW | 39.1 | 18.5 | - | - | 30.8 | - | 38.5 | - | * Terminal-Bench 2.1 (Terminus-2): evaluated with the Harbor/Terminus-2 framework, parser=json, temperature=1.0, top_p=1.0, 128K context window. Each run uses a 4-hour timeout with 32 CPU cores and 48GB RAM, averaged over 5 runs. We adjust the Qwen chat template to keep training and inference consistent and modify Harbor to align with vLLM's reasoning_content key. * Terminal-Bench 2.1 (Claude Code): evaluated with Claude Code 2.1.126, parser=json, temperature=1.0, top_p=1.0, max_new_tokens=131072, averaged over 5 runs (Qwen chat template likewise modified). * SWE-bench Verified / Pro / Multilingual: OpenHands harness, temp=1.0, top_p=0.95, 256K context window. * SWE Atlas QnA / RF / TW: mini-SWE-agent harness, temp=1.0, top_p=0.95, 128K context window, averaged over 5 runs. * NL2Repo: temperature=1.0, top_p=1.0, 400K context, 48K output, anti-hacking filters. * ClawEval: an agentic code benchmark over real-user task distributions; temp=0.6, 256K context. NOTE Ornith-1.0 is a reasoning model: by default the assistant turn opens with a <think> … </think> block before the final answer. The serving recipes below enable a reasoning parser so the chain-of-thought is returned in a separatereasoning_content field, and a tool-call parser so the model's<tool_call> blocks are surfaced as OpenAI-styletool_calls .Serving Ornith-1.0 requires recent runtimes: - Transformers ≥ 5.8.1 - vLLM ≥ 0.19.1 - SGLang ≥ 0.5.9 Recommended sampling parameters: temperature=0.6 ,top_p=0.95 ,top_k=20 (usetemperature=1.0 to reproduce the reported benchmark setup). Ornith-1.0 ships as a dense 9B model plus two Mixture-of-Experts models (35B, 397B). All checkpoints expose the same OpenAI-compatible interface and support a 256K (262,144-token) context window; the dense 9B fits on a single 80GB GPU, while the MoE checkpoints are sharded across a multi-GPU node with tensor parallelism. Each size is published in multiple precision / format variants: | Checkpoint | Architecture | Format | Best for | |---|---|---|---| | Ornith-1.0-9B | Dense (~9B) | bf16 | Single-GPU serving & fine-tuning | | Ornith-1.0-9B-GGUF | Dense (~9B) | GGUF (quantized) | Local inference via llama.cpp / Ollama | | Ornith-1.0-35B | MoE (35B) | bf16 | Full-precision multi-GPU serving | | Ornith-1.0-35B-FP8 | MoE (35B) | FP8 | ~Half the VRAM on FP8-capable GPUs | | Ornith-1.0-35B-GGUF | MoE (35B) | GGUF (quantized) | Local inference via llama.cpp / Ollama | | Ornith-1.0-397B | MoE (397B) | bf16 | Full-precision serving on a multi-GPU node | | Ornith-1.0-397B-FP8 | MoE (397B) | FP8 | Memory-efficient serving on FP8-capable GPUs | The recipes below stand up an OpenAI-compatible server under the shared alias Ornith-1.0 . Set MODEL to the checkpoint you want, and match --tensor-parallel-size / --tp to your GPU count. # Pick a checkpoint — dense 9B, or MoE 35B / 397B (append -FP8 for lower-VRAM serving): MODEL=deepreinforce-ai/Ornith-1.0-397B # MoE checkpoints (35B / 397B): shard across the node with tensor parallelism. # Dense checkpoint (9B): fits on a single 80GB GPU — drop --tensor-parallel-size. vllm serve $MODEL \ --served-model-name Ornith-1.0 \ --tensor-parallel-size 8 \ --host 0.0.0.0 --port 8000 \ --max-model-len 262144 \ --gpu-memory-utilization 0.90 \ --enable-prefix-caching \ --enable-auto-tool-choice --tool-call-parser qwen3_xml \ --reasoning-parser qwen3 \ --trust-remote-code # Pick a checkpoint — dense 9B, or MoE 35B / 397B (append -FP8 for lower-VRAM serving): MODEL=deepreinforce-ai/Ornith-1.0-397B # MoE checkpoints (35B / 397B): shard with --tp ; dense 9B: drop --tp for a single GPU. python -m sglang.launch_server \ --model-path $MODEL \ --served-model-name Ornith-1.0 \ --tp 8 \ --host 0.0.0.0 --port 8000 \ --context-length 262144 \ --mem-fraction-static 0.85 \ --tool-call-parser qwen3_coder \ --reasoning-parser qwen3 For a quick local test (or to script offline generation), load the model directly with Transformers. Make sure you have a recent release installed — see the Transformers installation guide; Ornith-1.0 requires transformers >= 5.8.1 . The dense 9B checkpoint is the easiest to run locally. from transformers import AutoModelForCausalLM, AutoTokenizer model_name = "deepreinforce-ai/Ornith-1.0-9B" # or -35B / -397B tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained( model_name, dtype="auto", device_map="auto", ) messages = [ {"role": "user", "content": "Write a Python function is_prime(n). Keep it short."} ] text = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True, ) inputs = tokenizer(text, return_tensors="pt").to(model.device) generated = model.generate( **inputs, max_new_tokens=512, do_sample=True, temperature=0.6, top_p=0.95, top_k=20, ) output_ids = generated[0][inputs.input_ids.shape[1]:] # The reply contains a <think> ... </think> reasoning block followed by the answer. content = tokenizer.decode(output_ids, skip_special_tokens=True) print(content) To split the reasoning trace from the final answer, parse on the </think> marker: text = tokenizer.decode(output_ids, skip_special_tokens=True) if "</think>" in text: reasoning, answer = text.split("</think>", 1) reasoning = reasoning.replace("<think>", "").strip() answer = answer.strip() else: reasoning, answer = "", text.strip() Once a vLLM or SGLang server is running, talk to it with any OpenAI-compatible client. from openai import OpenAI client = OpenAI( base_url="http://localhost:8000/v1", api_key="EMPTY", # any non-empty string works for a local server ) response = client.chat.completions.create( model="Ornith-1.0", messages=[ {"role": "user", "content": "Write a one-line Python lambda that squares a number."} ], temperature=0.6, top_p=0.95, max_tokens=1024, ) message = response.choices[0].message # reasoning_content holds the <think> trace; content holds the final answer. print("reasoning:", getattr(message, "reasoning_content", None)) print("answer:", message.content) You can also stream tokens, or hand the model tools — Ornith-1.0 emits well-formed function calls that the server parses into the standard tool_calls field: tools = [ { "type": "function", "function": { "name": "get_weather", "description": "Get the current weather for a city", "parameters": { "type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"], }, }, } ] response = client.chat.completions.create( model="Ornith-1.0", messages=[{"role": "user", "content": "What is the weather in Paris right now?"}], tools=tools, tool_choice="auto", temperature=0.6, max_tokens=2048, ) tool_call = response.choices[0].message.tool_calls[0] print(tool_call.function.name, tool_call.function.arguments) # -> get_weather {"city": "Paris"} You can point any OpenAI-compatible SDK (Python, Node.js, etc.) or curl at the same /v1/chat/completions endpoint. Ornith-1.0 excels in tool-calling and agentic coding capabilities. Because Ornith-1.0 exposes an OpenAI-compatible endpoint with tool calling, it works out of the box with standard agent frameworks. Below is a minimal example that connects Ornith-1.0 to tools through an MCP server. import os from openai import OpenAI client = OpenAI( base_url=os.getenv("OPENAI_BASE_URL", "http://localhost:8000/v1"), api_key=os.getenv("OPENAI_API_KEY", "EMPTY"), ) tools = [ { "type": "function", "function": { "name": "run_shell", "description": "Run a shell command and return its output.", "parameters": { "type": "object", "properties": { "command": {"type": "string", "description": "The command to run"} }, "required": ["command"], }, }, } ] messages = [{"role": "user", "content": "List the Python files in the current directory."}] response = client.chat.completions.create( model="Ornith-1.0", messages=messages, tools=tools, temperature=0.6, top_p=0.95, ) print(response.choices[0].message) Examples of using Ornith with agent harness: # Hermes talks to any OpenAI-compatible endpoint — point it at your Ornith server. export OPENAI_BASE_URL="http://localhost:8000/v1" export OPENAI_API_KEY="EMPTY" export MODEL="Ornith-1.0" pip install openhands-ai # OpenHands routes through LiteLLM; the "openai/" prefix selects the OpenAI-compatible path. export LLM_MODEL="openai/Ornith-1.0" export LLM_BASE_URL="http://localhost:8000/v1" export LLM_API_KEY="EMPTY" # Launch the CLI (or run the official OpenHands Docker image with the same env vars). openhands # Both runtimes load a GGUF build — available for the 9B and 35B checkpoints (swap -9B for -35B). # llama.cpp — serve an OpenAI-compatible API on port 8000. llama-server -hf deepreinforce-ai/Ornith-1.0-9B-GGUF --port 8000 -c 262144 # Ollama — pull and chat with the same GGUF straight from Hugging Face. ollama run hf.co/deepreinforce-ai/Ornith-1.0-9B-GGUF pip install unsloth # Load Ornith for fast local inference or fine-tuning (Python): # from unsloth import FastLanguageModel # model, tokenizer = FastLanguageModel.from_pretrained( # "deepreinforce-ai/Ornith-1.0-9B", # max_seq_length=262144, # load_in_4bit=True, # ) # OpenClaw talks to any OpenAI-compatible endpoint — point it at your Ornith server. export OPENAI_BASE_URL="http://localhost:8000/v1" export OPENAI_API_KEY="EMPTY" export OPENAI_MODEL="Ornith-1.0" Ornith-1.0 is optimized for terminal-based coding agents. Point any OpenAI-compatible coding CLI at your Ornith-1.0 endpoint (set OPENAI_BASE_URL and OPENAI_API_KEY ) to understand large codebases, automate tedious work, and ship faster. # Register your local Ornith endpoint as a provider in ~/.config/opencode/opencode.json: # # { # "$schema": "https://opencode.ai/config.json", # "provider": { # "ornith": { # "npm": "@ai-sdk/openai-compatible", # "name": "Ornith (local)", # "options": { "baseURL": "http://localhost:8000/v1", "apiKey": "EMPTY" }, # "models": { "Ornith-1.0": { "name": "Ornith-1.0" } } # } # } # } opencode If you find our work helpful, feel free to give us a cite. @misc{ornith-1.0, title = {{Ornith-1.0}: Agentic Coding, Open to All}, url = {https://deep-reinforce.com/ornith_1_0.html}, author = {{DeepReinforce Team}}, year = {2026} }

4

🎙️ How I AI: GLM-5.2 review & How Gusto built a new product line with Claude Code

Lenny's Newsletter · original → · 8/10 · AI/work: GLM-5.2 model review and Claude Code usage
[image →]GLM-5.2: why I’m replacing Opus in Claude Code with this new modelListen now on YouTube • Spotify • Apple Podcasts[image →]Brought to you by:Mercury—Radically different banking, loved by…

GLM-5.2: why I’m replacing Opus in Claude Code with this new model

Listen now on YouTubeSpotifyApple Podcasts

Brought to you by:

  • Mercury—Radically different banking, loved by over 300K entrepreneurs

Claire tests GLM-5.2, the new open-weight model from Z.ai, inside her actual ChatPRD codebase. She runs it through codebase audits, UI redesigns, and a 45-minute autonomous bug-hunting task in Cursor and Claude Code, and breaks down where it surprised her, where it struggled, and why it may be good enough to replace Opus for some coding workflows.

Biggest takeaways:

  1. Open-weight models are no longer a hobbyist curiosity—they are production-grade alternatives. GLM-5.2, built by Beijing-based Z.ai, benchmarks near Claude Opus 4.8 and above GPT-5.5 on SWE Bench Pro, with a million-token context window and full support for reasoning mode, function calling, structured output, and context caching. The decision is no longer about capability ceilings but, instead, about cost, control, and vendor dependency. Claire’s live testing confirmed it: this is not a toy.

  2. Self-hosting changes the vendor power dynamic in ways that matter at scale. Open-weight means the trained model weights are publicly available, letting teams run inference on their own hardware, fine-tune on proprietary data, and route around any single provider’s API terms. When frontier labs change pricing or policy, teams using open-weight models can switch inference providers without touching a line of application code. The key: you’re not locked in.

  3. Getting GLM-5.2 running in Cursor took 30 minutes, and Claire documented the undocumented part. Route your API key through Open Router, override the OpenAI base URL in Cursor’s settings to openrouter.ai/api/v1/cursor (the /cursor suffix isn’t documented anywhere), and add z-ai/glm-5.2 as a custom model. Claude Code requires two environment variable changes and one edit to claude/settings.json. Total time: under an hour, once you have the exact strings.

  4. The 45-minute autonomous task revealed both the ceiling and the floor. Claire gave GLM-5.2 a single prompt inside Claude Code: pull the last 72 hours of Sentry errors and Vercel logs, then build a prioritized bug-fix plan. Over 45 minutes, it ran MCP tool calls, authenticated into external services, and produced a dark-mode engineering canvas with 20 Sentry errors, five Vercel log signals, and 14 planned fixes, including two P0s Claire hadn’t spotted through normal monitoring. The model surfaced signal-to-noise issues in their error pipeline that weren’t showing up elsewhere.

  5. It hit a wall with React, then recovered. During the long-running task, GLM-5.2 struggled with TypeScript compilation errors before eventually producing clean React output. Claire’s read: HTML and CSS generation is reliable; React under agentic, multi-step pressure is shakier. For teams whose codebase is primarily React (she estimates it covers 98% of her own use), this is the friction point to test before committing the model to critical paths.

  6. The cost math is striking: $3.36 for 6 million tokens, including the full 45-minute agentic session. A 72% cache rate helped, but even at full price, open-weight inference through Open Router sits well below Opus or GPT-5.5 rates for equivalent coding capability. For agents accumulating long context windows over extended sessions (the exact workload where frontier model costs compound fastest), open-weight alternatives offer a structurally different cost curve.

  7. Claire’s recommendation: put GLM-5.2 in rotation, not in the spotlight. She’s keeping it in Cursor for frontend and design work, and in Claude Code for long-running agentic tasks, alongside closed frontier models rather than as a replacement. The constraint she’s watching: can it handle her React-heavy workload at the same consistency she gets from Composer? If it can, the cost-and-control argument gets much harder to ignore.

Blog and detailed workflow walkthroughs from this episode:

GLM 5.2: A Live Review of an Opus-Level Open-Weights Model: https://www.chatprd.ai/how-i-ai/glm-5-2-review-open-weights-model

↳ How to Deploy an Autonomous AI Agent for Bug Triage and Prioritization: https://www.chatprd.ai/how-i-ai/workflows/how-to-deploy-an-autonomous-ai-agent-for-bug-triage-and-prioritization

↳ How to Perform an AI-Powered Codebase Audit and Architecture Visualization: https://www.chatprd.ai/how-i-ai/workflows/how-to-perform-an-ai-powered-codebase-audit-and-architecture-visualization

↳ How to Configure the Open-Weight GLM 5.2 Model in Cursor: https://www.chatprd.ai/how-i-ai/workflows/how-to-configure-the-open-weight-glm-5-2-model-in-cursor

No Figma. No Jira. No docs. How Gusto built a new product line with Claude Code | Eddie Kim (CTO)

Listen now on YouTubeSpotifyApple Podcasts

Brought to you by:

Eddie Kim is the co-founder and CTO of Gusto. In this episode, he shares how a five-person team used Claude Code, a permanent Zoom room, and almost none of the usual product process—no PM, no Figma, no Jira, no long specs—to build Gusto Cofounder from scratch in just 10 weeks.

Biggest takeaways:

  1. A five-person team with no process can outship a large team with full process, if AI handles the engineering. Eddie’s product launched at Gusto’s tier-one level after 10 weeks, starting from zero code. The constraint wasn’t a liability—it was the design. When AI does the building, coordination overhead doesn’t scale the engineering; it just slows it down. The key: strip process to what the team actually needs, then let AI fill the gap.

  2. “Zero code to tier-one launch” is now a viable founding path. The team reached a production milestone at Gusto without a line of pre-existing code. This flips the assumption that early teams spend months on infrastructure before shipping anything real. With Claude Code as the primary builder, the initial sprint becomes about direction and judgment, not typing. It compresses the time between idea validation and real user contact from months to weeks.

  3. No meetings, no Jira, no text threads. It shipped anyway. The team had no standup cadence, no ticket system, no async thread to resolve blockers. What replaced all of that: shared context held inside the AI loop. When the model carries state and the team is small and aligned, human coordination overhead becomes optional.

  4. The technical stack for a production AI agent is shockingly minimal. The entire agent loop ran on Cloudflare Workers with the Vercel AI SDK. Nothing else. No proprietary orchestration layer, no third-party agent framework. Everything else was built in-house. Teams often over-architect before they’ve proven anything; Eddie’s stack is evidence that infrastructure minimalism accelerates the path to learning what the agent actually needs to do.

  5. Building agents is not as complicated as the community makes it sound. An agent is an AI SDK running somewhere in the cloud, able to look up files and call tools. That’s the full definition. The complexity people fear (state management, orchestration, reliability) is solvable with the same judgment calls any backend system requires. Eddie’s team shipped one at production quality in 10 weeks without specialist AI infrastructure experience.

  6. The “permanent Zoom” model of AI development changes how teams think about context. Claude Code running in a persistent loop means the model has continuous access to the codebase’s current state. That’s closer to having an engineer who never closes their laptop than a chat interface you query on demand. For small teams, this is the equivalent of a senior engineer who is always available, always current, and never needs onboarding after a break.

  7. The lesson for founding teams isn’t “use Claude Code.” It’s “design your process for AI as a team member.” Most early teams graft AI tools onto a human-scaled workflow: standups, tickets, PRs reviewed by three people. Eddie’s team treated the AI as a primary contributor from day one and built their coordination model around that assumption. The result: a workflow that gets faster as the AI improves, not one that merely offloads tasks to it.

Blog and detailed workflow walkthroughs from this episode:

How Gusto Built a New Product Line in 10 Weeks with Claude Code, No Jira, and No Docs: https://www.chatprd.ai/how-i-ai/how-gusto-built-a-new-product-line-in-10-weeks-with-claude-code-no-jira-and-no-docs

↳ How to Build a New AI Product in 10 Weeks Using the ‘No-Process’ Method: https://www.chatprd.ai/how-i-ai/workflows/how-to-build-a-new-ai-product-in-10-weeks-using-the-no-process-method

↳ How to Fix Bugs Using an AI-Powered Test-Driven Development (TDD) Workflow: https://www.chatprd.ai/how-i-ai/workflows/how-to-fix-bugs-using-an-ai-powered-test-driven-development-tdd-workflow


If you’re enjoying these episodes, reply and let me know what you’d love to learn more about: AI workflows, hiring, growth, product strategy—anything.

Catch you next week,
Lenny

P.S. Want every new episode delivered the moment it drops? Hit “Follow” on your favorite podcast app.

5

No Figma. No Jira. No docs. How Gusto built a new product line with Claude Code | Eddie Kim (CTO)

Lenny's Newsletter · original → · 8/10 · AI/platforms/work: Gusto product development with Claude Code
Eddie Kim is the co-founder and CTO of the payroll and HR platform Gusto, which just crossed $1 billion in revenue and serves more than 500,000 small businesses. Recently he did something most CTOs…

Eddie Kim is the co-founder and CTO of the payroll and HR platform Gusto, which just crossed $1 billion in revenue and serves more than 500,000 small businesses. Recently he did something most CTOs don’t: he went back to writing code. With three other engineers and one designer, Eddie built Gusto Cofounder, a net-new AI product, from zero code to a tier-one launch in 10 weeks. He walks through how that team actually worked, why they threw out nearly every process, and how anyone can copy the approach.

Listen or watch on YouTube, Spotify, or Apple Podcasts

What you’ll learn:

  1. The trash-can method: how to write, review, and delete a full PR as a product decision instead of a planning doc

  2. The two-tool agent stack behind Gusto Cofounder

  3. The exact “perma-Zoom” setup that replaced standups, retros, and Slack threads for 10 weeks

  4. How a designer with no engineering background hit the 94th percentile for shipping code

  5. The eval-first workflow Eddie uses to fix real customer bugs with Claude Code

  6. How a non-technical leader can prototype an idea to win buy-in, then carry it all the way to production-quality code


Brought to you by:

Magic Patterns—Prototypes that look like your product

Jira Product Discovery—Prioritize with insights, build with confidence

In this episode, we cover:

(00:00) Intro: five people, 10 weeks

(02:38) The origins of Cofounder

(08:32) Inside the 10-week build process

(12:50) Building with no PMs

(14:38) The “trash can” method

(17:15) The stack architecture

(19:10) Shipping to production from day one

(22:03) How a designer became a top engineer

(29:05) Demo: Cofounder over text and Slack

(31:45) Demo: running a real payroll

(36:26) Live coding with evals in Claude Code

(39:39) Recap: prototype, small team, permission

(43:17) Lightning round

(48:44) Where to find Eddie and Cofounder

Tools referenced:

• Gusto Cofounder (early access/waitlist): https://gusto.com/cofounder

• Claude Code (Anthropic): https://claude.ai/code

• Cloudflare Workers: https://workers.cloudflare.com/

• Vercel AI SDK: https://sdk.vercel.ai/

• DX (engineering analytics): https://getdx.com/

• Wispr Flow (voice-to-text): https://wisprflow.ai

• OpenClaw: https://openclaw.ai/

Other references:

• Gusto (the main product, “Gusto Classic”): https://gusto.com

Mindbody (referenced as customer data source): https://www.mindbodyonline.com/

Where to find Eddie Kim:

LinkedIn: https://www.linkedin.com/in/edawerd/

Where to find Claire Vo:

ChatPRD: https://www.chatprd.ai/

Website: https://clairevo.com/

LinkedIn: https://www.linkedin.com/in/clairevo/

X: https://x.com/clairevo

Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email jordan@penname.co.

6

Ornith-1.0: Self-Scaffolding LLMs for Agentic Coding

Simon Willison · original → · 8/10 · AI/work: Ornith agentic coding model release
29th June 2026 - Link Blog Ornith-1.0: Self-Scaffolding LLMs for Agentic Coding. This is an interesting new open weights (MIT licensed) model, the first model release from DeepReinforce. [...] with…

29th June 2026 - Link Blog Ornith-1.0: Self-Scaffolding LLMs for Agentic Coding. This is an interesting new open weights (MIT licensed) model, the first model release from DeepReinforce. [...] with variants including 9B Dense, 31B Dense, 35B MoE, and 397B MoE. Built on top of pretrained Gemma 4 and Qwen 3.5, it achieves state-of-the-art performance among open-source models of comparable size on coding benchmarks. As far as I can tell the licenses of those underlying models is compatible with being used in this way - Gemma 4 is Apache 2.0 licensed (and not bound by the janky additional Gemma Terms of Use that afflicted the previous Gemma models) and Qwen 3.5 is Apache 2.0 licensed as well. I've been running the model using LM Studio and the ornith-1.0-35b-Q4_K_M.gguf (20GB) GGUF, hooked up to Pi. Initial impressions are very good - it seems to be able to run the agent harness over many tool calls in a proficient way. Here's a terminal session where I asked it to "find the code that decodes the actor cookie" and then "find the code that opens the insert dialog when thebutton is clicked" against a Datasette checkout, which it handled with ease. I also had it draw this pelican, which came out at 103 tokens/second: It's a little bit mangled but the pelican is clearly a pelican. I couldn't find much information about DeepReinforce themselves. The earliest paper I could find from the was CUDA-L1: Improving CUDA Optimization via Contrastive Reinforcement Learning from June 2025. Recent articles - Porting the Moebius 0.2B image inpainting model to run in the browser with Claude Code - 22nd June 2026 - sqlite-utils 4.0rc1 adds migrations and nested transactions - 21st June 2026 - Datasette Apps: Host custom HTML applications inside Datasette - 18th June 2026

7

July deadline set for consultants to work extended hours, says Carroll MacNeill

Breaking News Ireland · original → · 7/10 · Irish affairs: health policy affecting mid-life adults and public sector workers
The Minister for Health has said she has instructed consultants’ working patterns to be brought into line with their contracts by the end of July. Jennifer Carroll MacNeill said around 12 per cent…

The Minister for Health has said she has instructed consultants’ working patterns to be brought into line with their contracts by the end of July. Jennifer Carroll MacNeill said around 12 per cent of public-only consultants include Saturdays as part of their work practice plans, despite it being a contractual obligation. She appeared on Virgin Media’s Monday with Gavan Reilly, where she was questioned about her efforts to compel senior doctors to work six or seven-day rosters. MacNeill said when she took over her department, she set up a system to track work practice plans, which outline individual workers’ schedules and responsibilities. It has taken “nearly a year to get them”, she said, and they reveal that less than 40% of consultants have extended hours in their work plans. She said regional clinical directors, the senior consultants in each region responsible for rosters, have been directed to “remedy that within four weeks, by the end of July, so that that is brought into line with the terms of the contract”. She added: “It’s not okay to voluntarily sign a contract for a very significant salary … and then not be available or not enthusiastically commit to working the hours.” Asked what would happen if the deadline is not met, Ms MacNeill responded: “We have a series of tools available to us to escalate this, at the end of the day, these are the hours that are contracted.” She said she had spoken to the chief clinical officer of the HSE, Dr Colm Henry, about the issue on Monday: “He is very, very strong about the need both to make sure that there is no private work happening with public-only consultants and to make sure that they’re working the hours.” In addition, she said, all six regional clinical directors will address the Cabinet Committee on Health at the end of July to explain “exactly how they’re implementing that”. “So we are placing real visibility on this in a way that hasn’t happened before, and that in itself is impactful.”

8

Cllr Frank Staples is Rosslare Cathaoirleach

Wexford Local · original → · 7/10 · Local Wexford: Rosslare Municipal District council news
[image →]CLLR FRANK STAPLES Cathaoirleach Rosslare Municipal District. By Dan Walsh Cllr Frank Staples was elected Cathaoirleach of the Rosslare Municipal District at the annual meeting held in the…
[image →]
CLLR FRANK STAPLES Cathaoirleach Rosslare Municipal District.

By Dan Walsh

Cllr Frank Staples was elected Cathaoirleach of the Rosslare Municipal District at the annual meeting held in the Council Chamber, County Hall, Wexford, on Friday morning.

Cllr Staples was elected having been proposed by Cllr Lisa McDonald and seconded by Cllr Jim Codd. Cllr Staples thanked his fellow councillors and officials and said he was honoured to accept the role and is eagerly looking forward to bringing great things to Rosslare District over the next year.

As someone who has spoken publicly about his own battles with depression, Cllr Staples is determined to fight for the provision of services for Wexford people suffering from mental health issues and that is his key priority over the next year as Cathaoirleach of the 5-seat Rosslare Municipal District.

Cllr Staples has lived and farmed in the parish of Ballymore/Mayglass all his life and has been a member of Fine Gael since 1982. He is a former Mayor of Wexford, and this is his second time serving as Cathaoirleach of the Rosslare Municipal District.

The position of Leas-Cathaoirleach was bestowed on Cllr Ger Carthy whose nomination was proposed by Cllr Lisa McDonald and seconded by Cllr Frank Staples.

Outgoing Cathaoirleach Cllr Ger Carthy recalled the events of the past year, a mixture of achievement and challenges, and sincerely thanked his fellow councillors and the district officials for their support at all times. “We are all here to work for the good people of Rosslare District,” concluded Cllr Carthy.

9

Qwen 3.6 27B is the sweet spot for local development

Hacker News · original → · 7/10 · AI: local LLM model performance and development
Qwen 3.6 27B is the sweet spot for local development I’ve been disappointed by local models in the past. But then I checked Qwen 3.6, and I was in awe. For me it’s the first local model that…

Qwen 3.6 27B is the sweet spot for local development I’ve been disappointed by local models in the past. But then I checked Qwen 3.6, and I was in awe. For me it’s the first local model that actually makes sense as a general intelligence. It comes in two variants, a mixture-of-experts model Qwen 3.6 35B A3B, and a dense Qwen 3.6 27B - slower, but more powerful. The one I recommend! Let me share my impressions, and show that you can run it too. Qwen 3.6, rightfully, got a lot of coverage on Hacker News. The most common statement about Qwen 3.6 27B is that it punches above its weight - see Will it Mythos?. And I think it is a well-deserved sentiment. It will make your computer hot, but it’s worth it! Testing the waters Simon Willison uses “penguins on a bicycle” as a smoke test (see for Qwen 3.6 35B A3B and then Qwen 3.6 27B). I usually go with constrained writing. I also asked it to write an 8 line poem about Zouk dance and quantum physics, see the transcript. The thought process made sense, both in terms of deliberation on quantum terms, and rhymes. Then I asked in OpenCode to create a hexagonal minesweeper using pnpm . It worked: It worked on the first go, from a single prompt, with a proper Node package. The mixture-of-experts Qwen 3.6 35B A3B was faster… but ignored my instruction to create a package, and did it in a single index.html . Real work Sure, creative writing about quantum mechanics, or yet another clone of a minesweeper, is rarely a day job. But Qwen 3.6 27B is decent at regular tasks as well. It worked for a few minutes and created this: By standards of current frontier models, it’s unremarkable. But it is already a practical job. It worked, was reactive, defaults were nice - all from a single, short prompt. Running Qwen 3.6 locally with llama.cpp Running local models is easier than ever. A few CLI lines and you’re off. I recommend llama.cpp - a direct, open source tool that allows running models on various devices. You don’t need Ollama, and frankly - I would recommend against using that on ethical grounds. First, we go to Hugging Face, to get proper quantization, i.e. a model with reduced size - popular ones are by unsloth or bartowski, among others. Default models usually come with BF16 precision. A common 8-bit quantization saves half the space at almost no cost to quality. Going further down the road, models are smaller (and potentially - faster), but at the cost of quality, see this comparison for 27B and another one for 35B A3B. We grab unsloth/Qwen3.6-27B-MTP-GGUF:Q8_0, an 8-bit quantization with support for multi-token prediction (MTP). llama-server -hf unsloth/Qwen3.6-27B-MTP-GGUF:Q8_0 \ --spec-type draft-mtp -ngl 999 -fa on -c 65536 --port 8080 What it does: -hf unsloth/Qwen3.6-27B-MTP-GGUF:Q8_0 grabs from Hugging Face, on the next runs will reuse that-m ~/models/Qwen3.6-27B-Q8_0.gguf use instead if you already have itdraft-mtp we use a fast model to predict subsequent tokens, speeds up things-ngl 999 for putting all layers to GPU-fa on flash attention is on-c 65536 context size set to 64k tokens (this we can tweak, as Qwen 3.6 27B native context is 256k)--port 8080 better to pin port, as it will be used by other configs If you open http://127.0.0.1:8080 , you can directly chat with it. Precisely the same server can be used for vibe coding. Choice of agent depends both on one’s goal and subjective taste - for an all-around OpenCode, minimalistic Pi, and self-improving Hermes. For OpenCode, it is as simple as adding to ~/.config/opencode/opencode.jsonc : { "$schema": "https://opencode.ai/config.json", "provider": { "llama": { "name": "llama.cpp (local)", "npm": "@ai-sdk/openai-compatible", "options": { "baseURL": "http://127.0.0.1:8080/v1", "apiKey": "local" }, "models": { "qwen3.6-27b": { "name": "Qwen3.6-27B Q8 +MTP" } } } }, "model": "llama/qwen3.6-27b" } If you just want to chat and are a big fan of Terminal, instead of llama-server use llama-cli : llama-cli -hf unsloth/Qwen3.6-27B-MTP-GGUF:Q8_0 \ -ngl 999 -fa on -c 65536 Measuring performance Is it fast enough? I ran a few tests (source is here) on my Macbook Max M5 128 GB, running it with and without multi-token prediction, and comparing both with the 35B A3B model, and also a quantized DeepSeek V4 Flash version DwarfStar4. 30 tokens per second is not bad, well within typical frontier model API range. While mlx-lm is precisely targeted at Apple Silicon devices, and AI agents heavily recommend it, llama.cpp turned out to be faster. It was using 95% of GPU, which means it is efficiently using available resources. Macbook Max M5 is a beast (at least for a laptop), but on other devices it should also work decently. As you can see, both Qwen 3.6 variants run within 48 GB of Apple Silicon’s shared RAM. On consumer Nvidia RTX cards, you need to quantize more aggressively — but inference runs even faster. I set this up today on my 5090 at Q6_K quantization and Q4_0 KV, got 50 tokens/s consistently at 123k context, using ~28/32gb vram through LM Studio. - gfosco on the Hacker News While 35B A3B is 3x faster, I prefer 27B. I’d rather generate a third as much code, but of higher quality. How do they relate to previous state of the art models? Manual inspection is great, but benchmarks help with grounding intuitions. Here is the score from Artificial Analysis, comparing it with frontier models: A few more benchmarks are in these notes, but the spirit is similar. Added here Gemma 4 31B, as a lot of people use this as the default for local coding. But both benchmarks and general sentiment online favour Qwen 3.6 27B by a large margin. Here there is a caveat - 8-bit quantization likely does not affect results much, but DwarfStar4 uses much more aggressive ones for DeepSeek V4 Flash, 2-4 bit. For sure it is worse than the full model. My personal impression is that within these quantizations Qwen 3.6 27B is as good as (or maybe slightly better than) DwarfStar4. Though, I won’t be surprised if for longer context projects DS4 has an edge. What’s next I think we are entering a fascinating era, when it becomes feasible to run one’s own models. The change will be propelled further by the state of proprietary frontier models. Claude Fable 5 was taken down. Other frontier models run at a massive subsidy, where paying $100 a month gives us thousands worth in tokens. Let’s use the discount while it lasts! A locally set model can be fine-tuned to our needs, and cannot be taken away. Businesses can use them for proprietary and sensitive data. We can use them personally for offline projects, or when we don’t feel comfortable sharing our deepest secrets, or medical data, with the US or China. With the release of frontier-level open-weight GLM 5.2, there is a new era. While Qwen 3.6 was the stepping stone, even frontier GLM 5.2 can be run locally. It won’t run on your Macbook or a single RTX 5090. But still, it is manageable with a company budget. Moreover, I strongly believe that we will have models smarter than current state of the art, while runnable on local devices, maybe even smartphones. Current models combine both raw intelligence and factual knowledge in the same weights. Future models will likely separate that, offloading a lot of knowledge to tool calling. Discuss on Hacker News, LinkedIn, or X. Stay tuned for future posts and releases

10

Old Computer Challenge

Hacker News · original → · 7/10 · Retro gaming: Old Computer Challenge community event
irc: #oldcomputerchallenge libera.chat Old Computer Challenge community is a smol group of enthusiasts, who come together every year to experience new and old things. Solène Rapenne began the Old…

irc: #oldcomputerchallenge libera.chat Old Computer Challenge community is a smol group of enthusiasts, who come together every year to experience new and old things. Solène Rapenne began the Old Computer Challenge in July 2021 with the initial 7 day 512M of RAM task. Since then the challenge brought together a following of retro computing and digital minimalism enthusiasts. Like before, if you decide to document your journey and have it archived here, you can submit your journal by sending us the url to the mailing list: ~tekk/old-computer-challenge@lists.sr.ht First off, some news: I (Tekk, the person running the mailing list,) have been given control over the website as Matto and Prahou, who ran it previously, have stepped down. I'd like to thank them (and of course Solene) for all the work they've put in to make every year until now have fun! In positive news, that means that if you have any issues with the mailing list or website, you can just contact me (my e-mail address is easily found on the list.) This year's OCC will take place during the first full week of July. That means from the 5th to the 12th this year. Given the constant onslaught of LLM garbage the last few years, I thought it was appropriate for us to have a theme again, if a simple one. There are still no rules for how you OCC, but I'd like to encourage people to hand-make something during their OCC week and share it somehow, be it on their page, on the mailing list, or in IRC. Write a story, make some music, publish a new program. Just flex your creative muscle! Thanks to Emilio for the banner this year! aka DIY The topic of 2024 was DIY. Getting inspired by other users and previous years and crafting a personal experience! The 2023 issue of the Old Computer Challenge was a nostalgic return to its roots. Old and slow, still divine. The 2022 edition focused on limited internet time. The idea was to recreate the experience of the old time of RTC modems with a monthly time budget. Again, the duration of the challenge was one week, from 10th to 17th July 2022. The challenge rules for this edition were easy: you are allowed to connect your computer to the Internet for a maximum accumulated time of 1h per day, from 10th to 17th July included. This means you can connect six times for ten minutes, twice for thirty minutes, or once for one hour in the day. Again, for the participants it was a challenging experience. The rules of the challenge resulted in an unexpected side effect. It allowed for limited interaction on the IRC channel. Other than that, people were positive about having attended. The challenge of 2021 was the first edition, with the following rules: The challenge took place from 10th July morning until 17th July morning. At the end of the challenge it turned out that the participants were all very positive about the experience.

11

The new inner game: Your unfair advantage in the age of AI

Lenny's Newsletter · original → · 7/10 · AI/work: AI advantage in career development
👋 Hey there, I’m Lenny. Each week, I answer reader questions about building product, driving growth, and accelerating your career. For more: Lenny’s Podcast | Lennybot | How I AI | My favorite AI/PM…

👋 Hey there, I’m Lenny. Each week, I answer reader questions about building product, driving growth, and accelerating your career. For more: Lenny’s Podcast | Lennybot | How I AI | My favorite AI/PM courses, public speaking course, and interview prep copilot

Subscribe now

P.S. Get a full free year of Google AI, Cursor, Lovable, Notion, Manus, Replit, Gamma, n8n, Canva, ElevenLabs, Factory, Wispr Flow, Fin, Supabase, Bolt, Linear, PostHog, Framer, Railway, Granola, Warp, Gumloop, Magic Patterns, Mobbin, Stripe Atlas, and ChatPRD, by becoming an Insider subscriber. Yes, this is for real.


Joe Hudson is one of the most sought-after executive coaches in Silicon Valley, working with influential leaders like Sam Altman (OpenAI CEO) and founders and execs across Apple, Google, X, and more. He now spends much of his time coaching the research team at OpenAI and, from that inside perspective, has observed that the skills for success in AI-forward environments aren’t the ones you’d expect. Below, Joe explains and helps you prepare for what’s ahead.

For more from Joe, check out his SubstackLeadership Newsletter, and Connection Course. You can also find him on X and LinkedIn. And don’t miss my podcast conversation with him from last year!


Almost everyone I talk to is scared of the same thing.

“I’m going to get replaced by AI.”

“I can’t keep up with how fast everything is changing.”

“I’m going to end up in the permanent underclass.”

I hear this from senior VPs at Fortune 500 companies, and I hear it from people working inside the frontier AI labs. None of these fears are unfounded. The ground really is moving. Most of what you and I have been trained to do all our lives is being commoditized in the same way machines commoditized physical labor a century ago. The traditional skills we’ve optimized for—effort and knowledge—are becoming the exact two things AI does best.

But the trouble with fear is that it’s a terrible planner. Fear creates binary thinking and false ends, and braces us for worst-case scenarios, rather than preparing us for an unknown future.

Think about all the hard conversations you’ve had with your boss or investor. You rehearsed them in the shower. You ran every way they could go sideways. Then you actually had the conversation. How many times did it go exactly as scripted? So many of those rehearsals prepared you for conversations that never happened.

That’s where most of us are right now with AI. We’re afraid and rehearsing for the wrong conversations. Meanwhile, the skills that will actually decide whether we thrive aren’t even on our radar.

I spend my weeks coaching the people building this technology at OpenAI, and the courses I teach on emotional clarity at the Art of Accomplishment are full of folks from every top frontier AI lab. I have an unusual front-row seat to what’s coming because people in these environments are already operating in the future.

What I’ve seen is that those who thrive in these AI-pilled environments can stay in difficult conversations, not turn on themselves—or each other—when things get hard, and keep going in the midst of failure.

That’s the heart of what I want to show you, and it’s the opposite of what fear pushes you toward. Your unfair advantage in the age of AI comes from emotional clarity: the ability to feel what you’re feeling without being run by it. When knowledge and effort are nearly free, emotional clarity is scarce. But luckily, it’s a skill that can be learned.

In this post, I’m going to give you ways to measure your readiness around emotional clarity and hand you the specific methods to train for future success, for yourself and for your team.

How AI is changing work: the NBA-ification of teams

AI is increasingly amplifying what one person can accomplish, which means teams will start looking less like factories and more like NBA rosters: organizations will flatten and headcount will shrink, with far more capital riding on each person and their skills.

This is already happening in AI-forward tech companies like Anthropic, Amazon, Shopify, Coinbase, and Block, which are flattening their orgs and even creating “player-coach” roles. I also watch this happen every week inside the labs.

On an NBA team (and in these labs), knowledge isn’t the moat. You don’t win with the player who’s memorized the most plays or knows the most about shooting baskets. You win based on who makes the right read with two seconds on the clock, who can stay composed when the game gets physical, and who makes everyone around them better instead of worse to play with.

The result is a drastic change in what makes a team great. Talent and chemistry have always mattered, but when each person is amplified by AI, every decision, every pivot, and every bit of friction compounds. When an individual can face hard things, they accomplish a lot. But a team that can face hard things together moves exponentially faster. How to develop those emotional skills is what the rest of this piece is about.


The new inner game: the “wisdom stack” that will set you apart

What’s pulling people ahead in the age of AI is a set of capabilities most of us never thought of as skills at all. After seeing the same qualities consistently show up inside the labs, I’ve distilled them into four traits and called them the wisdom stack:

  1. Discernment

  2. “In conflict we trust”

  3. Willingness to fail

  4. Positive self-talk

1. Discernment

As AI increasingly takes over the doing, the critical work left for humans is the higher-level deciding: what to build, what to leave behind, and when to change course.

LLMs can advise you on what decision to make, but no model can feel the subtle tension in a meeting room or register your body’s signal when something’s off. Only you have that data, and that makes discernment more valuable than ever. And what most people don’t realize is that what often degrades decision-making is a lack of emotional clarity.

You’ve probably been told that better choices come from more data or sharper reasoning, but neuroscience shows us that our choices are fundamentally emotional. Our feelings are the underlying “context-setters” on which our rational brain acts. When we avoid certain emotional states, our solution set becomes constrained in ways we may not even be aware of.

I see this play out often, even at the highest levels of leadership. It’s why some of the most brilliant, sharp leaders still make terrible decisions: they’re unconsciously dodging or grasping at an emotion, and don’t have access to the full picture.

If you’re scared of upsetting your boss, you’re less likely to have the critical conversation that could revolutionize your business. If you’re scared of technology taking your job, you’re less likely to take a big swing in an unknown field. (And by the way, AI is an unknown field, and it’ll reward those willing to take lots of big swings.)

I saw this in action a few years ago, coaching the CEO of a fast-growing company. He was generous with his people and quick to please. But the company couldn’t kill anything—every initiative lived forever, their roadmap was clogged, and teams were stretched thin. He tried to fix it with reorgs and new prioritization frameworks. Nothing worked.

I asked him when he’d last said no to something in his personal life. He went quiet. His discomfort with disappointing people had become the company’s inability to prioritize.

The constraint was emotional, not strategic. Once we worked with this fear, he started sunsetting initiatives cleanly, and his team followed. Within six months they’d cut 40% of active projects, and revenue per employee had jumped.

Do this work, and your avoidance stops running the show from the backseat. That’s the real advantage in the age of AI.

How to check your readiness: Some of the most powerful work I do with CEOs is around uncovering the unconscious emotions that end up driving critical decisions. You can try it for yourself with a practice I call the Golden Algorithm:

  1. Name a recurring frustration in your life.

  2. Identify the emotion underneath it (rejection, helplessness, fear of abandonment, etc.).

  3. List the ways you try to avoid that emotion. Be specific.

  4. List the results. In almost every case, you’ll see that the strategy you’re using to avoid the emotion is creating the exact thing you’re afraid of.

For example:

  • Avoid failure → Play it safe/Never take big risks → Never win big → Feel like a failure.

  • Avoid conflict → People-please → Constant inner conflict → Resentment builds and leads to deeper conflict.

  • Avoid looking incompetent → Never ask questions → Stay confused → Underperform.

  • Avoid disappointing others → Say yes to everything → Be spread too thin → Disappoint everyone.

How to practice:

  1. Change your relationship to your own emotional signal. Five minutes a day is enough to make a difference. Take the emotions you identified in the Golden Algorithm exercise and bring them to this practice: Emotional Inquiry.

  2. Feel your feelings. Read and download this one-page guide.

How we do it at the Art of Accomplishment: Most people grade a decision by how it turned out—a good result means it was a good call; a bad result, a bad call. But that’s just holding yourself responsible for predicting the future, which even great investors can’t do. We treat our decisions like a portfolio, and focus instead on the process behind them.

Before a big decision, we ask ourselves: “Am I deciding to be myself and follow what I actually want, or am I trying to manage the future and avoid something I don’t want to feel?” If it’s the second one, we slow down and feel the thing first, then choose. Do that consistently and the portfolio wins, even when plenty of individual bets don’t. Every month, we also dogfood our own program, The Council, a three-hour team check-in about our biggest fears. It surfaces and resolves the biggest conversations and decisions we have been avoiding.

2. “In conflict we trust”

AI makes it easier than ever to simulate the illusion of connection. A model can draft the tough message, rehearse the conversation 10 times, and give you a perfectly worded apology. But a model cannot open you up to saying the hard thing. It cannot make you put down the position you’ve been defending. AI can hand you every answer in the world, but it can’t make you use them.

You can buy more compute. It’s a lot harder to buy your way out of the conversations your team is avoiding. Like the CEO who’s too scared to tell his employees the truth, so the decision festers for months. It’s the two co-founders who stopped being honest with each other six months ago, and now route every hard conversation through a third person.

And with the NBA-ification of teams, one unresolved tension between two co-founders is no longer diluted across multiple layers in a big org. Now it’s a huge crack running through a tight roster. When each player’s leverage is critical and powerful, every broken relationship becomes that much more expensive.

As a result, being able to have productive conflict, surface difficult issues, and stay present during uncomfortable conversations is about to become staggeringly more valuable. Those who thrive in this new world move toward the difficulty instead of away, because every conflict looks like an inefficiency to be solved—and every new solution builds a stronger team bond.

I witnessed this firsthand with one of my clients, Johannes, who runs a developer-tools company (Ona, formerly Gitpod) in one of the fastest-moving corners of the AI market. His leadership team had one of the usual buried tensions: sales versus engineering.

We brought their team through an intensive two-day summit built to surface the conversations they were avoiding. Afterward Johannes told me, “Our team did six months of work in two days. Every interpersonal conflict that was standing between us just went away. The clarity we walked away with, and the business decisions we’re now able to make, are extraordinary.”

How to check your readiness: Pick your most important working relationship. Is there something true you haven’t said? How long has it gone unsaid? That number, in weeks or months, is your connection debt.

How to practice:

  1. At the end of each week, write down two things nagging at you. Then actually call the people involved and talk about it. Hint: There’s an open, impartial approach we recommend for this called VIEW (Vulnerability, Impartiality, Empathy, Wonder). And remember, you don’t need to solve the problem before you raise it. If something isn’t working for you, just say, “Hey, something isn’t working for me,” and solve it together from there.

  2. Twice a month, pick any important relationship (a co-founder, a partner, a manager, a friend you’ve drifted from) and ask yourself: “What’s the scary thing I’m not saying?”

How we do it at the Art of Accomplishment: We run on high transparency and no back channels. If you have a problem with someone, you bring it to them, not about them to everyone else. I also have a recurring block on my calendar dedicated to hard conversations, where I reflect on what has been nagging at me and then reach out to discuss it.

3. Willingness to fail

AI is extraordinary at what’s already known. Ask it for the best practice, the standard approach, or the analysis, and it’s faster than any of us could ever be. Now the bottleneck is how fast you can learn something new—and that requires a willingness to fail.

Almost no one thinks their way to a breakthrough in one sitting. They iterate their way there: build the thing, see what needs to improve, build the next version. The “creative genius” is just the one who took more shots faster, and learned more from each one. Think Steve Jobs, fired from the company he built and exiled for a decade. Or James Dyson, who built 5,126 vacuums that failed before one that worked. Or Michael Jordan, who missed over 9,000 shots, lost almost 300 games, and blew the game-winner 26 times.

Many of you are likely nodding along. This is the Silicon Valley bible; you’ve heard it a thousand times. But knowing this truism versus embodying it emotionally is completely different. There’s a structure in our brain called the habenula that cuts our motivation the moment it senses failure. It’s the same mechanism that stops a bear from fighting for dominance every day. Our brains beat us up before we ever try again.

That’s why true experimentation is actually quite rare. Most only iterate where it already feels safe—the A/B test, the side project, the experiment we’re fairly sure will work. Companies can build a culture of safety for bigger risks, and the best ones do. But if you’re anywhere near the bleeding edge, it won’t always feel safe to try something new. To succeed, you have to become comfortable with the feeling of failure and discover that you can move through the fear in seconds when you stop fighting it.

So the two halves work as one loop. The more reps you take, the more the threat response quiets down and failure feels like information, not threat. And the faster a team makes those reps feel normal, the more reps each person is willing to take. Team culture lowers the social cost of failing; individual practice lowers the felt cost. Each feeds the other. The fastest way to get someone comfortable with failure is to put them on a team where failed experiments are so ordinary—even celebrated—that you stop flinching.

A team that’s internalized this is Anthropic’s product team, which runs “side quests,” where anyone can spend an afternoon prototyping an idea outside the official roadmap. No approval, PRD, or alignment meeting is needed. They build the thing, ship it internally, and see what happens. If teammates keep using it the next day, and the day after that, it gets polished and released. If nobody touches it, it dies.

Rather than effort or coordination, they’ve optimized for the rate at which new ideas can hit reality and get tested.

How to check your readiness:

  1. Look at your past month of work. How many big-swing experiments did you and your team run? We aim for about five per team member.

  2. Each week, check in with your team and track “pace” and “spin.”

    1. Pace is how fast you’re moving—the rate at which you’re iterating. How quickly can you build the thing, see what’s working, and start the next one? Rate it from 0% to 150%. You’re aiming for 100%. High pace is great, but a very high pace isn’t sustainable.

    2. Spin is the hidden tax. It’s the feeling of your wheels spinning with brakes on: second-guessing, bracing before you take the shot, loops you get stuck in when failure feels like a threat rather than an opportunity for learning. Rate it from 0% to 100%. You want it under 30%.

How to practice:

  1. Play with your job. Treat it as a series of experiments rather than mandates. Once a week, take the task you dread most and ask: “If I doubled how much I enjoyed this, what would I change?” Then ask: “What are the one or two things I could do this week that would make everything else on my list easier or irrelevant?”

  2. Take a goal you’ve been circling. Instead of one big attempt you could “fail,” write down 20 small experiments you could run around it to learn something new. Then start running them. Each one you complete is a win, regardless of how it turns out. You’re training yourself to measure progress by iterations, not outcomes.

How we do it at the Art of Accomplishment: Everyone on our team is responsible for running five experiments every quarter to refine the way they work. These are fast and loose, and easy to measure. The important thing is the pace of trying new things and learning, not getting it right or taking weeks to design the perfect experiment. And this is true for everyone in our org, from an executive assistant to the president. We also have a “failure celebration” at our annual offsite where we present our biggest “failure.” It gets a standing ovation from the rest of the team.

4. Positive self-talk

This skill sits underneath and supports the other three, which is why it’s one of the biggest differentiators I see.

You can have all the talent in the world, but if you regularly talk to yourself in a hostile tone, that mentality makes you doubt every decision, kills your creativity, and puts you into chronic stress and overwhelm.

A study on perseverative cognition, or repetitive negative self-talk and worry, found that the body can’t tell the difference between an actual threat and a thought about a threat. When we criticize ourselves, our brain reacts as if we’re under attack. Cortisol and adrenaline spike, our heart rate climbs, and blood pressure rises. I’ve seen this affect the most creative and successful people I work with. Their biggest bottleneck is how they relate to themselves.

The internal voice of a lot of high performers is brutal: “You’re not doing enough. Why aren’t you further along? This isn’t good enough.”

In the pre-AI era, self-criticism could push you to outwork the person next to you. It hurt, but the negativity could lead to success (though eventually to burnout). That math has flipped. You can’t out-grind a server farm or outwork a model that doesn’t sleep. The voice that used to drive harder work is now just shutting down every single capability that’s a differentiator in the AI era.

The good news is that this skill is more trainable than knowledge or effort. You can’t add 50 IQ points or 20 years of experience to your resume. But your internal voice was learned, which means it can be changed. In fact, we know this because we’ve measured the impact of one of our programs for seven years: we improved negative self-talk by a full standard deviation across all participants.

How to check your readiness: For one day, treat your inner monologue as a transcript. Every time you notice yourself feeling tight, stuck, or low, stop and:

  1. Set a 5-minute timer.

  2. Write down exactly what’s going through your head.

Most people are stunned by what they find. The voice they’ve been listening to all day says things they would never say to a friend or their child: “That was stupid of you.” “Everyone can tell you’re faking it.” “You should have known better.” “You haven’t done enough today.” “You are an imposter.”

How to practice:

Read more

Items scoring 7/10 or above from 11 sources, scored by claude-haiku-4-5-20251001 on relevance to my interests. At most 3 per source.

Scoring categories & sources
  1. Local Wexford or South East Ireland news
  2. Irish or EU-wide affairs affecting citizens broadly: elections, new laws or policy being debated, cost of living, education — especially impacts on mid-life adults or teenagers. Never courts/crime stories.
  3. Irish news on a topic relevant to my interests
  4. Work and tech topics: networking, AI, Kubernetes, platforms, SaaS
  5. AI news including critical or anti-AI perspectives
  6. Gaming: PC gaming, indie gaming, retro gaming
  7. General interests: gardening, woodwork, cycling, fitness, travel
  8. Comics

Sources: Breaking News Ireland, Wexford Local, Hacker News, r/gaming, r/pcgaming, r/antiAI, r/indiegaming, Lenny's Newsletter, One Useful Thing, Newcomer, Simon Willison

Comics

Asteroid Threat

XKCD · view →
Paleontologists have long worried that the dinosaurs blasted into space 66 million years ago will one day complete their orbits and fall back down.

Paleontologists have long worried that the dinosaurs blasted into space 66 million years ago will one day complete their orbits and fall back down.