A Project Can Decline APX Without Rejecting APC
APC is a portable project-context convention, not an APX installation requirement. That distinction matters when an agent opens a repository and sees an AGENTS.md file plus .apc/ metadata. A useful project can want the shared context layer while deliberately choosing not to use a particular runtime. Treating every APC project as permission to install, suggest, or run APX turns a portable contract…
APC represents a portable project-context convention, distinct from an APX installation requirement. An agent should treat an APC project containing an AGENTS.md file and .apc/ metadata differently based on the project's decision regarding APX. By recording this decision in .apc/project.json with the key "apx" set to either "declined" or "installed," a project can explicitly state its stance on APX without treating the portable contract as a product assumption. This distinction prevents automation from overstepping the project's boundaries.
When an APC-aware runtime encounters a project with "apx": "declined," it should understand that the repository still maintains its standard APC locations for durable instructions, agent definitions, skills, and project memory. Another compatible tool can read these files without needing a local APX service, allowing the repository to remain a tool-neutral home for shared context.
Similarly, if the "apx" field is missing or null, the runtime should not assume the absence of APX, but rather check for its availability before depending on it.
The three possible states of the "apx" field—installed, declined, and missing or null—each dictate a distinct action from an agent. An installed state indicates that APX is available and can be used when useful, while a declined state instructs the agent not to suggest or run APX, continuing with APC files directly. A missing or null value does not prove APX is absent, but requires the agent to verify its availability before depending on APX.
It is crucial to recognize that these values define a project-level decision, not a substitute for machine detection. An installed state does not remove the need for a command to work with APX, and a missing value does not confirm the absence of APX. The "declined" state should not be interpreted as "ignore APC," as the repository's protocol and runtime should remain separate.
APC provides a durable home for shared context, while APX serves as a daily-use runtime and tooling layer. These layers can work together effectively, as a contributor can clone a project, read its APC contract, and work with a compatible editor or coding agent. Alternatively, another contributor can use APX for local execution, neither workflow needing to overwrite the other project choice.
By asking the repository about its portable and durable context before determining the allowed and available local tool, agents can remain helpful without becoming part of the project's identity.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.