<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Yuichi Tanaka</title>
    <description>The latest articles on DEV Community by Yuichi Tanaka (@yuichi-tanaka).</description>
    <link>https://dev.to/yuichi-tanaka</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4052583%2F7109de5e-e625-4351-a807-b4563a57e4f6.png</url>
      <title>DEV Community: Yuichi Tanaka</title>
      <link>https://dev.to/yuichi-tanaka</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yuichi-tanaka"/>
    <language>en</language>
    <item>
      <title>When the AI Agent Becomes the Knowledge-Management Interface</title>
      <dc:creator>Yuichi Tanaka</dc:creator>
      <pubDate>Tue, 15 Sep 2026 08:35:20 +0000</pubDate>
      <link>https://dev.to/yuichi-tanaka/when-the-ai-agent-becomes-the-knowledge-management-interface-35fj</link>
      <guid>https://dev.to/yuichi-tanaka/when-the-ai-agent-becomes-the-knowledge-management-interface-35fj</guid>
      <description>&lt;p&gt;Your next AI task shouldn't have to start from zero. Past materials, results, and decisions should be usable starting points, with enough context to check whether they still apply.&lt;/p&gt;

&lt;p&gt;Consider a design review. An agent compares two approaches, a person chooses one, and the result lands in a chat. A week later, another agent receives the summary: "We chose the queue."&lt;/p&gt;

&lt;p&gt;Which queue? For which workload? What was rejected? Did anyone approve the design, or was it only a proposal? The summary sounds decisive while leaving the next task to reconstruct the decision.&lt;/p&gt;

&lt;p&gt;If an AI agent becomes the place where people start work, knowledge management needs a handoff that survives the end of a conversation. A useful handoff preserves the source, the reviewed result, and the limits of the decision. It doesn't require the next agent to treat the previous agent's answer as authority.&lt;/p&gt;

&lt;h2&gt;
  
  
  Four handoffs worth designing explicitly
&lt;/h2&gt;

&lt;p&gt;These are hypothetical workflows, not reports of deployed integrations or customer results. Each needs its own data access, execution tools, and review process.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Market research to an advertising draft.&lt;/strong&gt; The second agent needs the cited evidence and its date, not just the first agent's interpretation. A reviewer still checks whether the proposed claims are supported.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analytics data to an executive report.&lt;/strong&gt; A report built from GA4 or BigQuery needs the reporting window and query context. The report used for a decision may differ from the one a live dashboard shows tomorrow.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A procedure portal to an application draft.&lt;/strong&gt; The agent needs the applicable procedure version and any relevant exceptions. Permission to read a procedure is separate from permission to submit an application.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Runbooks and logs to an operations review.&lt;/strong&gt; Preserve the evidence window and the proposed action. An old runbook reference or a generated recommendation should not silently become authorization to change a system.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The shared problem is deciding what crosses the task boundary. Saving every message doesn't answer it; neither does keeping only the final paragraph.&lt;/p&gt;

&lt;h2&gt;
  
  
  Work through one architecture decision
&lt;/h2&gt;

&lt;p&gt;Take a fictional team comparing synchronous and queued processing. The initial scope is a non-interactive batch job. A reviewer accepts the queued approach for that job, while leaving retry behavior unresolved.&lt;/p&gt;

&lt;p&gt;Later, an agent designing an interactive request path finds the decision. Without the scope and open question, it could reuse "use a queue" as a general rule.&lt;/p&gt;

&lt;p&gt;A small handoff record could look like this. The names and version identifiers are illustrative, and this is not an API format:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Task: choose processing model for the batch job
Sources: workload-notes revision 3; comparison revision 2
Reviewed result: processing-decision revision 4
Decision: queued processing accepted for the batch job only
Reason: this job does not require an immediate response
Open question: retry behavior still needs a separate review
Reuse boundary: do not apply this decision to interactive requests
Review evidence: link to the recorded human review
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In a real record, replace those references with locations that resolve to the specified versions and that the intended reader can access. Don't write "accepted" unless a review actually happened.&lt;/p&gt;

&lt;p&gt;This information can live in the document itself. It doesn't need to become a mandatory form attached to every piece of knowledge. Capture system-known facts such as version identifiers automatically where possible; add explanatory fields when the particular decision needs them.&lt;/p&gt;

&lt;p&gt;The next agent should reopen the referenced material, surface the unresolved question, and explain why the earlier decision does or doesn't fit its new task. Finding a relevant document is the beginning of that check.&lt;/p&gt;

&lt;h2&gt;
  
  
  Separate the source, its version, and its interpretation
&lt;/h2&gt;

&lt;p&gt;Three distinctions make this handoff easier to inspect.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A current link and a decision reference have different jobs.&lt;/strong&gt; A current link helps people follow a changing document. A decision reference needs to identify the exact version reviewed. Keep both when the workflow needs both. A fixed reference does not imply permanent retention or access after permissions change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A retrieved excerpt is not the whole source.&lt;/strong&gt; Preserve enough location and version context to reopen the passage in its document. A summary may omit the exception immediately below it. Derived search indexes can be rebuilt; they shouldn't be the only surviving record of what someone reviewed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A relationship is not proof of applicability.&lt;/strong&gt; A document may explicitly cite another document, or a retrieval system may consider them similar. Those are different reasons to investigate. Neither establishes that the earlier decision applies to a new workload.&lt;/p&gt;

&lt;p&gt;If the review artifact is HTML, also decide what "preserved" means. Saving a fixed HTML file preserves those bytes. It doesn't by itself preserve a remotely loaded chart, image, script, or API response. When those dependencies matter to the decision, record their versions or retain the necessary evidence under an appropriate access and retention policy. Otherwise, state the reproducibility limit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep retrieval separate from action
&lt;/h2&gt;

&lt;p&gt;A knowledge layer can help an agent find evidence without becoming the system that schedules work, approves changes, or executes them.&lt;/p&gt;

&lt;p&gt;For this design, keep those responsibilities explicit: source storage retains the document, retrieval finds relevant material, the agent proposes work, and the appropriate execution system enforces the action's authorization and approval. The human review remains a recorded event, not a status the agent invents.&lt;/p&gt;

&lt;p&gt;Apply the current access boundary when material is retrieved, including titles and excerpts. A previously readable reference is not a permanent access grant. If access has been removed, the handoff should identify a missing dependency to an authorized reviewer rather than reconstructing restricted content from an old summary.&lt;/p&gt;

&lt;p&gt;Also treat retrieved text as source material, not as authority to change the agent's instructions or permissions. A document saying "deploy this now" is not, by itself, an authorized deployment request. Version tracking helps explain where text came from; it doesn't make that text trustworthy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Test the handoff without a company-wide migration
&lt;/h2&gt;

&lt;p&gt;Choose one non-sensitive, repeatable task and a document format your team can already store and review. HTML can carry a visual comparison; Markdown or another versioned format may be enough for a text decision.&lt;/p&gt;

&lt;p&gt;Then run a small check:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Complete the task and retain the source references and reviewed result.&lt;/li&gt;
&lt;li&gt;Start a fresh agent session with the next task and authorized access to the record, without copying the previous chat into it.&lt;/li&gt;
&lt;li&gt;Ask it to identify the version used, the decision's scope, and unresolved questions, with references a person can inspect.&lt;/li&gt;
&lt;li&gt;Change one premise, such as batch processing becoming interactive processing. Check whether the agent notices that the earlier decision may no longer apply.&lt;/li&gt;
&lt;li&gt;In a controlled test, make one reference unavailable. Check whether it reports the gap instead of pretending to have verified the source.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These checks won't establish overall retrieval quality or eliminate mistakes. They will give you a concrete way to inspect one handoff before expanding it. Measure whether the next task can recover and question the decision, not just whether it produces a plausible answer.&lt;/p&gt;

&lt;p&gt;In your current workflow, where does the boundary of a decision live: in the reviewed document, in the approval record, or only in the conversation around it?&lt;/p&gt;




&lt;p&gt;&lt;em&gt;AI disclosure: An AI agent drafted and edited this article from the author's design notes. The scenarios and record above are illustrative, not firsthand production results.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>architecture</category>
      <category>discuss</category>
    </item>
    <item>
      <title>How to Turn an AI-Generated Daily Executive Report Into Context for Tomorrow’s Decisions</title>
      <dc:creator>Yuichi Tanaka</dc:creator>
      <pubDate>Mon, 24 Aug 2026 13:15:46 +0000</pubDate>
      <link>https://dev.to/yuichi-tanaka/how-to-turn-an-ai-generated-daily-executive-report-into-context-for-tomorrows-decisions-3g5h</link>
      <guid>https://dev.to/yuichi-tanaka/how-to-turn-an-ai-generated-daily-executive-report-into-context-for-tomorrows-decisions-3g5h</guid>
      <description>&lt;p&gt;The numbers already exist.&lt;/p&gt;

&lt;p&gt;They are in BigQuery, GA4, Sentry, and Google Sheets. The recurring work is collecting yesterday’s data, shaping it into something decision-makers can review, and preserving enough context for tomorrow’s task.&lt;/p&gt;

&lt;p&gt;If an AI generates a report every morning but the result disappears into a chat, a local file, or a new URL, the process is automated—but the work is not cumulative.&lt;/p&gt;

&lt;p&gt;A more useful pattern is a small, bounded organizational AI loop:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;an AI task reads authorized sources&lt;/li&gt;
&lt;li&gt;it generates one reviewable artifact&lt;/li&gt;
&lt;li&gt;people review the current version&lt;/li&gt;
&lt;li&gt;an important decision points to an exact version&lt;/li&gt;
&lt;li&gt;the next AI task can reopen the prior artifact and its evidence&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This article describes one illustrative workflow using Codex and LedgerInfra. It is not a measured customer result.&lt;/p&gt;

&lt;h2&gt;
  
  
  The workflow
&lt;/h2&gt;

&lt;p&gt;Imagine a management team that reviews the same fixed set of operational signals every morning.&lt;/p&gt;

&lt;p&gt;At 7:00 AM, a scheduled Codex task:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;reads the previous day’s authorized data from BigQuery, GA4, Sentry, and Google Sheets&lt;/li&gt;
&lt;li&gt;calculates a small set of agreed KPIs&lt;/li&gt;
&lt;li&gt;highlights missing data, unusual changes, and questions that need human attention&lt;/li&gt;
&lt;li&gt;generates a self-contained HTML executive report&lt;/li&gt;
&lt;li&gt;publishes a new version to the same Slide in a LedgerInfra Workspace&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Executives open the same latest URL each day. When a report supports an important decision, the team records the fixed version URL for that moment.&lt;/p&gt;

&lt;p&gt;The next morning’s AI task can then verify the previous artifact and the version associated with the decision before preparing the next report.&lt;/p&gt;

&lt;p&gt;The point is not simply “the URL stays the same.” The point is continuity across task boundaries.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep the execution layer and the artifact layer separate
&lt;/h2&gt;

&lt;p&gt;The responsibility boundary matters.&lt;/p&gt;

&lt;p&gt;Codex scheduling handles the trigger. Authorized connectors or APIs provide the data. Queries and prompts perform the calculation and generate the HTML.&lt;/p&gt;

&lt;p&gt;LedgerInfra does not schedule the task, collect the data, run the query, or approve the conclusion.&lt;/p&gt;

&lt;p&gt;Its role begins after the artifact exists:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;store and serve the completed self-contained HTML&lt;/li&gt;
&lt;li&gt;publish a new version to the same Slide&lt;/li&gt;
&lt;li&gt;keep a stable latest URL for active review&lt;/li&gt;
&lt;li&gt;preserve fixed version URLs for decision evidence&lt;/li&gt;
&lt;li&gt;control the audience through the Workspace boundary&lt;/li&gt;
&lt;li&gt;make the reviewed artifact available to later authorized work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That separation keeps the workflow composable. You can change the scheduler, model, data source, or report template without treating the reviewed artifact as disposable.&lt;/p&gt;

&lt;h2&gt;
  
  
  The latest URL and the decision version have different jobs
&lt;/h2&gt;

&lt;p&gt;A daily report needs two kinds of references.&lt;/p&gt;

&lt;p&gt;The latest URL answers:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What should the team review now?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It should move forward as each new report is published.&lt;/p&gt;

&lt;p&gt;A fixed version URL answers:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What exactly did we review when we made this decision?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It should never move.&lt;/p&gt;

&lt;p&gt;Using only the latest URL makes active review convenient, but weakens historical evidence. Creating a new unrelated URL every morning preserves snapshots, but makes current review harder to follow.&lt;/p&gt;

&lt;p&gt;The two-reference pattern supports both needs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;latest URL for the current report&lt;/li&gt;
&lt;li&gt;fixed version URL for an important decision point&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the same distinction that appears in architecture reviews, incident summaries, and other AI-generated artifacts that people use to make decisions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with one bounded loop
&lt;/h2&gt;

&lt;p&gt;“Organizational memory” becomes vague very quickly. A daily executive report is useful because the scope can be explicit.&lt;/p&gt;

&lt;p&gt;Define:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the authorized sources the task may read&lt;/li&gt;
&lt;li&gt;the exact KPIs the report includes&lt;/li&gt;
&lt;li&gt;how missing or failed data appears&lt;/li&gt;
&lt;li&gt;the Workspace and audience that may review the artifact&lt;/li&gt;
&lt;li&gt;which decisions require a fixed version reference&lt;/li&gt;
&lt;li&gt;what the next task is allowed to reuse&lt;/li&gt;
&lt;li&gt;when the task must stop and ask a person&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You do not need to store every prompt, trace, or intermediate calculation. Preserve the artifact and evidence that people and later AI tasks actually need to verify.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do not replace a BI tool when the job is exploration
&lt;/h2&gt;

&lt;p&gt;This pattern is not a universal dashboard replacement.&lt;/p&gt;

&lt;p&gt;A BI tool is usually the better choice when people need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;real-time monitoring&lt;/li&gt;
&lt;li&gt;ad hoc filtering&lt;/li&gt;
&lt;li&gt;interactive drill-down&lt;/li&gt;
&lt;li&gt;free-form comparison across dimensions&lt;/li&gt;
&lt;li&gt;continuous exploration of the underlying data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A self-contained daily HTML report fits a different job: presenting a fixed management summary at a predictable cadence, with a reviewable current version and preserved decision evidence.&lt;/p&gt;

&lt;p&gt;The two can coexist. The AI task may even read from the same warehouse or APIs that power the BI layer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Make failure visible
&lt;/h2&gt;

&lt;p&gt;A daily report should not silently turn missing data into confidence.&lt;/p&gt;

&lt;p&gt;The generated HTML should distinguish:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a real zero from an unavailable value&lt;/li&gt;
&lt;li&gt;a completed query from a failed query&lt;/li&gt;
&lt;li&gt;source data from AI interpretation&lt;/li&gt;
&lt;li&gt;an observed change from a proposed explanation&lt;/li&gt;
&lt;li&gt;the current report from the version used for a decision&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If a connector fails, the report should say so. If a metric definition changes, record the change in the report template or accompanying decision evidence. If the AI cannot verify a source, it should stop or mark the gap for human review.&lt;/p&gt;

&lt;p&gt;The loop becomes more reliable when uncertainty is visible, not when the report sounds more certain.&lt;/p&gt;

&lt;h2&gt;
  
  
  Improve the report from the prompt and template boundary
&lt;/h2&gt;

&lt;p&gt;Once the workflow is operating, many changes can begin in the prompt or report template:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;add or remove a KPI&lt;/li&gt;
&lt;li&gt;change the order of the executive summary&lt;/li&gt;
&lt;li&gt;emphasize Sentry errors only when they cross an agreed condition&lt;/li&gt;
&lt;li&gt;add a weekly comparison section&lt;/li&gt;
&lt;li&gt;update labels after a schema change&lt;/li&gt;
&lt;li&gt;add a question that a human must answer before the next run&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not every change is prompt-only. Authentication, API contracts, queries, and source schemas may require code changes. The useful boundary is that presentation and explanation changes do not always require rebuilding an entire dashboard application.&lt;/p&gt;

&lt;h2&gt;
  
  
  A practical first version
&lt;/h2&gt;

&lt;p&gt;Start with one non-sensitive report and a handful of metrics.&lt;/p&gt;

&lt;p&gt;Before scheduling it, confirm that every source is authorized and readable. Decide how failures appear. Publish to a private or Workspace-scoped audience. Keep the current review at the latest URL, and use a fixed version only when a decision needs an exact reference.&lt;/p&gt;

&lt;p&gt;Then ask one question after each review:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What context should tomorrow’s task inherit from today?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That question turns a daily AI-generated report from a recurring output into a reusable input.&lt;/p&gt;

&lt;p&gt;If you want to test the artifact side of this workflow, start with one non-sensitive self-contained HTML report:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://lp.ledgerinfra.com/quickstart?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=organizational_ai_loop&amp;amp;utm_content=daily_executive_report" rel="noopener noreferrer"&gt;LedgerInfra Quickstart&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>leadership</category>
      <category>devops</category>
    </item>
    <item>
      <title>AI Can Generate the Deck. Publishing It Is Still the Hard Part.</title>
      <dc:creator>Yuichi Tanaka</dc:creator>
      <pubDate>Mon, 03 Aug 2026 09:11:03 +0000</pubDate>
      <link>https://dev.to/yuichi-tanaka/ai-can-generate-the-deck-publishing-it-is-still-the-hard-part-5549</link>
      <guid>https://dev.to/yuichi-tanaka/ai-can-generate-the-deck-publishing-it-is-still-the-hard-part-5549</guid>
      <description>&lt;p&gt;Codex and Claude Code can do more than write source code. Given a technical&lt;br&gt;
proposal, an architecture decision, or a product review, they can also produce a&lt;br&gt;
self-contained HTML slide deck with layout, diagrams, interactions, and examples.&lt;/p&gt;

&lt;p&gt;That changes how engineering teams can communicate. A document is still the right&lt;br&gt;
tool for durable prose, and Markdown remains excellent for notes and&lt;br&gt;
documentation. But some ideas depend on visual sequence. An architecture needs a&lt;br&gt;
diagram. A roadmap needs progression. A product review is easier to understand&lt;br&gt;
when the reader can move through states and examples.&lt;/p&gt;

&lt;p&gt;Generating that deck is no longer the hardest part.&lt;/p&gt;

&lt;p&gt;The harder part begins when the file is ready.&lt;/p&gt;
&lt;h2&gt;
  
  
  The awkward gap after generation
&lt;/h2&gt;

&lt;p&gt;An AI agent can leave a finished &lt;code&gt;deck.html&lt;/code&gt; in a repository. To get feedback, the&lt;br&gt;
author still needs to decide where to put it, how to share it, who may open it, and&lt;br&gt;
what should happen when the deck changes.&lt;/p&gt;

&lt;p&gt;A generic hosting platform can serve the file, but it also introduces decisions&lt;br&gt;
that are unrelated to the review:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which project or bucket should own the file?&lt;/li&gt;
&lt;li&gt;Is the current URL mutable or permanent?&lt;/li&gt;
&lt;li&gt;How do we keep the URL stable across updates?&lt;/li&gt;
&lt;li&gt;How do we share a private draft with a team?&lt;/li&gt;
&lt;li&gt;Which exact version did reviewers approve?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are small infrastructure questions individually. Together, they interrupt&lt;br&gt;
the workflow that made AI-generated artifacts attractive in the first place.&lt;/p&gt;

&lt;p&gt;The author wanted to say, “turn this proposal into a deck and give the team a URL.”&lt;br&gt;
Instead, the author becomes a hosting operator.&lt;/p&gt;
&lt;h2&gt;
  
  
  Treat the deck as a review artifact
&lt;/h2&gt;

&lt;p&gt;We built LedgerInfra around a narrower model: an AI-generated HTML deck is a&lt;br&gt;
review artifact with versions and an audience.&lt;/p&gt;

&lt;p&gt;The input is intentionally constrained. It must be a complete HTML document with&lt;br&gt;
its CSS, JavaScript, and images contained in one file. LedgerInfra does not&lt;br&gt;
convert Markdown into slides and does not manage an asset bundle. Codex, Claude&lt;br&gt;
Code, or another tool creates the artifact; LedgerInfra publishes and versions&lt;br&gt;
the finished result.&lt;/p&gt;

&lt;p&gt;The basic operation is a CLI command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;led publish ./deck.html &lt;span class="nt"&gt;--title&lt;/span&gt; &lt;span class="s2"&gt;"Architecture Proposal"&lt;/span&gt; &lt;span class="nt"&gt;--json&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A successful publish returns a URL for the latest version. Publishing a new&lt;br&gt;
version to the same slide keeps that latest URL stable:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;led publish ./deck.html &lt;span class="nt"&gt;--slide&lt;/span&gt; &amp;lt;SLIDE_KEY&amp;gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--title&lt;/span&gt; &lt;span class="s2"&gt;"Architecture Proposal v2"&lt;/span&gt; &lt;span class="nt"&gt;--json&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each publish also has a fixed version URL. The latest URL is useful for an active&lt;br&gt;
review thread. The fixed URL is useful when a decision, release note, or audit&lt;br&gt;
record needs to point to the exact content that existed at that moment.&lt;/p&gt;
&lt;h2&gt;
  
  
  Visibility should be part of the publish action
&lt;/h2&gt;

&lt;p&gt;A review artifact does not always have the same audience. A public demo, an&lt;br&gt;
internal design review, and a private first draft need different defaults.&lt;/p&gt;

&lt;p&gt;LedgerInfra uses three visibility modes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;led publish ./deck.html &lt;span class="nt"&gt;--visibility&lt;/span&gt; public
led publish ./deck.html &lt;span class="nt"&gt;--visibility&lt;/span&gt; workspace
led publish ./deck.html &lt;span class="nt"&gt;--visibility&lt;/span&gt; private
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;New slides default to &lt;code&gt;private&lt;/code&gt;. Public slides are anonymously viewable.&lt;br&gt;
Workspace slides are limited to active members of the selected workspace.&lt;br&gt;
Private slides are limited to their creator.&lt;/p&gt;

&lt;p&gt;The important design choice is that visibility belongs to the artifact and is&lt;br&gt;
selected at publication time. It is not an afterthought hidden in a separate&lt;br&gt;
hosting console.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let the AI agent operate the CLI
&lt;/h2&gt;

&lt;p&gt;A CLI is useful for developers, but the intended workflow does not require a&lt;br&gt;
person to type every command.&lt;/p&gt;

&lt;p&gt;LedgerInfra provides an Agent Skill that can be installed for Codex or Claude&lt;br&gt;
Code. The user can make a natural-language request such as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Turn this technical proposal into a self-contained HTML slide deck, publish it&lt;br&gt;
privately, and return both the latest and fixed-version URLs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The agent can validate the CLI state and run the publish command internally. The&lt;br&gt;
workflow keeps a human boundary where it matters: login approval, public&lt;br&gt;
publication, archiving, and membership changes require the user to see and&lt;br&gt;
confirm the relevant action.&lt;/p&gt;

&lt;p&gt;This is the broader product idea. AI agents should be able to create and deliver&lt;br&gt;
an artifact without copying credentials into a conversation or turning the final&lt;br&gt;
step into a manual deployment checklist.&lt;/p&gt;

&lt;h2&gt;
  
  
  A narrow tool has useful boundaries
&lt;/h2&gt;

&lt;p&gt;LedgerInfra is not a replacement for a general web host.&lt;/p&gt;

&lt;p&gt;Use a general hosting platform when the result is a web application, depends on&lt;br&gt;
multiple assets, needs a custom deployment pipeline, or requires control over the&lt;br&gt;
delivery infrastructure.&lt;/p&gt;

&lt;p&gt;Use LedgerInfra when the result is already a complete, self-contained HTML&lt;br&gt;
artifact and the remaining job is to publish it for review, update it, control&lt;br&gt;
who can see it, and preserve versions.&lt;/p&gt;

&lt;p&gt;That boundary also keeps the system honest. The service does not claim to create&lt;br&gt;
the deck, edit it, or run an arbitrary application. It handles the short but&lt;br&gt;
important path from a finished file to a reviewable URL.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we are testing
&lt;/h2&gt;

&lt;p&gt;LedgerInfra is being built for small engineering and product teams already using&lt;br&gt;
AI coding agents. The main question is not whether AI can generate better-looking&lt;br&gt;
slides. It is whether the surrounding publish-and-review workflow can become&lt;br&gt;
simple enough to stay inside the agent-assisted development loop.&lt;/p&gt;

&lt;p&gt;If your team already creates technical proposals, architecture diagrams, product&lt;br&gt;
reviews, or roadmaps with Codex or Claude Code, I would like to learn how you&lt;br&gt;
share them today:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do you keep the result in a repository?&lt;/li&gt;
&lt;li&gt;Export it to a document format?&lt;/li&gt;
&lt;li&gt;Deploy it to a general hosting service?&lt;/li&gt;
&lt;li&gt;Send screenshots in chat?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those workarounds are the workflow LedgerInfra is trying to understand and&lt;br&gt;
improve.&lt;/p&gt;

&lt;p&gt;Product page: &lt;a href="https://lp.ledgerinfra.com/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=service_launch&amp;amp;utm_content=first_article" rel="noopener noreferrer"&gt;LedgerInfra&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cli</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
