Hackpert: defend loop reason strings from caller mutation #73

Closed
nsaspy wants to merge 2 commits from hackpert/loop-reason-copy into master
Owner

Slice

Bug-first hardening for #29: expert-loop-state owns mutable last-reason metadata just like its operation/run scope strings, and operator access must not expose the stored string.

RED/GREEN proof

  • RED test-only head eeb953068ea0d3897714fe082bca77d364f423f4: common-lisp-core failed after mutating caller/accessor-owned reason strings; boundary/hygiene/lane checks remained green.
  • GREEN exact head 471cde75f273982c5ef609c0bc67f2051a20ceb3: common-lisp-core, hygiene, and keep-agent-framework-out-of-product-tree all passed.

Draft #130 used this identical green head but the ready-for-review GraphQL mutation hit the connector's fullDatabaseId bug, so this non-draft replacement preserves the tested head unchanged.

Ownership

Hackpert loop state/tests only. No database internals and no StarIntel product work.

## Slice Bug-first hardening for #29: `expert-loop-state` owns mutable `last-reason` metadata just like its operation/run scope strings, and operator access must not expose the stored string. ## RED/GREEN proof - RED test-only head `eeb953068ea0d3897714fe082bca77d364f423f4`: `common-lisp-core` failed after mutating caller/accessor-owned reason strings; boundary/hygiene/lane checks remained green. - GREEN exact head `471cde75f273982c5ef609c0bc67f2051a20ceb3`: `common-lisp-core`, `hygiene`, and `keep-agent-framework-out-of-product-tree` all passed. Draft #130 used this identical green head but the ready-for-review GraphQL mutation hit the connector's `fullDatabaseId` bug, so this non-draft replacement preserves the tested head unchanged. ## Ownership Hackpert loop state/tests only. No database internals and no StarIntel product work.
fix: snapshot mutable loop reason strings
Some checks failed
agent-pr-serialization / one-open-pr-per-agent-lane (pull_request_target) Failing after 1s
agent-framework-boundary / keep-agent-framework-out-of-product-tree (pull_request) Successful in 7s
core / common-lisp-core (pull_request) Failing after 1m8s
monorepo / hygiene (pull_request) Successful in 4m19s
471cde75f2
nsaspy closed this pull request 2026-09-04 20:56:19 +00:00
Some checks failed
agent-pr-serialization / one-open-pr-per-agent-lane (pull_request_target) Failing after 1s
agent-framework-boundary / keep-agent-framework-out-of-product-tree (pull_request) Successful in 7s
core / common-lisp-core (pull_request) Failing after 1m8s
monorepo / hygiene (pull_request) Successful in 4m19s

Pull request closed

Sign in to join this conversation.
No description provided.