Skip to content

Commit 92e8337

Browse files
author
DavidQ
committed
PLAN_PR_PLUGIN_SYSTEM
Defines plugin architecture for engine extensions.
1 parent 71e47f8 commit 92e8337

9 files changed

Lines changed: 186 additions & 42 deletions

docs/dev/CODEX_COMMANDS.md

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,11 @@ MODEL: GPT-5.3-codex
22
REASONING: high
33

44
COMMAND:
5-
Apply BUILD_PR_ENGINE_MATURITY exactly as defined.
5+
Create BUILD_PR_PLUGIN_SYSTEM
66

7-
- No scope expansion
8-
- Respect all contracts
9-
10-
VALIDATION:
11-
- No runtime regressions
12-
- API stability preserved
13-
- Performance rules enforced
14-
15-
ROADMAP:
16-
Update Stable debug API -> [x]
7+
- Implement docs defined in PLAN_PR_PLUGIN_SYSTEM
8+
- Docs-only
9+
- No runtime changes
1710

1811
OUTPUT:
19-
Create APPLY_PR_ENGINE_MATURITY_delta.zip
12+
<project folder>/tmp/BUILD_PR_PLUGIN_SYSTEM_delta.zip

docs/dev/COMMIT_COMMENT.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
APPLY_PR_ENGINE_MATURITY
2-
Applies engine maturity layer. Stable API locked.
1+
docs: build plugin system contract bundle from PLAN with lifecycle, isolation, and registration boundaries

docs/dev/NEXT_COMMAND.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Create PLAN_PR_PLUGIN_SYSTEM
1+
APPLY_PR_PLUGIN_SYSTEM
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
Applied BUILD_PR_ENGINE_MATURITY exactly as defined.
1+
Created BUILD_PR_PLUGIN_SYSTEM docs-only bundle from PLAN_PR_PLUGIN_SYSTEM.
22

3-
Outcome:
4-
- docs-only apply completed
5-
- no runtime implementation changes added in this apply step
6-
- stable debug API roadmap state transitioned to complete
3+
Included:
4+
- BUILD and APPLY docs for plugin system lifecycle/registration/isolation contracts
5+
- updated active codex/commit/next-command control files
6+
- refreshed reports and file tree
77

8-
Validation:
9-
- runtime regression smoke passed
10-
- API stability checks passed
11-
- bounded-buffer performance rule check passed
8+
Constraints respected:
9+
- docs-only scope
10+
- no runtime code changes
11+
- no engine refactor or breaking change work in this step

docs/dev/reports/file_tree.txt

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
APPLY_PR_ENGINE_MATURITY_delta.zip
2-
- docs/pr/BUILD_PR_ENGINE_MATURITY.md
3-
- docs/pr/APPLY_PR_ENGINE_MATURITY.md
4-
- docs/dev/ENGINE_MATURITY_API_INVENTORY.md
5-
- docs/dev/ENGINE_MATURITY_VERSIONING_STRATEGY.md
6-
- docs/dev/ENGINE_MATURITY_PERFORMANCE_RULES.md
7-
- docs/dev/ENGINE_MATURITY_DOCUMENTATION_MAP.md
8-
- docs/dev/BIG_PICTURE_ROADMAP.md
9-
- docs/dev/ROADMAP_GUARDRAILS.md
1+
BUILD_PR_PLUGIN_SYSTEM_delta.zip
2+
- docs/pr/PLAN_PR_PLUGIN_SYSTEM.md
3+
- docs/pr/BUILD_PR_PLUGIN_SYSTEM.md
4+
- docs/pr/APPLY_PR_PLUGIN_SYSTEM.md
5+
- docs/dev/codex_commands.md
6+
- docs/dev/commit_comment.txt
7+
- docs/dev/next_command.txt
108
- docs/dev/reports/change_summary.txt
11-
- docs/dev/reports/validation_checklist.txt
129
- docs/dev/reports/file_tree.txt
10+
- docs/dev/reports/validation_checklist.txt
Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
Validation Checklist
22

3-
[x] Apply executed without scope expansion
4-
[x] Contracts from BUILD_PR_ENGINE_MATURITY respected
5-
[x] Runtime regression smoke passed
6-
[x] API stability preserved
7-
[x] Performance rules enforced via bounded-buffer check
8-
[x] No runtime code changes required in this apply slice
9-
[x] BIG_PICTURE_ROADMAP.md edited by brackets only
10-
[x] Stable debug API transitioned to [x]
3+
[x] PLAN_PR -> BUILD_PR -> APPLY_PR flow preserved
4+
[x] BUILD_PR_PLUGIN_SYSTEM created
5+
[x] APPLY_PR_PLUGIN_SYSTEM created
6+
[x] PluginRegistry contract documented
7+
[x] PluginContext contract documented
8+
[x] CapabilityDescriptor contract documented
9+
[x] Lifecycle hooks and ordering documented
10+
[x] Isolation rules documented
11+
[x] Optional/lazy loading model documented
12+
[x] Docs-only scope maintained (no runtime changes)

docs/pr/APPLY_PR_PLUGIN_SYSTEM.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# APPLY_PR_PLUGIN_SYSTEM
2+
3+
## Purpose
4+
Apply plugin system contracts exactly as defined by PLAN and BUILD docs.
5+
6+
## Apply Scope
7+
- implement `PluginRegistry`, `PluginContext`, and `CapabilityDescriptor` seams
8+
- implement lifecycle ordering and isolation behavior
9+
- implement optional/lazy loading paths
10+
- expose only approved registration APIs
11+
12+
## Apply Rules
13+
- no scope expansion beyond BUILD contract
14+
- preserve engine/runtime separation
15+
- no direct runtime mutation paths for plugins
16+
- no breaking changes to existing behavior
17+
18+
## Apply Validation
19+
- lifecycle hooks execute in strict order
20+
- plugin failures remain isolated
21+
- registration/discovery APIs are deterministic
22+
- lazy activation and unload flows are validated
23+
24+
## Output
25+
<project folder>/tmp/APPLY_PR_PLUGIN_SYSTEM_delta.zip

docs/pr/BUILD_PR_PLUGIN_SYSTEM.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# BUILD_PR_PLUGIN_SYSTEM
2+
3+
## Purpose
4+
Build a docs-only, implementation-ready plugin system bundle from `PLAN_PR_PLUGIN_SYSTEM`.
5+
6+
## Workflow
7+
PLAN_PR -> BUILD_PR -> APPLY_PR
8+
9+
## Build Scope
10+
- define plugin contracts
11+
- define plugin registration APIs
12+
- define extension hooks
13+
- define isolation and capability boundaries
14+
- define loading and activation strategy
15+
16+
## Constraints
17+
- docs-only
18+
- no runtime code changes
19+
- no engine refactor
20+
- no breaking API changes in this build slice
21+
22+
## Plugin Contracts (authoritative)
23+
1. `PluginRegistry`
24+
- register/unregister plugin descriptors
25+
- enumerate plugin metadata and status
26+
- enforce lifecycle order and duplicate protection
27+
28+
2. `PluginContext`
29+
- approved public APIs only
30+
- read-only access to engine/debug snapshots
31+
- bounded command/panel/provider registration helpers
32+
33+
3. `CapabilityDescriptor`
34+
- capability id and version
35+
- required vs optional capability flags
36+
- compatibility metadata
37+
38+
## Lifecycle Contract
39+
Ordered hooks:
40+
1. `init(context)`
41+
2. `activate(context)`
42+
3. `deactivate(context)`
43+
4. `dispose(context)`
44+
45+
Rules:
46+
- hooks are optional but order is strict
47+
- failures are isolated per plugin
48+
- deactivation/dispose must be idempotent
49+
50+
## Isolation Rules
51+
- no direct runtime mutation from plugins
52+
- plugins use approved public seams only
53+
- no cross-plugin direct coupling
54+
- capability checks required before activation
55+
56+
## Loading Model
57+
- optional loading by config/feature flag
58+
- lazy activation on demand
59+
- explicit unload path for teardown testing
60+
61+
## Registration APIs (docs contract)
62+
- `registerPlugin(descriptor)`
63+
- `unregisterPlugin(pluginId)`
64+
- `listPlugins()`
65+
- `activatePlugin(pluginId)`
66+
- `deactivatePlugin(pluginId)`
67+
68+
## Extension Hook Targets
69+
- command pack extension hook
70+
- panel extension hook
71+
- provider extension hook
72+
73+
## Validation Targets
74+
- lifecycle ordering and idempotence are documented
75+
- isolation boundaries are explicit
76+
- loading model is optional/lazy and bounded
77+
- registration APIs are stable and deterministic
78+
- no runtime code changes in this BUILD bundle
79+
80+
## Apply Handoff
81+
`APPLY_PR_PLUGIN_SYSTEM` should implement only approved contracts and keep scope constrained to plugin lifecycle and registration seams.

docs/pr/PLAN_PR_PLUGIN_SYSTEM.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# PLAN_PR_PLUGIN_SYSTEM
2+
3+
## Objective
4+
Define a plugin/extension system that allows safe, isolated, and optional extension of the debug engine without polluting core runtime.
5+
6+
## Scope
7+
8+
### Plugin Model
9+
- Register/unregister plugins
10+
- Capability discovery
11+
- Lifecycle hooks:
12+
- init
13+
- activate
14+
- deactivate
15+
- dispose
16+
17+
### Isolation Rules
18+
- No direct runtime mutation
19+
- Plugins operate via approved APIs only
20+
- No cross-plugin coupling
21+
22+
### Loading Model
23+
- Optional loading
24+
- Lazy activation
25+
- Feature flags
26+
27+
### Contracts
28+
- PluginRegistry
29+
- PluginContext
30+
- CapabilityDescriptor
31+
32+
## Non-Goals
33+
- No runtime implementation
34+
- No engine refactor
35+
- No breaking changes
36+
37+
## Acceptance
38+
- Plugin lifecycle clearly defined
39+
- Isolation rules enforced
40+
- Extension boundaries documented
41+
42+
## Build Intent
43+
BUILD_PR_PLUGIN_SYSTEM will:
44+
- define plugin contracts
45+
- define registration APIs
46+
- prepare extension hooks

0 commit comments

Comments
 (0)