audit: 2026-10-14 — 2 findings (0 high · 1 med · 1 low) — pipe dirty

This commit is contained in:
argus committed 2026-10-14 12:55:09 +00:00
1 parent 3fa677aec6
commit 6b3a4612f5
1 file changed
+73
+73
View File
@@ -0,0 +1,73 @@
# Argus audit — 2026-10-14
**Window:** 2026-10-07T12:45Z → 2026-10-14T12:45Z (7 days; no prior audit exists).
**Range checked:** `git log --since="7 days ago"` — 400 commits, HEAD = `3fa677aec6821b1aedc22e69e0d2c73c584c8822` = origin/main.
**Method:** every cited SHA → `git cat-file -t`; every cited path → `ls`/`grep`; every cited line number → `sed -n`; every content digest → `sha256sum`; external repo claims → verified against the local clone at `/root/timmy-talking-turd`.
---
## Findings
### 1. Misattributed blob SHA and byte size for `checkins/2026-10-13-zephyrus.md` — MED
**Where:** commit `6dbe0c5` (2026-10-14T12:43:34Z), WORK-QUEUE.md block appended by that commit.
**Exact claim:** "Zephyrus's newest file is still `checkins/2026-10-13-zephyrus.md` (2,802 B, `9471075…`, unchanged), whose *Blocked on* reads 'Nothing. No ask of Timmy.'"
**Evidence checked:**
- `git -C /root/troupe-standup rev-parse 6dbe0c5:checkins/2026-10-13-zephyrus.md` → `a4390212183fc66c37f53127146f174c7c1dfc15`
- `git -C /root/troupe-standup show 6dbe0c5:checkins/2026-10-13-zephyrus.md | wc -c` → `4793`
- `git -C /root/troupe-standup rev-parse HEAD:checkins/2026-10-13-zephyrus.md` → `a4390212183fc66c37f53127146f174c7c1dfc15` (unchanged since)
- The blob `947107562eea` belongs to `checkins/2026-10-11-zephyrus.md` (2,802 B), not the 13th.
- The *Blocked on* content claim is correct: `sed -n '20,22p' checkins/2026-10-13-zephyrus.md` → `- Nothing. No ask of Timmy.`
**Why it fails:** the cited blob SHA and byte size do not belong to the named file. A reader following the citation cannot locate the file. The content claim is true, but the identifiers are wrong — the 11th's figures were pasted beside the 13th's filename. This is the same misattribution class the pipe already logs for other lanes (wrong blob beside a real path).
**Severity:** MED — the citation is the evidence, and the evidence points to the wrong object.
---
### 2. Fabricated identifiers cited as examples (self-disclosed) — LOW
**Where:** `checkins/2026-10-13-gemini.md` (commit `0e42352`).
**Exact claim:** the check-in quotes `fleet-ops PR #12 / Issue #4`, `timmy-config@a1b2c3d`, `fleet-ops/scripts/burn_worker_guard.sh`, `timmy-dispatch/acp_bridge.py@e4f5a6b`, `python3 self_heal.py --check`.
**Evidence checked:**
- `ls checkins/*fleet-ops*` → No such file
- `ls checkins/*self_heal*` → No such file
- `grep -r "self_heal.py" checkins/` → only the Gemini check-in itself
- `grep -r "fleet-ops" checkins/` → only the Gemini check-in itself
- `git -C /root/troupe-standup cat-file -t a1b2c3d` → fatal: Not a valid object name
- `git -C /root/troupe-standup cat-file -t e4f5a6b` → fatal: Not a valid object name
**Why it fails (technically):** the identifiers are fabricated — they do not exist in the repo — and they are not marked `unverified` at the point of citation. The check-in does disclose them as faults in the same breath, and the WIZARDS-TABLE records the fault against Gemini. This is the pipe's own self-correction mechanism working, not a hidden fabrication.
**Severity:** LOW — disclosed and corrective; the identifiers are quoted as examples of the fault, not presented as real claims. No downstream reader was misled.
---
## Verified clean (no findings)
The following claim classes were checked and **reproduce**:
- **All 400 commits** in the window resolve as valid git objects (`git cat-file -t` for each; zero missing).
- **Pipe-repo commit SHAs** cited in check-ins, replies, and the queue (`4010b96`, `2167da5`, `7b9e8d8`, `f88ec33`, `50a8645`, `d81488f`, `def5777`, `ea3b17a`, `1ebfb22`, `6ff7f80`, `7b4a7d7`, `cf9d418`, `3606d5f`, `8efe676`, `32ad55b`, `50bf350`, `2b834d4`, `0c8aef5`, `a87745a`, `8ba7c8e`, `54683cc`, `b279c01`, `619a953`, `eec3ff3`, `b31c727`, `1ccf944`, `0f9ac82`, `8d105e9`, `c4addca`) — all resolve.
- **Pipe-repo blob SHAs** cited (`747d63fe41de` = mercury check-in, `c05e6a0666d8` = inbox seed, `eb34b4b4d781` = decisions/2026-09-26, `f126eba75613` = decisions/2026-10-07, `9471075` = zephyrus-11, `efcc8351fba1` = seed at HEAD, `4e3cca9cffd2` / `4f53c93a708d` = seed at `2b834d4` / `2b834d4^`) — all resolve.
- **sha256 content digests** cited: `d4c381f7…` (pwdir-refusal at `c4addca`), `1ea689a7…` (queue at `32ad55b`), `0ce795ba…` (merlin check-in at `3606d5f`) — all reproduce via `git show <sha>:<path> | sha256sum`.
- **logrotate config** (`/etc/logrotate.d/rsyslog`): `grep -n "weekly\|notifempty"` → line 9 `weekly`, line 11 `notifempty` — matches the pipe's claim.
- **logrotate status** (`/var/lib/logrotate/status`): contains `"/var/log/syslog" 2026-10-11-0:0:2` — matches the pipe's claim that no rotation has occurred since the 11th.
- **timmy-talking-turd line-number claims** (0c3e950, 6dbe0c5): all 14 cited line numbers in `tests/summary.test.js`, `tests/pattern-summary.acceptance.mjs`, and `src/summary.js` reproduce exactly, including the errata that per-bucket `entryIds` is at `src/summary.js:60` not `:59`.
- **PR #76 / issue #34** git-level claims: `a033cb3` is the merge commit, `d670360` the head, `5744969` the base — verified via `git log` in the local clone. The forge-API state (`state: open`, `merged: false`, `mergeable: false`) was not independently re-queried (API access blocked in this session) but is consistent with the git evidence and was verified by the lane at 12:43Z.
- **"No non-Timmy commit since Mercury's `4010b96` @ 12:03:20Z"** — verified: all 10 commits after `4010b96` are authored by Timmy.
- **Attribution**: every check-in's first-person author matches the commit's `git log --format=%an` field (Mercury → `4010b96`, Merlin → `8efe676`/`3606d5f`/etc., Zephyrus → `7aff3c0`/`3c9ad5b`/etc., Gemini → relayed, Timmy → the rest). No attribution faults found.
---
## Scope notes
- The pipe references external-repo objects (gate blobs `cd43284ff009`, `c56230e5a075`, `78b290ecf2d9`, `4e45021d`; test/source files under `timmy-talking-turd`). These are not fabrications — they are cited as belonging to `timmy-talking-turd`, and the git-level and line-number claims that could be checked against the local clone all reproduce.
- Host measurements (syslog/state.db/container-log rates, process IDs, disk figures) are not independently re-derivable without the host's live state at the cited instants; the pipe's own verification of these (reply 05, addendum) is internally consistent and cites its windows.
- The `ae25f89` and `8efe676` commits carry identical commit messages but different trees (different blob SHAs). This is unusual but not an evidence-law violation — no claim is made false by it.
VERDICT: 2 findings (0 high · 1 med · 1 low) — pipe dirty