Context
Tree line C1 (#14564 map). The graduated OQ4 contract: deploymentClass is the probe's FIRST emitted fact — it scopes every subsequent self-configuration decision (tenant/cloud classes are propose-only at EVERY tier; the T1→T2 shift rule keys on it).
The Problem
Every detect-and-propose leaf (T-D) and the tier shift rule need the class BEFORE they act. Detection must be deterministic and honest: own-repo (the canonical checkout), tenant-repo (guest substrate — the trust boundary), cloud-tenant (isolation-by-default class), with an explicit undetermined that fails toward the most restrictive class (propose-only).
The Architectural Reality
Pure detector over observable facts (repo remote topology, config presence/ancestry, env markers documented in the DR) — no network calls, no credential reads. Emits {deploymentClass, evidence[], confidence} — evidence-carrying per the #14430 discipline (a class that can't name its evidence is undetermined). Placement: ai/ install path (structural-pre-flight at claim; sibling: agent-preflight probes).
The Fix
One PR: the detector + the evidence schema + fixtures for all three classes + undetermined-fails-restrictive + unit specs.
Acceptance Criteria
Out of Scope
Acting on the class (T-D leaves) · the tier table itself (DR #14671).
Related
Parent #14564 (line C1) · consumes DR (#14671) definitions · consumed by all T-D + the shift rule. Sweeps: 03:47Z clean.
Origin Session ID: fa2a6fd5-7488-4af6-a0d2-3855c86003e4
Retrieval Hint: "deploymentClass probe first fact evidence restrictive"
Context
Tree line C1 (#14564 map). The graduated OQ4 contract:
deploymentClassis the probe's FIRST emitted fact — it scopes every subsequent self-configuration decision (tenant/cloud classes are propose-only at EVERY tier; the T1→T2 shift rule keys on it).The Problem
Every detect-and-propose leaf (T-D) and the tier shift rule need the class BEFORE they act. Detection must be deterministic and honest: own-repo (the canonical checkout), tenant-repo (guest substrate — the trust boundary), cloud-tenant (isolation-by-default class), with an explicit
undeterminedthat fails toward the most restrictive class (propose-only).The Architectural Reality
Pure detector over observable facts (repo remote topology, config presence/ancestry, env markers documented in the DR) — no network calls, no credential reads. Emits
{deploymentClass, evidence[], confidence}— evidence-carrying per the #14430 discipline (a class that can't name its evidence isundetermined). Placement: ai/ install path (structural-pre-flight at claim; sibling: agent-preflight probes).The Fix
One PR: the detector + the evidence schema + fixtures for all three classes + undetermined-fails-restrictive + unit specs.
Acceptance Criteria
Out of Scope
Acting on the class (T-D leaves) · the tier table itself (DR #14671).
Related
Parent #14564 (line C1) · consumes DR (#14671) definitions · consumed by all T-D + the shift rule. Sweeps: 03:47Z clean. Origin Session ID: fa2a6fd5-7488-4af6-a0d2-3855c86003e4 Retrieval Hint: "deploymentClass probe first fact evidence restrictive"