Skip to content

Commit f3a0074

Browse files
committed
Consolidate first-class tool lifecycle contracts for template preservation, workspace integration, registration, and shared dirty/save handling - PR_26146_018-first-class-tool-lifecycle-contracts
1 parent fe6941b commit f3a0074

1 file changed

Lines changed: 30 additions & 90 deletions

File tree

docs/dev/PROJECT_INSTRUCTIONS.md

Lines changed: 30 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,114 +1088,54 @@ ChatGPT must not claim code review was completed unless it inspected uploaded so
10881088

10891089
Pattern-based or process-based review must be labeled as such.
10901090

1091-
## FIRST-CLASS TOOL REGISTRATION RULE
1091+
## FIRST-CLASS TOOL LIFECYCLE CONTRACTS
10921092

1093-
New first-class tools must include registry, index, and NAV wiring where applicable.
1093+
First-class tools are part of the Workspace V2 ecosystem by default.
10941094

1095-
New first-class tools must include Playwright launch coverage.
1096-
1097-
Tool registration must not rely on hidden defaults or silent fallback.
1098-
1099-
When creating a new first-class tool, Codex must copy the official template from `tools/_templates-v2/` first.
1100-
1101-
The copied template must retain the template-provided:
1102-
- header structure
1103-
- NAV structure
1104-
- panel layout
1105-
- accordion structure
1106-
- CSS wiring
1107-
- JavaScript module wiring
1108-
- status/logging areas
1109-
- accessibility hooks
1110-
- external script/css separation
1111-
1112-
Add tool-specific code only after the copied template structure is preserved.
1113-
1114-
Do not recreate the tool shell from scratch.
1115-
1116-
Do not remove template sections unless the PR explicitly authorizes it.
1117-
1118-
Keep HTML free of inline script/style/event handlers.
1119-
1120-
Register the new tool only after the copied template is adapted.
1095+
New first-class tools must live under `tools/<tool-name>/`.
11211096

1122-
### First-Class Tool Template Preservation Boundaries
1097+
New first-class tools must be created by copying `tools/_templates-v2/`.
11231098

1124-
Copied template structure is the authoritative starting point for new first-class tools.
1099+
The copied template structure is the authoritative starting point.
11251100

1126-
New tool development extends the template rather than replacing it.
1101+
Tool-specific logic extends the copied template rather than replacing it.
11271102

11281103
Preserve:
11291104
- header shell
11301105
- NAV shell
1131-
- panel structure
1132-
- status/log sections
1133-
- accordion patterns
1134-
- layout CSS wiring
1135-
- JS bootstrapping structure
1106+
- panel layout
1107+
- accordion structure
1108+
- status/logging regions
1109+
- CSS wiring
1110+
- JS bootstrapping
11361111
- accessibility structure
1137-
- external asset wiring
1138-
1139-
Prohibited behaviors:
1140-
- do not rebuild shell structure from scratch
1141-
- do not inline CSS or JavaScript
1142-
- do not bypass shared layout contracts
1143-
- do not remove logging/status regions
1144-
- do not create alternate header/NAV systems
1145-
- do not introduce custom one-off layout patterns unless explicitly approved
1146-
1147-
First-class tools should visually and structurally resemble the V2 ecosystem.
1148-
1149-
Template consistency is part of stabilization and maintainability.
1150-
1151-
Structural divergence requires explicit PR scope authorization.
1152-
1153-
### Workspace-Managed First-Class Tool Creation Rules
1154-
1155-
New first-class tools must live under `tools/<tool-name>/`.
11561112

11571113
New first-class tools must integrate with `tools/workspace-manager-v2`.
11581114

1159-
New tools are expected to launch through Workspace Manager V2 unless explicitly exempted.
1160-
1161-
Workspace lifecycle integration requirements:
1162-
- new tools must wire into existing dirty-state handling
1163-
- new tools must wire into existing save/cancel flows
1164-
- new tools must participate in shared workspace lifecycle expectations
1165-
- new tools must not create isolated custom save-state systems
1166-
- new tools must use existing workspace/toolState patterns when applicable
1167-
1168-
Dirty-state participation is required for first-class workspace-managed tools.
1169-
1170-
Save/cancel behavior should remain consistent across the V2 ecosystem.
1171-
1172-
Custom persistence behavior requires explicit PR authorization.
1173-
1174-
New tools should integrate into existing workspace launch/navigation patterns.
1175-
1176-
### First-Class Tool Registration And Workspace Wiring
1177-
1178-
New first-class tools must be added to:
1115+
New first-class tools must register in:
11791116
- `tools/index.html`
11801117
- `tools/workspace-manager-v2/index.html`
11811118

1119+
New first-class tools must participate in:
1120+
- dirty-state handling
1121+
- save/cancel lifecycle handling
1122+
- workspace launch/navigation patterns
1123+
- shared status/logging expectations
1124+
11821125
Registration must use existing navigation and launch patterns.
11831126

1184-
New tools must participate in Workspace Manager V2 launch flows unless explicitly exempted.
1185-
1186-
Required integration expectations:
1187-
- tools live under `tools/<tool-name>/`
1188-
- tools must copy and preserve the V2 template structure from `tools/_templates-v2`
1189-
- tools must wire into existing dirty-state handling
1190-
- tools must wire into save/cancel lifecycle handling
1191-
- tools must wire into workspace launch/navigation patterns
1192-
- tools must wire into shared status/logging expectations
1193-
1194-
Prohibited registration and workspace wiring behaviors:
1195-
- do not create isolated launch surfaces
1196-
- do not bypass Workspace Manager V2 integration
1197-
- do not create custom disconnected navigation systems
1198-
- do not omit registration from `tools/index.html` or `tools/workspace-manager-v2/index.html`
1127+
New first-class tools must include Playwright launch coverage when runtime/UI behavior is introduced.
1128+
1129+
Tool registration must not rely on hidden defaults or silent fallback.
1130+
1131+
Enforcement clarifications:
1132+
- isolated launch/navigation systems are prohibited unless explicitly approved
1133+
- custom persistence/save systems are prohibited unless explicitly approved
1134+
- shell rebuilds and alternate layout systems are prohibited unless explicitly approved
1135+
- do not inline CSS or JavaScript
1136+
- do not remove template sections unless the PR explicitly authorizes it
1137+
- keep HTML free of inline script/style/event handlers
1138+
- register the new tool only after the copied template is adapted
11991139

12001140
## TOOL TEMPLATE V2 LOCATION
12011141

0 commit comments

Comments
 (0)