Repository navigation
Release generic Resolvent 1.0.0 with publication and ChatGPT update email #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 2 commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
abd278f
Release generic Resolvent 1.0.0 and automate validated plugin distrib…
mikkokotila 8ef55e5
Notify the publisher once after an available ChatGPT plugin release
mikkokotila 5e6b817
Recover partial plugin asset uploads without replacing published bytes
mikkokotila 88832d3
Fix inherited observer review recovery and escaped credential detection
mikkokotila 4c03037
Screen recursively encoded contribution JSON for local credentials
mikkokotila File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| { | ||
| "name": "autonomio", | ||
| "interface": { | ||
| "displayName": "Autonomio" | ||
| }, | ||
| "plugins": [ | ||
| { | ||
| "name": "resolvent", | ||
| "source": { | ||
| "source": "local", | ||
| "path": "./dist/plugin/resolvent" | ||
| }, | ||
| "policy": { | ||
| "installation": "AVAILABLE", | ||
| "authentication": "ON_INSTALL" | ||
| }, | ||
| "category": "Productivity" | ||
| } | ||
| ] | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| { | ||
| "name": "autonomio", | ||
| "owner": { | ||
| "name": "Autonomio" | ||
| }, | ||
| "plugins": [ | ||
| { | ||
| "name": "resolvent", | ||
| "source": "./dist/plugin/resolvent", | ||
| "description": "Update a Resolvent world model in a GitHub repository you can access, from the chat where you invoke Resolvent. Supply OWNER/REPOSITORY and your question; Resolvent handles the contribution workflow." | ||
| } | ||
| ], | ||
| "metadata": { | ||
| "description": "Resolvent world-model research and contributions by Autonomio.", | ||
| "version": "1.0.0" | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| { | ||
| "name": "resolvent", | ||
| "displayName": "Resolvent", | ||
| "version": "1.0.0", | ||
| "description": "Update a Resolvent world model in a GitHub repository you can access, from the chat where you invoke Resolvent. Supply OWNER/REPOSITORY and your question; Resolvent handles the contribution workflow.", | ||
| "author": { | ||
| "name": "Autonomio", | ||
| "url": "https://autonom.io" | ||
| }, | ||
| "homepage": "https://autonom.io", | ||
| "keywords": [ | ||
| "research", | ||
| "world-model", | ||
| "github", | ||
| "evidence" | ||
| ], | ||
| "icon": "./assets/resolvent.png" | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| { | ||
| "name": "resolvent", | ||
| "version": "1.0.0", | ||
| "description": "Update a Resolvent world model in a GitHub repository you can access, from the chat where you invoke Resolvent. Supply OWNER/REPOSITORY and your question; Resolvent handles the contribution workflow.", | ||
| "author": { | ||
| "name": "Autonomio", | ||
| "url": "https://autonom.io" | ||
| }, | ||
| "homepage": "https://autonom.io", | ||
| "keywords": [ | ||
| "research", | ||
| "world-model", | ||
| "github", | ||
| "evidence" | ||
| ], | ||
| "interface": { | ||
| "category": "Productivity", | ||
| "composerIcon": "./assets/resolvent.png", | ||
| "defaultPrompt": "Use Resolvent with OWNER/REPOSITORY to research [question] and update its world model.", | ||
| "developerName": "Autonomio", | ||
| "displayName": "Resolvent", | ||
| "logo": "./assets/resolvent.png", | ||
| "websiteURL": "https://autonom.io", | ||
| "longDescription": "Update a Resolvent world model in a GitHub repository you can access, from the chat where you invoke Resolvent. Give Resolvent OWNER/REPOSITORY and your question or selected conversation, sources, interview, simulation results, or reasoning. It reads that repository's contracts, conducts the requested work, prepares and admits justified claims with evidence and connections, addresses independent review and CI, and completes the authorized guarded merge. Explicit narrower instructions retain their endpoint. No organization, repository, Portal, or model provider is preconfigured. GitHub access comes from your authorized connection or an already available authenticated CLI. An optional Portal can explore the repository separately.", | ||
| "shortDescription": "Update your world model" | ||
| }, | ||
| "skills": "./skills", | ||
| "extensions": { | ||
| "com.openai": { | ||
| "publication": { | ||
| "release_notes": "Initial generic Autonomio release. Select the world-model repository in chat. Preserves the supplied 1.4.1 contribution workflow; removes organization-specific defaults, standing merge delegation and Portal capture coupling.", | ||
| "countries": [] | ||
| } | ||
| } | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,118 @@ | ||
| name: Resolvent plugin release | ||
|
|
||
| on: | ||
| workflow_run: | ||
| workflows: [Resolvent validation] | ||
| types: [completed] | ||
| branches: [main] | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| concurrency: | ||
| group: resolvent-plugin-publication | ||
| cancel-in-progress: false | ||
|
|
||
| jobs: | ||
| publish: | ||
| name: Publish validated plugin | ||
| outputs: | ||
| tag: ${{ steps.release.outputs.tag }} | ||
| if: >- | ||
| github.repository == 'autonomio/resolvent' && | ||
| github.event.workflow_run.conclusion == 'success' && | ||
| github.event.workflow_run.head_repository.full_name == github.repository && | ||
| github.event.workflow_run.head_branch == 'main' && | ||
| (github.event.workflow_run.event == 'push' || github.event.workflow_run.event == 'workflow_dispatch') | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 10 | ||
| permissions: | ||
| contents: write | ||
| env: | ||
| GH_TOKEN: ${{ github.token }} | ||
| steps: | ||
| - name: Set publication paths | ||
| run: | | ||
| printf 'RELEASE_ROOT=%s/resolvent-publication\nRELEASE_CHECKOUT=%s/resolvent-release-branch\n' \ | ||
| "$RUNNER_TEMP" "$RUNNER_TEMP" >> "$GITHUB_ENV" | ||
| - name: Check out the validated main commit | ||
| uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 | ||
| with: | ||
| ref: ${{ github.event.workflow_run.head_sha }} | ||
| fetch-depth: 0 | ||
| persist-credentials: false | ||
| - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 | ||
| with: | ||
| python-version: '3.12' | ||
| - name: Install packaging dependencies | ||
| run: python -m pip install --disable-pip-version-check -r requirements.txt | ||
| - name: Verify the published bytes match validated source | ||
| run: | | ||
| python scripts/package_skill.py --check | ||
| python scripts/package_plugin.py --check | ||
| - name: Prepare the release or preserve the existing version | ||
| id: release | ||
| run: python scripts/plugin_release.py prepare --output "$RELEASE_ROOT" --github-output "$GITHUB_OUTPUT" | ||
| - name: Update the directory's tracked plugin branch | ||
| if: steps.release.outputs.changed == 'true' | ||
| run: | | ||
| gh auth setup-git --hostname github.com | ||
| git init "$RELEASE_CHECKOUT" | ||
| git -C "$RELEASE_CHECKOUT" remote add origin "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git" | ||
| if git show-ref --verify --quiet refs/remotes/origin/plugin-release; then | ||
| git -C "$RELEASE_CHECKOUT" fetch origin refs/heads/plugin-release | ||
| git -C "$RELEASE_CHECKOUT" checkout -b plugin-release FETCH_HEAD | ||
| else | ||
| git -C "$RELEASE_CHECKOUT" checkout --orphan plugin-release | ||
| fi | ||
| rsync -a --delete --exclude=.git "$RELEASE_ROOT/plugin/" "$RELEASE_CHECKOUT/" | ||
| git -C "$RELEASE_CHECKOUT" config user.name 'github-actions[bot]' | ||
| git -C "$RELEASE_CHECKOUT" config user.email '41898282+github-actions[bot]@users.noreply.github.com' | ||
| git -C "$RELEASE_CHECKOUT" add --all | ||
| git -C "$RELEASE_CHECKOUT" commit -m "Release Resolvent $VERSION from $SOURCE_COMMIT" | ||
| git -C "$RELEASE_CHECKOUT" push origin HEAD:refs/heads/plugin-release | ||
| env: | ||
| VERSION: ${{ steps.release.outputs.version }} | ||
| SOURCE_COMMIT: ${{ steps.release.outputs.source_commit }} | ||
| - name: Publish immutable release assets or verify an existing release | ||
| run: | | ||
| if gh release view "$RELEASE_TAG" --repo "$GITHUB_REPOSITORY" >/dev/null 2>&1; then | ||
| mkdir "$RUNNER_TEMP/existing-release" | ||
| gh release download "$RELEASE_TAG" --repo "$GITHUB_REPOSITORY" --dir "$RUNNER_TEMP/existing-release" | ||
| for asset in "$RELEASE_ROOT"/assets/*; do | ||
| cmp "$asset" "$RUNNER_TEMP/existing-release/$(basename "$asset")" | ||
| done | ||
| else | ||
| gh release create "$RELEASE_TAG" "$RELEASE_ROOT"/assets/* \ | ||
| --repo "$GITHUB_REPOSITORY" --target "$SOURCE_COMMIT" \ | ||
| --title "Resolvent $VERSION" --notes-file "$RELEASE_ROOT/notes.md" | ||
| fi | ||
| env: | ||
| VERSION: ${{ steps.release.outputs.version }} | ||
| RELEASE_TAG: ${{ steps.release.outputs.tag }} | ||
| SOURCE_COMMIT: ${{ steps.release.outputs.source_commit }} | ||
|
|
||
| notify_chatgpt: | ||
| name: Email actionable ChatGPT update | ||
| needs: publish | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 5 | ||
| permissions: | ||
| contents: write | ||
| steps: | ||
| - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 | ||
| with: | ||
| ref: ${{ github.event.workflow_run.head_sha }} | ||
| persist-credentials: false | ||
| - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 | ||
| with: | ||
| python-version: '3.12' | ||
| - name: Send once after the downloadable release is available | ||
| run: python scripts/notify_chatgpt_release.py --tag "$RELEASE_TAG" | ||
| env: | ||
| GH_TOKEN: ${{ github.token }} | ||
| RELEASE_TAG: ${{ needs.publish.outputs.tag }} | ||
| RESEND_API_KEY: ${{ secrets.RESEND_API_KEY }} | ||
| RESOLVENT_NOTIFY_TO: ${{ secrets.RESOLVENT_NOTIFY_TO }} | ||
| RESOLVENT_NOTIFY_FROM: ${{ vars.RESOLVENT_NOTIFY_FROM }} | ||
| CHATGPT_PLUGIN_UPDATE_URL: ${{ vars.CHATGPT_PLUGIN_UPDATE_URL }} | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.