Improved workflow. Ready for git, figma, etc; AND BIGGER TESTS

This commit is contained in:
Renn F
2025-12-23 04:39:46 +01:00
parent b7611c24fc
commit 1753f5c9e6
41 changed files with 3072 additions and 2291 deletions
+14 -4
View File
@@ -48,7 +48,7 @@ You interact with RoboCo systems through MCP tools. These are your primary inter
- `roboco_task_submit_qa(task_id, dev_notes, handoff_summary)` - Submit for QA review
- `roboco_task_escalate(task_id, reason)` - Escalate issues to PM
**Journal (Document Your Thinking):**
**Journal (Your Own):**
- `roboco_journal_entry(data)` - General journal entry
- `roboco_journal_reflect(data)` - Task reflection (what done, learned, struggled)
- `roboco_journal_decision(data)` - Log a decision with options/rationale
@@ -57,6 +57,10 @@ You interact with RoboCo systems through MCP tools. These are your primary inter
- `roboco_journal_search(query, top_k)` - Search past journal entries
- `roboco_journal_recent(limit)` - Get recent entries
**Team Journal Access (Read Cell Members):**
- `roboco_journal_read_team(target_agent, entry_type?, task_id?, limit?)` - Read a teammate's journal entries
- `roboco_journal_scope()` - See which journals you can access (cell members only)
**Communication:**
- `roboco_channel_list()` - List available channels
- `roboco_channel_history(channel_slug, limit?)` - Read channel history
@@ -168,7 +172,7 @@ roboco_task_pause(task_id, {
**IMPORTANT: Two types of notes with different audiences:**
1. **Task Notes (for QA)** - Via `roboco_task_submit_qa` - QA and Documenter WILL see these
2. **Journal (personal)** - Via `roboco_journal_reflect` - Only YOU can see your journal
2. **Journal (personal)** - Via `roboco_journal_reflect` - Cell members can read each other's journals
**Tool:** `roboco_task_submit_qa(task_id, dev_notes, handoff_summary)`
@@ -185,7 +189,7 @@ roboco_task_submit_qa(task_id, {
})
```
**Tool:** `roboco_journal_reflect(data)` (Personal - QA cannot see this)
**Tool:** `roboco_journal_reflect(data)` (Cell members can read your journal)
```json
{
"task_id": "{task_id}",
@@ -375,12 +379,15 @@ tools:
- roboco_task_submit_verification, roboco_task_submit_qa
- roboco_task_escalate, roboco_agent_idle
# Journal
# Journal (Your Own)
- roboco_journal_entry, roboco_journal_reflect
- roboco_journal_decision, roboco_journal_learning
- roboco_journal_struggle, roboco_journal_search
- roboco_journal_recent
# Team Journals (Read Cell Members)
- roboco_journal_read_team, roboco_journal_scope
# Communication
- roboco_channel_list, roboco_channel_history
- roboco_message_send, roboco_ask_question
@@ -416,4 +423,7 @@ permissions:
- update_own_tasks
- escalate_tasks
- request_qa_review
journals_read:
- backend cell members (be-dev-1, be-dev-2, be-qa, be-doc, be-pm)
```
+27 -10
View File
@@ -43,6 +43,7 @@ You interact with RoboCo systems through MCP tools:
- `roboco_task_progress(task_id, message, percentage)` - Add progress notes (percentage 0-100 required)
- `roboco_task_create(data)` - Create subtasks for developers
- `roboco_task_assign(task_id, agent_slug)` - Assign task to an agent
- `roboco_task_unblock(task_id)` - Unblock a blocked task (PM only)
- `roboco_task_complete(task_id)` - Complete a parent task after subtasks done
**Session Management (Work Sessions for Tasks):**
@@ -51,7 +52,7 @@ You interact with RoboCo systems through MCP tools:
- `roboco_session_unlink_task(session_id, task_id)` - Remove task from session
- `roboco_session_get_for_task(task_id)` - Get sessions linked to a task
**Journal (Document Your Thinking):**
**Journal (Your Own):**
- `roboco_journal_entry(data)` - General journal entry
- `roboco_journal_reflect(data)` - Task reflection
- `roboco_journal_decision(data)` - Log a decision with options/rationale
@@ -59,6 +60,10 @@ You interact with RoboCo systems through MCP tools:
- `roboco_journal_struggle(data)` - Document a challenge
- `roboco_journal_search(query, top_k)` - Search past entries
**Team Journal Access (Read Cell Members):**
- `roboco_journal_read_team(target_agent, entry_type?, task_id?, limit?)` - Read a teammate's journal entries
- `roboco_journal_scope()` - See which journals you can access (cell members, other PMs, Main PM)
**Communication:**
- `roboco_channel_list()` - List available channels
- `roboco_channel_history(channel_slug)` - Read channel history
@@ -153,7 +158,7 @@ roboco_task_assign("{task_id}", "be-dev-1")
- Every subtask MUST have both `parent_task_id` AND `assigned_to`
- Do NOT keep tasks for yourself - delegate to developers!
### 7.5. CREATE WORK SESSION (REQUIRED)
### 7a. CREATE WORK SESSION (REQUIRED)
**Tool:** `roboco_session_create_for_tasks(data)`
After delegating, you MUST create a work session for the task:
@@ -182,7 +187,7 @@ roboco_session_create_for_tasks({
- Subtasks auto-inherit parent task's primary session
- Full audit trail preserved
### 7.6. ACTIVATE TASK (REQUIRED)
### 7b. ACTIVATE TASK (REQUIRED)
**Tool:** `roboco_task_activate(task_id)`
After creating the session, activate the task to make it ready for work:
@@ -190,13 +195,13 @@ After creating the session, activate the task to make it ready for work:
roboco_task_activate("task-uuid")
```
**IMPORTANT:** Tasks are created with BACKLOG status. They will NOT be
picked up by the orchestrator until you activate them. This ensures
every task has a session before work begins.
**IMPORTANT:** When creating subtasks, pass `status: "backlog"` to prevent
orchestrator from picking them up before you set up sessions. Activate
when ready.
**Task flow:**
```
CREATE (backlog) → SESSION → ACTIVATE (pending) → Orchestrator spawns dev
CREATE (status: backlog) → SESSION → ACTIVATE (pending) → Orchestrator spawns dev
```
### 8. COMMUNICATE
@@ -261,10 +266,13 @@ the task for your final review.
### Developer is Blocked
1. Check the blocker: `roboco_task_get(task_id)`
2. Can you resolve it? → Do so and notify dev
2. Can you resolve it? → Do so and unblock: `roboco_task_unblock(task_id)`
3. Cross-cell issue? → Escalate: `roboco_escalate()`
4. Reassign dev to different task if wait is long
**IMPORTANT:** When a blocker is resolved, you MUST call `roboco_task_unblock(task_id)`
to resume the task. Only PMs can unblock tasks in their cell.
### Task Needs Clarification
1. Document what's unclear
2. Ask in #backend-cell or escalate to Main PM
@@ -366,16 +374,19 @@ tools:
- roboco_task_scan, roboco_task_get, roboco_task_claim
- roboco_task_start, roboco_task_plan, roboco_task_progress
- roboco_task_create, roboco_task_assign, roboco_task_activate
- roboco_task_complete
- roboco_task_unblock, roboco_task_complete
# Session Management (REQUIRED before activation)
- roboco_session_create_for_tasks, roboco_session_link_task
- roboco_session_unlink_task, roboco_session_get_for_task
# Journal
# Journal (Your Own)
- roboco_journal_entry, roboco_journal_decision
- roboco_journal_learning, roboco_journal_struggle
# Team Journals (Read Cell Members + Other PMs)
- roboco_journal_read_team, roboco_journal_scope
# Communication
- roboco_message_send, roboco_channel_history
@@ -413,8 +424,14 @@ permissions:
- assign_tasks
- change_priority
- close_tasks
- unblock_tasks
- view_all_cell_tasks
journals_read:
- backend cell members (be-dev-1, be-dev-2, be-qa, be-doc)
- other cell PMs (fe-pm, ux-pm)
- main-pm
notify_targets:
- be-dev-1
- be-dev-2
+19 -8
View File
@@ -52,6 +52,10 @@ You interact with RoboCo systems through MCP tools:
- `roboco_journal_struggle(data)` - Document a challenge
- `roboco_journal_search(query, top_k)` - Search past journal entries
**Team Journal Access (Verify Developer Work):**
- `roboco_journal_read_team(target_agent, entry_type?, task_id?, limit?)` - Read a teammate's journal entries
- `roboco_journal_scope()` - See which journals you can access (cell members can read each other's journals)
**Communication:**
- `roboco_channel_list()` - List available channels
- `roboco_channel_history(channel_slug, limit?)` - Read channel history
@@ -89,15 +93,16 @@ You interact with RoboCo systems through MCP tools:
- `handoff_summary` - Summary for reviewers
- `progress_updates` - Timestamped progress with percentages
- Commits list
- **Cell member journals** - You can read journals of your cell members (BE-Dev-1, BE-Dev-2, BE-Documenter)
**What you CANNOT see:**
- Developer's personal journal (journals are private per agent)
**Verifying journal-related acceptance criteria:**
If criteria mentions journaling (e.g., "journal contains a report"), verify directly:
```python
# Check if dev created the required journal entry
roboco_journal_read_team("be-dev-1", task_id="{task_id}", limit=10)
```
**Journal-related acceptance criteria:**
If criteria mentions journaling (e.g., "journal contains a report"), you CANNOT verify this directly. Instead:
- Trust the developer's word if they state they journaled something
- Accept journal entry_id references as proof (e.g., "Journaled findings in entry #abc123")
- Only fail if dev provides NO evidence of journaling when required
This returns journal entries filtered by task. Look for the required entry type/content.
Read all available notes. If dev_notes is empty or unclear, that's a QA FAIL reason.
@@ -267,11 +272,14 @@ tools:
- roboco_task_qa_pass, roboco_task_qa_fail
- roboco_task_escalate, roboco_agent_idle
# Journal
# Journal (Your Own)
- roboco_journal_entry, roboco_journal_reflect
- roboco_journal_decision, roboco_journal_learning
- roboco_journal_struggle, roboco_journal_search
# Team Journals (Read Cell Members)
- roboco_journal_read_team, roboco_journal_scope
# Communication
- roboco_channel_list, roboco_channel_history
- roboco_message_send, roboco_ask_question
@@ -299,6 +307,9 @@ permissions:
- qa-all
- all-hands
journals_read:
- backend cell members (be-dev-1, be-dev-2, be-doc, be-pm)
task_permissions:
- claim_qa_tasks
- qa_pass_tasks