feat: bind symbolic tasks to repository identity #349

Open
nsaspy wants to merge 5 commits from rage/coding-task-repository-context into main
Owner

Implements #264 and advances #1.

RED

cca505dc9350812b8f689178daec5696ad530cae requires coding.task.create to accept a repository path, inspect it through the existing bounded RepositoryInspector, and pass only the fresh canonical root/HEAD/branch identity into Prolog-owned task state. The initial CI run was superseded while source/install diagnostics were running, so it is not being claimed as a completed RED gate.

Implementation

  • coding.task.create now requires repository_path and captures repository identity through RepositoryInspector.inspect(); callers cannot supply HEAD or branch.
  • the closed task-state JSON protocol carries bounded {root, head, branch} repository identity;
  • Prolog retains that identity in the task record returned by later get operations;
  • README now documents the repository-bound public task contract and makes clear that captured identity is evidence, not effect authorization;
  • no mutation, execution authority, Core changes, or cross-plugin composition were added.

Final merge remains gated on the exact documentation+implementation head passing source/install compatibility, full registry/plugin tests, and generated package builds.

Implements #264 and advances #1. ## RED `cca505dc9350812b8f689178daec5696ad530cae` requires `coding.task.create` to accept a repository path, inspect it through the existing bounded `RepositoryInspector`, and pass only the fresh canonical root/HEAD/branch identity into Prolog-owned task state. The initial CI run was superseded while source/install diagnostics were running, so it is not being claimed as a completed RED gate. ## Implementation - `coding.task.create` now requires `repository_path` and captures repository identity through `RepositoryInspector.inspect()`; callers cannot supply HEAD or branch. - the closed task-state JSON protocol carries bounded `{root, head, branch}` repository identity; - Prolog retains that identity in the task record returned by later `get` operations; - README now documents the repository-bound public task contract and makes clear that captured identity is evidence, not effect authorization; - no mutation, execution authority, Core changes, or cross-plugin composition were added. Final merge remains gated on the exact documentation+implementation head passing source/install compatibility, full registry/plugin tests, and generated package builds.
Some checks failed
CI / test (pull_request) Failing after 18s
This pull request has changes conflicting with the target branch.
  • plugins/zara-coding/test/test_task_plugin.py
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin rage/coding-task-repository-context:rage/coding-task-repository-context
git switch rage/coding-task-repository-context

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 main
git merge --no-ff rage/coding-task-repository-context
git switch rage/coding-task-repository-context
git rebase main
git switch main
git merge --ff-only rage/coding-task-repository-context
git switch rage/coding-task-repository-context
git rebase main
git switch main
git merge --no-ff rage/coding-task-repository-context
git switch main
git merge --squash rage/coding-task-repository-context
git switch main
git merge --ff-only rage/coding-task-repository-context
git switch main
git merge rage/coding-task-repository-context
git push origin main
Sign in to join this conversation.
No description provided.