add dogfood track

This commit is contained in:
2026-05-10 15:59:32 -04:00
parent cbd9443435
commit 581da1cc56
5 changed files with 111 additions and 0 deletions
+4
View File
@@ -38,6 +38,10 @@ This file tracks all major tracks for the project. Each track has its own detail
*Link: [./tracks/phase6_review_20260510/](./tracks/phase6_review_20260510/)*
*Goal: Review Phase 6 implementation, perform full-suite batch regression testing, and expand test coverage for new context curation features.*
8. [ ] **Track: GenCpp Dogfood Feedback Loop**
*Link: [./tracks/gencpp_dogfood_feedback_20260510/](./tracks/gencpp_dogfood_feedback_20260510/)*
*Goal: Verify Manual Slop can target gencpp at C:/projects/gencpp and establish a feedback mechanism for issues found during dogfooding.*
---
## Phase 5: Codebase Curation
@@ -0,0 +1,14 @@
# Track: GenCpp Dogfood Feedback Loop
## Overview
Establish a bidirectional feedback loop where Manual Slop is used to develop gencpp while identifying and fixing issues in Manual Slop itself.
## Documents
- [Specification](./spec.md)
- [Plan](./plan.md)
## Dependencies
- `gencpp_project_init_20260510` - Must be completed first
## Usage
This track is about verifying the setup and establishing the feedback mechanism. The actual "dogfood" usage happens as the user works with Manual Slop on gencpp, and findings are captured here for follow-up tracks.
@@ -0,0 +1,11 @@
{
"id": "gencpp_dogfood_feedback_20260510",
"title": "GenCpp Dogfood Feedback Loop",
"type": "setup",
"status": "planned",
"priority": "high",
"created": "2026-05-10",
"depends_on": ["gencpp_project_init_20260510"],
"blocks": [],
"findings": []
}
@@ -0,0 +1,26 @@
# Implementation Plan: GenCpp Dogfood Feedback Loop
## Phase 1: Verify GenCpp Project Access
Focus: Ensure Manual Slop can properly target and load the gencpp project
- [ ] Task 1.1: Investigate how `_allowed_paths` is populated in `mcp_client.py:configure()` - determine if gencpp can be added as a secondary project
- [ ] Task 1.2: If access is possible, verify `C:/projects/gencpp` is accessible as a project root in Manual Slop
- [ ] Task 1.3: Check that `.ai/manual_slop.toml` or `manual_slop.toml` is recognized at the gencpp root
- [ ] Task 1.4: Confirm conductor directory resolves to `.manual_slop/conductor` relative to gencpp root
- [ ] Task 1.N: Write tests for project path resolution targeting external directories
## Phase 2: Establish Feedback Capture Mechanism
Focus: Create a structured way to log issues found during dogfooding
- [ ] Task 2.1: Verify JOURNAL.md in the gencpp conductor directory is writable
- [ ] Task 2.2: Create a "Findings" section in the track state for capturing issues
- [ ] Task 2.3: Document the feedback workflow in track index.md
- [ ] Task 2.N: Write tests for findings capture mechanism
## Phase 3: Validate Feedback Loop
Focus: Confirm the feedback mechanism works end-to-end
- [ ] Task 3.1: User reports an issue encountered while using Manual Slop with gencpp
- [ ] Task 3.2: Issue is captured in a structured format (findings log)
- [ ] Task 3.3: Issue can be converted into a new track for Manual Slop improvement
- [ ] Task 3.N: User manual verification of the complete feedback loop
@@ -0,0 +1,56 @@
# Track Specification: GenCpp Dogfood Feedback Loop
## Overview
Establish a bidirectional feedback loop where Manual Slop is used to develop gencpp while simultaneously identifying and fixing issues in Manual Slop itself. This track focuses on validating the gencpp project setup and ensuring the feedback mechanism is functional for iterative improvement.
## Current State Audit (as of 2026-05-10)
### Already Implemented (DO NOT re-implement)
- `gencpp_project_init_20260510` track configured `manual_slop.toml` template with `[conductor].dir = .manual_slop/conductor`
- `src/paths.py:get_conductor_dir()` (line 144-156) supports project-specific conductor directory via TOML override
- `src/paths.py:_get_project_conductor_dir_from_toml()` (line 128-142) parses project TOML for conductor path
### Critical Finding: Access Restriction
**MCP tools enforce a strict allowed-paths whitelist** (see `src/mcp_client.py:88-90`):
```
_allowed_paths: set[Path] = set()
```
The whitelist is populated by `configure()` from project `file_items`. By default, **only files within `C:\projects\manual_slop`** are accessible via MCP tools.
To access `C:/projects/gencpp`, one of these must be true:
1. `C:/projects/gencpp` is added to the `file_items` of a Manual Slop session (GUI aggregation), OR
2. The user manually copies issues/findings into the Manual Slop workspace
### Gaps to Fill (This Track's Scope)
- **Gap 1**: No verification that gencpp project directory is accessible and TOML loading works
- **Gap 2**: No feedback loop mechanism for logging issues encountered while using Manual Slop with gencpp
- **Gap 3**: No systematic approach to tracking "found issues" that need fixing in Manual Slop during dogfooding
- **Gap 4**: User cannot directly browse `C:/projects/gencpp` via MCP tools due to path restrictions
## Goals
- Verify Manual Slop can load and target the gencpp project at `C:/projects/gencpp`
- Establish a "GenCpp Findings" log mechanism to capture issues found during dogfooding
- Create a simple workflow for the user to report issues and have them become track tasks
- **Resolve MCP path access restriction** so the user can browse gencpp via Manual Slop tools
## Functional Requirements
- Manual Slop must be able to select `C:/projects/gencpp` as the active project directory
- **The `.ai/` directory configuration must be recognized and loaded properly**
- A findings/journal mechanism must exist to log feedback during the dogfood session
- Issues found should be trackable and actionable
- **User must be able to browse `C:/projects/gencpp` via MCP tools without getting "ACCESS DENIED" errors**
- **Alternative**: If direct access isn't feasible, provide clear workaround (e.g., copy files to Manual Slop workspace, or use file path manually in prompts)
## Non-Functional Requirements
- Minimal overhead - the feedback loop should not slow down the coding workflow
- All feedback must be captured in a structured format for easy review
- Path resolution must work correctly for the `C:/projects/gencpp` directory
## Architecture Reference
- `src/paths.py` - Path resolution with project-specific overrides
- `src/project_manager.py` - Project loading and configuration
- `docs/guide_architecture.md` - Threading model and path resolution
## Out of Scope
- Fixing specific issues found in Manual Slop (those become separate tracks)
- Modifying the gencpp codebase directly (that's the user-controlled target)
- Implementing complex automation - this is about establishing the foundation