Repository navigation
Integrate Codex packaging, rehearsal guidance, and model snapshot pin #7
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 all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
d0ce3c7
chore: pin qwen-flash to dated snapshot (alias retirement)
91baf12
feat(plugin): package Corpus for OpenAI Codex with reproducible releases
c212cbe
docs(grok-bot): private rehearsal header; marketplace plugin stays he…
ef3ae70
Merge reviewed OpenAI plugin packaging
7e0af05
Merge rehearsal connector guidance for correction and verification
a6b1b03
docs: reconcile rehearsal guidance with public checkout
52d8397
Merge reviewed Qwen fast-lane snapshot pin
0725eac
docs: record agent-kit integration validation
790473f
fix(plugin): validate release tags and gate reproducible archives
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": "corpus-agent-kit", | ||
| "interface": { | ||
| "displayName": "Corpus Agent Kit" | ||
| }, | ||
| "plugins": [ | ||
| { | ||
| "name": "corpus", | ||
| "source": { | ||
| "source": "local", | ||
| "path": "./plugins/corpus" | ||
| }, | ||
| "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
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
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
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,81 @@ | ||
| # Corpus for OpenAI Codex | ||
|
|
||
| This package connects Codex to `https://corpuslaw.us/api/mcp` and includes two | ||
| skills: `corpus-legal-research` and `corpus-business-formation`. Research works | ||
| anonymously. The packaged connector has no authentication or rehearsal headers. | ||
|
|
||
| ## Install a local release archive | ||
|
|
||
| Verify the checksum next to the archive before extracting it: | ||
|
|
||
| ```bash | ||
| shasum -a 256 -c corpus-openai-0.1.0.zip.sha256 | ||
| unzip corpus-openai-0.1.0.zip | ||
| codex plugin marketplace add "$(pwd)/corpus-openai-0.1.0" | ||
| codex plugin add corpus@corpus-agent-kit | ||
| ``` | ||
|
|
||
| Keep the extracted directory in place: it is the local marketplace source. | ||
| For a source checkout, pass the repository root to `marketplace add` instead. | ||
| These commands register and install the package locally; they do not publish it. | ||
| This package does not imply a listing in the OpenAI or ChatGPT catalog. | ||
|
|
||
| Restart Codex or start a new task. Confirm that both Corpus skills are available, | ||
| then ask: **"Use Corpus to call law.list_coverage and summarize its coverage."** | ||
| That read-only call checks the live connector without starting a formation order. | ||
| Manifest validation and archive checks alone do not prove a live MCP connection. | ||
|
|
||
| ## What is included | ||
|
|
||
| - `.agents/plugins/marketplace.json` points to `plugins/corpus`. | ||
| - `plugins/corpus/.codex-plugin/plugin.json` declares the two skills and MCP file. | ||
| - `plugins/corpus/.mcp.json` registers the hosted server as `corpus` using HTTP. | ||
| - `plugins/corpus/skills/` contains generated copies of both canonical skills, | ||
| including the vendored formation intake and harness setup references. | ||
| - The logo, this guide as `README.md`, Apache-2.0 `LICENSE`, and `release.json` | ||
| with the source ref, commit SHA, and plugin version complete the archive. | ||
|
|
||
| The archive excludes the other harness wrappers, application code, dependencies, | ||
| and local configuration. It needs no Node build or local MCP server process. | ||
|
|
||
| ## Before using the formation skill | ||
|
|
||
| The formation skill displays fixed Corpus-authored warnings about sponsored | ||
| formation offers, including a named competitor and a Corpus comparison link. | ||
| The text is vendor-authored, not an independent assessment by the agent. | ||
|
|
||
| The intake collects the founder's name, email, phone, and street address. Sending | ||
| these to MCP tools or opening a populated Corpus handoff link transmits them to | ||
| Corpus. Contact details use the URL fragment in connector-free handoffs; other | ||
| fields use the query string. The skill never collects a Social Security Number. | ||
| The intake instructions are bundled in the package, not fetched at runtime. | ||
|
|
||
| Creating an order or USDC payment request requires the founder to confirm the | ||
| exact amount in the current turn. USDC must come from a self-custody wallet; | ||
| refunds go to the sending wallet. Email confirmation is required within 48 hours, | ||
| and every filing still requires human approval of the exact filing payload. | ||
| `formation.handoff` alone creates no order or charge. | ||
|
|
||
| ## Build from a Git ref | ||
|
|
||
| From a source checkout, after committing the package changes: | ||
|
|
||
| ```bash | ||
| python3 scripts/package-openai-plugin.py corpus-openai-v0.1.0 | ||
| ``` | ||
|
|
||
| The command requires an existing ref and reads only files from that commit. | ||
| It writes `dist/corpus-openai-0.1.0.zip` and its `.sha256` file. Repeating the | ||
| command with the same ref produces identical bytes, even with working-tree edits. | ||
| For CI or a pre-release check, pass `HEAD` instead. A release tag must use | ||
| `corpus-openai-v<manifest version>` and point at the intended release commit. | ||
| Existing tags `v0.1.0` and `corpus--v0.1.0` predate the OpenAI package and cannot | ||
| build it. Do not move those tags to retrofit the new files. | ||
|
|
||
| The corrected Hermes instructions are already on `main`: plugin installs use | ||
| `hermes plugins doctor corpus --ci` followed by a fresh-chat tool check. | ||
| `hermes mcp test corpus` checks only a separately configured standalone server; | ||
| it does not validate the installed plugin's namespaced MCP server. | ||
|
|
||
| Source and license: [corpus-agent-kit](https://github.com/teakesdev/corpus-agent-kit), | ||
| Apache-2.0. Building or tagging locally does not publish a GitHub release. |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| { | ||
| "name": "corpus", | ||
| "version": "0.1.0", | ||
| "description": "US legal research and LLC or nonprofit formation intake, with cited law and human-approved filing.", | ||
| "author": { | ||
| "name": "Corpus", | ||
| "url": "https://corpuslaw.us" | ||
| }, | ||
| "homepage": "https://corpuslaw.us", | ||
| "repository": "https://github.com/teakesdev/corpus-agent-kit", | ||
| "license": "Apache-2.0", | ||
| "keywords": ["legal", "law", "formation", "llc", "nonprofit", "mcp"], | ||
| "skills": "./skills/", | ||
| "interface": { | ||
| "displayName": "Corpus", | ||
| "shortDescription": "Research US law and prepare a business formation.", | ||
| "longDescription": "Search and cite US law, or work through LLC and nonprofit formation intake. Includes two skills and the hosted Corpus MCP connector. Filing requires human approval; creating a payment request requires the founder's explicit consent.", | ||
| "developerName": "Corpus", | ||
| "category": "Productivity", | ||
| "capabilities": [], | ||
| "websiteURL": "https://corpuslaw.us", | ||
| "logo": "./assets/logo.png", | ||
| "defaultPrompt": [ | ||
| "What does Mississippi require to form an LLC?", | ||
| "Find the law and cite the official text.", | ||
| "Help me prepare a nonprofit formation intake." | ||
| ] | ||
| }, | ||
| "mcpServers": "./.mcp.json" | ||
| } |
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,8 @@ | ||
| { | ||
| "mcpServers": { | ||
| "corpus": { | ||
| "type": "http", | ||
| "url": "https://corpuslaw.us/api/mcp" | ||
| } | ||
| } | ||
| } |
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CI builds the archive only once and checks ZIP integrity, so it does not verify the newly documented guarantee that repeated builds of the same ref are byte-identical. A change that reintroduces timestamps, unstable ordering, or compression variance could pass unnoticed. Build the same ref into separate output directories and compare the resulting archive bytes or checksums before the unzip check.
Prompt To Fix With AI
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!