Insights

From the field, not from theory.

Data IntelligenceRAGSemantic SearchPostgreSQL

49% or 67%: reranking is a second stage, not a setting

Contextual Retrieval cuts failed retrievals by 49%, and by 67% with reranking. Those two figures describe two separate builds, paid from two different budgets.

Process AutomationObservabilityPostgreSQLProduction

Saturation is the only golden signal a daily pipeline can't borrow

The four golden signals were written for a serving system. In a pipeline that publishes 8 articles a day, three of them arrive distorted, and saturation is the only one with lead time.

GEOAI SearchStructured DataLocalisation

One repo, four robots.txt: which GEO controls multiply with domains

A single codebase deployed to four country domains has one set of templates and four sets of host-level files. Knowing which GEO controls are per host and which are per page decides what you maintain.

AI AgentsOrchestrationGuardrailsProduction

Predefined path or dynamic direction: which steps deserve an agent

A pipeline publishing 8 articles a day in 7 languages with 0 manual intervention sounds like an agent system. Most of its steps shouldn't be. Classify each one before you build it.

Case StudyObservabilityProductionAutomation

No row for the headers: what a result list leaves unmeasured

Three published case studies report three or four measured outcomes each. Each also describes shipped work that no row counts. That gap is where things regress without moving a figure.

Custom SoftwareSecurityProductionObservability

Forty weaknesses under one heading: scoping an access control review

Broken Access Control is ranked #1 in OWASP's 2025 list, yet the contributed data shows 3.73% of tested applications hit it. Rank and frequency are different instructions.

Generative AIEvalsGuardrailsAutomation

Not everything is a key output: choosing what gets validated at eight a day

OWASP asks you to automatically validate key outputs, not every output. In a pipeline publishing eight articles a day across seven languages with zero manual intervention, key is a budget you allocate.

Data IntelligenceRAGPostgreSQLSemantic Search

When exact search also misses: triaging a failed retrieval

A chunk that never comes back in the top 20 is either hidden by your index or absent from your text. pgvector's default exact search tells you which, before you tune anything.

Process AutomationObservabilitySchedulingProduction

Green while nothing runs: monitoring a pipeline that mostly idles

An availability probe tells you a service responds. It says nothing about whether tonight's batch will fire. For a pipeline, the signals are counts per window and the age of the oldest waiting row.

GEOAI SearchStructured DataContent

The Optional line: deciding what an agent is allowed to skip

llms.txt requires exactly one section: the H1. Everything else, including what sits under ‘Optional’, is a judgement call about what a model should read when the context runs short.

AI AgentsMemoryReliabilityProduction

Resume or restart: what an agent writes down before it stops

A maximum iteration count means your agent will stop mid-task by design. Whether that costs you a run or a few minutes depends on what was written at the last phase boundary.

Case StudyAutomationReliabilityProduction

Nothing runs, or something recovers: two routes to a zero in the results list

Three published projects each report a zero in their operations column. One got there by not building a recurring process, two by building one that handles its own failures.

Custom SoftwareSecurityProductionObservability

From #5 to #2: misconfiguration scales with deploy targets, not with code

Security Misconfiguration moved from #5 in 2021 to #2 in 2025. Code volume doesn't grow when you add a market, but configuration does: one codebase, four country domains, four places a setting can be wrong.

Generative AIEvalsBrand ControlProduction

Three writers, one voice: evaluating brand control across fallback levels

A publishing engine with three model fallback levels has three writers. If the evals only ever run against the primary, brand control is tested on a good day and left unmeasured on a bad one.

Data IntelligenceRAGPostgreSQLProvenance

The citation is a row, not a sentence: logging retrieval so a pipeline can be audited

The RAG paper left provenance as an open problem. If nobody reads the output before it publishes, the only audit trail you get is the one you write at query time.

Process AutomationObservabilityReliabilityPostgreSQL

Succeeded on the third attempt: making self-recovery visible in a daily pipeline

A pipeline that retries and falls back produces the same artefact either way: the dashboard stays green while the dependency rots. Make recovery visible before it stops working.

GEOAI SearchStructured DataContent

Three readings of one page: keeping markup, markdown and what renders in agreement

Markup, a markdown twin and the rendered page are three readings of the same URL. The GEO failure that matters is not missing schema; it is drift between them.

AI AgentsCost ControlOrchestrationProduction

4× or 15×: topology decides the agent bill, cadence decides how often you pay it

Agents use about 4× more tokens than chat interactions; multi-agent systems about 15×. Those are multipliers on your cadence, which makes topology a recurring cost decision rather than a one-off one.

Case StudyObservabilityProductionCustom Software

Three scoreboards, three result lists: let the challenge sentence pick the metrics

Three Neurolinks case studies report their results, and almost no row repeats. The overlap is not a reporting accident: each challenge sentence names a different risk, and the metrics follow it.

Custom SoftwareSecurityAutomationProduction

The only account is a pipeline: access control when nobody logs in

Broken Access Control is still #1 in the OWASP Top 10:2025. On a platform that publishes itself, the only actor holding write credentials is a machine, and it still needs an authorisation boundary.

Generative AIEvalsLocalisationAutomation

Eight a day in seven languages: the publishing schedule is your eval distribution

A daily generative pipeline already tells you what to evaluate: 8 articles, 7 languages, 4 domains, 0 manual intervention. Write the eval set to that shape, and make every question machine-gradable.

Data IntelligenceRAGEvalsSemantic Search

Recall@20 is a promise about your prompt: match the metric to what you ship

An eval that reports recall@20 is claiming that twenty chunks reach the model. If your prompt carries fewer, the number describes a retrieval stage you do not actually ship.

Process AutomationSchedulingPostgreSQLReliability

Cron should enqueue, not execute: putting the work unit in a table

A crontab line that runs the whole job makes the wall clock responsible for correctness. Move the work unit into a queue table and double fires, missed hours and masked retries become rows you can query.

GEOAI SearchSEOStructured Data

There is no AI Overviews row: designing GEO measurement around what you can see

The first GEO question is usually a citation count, and the available reporting does not produce one. Here is what you can measure instead, and how to date the windows so the numbers mean something.

AI AgentsGuardrailsReliabilityProduction

A durable handle or an open call: what changes when an agent step runs long

Most agent designs assume a tool call returns while the model is still waiting. When a step outlives the request that started it, ownership of the state moves, and recovery has to move with it.

Case StudyCustom SoftwareAutomationSEO

Five seconds or four markets: when a platform needs a publishing engine

Three published platforms: two publish daily, one publishes nothing on a schedule. The deciding factor sits in the challenge statement, not the budget. Does the gap close by repetition or by first impression?

Custom SoftwareSecurityReliabilityProduction

The failure path has a latency: A10:2025 on a server-rendered platform

OWASP made mishandled exceptional conditions a top-ten category for 2025. On a server-rendered platform, the catch block decides what the user sees, what the log records and how long the wait lasts.

Generative AIComplianceGuardrailsProvenance

The notice or the marker: two transparency duties that land in different code

Telling a human they are talking to a machine and making generated content identifiable are not the same obligation. One lives in the session; the other travels with the file.

Data IntelligencePostgreSQLSemantic SearchRAG

The index is a write-time cost: choosing HNSW or IVFFlat when rows arrive daily

Index choice is usually argued on query speed. On a corpus that gains rows every day under no supervision, build time and memory are the numbers your schedule multiplies.

Process AutomationReliabilityObservabilityProduction

Retries are traffic, not error handling: budgeting recovery in an unsupervised pipeline

Every retry is a new request issued at the worst possible moment. A retry budget and randomised backoff decide whether recovery traffic helps your pipeline or finishes it off.

GEOAI SearchSEO

GPTBot or OAI-SearchBot: two robots.txt lines, two different decisions

GPTBot and OAI-SearchBot answer different questions: may your content train models, and may it be cited in ChatGPT search answers. Mixing them up costs citations quietly.

AI AgentsGuardrailsSecurity

Annotations are hints, not permissions: reading an agent's tool list as untrusted input

MCP says tool annotations are untrusted unless the server is. For an agent that directs its own tool usage, that makes the tool list, not the prompt, the thing worth reviewing.

Custom SoftwareSEOLocalisationCase Study

Four domains, seven languages: when the counts don't divide

The Tatano Energy platform reports four country domains indexed separately and seven languages served. Four does not divide seven, and that mismatch decides your routing before you write a line of it.

Custom SoftwareSecurityBuild vs BuyProduction

One codebase or four instances: build-vs-buy is a count of configurations

Build-vs-buy for an SME is rarely settled on features. It is settled on how many configurations you end up owning: response headers, access rules, alerts, multiplied by every instance you deploy.

Generative AIGenerative MediaComplianceProvenance

Assertions, not verdicts: what travels with a generative video after it leaves your site

AI Act identifiability and a C2PA manifest are not the same control. One labels the page, the other travels with the file, and neither checks whether the claims inside the video are true.

Data IntelligenceRAGSemantic SearchPostgreSQL

200,000 tokens or an index: measure the corpus before you build retrieval

Anthropic draws a line at 200,000 tokens: below it, the whole knowledge base fits in the prompt. Measure the corpus first, because the index you pick is a latency decision, not a correctness one.

Process AutomationReliabilityProductionAutomation

If the response is robotic, it isn't a page: alerting an unsupervised daily pipeline

A pipeline that publishes 8 articles a day with nobody watching still needs a pager, just a much shorter list. Four golden signals, a retry budget and a missing-output deadline decide what earns one.

GEOAI SearchSEOStructured Data

Fan-out retrieves subtopics, not your best page: planning for coverage

Google documents that AI Overviews and AI Mode may issue multiple related searches across subtopics. That makes breadth of eligible pages the lever, and it makes clean measurement impossible.

AI AgentsGuardrailsSecurity

Excessive agency has three causes, not one: functionality, permissions, autonomy

OWASP splits agent overreach into three distinct root causes. Treating them as a single problem means building the wrong guardrail for the actual failure.

Custom SoftwareSEOGEOCase Study

0 issues at launch or a 66→90+ overhaul later: when we paid for structure

Three published builds, one recurring piece of work. Abbys Consult shipped with 0 technical SEO issues; matthieupesesse.com reached 90+ through an overhaul that started at 66. The timing is the cost.

AutomationAI AgentsCase Study

Count the publications, not the uptime: what 'zero manual intervention' has to mean

Three case studies end on the same result line: zero human hours. Absence of effort proves nothing by itself, so we specify unsupervised work as a countable output with a period attached.

Custom SoftwareSecurityProduction

Report-only is the rollout, not a courtesy: shipping a strict CSP to a live platform

Security Misconfiguration moved from #5 to #2 in OWASP's 2025 Top 10. A strict CSP is enforced in the browser, after your response has left, which is why the rollout order matters more than the policy text.

Generative AIEvalsAI Agents

Pick the grader before you write the question: eval design for a grounded assistant

An eval set is not a bug log. If you cannot name the grading method before writing the question, the question ends up on someone's desk, and manual review does not survive a daily pipeline.

Data IntelligenceRAGPostgreSQLSemantic Search

Exact matches are a different index: tsvector beside pgvector

Embedding search misses exact matches by design. The repair is a second retrieval path in the same database, a corpus-size check before building anything, and a metric that counts misses.

AutomationCustom Software

SKIP LOCKED or NOWAIT: how parallel workers claim rows from one queue table

Fan-out is easy to draw and awkward to implement. The hard part is the claim: how one worker takes a row of work without a second worker taking the same one. Postgres documents two answers.

GEOSEOStructured Data

Required properties before more schema types: the eligibility chain

Google says you don't need new files or markup to appear in AI Overviews. You do need indexing, snippet eligibility and complete objects. Here is the documented order, and why per-type schema tests mislead.

AI AgentsAutomation

Retry the step, not the run: what an agent re-executes when it starts over

When an unsupervised agent fails halfway, re-running it looks free. It isn't a replay: it re-executes tool calls, re-spends tokens and re-enters the loop that failed.

AI AgentsAutomationCase Study

Three fallback levels, not one model: the decision behind a daily publisher

Our autonomous publishing engine has three model fallback levels. That number is why it ships daily without supervision, and it is a trade-off we made on purpose rather than during an outage.

Custom SoftwarePerformanceSecurityProduction

Server-rendered is not a score: TTFB, the 75th percentile and headers on every response

Time to first byte under 200 ms is a diagnostic, not a passing grade. What a server-rendered SME platform is actually measured on: LCP, INP at the 75th percentile, and the headers you return on every request.

Generative AIEvalsComplianceContent

Identifiable, grounded, graded: three gates before generative output publishes itself

At 8 articles a day in 7 languages, no human reads every asset. Three gates decide what ships: identifiability on the asset, automated validation of key claims, and evals that mirror the real task distribution.

Data IntelligenceRAGPostgreSQLSemantic Search

pgvector recall is a setting you chose: baseline, candidate list, measurement

pgvector's default is exact search with perfect recall, so lost recall is a trade someone made. Field notes on the baseline, the candidate list and the measurement to run before blaming the embeddings.

Process AutomationReliabilityProductionScheduling

Twice in the same hour, or not at all: what the crontab does to a daily pipeline

A pipeline that publishes every day without supervision rests on one assumption: the trigger fires exactly once. The cron manual page is explicit that during clock conversions, it does not.

GEOSEOAI SearchStructured Data

llms.txt is a proposal, not a ranking signal: what AI search actually documents

Publishing an llms.txt file is not what gets you cited. Here is what the specification actually requires, what Google says you can skip, and which GEO lever has a measured number behind it.

AI AgentsGuardrailsCost Control

The autonomy budget: what to cap before an agent runs unsupervised

Anthropic measures agents at about 4× the tokens of a chat, and multi-agent systems at about 15×. That multiplier is why stopping conditions, permissions and checkpoints get designed before capability.