Commit Graph
90 Commits
Author SHA1 Message Date
Renn F e4b4ac6d33 Fixed some ggit operations and that. Still needs work. PR problem 2026-04-21 04:21:08 +02:00
Renn F 8e201901c0 I mean, it's at a good place rn... 2026-04-20 15:10:54 +02:00
Renn F 0023c25d60 Added git workflow + fixing some issues 2026-04-19 16:13:42 +02:00
Renzo FandGitHub f474603897 Merge pull request #1 from rennf93/claude/acp-messaging-evaluation-BSSTS
Claude/acp messaging evaluation bssts
2026-02-24 00:03:24 +01:00
Claude e3a08473a2 Update kb-tools docs with LLM-based validation details 2026-01-30 12:38:42 +00:00
Claude c3b6346098 Remove docs created for wrong project 2026-01-30 12:37:08 +00:00
Claude d082a1550f Implement LLM-based validation for standards enforcement
- Add LLM-based validation in ValidatorService using local Ollama
- Wire up /standards/validate endpoint to use ValidatorService
- Add structured JSON response parsing for violations
- Include fallback to heuristic validation when LLM unavailable
- Add language detection from context for better standard matching
2026-01-30 12:36:23 +00:00
Claude 20be420ab6 Add Optimal Brain architecture and workflow documentation
- docs/rag/architecture/optimal-brain.md: Complete architecture overview
- docs/rag/workflows/proactive-knowledge.md: Task context injection workflow
- docs/rag/workflows/cross-agent-learning.md: Learning network workflow
- docs/rag/workflows/rule-enforcement.md: Standards validation workflow
2026-01-30 12:20:48 +00:00
Renn F 8481d0c46c Live Chat A2A + Lifecycle & Workflow updates 2026-01-13 18:48:56 +01:00
Renn F 68eded5f2c Traceability hooks and other fixes 2026-01-11 21:32:26 +01:00
Renn F 9deb23ec3d General fixes mainly around git integration into task lifecycle 2026-01-11 06:15:54 +01:00
Renn F 6ea4ba2bbe Switch from embeddinggemma:300m to qwen3-embedding:0.6b 2026-01-08 18:08:29 +01:00
Renn F 955455d704 Git integration and Project workspace fixes 2026-01-08 16:45:25 +01:00
Renn F f1c5b7958c Add Project & Workspace MCP System with role-based permissions
- Add roboco_project_* tools (list, get, create, update) with CEO bypass
  - Add roboco_workspace_* tools (ensure, status, list) for workspace management
  - Add project_slug and requires_git fields to TaskCreateInput schema
  - Validate project exists and cell matches when creating git-enabled tasks
  - Register project MCP server in orchestrator with proper permissions

  Workspace permissions by role:
  - Developer: Write to own workspace only
  - QA: Read-only access to all cell workspaces
  - Documenter: Write to all cell workspaces (add docs to dev branches)
  - Cell PM: Write to own workspace, project_update for own cell
  - Main PM: Full project access (create, update all, workspace_list all)
  - CEO: Full bypass on all permission checks

  Also includes:
  - Git templates for commits, branches, PRs (separation of concerns)
  - Updated blueprints with project/workspace tools documentation
  - Updated RAG docs with project tools reference
2026-01-07 22:45:42 +01:00
Renn F 363ab6c0ce Fixed Main PM issue not able to complete tasks due to validations contradiction 2026-01-06 01:11:38 +01:00
Renn F c621710ae6 A2A wiring up 2026-01-06 00:59:09 +01:00
Renn F aeb3aea55e Documenter MCP tools and general support + improved workflow 2026-01-04 03:03:45 +01:00
Renn F c68644a1e2 Many fixes to Mentor, Query RAG, etc 2026-01-03 23:10:31 +01:00
Renn F 1d173a5203 NOW RAG is actually usable... might switch to gemma3:4b from glm-4.6 cloud for expenses reasons but we'll see 2026-01-03 05:07:45 +01:00
Renn F 16dda8134b Task sequence and RAG LLM improvements 2026-01-01 22:15:23 +01:00
Renn F 3c439d4673 Added tasks sequence 2025-12-31 21:42:58 +01:00
Renn F eedf06d18a Adjusted documentation 2025-12-30 19:37:03 +01:00
Renn F d7e93ece25 Adjusted local project setup directory tree structure to map branches on project repos 2025-12-30 19:36:36 +01:00
Renn F 22d1401020 First git integration implementation + KB fixes and upgrades 2025-12-30 18:55:32 +01:00
Renn F 0a5988a18f Added serious RAG capabilties 2025-12-30 02:35:58 +01:00
Renn F 5315e9c72d feat: workflow enforcement, RAG upgrade, and permission fixes
Task Management:
  - Add cancellation safeguards: require valid reason category (duplicate,
    obsolete, blocked_permanently, reassigned, scope_change, stakeholder_request)
  - Protect active work from arbitrary cancellation - must pause/block first
  - Auto-notify PM when task is blocked with ACTION REQUIRED message
  - PM task scan now shows blocked tasks needing their attention

  Permissions:
  - Add VIEW_STATS to Developer, QA, Documenter, Head Marketing KB permissions
  - Aligns code with docs/workflows/PERMISSIONS.md specification

  RAG/Embeddings:
  - Upgrade embedding model from all-MiniLM-L6-v2 to nomic-embed-text-v1.5
  - 768 dimensions with 8K token context (vs 512 tokens)
  - Add per-index chunk sizes: docs=1536, journals=1024, others=512
  - Switch to fixed chunking (semantic chunking loads separate MiniLM model)
  - Add einops dependency required by nomic model
2025-12-29 00:30:18 +01:00
Renn F fc55068f2b feat: add Kubernetes manifests and A2A protocol support
Phase 2 - A2A Protocol:
- Add A2A models (AgentCard, Task, Message)
- Add A2A service layer
- Add A2A routes with SSE streaming
- Add agent discovery endpoints

Phase 3 - Kubernetes:
- Add deploy/ directory with Kustomize structure
- PostgreSQL StatefulSet with pgvector
- Redis Deployment with persistence
- API and Orchestrator Deployments
- RBAC for orchestrator to manage Jobs
- ArgoCD Application manifest
- Development and production overlays
- K8s Jobs API support in orchestrator
2025-12-28 19:52:01 +01:00
Renn F b4d4fb089f Revert "feat: add Kubernetes manifests and A2A protocol support"
This reverts commit b943eb7ac1.
2025-12-28 06:03:54 +01:00
Renn FandClaude Opus 4.5 b943eb7ac1 feat: add Kubernetes manifests and A2A protocol support
Phase 2 - A2A Protocol:
- Add A2A models (AgentCard, Task, Message)
- Add A2A service layer
- Add A2A routes with SSE streaming
- Add agent discovery endpoints

Phase 3 - Kubernetes:
- Add deploy/ directory with Kustomize structure
- PostgreSQL StatefulSet with pgvector
- Redis Deployment with persistence
- API and Orchestrator Deployments
- RBAC for orchestrator to manage Jobs
- ArgoCD Application manifest
- Development and production overlays
- K8s Jobs API support in orchestrator

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 05:48:51 +01:00
Renn F f9398e4caa RAG Implementation 2025-12-28 03:04:41 +01:00
Renn F ecc049684d Fixes Applied
1. Transaction Rollback Bug

  File: roboco/services/optimal_brain/indexes/base.py
  - Changed: On transaction error, now closes and reconnects instead of just rollback
  - Before: conn.rollback() (didn't fully reset connection state)
  - After: conn.close() + store._init_schema() (forces fresh connection)

  2. Docs Directory Path

  Files:
  - roboco/services/optimal.py - Added /app/docs as first path to check
  - docker/orchestrator.Dockerfile - Added COPY docs /app/docs

  3. Shared SentenceTransformer

  Files:
  - Created roboco/services/optimal_brain/shared_embedder.py - Singleton holder
  - Modified roboco/services/optimal_brain/indexes/base.py - Uses shared embedder
  - Modified roboco/services/optimal.py - Closes shared embedder on shutdown
2025-12-27 22:05:07 +01:00
Renn F 1116e597d0 RAG expansion + Optimal API 2025-12-27 21:53:38 +01:00
Renn F 3f48a93504 Fixing QA, Documenter and PM issues with tasks. 2025-12-27 02:15:07 +01:00
Renn F d2034e538f It works pretty nicely with the ultimate test 2025-12-27 00:34:11 +01:00
Renn F 8c3bf9e22c Huge refactoring but stuff is working again; minus some issues here and there. 2025-12-26 18:01:53 +01:00
Renn F c813dcfae4 Bringing back some old friends 2025-12-25 23:06:41 +01:00
Renn F 1f6c099d8a Deleted Files (7,506 lines removed)
| File                          | Lines  | Purpose                                   |
  |-------------------------------|--------|-------------------------------------------|
  | HOMELAB_TEAM_V0.md            | 3,443  | Original blueprint doc (now in CLAUDE.md) |
  | WORKFLOWS.md                  | 260    | Workflow docs                             |
  | roboco/agents/*.py            | ~5,800 | Entire Python agent framework (14 files)  |
  | roboco/models/organization.py | 157    | Unused org types                          |

  New Files (53 lines added)

  | File                        | Lines | Purpose                                                    |
  |-----------------------------|-------|------------------------------------------------------------|
  | roboco/runtime/streaming.py | 53    | Migrated set_reasoning_stream_callback from deleted agents |

  Modified Files

  Config & Settings:
  - .gitignore - Added .OLD/ directory

  Blueprints (13 files):
  - Fixed roboco_task_plan() signatures: (task_id, plan) → (task_id, approach, steps, risks?, open_questions?)
  - PM blueprints: Fixed channel access (read/write for dev-all, qa-all, doc-all)

  Core Code:
  | File                           | Changes                                   |
  |--------------------------------|-------------------------------------------|
  | roboco/agents_config.py        | Team naming uxui → ux_ui, docstring fixes |
  | roboco/api/routes/tasks.py     | Hardcoded roles → AgentRole enum          |
  | roboco/services/permissions.py | Cell PM → Main PM notification fix        |
  | roboco/services/task.py        | Removed unused imports                    |
  | roboco/bootstrap.py            | Updated import path after agents deletion |
  | roboco/runtime/__init__.py     | Added streaming exports                   |
  | roboco/runtime/orchestrator.py | Various improvements (+229/-10)           |
  | roboco/mcp/task_server.py      | Docstring team fix                        |
  | roboco/mcp/tasks/handlers/*.py | Handler improvements                      |
  | roboco/enforcement/*.py        | Lifecycle enforcement updates             |
  | roboco/db/tables.py            | Table changes (+76 lines)                 |
  | roboco/models/base.py          | Minor enum tweaks                         |
  | roboco/seeds/initial_data.py   | Docstring team fix                        |

  Key Architecture Change:
  Removed the unused Python agent framework (roboco/agents/) - the system uses Docker-based Claude Code spawning via roboco/runtime/orchestrator.py instead.
2025-12-25 21:01:12 +01:00
Renn F 7f13e10bf4 Documenter is ignored but it works pretty well 2025-12-25 07:40:39 +01:00
Renn F 15f5be3f8b Changes Made
roboco/agents/base.py - Added proper workflow methods:
  - _qa_pass(task_id, qa_notes) - Calls /pass-qa endpoint
  - _qa_fail(task_id, qa_notes, issues) - Calls /fail-qa endpoint
  - _docs_complete(task_id, doc_notes?) - Calls /docs-complete endpoint
  - Marked old _mark_needs_revision, _mark_awaiting_documentation, _mark_awaiting_pm_review as DEPRECATED

  roboco/agents/qa.py - Fixed verdict phase:
  - Now uses _qa_pass() instead of _mark_awaiting_documentation()
  - Now uses _qa_fail() instead of _mark_needs_revision()
  - Properly passes QA notes and issue lists

  roboco/agents/documenter.py - Fixed submit phase:
  - Now uses _docs_complete() instead of _mark_awaiting_pm_review()
  - Properly passes documentation summary as notes
2025-12-24 23:34:42 +01:00
Renn F dd1b3394a7 Addressing submit_pm_review, get_or_create_channel_by_slug, and other discrepancies/painpoints of the agents 2025-12-24 23:05:26 +01:00
Renn F 67eac35c68 Moved on to DHI (Docker Hardened Images) 2025-12-24 22:19:43 +01:00
Renn F 4055cdead4 Fixed escalation bug 2025-12-24 22:19:19 +01:00
Renn F b39461ac85 retry mechanism for piragi RAG 2025-12-24 21:23:14 +01:00
Renn F ac621ee4e2 Aligning on tasks and messaging, journals and more: MCP, Blueprints, Implementations, tools, API, etc 2025-12-24 21:19:42 +01:00
Renn F afde0d5441 Fixed issues reported by agents 2025-12-24 04:23:16 +01:00
Renn F 06720b1978 Killed "active" session dependency:
1. roboco/mcp/schemas/__init__.py:
    - SendMessageInput.task_id → required
    - AskQuestionInput.task_id → required
    - ReportBlockerInput.task_id → required
  2. roboco/mcp/message_server.py:
    - Removed _get_active_session() entirely (dead code)
    - Simplified _handle_message_send() - no fallback, just uses task's linked session
    - Updated tool signatures for roboco_ask_question and roboco_report_blocker
  3. roboco/api/routes/tasks.py (earlier fix):
    - Added subtask validation before parent completion

  New behavior:
  - All messages MUST have task_id
  - Task's linked session is the only source of truth
  - No session? → Clear error: "Cell PM must create one"
  - No more "active" status guessing
2025-12-23 22:58:07 +01:00
Renn F 204b959733 1. Blueprint updates - Added NO_GROUPS escalation docs to all 12 agent blueprints
2. Multi-image Docker architecture - Created role-specific Dockerfiles:
  - agent-base.Dockerfile (shared foundation)
  - agent-pm.Dockerfile, agent-dev-be.Dockerfile, agent-dev-fe.Dockerfile
  - agent-qa-be.Dockerfile, agent-qa-fe.Dockerfile, agent-doc.Dockerfile, agent-ux.Dockerfile
3. Orchestrator updates - roboco/runtime/orchestrator.py:
  - Added AGENT_IMAGES mapping and get_agent_image() function
  - Updated _ensure_agent_image() to build base + specialized images
  - Updated _spawn_container() to use role-specific image
  - Made _generate_mcp_config() role-aware (though kept notify for all since they need to receive)
2025-12-23 21:23:50 +01:00
Renn F 31c776b84a - roboco/api/schemas/sessions.py - Added SessionTaskInfo model and task_links field to SessionResponse
- roboco/api/routes/sessions.py - Updated list_sessions to load task links with task titles
2025-12-23 07:16:17 +01:00
Renn F 829c0309f5 Changes Made:
/roboco/roboco/mcp/message_server.py:
- Renamed _get_or_create_session → _get_active_session
- Removed auto-creation of sessions - now returns error instead
- Added helpful error guidance when no session exists:

"NO_ACTIVE_SESSION"
"No active session in this channel. Sessions are created by PMs for tasks."

Guidance:
1. Include task_id in your message call if working on a task (routes to task's session)
2. If no task session exists, ask your PM to create one using roboco_session_create_for_tasks
3. All work communication should happen within task sessions

What This Enforces

1. Only PMs can create sessions using roboco_session_create_for_tasks (already enforced by can_create_tasks())
2. Agents MUST provide task_id when sending messages to route to the task's session
3. If no session exists → agents get clear guidance instead of auto-creating chaos
4. No more "Session 750c51e7" with 0-1 messages - sessions will be intentionally created and managed
2025-12-23 05:22:37 +01:00
Renn F 1753f5c9e6 Improved workflow. Ready for git, figma, etc; AND BIGGER TESTS 2025-12-23 04:39:46 +01:00