feat(integrations): add layered PowerContext Skill routing - #1622
Conversation
PsiACE
left a comment
There was a problem hiding this comment.
Please address the naming, documentation, test scope, and evaluation issues noted inline.
| `using-powercontext` in the tracker describes a routing role, not a required new name. Existing names and installation | ||
| paths remain compatible; E does not introduce a competing distribution generator. Canonical names, generated | ||
| projections, and their migration remain owned by [#1405](https://github.com/oceanbase/powercontext/issues/1405) and | ||
| [#1410](https://github.com/oceanbase/powercontext/pull/1410). Framework adapters and Bub are outside this Skill migration. |
There was a problem hiding this comment.
Please unify the Skill name across agents and update registration, installation paths, docs, and tests together. Replace the old names directly; no aliases or compatibility handling are needed.
| catalogs, including MiniMax, do not prove each product's native automatic discovery. Routing and argument validation | ||
| remain separate from transcript-bound reporting review. Preserve failed observations and evaluation limits. | ||
|
|
||
| ## Recorded observations and completion boundary |
There was a problem hiding this comment.
Please move run-specific results, implementation history, and issue completion status to the PR or an evaluation report. Keep the development docs focused on the current design, behavior, and validation steps. Apply this to both languages.
| assert skill["resources"]["SKILL.md"] == skill["content"] | ||
| assert any(key.startswith("references/") for key in skill["resources"]) | ||
| assert skill["description"].isascii() is False |
There was a problem hiding this comment.
Please remove assertions that only lock internal data shapes, directory layout, wording, or registration order. Keep behavior tests, including e2e acceptance, and regressions for known failures. Installed resources being discoverable and readable is worth testing; a straightforward helper does not need tests merely because it exists.
Related assertions: exact wording and registration order.
| if case.startswith("skill_") and self.available and not self.steps and not record.get("error"): | ||
| record.update(routing_passed=False, error="Requested Skill workflow was not read") |
There was a problem hiding this comment.
In skill_search, reading the router and review-publication.md still passes the routing check without reading the Memory workflow. Please verify that the requested domain was loaded and add a regression test for this false pass.
|
Thank you @PsiACE and @Teingi for the careful reviews.
|
5ada85f to
9b56eb1
Compare
Which issue or RFC does this PR close?
Closes #1620. Refs #1450 (E). Builds on merged #1522 and follows MiniMax #1526's local-reference organization.
Rationale for this change
PowerContext workflows were combined in large Skill entries, with inconsistent names across hosts and no packaged
OpenClaw Skill. Agents need a discoverable entry and focused workflow detail while tools remain independently usable.
What changes are included in this PR?
powercontext-project-contextfor every maintained Skill entry. Update directories, native registration, installation/diagnostic paths, package contents, guidance, docs and tests together. No legacy aliases or migration logic.SKILL.mdthrough the native parser. Export the actual host-qualified name and description from its native provider loader /PluginManager; the evaluator preserves this metadata. Add pinned native CI covering installed discovery and propagation of changed bilingual frontmatter.Are there any user-facing changes?
The Skill entry is now named
powercontext-project-contextacross hosts, replacingproject-contextand Hermes'spowercontextSkill. Existing installations using an old entry must be reinstalled under the new name; old entrynames are not supported aliases and the installer does not migrate or remove old directories. Hermes exposes the entry as
powercontext:powercontext-project-contextin its native plugin namespace. Plugin/MCP identitiesare unchanged. Ordinary coding has no mandatory Skill/tool detour. Scope isolation, exact citations, explicit writes,
human Review authority and OpenClaw private-session gates remain in force.
This PR closes the E implementation issue only. Keep #1450 open for aggregate acceptance. A fresh 80-observation
step-3.7-flashrun has 53 automated routing passes: all 40 ordinary/current-context cases avoided detours, while13/40 requested-reading probes passed. No passing probe omitted its required domain. These observations are not
semantically qualified acceptance results. Failed model behavior remains visible; green CI does not qualify it.
A separate 16-case DSH/OpenCode follow-up after the Handoff clarification has 15 automated routing passes and one output-budget truncation; semantic reporting remains unreviewed.
The historical Hermes catalogs used file metadata instead of native discovery, so their observations do not qualify the host-visible description or namespace. Native metadata propagation is now tested separately; historical records are not relabeled as native acceptance.
The report also preserves the original 400 observations and identifies 15 historical routing false passes caused by
missing domain reads, without rewriting those records or presenting rescoring as a new model run.
How was this change tested?
Current head
9b56eb19: CI is running. Rebased onto master534460e0(#1625). The layered Pi entry retains external Skill workflows and explicit candidate approve/reject/revise workflows, including current-version checks and interactive confirmation. Local Pi tests: 96 passed; Skill resource, evaluator and native Hermes tests: 67 passed. Pi type checking, pre-commit checks and Linux-target Python type checking passed.AI usage statement
OpenAI Codex assisted with implementation, tests, review analysis, source review and documentation. Model routing
observations used
step-3.7-flash. No private credentials are included in the evaluation record.