<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Workjournal Pro]]></title><description><![CDATA[workjournal — shared memory for the agents and people on your project. We write about keeping a journal that survives a multi-agent workflow.]]></description><link>https://workjournalpro.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!F5g6!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59204eed-3057-4794-92dd-0738fdb937af_320x320.png</url><title>Workjournal Pro</title><link>https://workjournalpro.substack.com</link></image><generator>Substack</generator><lastBuildDate>Sat, 09 May 2026 11:19:26 GMT</lastBuildDate><atom:link href="https://workjournalpro.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Juliusz Fedyk]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[workjournalpro@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[workjournalpro@substack.com]]></itunes:email><itunes:name><![CDATA[Juliusz Fedyk]]></itunes:name></itunes:owner><itunes:author><![CDATA[Juliusz Fedyk]]></itunes:author><googleplay:owner><![CDATA[workjournalpro@substack.com]]></googleplay:owner><googleplay:email><![CDATA[workjournalpro@substack.com]]></googleplay:email><googleplay:author><![CDATA[Juliusz Fedyk]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA["Let me catch you up" is a bug, not a feature]]></title><description><![CDATA[Why running a project on verbal handoffs scales worse than verbal handoffs scaled twenty years ago &#8212; and the structural alternative.]]></description><link>https://workjournalpro.substack.com/p/let-me-catch-you-up-is-a-bug-not</link><guid isPermaLink="false">https://workjournalpro.substack.com/p/let-me-catch-you-up-is-a-bug-not</guid><dc:creator><![CDATA[Juliusz Fedyk]]></dc:creator><pubDate>Sat, 09 May 2026 02:52:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!r1vu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a6ca268-ba98-44b2-a56e-b6c378bd8b6b_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!r1vu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a6ca268-ba98-44b2-a56e-b6c378bd8b6b_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!r1vu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a6ca268-ba98-44b2-a56e-b6c378bd8b6b_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!r1vu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a6ca268-ba98-44b2-a56e-b6c378bd8b6b_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!r1vu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a6ca268-ba98-44b2-a56e-b6c378bd8b6b_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!r1vu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a6ca268-ba98-44b2-a56e-b6c378bd8b6b_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!r1vu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a6ca268-ba98-44b2-a56e-b6c378bd8b6b_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a6ca268-ba98-44b2-a56e-b6c378bd8b6b_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:660462,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://workjournalpro.substack.com/i/196970005?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a6ca268-ba98-44b2-a56e-b6c378bd8b6b_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!r1vu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a6ca268-ba98-44b2-a56e-b6c378bd8b6b_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!r1vu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a6ca268-ba98-44b2-a56e-b6c378bd8b6b_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!r1vu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a6ca268-ba98-44b2-a56e-b6c378bd8b6b_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!r1vu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a6ca268-ba98-44b2-a56e-b6c378bd8b6b_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>It&#8217;s Monday. Someone messages you: &#8220;Hey, quick one &#8212; can you catch me up on where we landed with the Foo project?&#8221; You spend twenty minutes piecing it back together. You do it four more times this week. A contractor joins on Wednesday and you do it for them. Then you spin up an AI agent on a piece of the work and you have to do it for the agent, except now you can&#8217;t talk &#8212; you have to type it out, or skip it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://workjournalpro.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Workjournal Pro! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>That last one is the giveaway. The catch-up has been broken for a long time, but it&#8217;s been a slow leak. The agent makes the leak visible.</p><h2><strong>Agents can&#8217;t sit through your standup</strong></h2><p>This is the new force, and it&#8217;s what changes the math. The people who need to be caught up on a project are no longer all biological. The AI assistant you ask to draft the spec, the agent that triages your inbox, the junior teammate whose first move is to ask Claude what&#8217;s happening &#8212; they all need the same context, and none of them can sit through a meeting that already happened. They can&#8217;t read the room of a hallway conversation. They can&#8217;t infer from tone. They can only read.</p><p>If your project state lives in someone&#8217;s head and gets rendered verbally on demand, it is, for the agent, not state. It doesn&#8217;t exist. You can give an agent every tool in the world and it will still produce nonsense, because the input it actually needs &#8212; what is happening on this project, what&#8217;s open, what was decided, what changed &#8212; was never written anywhere it can find.</p><p>That&#8217;s the loud version of the problem. The quiet version has been with us for decades.</p><h2><strong>The 2005 baseline</strong></h2><p>&#8220;Let me catch you up&#8221; used to be cheap because the conditions were forgiving. Teams were smaller. Most people sat in the same room. Most people ran one or two projects at a time, not eight. State lived in maybe two places &#8212; a wiki and somebody&#8217;s inbox. The verbal handoff was lossy then, too. You just didn&#8217;t notice, because you didn&#8217;t have to do it that often, and a small drift in someone&#8217;s mental model rarely surfaced before the project ended.</p><h2><strong>What changed, besides the agents</strong></h2><p>Parallelism, distribution, tool sprawl.</p><p>Parallelism: people run more projects in flight at once. Each one needs its own catch-up.</p><p>Distribution: nobody&#8217;s in the same room. Catch-ups happen across time zones, in DMs, in async chunks where you can&#8217;t read the room.</p><p>Tool sprawl: project state is scattered across eight surfaces &#8212; chat, tickets, design tool, repo, docs, your own notebook. There&#8217;s no single place that&#8217;s authoritative, so the catch-up becomes the only place it converges: in someone&#8217;s head, for a few minutes, then it evaporates.</p><h2><strong>We already capture. We just can&#8217;t find anything.</strong></h2><p>Here&#8217;s the cruel part. Most teams have already paid for capture. Meetings are recorded. Transcripts are auto-generated. Notes get taken. Docs get written. Decisions get memo&#8217;d. The volume of project context we <em>produce</em> per week is enormous &#8212; probably an order of magnitude more than 2005.</p><p>It just lives on the wrong axis.</p><p>The recording is attached to the calendar event it came from. The note is in the doc the meeting organizer created and shared with whoever happened to be on the invite. The decision is in a Slack thread that scrolled away. The memo is in a folder organized by quarter. None of this is anchored to the project. It&#8217;s anchored to the moment it was created.</p><p>So when someone asks &#8220;what happened with the Foo project last month,&#8221; the captured material is technically there &#8212; but to find it you&#8217;d have to search across the calendar, three doc tools, two chat surfaces, and your own scattered notes, then mentally reassemble a narrative from the fragments. Nobody does this. It&#8217;s faster to ask. So we ask, and we get the verbal catch-up, and the captured material rots unread.</p><p>Captured-and-unfindable is functionally the same as not captured. Worse, in a way: it&#8217;s a constant unpaid debt that everyone knows is there and nobody can collect on.</p><h2><strong>The compounding cost</strong></h2><p>Every verbal catch-up creates a divergent mental model. You explain the project to Alex on Monday slightly differently than you explain it to Priya on Tuesday, and slightly differently again to the contractor on Wednesday. None of these renderings are wrong. None of them are the project, either. By the end of the week there are five drifting versions of the same thing, and the only one that gets reconciled is the one that produces a bug in production.</p><p>This isn&#8217;t a meetings problem. It&#8217;s a <em>where does the project live</em> problem. If the project lives in your head and gets re-rendered verbally each time someone needs it, you are running a system whose canonical state is not durable, not searchable, and not visible to anyone who isn&#8217;t currently talking to you. That was tolerable in 2005. It&#8217;s broken now.</p><h2><strong>The structural alternative</strong></h2><p>Project state has to live somewhere external to anyone&#8217;s head, anchored to the project rather than to the moment of capture. Written down. Ordered. Searchable. The catch-up becomes a link, not a meeting.</p><p>This isn&#8217;t novel. Every long-lived engineering org eventually invents some version of it: design docs, status threads, project channels. What&#8217;s new is how badly we need it now, how much captured material we already have lying around unused, and how poorly the existing tools serve the actual job. Status threads decay in chat. Design docs go stale the moment they&#8217;re approved. Tickets describe work, not narrative. Meeting recordings live in the calendar. None of these is a place where the project&#8217;s running state lives.</p><h2><strong>What this looks like in practice</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JDaE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f919767-8f52-42cc-8efe-f353536813d3_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JDaE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f919767-8f52-42cc-8efe-f353536813d3_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!JDaE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f919767-8f52-42cc-8efe-f353536813d3_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!JDaE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f919767-8f52-42cc-8efe-f353536813d3_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!JDaE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f919767-8f52-42cc-8efe-f353536813d3_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JDaE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f919767-8f52-42cc-8efe-f353536813d3_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f919767-8f52-42cc-8efe-f353536813d3_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:754300,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://workjournalpro.substack.com/i/196970005?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f919767-8f52-42cc-8efe-f353536813d3_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JDaE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f919767-8f52-42cc-8efe-f353536813d3_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!JDaE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f919767-8f52-42cc-8efe-f353536813d3_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!JDaE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f919767-8f52-42cc-8efe-f353536813d3_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!JDaE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f919767-8f52-42cc-8efe-f353536813d3_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>This is what we built <strong><a href="https://workjournal.pro/">workjournal</a></strong> for. One journal per project. Updates accrue in order. The journal is the place the project lives &#8212; what&#8217;s happening, what was decided, what&#8217;s open, what changed. When someone needs to be caught up, you point them at the journal. When an agent picks up the thread, it reads the journal. When you come back to a project after two weeks on something else, you read it yourself.</p><p>The point isn&#8217;t that journaling is novel. The point is that &#8220;let me catch you up&#8221; was always a bug. The agent didn&#8217;t introduce the bug. It just made it impossible to keep ignoring.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://workjournalpro.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Workjournal Pro! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Why a journal, not a knowledge base]]></title><description><![CDATA[The simplest possible data model for shared project context, and the things we deliberately didn't build.]]></description><link>https://workjournalpro.substack.com/p/why-a-journal-not-a-knowledge-base</link><guid isPermaLink="false">https://workjournalpro.substack.com/p/why-a-journal-not-a-knowledge-base</guid><dc:creator><![CDATA[Juliusz Fedyk]]></dc:creator><pubDate>Fri, 08 May 2026 04:53:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!F5g6!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59204eed-3057-4794-92dd-0738fdb937af_320x320.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When we started building <strong><a href="https://workjournal.pro/">workjournal</a></strong>, we kept getting the same suggestion: make it more like a knowledge base or a project tracker &#8212; boards, statuses, custom fields, parent-child relationships, the works. We didn&#8217;t. The data model under workjournal is deliberately small.</p><p>A workspace owns journals. A journal holds entries. An entry has a title, a summary, a body, a timestamp, and a tag for who wrote it (which agent, which person). That&#8217;s it. No threads. No statuses. No labels. No sub-entries. No parents and children. No custom fields. No roles matrix.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://workjournalpro.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Workjournal Pro! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>That answer surprises people, because every team that&#8217;s tried to share project context has started by trying to model the project relationally. Tickets get statuses, owners, parents, children, sprints, labels, custom fields. The schema reflects how the team thinks. Then how the team thinks changes &#8212; a new workstream shows up, a process gets renamed, two efforts merge &#8212; and the schema doesn&#8217;t change with it.</p><p>So the schema rots. And the data starts lying.</p><h2><strong>The taxes that structure makes you pay</strong></h2><p>The structured shared-context tool only stays useful if someone curates it. Curation is a job. On most projects, no human&#8217;s job description is &#8220;keep the knowledge base tidy.&#8221; The slot exists, but nobody is paid to fill it, so it doesn&#8217;t get filled &#8212; and the sidebar that hasn&#8217;t been touched in six months becomes the canonical version of what the team is working on.</p><p>There&#8217;s a second tax that&#8217;s harder to see. Even when someone is curating, the cost of <em>placing things in the right place</em> is paid every time anyone writes. Did this decision belong in &#8220;Architecture&#8221; or &#8220;Tech debt&#8221;? Is this research note a child of the original spike or a sibling of the current ticket? The schema asks the writer a question every time they sit down. The writer pays the question. Most of the time, the writer pays it badly, or skips writing.</p><p>There&#8217;s a newer tax on top of those two: maintaining the agents that promise to do the organizing for you. <em>Use a sub-agent to file this in the right page. Use a watcher that re-tags entries when a project pivots.</em> The agents work, mostly. They drift, sometimes. The cost of keeping them aligned with how the team currently thinks is, again, a job.</p><p>And here&#8217;s the part that took us a while to see: agents don&#8217;t actually need the structure. The reason structure exists in the first place &#8212; to help a human navigate a corpus by hierarchy &#8212; is mostly a human-cognition crutch. Agents are good at handling dense, flat, chronological text. Often they&#8217;re better at it than at navigating a tree someone built six months ago and then renamed.</p><h2><strong>What append-only buys you</strong></h2><p>A journal is the opposite of curation. Entries are append-only. You don&#8217;t update old ones; you write new ones. Yesterday&#8217;s decision and today&#8217;s reversal of it both live on the timeline, in order, with their reasoning. The trail is the data.</p><p>Reading a journal is search + summary, not navigation of a hierarchy. You ask for &#8220;what we decided about the migration,&#8221; and the relevant entries come back, with their context, in chronological order. There is no sidebar to keep tidy because there is no sidebar.</p><p>This shape is what makes the journal good for agents specifically. Word search works on it now; semantic search is coming, and it works cleanly on a stream of entries because there&#8217;s no nested object graph to rank inside. An agent doesn&#8217;t need a tree to navigate; it needs text to retrieve. A journal hands it text.</p><h2><strong>The things we deliberately didn&#8217;t build</strong></h2><p>Some features get asked for, and don&#8217;t get built, because they would make the journal harder to read for the next person or agent that opens it.</p><ul><li><p><strong>Threads.</strong> Conversations aren&#8217;t the unit. A decision is the unit; the conversation around it is best summarised into the entry, not preserved as a tree of replies that scrolls past.</p></li><li><p><strong>Statuses.</strong> Workjournal is not a tracker. The project&#8217;s tracker &#8212; your tickets, your sprint board &#8212; stays the source of truth for what&#8217;s open and what&#8217;s done. The journal is for what was decided and why.</p></li><li><p><strong>Sub-entries and nesting.</strong> A flat timeline is a feature. Nesting is a curation tax &#8212; every entry asks &#8220;where does this go?&#8221; and most writers answer wrong, or stop writing.</p></li><li><p><strong>Rich-text formatting outside the web app.</strong> Markdown is portable. Every agent surface reads and writes plain text. A rich-text-only entry is an entry an agent can&#8217;t write.</p></li></ul><p>(There are features that <em>aren&#8217;t</em> on this list because they&#8217;re roadmapped, not rejected: tags and labels are coming; finer-grained roles arrive with Pro. The bar isn&#8217;t &#8220;never build it&#8221; &#8212; the bar is &#8220;build it only if it doesn&#8217;t make the read pass slower.&#8221;)</p><h2><strong>What you get instead</strong></h2><p>What the small data model gives you, in the order you feel it:</p><ul><li><p><strong>Writing is cheap.</strong> There&#8217;s no &#8220;where does this go&#8221; question, no field that has to be filled, no parent to pick. You write a title and a body. The journal accepts it.</p></li><li><p><strong>Setup is cheap.</strong> Create a workspace, create a journal, invite a collaborator. There&#8217;s no schema to design first, no taxonomy to commit to before the team has had a chance to disagree about it.</p></li><li><p><strong>Reading is fast.</strong> A new teammate or a new agent opens the journal and finds the project &#8212; chronologically, in their own words. There&#8217;s no map to learn before they can navigate.</p></li></ul><h2><strong>The real tradeoff</strong></h2><p>This isn&#8217;t a free lunch. A flat journal is <em>less intuitive and less structured</em> for a human reader than a curated knowledge base is. A well-tended one, where someone is genuinely keeping the sidebar honest, is more pleasant to skim than a stream of entries.</p><p>Two things are true that swap the calculus.</p><p>The first is that the well-tended knowledge base is rare. Most teams have an aspirational one and a real Slack. The journal lives where the real work lives.</p><p>The second is that the journal is <em>perfectly</em> readable to agents. Word search lands precise hits today; semantic search lands fuzzy ones soon. Either way, the agent that picks up the project tomorrow doesn&#8217;t care that the structure isn&#8217;t pretty &#8212; it cares that the text is there. And the cost of writing into the journal is so low that the journal stays current in a way the knowledge base doesn&#8217;t.</p><h2><strong>What you actually need</strong></h2><p>Your project doesn&#8217;t need a complex knowledge base or a structured second brain. It needs a place where agents can write and read information fast.</p><p>That place is a journal. The shape is the point.</p><p>&#8212; The workjournal team</p><div><hr></div><p><em>Try <strong>workjournal</strong> on your next project &#8212; free for solo use, Plus when you start collaborating, at <a href="https://workjournal.pro/">workjournal.pro</a>. One OAuth click connects it to Claude, ChatGPT, Perplexity, and 30+ other agents.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://workjournalpro.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Workjournal Pro! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Brief once, continue everywhere — what this publication is about]]></title><description><![CDATA[Most projects don't have a context problem. They have a context-distribution problem. This publication is about fixing that.]]></description><link>https://workjournalpro.substack.com/p/brief-once-continue-everywhere-what</link><guid isPermaLink="false">https://workjournalpro.substack.com/p/brief-once-continue-everywhere-what</guid><dc:creator><![CDATA[Juliusz Fedyk]]></dc:creator><pubDate>Tue, 05 May 2026 02:06:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!F5g6!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59204eed-3057-4794-92dd-0738fdb937af_320x320.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Most projects don&#8217;t have a context problem. They have a context-distribution problem.</p><p>The decisions are made. The architecture is sketched. The library is vetted. The teammate&#8217;s question is answered. The work is done &#8212; most of it. What&#8217;s missing isn&#8217;t the work; it&#8217;s the trail of it.</p><p>Take a Tuesday we hear about a lot. A developer starts a new feature in Claude Code in the morning. The conversation builds up a clear picture of the architecture they&#8217;re after. Laptop closed. On the walk, they have an idea about a tricky migration; they think it through with ChatGPT on their phone. By lunchtime there&#8217;s a plan that quietly contradicts the one Claude Code landed on three hours earlier &#8212; and neither agent knows about the other&#8217;s session. After lunch, Perplexity gets a question about whether the third-party library they&#8217;re about to depend on is still maintained. Perplexity reads nothing, knows nothing, returns what it can find. Useful, but starting from zero again. By Friday, a teammate joins for a pair session and gets the briefing &#8212; verbal, partial, off the top of someone&#8217;s head. Half a day on the catch-up. The other teammate, in another time zone, never gets it at all.</p><p>Three agents. Two humans. One project. None of them sharing state.</p><p>The problem isn&#8217;t that any individual agent or any individual teammate is bad. They&#8217;re all very good at their jobs. The problem is that the project&#8217;s context &#8212; the decisions, the rationale, the research, the open questions, the things that just happened &#8212; lives in five places that don&#8217;t talk to each other. The human in the middle is the only thing connecting them, manually, from working memory, badly. The result is the modern tax on multi-agent, multi-person work: every new session and every new collaborator starts the project from zero.</p><p>The fix is structural, not behavioural. It is not &#8220;keep a journal&#8221; &#8212; that frames it as a personal practice, and the problem isn&#8217;t personal. The fix is to give the project a place where its context lives, and to make sure everything that touches the project, agent or human, can read and write there.</p><p>When the project has that shared place, everything else gets cheaper. The brief is written once at the top of the project and every new agent reads it before it starts. The teammate who joins on Friday opens the same surface and has the rationale for last Tuesday&#8217;s decisions. The agent that picks up the work in the next session writes back what it found, what it changed, what it ruled out. The morning briefing meeting that used to happen &#8212; badly, in five different chat windows and one Slack thread &#8212; turns into a thing the project itself remembers.</p><p>This publication is the operating manual for that. Not personal-journaling. Not productivity theatre. The unsexy version: how to run a project so that the next person &#8212; or agent, or future-you &#8212; walks in and knows where it is.</p><p>A few things you&#8217;ll see here over the next few months.</p><p><strong>Operating Notes.</strong> How real teams run projects across multiple agents and multiple humans. Onboarding a new collaborator without burning a day. Handing off work between agents &#8212; Claude Code &#8594; Perplexity &#8594; ChatGPT &#8594; human &#8212; without losing the thread. Provenance: who or what wrote that, and why it matters. The patterns that scale across two-person side projects and ten-person teams.</p><p><strong>Tactics.</strong> Templates and prompts. The shape of an entry an agent can act on. The minimum viable project brief that a new agent reads first. The decision-log format that holds up across a team and a quarter. The end-of-session prompt that captures what a teammate would want to know.</p><p><strong>Field Notes.</strong> Dispatches from building <strong><a href="https://workjournal.pro/">workjournal</a></strong>, the shared project repository (in journal format) that connects Claude, ChatGPT, Perplexity, Cursor, and a few dozen other agents to one shared backend. We built it because we needed it, and we use it every day. This section is the public version of why and how &#8212; what we shipped, what we got wrong, and what we&#8217;re learning from teams running it on real projects.</p><p>If your week has any of &#8220;I&#8217;ll just remember it,&#8221; &#8220;it&#8217;s in Slack somewhere,&#8221; or &#8220;let me catch you up&#8221; in it, this is for you.</p><p>The cadence is one essay a week, Tuesdays. Reply to any of them &#8212; we read everything.</p><p>Brief once. Continue everywhere.</p><p>&#8212; The workjournal team</p>]]></content:encoded></item></channel></rss>