Repository navigation
v3.14.0 — Lifecycle Self-Prompting, Decidable Acceptance Criteria
What's new in v3.14.0
Closes 3 seams in the clarification and goal-execution lifecycle.
Phase 1 — Decidable Acceptance Criteria
clarify_goal() now emits acceptance_criteria: Vec<AcceptanceCriterion>, one per success factor, each with a non-empty observation_pattern. The engine's EmptyAC/UntestableAC gate no longer rejects Phase 1 output on the first ReAct iteration.
Phase 5 — Lifecycle Self-Prompting
New route_uncertainty(uncertainty_detected, tiers_spent, search_incomplete, cost_of_wrong_execution):
- Returns
SelfPromptwhile any T0–T2 rung (environment → prior art → causal) is unspent - Returns
AskUser/DeclineAskonly once the ladder is spent andP(unresolvable) × cost_of_wrong_execution > cost_of_asking - Self-prompting outranks asking regardless of cost — property asserted by test
Discriminative Doctor SKILL Check
hipcortex doctor now checks 4 markers: MUST + live_beliefs + "Lifecycle self-prompting" + "should_exit". Stale pre-lifecycle installs that carried only the first two now correctly report fail.
SKILL.md Lifecycle Policy
"Clarification order (HARD — self-prompt first)" section added. ask user before proceeding clause removed.
Version alignment
All channels bumped to 3.14.0: Cargo.toml, pyproject.toml, __init__.py, package.json, extension.ts EXPECTED_SERVER_VERSION (was stuck at 3.12.0), MCP serverInfo, README badges.
Test coverage
371 lib + 521 unit + 182 integration + 59 property + 8 MCP tool surface + 43 Python doctor = all green, 0 failures