aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-10 10:13:04 +0200
committerDanilo M. <danix@danix.xyz>2026-09-10 10:13:04 +0200
commit2cdd4dba93b26691a85cd0977294687d5afe0670 (patch)
tree6027db6b599b43138a7b1f81a08296f7e91cfa5e /README.md
parent57dc93c3069ccac583533f4f2d4f9cbc2720c73e (diff)
downloadabusectl-2cdd4dba93b26691a85cd0977294687d5afe0670.tar.gz
abusectl-2cdd4dba93b26691a85cd0977294687d5afe0670.zip
feat: freeze a reported case and detect edited bodies
Content hash rather than mtime, because mtime is wrong in both directions. Any sent destination freezes the whole case with no override: two desks holding contradictory accounts of one incident is worse than a stale body. The marker is tested for PRESENCE rather than truthiness. It is write-once and monotonic, so an empty or malformed value is a half-written record of a case a desk may already hold, and the safe direction is to refuse; only an explicit null counts as absent. A non-mapping marker refuses too rather than raising AttributeError out of a .get, since cli turns Frozen into a message and a traceback into a bug report. The hash pins utf-8 rather than leaving the encoding to the locale: it is compared against a body read back off disk, possibly under a different LANG, and for a sent destination it is the record of what was disclosed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LByBnw83xr9YP85nskzkyE
Diffstat (limited to 'README.md')
0 files changed, 0 insertions, 0 deletions