Skip to content

Lich Intake Gate Artifacts

The Lich Intake Gate is the governance decision boundary between an advisory Objective Intake Resolver assessment and any future governed Keeper objective. This phase defines read-only artifacts only. It does not invoke Lich runtime services, create Lich approvals, create Keeper objectives, create Keeper jobs, schedule work, dispatch workers, execute work, mutate runtime state, or write LifeVault memory.

Boundary

Objective Intake Candidate
  -> Objective Intake Resolver Assessment
  -> Lich Intake Review Request
  -> Lich Intake Decision
  -> future Keeper objective creation only when explicitly authorized

ready_for_lich_review is resolver advisory terminology. It means the candidate is complete enough for governance review. It is not Lich approval and does not grant Keeper eligibility.

Artifacts

The artifact schemas and validation helpers are defined in app/objectives/lich_intake_gate.py.

Lich Intake Review Request records the candidate identity, candidate hash, resolver assessment hash, requester, risk, redaction state, required evidence, approval requirements, inert authority posture, and available decision options. It is a request for governance review, not an approval.

Lich Intake Decision records the explicit gate outcome. Canonical decisions are:

  • approved_for_objective_creation
  • clarification_required
  • rejected
  • no_approval_required

approved_for_objective_creation may authorize only a future Keeper objective creation step. It does not create that objective. no_approval_required must be explicit and auditable; silence or low risk is never enough. A clarification_required decision must include required clarification conditions. A rejected decision must include rationale.

Authority

Every decision artifact must keep these authorities set to none:

  • execution_authority
  • mutation_authority
  • memory_authority
  • schedule_authority
  • dispatch_authority

keeper_handoff_authorized may be true only for approved_for_objective_creation or no_approval_required. It means only that a later governed step may create a Keeper objective from the candidate. It does not authorize Keeper job creation, approval creation, execution, scheduling, dispatch, mutation, or memory retention.

Determinism

Validation fails closed on missing fields, unknown fields, duplicate decision options, unsupported decisions, unsafe authority posture, handoff authorization for non-progression decisions, and any runtime authority other than none. Hash helpers canonicalize JSON with sorted keys and stable separators before computing SHA-256.

Fixtures

Static examples live in app/objectives/fixtures/:

  • lich_intake_review_ready_repository_hygiene.json
  • lich_intake_decision_clarification_required.json
  • lich_intake_decision_approved_for_objective_creation.json
  • lich_intake_decision_rejected.json
  • lich_intake_decision_no_approval_required.json

These fixtures are inert validation examples. They do not create approvals, objectives, jobs, schedules, dispatch records, runtime state, or memory.