Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions docs/plugins/file-manager/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,11 @@ first-party file-manager package.
Pre-implementation ecosystem: the plugin package, manifest, and policy are
implemented and tested headlessly, while the Bitty host is still landing the
host-mediated filesystem bridge. Panel presentation stays deferred pending the
panel-provider contract. The package is not verified, compatible, or shipped
beyond its manifest `[compat]` ranges.
panel-provider contract (`bitty-docs` `CTX-0181`, OQ-058). `:rename` is
policy-only composition with no host filesystem mutation; host-side
rename/move/copy stays deferred pending the `fs.write:PATTERN` grant,
consistent with the file-manager candidate in the Plugin Matrix. The package
is not verified, compatible, or shipped beyond its manifest `[compat]` ranges.

## Pages

Expand Down
6 changes: 5 additions & 1 deletion docs/plugins/file-manager/schemas.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,11 @@ process, network, clipboard, or terminal-input authority is requested.
| Events | `terminal.cwd-changed`, `terminal.title-changed`, `focus.changed` |

Static triggers let the host register the plugin without creating a VM; the
observation events refresh the cached snapshot-derived state.
observation events refresh the cached snapshot-derived state. `:rename` is
policy-only composition (rename preview and selection with no host filesystem
mutation); any host mutation stays deferred pending the `fs.write:PATTERN`
grant and the panel-provider contract (`bitty-docs` `CTX-0181`, OQ-058),
consistent with the file-manager candidate in the Plugin Matrix.

## Configuration keys

Expand Down
5 changes: 3 additions & 2 deletions docs/plugins/git-panel/design.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,9 @@ filtering, and declarative scene composition.

## Capability and trust boundaries

- Requests `panel.provider` and `panel.create` (back the tiled Panel Runtime
registration), `terminal.semantic-read` (gates `bitty.terminal.snapshot`,
- Requests `panel.provider` and `panel.create` (deferred candidates pending
the panel-provider contract, `bitty-docs` `CTX-0181`, OQ-058, backing the
tiled Panel Runtime registration), `terminal.semantic-read` (gates `bitty.terminal.snapshot`,
the read-only cwd/title observation the panel refreshes from),
`process.spawn:git` (the closed `process.spawn` family plus the `:git`
parameter — only the `git` binary spawns), and `fs.read:~/projects/**`
Expand Down
14 changes: 7 additions & 7 deletions docs/plugins/git-panel/schemas.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@ sidebar_order: 48

## Capabilities

| Identifier | Scope |
| ------------------------ | ---------------------------------------------------------------------- |
| `panel.provider` | Tiled Panel Runtime registration |
| `panel.create` | Panel creation within the host-owned panel slot |
| `terminal.semantic-read` | Read-only cwd/title observation via `bitty.terminal.snapshot` |
| `process.spawn:git` | Only the `git` binary, only the seven allowlisted read-only verbs |
| `fs.read:~/projects/**` | Working-tree read scope; symlinks and devices rejected per host policy |
| Identifier | Scope |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `panel.provider` | Tiled Panel Runtime registration — deferred candidate pending the panel-provider contract (`bitty-docs` `CTX-0181`, OQ-058) |
| `panel.create` | Panel creation within the host-owned panel slot — deferred candidate pending the panel-provider contract (`bitty-docs` `CTX-0181`, OQ-058) |
| `terminal.semantic-read` | Read-only cwd/title observation via `bitty.terminal.snapshot` |
| `process.spawn:git` | Only the `git` binary, only the seven allowlisted read-only verbs |
| `fs.read:~/projects/**` | Working-tree read scope; symlinks and devices rejected per host policy |

Deny by default; unknown identifiers fail validation and there is no
allow-all identifier. No ambient spawn, shell interpolation, network,
Expand Down
2 changes: 1 addition & 1 deletion product/bundled-plugin-split-decision.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ Manifest presence is not shipped behavior.
| `palette` | `palette_manifest`, `bitty-runtime/src/palette.rs` (removed 2026-10-02) | `ui.overlay`, command registry | Overlay slot, declarative primitives | **Split** | Distribution + SDK | `bitty` `CTX-0397` |
| `statusline` | `statusline_manifest`, `bitty-runtime/src/statusline.rs` (removed 2026-10-02) | `terminal.semantic-read`, `ui.rich` | Status-component composition | **Split** (statusline only) | Distribution + SDK | `bitty` `CTX-0398` |
| `file-manager` | `file_manager_manifest` (removed 2026-09-15), `bitty-runtime/src/file_manager.rs` (removed 2026-09-15) | `terminal.semantic-read` only (observation-only); the former `panel.provider`, `panel.create`, and root-scoped `fs.read`/`fs.write` requests are removed as phantom authority and deferred | Panel Runtime, path-scoped grants | **Split** (catalog entry removed; panel presentation deferred) | Panel provider contract (presentation only) | `bitty` `CTX-0399` |
| `git-panel` | `git_panel_manifest` (removed 2026-09-15), `bitty-runtime/src/git_panel.rs` (removed 2026-09-15) | `panel.provider`, `panel.create`, `process.spawn:git`, `terminal.semantic-read`, `fs.read` | Panel Runtime, allowlisted CLI | **Split** (catalog entry removed; panel presentation deferred) | Panel provider contract (presentation only) + Layer 2 `[tools.*]` (accepted) | `bitty` `CTX-0400` |
| `git-panel` | `git_panel_manifest` (removed 2026-09-15), `bitty-runtime/src/git_panel.rs` (removed 2026-09-15) | `panel.provider`, `panel.create` (both deferred candidates pending the panel-provider contract, `bitty-docs` `CTX-0181`, OQ-058), `process.spawn:git`, `terminal.semantic-read`, `fs.read` | Panel Runtime, allowlisted CLI | **Split** (catalog entry removed; panel presentation deferred) | Panel provider contract (presentation only) + Layer 2 `[tools.*]` (accepted) | `bitty` `CTX-0400` |
| `browser-panel` | `browser_panel_manifest`, `bitty-runtime/src/browser_panel.rs` | `panel.provider`, `panel.create`, `browser.embed/navigation/file-url/storage`, `terminal.semantic-read` | Native embedder, host-owned surface, untrusted web content | **Stay bundled (Core)** | Core browser mechanism + security review | `bitty` `CTX-0401` |
| `ai-panel` | `ai_panel_manifest`, `bitty-runtime/src/ai_panel.rs` | `panel.provider`, `panel.create`, `agent.context.*`, `agent.memory:persist`, `mcp.invoke:*`, `ai.provider/stream/model` | Panel Runtime + `bitty-ai` mechanism | **Split later** (hybrid) | Panel provider contract + `bitty-ai` surfaces | `bitty` `CTX-0402` |
| `mail-panel` | `mail_panel_manifest`, `bitty-runtime/src/mail_panel.rs` | `panel.provider`, `panel.create`, `mcp.invoke:mail.*`, `network.connect` (imap/smtp), `fs.read`/`fs.write:~/mail/**` | Panel Runtime, MCP, endpoint grants | **Split later** | Panel provider contract + credential contract | `bitty` `CTX-0403` |
Expand Down
Loading