Skip to content

πŸ—οΈ MASTER P0: trios-ext revival β€” scaffold crate from zero (Closes #108 #152 #155 #156 #157 #189)Β #199

Description

@gHashTag

πŸ—οΈ MASTER P0: trios-ext revival

Context: crates/trios-ext/extension/ does not exist. All prior "fixes" (#152, #155, #156, #157, #189) were closed without real scaffold. This issue tracks ground-up creation.

Branch & worktree (L10)

git worktree add ../trios-ext-revival -b fix/trios-ext-revival main
cd ../trios-ext-revival

Target structure

crates/trios-ext/
β”œβ”€β”€ Cargo.toml                  # wasm32-unknown-unknown, dioxus 0.6, web-sys, wasm-bindgen
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ lib.rs                  # #[wasm_bindgen(start)] pub fn main()
β”‚   β”œβ”€β”€ app.rs                  # Dioxus root component
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ mod.rs
β”‚   β”‚   β”œβ”€β”€ sidebar.rs
β”‚   β”‚   β”œβ”€β”€ chat.rs
β”‚   β”‚   └── agent_list.rs
β”‚   β”œβ”€β”€ mcp/
β”‚   β”‚   β”œβ”€β”€ mod.rs
β”‚   β”‚   β”œβ”€β”€ client.rs           # WebSocket β†’ trios-server :9005/ws
β”‚   β”‚   └── protocol.rs         # MCP message types
β”‚   └── bridge/
β”‚       β”œβ”€β”€ mod.rs
β”‚       └── comet.rs            # direct Comet ↔ ext channel (#157)
β”œβ”€β”€ extension/
β”‚   β”œβ”€β”€ manifest.json           # MV3, side_panel.default_path, action.default_icon{16,32,48,128}
β”‚   β”œβ”€β”€ assets/
β”‚   β”‚   β”œβ”€β”€ logo.svg            # Trinity brand (from brandbook)
β”‚   β”‚   └── icons/
β”‚   β”‚       β”œβ”€β”€ 16.png
β”‚   β”‚       β”œβ”€β”€ 32.png
β”‚   β”‚       β”œβ”€β”€ 48.png
β”‚   β”‚       └── 128.png
β”‚   β”œβ”€β”€ sidepanel.html          # ONLY <script type="module" src="/dist/trios_ext.js"></script>
β”‚   β”œβ”€β”€ background.html         # WASM service worker loader (auto-generated)
β”‚   └── styles/
β”‚       └── brand.css           # --trinity-black:#000000; --trinity-accent:…
β”œβ”€β”€ xtask/
β”‚   β”œβ”€β”€ Cargo.toml
β”‚   └── src/main.rs             # cargo xtask build β†’ wasm-bindgen β†’ dist/
└── .gitignore                  # dist/

Acceptance Criteria

Commit plan (L8 PUSH FIRST β€” push after every commit)

  1. feat(trios-ext): scaffold crate skeleton + Cargo.toml (refs #108)
  2. feat(trios-ext): extension/manifest.json + icons 16/32/48/128 (Closes #152)
  3. feat(trios-ext): Dioxus app + WASM entry point (refs #189)
  4. feat(trios-ext): Trinity brand.css + logo.svg (refs #155)
  5. feat(trios-ext): MCP WebSocket client + chat component (Closes #155)
  6. feat(trios-ext): Comet bridge via chrome.runtime (Closes #157)
  7. feat(trios-ext): xtask build pipeline (wasm-bindgen β†’ dist/)
  8. feat(ci): no-js.yml + manifest validator (Closes #156, Closes #189)
  9. docs(trios-ext): README + load-unpacked instructions (Closes #108)

Single PR

Title: feat(trios-ext): full revival β€” Rust/Dioxus/WASM sidepanel + MCP bridge
Body: Closes #108 Closes #152 Closes #155 Closes #156 Closes #157 Closes #189

Verification (manual, before merge)

  1. cargo xtask build-ext
  2. Chrome β†’ chrome://extensions β†’ Load unpacked β†’ crates/trios-ext/extension/
  3. Icon visible in toolbar βœ“
  4. Click icon β†’ sidepanel opens βœ“
  5. Logo + Total Black palette visible βœ“
  6. Chat input sends message β†’ agent responds via WS βœ“
  7. Comet operator bridge round-trip βœ“
  8. DevTools console: zero CSP errors βœ“

Constraints (reaffirmed)

  • L1: no .sh files
  • L2: PR must contain Closes #N
  • L3: clippy zero warnings
  • L4: tests pass
  • L8: push after every commit
  • L9: issue must be on TRINITY board, status In progress
  • L10: worktree-first for any risky change
  • English only in code/docs/issues

Blocks: #108 #152 #155 #156 #157 #189
Assignee: DELTA (NATO call-sign)
TRINITY board: add β†’ In progress

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions