ai
Technical notes on web development, DevOps, and AI integration.
80 articles
- 14:45ai
When to Retire an AI Agent from Your Workflow
An objective evaluation framework for retiring AI agents: OWASP excessive agency root causes, MCP authorization audits, and operational retirement signals.
#ai#security#mcp - 15:19backend
Recovery-Only Rebuild: Lessons from a Corrupted Ledger
A rebuild turned 20 healthy ledger rows into 77 UNKNOWN. The fix: a recovery-only contract that fills gaps and never rewrites healthy rows.
TL;DR: A rebuild tool corrupted a court-rulings ledger, inflating twenty healthy rows to seventy-seven, mostly tagged UNKNOWN. The cause was structural: per-tab raw files re-parsed as new records, proving raw-is-truth doesn't make re-parses safe. The redesign makes rebuild recovery-only: healthy rows stay verbatim, only missing cases are appended, sub-tab files are skipped, and any UNKNOWN aborts all writes.
#python#data-engineering#sqlite - 15:19backend
Tracing Harvested Data with Agent Guardrails and SQLite Logs
Two local guards for scraping pipelines: an AGENTS.md rulebook for coding agents and a per-target SQLite audit log made idempotent with UPSERT.
TL;DR: When a harvest run died, git couldn't trace which commit produced the data—it records file changes, not execution context. The fix was two guards: an AGENTS.md rulebook forbidding writes to harvested data and secrets in commits, plus a per-target SQLite audit log. UPSERT on a unique commit-case-tab key keeps re-runs idempotent, turning provenance recovery into a single query.
#sqlite#scraping#audit-trail - 11:14backend
Through One Door: A Retry-Safe Harvest Ingest Contract
A scraping workspace kept apart from the app, and a replayable single-door API delivery: resumable queue, stable dedupe key, ship log.
TL;DR: A mid-run interruption exposed the risk of writing scrape results straight into the app database, so this commit isolates all scraping tools and stores per-page, per-subtab queue rows with status and attempt logs on disk. Resuming is then deterministic. Shipping happens separately through one ingest endpoint, using stable deduplication keys and exponential backoff so idempotent retries make replays safe.
#scraping#idempotency#data-engineering - 10:30backend
The Raw-First Pattern for Gated Data Harvests
Why gated data harvests save verbatim raw text before parsing: an idempotent ledger, a resumable cursor, and retroactive rebuilds.
TL;DR: When scraping captcha-gated, session-locked court portals, save the verbatim rendered text first and parse later from local files. Resumable cursors and idempotent upserts keep crashes from corrupting data. This bronze-layer approach means parser fixes apply retroactively without ever hitting the fragile site again.
#scraping#idempotency#audit-trail - 22:43backend
When EmailStr Rejects .test Fixtures Under Pydantic
email-validator rejects reserved test domains at the syntax layer; here is how to pick fixture domains that pass Pydantic validation.
TL;DR: CI failures on register and login endpoints came from Pydantic's EmailStr rejecting reserved domains like .test and .local at the syntax layer, before any DNS lookup. The simplest fix is swapping fixtures to example.com, example.net, or example.org, which pass validation. Alternatively, pass test_environment=True to email-validator, though Pydantic needs a custom wrapper for that.
#python#pydantic#email-validator - 14:49ai
Why One Writing Prompt Was Split Into a Contract and Mode Files
A 228-line prompt that fought itself became a 205-line shared contract plus four swappable mode files. The design logic, explained.
TL;DR: Splitting one bloated 228-line prompt solved conflicting instructions by separating rule ownership: a shared contract locks universal invariants like citation and privacy rules, while swappable mode files handle tone and structure. Four modes—report, news, tutorial, explainer—are chosen by the promise made to readers. Hard structure limits and strict evidence requirements keep every output consistent and checkable.
#ai#writing#prompt-engineering - 12:58ai
Ed Zitron Calls AI a Con: Fact-Checking OpenAI Losses and 2027
Ed Zitron calls generative AI a con and predicts a 2027 collapse on DOAC. Audited OpenAI numbers, Microsoft filings, and market data get the fact-check.
TL;DR: Ed Zitron claims generative AI is a con set to collapse in 2027, a take that went viral. Checks find his figures mostly accurate — OpenAI’s operating loss, Microsoft’s OpenAI-driven revenue, and token subsidies — with small corrections. But the fraud label and fixed collapse date don’t hold, as real adoption and safety gains exist and funding remains the risk.
#ai#fact-check#ai-bubble - 11:26ai
Yampolskiy's 99% Unemployment Claim on DOAC: What Holds Up
DOAC's Yampolskiy interview predicts 99% unemployment by 2030 and AGI by 2027. The numbers are tested against OpenAI, BLS, Oxford, and DeepMind sources.
TL;DR: The viral interview hyped extreme AI job losses, but a transcript fact-check found the headline numbers unsupported. Claims of 99% unemployment and 60% of jobs replaceable today clash with verified data showing only 19% highly exposed. Real progress like IMO gold and 250k weekly driverless rides is confirmed, yet safety efforts such as OpenAI's Superalignment team have dissolved.
#ai#fact-check#future-of-work