The goal of this plan is to make that path the primary product spine.
2. Product principle
The product spine is an application-service orchestration layer, not a new evidence protocol.
It must reuse existing canonical artifacts rather than invent competing formats.
Canonical artifacts remain
WorkUnit;
ResultManifest;
EvaluatorPlan;
VerificationResult;
Run Evidence Report;
Human Decision Record;
existing identity/provenance bindings.
The product spine adds only
lifecycle orchestration;
idempotent run/attempt identity;
connector admission;
durable state references/events;
normalized service methods;
read projections for CLI, GitHub, HTTP, and Control Tower.
It does not gain:
correctness authority;
verification authority;
human-decision authority;
merge authority.
3. The most important current gap
The repository currently has many useful implementation candidates, but most product-control modules are not yet on main.
The immediate gap is therefore twofold:
Convergence: integrate the C1 connector stack into a stable mainline contract.
Vertical integration: bind C1 + dispatch + candidate normalization + verification + human decision into one product-service flow.
Adding more providers before this spine exists would increase fragmentation.
4. Target user experience
Local / CLI profile
idkmesh work preview --issue 123
idkmesh route explain ...
idkmesh run create --issue 123
idkmesh run status RUN_ID
idkmesh evidence show RUN_ID
idkmesh decision record RUN_ID --accept|--reject|--escalate
The exact command names may evolve, but the semantic path must remain one service.
GitHub-first profile
structured issue
-> preview workflow
-> explicit authorized dispatch
-> durable run ledger
-> worker connector
-> candidate PR/artifact
-> normalization
-> verification
-> GitHub evidence summary / Control Tower
-> explicit human decision
-> normal protected PR integration
No always-on IDKMesh server is required for the bootstrap profile.
5. Product spine state machine
The first implementation should expose a simple deterministic projection:
PROPOSED
|
v
PREVIEWED
|
v
ADMISSION_BLOCKED --------> stop / human/config action
|
v
ADMITTED
|
v
DISPATCHED
|
+---- provider/runtime failure ---> ATTEMPT_FAILED
|
v
CANDIDATE_OBSERVED
|
v
NORMALIZED
|
v
VERIFICATION_REQUESTED
|
+---- verifier/control failure --> VERIFICATION_ERROR
|
v
EVIDENCE_READY
|
v
AWAITING_HUMAN_DECISION
|
+---- ACCEPT
+---- REJECT
+---- ESCALATE
|
v
DECIDED
Protected merge/integration remains outside the service state machine.
A human acceptance decision is not itself a Git push or merge.
6. Canonical service boundary
The application service should eventually expose operations equivalent to:
preview
Input:
project/repository;
exact issue/request revision;
actor context.
Output:
WorkUnit preview/reference;
WorkUnit digest;
RoutingDecision;
blockers;
no side effects.
admit
Input:
exact WorkUnit digest;
exact routing policy revision;
actor context;
idempotency key.
Output:
run ID;
admitted connector set;
durable admission event.
Hard gates happen before secret materialization.
dispatch
Input:
run ID;
explicit admitted connector;
attempt identity;
exact source revision.
Output:
provider/runtime run reference;
append-only dispatch event.
observe
Input:
run/attempt reference.
Output:
normalized provider status;
candidate reference when available.
normalize
Input:
candidate reference;
WorkUnit/source binding.
Output:
canonical ResultManifest or fail-closed binding error.
verify
Input:
ResultManifest;
evaluator-owned plan/policy.
Output:
canonical VerificationResult.
evidence
Input:
run ID and all retained attempt/verification references.
Output:
non-selecting Run Evidence Report.
record human decision
Input:
exact immutable evidence-report digest;
authenticated human actor;
accept/reject/escalate;
rationale.
Output:
Human Decision Record.
This operation never performs a merge.
7. Durable identity requirements
Every run must retain:
project ID;
WorkUnit ID/version/digest;
exact repository/base SHA;
issue/request revision;
routing policy version;
authority mode;
selected/admitted connector;
idempotency key;
attempt IDs;
provider/runtime IDs;
candidate reference + exact head SHA/digest;
ResultManifest reference/digest;
EvaluatorPlan reference/digest;
VerificationResult reference/digest;
Run Evidence Report reference/digest;
Human Decision Record reference/digest;
initiating/authorizing human identity where applicable.
No provider secret value belongs in durable records.
8. Required invariants
Authority
issue author != dispatch authority
worker != verifier authority
verifier recommendation != human decision
human decision != merge execution
model tier != repository authority
Idempotency
The same logical dispatch request must never create duplicate external work.
same project
+ same WorkUnit digest
+ same source revision
+ same connector
+ same logical dispatch request
= same idempotency identity
Same key + different request digest must fail with conflict.
Candidate binding
A candidate must not enter verification unless it binds to: