-
Notifications
You must be signed in to change notification settings - Fork 1.3k
00 #792
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
Draft
LLMpsycho
wants to merge
17
commits into
EveryInc:main
Choose a base branch
from
LLMpsycho:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
00 #792
Changes from all commits
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
53e4c81
Merge pull request #1 from EveryInc/main
LLMpsycho 57f39f4
Merge pull request #2 from EveryInc/main
LLMpsycho b798c14
Merge pull request #3 from EveryInc/main
LLMpsycho 205db9f
Merge pull request #4 from EveryInc/main
LLMpsycho c1ad660
feat: add memory warm-start, opencode skill wrappers, codex spawn_age…
LLMpsycho 4bba69b
Merge pull request #5 from EveryInc/main
LLMpsycho 7db8701
Merge pull request #6 from EveryInc/main
LLMpsycho 5853657
Merge EveryInc main into PR 792
LLMpsycho c1d7418
Merge pull request #7 from EveryInc/main
LLMpsycho 872551b
fix(ce-sessions): unblock session-history on Claude Code (#800)
tmchow 51ba4b6
refactor(skills): extract conditional content to references (#804)
tmchow 3979d39
chore: release main (#806)
github-actions[bot] e32bf4f
Merge remote-tracking branch 'everyinc/main' into resolve-pr-10-upstream
LLMpsycho 054751c
feat(ce-compound): add mode:headless for non-interactive use (#813)
tmchow f375932
chore: release main (#814)
github-actions[bot] 3a8bedf
fix(ce-code-review): replace resolve-base.sh with prose-driven base d…
tmchow 64dd0fc
Merge branch 'EveryInc:main' into main
LLMpsycho 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
78 changes: 78 additions & 0 deletions
78
docs/plans/2026-04-28-001-fix-opencode-skill-command-wrappers-plan.md
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,78 @@ | ||
| --- | ||
| title: Fix OpenCode Skill Command Wrappers | ||
| type: fix | ||
| status: complete | ||
| date: 2026-04-28 | ||
| --- | ||
|
|
||
| # Fix OpenCode Skill Command Wrappers | ||
|
|
||
| ## Summary | ||
|
|
||
| OpenCode installs currently copy Compound Engineering skills and agents, but they do not expose the skills as slash commands because the plugin has no source `commands/` payload. This plan makes the OpenCode converter emit small command wrappers for installed skills so `/ce-plan`, `/ce-setup`, and related commands work after installing from this fork. | ||
|
|
||
| ## Requirements | ||
|
|
||
| - R1. Installing `plugins/compound-engineering` to OpenCode must create slash commands for every copied CE skill. | ||
| - R2. The generated command must run the corresponding skill content from the installed OpenCode skill path instead of depending on OpenCode's skill discovery behavior. | ||
| - R3. The command wrapper set must be managed by the existing install manifest so removed skills clean up on reinstall. | ||
| - R4. Existing source plugin commands must continue to be converted unchanged. | ||
| - R5. Tests must prove command wrapper generation and existing command behavior. | ||
|
|
||
| ## Blast Radius | ||
|
|
||
| - Changed files: `src/converters/claude-to-opencode.ts`, `tests/opencode-writer.test.ts`, this plan file. | ||
| - Impacted modules: OpenCode converter output, OpenCode writer manifest cleanup, OpenCode install smoke path. | ||
| - Break risk: low. The change only appends generated command files to OpenCode bundles and reuses the existing writer path. | ||
|
|
||
| ## Implementation Units | ||
|
|
||
| - U1. **Generate skill command wrappers** | ||
|
|
||
| **Goal:** Extend `convertClaudeToOpenCode` so every copied OpenCode skill has a matching command file when no source command already owns that name. | ||
|
|
||
| **Files:** | ||
| - Modify: `src/converters/claude-to-opencode.ts` | ||
| - Test: `tests/opencode-writer.test.ts` | ||
|
|
||
| **Approach:** | ||
| - Compute filtered OpenCode skill dirs once. | ||
| - Build existing command names from `convertCommands(plugin.commands)`. | ||
| - Append generated `OpenCodeCommandFile` entries for skills whose command name is not already present. | ||
| - Use a wrapper body that reads `~/.config/opencode/skills/<skill>/SKILL.md` for global installs and `.opencode/skills/<skill>/SKILL.md` for project-local installs only if necessary. Prefer a stable global-path wrapper for the current fork need. | ||
|
|
||
| **Test scenarios:** | ||
| - Happy path: converting the real compound-engineering plugin includes `ce-plan`, `ce-setup`, and `lfg` command files. | ||
| - Edge case: if a source command already uses a skill name, the converter does not emit a duplicate wrapper. | ||
| - Regression: existing source command conversion still writes nested `name:with:colon` paths through the writer. | ||
|
|
||
| **Verification:** | ||
| - Targeted Bun tests pass. | ||
| - Local OpenCode install from this checkout writes command wrappers into `~/.config/opencode/commands`. | ||
|
|
||
| - U2. **Install forked checkout into OpenCode** | ||
|
|
||
| **Goal:** Replace the current generated OpenCode CE install with output from the local fork. | ||
|
|
||
| **Files:** | ||
| - Runtime output only: `~/.config/opencode/agents`, `~/.config/opencode/skills`, `~/.config/opencode/commands`, `~/.config/opencode/compound-engineering/install-manifest.json`, `~/.config/opencode/opencode.json` backup. | ||
|
|
||
| **Approach:** | ||
| - Run the local CLI: `bun run src/index.ts install ./plugins/compound-engineering --to opencode`. | ||
| - Verify OpenCode resolved config includes `ce-plan` and `ce-setup` command entries. | ||
| - Verify the install manifest records command wrappers. | ||
|
|
||
| **Test scenarios:** | ||
| - Smoke: `opencode debug config` reports generated CE command entries. | ||
| - Smoke: install manifest command count matches the generated skill command wrapper count. | ||
|
|
||
| **Verification:** | ||
| - Restart OpenCode and use `/ce-plan` or `/ce-setup`. | ||
|
|
||
| ## Verification Notes | ||
|
|
||
| - `bun test tests/converter.test.ts` passed. | ||
| - `bun test tests/opencode-writer.test.ts` passed. | ||
| - `bun run release:validate` passed. | ||
| - Installed the local fork with `bun run src/index.ts install ./plugins/compound-engineering --to opencode`. | ||
| - OpenCode install manifest now records 34 managed CE command wrappers and 34 OpenCode-supported CE skills, including `ce-plan.md`, `ce-setup.md`, and `lfg.md`. |
39 changes: 39 additions & 0 deletions
39
docs/plans/2026-04-28-002-fix-ce-plan-prewrite-critic-gate-plan.md
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,39 @@ | ||
| --- | ||
| title: Add ce-plan Pre-Write Critic Gate | ||
| type: fix | ||
| status: complete | ||
| date: 2026-04-28 | ||
| --- | ||
|
|
||
| # Add ce-plan Pre-Write Critic Gate | ||
|
|
||
| ## Summary | ||
|
|
||
| Enhance `ce-plan` with the useful part of the local `/pln` flow: a bounded pre-write critic pass that catches blocking executability issues before the plan is saved. Keep `ce-plan`'s existing post-write confidence check and `ce-doc-review` gate. | ||
|
|
||
| ## Requirements | ||
|
|
||
| - R1. `ce-plan` runs a pre-write critic gate after the plan draft exists and before writing `docs/plans/...`. | ||
| - R2. The critic returns `OKAY` or `REJECT`, with max three blocking issues and max two revision loops. | ||
| - R3. The critic uses CE-portable instructions, not local-only `metis`, `prometheus`, or `momus` agents. | ||
| - R4. Runtime-path plans include a 1000-user scalability baseline. | ||
| - R5. Non-empty `$ARGUMENTS` remains source of truth despite command rendering artifacts. | ||
|
|
||
| ## Implementation Units | ||
|
|
||
| - U1. **Skill Contract Tests** | ||
| - **Files:** `tests/pipeline-review-contract.test.ts` | ||
| - **Goal:** Lock in the pre-write critic and scalability/argument guard behavior. | ||
| - **Verification:** Targeted Bun test fails before the skill update and passes after it. | ||
|
|
||
| - U2. **ce-plan Skill Update** | ||
| - **Files:** `plugins/compound-engineering/skills/ce-plan/SKILL.md`, `plugins/compound-engineering/skills/ce-plan/references/plan-critic.md` | ||
| - **Goal:** Add a concise pre-write critic phase and put detailed rubric in a reference file. | ||
| - **Verification:** Contract tests and release validation pass; local OpenCode reinstall exposes updated `ce-plan` skill body. | ||
|
|
||
| ## Verification Notes | ||
|
|
||
| - `bun test tests/pipeline-review-contract.test.ts` passed. | ||
| - `bun run release:validate` passed. | ||
| - Reinstalled the local fork with `bun run src/index.ts install ./plugins/compound-engineering --to opencode`. | ||
| - Verified installed OpenCode `ce-plan` contains Phase 5.1.7, the `$ARGUMENTS` guard, the 1000-user scalability baseline, and `references/plan-critic.md`. |
95 changes: 95 additions & 0 deletions
95
docs/plans/2026-04-29-001-feat-optional-memory-warm-start-plan.md
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,95 @@ | ||
| --- | ||
| title: Add Optional CE Memory Warm-Start | ||
| type: feat | ||
| status: complete | ||
| date: 2026-04-29 | ||
| --- | ||
|
|
||
| # Add Optional CE Memory Warm-Start | ||
|
|
||
| ## Summary | ||
|
|
||
| Add a portable CE memory researcher and wire it into planning, work execution, debugging, and compounding as best-effort context. The workflow should benefit from local Neo4j memory when available without making CE depend on it. | ||
|
|
||
| ## Requirements | ||
|
|
||
| - R1. Add a `ce-memory-researcher` agent that can read persistent memory when Neo4j MCP tools are available. | ||
| - R2. Memory lookup must be optional and never block CE workflows when unavailable. | ||
| - R3. Memory findings must be supplementary. They cannot override the origin document, current repo evidence, or verified execution results. | ||
| - R4. `ce-plan` should warm-start Phase 1 with relevant decisions, prior errors, preferences, and cross-project patterns. | ||
| - R5. `ce-work`, `ce-debug`, and `ce-compound` should consult memory only where it improves execution context without changing scope or adding mandatory prompts. | ||
| - R6. Contract tests should lock in the optional behavior and agent presence. | ||
|
|
||
| ## Implementation Units | ||
|
|
||
| - U1. **Memory Researcher Agent** | ||
|
|
||
| **Goal:** Add a CE-portable agent for persistent memory lookup. | ||
|
|
||
| **Files:** | ||
| - Create: `plugins/compound-engineering/agents/ce-memory-researcher.agent.md` | ||
|
|
||
| **Approach:** | ||
| - Support warm-start, context, recall, and explicit remember operations. | ||
| - Prefer Neo4j MCP tools when connected. | ||
| - Return a clear unavailable result instead of failing when tools are absent. | ||
| - Keep read operations as the default; write only on an explicit remember request. | ||
|
|
||
| **Test scenarios:** | ||
| - Happy path: agent instructions define warm-start output and Neo4j read behavior. | ||
| - Error path: agent instructions specify unavailable behavior when memory tools are missing. | ||
| - Safety path: agent instructions prevent memory from overriding current evidence. | ||
|
|
||
| **Verification:** | ||
| - Contract tests prove the agent exists and carries the optional/supplementary behavior. | ||
|
|
||
| - U2. **Workflow Wiring** | ||
|
|
||
| **Goal:** Integrate memory at the safest workflow points. | ||
|
|
||
| **Files:** | ||
| - Modify: `plugins/compound-engineering/skills/ce-plan/SKILL.md` | ||
| - Modify: `plugins/compound-engineering/skills/ce-work/SKILL.md` | ||
| - Modify: `plugins/compound-engineering/skills/ce-debug/SKILL.md` | ||
| - Modify: `plugins/compound-engineering/skills/ce-compound/SKILL.md` | ||
|
|
||
| **Approach:** | ||
| - Add `ce-plan` Phase 1.0 before standard local research. | ||
| - Add `ce-work` memory context after plan reading and before task creation. | ||
| - Add `ce-debug` prior-error recall after triage and before reproduction. | ||
| - Add `ce-compound` persistent memory recall alongside existing auto-memory support. | ||
|
|
||
| **Test scenarios:** | ||
| - Happy path: each workflow references `ce-memory-researcher` at the intended stage. | ||
| - Error path: each workflow states unavailable memory must not fail the parent workflow. | ||
| - Scope path: work execution memory cannot mutate plan scope. | ||
|
|
||
| **Verification:** | ||
| - Targeted contract tests pass. | ||
|
|
||
| - U3. **Contract Tests and Install Verification** | ||
|
|
||
| **Goal:** Keep the behavior durable across future edits and reinstall the local fork. | ||
|
|
||
| **Files:** | ||
| - Modify: `tests/pipeline-review-contract.test.ts` | ||
| - Update: `docs/plans/2026-04-29-001-feat-optional-memory-warm-start-plan.md` | ||
|
|
||
| **Approach:** | ||
| - Add tests for agent presence, optional memory behavior, and workflow placement. | ||
| - Run targeted tests and release validation. | ||
| - Reinstall the local fork into OpenCode after verification. | ||
|
|
||
| **Test scenarios:** | ||
| - Contract: `ce-plan` memory warm-start appears before local research. | ||
| - Contract: `ce-code-review` is not wired to persistent memory by default. | ||
| - Contract: unavailable memory is explicitly non-blocking. | ||
|
|
||
| **Verification:** | ||
| - Targeted tests and release validation pass. | ||
|
|
||
| ## Verification Notes | ||
|
|
||
| - `bun test tests/pipeline-review-contract.test.ts` passed. | ||
| - `bun test tests/converter.test.ts tests/opencode-writer.test.ts tests/release-metadata.test.ts tests/pipeline-review-contract.test.ts` passed. | ||
| - `bun run release:validate` passed and reported `52 agents`, `35 skills`, and `0 MCP servers`. |
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.
When someone follows this new local-fork workflow, the commands copy skills into
/Users/besi/.../3.4.1, but this checkout's Codex plugin manifest is version3.6.0; on any other machine or after the version changes, Codex will keep reading the active cache path instead of these copied files, so unpublished skill changes still appear stale. Use a placeholder/path variable and derive the cache version fromplugins/compound-engineering/.codex-plugin/plugin.jsonrather than baking in this personal path and old version.Useful? React with 👍 / 👎.