<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>audit on SOW</title>
    <link>https://sow.pgsty.com/zh/tags/audit/</link>
    <description>Recent content in audit on SOW</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    
    
    
      <lastBuildDate>Fri, 28 Aug 2026 18:32:04 +0800</lastBuildDate>
    
    
      <atom:link href="https://sow.pgsty.com/zh/tags/audit/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
        <title>事务与恢复</title>
        <link>https://sow.pgsty.com/zh/docs/feature/transactions/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/docs/feature/transactions/</guid>
        <description>&lt;p&gt;本页说明 Managed 模式如何防止 live 指针指向缺失内容，以及如何协调 SQLite 状态与文件系统变更。&lt;/p&gt;&#xA;&lt;h2 id=&#34;不变式&#34;&gt;不变式&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;在受支持的本地 POSIX 文件系统上，沿 Managed 协议指针读取的客户端只会得到完整旧视图或&#xA;完整新视图，包括进程中断之后。&lt;/strong&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>可观测与审计</title>
        <link>https://sow.pgsty.com/zh/docs/feature/audit/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/docs/feature/audit/</guid>
        <description>&lt;p&gt;每个读取表面回答不同问题。&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;命令&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;问题&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: right&#34;&gt;写入？&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;status&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Repository 当前是什么状态？&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: right&#34;&gt;否&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;check&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;所选 Repository 是否满足完整交付契约？&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: right&#34;&gt;否&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;changes&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;两个 Built Generation 之间哪些物理文件不同？&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: right&#34;&gt;否&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;log&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;记录了哪些操作与处置结果？&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: right&#34;&gt;否&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;retain ls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;哪些 Generation 是显式本地 GC root？&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: right&#34;&gt;否&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;status低成本状态&#34;&gt;&lt;code&gt;status&lt;/code&gt;：低成本状态&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-25ca3326-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-25ca3326-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sow status -r local&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;它报告 Desired revision、Built Generation、dirty Dist、pending 包体计数、锁状态与&#xA;&lt;code&gt;ready_to_copy&lt;/code&gt;。它不哈希公共树，不恢复操作，也不构建。&lt;/p&gt;</description>
      </item>
    <item>
        <title>sow status</title>
        <link>https://sow.pgsty.com/zh/docs/command/status/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/docs/command/status/</guid>
        <description>&lt;p&gt;&lt;code&gt;sow status&lt;/code&gt; 是低成本的 Repository 状态查询。它读取状态，但不哈希文件、不验签、不恢复&#xA;Operation、不构建元数据，也不获取写锁。&lt;/p&gt;&#xA;&lt;h2 id=&#34;语法&#34;&gt;语法&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-d86affe0-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;text&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-d86affe0-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sow status [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;参数&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;含义&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;默认值&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-C, --workdir DIR&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;工作区发现起点&lt;/td&gt;&#xA;      &lt;td&gt;当前目录&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-r, --repo NAME&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;选择 Repository&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://sow.pgsty.com/zh/docs/command/&#34;&gt;选择规则&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-d, --dist NAME&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;只查看指定 Dist；可重复&lt;/td&gt;&#xA;      &lt;td&gt;全部 Dist&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;--json&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;输出 &lt;code&gt;sow.cli/v1&lt;/code&gt; Envelope&lt;/td&gt;&#xA;      &lt;td&gt;false&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;repository-状态&#34;&gt;Repository 状态&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;每个 Repository 同时跟踪 SQLite 中的 Desired Revision，以及公开 &lt;code&gt;dists/&lt;/code&gt; 树对应的&#xA;Built Generation。&lt;/p&gt;</description>
      </item>
    <item>
        <title>sow check</title>
        <link>https://sow.pgsty.com/zh/docs/command/check/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/docs/command/check/</guid>
        <description>&lt;p&gt;&lt;code&gt;sow check&lt;/code&gt; 是 Managed Repository 的深度只读门禁。它哈希包体、校验状态、重建期望视图并验证&#xA;已声明签名；不会修复、构建、恢复 Operation，也不会获取写锁。&lt;/p&gt;&#xA;&lt;h2 id=&#34;语法&#34;&gt;语法&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-a120e646-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;text&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-a120e646-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sow check [-j|--jobs N] [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;参数&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;含义&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;默认值&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-j, --jobs N&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;并行校验 Worker 数，不得小于 &lt;code&gt;1&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;逻辑 CPU 数&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-C, --workdir DIR&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;工作区发现起点&lt;/td&gt;&#xA;      &lt;td&gt;当前目录&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-r, --repo NAME&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;选择 Repository&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://sow.pgsty.com/zh/docs/command/&#34;&gt;选择规则&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-d, --dist NAME&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;校验指定 Dist；可重复&lt;/td&gt;&#xA;      &lt;td&gt;全部 Dist&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;--json&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;输出 &lt;code&gt;sow.cli/v1&lt;/code&gt; Envelope&lt;/td&gt;&#xA;      &lt;td&gt;false&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;校验层&#34;&gt;校验层&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;稳态下，checker 按顺序报告九层校验：&lt;/p&gt;</description>
      </item>
    <item>
        <title>sow log</title>
        <link>https://sow.pgsty.com/zh/docs/command/log/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/docs/command/log/</guid>
        <description>&lt;p&gt;仓库内的每条写命令，都会&lt;em&gt;先&lt;/em&gt;在该仓库的 SQLite 中提交一条应用级 Operation，然后才产生任何外部文件&#xA;副作用。这条记录让崩溃恢复成为可能——而当 Operation 进入终态之后，同一条记录就是你的审计轨迹。&#xA;&lt;code&gt;sow log&lt;/code&gt; 读的就是它。&lt;/p&gt;</description>
      </item>
    
  </channel>
</rss>
