Skip to content

feat: integrate logos-dev-boost for AI agent tooling#170

Open
jimmy-claw wants to merge 10 commits into
masterfrom
jimmy/lmao-issue-145-20260418
Open

feat: integrate logos-dev-boost for AI agent tooling#170
jimmy-claw wants to merge 10 commits into
masterfrom
jimmy/lmao-issue-145-20260418

Conversation

@jimmy-claw

Copy link
Copy Markdown
Owner

Summary

  • Installed logos-dev-boost context files (AGENTS.md, CLAUDE.md, .mcp.json, 8 skills) to give AI coding agents live Logos SDK knowledge
  • Added CI job (mcp-check) to verify logos-dev-boost files remain present
  • All content fetched from logos-co/logos-dev-boost repo (nix installer was rate-limited, so files were generated manually following the same templates)

Files Added

File Purpose
AGENTS.md Always-loaded context with full Logos development guidelines (codegen, core conventions, metadata.json schema, nix build patterns, testing, UI apps, universal modules)
CLAUDE.md Claude Code specific context — skills index + MCP server info
.mcp.json MCP server config for logos-dev-boost tools (project_info, search_docs, api_reference, build_help, scaffold)
.claude/skills/ 8 on-demand skills for Claude Code
.github/workflows/ci.yml New mcp-check job validates config

Test plan

  • cargo test --workspace passes
  • All 12 files committed and verified
  • .mcp.json is valid JSON
  • Verify MCP server starts when Claude Code opens the workspace

Fixes #145

🤖 Generated with Claude Code

jimmy-claw and others added 10 commits April 16, 2026 04:06
Comprehensive analysis of replacing OpenClaw with a Logos Core module.
Maps existing LMAO capabilities against OpenClaw features, identifies
critical gaps (lifecycle manager, scheduler, tool sandbox, LLM layer),
and recommends a 3-phase approach starting with hybrid integration.

Fixes #51

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add DeliveryTransport C++ class that obtains a QtRO replica of
delivery_module via logosAPI->getClient() and exposes send/subscribe/
unsubscribe methods. Wire it into LmaoComponent and LmaoBackend so
the module uses QtRO inter-module calls for message transport when
running inside Logos Core, with FFI fallback when QtRO is unavailable.

- DeliveryTransport: QtRO bridge to delivery_module (send, subscribe,
  unsubscribe, createNode, start, messageReceived event handling)
- LmaoComponent: stores logosAPI, initializes DeliveryTransport
- LmaoBackend: accepts DeliveryTransport, adds deliverySend() method
- module.yaml: declares delivery_module dependency
- CMakeLists.txt: adds DeliveryTransport.cpp to build

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add tabbed UI plugin with Dashboard, Fleet, Metrics, and Task History views.

FFI layer:
- Add lmao_get_info() for agent identity, topics, and encryption status
- Add lmao_get_metrics() for 17 operational counters (tasks, messages, etc.)
- Add tests for both new FFI functions (98 total tests pass)

C++ backend:
- Add getInfo() and getMetrics() Q_INVOKABLE methods to LmaoBackend

QML UI:
- DashboardView: agent status, public key (click to copy), Waku topics,
  encryption status, QtRO transport status
- MetricsView: grouped counter tiles with auto-refresh (5s), covering tasks,
  messages, discovery, sessions, streaming, and retries
- TaskHistoryView: in-memory task log with expandable details, status badges,
  timestamps, and clear functionality
- LmaoView: tabbed navigation (Dashboard/Fleet/Metrics/History) replacing
  the single fleet view

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Wire up LogosCoreDeliveryTransport in the FFI layer so the Logos Core
plugin uses delivery_module IPC (via logos_core_call_plugin_method_async)
instead of the nwaku REST transport.

- Add `logos-core` feature to lmao-ffi that switches NodeTransport from
  LogosMessagingTransport (REST) to LogosCoreDeliveryTransport (IPC)
- Enable `logos-core` feature in the Nix flake build so the plugin
  automatically uses delivery_module when running inside Logos Core
- Update architecture docs to reflect transport availability

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add logos-co/logos-delivery-module as a Nix flake dependency and wire
the QtRO inter-module call path for task sending.

Changes:
- flake.nix: add logos-delivery-module input, include in build deps
- lmao-ffi: add lmao_build_task_envelope() FFI function that creates
  A2A Task envelope (topic + base64 payload) without sending, so C++
  can route through QtRO delivery_module directly
- LmaoBackend: add sendTaskViaDelivery() that prefers QtRO when
  connected, falls back to FFI transport otherwise
- LmaoView.qml: use sendTaskViaDelivery for task sending
- Headers: declare lmao_build_task_envelope in both FFI headers
- Tests: 5 new tests for lmao_build_task_envelope (103 total pass)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add a new `StorageModuleClient` storage backend behind the `storage-module`
feature flag, implementing the logos-storage-module init/start/upload/download
lifecycle pattern. Uses the existing `storage-bindings` FFI crate (same
libstorage that logos-storage-module uses internally).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Make sendTask() automatically prefer the real logos-delivery-module via
QtRO inter-module IPC when available, with FFI fallback. Previously
callers had to explicitly use sendTaskViaDelivery() for the QtRO path.

- sendTask() now tries QtRO delivery_module first, falls back to FFI
- sendTaskViaDelivery() delegates to sendTask() (backwards compat)
- Updated transport docs to reflect logos-core as the primary transport

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…-adopt (LMAO #140)

Add skill marketplace infrastructure to the LMAO stack:

Core types (logos-messaging-a2a-core):
- SkillDescriptor: metadata for published skill bundles (ID, content hash, author, version, tags)
- SkillRating: on-chain ratings with score validation (1-5)
- SkillAnnouncement: broadcast envelope for skill discovery
- SkillRegistry trait + InMemorySkillRegistry: persistent skill store with tag search and rating management
- A2AEnvelope::SkillAnnouncement variant for wire protocol
- SKILLS topic (/lmao/1/skills/proto) for skill announcements

Node integration (logos-messaging-a2a-node):
- SkillMarketplace: per-agent state with trust set, known/installed skills, and cached ratings
- Subjective ranking: effective_rank() computes weighted average from trusted peers only
- Auto-adopt: adoption_candidates() returns skills above threshold that aren't installed
- announce_skill() / discover_skills() for pub/sub over Waku transport
- Configurable trust model with transitive trust support

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Install logos-dev-boost context files to give AI coding agents
(Claude Code, Codex) live Logos SDK knowledge:

- AGENTS.md: Always-loaded context with full Logos development guidelines
- CLAUDE.md: Claude Code specific context with skills index and MCP info
- .mcp.json: MCP server config for logos-dev-boost tools
- .claude/skills/: 8 on-demand skills (inter-module-comm, testing-modules,
  package-lgx, nix-flake-setup, create-universal-module, create-ui-app,
  wrap-external-lib, add-to-workspace)
- CI: Added mcp-check job to verify logos-dev-boost files exist

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: integrate logos-dev-boost for AI agent tooling

1 participant