From 7700bff39d37530df4aa24353d34e9ab1cf0c4d4 Mon Sep 17 00:00:00 2001 From: Francisco Solla Date: Wed, 5 Aug 2026 01:39:42 -0300 Subject: [PATCH] chore: update references to .cursor bootstrap paths Point environment.json, hooks, skills, and docs at the relocated .cursor/ files. --- .agents/skills/agent-work-issue/SKILL.md | 2 +- .agents/skills/local-database/SKILL.md | 2 +- .cursor/environment.json | 4 ++-- .cursor/hooks.json | 2 +- docs/AGENT-OPS.md | 2 +- docs/GUARDRAILS.md | 2 +- docs/plans/agent-pool-orchestrator.md | 8 ++++---- scripts/lib/agent-pool-prompt.mjs | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.agents/skills/agent-work-issue/SKILL.md b/.agents/skills/agent-work-issue/SKILL.md index 52da689a..7684d0a9 100644 --- a/.agents/skills/agent-work-issue/SKILL.md +++ b/.agents/skills/agent-work-issue/SKILL.md @@ -46,7 +46,7 @@ pnpm i # se node_modules ausente/stale ### Cloud (sem Docker) -Não use `pnpm db:start`. Postgres via `.agents/environment.json`. `gate:fast` / `gate:push` não precisam de DB. **Proibido** `git push --no-verify` no fechamento. +Não use `pnpm db:start`. Postgres via `.cursor/environment.json`. `gate:fast` / `gate:push` não precisam de DB. **Proibido** `git push --no-verify` no fechamento. ## Passo 1 — Sessão (Issue já claimada) diff --git a/.agents/skills/local-database/SKILL.md b/.agents/skills/local-database/SKILL.md index ed1e0965..763491b8 100644 --- a/.agents/skills/local-database/SKILL.md +++ b/.agents/skills/local-database/SKILL.md @@ -15,7 +15,7 @@ Production is a live **Neon Postgres** with real citizens' PII. Local developmen ## Cursor Cloud (sem Docker) -VMs Cloud **não rodam** `docker compose` / `pnpm db:start`. Postgres nativo: `.agents/environment.json` (`cloud-setup.sh` + `ensure-postgres.sh`). Mesmos URLs `localhost:5432/teqo` e `teqo_test`. Agentes em `work-issue` / `agent-work-issue`: não tente Docker; `gate:fast`/`gate:push` não precisam de banco. +VMs Cloud **não rodam** `docker compose` / `pnpm db:start`. Postgres nativo: `.cursor/environment.json` (`.cursor/cloud-setup.sh` + `.cursor/ensure-postgres.sh`). Mesmos URLs `localhost:5432/teqo` e `teqo_test`. Agentes em `work-issue` / `agent-work-issue`: não tente Docker; `gate:fast`/`gate:push` não precisam de banco. ## Local connection values diff --git a/.cursor/environment.json b/.cursor/environment.json index f5e2b8a3..67c4bbd9 100644 --- a/.cursor/environment.json +++ b/.cursor/environment.json @@ -1,4 +1,4 @@ { - "install": "pnpm install --frozen-lockfile && pnpm run prepare && bash ./.agents/cloud-setup.sh", - "start": "bash ./.agents/ensure-postgres.sh" + "install": "pnpm install --frozen-lockfile && pnpm run prepare && bash ./.cursor/cloud-setup.sh", + "start": "bash ./.cursor/ensure-postgres.sh" } diff --git a/.cursor/hooks.json b/.cursor/hooks.json index d3cc7463..c7bfe44d 100644 --- a/.cursor/hooks.json +++ b/.cursor/hooks.json @@ -3,7 +3,7 @@ "hooks": { "preToolUse": [ { - "command": "node \".agents/hooks/guard-env-files.mjs\"", + "command": "node \".cursor/hooks/guard-env-files.mjs\"", "timeout": 5 } ] diff --git a/docs/AGENT-OPS.md b/docs/AGENT-OPS.md index 3ac72228..e98bedd1 100644 --- a/docs/AGENT-OPS.md +++ b/docs/AGENT-OPS.md @@ -91,7 +91,7 @@ Vercel Git builds: `scripts/vercel-ignore-build.sh` skipeia **todas** as branche ## Cursor Cloud -`.agents/environment.json` instala deps + Postgres nativo + `db:seed:minimal`. Sem secrets de prod. Preferir `pnpm push`; escape `git push --no-verify` só no cutover documentado acima. +`.cursor/environment.json` instala deps + Postgres nativo + `db:seed:minimal`. Sem secrets de prod. Preferir `pnpm push`; escape `git push --no-verify` só no cutover documentado acima. ## Agent pool diff --git a/docs/GUARDRAILS.md b/docs/GUARDRAILS.md index 73e4b963..e415c2e7 100644 --- a/docs/GUARDRAILS.md +++ b/docs/GUARDRAILS.md @@ -8,7 +8,7 @@ Ledger dos guardrails determinísticos colhidos de `kind:agent-miss` (fluxo `pnp | Guarda | Origem | Classe | Mecanismo | Status | | ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | -| `agent:ship` exige stamp de /simplify casado com HEAD; PR Ready + auto-merge + watch até MERGED | [#83](https://github.com/fsolla/teqo/issues/83) | 3 (script + hooks) | `scripts/agent-ship.mjs`, `.agents/hooks/guard-pr-create.mjs` (bloqueia `gh pr create` manual), `.agents/hooks/pr-merge-watchdog.mjs` (re-engata com PR aberto) | vivo desde 2026-07-31 (PR #89); miss fechada no Pass 4 | +| `agent:ship` exige stamp de /simplify casado com HEAD; PR Ready + auto-merge + watch até MERGED | [#83](https://github.com/fsolla/teqo/issues/83) | 3 (script + hooks) | `scripts/agent-ship.mjs`, `.cursor/hooks/guard-pr-create.mjs` (bloqueia `gh pr create` manual), `.cursor/hooks/pr-merge-watchdog.mjs` (re-engata com PR aberto) | vivo desde 2026-07-31 (PR #89); miss fechada no Pass 4 | | Alocador de municípios em specs — sem slug fixo + mutação; sem `municipio=` em e2e; regex de nome de catálogo ancorada | [#73](https://github.com/fsolla/teqo/issues/73) | 3 | `tests/unit/testMunicipalityAllocatorConventions.unit.spec.ts` (3 regras; mutações = assign/touch/create\*/`payload.update` municipality) | PR [#93](https://github.com/fsolla/teqo/pull/93) (Pass 4) | | Sheet compartilhada por lista — chip cells exigem `CampaignListSheetProvider`; invariante dev no overlay | [#52](https://github.com/fsolla/teqo/issues/52) | 3 + 5 | `tests/unit/sharedSheetHostConventions.unit.spec.ts`; `console.error` development-only em `CampaignCellEditOverlay` | PR [#94](https://github.com/fsolla/teqo/pull/94) (Pass 4) | | Navegação e2e assentada — goto→goto sem settle falha o build | [#54](https://github.com/fsolla/teqo/issues/54) | 3 | `tests/unit/e2eNavigationConventions.unit.spec.ts` (settle = await expect/waitForURL/click/reload/login/catch) | PR [#95](https://github.com/fsolla/teqo/pull/95) (Pass 4) | diff --git a/docs/plans/agent-pool-orchestrator.md b/docs/plans/agent-pool-orchestrator.md index 82631e31..ed40027a 100644 --- a/docs/plans/agent-pool-orchestrator.md +++ b/docs/plans/agent-pool-orchestrator.md @@ -347,7 +347,7 @@ ou deixar bloqueada. - **Fase 0 — spike (30–45 min, antes de qualquer PR):** `GET /v1/me` + `GET /v1/models` (dump commitado neste plano); spawn de 1 agente de teste no repo com `model.id` explícito e prompt - trivial; confirmar: boot via `.agents/environment.json`, `gh` autenticado no worker, tempo real + trivial; confirmar: boot via `.cursor/environment.json`, `gh` autenticado no worker, tempo real de boot, formato exato do `agentId` cliente (`bc-…`) e o `409` no re-POST. Resultado: seção de evidências atualizada + tabela de mapeamento de modelos. - **Fase 1 — fundação read-only (appetite ~2–3h de sessão):** PR A — eligibility, state, @@ -367,7 +367,7 @@ de spec — ops infra). **Schedule só ativa após o promote humano a `main`.** - `pnpm agent:promote` (promote `stage→main` é humano — o pool nunca chama). - Qualquer `DATABASE_URL` de stage/prod no supervisor ou nos workers (Cloud usa - `.agents/cloud-setup.sh` + seed mínimo; o workflow não recebe secrets de banco). + `.cursor/cloud-setup.sh` + seed mínimo; o workflow não recebe secrets de banco). - Editar Issues `in-progress` de outros agentes/humanos (o pool só toca as que ele claimou). - Substituir ou alterar o fluxo `plan-issue` → `work-issue` para Issues normais. - Supervisor local (`/loop`, `while` em shell, daemon em VPS) como default — rejeitado. @@ -488,7 +488,7 @@ EXPIRED`, com `git.branches[].prUrl`. SSE stream existe mas não é necessária cron "pode atrasar, nunca adianta". Avaliado como supervisor e rejeitado para v1 (D1); fica como plano B de superfície. Fonte: . -7. **Ambiente do worker:** repo-file managed (`.agents/environment.json` presente → install +7. **Ambiente do worker:** repo-file managed (`.cursor/environment.json` presente → install `pnpm install + cloud-setup.sh`: Postgres nativo + migrate + seed mínimo, sem secrets de stage/prod). Confirmado pelo MCP `cursor-cloud-environment-info` deste próprio run. 8. **MCP `cursor-cloud`** (diagnóstico): `list-cloud-agents` com filtros de status/fonte, @@ -500,7 +500,7 @@ EXPIRED`, com `git.branches[].prUrl`. SSE stream existe mas não é necessária Verificado neste run (Cloud Agent `bc-9cd1a18c-…`, repo fsolla/teqo): - **Environment repo-file confirmado em produção:** o `environment-info` deste run reporta - `source: Repository` + `environmentJsonPath: .agents/environment.json` — workers spawnados + `source: Repository` + `environmentJsonPath: .cursor/environment.json` — workers spawnados pela API neste repo bootam com `pnpm install` + `cloud-setup.sh` (Postgres nativo + migrate + seed mínimo), sem secrets de stage/prod. Item 7 acima confirmado empiricamente. - **Formato de id:** runs usam `bc-` (este run: `bc-9cd1a18c-3f2b-4661-b18b-401db63c1182`), diff --git a/scripts/lib/agent-pool-prompt.mjs b/scripts/lib/agent-pool-prompt.mjs index 80955fd4..326eb15f 100644 --- a/scripts/lib/agent-pool-prompt.mjs +++ b/scripts/lib/agent-pool-prompt.mjs @@ -42,7 +42,7 @@ export const buildPoolWorkerPrompt = ({ issueNumber, issueTitle, issueId, planPa '', '## Proibido', '', - '- `DATABASE_URL` de prod ou `ALLOW_REMOTE_DB` — o setup local (`.agents/cloud-setup.sh` + seed mínimo) cobre tudo.', + '- `DATABASE_URL` de prod ou `ALLOW_REMOTE_DB` — o setup local (`.cursor/cloud-setup.sh` + seed mínimo) cobre tudo.', `- Editar outras Issues \`in-progress\` ou trabalhar fora da Issue #${issueNumber}.`, '- Tratar o plano de intenção como contrato de engenharia — ele é intenção; o `*-impl.md` é a engenharia.', '',