IDKMesh treats external coding systems as replaceable workers. A provider can report that its task or session is complete, and it can expose outputs such as a pull-request URL. Neither fact proves that IDKMesh has a usable, correctly bound candidate.
Collapsing provider completion directly into candidate_ready creates an authority and
provenance ambiguity:
The repository already holds the stronger invariant:
worker success != acceptance
verification recommendation != merge authority
The run state machine should preserve the same separation between worker completion and candidate discovery.
IDKMesh will model provider/worker completion and candidate readiness as separate states and separate evidence transitions.
worker_completed run stateworker_completed means only:
the selected worker/provider reports that its execution attempt has finished.
It does not mean a candidate exists, is correctly identified, is acceptable, or is verified.
A Jules Session in provider state COMPLETED therefore maps to
worker_completed, not candidate_ready.
A run may advance to candidate_ready only after IDKMesh has a provider-neutral
CandidateReference whose identity is independently resolved enough for the candidate
type.
For a GitHub pull request, the minimum reference is:
A provider-returned pull-request URL is a discovery hint, not the final candidate identity. The SCM boundary must resolve and confirm the immutable head revision.
For an artifact bundle, candidate readiness requires a stable locator plus content digest.
Provider output records may be counted or retained as bounded structural metadata for discovery, but they do not advance authority by themselves.
The transition is:
provider reports COMPLETED
|
v
worker_completed
|
v
candidate discovery/normalization
|
+-- no acceptable candidate --> remain worker_completed / fail by explicit policy
|
+-- concrete candidate bound --> candidate_ready
|
v
ResultManifest -> independent verification -> human/governance decision
An unknown or newly introduced provider state must remain non-authoritative until the
adapter explicitly maps it. It may be surfaced with a warning, but it must not imply
worker_completed, candidate_ready, verification, or integration.
agent.completed is an observation event. It must not rewrite or synthesize
candidate.discovered, result.normalized, verification.completed, or a human
decision event.
worker_completed until its output is
resolved;These costs are intentional. IDKMesh optimizes for verified useful work, not the shortest possible state machine.
COMPLETED directly to candidate_readyRejected. It treats a provider claim as canonical candidate evidence and makes a later candidate-normalization stage semantically redundant.
failed unless a PR already existsRejected. Workers may validly complete with non-PR artifacts, no-change outcomes, or outputs that require a separate discovery pass.
Rejected. That would make run-state meaning provider-specific and weaken the shared control plane.
worker_completed.COMPLETED maps to worker_completed.candidate_ready only after a concrete
candidate reference is normalized.candidate_ready.verified, awaiting_human_decision, or
integrated.docs/specifications/CONNECTOR_CONTROL_API_V0_1.mddocs/decisions/ADR-0004-verified-swarm-runner-first-product.mddocs/decisions/ADR-0008-independent-evidence-verification.mddocs/decisions/ADR-0010-external-action-handoff.mddocs/planning/AGENT_MODEL_INTEGRATION_SELF_HOSTING_PLAN_2026-09-22.md