mirror of
https://github.com/Haidra-Org/AI-Horde.git
synced 2026-11-06 05:17:31 +00:00
- Capture keeps the row as an outbox (text_state pending, text_sha256, text_chars); the quorum applier moves text to evidence/{id}.json every 5 s under an advisory lock and sets stored in one conditional update, deleting objects of rows retention cleared meanwhile and keeping objects another run recorded
- Retention deletes a batch's objects in one bulk call inside the row lock and flags only successes; a store outage holds back only rows with a stored object
- The listing returns text_state, a 10-minute presigned text_url for stored events, and the digest and length; stages stay inline while pending
- The evidence store client needs its own endpoint, bucket and credentials and is off without all four; legacy prompt and image buckets are untouched
- Rejections are counted per IP subject per hour: past HORDE_MODERATION_SUBJECT_TEXT_CAP_PER_HOUR events keep digest and length only; past HORDE_MODEL_REJECTION_TIMEOUT_THRESHOLD model rejections time out the address, every one in raid mode; moderators are exempt; one moderator notice per subject, action and hour carrying the latest event id and review link; countermeasures degrade to none on Redis errors
- Capture, backlog, rejection-rate, distinct-subject and observation-timestamp instruments for flood detection
- ADR 0016, reference doc with the edge rule text, privacy document gated on the configured store, env template
AI-Horde Database Information
- postgresql >=15
- pg_cron
pg_cron config
Warning
: All
.sqlfiles found in a directory deeper thansql_statements/will be dynamically run, not only the ones specifically identified in this document. Only place.sqlfiles you intend to run in these directories. This does not apply to thesql_statementslevel (i.e.,sql_statements/4.35.1.sqlis not automatically run, butsql_statements/cron/your_new_file.sqlwill be.)
cron/schedule_cron_job.sql- Creates a stored procedure which schedules a new pg_cron job to execute a specified stored procedure at intervals defined by a cron schedule string, if a job with the same command doesn't already exist.
- e.g.,
CALL schedule_cron_job('0-59 * * * *', 'compile_imagegen_stats_totals');
stored_procedurescompile_*gen_stats_*.sql- These files defined stored procedures which populated the
compiled_*tables and generally represent minute/hour/day/total statistics about generations.
- These files defined stored procedures which populated the
cron_jobs/- Schedules any stats compile jobs via
schedule_cron_job.
- Schedules any stats compile jobs via