forked from anomalyco/opencode
-
Notifications
You must be signed in to change notification settings - Fork 0
docs: codify mvp readiness split #17
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
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
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 @@ | ||
| # Issue 004: Safe Agents And Workflow Commands | ||
|
|
||
| ## Problem | ||
|
|
||
| Raw built-in agents are too permissive for an internal product. The repo needs a safer default operating model for implementation, review, and release workflows. | ||
|
|
||
| This issue is part of the MVP floor. It should not absorb later CI or broader migration scope. | ||
|
|
||
| ## Deliverables | ||
|
|
||
| - hardened default primary agent | ||
| - review-oriented subagent | ||
| - slash commands for `/implement`, `/review`, `/ship`, and `/handoff` | ||
| - explicit permission policy for dangerous shell patterns and write operations | ||
|
|
||
| ## Acceptance | ||
|
|
||
| - default agent is not an unrestricted build clone | ||
| - review workflow can run without edit access | ||
| - release workflow cannot bypass explicit gates | ||
| - the scope stays limited to local runtime workflow safety, not later CI/release authority | ||
|
|
||
| ## Dependencies | ||
|
|
||
| - `003-guardrail-plugin-mvp.md` | ||
| - `docs/ai-guardrails/mvp-readiness.md` | ||
| - `docs/ai-guardrails/migration/claude-code-skills-inventory.md` | ||
|
|
||
| ## Sources | ||
|
|
||
| - `claude-code-skills` epic `#130` | ||
| - `claude-code-skills` README | ||
| - Anthropic `The Complete Guide to Building Skills for Claude` | ||
| - https://opencode.ai/docs/agents | ||
| - https://opencode.ai/docs/commands | ||
| - https://opencode.ai/docs/config |
35 changes: 35 additions & 0 deletions
35
docs/ai-guardrails/issues/005-provider-admission-policy.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,35 @@ | ||
| # Issue 005: Provider Admission Policy | ||
|
|
||
| ## Problem | ||
|
|
||
| The internal distribution needs a stable provider strategy that does not tie product decisions to one transient model name. | ||
|
|
||
| This issue is part of the MVP floor because the product needs a concrete answer for confidential-code routing before it can honestly be described as an MVP. | ||
|
|
||
| ## Deliverables | ||
|
|
||
| - lane policy for `zai`, `openai`, and `openrouter` | ||
| - provider allowlist and denylist defaults | ||
| - evaluation checklist for OpenRouter-backed candidates | ||
| - confidential-repo restrictions for preview, free, or data-collecting models | ||
|
|
||
| ## Acceptance | ||
|
|
||
| - provider defaults are expressed in config, not only in prose | ||
| - evaluation lane is separate from standard defaults | ||
| - policy references official routing and data controls, not assumptions | ||
|
|
||
| ## Dependencies | ||
|
|
||
| - `docs/ai-guardrails/adr/002-provider-admission-lanes.md` | ||
| - `docs/ai-guardrails/mvp-readiness.md` | ||
|
|
||
| ## Sources | ||
|
|
||
| - `claude-code-skills` epic `#130` | ||
| - `claude-code-skills` README | ||
| - Anthropic `The Complete Guide to Building Skills for Claude` | ||
| - OpenRouter provider routing docs | ||
| - OpenAI pricing and model docs | ||
| - Z.AI pricing docs | ||
| - https://opencode.ai/docs/config | ||
34 changes: 34 additions & 0 deletions
34
docs/ai-guardrails/issues/006-scenario-and-replay-harness.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,34 @@ | ||
| # Issue 006: Scenario And Replay Harness | ||
|
|
||
| ## Problem | ||
|
|
||
| Guardrails are only credible if config precedence, plugin behavior, and migration compatibility are exercised automatically. | ||
|
|
||
| This issue is part of the MVP floor because the philosophy from epic `#130` treats runtime proof as a requirement, not a follow-up. | ||
|
|
||
| ## Deliverables | ||
|
|
||
| - scenario tests for guarded workflow commands | ||
| - scenario tests for provider admission behavior | ||
| - scenario tests for plugin state and carry-over that matter to MVP claims | ||
| - follow-up replay strategy for release-gate and provider-admission scenarios | ||
|
|
||
| ## Acceptance | ||
|
|
||
| - scenario suite runs under `packages/opencode` | ||
| - the tests are stable on local development machines and CI | ||
| - future guardrail issues can link to specific scenario or replay coverage | ||
|
|
||
| ## Dependencies | ||
|
|
||
| - `003-guardrail-plugin-mvp.md` | ||
| - `004-safe-agents-and-commands.md` | ||
| - `005-provider-admission-policy.md` | ||
| - `docs/ai-guardrails/mvp-readiness.md` | ||
|
|
||
| ## Sources | ||
|
|
||
| - `claude-code-skills` epic `#130` | ||
| - `claude-code-skills` README | ||
| - Anthropic `The Complete Guide to Building Skills for Claude` | ||
| - `packages/opencode/test/scenario/guardrails.test.ts` |
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 @@ | ||
| # Issue 007: Plugin Hardening Wave 2 | ||
|
|
||
| ## Problem | ||
|
|
||
| The plugin MVP in `003-guardrail-plugin-mvp.md` proves the extension surface, but it does not yet cover enough of the highest-value hook migration set to support an MVP claim by itself. | ||
|
|
||
| ## Deliverables | ||
|
|
||
| - expand plugin policy to cover high-priority fast-feedback hooks from the migration inventory | ||
| - add crash-safe state/logging expectations where needed for local runtime continuity | ||
| - document which plugin behaviors are part of the MVP floor versus later operational hardening | ||
|
|
||
| ## Candidate scope | ||
|
|
||
| - `post-lint-format` | ||
| - `block-version-downgrade` | ||
| - `context-budget-*` | ||
| - `mark-factcheck-done` | ||
| - `reset-factcheck` | ||
| - targeted review or fact-check runtime state where feasible without broad core patches | ||
|
|
||
| ## Acceptance | ||
|
|
||
| - the plugin covers the highest-value remaining fast-feedback policies needed for MVP | ||
| - behavior is scenario-tested or otherwise runtime-verified | ||
| - scope remains thin-distribution-first and upstream-friendly | ||
|
|
||
| ## Dependencies | ||
|
|
||
| - `003-guardrail-plugin-mvp.md` | ||
| - `006-scenario-and-replay-harness.md` | ||
| - `docs/ai-guardrails/mvp-readiness.md` | ||
| - `docs/ai-guardrails/migration/claude-code-skills-inventory.md` | ||
|
|
||
| ## Sources | ||
|
|
||
| - `claude-code-skills` epic `#130` | ||
| - `claude-code-skills` README | ||
| - Anthropic `The Complete Guide to Building Skills for Claude` |
31 changes: 31 additions & 0 deletions
31
docs/ai-guardrails/issues/008-authoritative-ci-and-release-gates.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,31 @@ | ||
| # Issue 008: Authoritative CI And Release Gates | ||
|
|
||
| ## Problem | ||
|
|
||
| The local client can guide safe behavior, but merge, release, and post-merge authority must not depend on local agent goodwill alone. | ||
|
|
||
| This issue is intentionally outside the MVP floor. It should stay separated from `004-safe-agents-and-commands.md` so the MVP scope does not expand indefinitely. | ||
|
|
||
| ## Deliverables | ||
|
|
||
| - CI or provider-enforced review freshness gates | ||
| - release and post-merge verification policy | ||
| - documented split between local preflight checks and authoritative server-side gates | ||
|
|
||
| ## Acceptance | ||
|
|
||
| - the repo documents which gates are local-only versus authoritative | ||
| - release-sensitive operations are enforced outside the local client | ||
| - the work remains separate from the local-runtime MVP floor | ||
|
|
||
| ## Dependencies | ||
|
|
||
| - `004-safe-agents-and-commands.md` | ||
| - `006-scenario-and-replay-harness.md` | ||
| - `docs/ai-guardrails/mvp-readiness.md` | ||
|
|
||
| ## Sources | ||
|
|
||
| - `claude-code-skills` epic `#130` | ||
| - `claude-code-skills` README | ||
| - Anthropic `The Complete Guide to Building Skills for Claude` |
30 changes: 30 additions & 0 deletions
30
docs/ai-guardrails/issues/009-broader-claude-asset-migration.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,30 @@ | ||
| # Issue 009: Broader Claude Asset Migration | ||
|
|
||
| ## Problem | ||
|
|
||
| The MVP floor does not require full migration of every Claude-owned asset, but the longer-term product still needs a principled path for additional skills, commands, and packaging decisions. | ||
|
|
||
| This issue is intentionally after the MVP floor. | ||
|
|
||
| ## Deliverables | ||
|
|
||
| - next-wave migration candidates beyond the MVP floor | ||
| - ownership rules for moving assets from `.claude` into `.opencode` | ||
| - packaging and maintenance rules for org-owned assets after the MVP ships | ||
|
|
||
| ## Acceptance | ||
|
|
||
| - the repo distinguishes MVP-critical migration from later migration work | ||
| - future asset moves can point to an explicit issue and ownership rule instead of ad hoc decisions | ||
|
|
||
| ## Dependencies | ||
|
|
||
| - `002-claude-asset-inventory-and-import.md` | ||
| - `docs/ai-guardrails/mvp-readiness.md` | ||
| - `docs/ai-guardrails/migration/claude-code-skills-inventory.md` | ||
|
|
||
| ## Sources | ||
|
|
||
| - `claude-code-skills` epic `#130` | ||
| - `claude-code-skills` README | ||
| - Anthropic `The Complete Guide to Building Skills for Claude` |
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.
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.
docs/ai-guardrails/adr/002-provider-admission-lanes.mdis listed as a dependency, but there is no002-*ADR indocs/ai-guardrails/adr/(only 001, 003, 004). This makes the issue brief’s dependency list non-actionable. Either add the missing ADR 002 (recommended if lanes are a key architectural decision) or update this dependency to point at the correct existing ADR(s).