Give the company-profile agent (Agent A) the read-only browser toolset and build it per-run, so it can read footer, imprint, about, and legal pages and follow a product domain to the corporate one to resolve the legal name and headquarters address rather than failing cold. Make the website the hard precondition: when Agent A cannot resolve a canonical website, skip the compliance-docs agent and logo step instead of running them blind, which previously produced inconsistent cross-domain document URLs. Fall back to the catalog display name for the legal name when nothing better is found, recorded with a distinct provenance status so a later real find overwrites it. Rewrite both enrichment prompts in the project's role/task/instructions XML style, add a domain-consistency rule for document URLs and a tool-budget directive, and document the prompt style as a rule and guide. Fix the find_links_matching browser tool, which double-encoded its pattern and made JSON.parse fail on every keyword, starving any agent that used it until it hit the turn cap. Salvage output when an agent exhausts its turn budget while still exploring with a pending structured output by forcing one final synthesis turn instead of failing outright. Signed-off-by: Émile Ré <emile@probo.com>
4.0 KiB
4.0 KiB
AGENTS.md
Detailed guides for specific subsystems live in contrib/claude/:
contrib/claude/make.md— GNUmakefile targets, codegen, overridable variablescontrib/claude/api-surface.md— GraphQL / MCP / CLI / n8n sync rulescontrib/claude/go-style.md— Go project deps, style (declarations, calls, imports, errors, naming, logging, safe URL construction)contrib/claude/ts-style.md— TypeScript style (safe URL construction)contrib/claude/go-testing.md— Go test conventions (parallel, require vs assert, naming)contrib/claude/go-service.md— Go service orchestration (Run, graceful shutdown, crash propagation)contrib/claude/go-worker.md— Go worker pattern (poll-based, bounded concurrency, FOR UPDATE SKIP LOCKED)contrib/claude/httpclient.md— HTTP client (kit/httpclient, SSRF protection by default, connector wiring)contrib/claude/gid.md— Global identifiers (GID layout, TenantID, entity type registry)contrib/claude/coredata.md— Data access layer (Scoper, SQL patterns, filters, order fields, migrations)contrib/claude/logging.md— Structured logging (PII-free rules, field helpers, logger wiring)contrib/claude/graphql.md— Go GraphQL backend (gqlgen, @goModel, connection types, cursor pagination)contrib/claude/mcp.md— MCP API patterns (specification.yaml, mcpgen, resolvers, type helpers)contrib/claude/cli.md— CLI command patterns (cobra, huh prompts, pagination, output formatting)contrib/claude/authorization.md— IAM policy-based authorization (policies, conditions, roles, AuthorizationAttributer)contrib/claude/validation.md— Validation framework (fluent API, validators, error codes, propagation)contrib/claude/e2e.md— End-to-end testing (factory builders, RBAC tests, tenant isolation, assertions)contrib/claude/agent.md— Agent orchestration framework (tools, handoffs, execution)contrib/claude/app-arborescence.md— Frontend app folder layout (pages, routes, loaders, skeletons, _components)contrib/claude/relay.md— Frontend Relay client (queries, fragments, mutations, pagination)contrib/claude/react-components.md— React component shape (file/export, props, configure vs data via hooks)contrib/claude/ui.md— @probo/ui, Tailwind, tailwind-variants, folders, skeletons, compound componentscontrib/claude/config.md— Configuration propagation (all files to update when config changes)contrib/claude/file-naming.md— File naming conventions (template files, extensions)contrib/claude/prompt-style.md— Agent prompt template structure (role/task/instructions XML style)contrib/claude/prompt-style.md— Agent prompt template structure (role/task/instructions XML style)contrib/claude/commit.md— Commit message conventionscontrib/claude/license.md— ISC license header (all file types)contrib/claude/release.md— Release process (version bump, changelog, tag, push)contrib/claude/sandbox.md— Lima sandbox environments (create, manage, access services)contrib/claude/n8n.md— n8n community node (resources, operations, GraphQL helpers)