superbee 0.4.4-pre.2 → 0.4.4-pre.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "superbee",
3
- "version": "0.4.4-pre.2",
3
+ "version": "0.4.4-pre.3",
4
4
  "type": "module",
5
5
  "description": "Agent-facing Superbee CLI for reading and writing local OKF knowledge bundles: context notes, docs, cross-links, and live bundle Views.",
6
6
  "keywords": [
@@ -23,7 +23,7 @@ invent an official support commitment or managed admission.
23
23
 
24
24
  Validation reads the selected recipe directory and inert accepted plugin metadata. It never imports a module named by the recipe,
25
25
  discovers a bundle, writes a document or makes a provider request. Unknown profiles are explicit
26
- `PROFILE_NOT_AVAILABLE` refusals, not successful compatibility claims. Core supplies `rest-json`; `github-issues` requires explicit registration of the independently installed GitHub plugin. Registered plugin spec checks are deferred to source test/bind/run; validation never imports its module.
26
+ `PROFILE_NOT_AVAILABLE` refusals, not successful compatibility claims. Core supplies `rest-json`; `github-issues` requires explicit registration of the independently installed GitHub plugin. Registered plugin spec checks are deferred to source test/bind/run (new bound-GET policies defer them to run); validation never imports its module.
27
27
  An explicitly selected test double does not establish compatibility for an unavailable profile.
28
28
 
29
29
  The complete package is checked for core's secret-shaped text, including README files; `.env` and
@@ -119,6 +119,32 @@ The public [superbee-plugins repository](https://github.com/Holaxis-ai/superbee-
119
119
  qualify mapping and observation behavior; live provider access and managed catalog admission remain
120
120
  separate evidence.
121
121
 
122
+ ## Register a trusted source implementation
123
+
124
+ Source registration accepts a reviewed built folder containing `package.json` with a
125
+ `superbeeIntegration` descriptor: contract 1, a slug `id`, exact compatible `core`, 1–32
126
+ `profiles` (`id`, positive `version`, relative `.mjs` `entry`) and a `recipes` mapping of
127
+ slug keys to inert Markdown recipe roots. Profile ids cannot shadow built-ins or another
128
+ accepted plugin. Each entry exports `createSourceProfile(helpers)` and returns its declared
129
+ extension profile, using the existing public Core helpers. Entries must be self-contained;
130
+ registration hashes finite UTF-8 bytes, not a dependency graph, publisher identity or sandbox.
131
+ Names and declared paths are bounded; traversal, links, overlapping roots and reserved object
132
+ keys are refused. No provider-specific CLI change is needed for another compatible source.
133
+
134
+ Register each source folder explicitly, review the proposal and accept its exact digest.
135
+ Resolve its recipes as `<plugin-id>:<recipe-key>`; `source plugin remove <plugin-id>`
136
+ deactivates its future selections. Registration does not grant credentials or alter Core's
137
+ provider host, method or resource policy. A new authenticated provider needs a reviewed Core
138
+ credential-host policy change; additional local GET endpoints require the explicit bound policy and
139
+ feed approval described below. Source and operation registrations are independent grants with separate bind/run
140
+ contracts; a package descriptor never automatically activates another capability.
141
+
142
+ Existing GitHub acceptance and feed consent remain valid for identical bytes. The first
143
+ successful registration/removal converts the old single-GitHub pointer to a source collection
144
+ at the same private state location. Listing and selection leave the active pointer unchanged. After that conversion, older
145
+ CLI list/select/remove paths refuse the new state; older registration writers are unsupported
146
+ and can replace that collection. Do not use old CLI binaries as writers after upgrading.
147
+
122
148
  ## Register the GitHub integration from a source checkout
123
149
 
124
150
  The GitHub integration is distributed through the public Git repository; no integration npm
@@ -154,6 +180,57 @@ Rebinding changed consent resets observations and accepted tuples for reacquisit
154
180
  availability with `superbee source plugin remove github`; already selected runs may finish their
155
181
  selected generation. Existing bundle content and retained generations are preserved.
156
182
 
183
+ ## Request a narrowly bound local GET policy
184
+
185
+ A source may opt into a reviewed local endpoint through its existing Connector `request` block:
186
+
187
+ ```yaml
188
+ host: api.github.com
189
+ method: GET
190
+ path: '/repos/{owner}/{repo}/pulls'
191
+ items: ''
192
+ query: {state: all}
193
+ headers: {accept: application/vnd.github+json, x-github-api-version: '2026-03-10'}
194
+ paging: {kind: page-number, page_param: page, size_param: per_page, size: 30}
195
+ read_policy:
196
+ contract: 1
197
+ kind: bound-get
198
+ bindings: {owner: segment, repo: segment}
199
+ required_permissions: {pull_requests: read}
200
+ header_provider: github
201
+ ```
202
+
203
+ Its identity resource can be `https://github.com/{owner}/{repo}/pulls`. For detail, declare a separate
204
+ source with resource `https://github.com/{owner}/{repo}/pull/{number}`, path
205
+ `/repos/{owner}/{repo}/pulls/{number}`, `number: positive-integer`, no list query and paging none.
206
+ The integration owns object normalization. [GitHub's REST documentation](https://docs.github.com/en/rest/pulls/pulls)
207
+ provides the endpoint and Pull requests read minimum; opaque token grants remain provider-enforced.
208
+
209
+ Review the endpoint/query read semantics before accepting its binding: GET alone is not a safety
210
+ proof. Core admits only the exact declared host/path and resource parameters. Contract 1 supports
211
+ none/page-number paging with distinct page/size names outside query, required single page/size
212
+ values, exact query literals or whole bound values, and no body, GraphQL, watermark or cursor form.
213
+ Every declared header is required exactly once with its exact value on every hop. Case duplicates,
214
+ omitted/changed headers, query/paging collisions and undeclared authority refuse. Credential and
215
+ method-override headers remain forbidden. For anonymous version-header reads, use auth none,
216
+ explicit `domains: [api.github.com]`, and omit permission minima. Header-provider constraints grant
217
+ no credential host or environment lookup and preserve keyless robots checks.
218
+
219
+ New-policy binding preview/acceptance is inert, using accepted profile metadata. Execution compares
220
+ private consent before module import or credential lookup. Changing policy, binding, implementation
221
+ or resolved semantics requires reapproval and resets observation/accepted state. Installing a plugin
222
+ or recipe grants no network access. Managed execution still needs separately deployed operator
223
+ admission, and local code remains trusted code with ambient process authority.
224
+
225
+ Library hosts use inert `inspectSourceReadPolicy` from `@superbee/core/connectors` and pass its
226
+ approved `{contract: 1, digest}` as `observeSource.readPolicyApproval`. Missing/stale approval denies
227
+ before callbacks/replay. It is an explicit host assertion, not a review certificate. Public recorded
228
+ `SourceFixture` accepts the same explicit `readPolicyApproval`; it is never production consent.
229
+ CLI `source test` JSON remains unchanged and cannot approve these policies. Test them through the
230
+ supported public Core/harness API; do not import private CLI runner/transport seams. Native installed
231
+ registration/bind/refusal, installed public-Core observation, internal transport conformance and live
232
+ provider execution are distinct evidence.
233
+
157
234
  ## Bind and run a local Source Feed
158
235
 
159
236
  After installing a recipe and creating its Source Feed in a local or Git bundle, preview consent: