Ash domain over the instruments: project status, module context, the system graph, lint runs, and spec-kit documents.
Every resource here uses Ash.DataLayer.Simple and is backed by a Mix task.
No database is involved.
This domain declares no tools
It used to carry extensions: [AshAi] and the MCP tools block. Both moved to
FoundryWeb.MCP.Domain under ADR-035: ash_ai pulls ash_json_api,
open_api_spex and req_llm as hard requirements, and a target project that
wants mix foundry.project.context should not resolve an LLM client to get it.
The tools themselves did not change. They point back at these resources from the Studio side.
ADR
ADR-024 (MCP server), ADR-035 (package boundary).
Summary
Functions
avg(query, field, opts \\ [])
deprecated
avg!(query, field, opts \\ [])
deprecated
calculate(resource, calculation, opts \\ [])
deprecated
count(query, opts \\ [])
deprecated
count!(query, opts \\ [])
deprecated
create(changeset, opts \\ [])
deprecated
create!(changeset, opts \\ [])
deprecated
destroy(record, opts \\ [])
deprecated
destroy!(record, opts \\ [])
deprecated
exists(query, opts \\ [])
deprecated
exists?(query, opts \\ [])
deprecated
first(query, field, opts \\ [])
deprecated
first!(query, field, opts \\ [])
deprecated
get(resource, id_or_filter, opts \\ [])
deprecated
get!(resource, id_or_filter, opts \\ [])
deprecated
list(query, field, opts \\ [])
deprecated
list!(query, field, opts \\ [])
deprecated
load(data, query, opts \\ [])
deprecated
load!(data, query, opts \\ [])
deprecated
max(query, field, opts \\ [])
deprecated
max!(query, field, opts \\ [])
deprecated
min(query, field, opts \\ [])
deprecated
min!(query, field, opts \\ [])
deprecated
page(page, request)
deprecated
page!(page, request)
deprecated
read(query, opts \\ [])
deprecated
read!(query, opts \\ [])
deprecated
read_one(query, opts \\ [])
deprecated
read_one!(query, opts \\ [])
deprecated
reload(record, opts \\ [])
deprecated
reload!(record, opts \\ [])
deprecated
run_action(input, opts \\ [])
deprecated
run_action!(input, opts \\ [])
deprecated
stream!(query, opts \\ [])
deprecated
sum(query, field, opts \\ [])
deprecated
sum!(query, field, opts \\ [])
deprecated
update(changeset, opts \\ [])
deprecated
update!(changeset, opts \\ [])
deprecated
Functions
This function is deprecated. Use `Ash.aggregate/3` instead.
This function is deprecated. Use `Ash.aggregate!/3` instead.
This function is deprecated. Use `Ash.avg/3` instead.
This function is deprecated. Use `Ash.avg!/3` instead.
This function is deprecated. Use `Ash.bulk_create/4` instead.
This function is deprecated. Use `Ash.bulk_create!/4` instead.
This function is deprecated. Use `Ash.bulk_destroy/4` instead.
This function is deprecated. Use `Ash.bulk_destroy!/4` instead.
This function is deprecated. Use `Ash.bulk_update/4` instead.
This function is deprecated. Use `Ash.bulk_update!/4` instead.
This function is deprecated. Use `Ash.calculate/3` instead.
This function is deprecated. Use `Ash.calculate!/3` instead.
This function is deprecated. Use `Ash.can/3` instead.
@spec can( action_or_query_or_changeset :: Ash.Query.t() | Ash.Changeset.t() | {Ash.Resource.t(), atom() | Ash.Resource.Actions.action()}, actor :: term(), opts :: Keyword.t() ) :: {:ok, boolean() | :maybe} | {:ok, true, Ash.Changeset.t() | Ash.Query.t()} | {:ok, true, Ash.Changeset.t(), Ash.Query.t()} | {:ok, false, Exception.t()} | {:error, term()}
This function is deprecated. Use `Ash.can?/3` instead.
@spec can?( query_or_changeset_or_action :: Ash.Query.t() | Ash.Changeset.t() | {Ash.Resource.t(), atom() | Ash.Resource.Actions.action()}, actor :: term(), opts :: Keyword.t() ) :: boolean() | no_return()
This function is deprecated. Use `Ash.count/2` instead.
This function is deprecated. Use `Ash.count!/2` instead.
This function is deprecated. Use `Ash.create/2` instead.
This function is deprecated. Use `Ash.create!/2` instead.
This function is deprecated. Use `Ash.destroy/2` instead.
This function is deprecated. Use `Ash.destroy!/2` instead.
This function is deprecated. Use `Ash.exists/2` instead.
This function is deprecated. Use `Ash.exists?/2` instead.
This function is deprecated. Use `Ash.first/3` instead.
This function is deprecated. Use `Ash.first!/3` instead.
This function is deprecated. Use `Ash.get/3` instead.
This function is deprecated. Use `Ash.get!/3` instead.
This function is deprecated. Use `Ash.list/3` instead.
This function is deprecated. Use `Ash.list!/3` instead.
This function is deprecated. Use `Ash.load/3` instead.
This function is deprecated. Use `Ash.load!/3` instead.
This function is deprecated. Use `Ash.max/3` instead.
This function is deprecated. Use `Ash.max!/3` instead.
This function is deprecated. Use `Ash.min/3` instead.
This function is deprecated. Use `Ash.min!/3` instead.
This function is deprecated. Use `Ash.page/2` instead.
This function is deprecated. Use `Ash.page!/2` instead.
This function is deprecated. Use `Ash.read/2` instead.
This function is deprecated. Use `Ash.read!/2` instead.
This function is deprecated. Use `Ash.read_one/2` instead.
This function is deprecated. Use `Ash.read_one!/2` instead.
This function is deprecated. Use `Ash.reload/2` instead.
This function is deprecated. Use `Ash.reload!/2` instead.
This function is deprecated. Use `Ash.run_action/2` instead.
This function is deprecated. Use `Ash.run_action/2` instead.
This function is deprecated. Use `Ash.stream!/2` instead.
This function is deprecated. Use `Ash.sum/3` instead.
This function is deprecated. Use `Ash.sum!/3` instead.
This function is deprecated. Use `Ash.update/2` instead.
This function is deprecated. Use `Ash.update!/2` instead.