Hackpert: derive loop budget stops from typed budget state #103

Closed
nsaspy wants to merge 5 commits from hackmode-rage-hackpert/29-budget-loop-admission into master
Owner

Issue #29 bounded Hackpert-owned slice.

The generic expert loop now accepts normalized run-scoped budget state through a pure adapter, derives :budget-exhausted directly from typed budget accounting when the playbook declares that stop, preserves ordinary progress while budget remains, and rejects cross-operation/cross-run/cross-objective budget state before deciding.

The adapter loads after budget state to avoid forward-reference/load-order coupling. It performs no provider execution, persistence, database traversal, model execution, or authority widening.

RED head: 3b0751028173e08a65c605a6398b22a3acb9fea9 — core failed against the missing API while monorepo/boundary passed.
GREEN candidate head: beaf4a829b9a0709947024d6431be5e0c166d3f7 — draft exact-head core, monorepo, and agent-framework-boundary passed; this non-draft PR requires a fresh exact-head gate before merge.

PR #81 is superseded solely because the ready-for-review connector mutation failed on GitHub GraphQL; this PR carries the identical head.

Issue #29 bounded Hackpert-owned slice. The generic expert loop now accepts normalized run-scoped budget state through a pure adapter, derives `:budget-exhausted` directly from typed budget accounting when the playbook declares that stop, preserves ordinary progress while budget remains, and rejects cross-operation/cross-run/cross-objective budget state before deciding. The adapter loads after budget state to avoid forward-reference/load-order coupling. It performs no provider execution, persistence, database traversal, model execution, or authority widening. RED head: `3b0751028173e08a65c605a6398b22a3acb9fea9` — core failed against the missing API while monorepo/boundary passed. GREEN candidate head: `beaf4a829b9a0709947024d6431be5e0c166d3f7` — draft exact-head core, monorepo, and agent-framework-boundary passed; this non-draft PR requires a fresh exact-head gate before merge. PR #81 is superseded solely because the ready-for-review connector mutation failed on GitHub GraphQL; this PR carries the identical head.
Hackpert: load budget loop adapter after budget state
Some checks failed
agent-pr-serialization / one-open-pr-per-agent-lane (pull_request_target) Failing after 2s
agent-framework-boundary / keep-agent-framework-out-of-product-tree (pull_request) Successful in 13s
core / common-lisp-core (pull_request) Failing after 57s
monorepo / hygiene (pull_request) Successful in 2m51s
beaf4a829b
nsaspy closed this pull request 2026-09-04 20:53:16 +00:00
Some checks failed
agent-pr-serialization / one-open-pr-per-agent-lane (pull_request_target) Failing after 2s
agent-framework-boundary / keep-agent-framework-out-of-product-tree (pull_request) Successful in 13s
core / common-lisp-core (pull_request) Failing after 57s
monorepo / hygiene (pull_request) Successful in 2m51s

Pull request closed

Sign in to join this conversation.
No description provided.