Tools for agents
Coding agents look things up through the compiler rather than by browsing folders. Before an agent writes a helper, it reads what already exists; before it changes something shared, it asks what the change reaches.
- The library catalogue (
build/catalogue/libraries.md): every library function with its signature,///description and callers, and every library constant with its type, value, description and readers (Logic). An agent reads it before writing a helper or a constant. - The similar-helper check: when a new helper looks like an existing
one,
jadpo checkreportslibrary.similar_existsand names it. Two constants of the same type holding the same value areconstant.similar_exists(Two constants holding one value). Both are errors you can decline, not warnings: make the fix, or write adecline <rule>: "<reason>"line above the declaration (Declining a judgement call). - The failure catalogue (
build/catalogue/failures.md): every failure with its code, kind, status and client fields. - The schema and query reports (
build/report/): every table, column and index with the query that needed it, and each query call's store, row bound and query count. jadpo impact <name>: what a change to a declaration reaches.
$ jadpo impact rounding.half_evenrounding.half_even shared/libraries/rounding.jadpo:4 called from ordering (3 calls), payments (1 call) entry points POST /orders, POST /payments/refunds, schedule nightly_invoices tests ordering/actions/place_order.test.jadpo, payments/actions/refund.test.jadpo public no
jadpo domain rename,splitandmerge: move files and update every call. A new or renamed domain appears in the approval review (Project layout and modules).- The Jadpo agent skill (
skills/jadpo-agent/SKILL.md): tells an agent to runjadpo check --jsonafter edits, read the catalogues before adding code, and runjadpo impact <name>before changing or removing anything shared or public. It points at these pages for syntax.- It gives the routine for agents working in parallel workspaces: before
pushing, merge
main, runjadpo check(it builds nothing), fix any clash, then push. Private functions and types need only be unique within their domain, so two domains' helpers don't clash. A name another agent took in the same domain, or across the project, does. - It gives the rule for a fixed value: if a deployment could ever need a
different value it is a setting in
config.jadpo, otherwise aconstant(A constant or a setting). Never both, so adefault:never names a constant. A constant that turns out to need a value per deployment is moved withjadpo config move <constant>, not by hand.
- It gives the routine for agents working in parallel workspaces: before
pushing, merge
- Generated CI runs
jadpo checkfirst, so a name clash or any other check error fails in seconds, before tests or a build. No page says yet what generates a project's CI (jadpo newcreates none); whatever does must follow this.
Not built yet: the schema and query reports, jadpo impact, the
jadpo domain commands, the agent skill and generated CI. The
catalogues and the similar-helper check are built.
Markdown for agents: /docs/tools-for-agents.md.Built from Jadpo main at a707efb.