Hackpert: harden objective identity snapshots #142

Open
nsaspy wants to merge 2 commits from hackpert/issue-29-objective-identity-aliasing into master
Owner

Issue

Advances #29 with a bug-first regression in the objective/SPEC identity boundary.

Bug

expert-objective is immutable-by-interface, but its generated id / version accessors exposed stored mutable strings directly and the constructor retained caller-owned identity strings. A caller could rewrite objective identity after construction, poisoning plan/objective matching and extension selection without any canonical mutation path.

RED

Exact test-only head af3821c48c4f2cddd6698c56cf756927f72671a9 reached Load Hackmode and run ASDF tests with all setup/dependency steps green, then common-lisp-core failed on the new aliasing regression.

GREEN

Exact implementation head 1cdf5bd754e31319448a3fbd0838a2de39f3b8ff passed common-lisp-core, monorepo/hygiene, and agent-framework-boundary.

Implementation

  • objective storage uses private raw accessors;
  • objective ID/version strings are snapshotted at construction;
  • public ID/version accessors return independent copies;
  • existing clause/limit/capability access remains behind the same public API.

No provider execution, database persistence internals, authority widening, scheduler changes, or StarIntel product work.

## Issue Advances #29 with a bug-first regression in the objective/SPEC identity boundary. ## Bug `expert-objective` is immutable-by-interface, but its generated `id` / `version` accessors exposed stored mutable strings directly and the constructor retained caller-owned identity strings. A caller could rewrite objective identity after construction, poisoning plan/objective matching and extension selection without any canonical mutation path. ## RED Exact test-only head `af3821c48c4f2cddd6698c56cf756927f72671a9` reached `Load Hackmode and run ASDF tests` with all setup/dependency steps green, then `common-lisp-core` failed on the new aliasing regression. ## GREEN Exact implementation head `1cdf5bd754e31319448a3fbd0838a2de39f3b8ff` passed `common-lisp-core`, monorepo/hygiene, and `agent-framework-boundary`. ## Implementation - objective storage uses private raw accessors; - objective ID/version strings are snapshotted at construction; - public ID/version accessors return independent copies; - existing clause/limit/capability access remains behind the same public API. No provider execution, database persistence internals, authority widening, scheduler changes, or StarIntel product work.
fix: isolate objective identity snapshots
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 17s
core / common-lisp-core (pull_request) Failing after 1m15s
monorepo / hygiene (pull_request) Successful in 1m47s
1cdf5bd754
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 17s
core / common-lisp-core (pull_request) Failing after 1m15s
monorepo / hygiene (pull_request) Successful in 1m47s
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin hackpert/issue-29-objective-identity-aliasing:hackpert/issue-29-objective-identity-aliasing
git switch hackpert/issue-29-objective-identity-aliasing

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch master
git merge --no-ff hackpert/issue-29-objective-identity-aliasing
git switch hackpert/issue-29-objective-identity-aliasing
git rebase master
git switch master
git merge --ff-only hackpert/issue-29-objective-identity-aliasing
git switch hackpert/issue-29-objective-identity-aliasing
git rebase master
git switch master
git merge --no-ff hackpert/issue-29-objective-identity-aliasing
git switch master
git merge --squash hackpert/issue-29-objective-identity-aliasing
git switch master
git merge --ff-only hackpert/issue-29-objective-identity-aliasing
git switch master
git merge hackpert/issue-29-objective-identity-aliasing
git push origin master
Sign in to join this conversation.
No description provided.