Skip to content

Commit bbac336

Browse files
hyperpolymathclaude
andcommitted
feat(shared-context): add panel lifecycle awareness module
Add panel.rs module giving the gitbot-fleet awareness of PanLL panels — their structure, lifecycle phases (Minted→Wired→Configured→Provisioned→Active), wiring requirements (7 connection points), and validation rules. Key additions: - PanelId with PascalCase validation, case conversion, reserved name checks - PanelManifest tracking lifecycle phase, wiring status, bot validations - WiringStatus modelling the 6 ReScript + 1 Rust global connection points - PanelFileExpectation implementing DD-004's 8-file pattern - PanelContext trait extending Context with panel CRUD operations - Panel-specific finding rule IDs (PANEL-001 through PANEL-044) - Panel check categories added to rhodibot, glambot, seambot, echidnabot, finishbot - 8 tests covering ID validation, lifecycle, wiring, and context integration This is Phase 1 of the bot-assisted panel lifecycle pipeline, enabling the fleet to validate panel minting, wiring, configuration, and release. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 6d59f30 commit bbac336

3 files changed

Lines changed: 974 additions & 0 deletions

File tree

shared-context/src/bot.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,9 @@ impl BotInfo {
174174
"structure".to_string(),
175175
"files".to_string(),
176176
"layout".to_string(),
177+
"panel/structure".to_string(),
178+
"panel/naming".to_string(),
179+
"panel/spdx".to_string(),
177180
],
178181
can_fix: true,
179182
depends_on: vec![],
@@ -191,6 +194,9 @@ impl BotInfo {
191194
"solver-integrity".to_string(),
192195
"trust-bridge".to_string(),
193196
"axiom-tracking".to_string(),
197+
"panel/cmd-match".to_string(),
198+
"panel/typell".to_string(),
199+
"panel/boj-routing".to_string(),
194200
],
195201
can_fix: false,
196202
depends_on: vec![],
@@ -218,6 +224,10 @@ impl BotInfo {
218224
"seo".to_string(),
219225
"html".to_string(),
220226
"docs".to_string(),
227+
"panel/aria".to_string(),
228+
"panel/keyboard".to_string(),
229+
"panel/clade".to_string(),
230+
"panel/docs".to_string(),
221231
],
222232
can_fix: true,
223233
depends_on: vec![BotId::Rhodibot],
@@ -235,6 +245,9 @@ impl BotInfo {
235245
"integration".to_string(),
236246
"api".to_string(),
237247
"contracts".to_string(),
248+
"panel/wiring".to_string(),
249+
"panel/msg-match".to_string(),
250+
"panel/seam-integrity".to_string(),
238251
],
239252
can_fix: false,
240253
depends_on: vec![BotId::Rhodibot, BotId::Echidnabot],
@@ -253,6 +266,11 @@ impl BotInfo {
253266
"completeness/testing".to_string(),
254267
"completeness/tooling".to_string(),
255268
"completeness/v1-readiness".to_string(),
269+
"panel/tests".to_string(),
270+
"panel/clade-registered".to_string(),
271+
"panel/todos".to_string(),
272+
"panel/directives".to_string(),
273+
"panel/release-gate".to_string(),
256274
],
257275
can_fix: true,
258276
depends_on: vec![BotId::Rhodibot, BotId::Glambot],

shared-context/src/lib.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ pub mod bot;
4343
pub mod context;
4444
pub mod finding;
4545
pub mod health;
46+
pub mod panel;
4647
pub mod reporting;
4748
pub mod state;
4849
pub mod storage;
@@ -52,6 +53,10 @@ pub use bot::{BotId, BotInfo, Tier};
5253
pub use context::Context;
5354
pub use finding::{Finding, Severity};
5455
pub use health::{FleetHealth, HealthStatus};
56+
pub use panel::{
57+
IsolationTier, PanelContext, PanelFileExpectation, PanelId, PanelManifest, PanelPhase,
58+
PanelValidation, WiringCheck, WiringStatus,
59+
};
5560
pub use reporting::{FleetReport, ReportFormat};
5661
pub use state::{RepoState, SessionState};
5762
pub use storage::ContextStorage;

0 commit comments

Comments
 (0)