Skip to main content

max / makenotwork

todo: AI disclosure system audit findings → Phase 4 generative-ai.md commits to a fan-facing badge on item + project pages, a disclosure block visible before purchase, a Handmade/Human-led/Everything filter shape, and a fan flagging path. The first three are missing on the public surfaces; the report endpoint doesn't exist either. Adding them as Phase 4 items so the policy and product re-converge.
Author: Max Johnson <me@maxj.phd> · 2026-06-04 03:04 UTC
Commit: 5123cf2508576f35dbbbe32ffe37507019946fb3
Parent: f677625
1 file changed, +4 insertions, -0 deletions
@@ -217,6 +217,10 @@ Full report: `docs/audit_review.md`. 3 CRITICAL, 14 HIGH/SERIOUS. Two-axis regre
217 217 - [ ] Security: `parse_repo_path` rejects lone-dot entries (`git_ssh.rs:162`).
218 218 - [ ] Security: ClamAV INSTREAM 16K cap → fail-closed on truncation (`scanning/clamav.rs:101-108`).
219 219 - [ ] Security: TOTP seeds at rest behind an application-level key. Currently unencrypted in the DB; `tech/security.md:42-53` already discloses this and commits to a fix. A database-only compromise yields working second factors today.
220 + - [ ] AI disclosure: render the tier badge on `pages/item.html` + project page (`> [!UI] ai-tier-badges` in `about/generative-ai.md` is unfilled). Show the `ai_disclosure` text for Assisted items above the buy button so fans see it before purchase. Same badge on item cards in Discover results / search hits.
221 + - [ ] AI disclosure: pick a shape for the Discover filter — current buckets are "All / Handmade / Assisted / Generated"; `about/generative-ai.md` § "How Fans Use This" promises "Handmade only / Human-led / Everything" (Human-led = Handmade ∪ Assisted). Either rewrite the policy to match buckets, or add the combined filter.
222 + - [ ] AI disclosure: community report endpoint for misclassified items. The policy commits to fan flagging ("Fans and fellow creators can flag items they believe are misclassified.") but there's no `/report` or `/flag` route.
223 + - [ ] AI disclosure: drop the `checked` default on the publish wizard's tier radios so the creator has to pick deliberately, OR rephrase the policy's "no unlabeled option" to acknowledge default-handmade. Minor; signal-of-intent only.
220 224 - [ ] UX: validation error messages stop reflecting user input (`wizards/item/mod.rs:176-179`).
221 225 - [ ] UX: CSRF body extraction stops using `from_utf8_lossy` (`csrf.rs:528-543`).
222 226 - [ ] Perf: scan-pipeline 400 MiB worst-case capacity note (`constants.rs:156-157`).