Casa Tech Agent (casa-tech-agent)
Casa Tech Agent
go run . casa-tech-agent (wrapper scripts/daily-casa-tech.sh) publishes
editorial articles for the /tecnologia-casa/ section —
technology applied to houses across the whole lifecycle, from building
(construction tech, 3D printing, pre-fabricated) to cleaning (robot
vacuums), through smart home, energy, security and connected appliances.
Each run follows the standard agent pipeline: research → plan → generate → validate → retry → deploy.
- Topic rotation — six angles walk the house lifecycle
(
tech-construcao,tech-casa-inteligente,tech-limpeza,tech-energia,tech-seguranca,tech-eletro), tracked atsite/cache/casa-tech/tracker.json. Override the catalog via the admin (save-topicswritessite/cache/agent-config/casa-tech-topics.json;agentconfig.LoadCasaTechTopicsvalidates the closed type set). - Research —
crawlTopicDataruns two pt-BR queries per angle through the searchcrawler provider chain (serper/brave/bing/ddg/crawl4ai). No context → the run aborts (contentquality.IsEmptyContext) rather than generate generic content. - Generate — the shared planner + section-writer orchestrator
(
prompts/casa_tech_planner.txt+prompts/casa_tech_section_writer.txt) produces the outline and HTML body. The prompts forbid invented numbers: prices, specs and launch dates must come from the crawled context. - Validate —
contentquality.DefaultCasaTechRules(): ≥800 words, ≥5 headings, banned-phrase list, current-year timeliness gate; no city gate (it is not a localized page). 3 in-run attempts with error injection, then scheduled retries with backoff (cache/casa-tech/retry.json, 30m → 1h → 2h → 4h, max 3). - Publish — pages at
/tecnologia-casa/{slug}/+ section index and archive (/tecnologia-casa/,/tecnologia-casa/arquivo/) rendered by thenoticiasscoped generator (the theme lives outside/noticias/viaURLPrefix: "tecnologia-casa"), thengenerate-sitemapand a scoped deploy (tecnologia-casa/…, the post image, sitemap shards, robots.txt) — a handful of mutations, far under the 500 gate.
Why a fresh URL prefix
The 2026-11-01 revenue recovery de-indexed 15 thin per-city topic scopes —
including /casa-inteligente/, /energia-solar/, /construir/,
/casa-container/ and /manutencao/: 134-word city pages with zero clicks.
This section deliberately does not recreate that pattern:
- fresh prefix
tecnologia-casa— not inDeindexedScopePrefixes(), not a redirect alias, not robots-disallowed; - substantial single-topic articles (≥800 words, question-shaped headings, grounded in crawled research), never per-city templated pages.
Scheduling
Units are checked in at scripts/systemd-units/ but were not enabled at
launch: the section landed during the GSC re-evaluation window (WoW verdict
~Nov 12), and the rollout doctrine keeps new URLs out of the sitemap until
the verdict. New URLs are additive — the lastmod content-hash store keeps
every existing lastmod stable — but the section launch was still staged
post-verdict.
Timer: redecasas-casa-tech.timer, Mon/Wed/Fri 08:47 (after ai-news 08:07
and IBGE 08:27). Retry checker: check-casa-tech-retry.sh via
redecasas-casa-tech-retry.timer (run days 08:00–13:00 every 30 min).
Activation (post-verdict checklist)
mkdir -p ~/.config/systemd/user && cp scripts/systemd-units/redecasas-casa-tech*.service scripts/systemd-units/redecasas-casa-tech*.timer ~/.config/systemd/user/systemctl --user daemon-reloadsystemctl --user enable --now redecasas-casa-tech.timer redecasas-casa-tech-retry.timer- First supervised run:
scripts/daily-casa-tech.sh(watch the log inlogs/daily-casa-tech-*.log), then confirmhttps://redecasas.com.br/tecnologia-casa/renders and appears in the sitemap. - Record the launch on the recovery ledger (#198), per the faq-rollout precedent.
Operations
| Command | What it does |
|---|---|
go run . casa-tech-agent --dry-run | Crawl + generate locally, no deploy (freeze-gated) |
go run . casa-tech-agent --topic tech-limpeza | Force one angle instead of the rotation |
go run . casa-tech-agent --retry | Run only if a scheduled retry is due |
scripts/daily-casa-tech.sh | Wrapper: freeze gate, lock, connectivity wait, run, schema check, success marker |
scripts/check-casa-tech-retry.sh | Retry poller (driven by the retry timer) |
- Freeze-gated like every agent:
sitefreeze.RequireNotFrozenin the Go command andfreeze_skipin the wrapper; the freeze timers list includes the casa-tech units. - Per-agent model override:
CASA_TECH_LLM_MODEL(same precedence asAI_NEWS_LLM_MODEL). - The admin dashboard lists the agent (
casa-tech) for trigger-run, pause/resume-timer, clear-retry, save-env, save-topics, load-logs and search-logs. - Boot catch-up:
scripts/boot-catchup-marker.sh casa-techre-runs the wrapper after a reboot if it has not succeeded today. - Deploying the nav change also needs the edge worker redeploy
(
worker_html.mjscarries the nav constants) — seedocs/src/content/docs/frontend/for the worker deploy procedure.