Skip to content

fix(material): allow existing intake in authorized project conversations - #5562

Open
huangruiteng wants to merge 5 commits into
mainfrom
codex/material-project-source-scope-20261004
Open

huangruiteng wants to merge 5 commits into
mainfrom
codex/material-project-source-scope-20261004

Conversation

@huangruiteng

@huangruiteng huangruiteng commented Oct 4, 2026 •

Copy link
Copy Markdown
Collaborator

Ordinary authorized project conversations currently need a Goal ID to use the material contracts. Let an explicitly activated project source use the existing intake, ranking, projection and rollback APIs with its Core project context, so ordinary chat can execute the material workflow without creating a hidden Goal.

MaterialProjectScope contains project/profile/grant selectors. The existing source owner resolves the current Core caller, audience, exact store/profile, workspace write grant and expiring operation gate. Intake and rollback verify this before source access and publication; the source retains its transaction authorization fence. Missing, mismatched, revoked or non-True verification fails closed.

The final scope is 14 files. The capability README and existing skill explain the exercised project route. Source storage and initialization remain project owned; the existing Goal route for migration, rebuild and Explore is preserved. This is a bounded extension of the current material contracts, with no additional architecture packet fields, CLI configuration flow or transport runner.

Validation:

  • 72 focused intake, project ownership, projection, apply and project-skill tests passed on final head 98ebdc15c01f5223a2a8a3bee177e300e8e4b3b3.
  • Exact 14-path premerge passed: 5 direct checks and 18 selected catalog/risk/boundary checks, zero failures; self_merge=false, qualification policy disabled.
  • Native browser IM exercised metadata inventory, ordinary material intent, exact-read synthetic intake, independent ranking settlement, idempotent replay, bounded ranking apply/rollback and exact intake rollback in the same accepted project Session. This was at 67ff849210f5239e1c91fd9cca2e04cb3f5ea59e; its intake/ranking implementation is byte-identical to the final head. The original catalog, ranking anchors and workspace content were restored. This does not establish independent external article reading.
  • Initial synthetic small-partition projection validation failed and automatically rolled back; the project-owned adapter was corrected and the complete journey reran successfully. Initial local premerge invocations lacked installed-wheel catalog resources / source dev dependencies; after using the source entry point and installing the documented dev dependencies, the full gate passed. Full-repository tests and final-head CI are not yet qualified.

Runtime/control-plane changes remain for maintainer review and merge.

Signed-off-by: huangruiteng <huangrt01@163.com>
Signed-off-by: huangruiteng <huangrt01@163.com>
Signed-off-by: huangruiteng <huangrt01@163.com>
…ement

Signed-off-by: huangruiteng <huangrt01@163.com>
…path

Signed-off-by: huangruiteng <huangrt01@163.com>
@huangruiteng huangruiteng changed the title feat(material): support authorized project source scope without a Goal fix(material): allow existing intake in authorized project conversations Oct 4, 2026
@mergify

mergify Bot commented Oct 4, 2026

Copy link
Copy Markdown

This pull request has merge conflicts with main and cannot be merged
until they are resolved. Please rebase or merge the base branch, @huangruiteng.

Choose the remote for the base repository, not an out-of-date fork.
For a fork clone, first inspect git remote -v; upstream must point
to https://github.com/loopx-project/loopx.git. If it is absent, add it
with git remote add upstream https://github.com/loopx-project/loopx.git.
Then run:

git fetch upstream
git rebase upstream/main
# Resolve each conflict, git add the resolved files, then git rebase --continue.
git push --force-with-lease origin HEAD

For a same-repository clone whose origin points to
https://github.com/loopx-project/loopx.git, use origin instead of
upstream for fetch/rebase. If you prefer merging the base, use
git merge <base-remote>/main and push normally.

Keep the DCO Signed-off-by trailer on every commit when you rebase.
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@mergify mergify Bot added the needs-rebase Mergify: the pull request has merge conflicts with its base branch label Oct 4, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-rebase Mergify: the pull request has merge conflicts with its base branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant