Skip to content

v3.14.0 — Lifecycle Self-Prompting, Decidable Acceptance Criteria

Choose a tag to compare

@farmountain farmountain released this 20 Sep 18:49
· 33 commits to main since this release

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 SelfPrompt while any T0–T2 rung (environment → prior art → causal) is unspent
  • Returns AskUser/DeclineAsk only once the ladder is spent and P(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