From 4da0b196e73e9fdaab30f8b9ae3032a509dfd6a1 Mon Sep 17 00:00:00 2001 From: Natalie Date: Sun, 28 Jun 2026 20:05:08 -0400 Subject: [PATCH] docs(cocottetech): mark ACS no-agent-commits rule stale; agents commit directly The apricot auto-commit-service is removed/offline, so the 'write code; ACS handles commits' rule no longer applies. Agents now author scoped, atomic, conventional commits and push their own work. Co-Authored-By: Claude Opus 4.8 (1M context) --- CLAUDE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 5f35d27..8856ff5 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -9,7 +9,7 @@ This is the V4 platform workspace. See `DESIGN.md` for architecture, `INFRA.md` - **DO NOT add `@ai/`, `mail-sync/`, `mac-sync/`, `@ml/`, `@messenger/`, `@chobit/` directories inside `@cocottetech/`** — these are peer services that live at `~/Code/@projects/@lilith/mail-sync/` and `~/Code/@applications/@*/`. Consumed over HTTP/MCP, never vendored. Platform-action skills (`@ai/@skills/platform-*/actions/*`) are contributed upstream to `@ai`, not vendored into `@platform`. - **Provider-generic naming.** No `quinn-*` package names in new code. Quinn's deployed `quinn.*` domains remain (that's Quinn's *instance*), but the code that backs them is `provider-portal`, `ai-assistant`, `messenger`, etc. - **Person-first tenancy.** Every new table that owns user data must support both `user_id` (Person) and optional `org_id` (Org). See `DESIGN.md §5`. -- **No commits from agents.** This project follows the apricot ACS (auto-commit-service) workflow. Write code; ACS handles commits. +- **Agents commit directly.** (STALE: the apricot ACS auto-commit-service is removed/offline.) Author scoped, atomic, conventional commits and `git push` your own work — never blind `git add -A`, never defer to a commit daemon. (Historical: this project used to route commits through ACS; that workflow no longer runs.) - **Manifest files are tool-managed.** `users/*/app.manifest.yaml`, `@platform/infrastructure/ports.yaml`, `@platform/infrastructure/.env.ports`, and `deployments/@domains/*/services.yaml` are mutated through `./run manifest ` only. Direct edits work today (no OS enforcement yet), but they're a SMELL — always `./run manifest validate` after a change to confirm consistency. See `INFRA.md §12`. - **Authoring location ≠ runtime host.** All V4 code is authored **here**, in this repo (the local Mac working tree), under `@platform/codebase/`. Hosts named in INFRA.md (`black`, `apricot`, `vps-0`, `plum`) are **runtime / deploy targets**, never scaffold targets. "Service X runs on black" never means "scaffold X on black" — it means scaffold here, deploy artifact to black. Dev iteration runs on local Mac or on apricot (the engineering dev box per `INFRA.md §1`); production runtime lives on black/vps-0/plum per INFRA's service-distribution tables. - **CI / Forgejo runners: NO MORE BLACK.** ct-forge (cocottetech's forge on DO) uses on-demand horizontally scaled DO runners via Terraform IaC in `infra/terraform/ci-runners/` (modeled directly on LP's `infrastructure/setup-forgejo-host.sh` provisioning logic — same labels, host-mode config, registration, but cloud-init + golden image from packer/test-fleet for DO cattle. Scale with `terraform apply -var="runners=N"`; 0 for zero cost. LP's CI + deploys now target `[self-hosted, linux, do, ct-forge]` (no black runners). See ci-runners/README.md and LP .forgejo/workflows updates. @@ -61,6 +61,6 @@ These are consumed by the platform but live outside this directory tree. **Never - `~/Code/@applications/@messenger/` — separate messenger codebase (v2-era; do not reuse without reconciling against v2's `messages` feature first). - `~/Code/@applications/@ml/` — knowledge-platform (Crystal's successor), classifiers, ML pipelines. - `~/Code/@applications/lilith-messenger-ios/` — existing iOS messenger app. V4's `@features/ai-copilot/ios-fe` **ports useful parts** from this (api-client, domain-models, rich-cards, foundations, ui, build-tools, config, build-remote.sh plum-build flow). -- `quinn-prospector` (MCP service) — correction-pattern store + draft-message + prospect classification. V4 surface agents (P1+) consume `mcp__quinn-prospector__*` tools. +- `quinn-prospector` (MCP service) — correction-pattern store + draft-message + prospect classification. V4 surface agents (P1+) consume `mcp__quinn-prospector__*` tools. Operator primary UI is web PWA at my.transquinnftw.com/prospector/app (see @applications/@prospector/PLAN.md + designs/ for takeover; platform my/ for code). Use plans. Treat them as services with HTTP/MCP contracts.