feat(context): add controllable OpenCode prompt observability - #3029
Draft
reachjalil wants to merge 5 commits into
Draft
feat(context): add controllable OpenCode prompt observability#3029reachjalil wants to merge 5 commits into
reachjalil wants to merge 5 commits into
Conversation
…3026) * feat(context): centralize OpenCode observability * docs(context): add observability and skill triage guides
…3028) * feat(context): centralize OpenCode observability * docs(context): add observability and skill triage guides * refactor(observability): remove duplicate prompt plumbing * fix(connect): harden marketplace skill index handling * fix(connect): preserve marketplace skill metadata * test(context): update remote skill prompt contract
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
This was referenced Jul 27, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Overview
This is the consolidated feature PR for controllable OpenCode context and prompt observability in OpenWork. Current head
4453a4da9containsupstream/devat3da9003e5through merge commitef0039492.The original integration combined three implementation slices:
Since then,
devindependently merged the definitive skill architecture and marketplace fix. This PR now treats those changes as its base and keeps only the complementary observability, diagnostics, and contract hardening described below.Already on
dev— not owned by this PR#3025: single-skill-plugin architecture
plugin:<pluginId>:<configObjectId>for remote marketplace skill execution.skill:execution rail, hub browsing/install UI, tables, and cloud skill catalog.#3030: marketplace skill discovery fix
title, normalizeddescription,marketplaceName, andpluginNameafter authorization filtering.Functionality this PR adds
1. Ordered context contributor registry
2. Controllable observability levels
off,metadata, andexactmodes with fail-closed precedence.3. Safe Electron DevTools bridge
4. Prompt and system-array change tracing
console.logcalls.5. Resilient Connect skill-index diagnostics
skill://index.jsoncontract used by Den and the server.6. Core plugin visibility and ownership
7. Operator surfaces and documentation
docs/context-observability.mddocs/skills-visibility-runbook.mdReconciliation with latest
devThe sync deliberately follows #3025's plugin-only architecture and #3030's complete-catalog behavior:
skill-capabilities.tsremain deleted;Validation after syncing with
devapps/server,apps/app, andee/apps/den-apiTypeScript checks: passedThe first post-sync CI run found one stale assertion that still expected the pre-#3030 prompt wording. Commit
4453a4da9updates that test only; the full source suite and all fresh GitHub checks pass with the reconciled wording.Root cause addressed
OpenWork previously assembled context through independently registered plugins without a safe way to correlate contributor decisions to the final prepared system array. Operators could not distinguish absent, filtered, malformed, cached, or changed context from a prompt that OpenCode actually received. The feature centralizes assembly, gives every decision a traceable identity, and exposes only the level of detail explicitly enabled by the desktop operator.